{"id":60,"date":"2026-05-29T19:50:07","date_gmt":"2026-05-29T19:50:07","guid":{"rendered":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/?page_id=60"},"modified":"2026-06-10T19:22:42","modified_gmt":"2026-06-10T19:22:42","slug":"book","status":"publish","type":"page","link":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/book\/","title":{"rendered":"Book"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"60\" class=\"elementor elementor-60\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0ee2aef e-flex e-con-boxed e-con e-parent\" data-id=\"0ee2aef\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;video&quot;,&quot;background_video_link&quot;:&quot;https:\\\/\\\/graeme-martin.cyber-demo-client-websites.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/WhatsApp-Video-2026-06-09-at-10.51.21-PM.mp4&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-background-video-container elementor-hidden-mobile\">\n\t\t\t\t\t\t\t<video class=\"elementor-background-video-hosted\" role=\"presentation\" autoplay muted playsinline loop><\/video>\n\t\t\t\t\t<\/div><div class=\"elementor-element elementor-element-0c380d9 e-con-full e-flex e-con e-child\" data-id=\"0c380d9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-354f330 elementor-widget elementor-widget-html\" data-id=\"354f330\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/page-flip@2.0.7\/dist\/css\/page-flip.css\">\r\n\r\n<style>\r\n  .gm-book-cover {\r\n    width: 340px;\r\n    max-width: 100%;\r\n    display: block;\r\n    margin: 0 auto;\r\n    cursor: pointer;\r\n    transition: transform 0.3s ease, filter 0.3s ease;\r\n  }\r\n\r\n  .gm-book-cover:hover {\r\n    transform: translateY(-7px) scale(1.02);\r\n    filter: drop-shadow(0 25px 45px rgba(0,0,0,0.35));\r\n  }\r\n\r\n  .gm-flip-modal {\r\n    position: fixed;\r\n    inset: 0;\r\n    background: rgba(0,0,0,0.92);\r\n    z-index: 999999;\r\n    display: none;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 40px 20px;\r\n  }\r\n\r\n  .gm-flip-modal.active {\r\n    display: flex;\r\n  }\r\n\r\n  .gm-flip-close {\r\n    position: fixed;\r\n    top: 20px;\r\n    right: 30px;\r\n    background: transparent;\r\n    border: none;\r\n    color: #fff;\r\n    font-size: 44px;\r\n    line-height: 1;\r\n    cursor: pointer;\r\n    z-index: 1000000;\r\n  }\r\n\r\n  .gm-flip-wrapper {\r\n    width: 100%;\r\n    max-width: 1150px;\r\n    height: 86vh;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    justify-content: center;\r\n  }\r\n\r\n  #gmPdfBook {\r\n    width: 900px;\r\n    height: 640px;\r\n    max-width: 94vw;\r\n    max-height: 72vh;\r\n    position: relative;\r\n    z-index: 1;\r\n  }\r\n\r\n  .gm-pdf-page {\r\n    background: #fff;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .gm-pdf-page canvas {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: block;\r\n    background: #fff;\r\n  }\r\n\r\n  .gm-toolbar {\r\n    margin-top: 18px;\r\n    background: #fff;\r\n    border-radius: 8px;\r\n    padding: 10px 16px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n    font-family: Arial, sans-serif;\r\n    box-shadow: 0 10px 30px rgba(255,255,255,0.15);\r\n    position: relative;\r\n    z-index: 9999999;\r\n    pointer-events: auto;\r\n  }\r\n\r\n  .gm-toolbar button {\r\n    border: none;\r\n    background: #111;\r\n    color: #fff;\r\n    padding: 8px 14px;\r\n    border-radius: 5px;\r\n    cursor: pointer;\r\n    font-size: 14px;\r\n    position: relative;\r\n    z-index: 99999999;\r\n    pointer-events: auto;\r\n  }\r\n\r\n  .gm-toolbar button:hover {\r\n    background: #333;\r\n  }\r\n\r\n  .gm-toolbar span {\r\n    color: #111;\r\n    font-size: 14px;\r\n    min-width: 80px;\r\n    text-align: center;\r\n  }\r\n\r\n  .gm-loading {\r\n    color: #fff;\r\n    font-family: Arial, sans-serif;\r\n    font-size: 16px;\r\n    margin-bottom: 15px;\r\n    display: none;\r\n  }\r\n\r\n  .gm-loading.active {\r\n    display: block;\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    .gm-book-cover {\r\n      width: 260px;\r\n    }\r\n\r\n    #gmPdfBook {\r\n      width: 92vw;\r\n      height: 64vh;\r\n    }\r\n\r\n    .gm-toolbar {\r\n      gap: 8px;\r\n      padding: 8px 10px;\r\n    }\r\n\r\n    .gm-toolbar button {\r\n      padding: 7px 10px;\r\n      font-size: 12px;\r\n    }\r\n\r\n    .gm-flip-close {\r\n      font-size: 36px;\r\n      right: 18px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<!-- Separate Cover \/ Mockup Image -->\r\n<img decoding=\"async\" \r\n  id=\"gmBookCover\"\r\n  class=\"gm-book-cover\"\r\n  src=\"https:\/\/graeme-martin.cyber-demo-client-websites.com\/wp-content\/uploads\/2026\/05\/a8e1fb544ba89378fc362445ee35d1b66fe8103e.png\"\r\n  alt=\"Open Book\"\r\n>\r\n\r\n<!-- Popup Viewer -->\r\n<div class=\"gm-flip-modal\" id=\"gmFlipModal\">\r\n  <button type=\"button\" class=\"gm-flip-close\" id=\"gmCloseFlipbook\">&times;<\/button>\r\n\r\n  <div class=\"gm-flip-wrapper\">\r\n    <div class=\"gm-loading\" id=\"gmLoading\">Loading book...<\/div>\r\n\r\n    <div id=\"gmPdfBook\"><\/div>\r\n\r\n    <div class=\"gm-toolbar\" id=\"gmToolbar\">\r\n      <button type=\"button\" id=\"gmPrevPage\">Prev<\/button>\r\n      <span id=\"gmPageCounter\">1 \/ 1<\/span>\r\n      <button type=\"button\" id=\"gmNextPage\">Next<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<audio id=\"gmPageSound\" preload=\"auto\">\r\n  <source src=\"\" type=\"audio\/mpeg\">\r\n<\/audio>\r\n\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/3.11.174\/pdf.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/page-flip@2.0.7\/dist\/js\/page-flip.browser.min.js\"><\/script>\r\n\r\n<script>\r\n(function () {\r\n  const PDF_URL = \"https:\/\/graeme-martin.cyber-demo-client-websites.com\/wp-content\/uploads\/2026\/06\/June_8th-_Graeme_Martin-_Complete_Proofread_File_1.pdf\";\r\n\r\n  \/*\r\n    12 pages preview ke liye.\r\n    Full PDF show karni ho to 0 kar dein.\r\n  *\/\r\n  const MAX_PAGES_TO_SHOW = 12;\r\n\r\n  \/*\r\n    Page turning sound chahiye ho to MP3 URL yahan add kar dein.\r\n  *\/\r\n  const SOUND_URL = \"\";\r\n\r\n  const cover = document.getElementById(\"gmBookCover\");\r\n  const modal = document.getElementById(\"gmFlipModal\");\r\n  const closeBtn = document.getElementById(\"gmCloseFlipbook\");\r\n  const bookContainer = document.getElementById(\"gmPdfBook\");\r\n  const loading = document.getElementById(\"gmLoading\");\r\n  const counter = document.getElementById(\"gmPageCounter\");\r\n  const sound = document.getElementById(\"gmPageSound\");\r\n  const toolbar = document.getElementById(\"gmToolbar\");\r\n  const prevBtn = document.getElementById(\"gmPrevPage\");\r\n  const nextBtn = document.getElementById(\"gmNextPage\");\r\n\r\n  let pdfDoc = null;\r\n  let pageFlip = null;\r\n  let totalPages = 0;\r\n  let ready = false;\r\n  let isNavigating = false;\r\n  const renderedPages = new Set();\r\n\r\n  if (SOUND_URL !== \"\") {\r\n    sound.querySelector(\"source\").src = SOUND_URL;\r\n    sound.load();\r\n  }\r\n\r\n  function stopToolbarEvents(e) {\r\n    e.stopPropagation();\r\n  }\r\n\r\n  toolbar.addEventListener(\"click\", stopToolbarEvents);\r\n  toolbar.addEventListener(\"mousedown\", stopToolbarEvents);\r\n  toolbar.addEventListener(\"pointerdown\", stopToolbarEvents);\r\n  toolbar.addEventListener(\"touchstart\", stopToolbarEvents, { passive: true });\r\n\r\n  function waitForLibraries() {\r\n    return new Promise(function (resolve, reject) {\r\n      let attempts = 0;\r\n\r\n      const timer = setInterval(function () {\r\n        attempts++;\r\n\r\n        if (window.pdfjsLib && window.St && window.St.PageFlip) {\r\n          clearInterval(timer);\r\n          resolve();\r\n        }\r\n\r\n        if (attempts > 100) {\r\n          clearInterval(timer);\r\n          reject(\"Libraries failed to load.\");\r\n        }\r\n      }, 100);\r\n    });\r\n  }\r\n\r\n  async function loadPdf() {\r\n    await waitForLibraries();\r\n\r\n    pdfjsLib.GlobalWorkerOptions.workerSrc =\r\n      \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/3.11.174\/pdf.worker.min.js\";\r\n\r\n    if (!pdfDoc) {\r\n      pdfDoc = await pdfjsLib.getDocument(PDF_URL).promise;\r\n    }\r\n\r\n    return pdfDoc;\r\n  }\r\n\r\n  async function renderPage(pageNumber) {\r\n    if (renderedPages.has(pageNumber)) return;\r\n\r\n    const canvas = bookContainer.querySelector(\r\n      '.gm-pdf-page[data-page=\"' + pageNumber + '\"] canvas'\r\n    );\r\n\r\n    if (!canvas) return;\r\n\r\n    const page = await pdfDoc.getPage(pageNumber);\r\n    const viewport = page.getViewport({ scale: 1.7 });\r\n\r\n    canvas.width = viewport.width;\r\n    canvas.height = viewport.height;\r\n\r\n    const context = canvas.getContext(\"2d\");\r\n\r\n    await page.render({\r\n      canvasContext: context,\r\n      viewport: viewport\r\n    }).promise;\r\n\r\n    renderedPages.add(pageNumber);\r\n  }\r\n\r\n  function renderNearbyPages(currentPage) {\r\n    const start = Math.max(1, currentPage - 2);\r\n    const end = Math.min(totalPages, currentPage + 4);\r\n\r\n    for (let i = start; i <= end; i++) {\r\n      renderPage(i).catch(function (err) {\r\n        console.error(\"Page render error:\", err);\r\n      });\r\n    }\r\n  }\r\n\r\n  function getCurrentPageIndex() {\r\n    if (!pageFlip || !pageFlip.getCurrentPageIndex) return 0;\r\n    return pageFlip.getCurrentPageIndex();\r\n  }\r\n\r\n  function updateCounter() {\r\n    const currentIndex = getCurrentPageIndex();\r\n    const currentPage = Math.min(currentIndex + 1, totalPages);\r\n    counter.textContent = currentPage + \" \/ \" + totalPages;\r\n    renderNearbyPages(currentPage);\r\n  }\r\n\r\n  function playSound() {\r\n    if (SOUND_URL !== \"\") {\r\n      sound.currentTime = 0;\r\n      sound.play().catch(function () {});\r\n    }\r\n  }\r\n\r\n  function goToNextPage() {\r\n    if (!pageFlip || isNavigating) return;\r\n\r\n    isNavigating = true;\r\n\r\n    const beforeIndex = getCurrentPageIndex();\r\n\r\n    try {\r\n      if (pageFlip.flipNext) {\r\n        pageFlip.flipNext(\"bottom\");\r\n      } else if (pageFlip.turnToNextPage) {\r\n        pageFlip.turnToNextPage();\r\n      }\r\n    } catch (err) {\r\n      console.error(\"Next button error:\", err);\r\n    }\r\n\r\n    setTimeout(function () {\r\n      const afterIndex = getCurrentPageIndex();\r\n\r\n      if (afterIndex === beforeIndex) {\r\n        const targetPage = Math.min(beforeIndex + 1, totalPages - 1);\r\n\r\n        try {\r\n          if (pageFlip.turnToPage) {\r\n            pageFlip.turnToPage(targetPage);\r\n          } else if (pageFlip.flip) {\r\n            pageFlip.flip(targetPage, \"bottom\");\r\n          }\r\n        } catch (err) {\r\n          console.error(\"Next fallback error:\", err);\r\n        }\r\n      }\r\n\r\n      updateCounter();\r\n      playSound();\r\n      isNavigating = false;\r\n    }, 250);\r\n  }\r\n\r\n  function goToPrevPage() {\r\n    if (!pageFlip || isNavigating) return;\r\n\r\n    isNavigating = true;\r\n\r\n    const beforeIndex = getCurrentPageIndex();\r\n\r\n    try {\r\n      if (pageFlip.flipPrev) {\r\n        pageFlip.flipPrev(\"bottom\");\r\n      } else if (pageFlip.turnToPrevPage) {\r\n        pageFlip.turnToPrevPage();\r\n      }\r\n    } catch (err) {\r\n      console.error(\"Prev button error:\", err);\r\n    }\r\n\r\n    setTimeout(function () {\r\n      const afterIndex = getCurrentPageIndex();\r\n\r\n      if (afterIndex === beforeIndex) {\r\n        const targetPage = Math.max(beforeIndex - 1, 0);\r\n\r\n        try {\r\n          if (pageFlip.turnToPage) {\r\n            pageFlip.turnToPage(targetPage);\r\n          } else if (pageFlip.flip) {\r\n            pageFlip.flip(targetPage, \"bottom\");\r\n          }\r\n        } catch (err) {\r\n          console.error(\"Prev fallback error:\", err);\r\n        }\r\n      }\r\n\r\n      updateCounter();\r\n      playSound();\r\n      isNavigating = false;\r\n    }, 250);\r\n  }\r\n\r\n  async function buildFlipbook() {\r\n    if (ready) return;\r\n\r\n    loading.classList.add(\"active\");\r\n    loading.textContent = \"Loading book...\";\r\n    bookContainer.innerHTML = \"\";\r\n\r\n    try {\r\n      const pdf = await loadPdf();\r\n\r\n      totalPages = MAX_PAGES_TO_SHOW > 0\r\n        ? Math.min(MAX_PAGES_TO_SHOW, pdf.numPages)\r\n        : pdf.numPages;\r\n\r\n      counter.textContent = \"1 \/ \" + totalPages;\r\n\r\n      for (let i = 1; i <= totalPages; i++) {\r\n        const pageDiv = document.createElement(\"div\");\r\n        pageDiv.className = \"gm-pdf-page\";\r\n        pageDiv.setAttribute(\"data-page\", i);\r\n\r\n        if (i === 1) {\r\n          pageDiv.setAttribute(\"data-density\", \"hard\");\r\n        }\r\n\r\n        const canvas = document.createElement(\"canvas\");\r\n        pageDiv.appendChild(canvas);\r\n        bookContainer.appendChild(pageDiv);\r\n      }\r\n\r\n      pageFlip = new St.PageFlip(bookContainer, {\r\n        width: 450,\r\n        height: 640,\r\n        size: \"stretch\",\r\n        minWidth: 300,\r\n        maxWidth: 900,\r\n        minHeight: 420,\r\n        maxHeight: 1280,\r\n        maxShadowOpacity: 0.5,\r\n        showCover: true,\r\n        usePortrait: true,\r\n        mobileScrollSupport: false,\r\n        flippingTime: 700\r\n      });\r\n\r\n      pageFlip.loadFromHTML(bookContainer.querySelectorAll(\".gm-pdf-page\"));\r\n\r\n      renderNearbyPages(1);\r\n\r\n      pageFlip.on(\"flip\", function (e) {\r\n        const currentPage = e.data + 1;\r\n        counter.textContent = currentPage + \" \/ \" + totalPages;\r\n        renderNearbyPages(currentPage);\r\n        playSound();\r\n      });\r\n\r\n      loading.classList.remove(\"active\");\r\n      ready = true;\r\n\r\n    } catch (error) {\r\n      console.error(error);\r\n      loading.classList.add(\"active\");\r\n      loading.textContent = \"PDF load nahi ho rahi. URL, CORS, ya file permission check karein.\";\r\n    }\r\n  }\r\n\r\n  cover.addEventListener(\"click\", async function () {\r\n    modal.classList.add(\"active\");\r\n    document.body.style.overflow = \"hidden\";\r\n\r\n    await buildFlipbook();\r\n\r\n    setTimeout(function () {\r\n      if (pageFlip && pageFlip.update) {\r\n        pageFlip.update();\r\n      }\r\n    }, 300);\r\n  });\r\n\r\n  closeBtn.addEventListener(\"click\", function (e) {\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n\r\n    modal.classList.remove(\"active\");\r\n    document.body.style.overflow = \"\";\r\n  });\r\n\r\n  modal.addEventListener(\"click\", function (e) {\r\n    if (e.target === modal) {\r\n      modal.classList.remove(\"active\");\r\n      document.body.style.overflow = \"\";\r\n    }\r\n  });\r\n\r\n  prevBtn.addEventListener(\"click\", function (e) {\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    goToPrevPage();\r\n  });\r\n\r\n  nextBtn.addEventListener(\"click\", function (e) {\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    goToNextPage();\r\n  });\r\n\r\n  prevBtn.addEventListener(\"pointerdown\", function (e) {\r\n    e.stopPropagation();\r\n  });\r\n\r\n  nextBtn.addEventListener(\"pointerdown\", function (e) {\r\n    e.stopPropagation();\r\n  });\r\n\r\n  document.addEventListener(\"keydown\", function (e) {\r\n    if (!modal.classList.contains(\"active\")) return;\r\n\r\n    if (e.key === \"ArrowRight\") {\r\n      goToNextPage();\r\n    }\r\n\r\n    if (e.key === \"ArrowLeft\") {\r\n      goToPrevPage();\r\n    }\r\n\r\n    if (e.key === \"Escape\") {\r\n      modal.classList.remove(\"active\");\r\n      document.body.style.overflow = \"\";\r\n    }\r\n  });\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-55b6a4b e-con-full e-flex e-con e-child\" data-id=\"55b6a4b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fdb78c2 elementor-widget elementor-widget-heading\" data-id=\"fdb78c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">About The Book<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ebb9e9 elementor-widget elementor-widget-heading\" data-id=\"5ebb9e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Flights of Fancy\nGrowing Up<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3b6b25c elementor-widget elementor-widget-text-editor\" data-id=\"3b6b25c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Book One in the Flights of Fancy series, Growing Up covers Graeme Lamont\u2019s early life, schooling, and adventures from Kenya to Scotland, and eventually Australia. It reveals the challenges of growing up in rapidly changing societies, the excitement of discovery, and the experiences that fuel a lifelong passion for aviation.<br \/>From surviving the rigorous Kenya Preliminary Exam to exploring Africa\u2019s vast lands and later navigating university life in Australia, Graeme\u2019s story is a captivating mix of historical context, personal growth, and aviation-inspired adventure.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6d269a elementor-widget elementor-widget-heading\" data-id=\"f6d269a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Price: $250.00<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c8ae70 elementor-widget elementor-widget-button\" data-id=\"3c8ae70\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Buy Now \u279a<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>&times; Loading book&#8230; Prev 1 \/ 1 Next About The Book Flights of Fancy Growing Up Book One in the Flights of Fancy series, Growing Up covers Graeme Lamont\u2019s early life, schooling, and adventures from Kenya to Scotland, and eventually Australia. It reveals the challenges of growing up in rapidly changing societies, the excitement of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-60","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/pages\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":19,"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/pages\/60\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/pages\/60\/revisions\/168"}],"wp:attachment":[{"href":"https:\/\/graeme-martin.cyber-demo-client-websites.com\/index.php\/wp-json\/wp\/v2\/media?parent=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}