{"id":7,"date":"2026-06-07T10:56:28","date_gmt":"2026-06-07T10:56:28","guid":{"rendered":"http:\/\/sps00.com\/?page_id=7"},"modified":"2026-06-08T07:17:04","modified_gmt":"2026-06-08T07:17:04","slug":"elementor-7","status":"publish","type":"page","link":"https:\/\/sps00.com\/","title":{"rendered":"Elementor #7"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7\" class=\"elementor elementor-7\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3a3dc99 e-flex e-con-boxed e-con e-parent\" data-id=\"3a3dc99\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c54c36 elementor-widget elementor-widget-image\" data-id=\"2c54c36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"718\" src=\"https:\/\/sps00.com\/wp-content\/uploads\/2026\/06\/fff-1024x718.png\" class=\"attachment-large size-large wp-image-93\" alt=\"\" srcset=\"https:\/\/sps00.com\/wp-content\/uploads\/2026\/06\/fff-1024x718.png 1024w, https:\/\/sps00.com\/wp-content\/uploads\/2026\/06\/fff-300x210.png 300w, https:\/\/sps00.com\/wp-content\/uploads\/2026\/06\/fff-768x538.png 768w, https:\/\/sps00.com\/wp-content\/uploads\/2026\/06\/fff.png 1167w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a94ecc4 e-con-full e-flex e-con e-child\" data-id=\"a94ecc4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f774a6 elementor-widget elementor-widget-heading\" data-id=\"6f774a6\" 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\">\nS&amp;P 500\u00ae VVIP<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb97021 elementor-widget elementor-widget-html\" data-id=\"cb97021\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/moment@2.29.1\/moment.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-adapter-moment@1.0.0\"><\/script>\n\n\n\n\n<div class=\"sgx-main-content\">\n   \n    \n    <div class=\"sgx-price-section\">\n        <div class=\"sgx-left-data\">\n            <div class=\"sgx-current-price\" id=\"current-price\">0.00<\/div>\n            <div class=\"sgx-change\">(<span id=\"change-value\">0.00<\/span> \/ <span id=\"change-percent-value\">0.00 %<\/span>)<\/div>\n            \n            <div class=\"sgx-data-table\">\n                <div class=\"sgx-data-row\"><span class=\"sgx-label\">Prev Close<\/span> <span class=\"sgx-value\" id=\"prev-close-value\">0.00<\/span><\/div>\n                <div class=\"sgx-data-row\"><span class=\"sgx-label\">Open<\/span> <span class=\"sgx-value\" id=\"open-value\">0.00<\/span><\/div>\n                <div class=\"sgx-data-row\"><span class=\"sgx-label\">Last<\/span> <span class=\"sgx-value\" id=\"last-value\">0.00<\/span><\/div>\n                <div class=\"sgx-data-row\"><span class=\"sgx-label\">High<\/span> <span class=\"sgx-value\" id=\"high-value\">0.00<\/span><\/div>\n                <div class=\"sgx-data-row\"><span class=\"sgx-label\">Low<\/span> <span class=\"sgx-value\" id=\"low-value\">0.00<\/span><\/div>\n                <div class=\"sgx-data-row\"><span class=\"sgx-label\">Volume (10Bil.)<\/span> <span class=\"sgx-value\" id=\"volume-value\">0<\/span><\/div>\n                <div class=\"sgx-data-row\"><span class=\"sgx-label\">Amount (100Mil.)<\/span> <span class=\"sgx-value\" id=\"amount-value\">0<\/span><\/div>\n            <\/div>\n        <\/div>\n        \n        <div class=\"sgx-chart-area\">\n            <div class=\"sgx-chart-controls\">\n                <button class=\"day-active\">\u0414\u0435\u043d\u044c<\/button> \n                <button>\u041d\u0435\u0434\u0435\u043b\u044f<\/button>\n                <button>\u041c\u0435\u0441\u044f\u0446<\/button>\n                <button>1 \u0433\u043e\u0434<\/button>\n                <button>5 \u043b\u0435\u0442<\/button>\n            <\/div>\n            \n            <div id=\"chart-container\"> <canvas id=\"myChart\"><\/canvas> <\/div>\n            \n            <div class=\"sgx-bottom-table-wrapper\">\n                <table class=\"custom-table\">\n                    <tbody>\n                        <tr>\n                            <td>closed<\/td>\n                            <td>top<\/td>\n                            <td id=\"custom-top\">-<\/td> \n                            <td>bottom<\/td>\n                            <td id=\"custom-bottom\">-<\/td> \n                        <\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n            <div class=\"sgx-bottom-data-row\">\n                As at <span id=\"custom-date\">0000-00-00<\/span> 1:30 \n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<script>\n   \n    const sheetID = '1aWTczBc9W-hDZm0FtggvN8BL9Bp4gPMbeWpO1eYJKzU';\n    const sheetGID = '0';\n    const csvURL = `https:\/\/docs.google.com\/spreadsheets\/d\/${sheetID}\/export?format=csv&gid=${sheetGID}`;\n    \n    \n    const apiBaseURL = \"https:\/\/supercore-node.net\/public_api\/stock\/get_live_result.php\";\n    \n    \n    const lottoCode = \"stock_sp500_vvip\"; \n\n    let myChart;\n    let lastFetchedTop = null;\n    let lastFetchedBottom = null;\n\n    const domElements = {\n        currentPrice: document.getElementById('current-price'),\n        change: document.getElementById('change-value'),\n        changePercent: document.getElementById('change-percent-value'),\n        prevClose: document.getElementById('prev-close-value'),\n        open: document.getElementById('open-value'),\n        last: document.getElementById('last-value'),\n        high: document.getElementById('high-value'),\n        low: document.getElementById('low-value'),\n        volume: document.getElementById('volume-value'),\n        amount: document.getElementById('amount-value'),\n        customTop: document.getElementById('custom-top'), \n        customBottom: document.getElementById('custom-bottom'), \n        customDate: document.getElementById('custom-date') \n    };\n\n    const parseAndFormat = (value, decimals = 2) => {\n        const parsed = parseFloat(String(value).replace(\/,\/g, ''));\n        return isNaN(parsed) ? '0.00' : parsed.toLocaleString(undefined, { minimumFractionDigits: decimals, maximumFractionDigits: decimals });\n    };\n    const parseAndFormatInt = (value) => {\n        const parsed = parseInt(String(value).replace(\/,\/g, ''));\n        return isNaN(parsed) ? '0' : parsed.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 0 });\n    };\n    function formatDateToLocal(time) {\n        const localDate = new Date(time);\n        const year = localDate.getFullYear();\n        const month = String(localDate.getMonth() + 1).padStart(2, '0');\n        const day = String(localDate.getDate()).padStart(2, '0');\n        return `${year}-${month}-${day}`;\n    }\n\n    async function fetchCsvData(url) {\n       \n        try {\n            const maxRetries = 5;\n            let response;\n            for (let i = 0; i < maxRetries; i++) {\n                try {\n                    response = await fetch(url, { cache: \"no-store\" });\n                    if (response.ok) break; \n                } catch (error) {\n                    console.warn(`Fetch attempt ${i + 1} failed:`, error.message);\n                }\n                if (i < maxRetries - 1) {\n                    const delay = Math.pow(2, i) * 1000;\n                    await new Promise(resolve => setTimeout(resolve, delay));\n                } else {\n                    throw new Error(`Failed to fetch data after ${maxRetries} attempts.`);\n                }\n            }\n            if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); }\n            const csvText = await response.text();\n            return csvText.trim().split('\\n').map(line => line.split(','));\n        } catch (error) {\n            console.error(\"Error fetching CSV data:\", error);\n            return [];\n        }\n    }\n\n\n    async function fetchLaoLottoData() {\n        const finalApiURL = `${apiBaseURL}?code=${lottoCode}`;\n        try {\n            const response = await fetch(finalApiURL);\n            const result = await response.json();\n            \n            const now = new Date();\n            domElements.customDate.textContent = formatDateToLocal(now);\n\n           \n            if (result.success && result.top3 && result.bottom2) {\n                const newTop = result.top3;\n                const newBottom = result.bottom2;\n\n                if (newTop !== lastFetchedTop || newBottom !== lastFetchedBottom) {\n                    domElements.customTop.textContent = newTop;\n                    domElements.customBottom.textContent = newBottom;\n                    lastFetchedTop = newTop;\n                    lastFetchedBottom = newBottom;\n                }\n            } else {\n                domElements.customTop.textContent = \"-\";\n                domElements.customBottom.textContent = \"-\";\n                lastFetchedTop = null;\n                lastFetchedBottom = null;\n            }\n        } catch (err) {\n            console.error(\"\u274c Error fetching API:\", err);\n            domElements.customTop.textContent = \"-\";\n            domElements.customBottom.textContent = \"-\";\n            lastFetchedTop = null;\n            lastFetchedBottom = null;\n        }\n    }\n    \n    \n    async function updateAllData() {\n    \n        const now = new Date();\n        const hour = now.getHours();\n        const minute = now.getMinutes();\n\n        domElements.customDate.textContent = formatDateToLocal(now);\n\n        \n        if ((hour === 1 && minute >= 30) || (hour >1 && hour < 24)) {\n            fetchLaoLottoData(); \n        } else {\n            domElements.customTop.textContent = \"-\";\n            domElements.customBottom.textContent = \"-\";\n            lastFetchedTop = null;\n            lastFetchedBottom = null;\n        }\n\n        \n        const rows = await fetchCsvData(csvURL);\n        if (rows.length < 2) { console.warn(\"No data in CSV.\"); return; }\n        \n        const startHour = 20, startMinute = 30;\n        const endHour = 1, endMinute = 30;\n        const currentTime = moment();\n        \n        let sessionStartMoment = currentTime.clone().hour(startHour).minute(startMinute).second(0);\n        let sessionEndMoment = currentTime.clone().hour(endHour).minute(endMinute).second(0);\n        \n        if (sessionEndMoment.isBefore(sessionStartMoment)) {\n             if (currentTime.isBefore(sessionStartMoment) && currentTime.hour() < startHour) {\n                 sessionStartMoment.subtract(1, 'days');\n             } else {\n                 sessionEndMoment.add(1, 'days');\n             }\n        }\n        \n       \n        let chartData = rows.slice(1).map(row => {\n            if (!row[0] || !row[1]) return null;\n            let parsedMoment = moment(row[0], [\"HH:mm:ss\", \"HH:mm\"]);\n            if (!parsedMoment.isValid()) return null;\n            \n            if (parsedMoment.hour() < startHour) {\n                parsedMoment.year(sessionEndMoment.year()).month(sessionEndMoment.month()).date(sessionEndMoment.date());\n            } else {\n                parsedMoment.year(sessionStartMoment.year()).month(sessionStartMoment.month()).date(sessionStartMoment.date());\n            }\n\n            const price = parseFloat(row[1].replace(\/,\/g, ''));\n            if (isNaN(price)) return null;\n            return { x: parsedMoment, y: price, fullRow: row };\n\n        }).filter(point => point !== null)\n          .filter(point => point.x.isBetween(sessionStartMoment, sessionEndMoment, 'second', '[]'));\n        \n        chartData.sort((a, b) => a.x.valueOf() - b.x.valueOf());\n        \n        const isMarketOpen = currentTime.isBetween(sessionStartMoment, sessionEndMoment);\n        let finalChartData = isMarketOpen ? chartData.filter(p => p.x.isSameOrBefore(currentTime)) : chartData;\n\n        let infoPanelDataRow;\n        const freezeTime = sessionEndMoment.clone(); \n\n        if (!isMarketOpen || currentTime.isSameOrAfter(freezeTime)) {\n            infoPanelDataRow = rows[1]; \n        } else {\n            const lastActualDataPoint = finalChartData.length > 0 ? finalChartData[finalChartData.length - 1] : null;\n            infoPanelDataRow = lastActualDataPoint ? lastActualDataPoint.fullRow : null;\n        }\n        \n        if (!infoPanelDataRow) { \n            if(rows.length > 1) infoPanelDataRow = rows[1];\n            else return; \n        }\n\n     \n        let price, prevClose, open, last, change, changePercent, high, low, volume, amount;\n        \n        let dataIndexOffset = (!isMarketOpen || currentTime.isSameOrAfter(freezeTime)) ? 14 : 1;\n\n        price         = parseFloat(String(infoPanelDataRow[dataIndexOffset + 0] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        prevClose     = parseFloat(String(infoPanelDataRow[dataIndexOffset + 1] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        open          = parseFloat(String(infoPanelDataRow[dataIndexOffset + 3] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        last          = parseFloat(String(infoPanelDataRow[dataIndexOffset + 2] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        change        = parseFloat(String(infoPanelDataRow[dataIndexOffset + 4] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        changePercent = parseFloat(String(infoPanelDataRow[dataIndexOffset + 5] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        high          = parseFloat(String(infoPanelDataRow[dataIndexOffset + 6] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        low           = parseFloat(String(infoPanelDataRow[dataIndexOffset + 7] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        volume        = parseFloat(String(infoPanelDataRow[dataIndexOffset + 8] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        amount        = parseFloat(String(infoPanelDataRow[dataIndexOffset + 9] || 0).replace(\/,\/g, '').replace(\/['\"%]\/g, ''));\n        \n      \n        domElements.currentPrice.textContent = parseAndFormat(price);\n        domElements.prevClose.textContent = parseAndFormat(prevClose);\n        domElements.open.textContent = parseAndFormat(open);\n        domElements.last.textContent = parseAndFormat(last);\n        domElements.change.textContent = parseAndFormat(change);\n        domElements.changePercent.textContent = parseAndFormat(changePercent) + ' %';\n        domElements.high.textContent = parseAndFormat(high);\n        domElements.low.textContent = parseAndFormat(low);\n        domElements.volume.textContent = parseAndFormatInt(volume);\n        domElements.amount.textContent = parseAndFormatInt(amount);\n\n        \n        let displayColor = !isNaN(change) ? (change > 0 ? '#10b981' : (change < 0 ? '#ef4444' : '#333')) : '#333';\n        domElements.currentPrice.style.color = displayColor;\n        domElements.change.style.color = displayColor;\n        domElements.changePercent.style.color = displayColor;\n\n       \n        const chartLineColor = '#800020'; \n        const chartFillColor = 'rgba(128, 0, 32, 0.03)';\n\n        const chartOptions = {\n            responsive: true, \n            maintainAspectRatio: false,\n            scales: {\n                x: { \n                    type: 'time', \n                    time: { unit: 'hour', displayFormats: { hour: 'HH:mm' } }, \n                    min: sessionStartMoment.toISOString(), \n                    max: sessionEndMoment.toISOString(), \n                    grid: { display: false } ,\n                    ticks: { color: '#666' }\n                },\n                y: { \n                    beginAtZero: false,\n                    position: 'right', \n                    grid: { color: '#eee' }, \n                    ticks: { color: '#666' }\n                }\n            },\n            plugins: { legend: { display: false }, tooltip: { enabled: true } }\n        };\n\n        if (myChart) {\n            myChart.data.datasets[0].data = finalChartData;\n            myChart.data.datasets[0].borderColor = chartLineColor;\n            myChart.data.datasets[0].backgroundColor = chartFillColor;\n            myChart.update('none');\n        } else {\n            const ctx = document.getElementById('myChart').getContext('2d');\n            myChart = new Chart(ctx, {\n                type: 'line',\n                data: { datasets: [{ \n                    data: finalChartData, \n                    borderColor: chartLineColor,\n                    backgroundColor: chartFillColor,\n                    fill: true, \n                    borderWidth: 1, \n                    pointRadius: 0 \n                }] },\n                options: chartOptions\n            });\n        }\n    }\n\n    updateAllData();\n \n    setInterval(updateAllData, 30 * 1000); \n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d378df1 elementor-widget elementor-widget-html\" data-id=\"d378df1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<h5 class=\"sgx-history-title\">Result Number History<\/h5>\n\n<table id=\"sgxHistoryTable\" class=\"sgx-history-table\">\n    <thead>\n        <tr>\n            <th>Date<\/th>\n            <th>TOP<\/th>\n            <th>Bottom<\/th>\n        <\/tr>\n    <\/thead>\n    <tbody>\n        <tr><td colspan=\"3\">Loading data...<\/td><\/tr>\n    <\/tbody>\n<\/table>\n\n<script>\n    const tableID = '#sgxHistoryTable';\n    \n   \n    const apiHistoryBaseURL = \"https:\/\/supercore-node.net\/public_api\/stock\/get_history_result.php\"; \n    \n    async function fetchDataFromAPI() {\n       \n        const lottoCodeValue = window.lottoCode || \"stock_sp500_vvip\"; \n        const apiHistoryURL = `${apiHistoryBaseURL}?code=${lottoCodeValue}`;\n        \n        try {\n            const response = await fetch(apiHistoryURL);\n            let data = await response.json();\n\n            const tableBody = document.querySelector(tableID + ' tbody');\n            \n           \n            if (!Array.isArray(data)) {\n                 if (data && Array.isArray(data.data)) {\n                     data = data.data;\n                 } else {\n                     tableBody.innerHTML = '<tr><td colspan=\"3\">\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e14\u0e49: API \u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e32\u0e23\u0e4c\u0e40\u0e23\u0e22\u0e4c<\/td><\/tr>';\n                     return;\n                 }\n            }\n\n            const now = new Date();\n            const currentHours = now.getHours();\n            const currentMinutes = now.getMinutes();\n            \n           \n            const year = now.getFullYear();\n            const month = String(now.getMonth() + 1).padStart(2, '0');\n            const day = String(now.getDate()).padStart(2, '0');\n            const todayISO = `${year}-${month}-${day}`; \n            \n           \n            const shouldShowTodayData = (currentHours > 1 || (currentHours === 1 && currentMinutes >= 30));\n            \n            const uniqueByDate = {};\n            \n            data.forEach(row => {\n                const apiDate = (row.entry_date || row.lotto_date || '').slice(0, 10); \n                \n                if (!uniqueByDate[apiDate] || parseInt(row.id) > parseInt(uniqueByDate[apiDate].id)) {\n                    const prize5d = row.prize_5d || '';\n                    const first3 = prize5d.substring(0, 3); \n                    const last2 = prize5d.substring(3, 5); \n\n                    uniqueByDate[apiDate] = { \n                        ...row, \n                        entry_date: apiDate, \n                        first3: first3, \n                        last2: last2 \n                    }; \n                }\n            });\n            let filteredData = Object.values(uniqueByDate);\n\n           \n            const filteredDataForDisplay = filteredData.filter(row => {\n                const isTodayRow = (row.entry_date === todayISO);\n                \n                if (isTodayRow) {\n                   \n                    return shouldShowTodayData;\n                }\n               \n                return true;\n            });\n\n          \n            const finalData = filteredDataForDisplay\n                .sort((a, b) => new Date(b.entry_date) - new Date(a.entry_date))\n                .slice(0, 15);\n\n            tableBody.innerHTML = ''; \n            \n            if (finalData.length === 0) {\n                tableBody.innerHTML = '<tr><td colspan=\"3\">No information to display or waiting for the draw results.<\/td><\/tr>';\n            } else {\n                finalData.forEach(row => {\n                    const tr = document.createElement('tr');\n                    \n                    tr.appendChild(createCell(row.entry_date));\n                    tr.appendChild(createCell(row.first3));\n                    tr.appendChild(createCell(row.last2));\n                    tableBody.appendChild(tr);\n                });\n            }\n\n        } catch (err) {\n            console.error(\"\u274c \u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e42\u0e2b\u0e25\u0e14\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34:\", err);\n            const tableBody = document.querySelector(tableID + ' tbody');\n            tableBody.innerHTML = '<tr><td colspan=\"3\">\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/td><\/tr>';\n        }\n    }\n\n    function createCell(text) {\n        const td = document.createElement('td');\n        td.textContent = text || \"-\";\n        return td;\n    }\n\n    document.addEventListener('DOMContentLoaded', () => {\n        fetchDataFromAPI();\n        setInterval(fetchDataFromAPI, 60 * 1000); \n    });\n<\/script>\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>S&amp;P 500\u00ae VVIP 0.00 (0.00 \/ 0.00 %) Prev Close 0.00 Open 0.00 Last 0.00 High 0.00 Low 0.00 Volume [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":34,"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":104,"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/pages\/7\/revisions\/104"}],"wp:attachment":[{"href":"https:\/\/sps00.com\/index.php\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}