{"id":8164,"date":"2024-08-21T20:39:25","date_gmt":"2024-08-21T17:39:25","guid":{"rendered":"https:\/\/digitalrise.art\/?page_id=8164"},"modified":"2024-08-22T14:48:10","modified_gmt":"2024-08-22T11:48:10","slug":"%d7%95%d7%99%d7%93%d7%90%d7%95","status":"publish","type":"page","link":"https:\/\/digitalrise.art\/?page_id=8164","title":{"rendered":"\u05d5\u05d9\u05d3\u05d0\u05d5"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8164\" class=\"elementor elementor-8164\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b67800 e-con-full e-flex e-con e-parent\" data-id=\"3b67800\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-23fbb0f elementor-widget elementor-widget-html\" data-id=\"23fbb0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"he\">\r\n\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Enhanced Real-Time Vision and Bot Interaction in Hebrew<\/title>\r\n    <style>\r\n        body {\r\n            font-family: Arial, sans-serif;\r\n            text-align: center;\r\n            margin: 0;\r\n            padding: 20px;\r\n            background-color: #f4f4f4;\r\n        }\r\n\r\n        #camera-container {\r\n            position: relative;\r\n            margin: auto;\r\n            width: 500px;\r\n            height: 375px;\r\n            display: none;\r\n        }\r\n\r\n        video {\r\n            width: 100%;\r\n            height: auto;\r\n            border: 2px solid #333;\r\n        }\r\n\r\n        #canvas {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n        }\r\n\r\n        #controls {\r\n            margin-top: 20px;\r\n        }\r\n\r\n        #response, #vision-results {\r\n            margin-top: 20px;\r\n            font-size: 1.2em;\r\n            font-weight: bold;\r\n        }\r\n\r\n        button {\r\n            padding: 10px 20px;\r\n            margin: 5px;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            border: none;\r\n            border-radius: 5px;\r\n            background-color: #007BFF;\r\n            color: white;\r\n        }\r\n\r\n        button:hover {\r\n            background-color: #0056b3;\r\n        }\r\n\r\n        button:disabled {\r\n            background-color: #ccc;\r\n            cursor: not-allowed;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n\r\n<body>\r\n    <h1>Enhanced Real-Time Vision and Bot Interaction in Hebrew<\/h1>\r\n    <div id=\"camera-container\">\r\n        <video id=\"camera\" autoplay><\/video>\r\n        <canvas id=\"canvas\"><\/canvas>\r\n    <\/div>\r\n    <div id=\"controls\">\r\n        <button id=\"toggle-camera\">\u05d4\u05e4\u05e2\u05dc \u05de\u05e6\u05dc\u05de\u05d4<\/button>\r\n        <button id=\"start-conversation\" disabled>\u05d4\u05ea\u05d7\u05dc \u05e9\u05d9\u05d7\u05d4 \u05e8\u05e6\u05d9\u05e4\u05d4<\/button>\r\n        <button id=\"end-conversation\" disabled>\u05e1\u05d9\u05d9\u05dd \u05e9\u05d9\u05d7\u05d4<\/button>\r\n    <\/div>\r\n    <div id=\"vision-results\"><\/div>\r\n    <div id=\"response\"><\/div>\r\n\r\n    <!-- Load necessary libraries -->\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tensorflow\/tfjs\"><\/script>\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tensorflow-models\/coco-ssd\"><\/script>\r\n\r\n    <script>\r\n        let isCameraOpen = false;\r\n        let mediaStream = null;\r\n        let recognition;\r\n        let isContinuousConversationActive = false;\r\n        let objectDetector;\r\n        let canvas, ctx;\r\n        let detectedObjects = [];\r\n\r\n        \/\/ Hebrew translations for common objects\r\n        const hebrewTranslations = {\r\n            'person': '\u05d0\u05d3\u05dd',\r\n            'bicycle': '\u05d0\u05d5\u05e4\u05e0\u05d9\u05d9\u05dd',\r\n            'car': '\u05de\u05db\u05d5\u05e0\u05d9\u05ea',\r\n            'motorcycle': '\u05d0\u05d5\u05e4\u05e0\u05d5\u05e2',\r\n            'airplane': '\u05de\u05d8\u05d5\u05e1',\r\n            'bus': '\u05d0\u05d5\u05d8\u05d5\u05d1\u05d5\u05e1',\r\n            'train': '\u05e8\u05db\u05d1\u05ea',\r\n            'truck': '\u05de\u05e9\u05d0\u05d9\u05ea',\r\n            'boat': '\u05e1\u05d9\u05e8\u05d4',\r\n            'traffic light': '\u05e8\u05de\u05d6\u05d5\u05e8',\r\n            'fire hydrant': '\u05d1\u05e8\u05d6 \u05db\u05d9\u05d1\u05d5\u05d9',\r\n            'stop sign': '\u05ea\u05de\u05e8\u05d5\u05e8 \u05e2\u05e6\u05d5\u05e8',\r\n            'parking meter': '\u05de\u05d3 \u05d7\u05e0\u05d9\u05d9\u05d4',\r\n            'bench': '\u05e1\u05e4\u05e1\u05dc',\r\n            'bird': '\u05e6\u05d9\u05e4\u05d5\u05e8',\r\n            'cat': '\u05d7\u05ea\u05d5\u05dc',\r\n            'dog': '\u05db\u05dc\u05d1',\r\n            'horse': '\u05e1\u05d5\u05e1',\r\n            'sheep': '\u05db\u05d1\u05e9',\r\n            'cow': '\u05e4\u05e8\u05d4',\r\n            'elephant': '\u05e4\u05d9\u05dc',\r\n            'bear': '\u05d3\u05d5\u05d1',\r\n            'zebra': '\u05d6\u05d1\u05e8\u05d4',\r\n            'giraffe': '\u05d2\u05f3\u05d9\u05e8\u05e4\u05d4',\r\n            'backpack': '\u05ea\u05d9\u05e7 \u05d2\u05d1',\r\n            'umbrella': '\u05de\u05d8\u05e8\u05d9\u05d9\u05d4',\r\n            'handbag': '\u05ea\u05d9\u05e7 \u05d9\u05d3',\r\n            'tie': '\u05e2\u05e0\u05d9\u05d1\u05d4',\r\n            'suitcase': '\u05de\u05d6\u05d5\u05d5\u05d3\u05d4',\r\n            'frisbee': '\u05e4\u05e8\u05d9\u05d6\u05d1\u05d9',\r\n            'skis': '\u05de\u05d2\u05dc\u05e9\u05d9\u05d9\u05dd',\r\n            'snowboard': '\u05e1\u05e0\u05d5\u05d1\u05d5\u05e8\u05d3',\r\n            'sports ball': '\u05db\u05d3\u05d5\u05e8 \u05e1\u05e4\u05d5\u05e8\u05d8',\r\n            'kite': '\u05e2\u05e4\u05d9\u05e4\u05d5\u05df',\r\n            'baseball bat': '\u05de\u05d7\u05d1\u05d8 \u05d1\u05d9\u05d9\u05e1\u05d1\u05d5\u05dc',\r\n            'baseball glove': '\u05db\u05e4\u05e4\u05ea \u05d1\u05d9\u05d9\u05e1\u05d1\u05d5\u05dc',\r\n            'skateboard': '\u05e1\u05e7\u05d9\u05d9\u05d8\u05d1\u05d5\u05e8\u05d3',\r\n            'surfboard': '\u05d2\u05dc\u05e9\u05df',\r\n            'tennis racket': '\u05de\u05d7\u05d1\u05d8 \u05d8\u05e0\u05d9\u05e1',\r\n            'bottle': '\u05d1\u05e7\u05d1\u05d5\u05e7',\r\n            'wine glass': '\u05db\u05d5\u05e1 \u05d9\u05d9\u05df',\r\n            'cup': '\u05db\u05d5\u05e1',\r\n            'fork': '\u05de\u05d6\u05dc\u05d2',\r\n            'knife': '\u05e1\u05db\u05d9\u05df',\r\n            'spoon': '\u05db\u05e3',\r\n            'bowl': '\u05e7\u05e2\u05e8\u05d4',\r\n            'banana': '\u05d1\u05e0\u05e0\u05d4',\r\n            'apple': '\u05ea\u05e4\u05d5\u05d7',\r\n            'sandwich': '\u05db\u05e8\u05d9\u05da',\r\n            'orange': '\u05ea\u05e4\u05d5\u05d6',\r\n            'broccoli': '\u05d1\u05e8\u05d5\u05e7\u05d5\u05dc\u05d9',\r\n            'carrot': '\u05d2\u05d6\u05e8',\r\n            'hot dog': '\u05e0\u05e7\u05e0\u05d9\u05e7\u05d9\u05d9\u05d4',\r\n            'pizza': '\u05e4\u05d9\u05e6\u05d4',\r\n            'donut': '\u05e1\u05d5\u05e4\u05d2\u05e0\u05d9\u05d9\u05d4',\r\n            'cake': '\u05e2\u05d5\u05d2\u05d4',\r\n            'chair': '\u05db\u05d9\u05e1\u05d0',\r\n            'couch': '\u05e1\u05e4\u05d4',\r\n            'potted plant': '\u05e6\u05de\u05d7 \u05d1\u05e2\u05e6\u05d9\u05e5',\r\n            'bed': '\u05de\u05d9\u05d8\u05d4',\r\n            'dining table': '\u05e9\u05d5\u05dc\u05d7\u05df \u05d0\u05d5\u05db\u05dc',\r\n            'toilet': '\u05e9\u05d9\u05e8\u05d5\u05ea\u05d9\u05dd',\r\n            'tv': '\u05d8\u05dc\u05d5\u05d5\u05d9\u05d6\u05d9\u05d4',\r\n            'laptop': '\u05de\u05d7\u05e9\u05d1 \u05e0\u05d9\u05d9\u05d3',\r\n            'mouse': '\u05e2\u05db\u05d1\u05e8',\r\n            'remote': '\u05e9\u05dc\u05d8',\r\n            'keyboard': '\u05de\u05e7\u05dc\u05d3\u05ea',\r\n            'cell phone': '\u05d8\u05dc\u05e4\u05d5\u05df \u05e0\u05d9\u05d9\u05d3',\r\n            'microwave': '\u05de\u05d9\u05e7\u05e8\u05d5\u05d2\u05dc',\r\n            'oven': '\u05ea\u05e0\u05d5\u05e8',\r\n            'toaster': '\u05d8\u05d5\u05e1\u05d8\u05e8',\r\n            'sink': '\u05db\u05d9\u05d5\u05e8',\r\n            'refrigerator': '\u05de\u05e7\u05e8\u05e8',\r\n            'book': '\u05e1\u05e4\u05e8',\r\n            'clock': '\u05e9\u05e2\u05d5\u05df',\r\n            'vase': '\u05d0\u05d2\u05e8\u05d8\u05dc',\r\n            'scissors': '\u05de\u05e1\u05e4\u05e8\u05d9\u05d9\u05dd',\r\n            'teddy bear': '\u05d3\u05d5\u05d1\u05d9',\r\n            'hair drier': '\u05de\u05d9\u05d9\u05d1\u05e9 \u05e9\u05d9\u05e2\u05e8',\r\n            'toothbrush': '\u05de\u05d1\u05e8\u05e9\u05ea \u05e9\u05d9\u05e0\u05d9\u05d9\u05dd'\r\n        };\r\n\r\n        \/\/ Initialize TensorFlow models\r\n        async function initModels() {\r\n            try {\r\n                objectDetector = await cocoSsd.load();\r\n                console.log('Object detection model loaded');\r\n            } catch (error) {\r\n                console.error('Error loading object detection model:', error);\r\n            }\r\n        }\r\n\r\n        \/\/ Toggle Camera\r\n        document.getElementById('toggle-camera').addEventListener('click', async function () {\r\n            const cameraContainer = document.getElementById('camera-container');\r\n            const videoElement = document.getElementById('camera');\r\n\r\n            if (!isCameraOpen) {\r\n                try {\r\n                    mediaStream = await navigator.mediaDevices.getUserMedia({ video: true });\r\n                    videoElement.srcObject = mediaStream;\r\n                    cameraContainer.style.display = 'block';\r\n                    this.textContent = '\u05db\u05d1\u05d4 \u05de\u05e6\u05dc\u05de\u05d4';\r\n                    document.getElementById('start-conversation').disabled = false;\r\n                    canvas = document.getElementById('canvas');\r\n                    ctx = canvas.getContext('2d');\r\n                    canvas.width = videoElement.width;\r\n                    canvas.height = videoElement.height;\r\n                    await initModels();\r\n                    requestAnimationFrame(detectFrame);\r\n                } catch (error) {\r\n                    console.error('Error accessing the camera:', error);\r\n                    alert('\u05d4\u05de\u05e6\u05dc\u05de\u05d4 \u05dc\u05d0 \u05e0\u05de\u05e6\u05d0\u05d4 \u05d0\u05d5 \u05d4\u05d2\u05d9\u05e9\u05d4 \u05e0\u05d3\u05d7\u05ea\u05d4. \u05d0\u05e0\u05d0 \u05d1\u05d3\u05d5\u05e7 \u05d0\u05ea \u05d4\u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05e9\u05dc\u05da.');\r\n                }\r\n            } else {\r\n                if (mediaStream) {\r\n                    const tracks = mediaStream.getTracks();\r\n                    tracks.forEach(track => track.stop());\r\n                    videoElement.srcObject = null;\r\n                }\r\n                cameraContainer.style.display = 'none';\r\n                this.textContent = '\u05d4\u05e4\u05e2\u05dc \u05de\u05e6\u05dc\u05de\u05d4';\r\n                document.getElementById('start-conversation').disabled = true;\r\n                document.getElementById('end-conversation').disabled = true;\r\n            }\r\n            isCameraOpen = !isCameraOpen;\r\n        });\r\n\r\n        \/\/ Detect objects in video frames\r\n        async function detectFrame() {\r\n            if (isCameraOpen && objectDetector) {\r\n                const videoElement = document.getElementById('camera');\r\n                ctx.drawImage(videoElement, 0, 0, canvas.width, canvas.height);\r\n\r\n                try {\r\n                    const objects = await objectDetector.detect(videoElement);\r\n                    ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n                    ctx.drawImage(videoElement, 0, 0, canvas.width, canvas.height);\r\n                    detectedObjects = objects.map(obj => ({\r\n                        name: hebrewTranslations[obj.class] || obj.class,\r\n                        confidence: obj.score\r\n                    }));\r\n                    objects.forEach(object => {\r\n                        ctx.strokeStyle = 'red';\r\n                        ctx.lineWidth = 2;\r\n                        ctx.strokeRect(object.bbox[0], object.bbox[1], object.bbox[2], object.bbox[3]);\r\n                        ctx.fillStyle = 'red';\r\n                        ctx.fillText(hebrewTranslations[object.class] || object.class, object.bbox[0], object.bbox[1] - 5);\r\n                    });\r\n\r\n                    document.getElementById('vision-results').textContent = `\u05d6\u05d5\u05d4\u05d5 \u05d7\u05e4\u05e6\u05d9\u05dd: ${detectedObjects.map(obj => obj.name).join(', ')}`;\r\n                } catch (error) {\r\n                    console.error('Error during object detection:', error);\r\n                }\r\n\r\n                requestAnimationFrame(detectFrame);\r\n            }\r\n        }\r\n\r\n        \/\/ Start Continuous Conversation\r\n        document.getElementById('start-conversation').addEventListener('click', function () {\r\n            if (isContinuousConversationActive) {\r\n                stopContinuousConversation();\r\n                this.textContent = '\u05d4\u05ea\u05d7\u05dc \u05e9\u05d9\u05d7\u05d4 \u05e8\u05e6\u05d9\u05e4\u05d4';\r\n            } else {\r\n                startContinuousConversation();\r\n                this.textContent = '\u05d4\u05e4\u05e1\u05e7 \u05e9\u05d9\u05d7\u05d4 \u05e8\u05e6\u05d9\u05e4\u05d4';\r\n            }\r\n        });\r\n\r\n        document.getElementById('end-conversation').addEventListener('click', function () {\r\n            stopContinuousConversation();\r\n            document.getElementById('start-conversation').textContent = '\u05d4\u05ea\u05d7\u05dc \u05e9\u05d9\u05d7\u05d4 \u05e8\u05e6\u05d9\u05e4\u05d4';\r\n        });\r\n\r\n        function startContinuousConversation() {\r\n            isContinuousConversationActive = true;\r\n            recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();\r\n            recognition.continuous = true;\r\n            recognition.interimResults = false;\r\n            recognition.lang = 'he-IL'; \/\/ Set to Hebrew\r\n\r\n            recognition.onresult = async (event) => {\r\n                const lastResultIndex = event.results.length - 1;\r\n                const speech = event.results[lastResultIndex][0].transcript.trim();\r\n                if (speech) {\r\n                    processSpeech(speech);\r\n                }\r\n            };\r\n\r\n            recognition.onend = () => {\r\n                if (isContinuousConversationActive) {\r\n                    recognition.start();\r\n                }\r\n            };\r\n\r\n            recognition.start();\r\n            document.getElementById('end-conversation').disabled = false;\r\n        }\r\n\r\n        function stopContinuousConversation() {\r\n            if (recognition) {\r\n                recognition.stop();\r\n            }\r\n            isContinuousConversationActive = false;\r\n            document.getElementById('end-conversation').disabled = true;\r\n            window.speechSynthesis.cancel(); \/\/ Stop any ongoing speech\r\n        }\r\n\r\n        async function processSpeech(speech) {\r\n            document.getElementById('response').textContent = `\u05d0\u05de\u05e8\u05ea: ${speech}`;\r\n\r\n            \/\/ Prepare visual context for the Gemini API\r\n            const visualContext = detectedObjects.length > 0\r\n                ? `\u05d0\u05e0\u05d9 \u05e8\u05d5\u05d0\u05d4 \u05d0\u05ea \u05d4\u05d7\u05e4\u05e6\u05d9\u05dd \u05d4\u05d1\u05d0\u05d9\u05dd: ${detectedObjects.map(obj => obj.name).join(', ')}. `\r\n                : '\u05d0\u05e0\u05d9 \u05dc\u05d0 \u05e8\u05d5\u05d0\u05d4 \u05d7\u05e4\u05e6\u05d9\u05dd \u05e1\u05e4\u05e6\u05d9\u05e4\u05d9\u05d9\u05dd \u05d1\u05e8\u05d2\u05e2 \u05d6\u05d4. ';\r\n\r\n            \/\/ Send the speech and visual context to the Gemini API\r\n            try {\r\n                const response = await fetch('https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/gemini-1.5-flash-latest:generateContent?key=AIzaSyCzCbtBetfyVyzSkvF9KCtIWVNskoQKIHQ', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify({\r\n                        contents: [{\r\n                            parts: [{\r\n                                text: `${visualContext}\u05d4\u05e9\u05d0\u05dc\u05d4 \u05d0\u05d5 \u05d4\u05d4\u05e2\u05e8\u05d4 \u05e9\u05dc\u05da \u05d4\u05d9\u05d0: ${speech}. \u05d0\u05e0\u05d0 \u05d4\u05ea\u05d9\u05d9\u05d7\u05e1 \u05dc\u05de\u05d4 \u05e9\u05d0\u05e0\u05d9 \u05e8\u05d5\u05d0\u05d4 \u05d5\u05dc\u05e9\u05d0\u05dc\u05d4 \u05d0\u05d5 \u05d4\u05d4\u05e2\u05e8\u05d4 \u05e9\u05dc\u05d9 \u05d1\u05ea\u05e9\u05d5\u05d1\u05ea\u05da.`\r\n                            }]\r\n                        }]\r\n                    })\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    const errorText = await response.text();\r\n                    throw new Error(`Bad Request: ${errorText}`);\r\n                }\r\n\r\n                const result = await response.json();\r\n                const reply = result.candidates && result.candidates[0] && result.candidates[0].content && result.candidates[0].content.parts && result.candidates[0].content.parts[0].text\r\n                    ? result.candidates[0].content.parts[0].text\r\n                    : \"\u05dc\u05d0 \u05d4\u05ea\u05e7\u05d1\u05dc\u05d4 \u05ea\u05e9\u05d5\u05d1\u05d4.\";\r\n\r\n                document.getElementById('response').textContent = `\u05ea\u05e9\u05d5\u05d1\u05ea \u05d4\u05d1\u05d5\u05d8: ${reply}`;\r\n                speak(reply);\r\n            } catch (error) {\r\n                console.error('Error fetching response from Gemini API:', error);\r\n                document.getElementById('response').textContent = '\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05ea\u05e7\u05e9\u05d5\u05e8\u05ea \u05e2\u05dd \u05d4\u05e9\u05e8\u05ea. \u05d0\u05e0\u05d0 \u05e0\u05e1\u05d4 \u05e9\u05d5\u05d1.';\r\n            }\r\n        }\r\n\r\n        function speak(text) {\r\n            const synth = window.speechSynthesis;\r\n            const utterance = new SpeechSynthesisUtterance(text);\r\n            utterance.lang = 'he-IL'; \/\/ Set language to Hebrew\r\n            synth.speak(utterance);\r\n        }\r\n    <\/script>\r\n<\/body>\r\n\r\n<\/html>\t\t\t\t<\/div>\n\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>Enhanced Real-Time Vision and Bot Interaction in Hebrew Enhanced Real-Time Vision and Bot Interaction in Hebrew \u05d4\u05e4\u05e2\u05dc \u05de\u05e6\u05dc\u05de\u05d4 \u05d4\u05ea\u05d7\u05dc \u05e9\u05d9\u05d7\u05d4 \u05e8\u05e6\u05d9\u05e4\u05d4 \u05e1\u05d9\u05d9\u05dd \u05e9\u05d9\u05d7\u05d4<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_eb_attr":"","content-type":"","site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","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":"","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":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"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-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-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-gradient":""}},"ast-content-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-gradient":""},"tablet":{"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-gradient":""},"mobile":{"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-gradient":""}},"footnotes":""},"class_list":["post-8164","page","type-page","status-publish","hentry"],"ams_acf":[],"_links":{"self":[{"href":"https:\/\/digitalrise.art\/index.php?rest_route=\/wp\/v2\/pages\/8164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitalrise.art\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/digitalrise.art\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/digitalrise.art\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digitalrise.art\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8164"}],"version-history":[{"count":118,"href":"https:\/\/digitalrise.art\/index.php?rest_route=\/wp\/v2\/pages\/8164\/revisions"}],"predecessor-version":[{"id":8287,"href":"https:\/\/digitalrise.art\/index.php?rest_route=\/wp\/v2\/pages\/8164\/revisions\/8287"}],"wp:attachment":[{"href":"https:\/\/digitalrise.art\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}