async function searchResults(keyword) { const results = []; const response = await fetchv2(`https://www.animesaturn.cx/animelist?search=${keyword}`); const html = await response.text(); const regex = /]*class="thumb image-wrapper">\s*]*alt="([^"]+)"/g; let match; while ((match = regex.exec(html)) !== null) { results.push({ title: match[3].trim(), image: match[2].trim(), href: match[1].trim() }); } return JSON.stringify(results); } async function extractDetails(url) { const results = []; const response = await fetchv2(url); const html = await response.text(); const descriptionRegex = /
([^<]+)<\/div>/; const descriptionMatch = html.match(descriptionRegex); const description = descriptionMatch ? descriptionMatch[1].trim() : 'N/A'; results.push({ description: description, aliases: 'N/A', airdate: 'N/A' }); return JSON.stringify(results); } async function extractEpisodes(url) { const results = []; const response = await fetchv2(url); const html = await response.text(); const episodeRegex = /\s*Episodio\s+(\d+)\s*<\/a>/gs; let match; while ((match = episodeRegex.exec(html)) !== null) { results.push({ href: match[1].trim(), number: parseInt(match[2], 10) }); } return JSON.stringify(results); } async function extractStreamUrl(url) { const response = await fetchv2(url); const html = await response.text(); const streamUrlRegex = /]+src="(https:\/\/[^">]+\.mp4)"/; const mp4Match = htmlTwo.match(mp4UrlRegex); return mp4Match ? mp4Match[1].trim() : null; }