| 
							 | 
						<!DOCTYPE html> | 
					
					
						
						| 
							 | 
						<html> | 
					
					
						
						| 
							 | 
						<head> | 
					
					
						
						| 
							 | 
						    <title>Trustworthy LLMs for Table QA</title> | 
					
					
						
						| 
							 | 
						    <style> | 
					
					
						
						| 
							 | 
						        body { | 
					
					
						
						| 
							 | 
						            font-family: 'Roboto', sans-serif; | 
					
					
						
						| 
							 | 
						            background: url('/static/images/background.jpg') no-repeat center center fixed; | 
					
					
						
						| 
							 | 
						            background-size: cover; | 
					
					
						
						| 
							 | 
						            display: flex; | 
					
					
						
						| 
							 | 
						            justify-content: center; | 
					
					
						
						| 
							 | 
						            align-items: center; | 
					
					
						
						| 
							 | 
						            height: 100vh; | 
					
					
						
						| 
							 | 
						            margin: 0; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .container { | 
					
					
						
						| 
							 | 
						            text-align: center; | 
					
					
						
						| 
							 | 
						            background-color: #ffffff; | 
					
					
						
						| 
							 | 
						            padding: 60px; | 
					
					
						
						| 
							 | 
						            border-radius: 10px; | 
					
					
						
						| 
							 | 
						            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | 
					
					
						
						| 
							 | 
						            width: 60%; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        h1 { | 
					
					
						
						| 
							 | 
						            color: #000000; | 
					
					
						
						| 
							 | 
						            font-size: 48px; | 
					
					
						
						| 
							 | 
						            margin-bottom: 30px; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        label { | 
					
					
						
						| 
							 | 
						            display: block; | 
					
					
						
						| 
							 | 
						            margin: 20px 0 10px; | 
					
					
						
						| 
							 | 
						            color: #000000; | 
					
					
						
						| 
							 | 
						            font-size: 24px; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        input[type="text"], input[type="number"] { | 
					
					
						
						| 
							 | 
						            width: 80%; | 
					
					
						
						| 
							 | 
						            padding: 15px; | 
					
					
						
						| 
							 | 
						            margin-bottom: 20px; | 
					
					
						
						| 
							 | 
						            border: 1px solid #ddd; | 
					
					
						
						| 
							 | 
						            border-radius: 5px; | 
					
					
						
						| 
							 | 
						            font-size: 18px; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-buttons { | 
					
					
						
						| 
							 | 
						            display: flex; | 
					
					
						
						| 
							 | 
						            flex-wrap: wrap; | 
					
					
						
						| 
							 | 
						            justify-content: center; | 
					
					
						
						| 
							 | 
						            margin-bottom: 20px; | 
					
					
						
						| 
							 | 
						            gap: 20px; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button { | 
					
					
						
						| 
							 | 
						            width: calc(45% - 10px); | 
					
					
						
						| 
							 | 
						            padding: 15px; | 
					
					
						
						| 
							 | 
						            font-size: 20px; | 
					
					
						
						| 
							 | 
						            border-radius: 10px; | 
					
					
						
						| 
							 | 
						            cursor: pointer; | 
					
					
						
						| 
							 | 
						            transition: all 0.3s ease; | 
					
					
						
						| 
							 | 
						            border: 2px solid transparent; | 
					
					
						
						| 
							 | 
						            font-weight: bold; | 
					
					
						
						| 
							 | 
						            text-align: center; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button.Chain-of-Table { | 
					
					
						
						| 
							 | 
						            background-color: #ffcc80; | 
					
					
						
						| 
							 | 
						            color: #1e90ff; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button.Plan-of-SQLs { | 
					
					
						
						| 
							 | 
						            background-color: #ffcc80; | 
					
					
						
						| 
							 | 
						            color: #e65100; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button.Text2SQL { | 
					
					
						
						| 
							 | 
						            background-color: #ffcc80; | 
					
					
						
						| 
							 | 
						            color: #7b1fa2; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button.Dater { | 
					
					
						
						| 
							 | 
						            background-color: #ffcc80; | 
					
					
						
						| 
							 | 
						            color: #4caf50; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button.No-XAI { | 
					
					
						
						| 
							 | 
						            background-color: #ffcc80; | 
					
					
						
						| 
							 | 
						            color: #ff9800; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .task-instruction { | 
					
					
						
						| 
							 | 
						            background-color: #f0f8ff; | 
					
					
						
						| 
							 | 
						            border-left: 5px solid #4CAF50; | 
					
					
						
						| 
							 | 
						            padding: 20px; | 
					
					
						
						| 
							 | 
						            margin-bottom: 30px; | 
					
					
						
						| 
							 | 
						            border-radius: 5px; | 
					
					
						
						| 
							 | 
						            text-align: left; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .task-instruction h2 { | 
					
					
						
						| 
							 | 
						            color: #4CAF50; | 
					
					
						
						| 
							 | 
						            margin-top: 0; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .task-step { | 
					
					
						
						| 
							 | 
						            display: flex; | 
					
					
						
						| 
							 | 
						            align-items: center; | 
					
					
						
						| 
							 | 
						            margin-bottom: 15px; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .task-icon { | 
					
					
						
						| 
							 | 
						            font-size: 24px; | 
					
					
						
						| 
							 | 
						            margin-right: 15px; | 
					
					
						
						| 
							 | 
						            color: #4CAF50; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .task-text { | 
					
					
						
						| 
							 | 
						            font-size: 18px; | 
					
					
						
						| 
							 | 
						            color: #333; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button:hover { | 
					
					
						
						| 
							 | 
						            opacity: 0.8; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .method-button.selected { | 
					
					
						
						| 
							 | 
						            border-color: #000000; | 
					
					
						
						| 
							 | 
						            box-shadow: 0 0 15px rgba(0, 0, 0, 0.3); | 
					
					
						
						| 
							 | 
						            transform: scale(1.05); | 
					
					
						
						| 
							 | 
						            animation: borderPulse 0.5s ease-in-out; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        @keyframes borderPulse { | 
					
					
						
						| 
							 | 
						            0% { border-color: transparent; } | 
					
					
						
						| 
							 | 
						            50% { border-color: #000000; } | 
					
					
						
						| 
							 | 
						            100% { border-color: #000000; } | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        button { | 
					
					
						
						| 
							 | 
						            background-color: #4CAF50; | 
					
					
						
						| 
							 | 
						            color: white; | 
					
					
						
						| 
							 | 
						            padding: 15px 30px; | 
					
					
						
						| 
							 | 
						            border: none; | 
					
					
						
						| 
							 | 
						            border-radius: 5px; | 
					
					
						
						| 
							 | 
						            cursor: pointer; | 
					
					
						
						| 
							 | 
						            font-size: 24px; | 
					
					
						
						| 
							 | 
						            transition: background-color 0.3s ease; | 
					
					
						
						| 
							 | 
						            margin-top: 20px; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        button:hover { | 
					
					
						
						| 
							 | 
						            background-color: #45a049; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						        .error-message { | 
					
					
						
						| 
							 | 
						            color: red; | 
					
					
						
						| 
							 | 
						            margin-bottom: 10px; | 
					
					
						
						| 
							 | 
						            font-size: 18px; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						    </style> | 
					
					
						
						| 
							 | 
						    <script> | 
					
					
						
						| 
							 | 
						        function shuffleArray(array) { | 
					
					
						
						| 
							 | 
						            for (let i = array.length - 1; i > 0; i--) { | 
					
					
						
						| 
							 | 
						                const j = Math.floor(Math.random() * (i + 1)); | 
					
					
						
						| 
							 | 
						                [array[i], array[j]] = [array[j], array[i]]; | 
					
					
						
						| 
							 | 
						            } | 
					
					
						
						| 
							 | 
						            return array; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						        function createMethodButtons() { | 
					
					
						
						| 
							 | 
						            const methods = [ | 
					
					
						
						| 
							 | 
						                { name: 'Chain-of-Table', color: '#1e90ff' }, | 
					
					
						
						| 
							 | 
						                { name: 'Plan-of-SQLs', color: '#e65100' }, | 
					
					
						
						| 
							 | 
						                { name: 'Text2SQL', color: '#7b1fa2' }, | 
					
					
						
						| 
							 | 
						                { name: 'Dater', color: '#4caf50' }, | 
					
					
						
						| 
							 | 
						                { name: 'No-XAI', color: '#ff9800' } | 
					
					
						
						| 
							 | 
						            ]; | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						            const shuffledMethods = shuffleArray(methods); | 
					
					
						
						| 
							 | 
						            const container = document.querySelector('.method-buttons'); | 
					
					
						
						| 
							 | 
						            container.innerHTML = '';  | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						            shuffledMethods.forEach(method => { | 
					
					
						
						| 
							 | 
						                if (method.name === 'No-XAI' && !{{ show_no_xai|tojson }}) { | 
					
					
						
						| 
							 | 
						                    return;  | 
					
					
						
						| 
							 | 
						                } | 
					
					
						
						| 
							 | 
						                const button = document.createElement('div'); | 
					
					
						
						| 
							 | 
						                button.className = `method-button ${method.name}`; | 
					
					
						
						| 
							 | 
						                button.onclick = () => selectMethod(method.name); | 
					
					
						
						| 
							 | 
						                button.textContent = method.name; | 
					
					
						
						| 
							 | 
						                container.appendChild(button); | 
					
					
						
						| 
							 | 
						            }); | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						        function selectMethod(method) { | 
					
					
						
						| 
							 | 
						            document.getElementById('method').value = method; | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						            var buttons = document.getElementsByClassName('method-button'); | 
					
					
						
						| 
							 | 
						            for (var i = 0; i < buttons.length; i++) { | 
					
					
						
						| 
							 | 
						                buttons[i].classList.remove('selected'); | 
					
					
						
						| 
							 | 
						            } | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						            var selectedButton = document.querySelector(`.method-button.${method}`); | 
					
					
						
						| 
							 | 
						            if (selectedButton) { | 
					
					
						
						| 
							 | 
						                selectedButton.classList.add('selected'); | 
					
					
						
						| 
							 | 
						            } | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						        function validateForm() { | 
					
					
						
						| 
							 | 
						            var username = document.getElementById('username').value; | 
					
					
						
						| 
							 | 
						            var seed = document.getElementById('seed').value; | 
					
					
						
						| 
							 | 
						            var method = document.getElementById('method').value; | 
					
					
						
						| 
							 | 
						            if (!username || !seed || !method) { | 
					
					
						
						| 
							 | 
						                alert("Please fill in all fields and select a method."); | 
					
					
						
						| 
							 | 
						                return false; | 
					
					
						
						| 
							 | 
						            } | 
					
					
						
						| 
							 | 
						            return true; | 
					
					
						
						| 
							 | 
						        } | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						         | 
					
					
						
						| 
							 | 
						        window.onload = function() { | 
					
					
						
						| 
							 | 
						            createMethodButtons(); | 
					
					
						
						| 
							 | 
						        }; | 
					
					
						
						| 
							 | 
						    </script> | 
					
					
						
						| 
							 | 
						    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet"> | 
					
					
						
						| 
							 | 
						</head> | 
					
					
						
						| 
							 | 
						<body> | 
					
					
						
						| 
							 | 
						    <div class="container"> | 
					
					
						
						| 
							 | 
						        <div class="task-instruction"> | 
					
					
						
						| 
							 | 
						            <h2>Let's Get Started! π</h2> | 
					
					
						
						| 
							 | 
						            <div class="task-step"> | 
					
					
						
						| 
							 | 
						                <span class="task-icon">π€</span> | 
					
					
						
						| 
							 | 
						                <span class="task-text">Enter your name</span> | 
					
					
						
						| 
							 | 
						            </div> | 
					
					
						
						| 
							 | 
						            <div class="task-step"> | 
					
					
						
						| 
							 | 
						                <span class="task-icon">π’</span> | 
					
					
						
						| 
							 | 
						                <span class="task-text">Choose a lucky number</span> | 
					
					
						
						| 
							 | 
						            </div> | 
					
					
						
						| 
							 | 
						            <div class="task-step"> | 
					
					
						
						| 
							 | 
						                <span class="task-icon">π</span> | 
					
					
						
						| 
							 | 
						                <span class="task-text">Select an explanation method</span> | 
					
					
						
						| 
							 | 
						            </div> | 
					
					
						
						| 
							 | 
						            <div class="task-step"> | 
					
					
						
						| 
							 | 
						                <span class="task-icon">π―</span> | 
					
					
						
						| 
							 | 
						                <span class="task-text">Complete 10 samples in the experiment</span> | 
					
					
						
						| 
							 | 
						            </div> | 
					
					
						
						| 
							 | 
						        </div> | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						        {% if error %} | 
					
					
						
						| 
							 | 
						        <div class="error-message"> | 
					
					
						
						| 
							 | 
						            {{ error }} | 
					
					
						
						| 
							 | 
						        </div> | 
					
					
						
						| 
							 | 
						        {% endif %} | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						        <form id="method-form" action="{{ url_for('index') }}" method="post" onsubmit="return validateForm();"> | 
					
					
						
						| 
							 | 
						            <label for="username">Hi there πππ ! What is your name?</label> | 
					
					
						
						| 
							 | 
						            <input type="text" id="username" name="username" required> | 
					
					
						
						| 
							 | 
						            <label for="seed">What is your lucky number? πππ </label> | 
					
					
						
						| 
							 | 
						            <input type="number" id="seed" name="seed" required> | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						            <input type="hidden" id="method" name="method" required> | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						            <h2 style="color: #333; margin-top: 30px; margin-bottom: 20px;">Explanation Methods</h2> | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						            <div class="method-buttons"> | 
					
					
						
						| 
							 | 
						                 | 
					
					
						
						| 
							 | 
						            </div> | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						            <button type="submit">Next</button> | 
					
					
						
						| 
							 | 
						        </form> | 
					
					
						
						| 
							 | 
						    </div> | 
					
					
						
						| 
							 | 
						</body> | 
					
					
						
						| 
							 | 
						</html> |