javascript:(function()%7B(function%20()%20%7B%0A%20%20'use%20strict'%3B%0A%0A%20%20console.clear()%3B%0A%20%20console.log('%25c%F0%9F%8E%AF%20Google%20SMS%20QR%20Extractor%20Initialized'%2C%20'color%3A%20%231a73e8%3B%20font-size%3A%2016px%3B%20font-weight%3A%20bold%3B')%3B%0A%0A%20%20let%20smsData%20%3D%20null%3B%0A%20%20let%20isProcessing%20%3D%20false%3B%0A%0A%20%20%2F%2F%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%20%20%2F%2F%20PART%201%3A%20QR%20CODE%20HANDLER%20(if%20on%20main%20page)%0A%20%20%2F%2F%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0A%20%20function%20isQRCodePage()%20%7B%0A%20%20%20%20return%20window.location.href.includes('accounts.google.com')%20%26%26%0A%20%20%20%20%20%20document.querySelector('%5Bdata-qr-code%5D%2C%20img%5Balt*%3D%22QR%22%5D%2C%20canvas')%3B%0A%20%20%7D%0A%0A%20%20function%20isVerificationPage()%20%7B%0A%20%20%20%20return%20window.location.href.includes('devicephoneverification%2Fstart')%20%7C%7C%0A%20%20%20%20%20%20window.location.href.includes('devicephoneverification%2Fverify')%20%7C%7C%0A%20%20%20%20%20%20window.location.href.includes('DevicePhoneVerification')%3B%0A%20%20%7D%0A%0A%20%20if%20(isQRCodePage()%20%26%26%20!isVerificationPage())%20%7B%0A%20%20%20%20console.log('%F0%9F%93%B1%20QR%20Code%20page%20detected%20-%20Setting%20up%20click%20handler...')%3B%0A%0A%20%20%20%20%2F%2F%20Look%20for%20the%20verification%20link%20immediately%20and%20continuously%0A%20%20%20%20function%20findAndProcessVerificationLink()%20%7B%0A%20%20%20%20%20%20let%20verificationUrl%20%3D%20null%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Method%201%3A%20Check%20for%20links%20in%20DOM%0A%20%20%20%20%20%20const%20linkSelectors%20%3D%20%5B%0A%20%20%20%20%20%20%20%20'a%5Bhref*%3D%22devicephoneverification%22%5D'%2C%0A%20%20%20%20%20%20%20%20'a%5Bhref*%3D%22DevicePhoneVerification%22%5D'%2C%0A%20%20%20%20%20%20%20%20'a%5Bhref*%3D%22phoneVerification%22%5D'%2C%0A%20%20%20%20%20%20%20%20'%5Bdata-url*%3D%22devicephoneverification%22%5D'%2C%0A%20%20%20%20%20%20%20%20'%5Bdata-href*%3D%22devicephoneverification%22%5D'%0A%20%20%20%20%20%20%5D%3B%0A%0A%20%20%20%20%20%20for%20(const%20selector%20of%20linkSelectors)%20%7B%0A%20%20%20%20%20%20%20%20const%20element%20%3D%20document.querySelector(selector)%3B%0A%20%20%20%20%20%20%20%20if%20(element)%20%7B%0A%20%20%20%20%20%20%20%20%20%20verificationUrl%20%3D%20element.href%20%7C%7C%20element.dataset.url%20%7C%7C%20element.dataset.href%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(verificationUrl)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20URL%20in%20DOM%3A'%2C%20verificationUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Method%202%3A%20Search%20all%20links%0A%20%20%20%20%20%20if%20(!verificationUrl)%20%7B%0A%20%20%20%20%20%20%20%20const%20allLinks%20%3D%20document.querySelectorAll('a%5Bhref%5D')%3B%0A%20%20%20%20%20%20%20%20for%20(const%20link%20of%20allLinks)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(link.href%20%26%26%20(link.href.includes('devicephoneverification')%20%7C%7C%20link.href.includes('DevicePhoneVerification')))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20verificationUrl%20%3D%20link.href%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20URL%20in%20link%3A'%2C%20verificationUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Method%203%3A%20Search%20all%20data%20attributes%0A%20%20%20%20%20%20if%20(!verificationUrl)%20%7B%0A%20%20%20%20%20%20%20%20const%20allElements%20%3D%20document.querySelectorAll('%5Bdata-url%5D%2C%20%5Bdata-href%5D%2C%20%5Bdata-link%5D')%3B%0A%20%20%20%20%20%20%20%20for%20(const%20el%20of%20allElements)%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20dataUrl%20%3D%20el.dataset.url%20%7C%7C%20el.dataset.href%20%7C%7C%20el.dataset.link%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(dataUrl%20%26%26%20(dataUrl.includes('devicephoneverification')%20%7C%7C%20dataUrl.includes('DevicePhoneVerification')))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20verificationUrl%20%3D%20dataUrl%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20URL%20in%20data%20attribute%3A'%2C%20verificationUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Method%204%3A%20Search%20page%20HTML%20source%20for%20the%20URL%20pattern%0A%20%20%20%20%20%20if%20(!verificationUrl)%20%7B%0A%20%20%20%20%20%20%20%20const%20html%20%3D%20document.documentElement.outerHTML%3B%0A%20%20%20%20%20%20%20%20const%20match%20%3D%20html.match(%2Fhttps%3A%5C%2F%5C%2Faccounts%5C.google%5C.com%5C%2Fdevicephoneverification%5C%2Fstart%5C%3F%5B%5E%22'%5Cs%3C%3E%5D*%2F)%3B%0A%20%20%20%20%20%20%20%20if%20(match)%20%7B%0A%20%20%20%20%20%20%20%20%20%20verificationUrl%20%3D%20match%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20URL%20in%20page%20source%3A'%2C%20verificationUrl)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Method%205%3A%20Check%20window%20variables%0A%20%20%20%20%20%20if%20(!verificationUrl)%20%7B%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Try%20to%20find%20in%20global%20variables%0A%20%20%20%20%20%20%20%20%20%20const%20scripts%20%3D%20document.querySelectorAll('script')%3B%0A%20%20%20%20%20%20%20%20%20%20for%20(const%20script%20of%20scripts)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20content%20%3D%20script.textContent%20%7C%7C%20script.innerText%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20match%20%3D%20content.match(%2Fhttps%3A%5C%2F%5C%2Faccounts%5C.google%5C.com%5C%2Fdevicephoneverification%5C%2Fstart%5C%3F%5B%5E%22'%5Cs%5D*%2F)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(match)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20verificationUrl%20%3D%20match%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20URL%20in%20script%3A'%2C%20verificationUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('Could%20not%20search%20scripts%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Method%206%3A%20Try%20to%20decode%20QR%20code%20from%20image%0A%20%20%20%20%20%20if%20(!verificationUrl)%20%7B%0A%20%20%20%20%20%20%20%20const%20qrImages%20%3D%20document.querySelectorAll('img%5Bsrc*%3D%22data%3Aimage%22%5D%2C%20canvas%2C%20img%5Balt*%3D%22QR%22%5D')%3B%0A%20%20%20%20%20%20%20%20if%20(qrImages.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log(%60%F0%9F%93%B8%20Found%20%24%7BqrImages.length%7D%20potential%20QR%20code%20images%20-%20attempting%20to%20decode...%60)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Try%20to%20decode%20the%20QR%20code%0A%20%20%20%20%20%20%20%20%20%20decodeQRCode(qrImages)%3B%0A%20%20%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(verificationUrl)%20%7B%0A%20%20%20%20%20%20%20%20autoNavigateToVerification(verificationUrl)%3B%0A%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%0A%0A%20%20%20%20async%20function%20decodeQRCode(images)%20%7B%0A%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Attempting%20to%20decode%20QR%20code...')%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Try%20using%20BarcodeDetector%20API%20if%20available%20(Chrome%2C%20Edge)%0A%20%20%20%20%20%20if%20('BarcodeDetector'%20in%20window)%20%7B%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20barcodeDetector%20%3D%20new%20BarcodeDetector(%7B%20formats%3A%20%5B'qr_code'%5D%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20for%20(let%20img%20of%20images)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20barcodes%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(img.tagName%20%3D%3D%3D%20'CANVAS')%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20blob%20%3D%20await%20new%20Promise(resolve%20%3D%3E%20img.toBlob(resolve))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20bitmap%20%3D%20await%20createImageBitmap(blob)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20barcodes%20%3D%20await%20barcodeDetector.detect(bitmap)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20barcodes%20%3D%20await%20barcodeDetector.detect(img)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(barcodes%20%26%26%20barcodes.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20qrData%20%3D%20barcodes%5B0%5D.rawValue%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20QR%20Code%20decoded%3A'%2C%20qrData)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(qrData%20%26%26%20qrData.includes('devicephoneverification'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20autoNavigateToVerification(qrData)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20Could%20not%20decode%20this%20image%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20BarcodeDetector%20error%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Method%202%3A%20Try%20using%20online%20QR%20decoder%20API%0A%20%20%20%20%20%20console.log('%F0%9F%92%A1%20Trying%20online%20QR%20decoder%20API...')%3B%0A%0A%20%20%20%20%20%20for%20(let%20img%20of%20images)%20%7B%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20canvas%20%3D%20document.createElement('canvas')%3B%0A%20%20%20%20%20%20%20%20%20%20const%20ctx%20%3D%20canvas.getContext('2d')%3B%0A%0A%20%20%20%20%20%20%20%20%20%20if%20(img.tagName%20%3D%3D%3D%20'CANVAS')%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20canvas.width%20%3D%20img.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20canvas.height%20%3D%20img.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20ctx.drawImage(img%2C%200%2C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20canvas.width%20%3D%20img.naturalWidth%20%7C%7C%20img.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20canvas.height%20%3D%20img.naturalHeight%20%7C%7C%20img.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20ctx.drawImage(img%2C%200%2C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Convert%20to%20blob%0A%20%20%20%20%20%20%20%20%20%20const%20blob%20%3D%20await%20new%20Promise(resolve%20%3D%3E%20canvas.toBlob(resolve%2C%20'image%2Fpng'))%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Try%20api.qrserver.com%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%93%A1%20Sending%20to%20QR%20decoder%20API...')%3B%0A%0A%20%20%20%20%20%20%20%20%20%20const%20formData%20%3D%20new%20FormData()%3B%0A%20%20%20%20%20%20%20%20%20%20formData.append('file'%2C%20blob%2C%20'qr.png')%3B%0A%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20response%20%3D%20await%20fetch('https%3A%2F%2Fapi.qrserver.com%2Fv1%2Fread-qr-code%2F'%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20method%3A%20'POST'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20body%3A%20formData%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20result%20%3D%20await%20response.json()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('API%20Response%3A'%2C%20result)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(result%20%26%26%20result%5B0%5D%20%26%26%20result%5B0%5D.symbol%20%26%26%20result%5B0%5D.symbol%5B0%5D%20%26%26%20result%5B0%5D.symbol%5B0%5D.data)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20qrData%20%3D%20result%5B0%5D.symbol%5B0%5D.data%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20QR%20Code%20decoded%20via%20API%3A'%2C%20qrData)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(qrData.includes('devicephoneverification'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20autoNavigateToVerification(qrData)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(apiError)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20API%20decode%20failed%3A'%2C%20apiError)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Fallback%3A%20show%20image%20for%20manual%20scan%0A%20%20%20%20%20%20%20%20%20%20const%20dataUrl%20%3D%20canvas.toDataURL('image%2Fpng')%3B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%93%B8%20Showing%20QR%20code%20for%20manual%20scan')%3B%0A%20%20%20%20%20%20%20%20%20%20showQRInstructionsWithImage(dataUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%0A%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20Could%20not%20process%20image%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20showQRInstructions()%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20showQRInstructionsWithImage(dataUrl)%20%7B%0A%20%20%20%20%20%20const%20existing%20%3D%20document.getElementById('sms-extractor-instructions')%3B%0A%20%20%20%20%20%20if%20(existing)%20return%3B%0A%0A%20%20%20%20%20%20const%20instructionsDiv%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20instructionsDiv.id%20%3D%20'sms-extractor-instructions'%3B%0A%20%20%20%20%20%20instructionsDiv.style.cssText%20%3D%20%60%0A%20%20%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20%20%20top%3A%2050%25%3B%0A%20%20%20%20%20%20%20%20left%3A%2050%25%3B%0A%20%20%20%20%20%20%20%20transform%3A%20translate(-50%25%2C%20-50%25)%3B%0A%20%20%20%20%20%20%20%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%0A%20%20%20%20%20%20%20%20padding%3A%203px%3B%0A%20%20%20%20%20%20%20%20border-radius%3A%2016px%3B%0A%20%20%20%20%20%20%20%20box-shadow%3A%200%2020px%2060px%20rgba(0%2C%200%2C%200%2C%200.5)%3B%0A%20%20%20%20%20%20%20%20z-index%3A%202147483647%3B%0A%20%20%20%20%20%20%20%20font-family%3A%20-apple-system%2C%20BlinkMacSystemFont%2C%20'Segoe%20UI'%2C%20Roboto%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20width%3A%20500px%3B%0A%20%20%20%20%20%20%20%20max-width%3A%2090vw%3B%0A%20%20%20%20%20%20%20%20max-height%3A%2090vh%3B%0A%20%20%20%20%20%20%20%20overflow-y%3A%20auto%3B%0A%20%20%20%20%20%20%60%3B%0A%0A%20%20%20%20%20%20const%20content%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20content.style.cssText%20%3D%20%60%0A%20%20%20%20%20%20%20%20background%3A%20%231a1a2e%3B%0A%20%20%20%20%20%20%20%20border-radius%3A%2014px%3B%0A%20%20%20%20%20%20%20%20padding%3A%2032px%3B%0A%20%20%20%20%20%20%20%20color%3A%20%23ffffff%3B%0A%20%20%20%20%20%20%60%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Header%0A%20%20%20%20%20%20const%20header%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20header.style.cssText%20%3D%20'text-align%3A%20center%3B%20margin-bottom%3A%2024px%3B'%3B%0A%0A%20%20%20%20%20%20const%20emoji%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20emoji.style.cssText%20%3D%20'font-size%3A%2048px%3B%20margin-bottom%3A%2012px%3B'%3B%0A%20%20%20%20%20%20emoji.textContent%20%3D%20'%F0%9F%93%B1'%3B%0A%0A%20%20%20%20%20%20const%20title%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20title.style.cssText%20%3D%20'font-size%3A%2024px%3B%20font-weight%3A%20700%3B%20color%3A%20%23ffffff%3B%20margin-bottom%3A%208px%3B'%3B%0A%20%20%20%20%20%20title.textContent%20%3D%20'QR%20Code%20Found'%3B%0A%0A%20%20%20%20%20%20const%20subtitle%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20subtitle.style.cssText%20%3D%20'font-size%3A%2014px%3B%20color%3A%20%23a0a0b0%3B'%3B%0A%20%20%20%20%20%20subtitle.textContent%20%3D%20'Use%20your%20phone%20to%20scan%20and%20get%20the%20verification%20URL'%3B%0A%0A%20%20%20%20%20%20header.appendChild(emoji)%3B%0A%20%20%20%20%20%20header.appendChild(title)%3B%0A%20%20%20%20%20%20header.appendChild(subtitle)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20QR%20Image%20preview%0A%20%20%20%20%20%20const%20qrPreview%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20qrPreview.style.cssText%20%3D%20'text-align%3A%20center%3B%20margin-bottom%3A%2020px%3B%20padding%3A%2020px%3B%20background%3A%20rgba(255%2C255%2C255%2C0.05)%3B%20border-radius%3A%2012px%3B'%3B%0A%0A%20%20%20%20%20%20const%20qrImg%20%3D%20document.createElement('img')%3B%0A%20%20%20%20%20%20qrImg.src%20%3D%20dataUrl%3B%0A%20%20%20%20%20%20qrImg.style.cssText%20%3D%20'max-width%3A%20200px%3B%20max-height%3A%20200px%3B%20border-radius%3A%208px%3B'%3B%0A%0A%20%20%20%20%20%20const%20qrLabel%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20qrLabel.style.cssText%20%3D%20'margin-top%3A%2012px%3B%20font-size%3A%2013px%3B%20color%3A%20%23a0a0b0%3B'%3B%0A%20%20%20%20%20%20qrLabel.textContent%20%3D%20'%E2%98%9D%EF%B8%8F%20Scan%20this%20with%20your%20phone%20camera'%3B%0A%0A%20%20%20%20%20%20qrPreview.appendChild(qrImg)%3B%0A%20%20%20%20%20%20qrPreview.appendChild(qrLabel)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Instructions%20box%0A%20%20%20%20%20%20const%20mainBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20mainBox.style.cssText%20%3D%20'background%3A%20rgba(255%2C%20255%2C%20255%2C%200.05)%3B%20border-radius%3A%2012px%3B%20padding%3A%2020px%3B%20margin-bottom%3A%2020px%3B'%3B%0A%0A%20%20%20%20%20%20const%20chooseText%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20chooseText.style.cssText%20%3D%20'font-weight%3A%20600%3B%20margin-bottom%3A%2016px%3B%20color%3A%20%23ffffff%3B'%3B%0A%20%20%20%20%20%20chooseText.textContent%20%3D%20'After%20scanning%2C%20paste%20the%20URL%20below%3A'%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Input%20field%0A%20%20%20%20%20%20const%20input%20%3D%20document.createElement('input')%3B%0A%20%20%20%20%20%20input.type%20%3D%20'text'%3B%0A%20%20%20%20%20%20input.id%20%3D%20'manual-url-input'%3B%0A%20%20%20%20%20%20input.placeholder%20%3D%20'Paste%20verification%20URL%20here...'%3B%0A%20%20%20%20%20%20input.style.cssText%20%3D%20'width%3A%20100%25%3B%20padding%3A%2012px%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.08)%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.2)%3B%20border-radius%3A%208px%3B%20color%3A%20white%3B%20font-size%3A%2014px%3B%20margin-bottom%3A%2012px%3B%20box-sizing%3A%20border-box%3B'%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Submit%20button%0A%20%20%20%20%20%20const%20submitBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20%20%20submitBtn.id%20%3D%20'submit-manual-url'%3B%0A%20%20%20%20%20%20submitBtn.textContent%20%3D%20'%F0%9F%9A%80%20Go%20to%20Verification%20Page'%3B%0A%20%20%20%20%20%20submitBtn.style.cssText%20%3D%20'width%3A%20100%25%3B%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%20color%3A%20white%3B%20border%3A%20none%3B%20padding%3A%2014px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20font-size%3A%2014px%3B'%3B%0A%0A%20%20%20%20%20%20mainBox.appendChild(chooseText)%3B%0A%20%20%20%20%20%20mainBox.appendChild(input)%3B%0A%20%20%20%20%20%20mainBox.appendChild(submitBtn)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Close%20button%0A%20%20%20%20%20%20const%20closeBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20%20%20closeBtn.id%20%3D%20'close-instructions'%3B%0A%20%20%20%20%20%20closeBtn.textContent%20%3D%20'Close'%3B%0A%20%20%20%20%20%20closeBtn.style.cssText%20%3D%20'width%3A%20100%25%3B%20background%3A%20rgba(244%2C%2067%2C%2054%2C%200.2)%3B%20color%3A%20%23ef5350%3B%20border%3A%201px%20solid%20rgba(244%2C%2067%2C%2054%2C%200.3)%3B%20padding%3A%2012px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B'%3B%0A%0A%20%20%20%20%20%20content.appendChild(header)%3B%0A%20%20%20%20%20%20content.appendChild(qrPreview)%3B%0A%20%20%20%20%20%20content.appendChild(mainBox)%3B%0A%20%20%20%20%20%20content.appendChild(closeBtn)%3B%0A%20%20%20%20%20%20instructionsDiv.appendChild(content)%3B%0A%20%20%20%20%20%20document.body.appendChild(instructionsDiv)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Event%20listeners%0A%20%20%20%20%20%20submitBtn.addEventListener('click'%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20const%20url%20%3D%20input.value.trim()%3B%0A%20%20%20%20%20%20%20%20if%20(!url)%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Please%20paste%20a%20URL%20first'%2C%20'warning')%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(!url.includes('devicephoneverification'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20This%20doesn%5C't%20look%20like%20a%20verification%20URL'%2C%20'error')%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Using%20manual%20URL%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20instructionsDiv.remove()%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20Set%20flag%20for%20auto-activation%0A%20%20%20%20%20%20%20%20localStorage.setItem('sms_extractor_auto_activate'%2C%20'true')%3B%0A%20%20%20%20%20%20%20%20localStorage.setItem('sms_extractor_timestamp'%2C%20Date.now().toString())%3B%0A%20%20%20%20%20%20%20%20const%20newWindow%20%3D%20window.open(url%2C%20'_blank')%3B%0A%20%20%20%20%20%20%20%20if%20(!newWindow)%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Popup%20blocked!%20Please%20allow%20popups%20and%20try%20again.'%2C%20'error'%2C%205000)%3B%0A%20%20%20%20%20%20%20%20%20%20localStorage.removeItem('sms_extractor_auto_activate')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9C%85%20New%20tab%20opened!%20The%20script%20will%20auto-activate%20there.'%2C%20'success'%2C%204000)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20closeBtn.addEventListener('click'%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20instructionsDiv.remove()%3B%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20setTimeout(()%20%3D%3E%20input.focus()%2C%20100)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20showQRInstructions()%20%7B%0A%20%20%20%20%20%20const%20existing%20%3D%20document.getElementById('sms-extractor-instructions')%3B%0A%20%20%20%20%20%20if%20(existing)%20return%3B%0A%0A%20%20%20%20%20%20const%20instructionsDiv%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20instructionsDiv.id%20%3D%20'sms-extractor-instructions'%3B%0A%20%20%20%20%20%20instructionsDiv.style.cssText%20%3D%20%60%0A%20%20%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20%20%20top%3A%2050%25%3B%0A%20%20%20%20%20%20%20%20left%3A%2050%25%3B%0A%20%20%20%20%20%20%20%20transform%3A%20translate(-50%25%2C%20-50%25)%3B%0A%20%20%20%20%20%20%20%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%0A%20%20%20%20%20%20%20%20padding%3A%203px%3B%0A%20%20%20%20%20%20%20%20border-radius%3A%2016px%3B%0A%20%20%20%20%20%20%20%20box-shadow%3A%200%2020px%2060px%20rgba(0%2C%200%2C%200%2C%200.5)%3B%0A%20%20%20%20%20%20%20%20z-index%3A%202147483647%3B%0A%20%20%20%20%20%20%20%20font-family%3A%20-apple-system%2C%20BlinkMacSystemFont%2C%20'Segoe%20UI'%2C%20Roboto%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20width%3A%20500px%3B%0A%20%20%20%20%20%20%20%20max-width%3A%2090vw%3B%0A%20%20%20%20%20%20%60%3B%0A%0A%20%20%20%20%20%20const%20content%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20content.style.cssText%20%3D%20%60%0A%20%20%20%20%20%20%20%20background%3A%20%231a1a2e%3B%0A%20%20%20%20%20%20%20%20border-radius%3A%2014px%3B%0A%20%20%20%20%20%20%20%20padding%3A%2032px%3B%0A%20%20%20%20%20%20%20%20color%3A%20%23ffffff%3B%0A%20%20%20%20%20%20%60%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Header%20section%0A%20%20%20%20%20%20const%20header%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20header.style.cssText%20%3D%20'text-align%3A%20center%3B%20margin-bottom%3A%2024px%3B'%3B%0A%0A%20%20%20%20%20%20const%20emoji%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20emoji.style.cssText%20%3D%20'font-size%3A%2048px%3B%20margin-bottom%3A%2012px%3B'%3B%0A%20%20%20%20%20%20emoji.textContent%20%3D%20'%F0%9F%93%B1'%3B%0A%0A%20%20%20%20%20%20const%20title%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20title.style.cssText%20%3D%20'font-size%3A%2024px%3B%20font-weight%3A%20700%3B%20color%3A%20%23ffffff%3B%20margin-bottom%3A%208px%3B'%3B%0A%20%20%20%20%20%20title.textContent%20%3D%20'QR%20Code%20Detected'%3B%0A%0A%20%20%20%20%20%20const%20subtitle%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20subtitle.style.cssText%20%3D%20'font-size%3A%2014px%3B%20color%3A%20%23a0a0b0%3B'%3B%0A%20%20%20%20%20%20subtitle.textContent%20%3D%20'The%20verification%20URL%20is%20embedded%20in%20the%20QR%20code'%3B%0A%0A%20%20%20%20%20%20header.appendChild(emoji)%3B%0A%20%20%20%20%20%20header.appendChild(title)%3B%0A%20%20%20%20%20%20header.appendChild(subtitle)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Main%20content%20box%0A%20%20%20%20%20%20const%20mainBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20mainBox.style.cssText%20%3D%20'background%3A%20rgba(255%2C%20255%2C%20255%2C%200.05)%3B%20border-radius%3A%2012px%3B%20padding%3A%2020px%3B%20margin-bottom%3A%2020px%3B'%3B%0A%0A%20%20%20%20%20%20const%20chooseText%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20chooseText.style.cssText%20%3D%20'font-weight%3A%20600%3B%20margin-bottom%3A%2016px%3B%20color%3A%20%23ffffff%3B'%3B%0A%20%20%20%20%20%20chooseText.textContent%20%3D%20'Choose%20one%20option%3A'%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Option%201%0A%20%20%20%20%20%20const%20option1Box%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20option1Box.style.cssText%20%3D%20'margin-bottom%3A%2016px%3B%20padding%3A%2016px%3B%20background%3A%20rgba(102%2C%20126%2C%20234%2C%200.1)%3B%20border-radius%3A%208px%3B%20border-left%3A%203px%20solid%20%23667eea%3B'%3B%0A%0A%20%20%20%20%20%20const%20option1Title%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20option1Title.style.cssText%20%3D%20'font-weight%3A%20600%3B%20margin-bottom%3A%208px%3B%20color%3A%20%238b9cff%3B'%3B%0A%20%20%20%20%20%20option1Title.textContent%20%3D%20'%F0%9F%93%8B%20Option%201%3A%20Paste%20URL'%3B%0A%0A%20%20%20%20%20%20const%20option1Desc%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20option1Desc.style.cssText%20%3D%20'font-size%3A%2013px%3B%20color%3A%20%23b0b0c0%3B%20line-height%3A%201.5%3B'%3B%0A%20%20%20%20%20%20option1Desc.textContent%20%3D%20'If%20you%20have%20the%20verification%20URL%20from%20the%20QR%20code%2C%20paste%20it%20below'%3B%0A%0A%20%20%20%20%20%20option1Box.appendChild(option1Title)%3B%0A%20%20%20%20%20%20option1Box.appendChild(option1Desc)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Input%20field%0A%20%20%20%20%20%20const%20input%20%3D%20document.createElement('input')%3B%0A%20%20%20%20%20%20input.type%20%3D%20'text'%3B%0A%20%20%20%20%20%20input.id%20%3D%20'manual-url-input'%3B%0A%20%20%20%20%20%20input.placeholder%20%3D%20'Paste%20verification%20URL%20here...'%3B%0A%20%20%20%20%20%20input.style.cssText%20%3D%20'width%3A%20100%25%3B%20padding%3A%2012px%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.08)%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.2)%3B%20border-radius%3A%208px%3B%20color%3A%20white%3B%20font-size%3A%2014px%3B%20margin-bottom%3A%2012px%3B%20box-sizing%3A%20border-box%3B'%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Submit%20button%0A%20%20%20%20%20%20const%20submitBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20%20%20submitBtn.id%20%3D%20'submit-manual-url'%3B%0A%20%20%20%20%20%20submitBtn.textContent%20%3D%20'%F0%9F%9A%80%20Go%20to%20Verification%20Page'%3B%0A%20%20%20%20%20%20submitBtn.style.cssText%20%3D%20'width%3A%20100%25%3B%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%20color%3A%20white%3B%20border%3A%20none%3B%20padding%3A%2014px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20font-size%3A%2014px%3B%20margin-bottom%3A%2016px%3B'%3B%0A%0A%20%20%20%20%20%20%2F%2F%20OR%20divider%0A%20%20%20%20%20%20const%20orDiv%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20orDiv.style.cssText%20%3D%20'text-align%3A%20center%3B%20margin%3A%2016px%200%3B%20color%3A%20%23666%3B'%3B%0A%20%20%20%20%20%20const%20orSpan%20%3D%20document.createElement('span')%3B%0A%20%20%20%20%20%20orSpan.style.cssText%20%3D%20'background%3A%20%231a1a2e%3B%20padding%3A%200%2012px%3B'%3B%0A%20%20%20%20%20%20orSpan.textContent%20%3D%20'OR'%3B%0A%20%20%20%20%20%20orDiv.appendChild(orSpan)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Option%202%0A%20%20%20%20%20%20const%20option2Box%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20option2Box.style.cssText%20%3D%20'margin-bottom%3A%2016px%3B%20padding%3A%2016px%3B%20background%3A%20rgba(76%2C%20175%2C%2080%2C%200.1)%3B%20border-radius%3A%208px%3B%20border-left%3A%203px%20solid%20%234caf50%3B'%3B%0A%0A%20%20%20%20%20%20const%20option2Title%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20option2Title.style.cssText%20%3D%20'font-weight%3A%20600%3B%20margin-bottom%3A%208px%3B%20color%3A%20%2381c784%3B'%3B%0A%20%20%20%20%20%20option2Title.textContent%20%3D%20'%F0%9F%93%B8%20Option%202%3A%20Scan%20QR%20with%20Phone'%3B%0A%0A%20%20%20%20%20%20const%20option2Desc%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20option2Desc.style.cssText%20%3D%20'font-size%3A%2013px%3B%20color%3A%20%23b0b0c0%3B%20line-height%3A%201.5%3B'%3B%0A%20%20%20%20%20%20option2Desc.textContent%20%3D%20'1.%20Scan%20the%20QR%20code%20with%20your%20phone%5Cn2.%20Open%20the%20link%20on%20your%20phone%5Cn3.%20Run%20this%20script%20on%20that%20page'%3B%0A%20%20%20%20%20%20option2Desc.style.whiteSpace%20%3D%20'pre-line'%3B%0A%0A%20%20%20%20%20%20option2Box.appendChild(option2Title)%3B%0A%20%20%20%20%20%20option2Box.appendChild(option2Desc)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Assemble%20main%20box%0A%20%20%20%20%20%20mainBox.appendChild(chooseText)%3B%0A%20%20%20%20%20%20mainBox.appendChild(option1Box)%3B%0A%20%20%20%20%20%20mainBox.appendChild(input)%3B%0A%20%20%20%20%20%20mainBox.appendChild(submitBtn)%3B%0A%20%20%20%20%20%20mainBox.appendChild(orDiv)%3B%0A%20%20%20%20%20%20mainBox.appendChild(option2Box)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Close%20button%0A%20%20%20%20%20%20const%20closeBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20%20%20closeBtn.id%20%3D%20'close-instructions'%3B%0A%20%20%20%20%20%20closeBtn.textContent%20%3D%20'Close'%3B%0A%20%20%20%20%20%20closeBtn.style.cssText%20%3D%20'width%3A%20100%25%3B%20background%3A%20rgba(244%2C%2067%2C%2054%2C%200.2)%3B%20color%3A%20%23ef5350%3B%20border%3A%201px%20solid%20rgba(244%2C%2067%2C%2054%2C%200.3)%3B%20padding%3A%2012px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B'%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Assemble%20everything%0A%20%20%20%20%20%20content.appendChild(header)%3B%0A%20%20%20%20%20%20content.appendChild(mainBox)%3B%0A%20%20%20%20%20%20content.appendChild(closeBtn)%3B%0A%20%20%20%20%20%20instructionsDiv.appendChild(content)%3B%0A%20%20%20%20%20%20document.body.appendChild(instructionsDiv)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Event%20listeners%0A%20%20%20%20%20%20submitBtn.addEventListener('click'%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20const%20url%20%3D%20input.value.trim()%3B%0A%20%20%20%20%20%20%20%20if%20(!url)%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Please%20paste%20a%20URL%20first'%2C%20'warning')%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(!url.includes('devicephoneverification'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20This%20doesn%5C't%20look%20like%20a%20verification%20URL'%2C%20'error')%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Using%20manual%20URL%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20instructionsDiv.remove()%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20Set%20flag%20for%20auto-activation%0A%20%20%20%20%20%20%20%20localStorage.setItem('sms_extractor_auto_activate'%2C%20'true')%3B%0A%20%20%20%20%20%20%20%20localStorage.setItem('sms_extractor_timestamp'%2C%20Date.now().toString())%3B%0A%20%20%20%20%20%20%20%20const%20newWindow%20%3D%20window.open(url%2C%20'_blank')%3B%0A%20%20%20%20%20%20%20%20if%20(!newWindow)%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Popup%20blocked!%20Please%20allow%20popups%20and%20try%20again.'%2C%20'error'%2C%205000)%3B%0A%20%20%20%20%20%20%20%20%20%20localStorage.removeItem('sms_extractor_auto_activate')%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9C%85%20New%20tab%20opened!%20The%20script%20will%20auto-activate%20there.'%2C%20'success'%2C%204000)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20closeBtn.addEventListener('click'%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20instructionsDiv.remove()%3B%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Focus%20the%20input%0A%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20input.focus()%3B%0A%20%20%20%20%20%20%7D%2C%20100)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20injectScriptIntoWindow(targetWindow)%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Use%20eval()%20instead%20of%20textContent%20to%20avoid%20Trusted%20Types%20issues%0A%20%20%20%20%20%20%20%20%2F%2F%20First%2C%20create%20a%20function%20that%20will%20execute%20the%20script%0A%20%20%20%20%20%20%20%20const%20scriptContent%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20(function()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20'use%20strict'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.clear()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%25c%F0%9F%8E%AF%20Google%20SMS%20QR%20Extractor%20Initialized%20(Injected)'%2C%20'color%3A%20%231a73e8%3B%20font-size%3A%2016px%3B%20font-weight%3A%20bold%3B')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20smsData%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20isProcessing%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20function%20isVerificationPage()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20window.location.href.includes('devicephoneverification%2Fstart')%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.location.href.includes('DevicePhoneVerification')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(isVerificationPage())%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%8E%AF%20Verification%20page%20detected%20-%20Activating%20SMS%20capture...')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Method%201%3A%20Intercept%20SMS%20URL%20navigation%20attempts%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20handleSmsUrl%20%3D%20(url)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(!url%20%7C%7C%20!url.startsWith('sms%3A'))%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(isProcessing)%20return%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20isProcessing%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20URL%20captured%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20phoneNumber%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20messageBody%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20cleanUrl%20%3D%20url.replace(%2F%5Esms%3A%5C%2F%5C%2F%7C%5Esms%3A%2F%2C%20'')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20parts%20%3D%20cleanUrl.split('%3F')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20phoneNumber%20%3D%20decodeURIComponent(parts%5B0%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(parts%5B1%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20params%20%3D%20new%20URLSearchParams(parts%5B1%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20messageBody%20%3D%20params.get('body')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%93%9E%20Phone%3A'%2C%20phoneNumber)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%92%AC%20Message%3A'%2C%20messageBody)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20displayResults(phoneNumber%2C%20messageBody)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error('%E2%9D%8C%20Error%20parsing%20SMS%20URL%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.onbeforeunload%20%3D%20function()%20%7B%20return%20%22Processing...%22%3B%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener('click'%2C%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20anchor%20%3D%20e.target.closest('a')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(anchor%20%26%26%20anchor.href%20%26%26%20anchor.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.stopImmediatePropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(anchor.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Intercept%20location.assign%20safely%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20originalAssign%20%3D%20window.location.assign.bind(window.location)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Object.defineProperty(window.location%2C%20'assign'%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20function(url)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(handleSmsUrl(url))%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20originalAssign(url)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20writable%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20configurable%3A%20true%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20If%20we%20can't%20override%2C%20just%20intercept%20clicks%20and%20window.open%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('Could%20not%20override%20location.assign%2C%20using%20alternative%20methods')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20originalOpen%20%3D%20window.open%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.open%20%3D%20function(url%2C%20...args)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(url%20%26%26%20url.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(url)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20null%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20originalOpen.apply(this%2C%20%5Burl%2C%20...args%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20originalFetch%20%3D%20window.fetch%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.fetch%20%3D%20function(...args)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20typeof%20args%5B0%5D%20%3D%3D%3D%20'string'%20%3F%20args%5B0%5D%20%3A%20args%5B0%5D%3F.url%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20promise%20%3D%20originalFetch.apply(this%2C%20args)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(url.includes('%2FDevicePhoneVerificationUi%2Fdata%2Fbatchexecute'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20promise.then(async%20(response)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20clone%20%3D%20response.clone()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20text%20%3D%20await%20clone.text()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20lines%20%3D%20text.split('%5C%5Cn').filter(Boolean)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20payloadLine%20%3D%20lines.find(l%20%3D%3E%20l.trim().startsWith('%5B%5B'))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(payloadLine)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20arr%20%3D%20JSON.parse(payloadLine)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20wrb%20%3D%20arr%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20jsonStr%20%3D%20wrb%5B2%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20inner%20%3D%20JSON.parse(jsonStr)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneNumber%20%3D%20inner%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20messageBody%20%3D%20inner%5B1%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20data%20from%20API%3A'%2C%20%7B%20phoneNumber%2C%20messageBody%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(!smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20displayResults(phoneNumber%2C%20messageBody)%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%84%B9%EF%B8%8F%20Could%20not%20parse%20API%20response%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20response%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20promise%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20domObserver%20%3D%20new%20MutationObserver((mutations)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsData)%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20mutation%20of%20mutations)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20node%20of%20mutation.addedNodes)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(node.nodeType%20%3D%3D%3D%201)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(node.tagName%20%3D%3D%3D%20'A'%20%26%26%20node.href%20%26%26%20node.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(node.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20smsLinks%20%3D%20node.querySelectorAll%20%3F%20node.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%20%3A%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsLinks.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsLinks%5B0%5D.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20domObserver.observe(document.documentElement%2C%20%7B%20childList%3A%20true%2C%20subtree%3A%20true%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20autoClickAttempts%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20MAX_AUTO_CLICK_ATTEMPTS%20%3D%2030%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20autoClickSendSMS()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20data%20already%20captured%2C%20skipping%20auto-click')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(autoClickAttempts%20%3E%3D%20MAX_AUTO_CLICK_ATTEMPTS)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20Max%20attempts%20reached.')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20autoClickAttempts%2B%2B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20buttonSelectors%20%3D%20%5B'button'%2C%20'%5Brole%3D%22button%22%5D'%2C%20'a%5Bhref%5E%3D%22sms%3A%22%5D'%2C%20'%5Bdata-action*%3D%22sms%22%5D'%2C%20'%5Baria-label*%3D%22sms%22%20i%5D'%2C%20'%5Baria-label*%3D%22send%22%20i%5D'%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20buttons%20%3D%20Array.from(document.querySelectorAll(buttonSelectors.join('%2C%20')))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20sendButton%20%3D%20buttons.find(btn%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20text%20%3D%20(btn.textContent%20%7C%7C%20btn.innerText%20%7C%7C%20btn.getAttribute('aria-label')%20%7C%7C%20'').toLowerCase()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isVisible%20%3D%20btn.offsetWidth%20%3E%200%20%26%26%20btn.offsetHeight%20%3E%200%20%26%26%20window.getComputedStyle(btn).display%20!%3D%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isVisible%20%26%26%20(%2Fsend%5C%5Cs*(sms%7Ctext%7Cmessage)%2Fi.test(text)%20%7C%7C%20%2F%5Esend%24%2Fi.test(text.trim())%20%7C%7C%20btn.href%20%26%26%20btn.href.startsWith('sms%3A'))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(sendButton)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%8E%AF%20Found%20%22Send%20SMS%22%20button%2C%20clicking%20automatically...')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(sendButton.click)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sendButton.click()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20(sendButton.dispatchEvent)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20clickEvent%20%3D%20new%20MouseEvent('click'%2C%20%7B%20bubbles%3A%20true%2C%20cancelable%3A%20true%2C%20view%3A%20window%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sendButton.dispatchEvent(clickEvent)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(sendButton.href%20%26%26%20sendButton.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(sendButton.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error('Error%20clicking%20button%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(autoClickSendSMS%2C%201000)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(document.readyState%20%3D%3D%3D%20'complete')%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(autoClickSendSMS%2C%201000)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.addEventListener('load'%2C%20()%20%3D%3E%20setTimeout(autoClickSendSMS%2C%201000))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(document.readyState%20%3D%3D%3D%20'interactive')%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(autoClickSendSMS%2C%201500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20displayResults(phoneNumber%2C%20messageBody)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%5C%5Cn'%20%2B%20'%3D'.repeat(60))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%93%B1%20SMS%20VERIFICATION%20DETAILS')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%3D'.repeat(60))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%5C%60%F0%9F%93%9E%20Phone%20Number%3A%20%5C%24%7BphoneNumber%7D%5C%60)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%5C%60%F0%9F%92%AC%20Message%20Body%3A%5C%5Cn%5C%24%7BmessageBody%7D%5C%60)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%3D'.repeat(60)%20%2B%20'%5C%5Cn')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.onbeforeunload%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20existing%20%3D%20document.getElementById('sms-extractor-dashboard')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(existing)%20existing.remove()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20dashboard%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dashboard.id%20%3D%20'sms-extractor-dashboard'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dashboard.style.cssText%20%3D%20'position%3A%20fixed%3B%20top%3A%2050%25%3B%20left%3A%2050%25%3B%20transform%3A%20translate(-50%25%2C%20-50%25)%3B%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%20padding%3A%203px%3B%20border-radius%3A%2016px%3B%20box-shadow%3A%200%2020px%2060px%20rgba(0%2C%200%2C%200%2C%200.5)%3B%20z-index%3A%202147483647%3B%20font-family%3A%20-apple-system%2C%20BlinkMacSystemFont%2C%20%22Segoe%20UI%22%2C%20Roboto%2C%20sans-serif%3B%20width%3A%20520px%3B%20max-width%3A%2090vw%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20content%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content.style.cssText%20%3D%20'background%3A%20%231a1a2e%3B%20border-radius%3A%2014px%3B%20padding%3A%2032px%3B%20color%3A%20%23ffffff%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20centerDiv%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20centerDiv.style.cssText%20%3D%20'text-align%3A%20center%3B%20margin-bottom%3A%2024px%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20centerDiv.innerHTML%20%3D%20'%3Cdiv%20style%3D%22font-size%3A%2048px%3B%20margin-bottom%3A%2012px%3B%22%3E%E2%9C%85%3C%2Fdiv%3E%3Cdiv%20style%3D%22font-size%3A%2024px%3B%20font-weight%3A%20700%3B%20color%3A%20%23ffffff%3B%20margin-bottom%3A%208px%3B%22%3ESMS%20Details%20Captured!%3C%2Fdiv%3E%3Cdiv%20style%3D%22font-size%3A%2014px%3B%20color%3A%20%23a0a0b0%3B%22%3ECopy%20the%20information%20below%20to%20complete%20verification%3C%2Fdiv%3E'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20phoneBox.style.cssText%20%3D%20'background%3A%20rgba(255%2C%20255%2C%20255%2C%200.05)%3B%20border-radius%3A%2012px%3B%20padding%3A%2020px%3B%20margin-bottom%3A%2016px%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20phoneBox.innerHTML%20%3D%20%5C%60%3Cdiv%20style%3D%22color%3A%20%23a0a0b0%3B%20font-size%3A%2011px%3B%20text-transform%3A%20uppercase%3B%20letter-spacing%3A%201px%3B%20margin-bottom%3A%208px%3B%20font-weight%3A%20600%3B%22%3E%F0%9F%93%9E%20Phone%20Number%3C%2Fdiv%3E%3Cdiv%20style%3D%22display%3A%20flex%3B%20gap%3A%208px%3B%20align-items%3A%20center%3B%22%3E%3Cinput%20id%3D%22phone-input%22%20readonly%20value%3D%22%5C%24%7BphoneNumber%7D%22%20style%3D%22flex%3A%201%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.08)%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.1)%3B%20color%3A%20%23ffffff%3B%20padding%3A%2012px%2016px%3B%20border-radius%3A%208px%3B%20font-size%3A%2018px%3B%20font-weight%3A%20600%3B%20font-family%3A%20%5C%5C%22Courier%20New%5C%5C%22%2C%20monospace%3B%22%3E%3Cbutton%20id%3D%22copy-phone%22%20style%3D%22background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%20color%3A%20white%3B%20border%3A%20none%3B%20padding%3A%2012px%2020px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20font-size%3A%2014px%3B%22%3E%F0%9F%93%8B%20Copy%3C%2Fbutton%3E%3C%2Fdiv%3E%5C%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20messageBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20messageBox.style.cssText%20%3D%20'background%3A%20rgba(255%2C%20255%2C%20255%2C%200.05)%3B%20border-radius%3A%2012px%3B%20padding%3A%2020px%3B%20margin-bottom%3A%2024px%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20messageBox.innerHTML%20%3D%20%5C%60%3Cdiv%20style%3D%22color%3A%20%23a0a0b0%3B%20font-size%3A%2011px%3B%20text-transform%3A%20uppercase%3B%20letter-spacing%3A%201px%3B%20margin-bottom%3A%208px%3B%20font-weight%3A%20600%3B%22%3E%F0%9F%92%AC%20Message%20Text%20(all%20in%20one%20line%2C%20no%20line%20breaks)%3C%2Fdiv%3E%3Ctextarea%20id%3D%22message-input%22%20readonly%20style%3D%22width%3A%20100%25%3B%20height%3A%20100px%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.08)%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.1)%3B%20color%3A%20%23ffffff%3B%20padding%3A%2012px%2016px%3B%20border-radius%3A%208px%3B%20font-size%3A%2014px%3B%20resize%3A%20vertical%3B%20box-sizing%3A%20border-box%3B%20font-family%3A%20%5C%5C%22Courier%20New%5C%5C%22%2C%20monospace%3B%20line-height%3A%201.5%3B%22%3E%5C%24%7BmessageBody%7D%3C%2Ftextarea%3E%3Cbutton%20id%3D%22copy-message%22%20style%3D%22width%3A%20100%25%3B%20margin-top%3A%2012px%3B%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%20color%3A%20white%3B%20border%3A%20none%3B%20padding%3A%2014px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20font-size%3A%2014px%3B%22%3E%F0%9F%93%8B%20Copy%20Message%3C%2Fbutton%3E%5C%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20infoBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infoBox.style.cssText%20%3D%20'background%3A%20rgba(76%2C%20175%2C%2080%2C%200.1)%3B%20border%3A%201px%20solid%20rgba(76%2C%20175%2C%2080%2C%200.3)%3B%20border-radius%3A%208px%3B%20padding%3A%2012px%3B%20margin-bottom%3A%2020px%3B%20font-size%3A%2013px%3B%20color%3A%20%2381c784%3B%20line-height%3A%201.5%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infoBox.innerHTML%20%3D%20'%3Cstrong%3E%F0%9F%92%A1%20Next%20Step%3A%20%3C%2Fstrong%3ESend%20the%20message%20above%20to%20the%20phone%20number%20via%20your%20SMS%20app'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20buttonRow%20%3D%20document.createElement('div')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonRow.style.cssText%20%3D%20'display%3A%20flex%3B%20gap%3A%2012px%3B'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonRow.innerHTML%20%3D%20'%3Cbutton%20id%3D%22copy-all%22%20style%3D%22flex%3A%201%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.1)%3B%20color%3A%20white%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.2)%3B%20padding%3A%2012px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%22%3E%F0%9F%93%8B%20Copy%20Both%3C%2Fbutton%3E%3Cbutton%20id%3D%22close-dashboard%22%20style%3D%22background%3A%20rgba(244%2C%2067%2C%2054%2C%200.2)%3B%20color%3A%20%23ef5350%3B%20border%3A%201px%20solid%20rgba(244%2C%2067%2C%2054%2C%200.3)%3B%20padding%3A%2012px%2024px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%22%3EClose%3C%2Fbutton%3E'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content.appendChild(centerDiv)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content.appendChild(phoneBox)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content.appendChild(messageBox)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content.appendChild(infoBox)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20content.appendChild(buttonRow)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dashboard.appendChild(content)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.body.appendChild(dashboard)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20copyToClipboard(text%2C%20button)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20navigator.clipboard.writeText(text).then(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20originalText%20%3D%20button.textContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.textContent%20%3D%20'%E2%9C%85%20Copied!'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.background%20%3D%20'linear-gradient(135deg%2C%20%234caf50%200%25%2C%20%2345a049%20100%25)'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.textContent%20%3D%20originalText%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.background%20%3D%20'linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%202000)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D).catch(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20input%20%3D%20document.getElementById(button.id.replace('copy-'%2C%20'')%20%2B%20'-input')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(input)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20input.select()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.execCommand('copy')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.textContent%20%3D%20'%E2%9C%85%20Copied!'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById('copy-phone').addEventListener('click'%2C%20()%20%3D%3E%20copyToClipboard(phoneNumber%2C%20document.getElementById('copy-phone')))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById('copy-message').addEventListener('click'%2C%20()%20%3D%3E%20copyToClipboard(messageBody%2C%20document.getElementById('copy-message')))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById('copy-all').addEventListener('click'%2C%20()%20%3D%3E%20copyToClipboard(%5C%60Phone%3A%20%5C%24%7BphoneNumber%7D%5C%5Cn%5C%5CnMessage%3A%5C%5Cn%5C%24%7BmessageBody%7D%5C%60%2C%20document.getElementById('copy-all')))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById('close-dashboard').addEventListener('click'%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dashboard.style.transition%20%3D%20'opacity%200.3s%2C%20transform%200.3s'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dashboard.style.opacity%20%3D%20'0'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dashboard.style.transform%20%3D%20'translate(-50%25%2C%20-50%25)%20scale(0.9)'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20dashboard.remove()%2C%20300)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById('phone-input').select()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D)()%3B%0A%20%20%20%20%20%20%20%20%60%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Use%20eval()%20to%20avoid%20Trusted%20Types%20restrictions%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20targetWindow.eval(scriptContent)%3B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Script%20injected%20into%20new%20tab')%3B%0A%20%20%20%20%20%20%20%20%7D%20catch%20(evalError)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Fallback%3A%20try%20using%20Function%20constructor%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20scriptFunc%20%3D%20new%20targetWindow.Function(scriptContent)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20scriptFunc()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Script%20injected%20via%20Function%20constructor')%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(funcError)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Last%20resort%3A%20use%20blob%20URL%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20blob%20%3D%20new%20Blob(%5BscriptContent%5D%2C%20%7B%20type%3A%20'application%2Fjavascript'%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20URL.createObjectURL(blob)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20script%20%3D%20targetWindow.document.createElement('script')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20script.src%20%3D%20url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20targetWindow.document.head.appendChild(script)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Script%20injected%20via%20blob%20URL')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(blobError)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20throw%20new%20Error('All%20injection%20methods%20failed')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20console.error('%E2%9D%8C%20Error%20injecting%20script%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Could%20not%20inject%20script.%20Please%20run%20it%20manually%20on%20the%20new%20tab.'%2C%20'warning'%2C%208000)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20autoNavigateToVerification(url)%20%7B%0A%20%20%20%20%20%20console.log('%E2%9C%85%20Verification%20URL%20found%3A'%2C%20url)%3B%0A%20%20%20%20%20%20showNotification('%F0%9F%9A%80%20Opening%20verification%20page%20in%20new%20tab...'%2C%20'success'%2C%202000)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Set%20a%20flag%20in%20localStorage%20that%20the%20new%20tab%20should%20auto-activate%0A%20%20%20%20%20%20localStorage.setItem('sms_extractor_auto_activate'%2C%20'true')%3B%0A%20%20%20%20%20%20localStorage.setItem('sms_extractor_timestamp'%2C%20Date.now().toString())%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Open%20in%20new%20tab%0A%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%9A%80%20Opening%20verification%20page%20in%20new%20tab...')%3B%0A%20%20%20%20%20%20%20%20const%20newWindow%20%3D%20window.open(url%2C%20'_blank')%3B%0A%0A%20%20%20%20%20%20%20%20if%20(!newWindow)%20%7B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Popup%20blocked!%20Please%20allow%20popups%20and%20try%20again.'%2C%20'error'%2C%205000)%3B%0A%20%20%20%20%20%20%20%20%20%20localStorage.removeItem('sms_extractor_auto_activate')%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20showNotification('%E2%9C%85%20New%20tab%20opened!%20The%20script%20will%20auto-activate%20there.'%2C%20'success'%2C%204000)%3B%0A%20%20%20%20%20%20%7D%2C%20500)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Try%20to%20find%20the%20link%20immediately%0A%20%20%20%20if%20(!findAndProcessVerificationLink())%20%7B%0A%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Verification%20link%20not%20found%20yet%2C%20monitoring%20page...')%3B%0A%20%20%20%20%20%20showNotification('%F0%9F%94%8D%20Looking%20for%20QR%20verification%20link...'%2C%20'info'%2C%203000)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Keep%20trying%20every%20second%0A%20%20%20%20%20%20const%20checkInterval%20%3D%20setInterval(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20(findAndProcessVerificationLink())%20%7B%0A%20%20%20%20%20%20%20%20%20%20clearInterval(checkInterval)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%201000)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Also%20watch%20for%20DOM%20changes%0A%20%20%20%20%20%20const%20observer%20%3D%20new%20MutationObserver(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20(findAndProcessVerificationLink())%20%7B%0A%20%20%20%20%20%20%20%20%20%20observer.disconnect()%3B%0A%20%20%20%20%20%20%20%20%20%20clearInterval(checkInterval)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20observer.observe(document.body%2C%20%7B%20childList%3A%20true%2C%20subtree%3A%20true%20%7D)%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20%2F%2F%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%20%20%2F%2F%20PART%202%3A%20VERIFICATION%20PAGE%20HANDLER%0A%20%20%2F%2F%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0A%20%20%2F%2F%20Check%20if%20we%20should%20auto-activate%20(from%20localStorage%20flag%20or%20sessionStorage)%0A%20%20const%20shouldAutoActivate%20%3D%20isVerificationPage()%20%7C%7C%0A%20%20%20%20sessionStorage.getItem('sms_extractor_active')%20%7C%7C%0A%20%20%20%20localStorage.getItem('sms_extractor_auto_activate')%20%3D%3D%3D%20'true'%3B%0A%0A%20%20if%20(shouldAutoActivate)%20%7B%0A%20%20%20%20console.log('%25c%F0%9F%8E%AF%20VERIFICATION%20PAGE%20DETECTED!'%2C%20'color%3A%20%234caf50%3B%20font-size%3A%2020px%3B%20font-weight%3A%20bold%3B%20background%3A%20%231a1a1a%3B%20padding%3A%2010px%3B')%3B%0A%20%20%20%20console.log('%25c%F0%9F%93%B1%20SMS%20Interception%20is%20NOW%20ACTIVE'%2C%20'color%3A%20%232196f3%3B%20font-size%3A%2016px%3B%20font-weight%3A%20bold%3B')%3B%0A%20%20%20%20console.log('%25c%E2%9A%A1%20The%20script%20will%20automatically%20capture%20the%20SMS%20when%20you%20click%20%22Send%20SMS%22'%2C%20'color%3A%20%23ff9800%3B%20font-size%3A%2014px%3B')%3B%0A%20%20%20%20console.log('%F0%9F%8E%AF%20Verification%20page%20detected%20-%20Activating%20SMS%20capture...')%3B%0A%20%20%20%20sessionStorage.removeItem('sms_extractor_active')%3B%0A%20%20%20%20localStorage.removeItem('sms_extractor_auto_activate')%3B%0A%0A%20%20%20%20%2F%2F%20Method%201%3A%20Intercept%20SMS%20URL%20navigation%20attempts%0A%20%20%20%20const%20handleSmsUrl%20%3D%20(url)%20%3D%3E%20%7B%0A%20%20%20%20%20%20console.log('%F0%9F%94%8D%20handleSmsUrl%20called%20with%3A'%2C%20url%3F.substring(0%2C%20100))%3B%0A%20%20%20%20%20%20if%20(!url%20%7C%7C%20typeof%20url%20!%3D%3D%20'string')%20%7B%0A%20%20%20%20%20%20%20%20console.log('%20%20%20%E2%9D%8C%20Invalid%20URL')%3B%0A%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Check%20if%20it's%20an%20SMS%20URL%20(handle%20both%20sms%3A%20and%20sms%3A%2F%2F)%0A%20%20%20%20%20%20if%20(!url.startsWith('sms%3A')%20%26%26%20!url.startsWith('sms%3A%2F%2F'))%20%7B%0A%20%20%20%20%20%20%20%20console.log('%20%20%20%E2%9D%8C%20Not%20an%20SMS%20URL')%3B%0A%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(isProcessing)%20%7B%0A%20%20%20%20%20%20%20%20console.log('%20%20%20%E2%9A%A0%EF%B8%8F%20Already%20processing%20SMS%20data')%3B%0A%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20isProcessing%20%3D%20true%3B%0A%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20URL%20captured%3A'%2C%20url)%3B%0A%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Parse%20SMS%20URL%3A%20sms%3A%2F%2FNUMBER%3Fbody%3DMESSAGE%20or%20sms%3ANUMBER%3Fbody%3DMESSAGE%0A%20%20%20%20%20%20%20%20let%20phoneNumber%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20let%20messageBody%20%3D%20''%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Remove%20sms%3A%20or%20sms%3A%2F%2F%20prefix%0A%20%20%20%20%20%20%20%20let%20cleanUrl%20%3D%20url.replace(%2F%5Esms%3A%5C%2F%5C%2F%7C%5Esms%3A%2F%2C%20'')%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Split%20by%20%3F%20to%20separate%20number%20and%20params%0A%20%20%20%20%20%20%20%20const%20parts%20%3D%20cleanUrl.split('%3F')%3B%0A%20%20%20%20%20%20%20%20phoneNumber%20%3D%20decodeURIComponent(parts%5B0%5D)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Parse%20query%20parameters%0A%20%20%20%20%20%20%20%20if%20(parts%5B1%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20params%20%3D%20new%20URLSearchParams(parts%5B1%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20messageBody%20%3D%20params.get('body')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Decode%20the%20message%20body%0A%20%20%20%20%20%20%20%20%20%20messageBody%20%3D%20decodeURIComponent(messageBody)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%93%9E%20Phone%3A'%2C%20phoneNumber)%3B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%92%AC%20Message%3A'%2C%20messageBody)%3B%0A%0A%20%20%20%20%20%20%20%20if%20(phoneNumber%20%26%26%20messageBody)%20%7B%0A%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20displayResults(phoneNumber%2C%20messageBody)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20Incomplete%20SMS%20data%2C%20phone%3A'%2C%20phoneNumber%2C%20'message%3A'%2C%20messageBody)%3B%0A%20%20%20%20%20%20%20%20%20%20isProcessing%20%3D%20false%3B%20%2F%2F%20Allow%20retry%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20console.error('%E2%9D%8C%20Error%20parsing%20SMS%20URL%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Error%20parsing%20SMS%20data'%2C%20'error')%3B%0A%20%20%20%20%20%20%20%20isProcessing%20%3D%20false%3B%20%2F%2F%20Allow%20retry%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20CRITICAL%3A%20Intercept%20console%20messages%20-%20the%20browser%20logs%20%22Launched%20external%20handler%20for%20'sms%3A%2F%2F...'%22%0A%20%20%20%20%2F%2F%20This%20is%20our%20LAST%20RESORT%20to%20catch%20the%20SMS%20URL%20when%20all%20other%20methods%20fail%0A%20%20%20%20const%20originalLog%20%3D%20console.log.bind(console)%3B%0A%20%20%20%20const%20originalInfo%20%3D%20console.info%20%3F%20console.info.bind(console)%20%3A%20originalLog%3B%0A%20%20%20%20const%20originalWarn%20%3D%20console.warn%20%3F%20console.warn.bind(console)%20%3A%20originalLog%3B%0A%0A%20%20%20%20%2F%2F%20We%20need%20to%20be%20careful%20not%20to%20create%20infinite%20loops%0A%20%20%20%20let%20interceptingConsole%20%3D%20false%3B%0A%0A%20%20%20%20const%20checkConsoleForSms%20%3D%20function%20(...args)%20%7B%0A%20%20%20%20%20%20if%20(interceptingConsole%20%7C%7C%20smsData)%20return%3B%0A%20%20%20%20%20%20interceptingConsole%20%3D%20true%3B%0A%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20const%20message%20%3D%20args.map(arg%20%3D%3E%20String(arg)).join('%20')%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Check%20for%20browser's%20%22Launched%20external%20handler%22%20message%0A%20%20%20%20%20%20%20%20if%20(message.includes('Launched%20external%20handler')%20%7C%7C%20message.includes('sms%3A%2F%2F')%20%7C%7C%20message.includes('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20smsMatch%20%3D%20message.match(%2Fsms%3A%5C%2F%5C%2F(%5B%5E%5Cs'%22%3F%5D%2B)%5C%3Fbody%3D(%5B%5E%5Cs'%22%5D%2B)%2F)%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(smsMatch)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneNumber%20%3D%20decodeURIComponent(smsMatch%5B1%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20messageBody%20%3D%20decodeURIComponent(smsMatch%5B2%5D)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20originalLog('%F0%9F%8E%89%20CAUGHT%20SMS%20FROM%20BROWSER%20CONSOLE%20MESSAGE!')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20originalLog('%F0%9F%93%9E%20Phone%3A'%2C%20phoneNumber)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20originalLog('%F0%9F%92%AC%20Message%3A'%2C%20messageBody)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(!smsData%20%26%26%20phoneNumber%20%26%26%20messageBody)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20displayResults(phoneNumber%2C%20messageBody)%2C%20100)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Ignore%20errors%0A%20%20%20%20%20%20%7D%20finally%20%7B%0A%20%20%20%20%20%20%20%20interceptingConsole%20%3D%20false%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Override%20console%20methods%20(but%20keep%20originals%20for%20our%20own%20logging)%0A%20%20%20%20if%20(!window.__smsConsoleIntercepted)%20%7B%0A%20%20%20%20%20%20window.__smsConsoleIntercepted%20%3D%20true%3B%0A%0A%20%20%20%20%20%20console.log%20%3D%20function%20(...args)%20%7B%0A%20%20%20%20%20%20%20%20checkConsoleForSms(...args)%3B%0A%20%20%20%20%20%20%20%20return%20originalLog(...args)%3B%0A%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20console.info%20%3D%20function%20(...args)%20%7B%0A%20%20%20%20%20%20%20%20checkConsoleForSms(...args)%3B%0A%20%20%20%20%20%20%20%20return%20originalInfo(...args)%3B%0A%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20console.warn%20%3D%20function%20(...args)%20%7B%0A%20%20%20%20%20%20%20%20checkConsoleForSms(...args)%3B%0A%20%20%20%20%20%20%20%20return%20originalWarn(...args)%3B%0A%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20originalLog('%E2%9C%85%20Installed%20console%20message%20interceptor')%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Monitor%20for%20SMS%20URLs%20that%20might%20appear%20in%20various%20places%0A%20%20%20%20%2F%2F%20Since%20the%20browser%20launches%20external%20handlers%2C%20we%20need%20to%20catch%20the%20URL%20before%20it's%20used%0A%20%20%20%20%2F%2F%20We'll%20parse%20the%20SMS%20URL%20format%3A%20sms%3A%2F%2FNUMBER%3Fbody%3DMESSAGE%0A%0A%20%20%20%20%2F%2F%20Enhanced%20SMS%20URL%20parser%20that%20handles%20the%20format%20we%20see%3A%20sms%3A%2F%2F244444%3Fbody%3DSend%2520this%2520message...%0A%20%20%20%20const%20parseSmsUrlFromString%20%3D%20(str)%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20(!str%20%7C%7C%20typeof%20str%20!%3D%3D%20'string')%20return%20null%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Look%20for%20SMS%20URL%20patterns%0A%20%20%20%20%20%20const%20smsUrlMatch%20%3D%20str.match(%2Fsms%3A%5C%2F%5C%2F%5B%5E%5Cs%22'%5D%2B%7Csms%3A%5B%5E%5Cs%22'%5D%2B%2F)%3B%0A%20%20%20%20%20%20if%20(smsUrlMatch)%20%7B%0A%20%20%20%20%20%20%20%20const%20smsUrl%20%3D%20smsUrlMatch%5B0%5D%3B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Found%20SMS%20URL%20in%20string%3A'%2C%20smsUrl)%3B%0A%20%20%20%20%20%20%20%20return%20smsUrl%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Also%20look%20for%20the%20pattern%3A%20%22sms%3A%2F%2FNUMBER%3Fbody%3DMESSAGE%22%0A%20%20%20%20%20%20const%20smsPattern%20%3D%20%2Fsms%3A%5C%2F%5C%2F%3F(%5Cd%2B)%5C%3Fbody%3D(%5B%5E%5Cs%22'%5D%2B)%2F%3B%0A%20%20%20%20%20%20const%20match%20%3D%20str.match(smsPattern)%3B%0A%20%20%20%20%20%20if%20(match)%20%7B%0A%20%20%20%20%20%20%20%20const%20phoneNumber%20%3D%20match%5B1%5D%3B%0A%20%20%20%20%20%20%20%20const%20messageBody%20%3D%20decodeURIComponent(match%5B2%5D)%3B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Parsed%20SMS%20data%20from%20string%3A'%2C%20%7B%20phoneNumber%2C%20messageBody%20%7D)%3B%0A%20%20%20%20%20%20%20%20if%20(!smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20displayResults(phoneNumber%2C%20messageBody)%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20return%20null%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Monitor%20network%20requests%20for%20SMS%20URLs%0A%20%20%20%20const%20originalSend%20%3D%20XMLHttpRequest.prototype.send%3B%0A%20%20%20%20XMLHttpRequest.prototype.send%20%3D%20function%20(...args)%20%7B%0A%20%20%20%20%20%20this.addEventListener('load'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20if%20(smsData)%20return%3B%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20responseText%20%3D%20this.responseText%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20%20%20parseSmsUrlFromString(responseText)%3B%0A%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Can't%20access%20response%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20return%20originalSend.apply(this%2C%20args)%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Prevent%20page%20navigation%20on%20SMS%20click%20-%20but%20also%20check%20for%20SMS%20URL%20first!%0A%20%20%20%20window.addEventListener('beforeunload'%2C%20function%20(e)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Check%20if%20we're%20navigating%20to%20an%20SMS%20URL%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20const%20currentHref%20%3D%20window.location.href%3B%0A%20%20%20%20%20%20%20%20if%20(currentHref%20%26%26%20currentHref.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%9A%A8%20beforeunload%3A%20Caught%20SMS%20URL%20navigation!'%2C%20currentHref)%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(currentHref)%3B%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20e.returnValue%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20%20%20return%20''%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20catch%20(err)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Can't%20access%20location%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Also%20check%20for%20any%20SMS%20links%20that%20might%20have%20been%20created%0A%20%20%20%20%20%20const%20smsLinks%20%3D%20document.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20if%20(smsLinks.length%20%3E%200%20%26%26%20!smsData)%20%7B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%9A%A8%20beforeunload%3A%20Found%20SMS%20link%20before%20navigation!'%2C%20smsLinks%5B0%5D.href)%3B%0A%20%20%20%20%20%20%20%20handleSmsUrl(smsLinks%5B0%5D.href)%3B%0A%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20e.returnValue%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20return%20''%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(!smsData)%20%7B%0A%20%20%20%20%20%20%20%20e.returnValue%20%3D%20'Processing...'%3B%0A%20%20%20%20%20%20%20%20return%20'Processing...'%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%20true)%3B%0A%0A%20%20%20%20%2F%2F%20Intercept%20all%20click%20events%20-%20use%20capture%20phase%20to%20catch%20early%0A%20%20%20%20document.addEventListener('click'%2C%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%2F%2F%20Check%20if%20clicked%20element%20or%20any%20parent%20has%20SMS%20href%0A%20%20%20%20%20%20let%20element%20%3D%20e.target%3B%0A%20%20%20%20%20%20while%20(element%20%26%26%20element%20!%3D%3D%20document)%20%7B%0A%20%20%20%20%20%20%20%20if%20(element.tagName%20%3D%3D%3D%20'A'%20%26%26%20element.href%20%26%26%20element.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20e.stopImmediatePropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(element.href)%3B%0A%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%2F%2F%20Also%20check%20for%20buttons%20that%20might%20trigger%20SMS%0A%20%20%20%20%20%20%20%20if%20(element.tagName%20%3D%3D%3D%20'BUTTON'%20%7C%7C%20element.getAttribute('role')%20%3D%3D%3D%20'button')%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20smsLink%20%3D%20element.querySelector('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(smsLink)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20e.stopImmediatePropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsLink.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20element%20%3D%20element.parentElement%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%20true)%3B%20%2F%2F%20Use%20capture%20phase%0A%0A%20%20%20%20%2F%2F%20Also%20intercept%20mousedown%20and%20touchstart%20for%20earlier%20interception%0A%20%20%20%20%5B'mousedown'%2C%20'touchstart'%5D.forEach(eventType%20%3D%3E%20%7B%0A%20%20%20%20%20%20document.addEventListener(eventType%2C%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20const%20anchor%20%3D%20e.target.closest('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20if%20(anchor)%20%7B%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20e.stopImmediatePropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(anchor.href)%3B%0A%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%20true)%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%2F%2F%20Intercept%20any%20attempts%20to%20navigate%20to%20SMS%20URLs%20via%20various%20methods%0A%20%20%20%20%2F%2F%20This%20is%20a%20catch-all%20for%20when%20SMS%20URLs%20are%20opened%20programmatically%0A%20%20%20%20const%20interceptSmsNavigation%20%3D%20(url)%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20(url%20%26%26%20typeof%20url%20%3D%3D%3D%20'string'%20%26%26%20url.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%9A%A8%20SMS%20navigation%20detected%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20handleSmsUrl(url)%3B%0A%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Intercept%20window.open%20(this%20works%20reliably)%0A%20%20%20%20const%20originalOpen%20%3D%20window.open%3B%0A%20%20%20%20window.open%20%3D%20function%20(url%2C%20...args)%20%7B%0A%20%20%20%20%20%20console.log('%F0%9F%94%8D%20window.open%20called%20with%3A'%2C%20url%3F.substring(0%2C%20100))%3B%0A%20%20%20%20%20%20if%20(url%20%26%26%20typeof%20url%20%3D%3D%3D%20'string'%20%26%26%20url.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Intercepted%20SMS%20URL%20via%20window.open%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20handleSmsUrl(url)%3B%0A%20%20%20%20%20%20%20%20return%20null%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20originalOpen.apply(this%2C%20%5Burl%2C%20...args%5D)%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20CRITICAL%3A%20Intercept%20Navigation%20API%20(modern%20browsers)%0A%20%20%20%20%2F%2F%20This%20catches%20browser-level%20navigations%20that%20bypass%20all%20other%20methods%0A%20%20%20%20if%20('navigation'%20in%20window)%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20window.navigation.addEventListener('navigate'%2C%20(event)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20event.destination%3F.url%3B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Navigation%20API%3A%20navigate%20event%20to%3A'%2C%20url%3F.substring(0%2C%20100))%3B%0A%0A%20%20%20%20%20%20%20%20%20%20if%20(url%20%26%26%20url.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Intercepted%20SMS%20URL%20via%20Navigation%20API%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20event.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20event.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20event.stopImmediatePropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(url)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Installed%20Navigation%20API%20interceptor')%3B%0A%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20console.log('%E2%84%B9%EF%B8%8F%20Could%20not%20install%20Navigation%20API%20interceptor%3A'%2C%20e.message)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Also%20intercept%20popstate%20events%20(for%20history%20navigation)%0A%20%20%20%20window.addEventListener('popstate'%2C%20(event)%20%3D%3E%20%7B%0A%20%20%20%20%20%20const%20currentUrl%20%3D%20window.location.href%3B%0A%20%20%20%20%20%20if%20(currentUrl%20%26%26%20currentUrl.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Intercepted%20SMS%20URL%20via%20popstate%3A'%2C%20currentUrl)%3B%0A%20%20%20%20%20%20%20%20handleSmsUrl(currentUrl)%3B%0A%20%20%20%20%20%20%20%20event.preventDefault()%3B%0A%20%20%20%20%20%20%20%20event.stopPropagation()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%20true)%3B%0A%0A%20%20%20%20%2F%2F%20Intercept%20hashchange%20events%0A%20%20%20%20window.addEventListener('hashchange'%2C%20(event)%20%3D%3E%20%7B%0A%20%20%20%20%20%20const%20newUrl%20%3D%20event.newURL%3B%0A%20%20%20%20%20%20if%20(newUrl%20%26%26%20newUrl.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Intercepted%20SMS%20URL%20via%20hashchange%3A'%2C%20newUrl)%3B%0A%20%20%20%20%20%20%20%20event.preventDefault()%3B%0A%20%20%20%20%20%20%20%20handleSmsUrl(newUrl)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%20true)%3B%0A%0A%20%20%20%20%2F%2F%20Intercept%20any%20attempts%20to%20navigate%20to%20SMS%20URLs%20via%20location%0A%20%20%20%20%2F%2F%20This%20is%20a%20last-resort%20catch-all%0A%20%20%20%20const%20checkLocationForSms%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20const%20href%20%3D%20window.location.href%3B%0A%20%20%20%20%20%20%20%20if%20(href%20%26%26%20href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%9A%A8%20SMS%20URL%20detected%20in%20location.href%3A'%2C%20href)%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(href)%3B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Prevent%20navigation%0A%20%20%20%20%20%20%20%20%20%20history.back()%3B%0A%20%20%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Can't%20access%2C%20that's%20okay%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Monitor%20location%20changes%0A%20%20%20%20let%20lastHref%20%3D%20window.location.href%3B%0A%20%20%20%20setInterval(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20(smsData)%20return%3B%0A%20%20%20%20%20%20const%20currentHref%20%3D%20window.location.href%3B%0A%20%20%20%20%20%20if%20(currentHref%20!%3D%3D%20lastHref)%20%7B%0A%20%20%20%20%20%20%20%20lastHref%20%3D%20currentHref%3B%0A%20%20%20%20%20%20%20%20if%20(currentHref.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%9A%A8%20Location%20changed%20to%20SMS%20URL%3A'%2C%20currentHref)%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(currentHref)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%2050)%3B%0A%0A%20%20%20%20%2F%2F%20Try%20to%20intercept%20location.assign%20(may%20fail%20in%20some%20browsers%2C%20that's%20okay)%0A%20%20%20%20try%20%7B%0A%20%20%20%20%20%20const%20originalAssign%20%3D%20window.location.assign.bind(window.location)%3B%0A%20%20%20%20%20%20Object.defineProperty(window.location%2C%20'assign'%2C%20%7B%0A%20%20%20%20%20%20%20%20value%3A%20function%20(url)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(handleSmsUrl(url))%20return%3B%0A%20%20%20%20%20%20%20%20%20%20return%20originalAssign(url)%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20writable%3A%20true%2C%0A%20%20%20%20%20%20%20%20configurable%3A%20true%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20console.log('%E2%9C%85%20Installed%20location.assign%20interceptor')%3B%0A%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%2F%2F%20If%20we%20can't%20override%2C%20that's%20fine%20-%20we%20have%20other%20methods%0A%20%20%20%20%20%20console.log('%E2%84%B9%EF%B8%8F%20Could%20not%20override%20location.assign%2C%20using%20alternative%20methods')%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20CRITICAL%3A%20Intercept%20location.href%20setter%20(this%20is%20what%20Google%20uses!)%0A%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%2F%2F%20Get%20the%20original%20descriptor%20from%20Location.prototype%0A%20%20%20%20%20%20const%20originalHrefDescriptor%20%3D%20Object.getOwnPropertyDescriptor(Location.prototype%2C%20'href')%3B%0A%0A%20%20%20%20%20%20if%20(originalHrefDescriptor%20%26%26%20originalHrefDescriptor.set)%20%7B%0A%20%20%20%20%20%20%20%20Object.defineProperty(Location.prototype%2C%20'href'%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20set%3A%20function%20(url)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20location.href%20setter%20called%20with%3A'%2C%20url%3F.substring(0%2C%20100))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(url%20%26%26%20typeof%20url%20%3D%3D%3D%20'string'%20%26%26%20url.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Intercepted%20SMS%20URL%20via%20location.href%20setter%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(url)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%20%2F%2F%20Don't%20actually%20navigate%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20originalHrefDescriptor.set.call(this%2C%20url)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20get%3A%20originalHrefDescriptor.get%2C%0A%20%20%20%20%20%20%20%20%20%20configurable%3A%20true%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Installed%20location.href%20setter%20interceptor')%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20console.log('%E2%84%B9%EF%B8%8F%20Could%20not%20override%20location.href%20setter%3A'%2C%20e.message)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Also%20intercept%20location.replace%0A%20%20%20%20try%20%7B%0A%20%20%20%20%20%20const%20originalReplace%20%3D%20window.location.replace.bind(window.location)%3B%0A%20%20%20%20%20%20window.location.replace%20%3D%20function%20(url)%20%7B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20location.replace%20called%20with%3A'%2C%20url%3F.substring(0%2C%20100))%3B%0A%20%20%20%20%20%20%20%20if%20(handleSmsUrl(url))%20return%3B%0A%20%20%20%20%20%20%20%20return%20originalReplace(url)%3B%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20console.log('%E2%9C%85%20Installed%20location.replace%20interceptor')%3B%0A%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20console.log('%E2%84%B9%EF%B8%8F%20Could%20not%20override%20location.replace')%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Watch%20for%20SMS%20URLs%20in%20the%20page%20source%20and%20network%0A%20%20%20%20%2F%2F%20Some%20sites%20create%20SMS%20links%20that%20get%20opened%20immediately%0A%20%20%20%20const%20checkForSmsUrls%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20(smsData)%20return%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Check%20all%20links%20on%20the%20page%0A%20%20%20%20%20%20const%20allLinks%20%3D%20document.querySelectorAll('a%5Bhref%5D')%3B%0A%20%20%20%20%20%20for%20(const%20link%20of%20allLinks)%20%7B%0A%20%20%20%20%20%20%20%20if%20(link.href%20%26%26%20link.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20SMS%20link%20during%20periodic%20check%3A'%2C%20link.href)%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(link.href)%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Check%20if%20any%20element%20has%20SMS%20URL%20in%20its%20onclick%20or%20data%20attributes%0A%20%20%20%20%20%20const%20elementsWithSms%20%3D%20document.querySelectorAll('%5Bonclick*%3D%22sms%3A%22%5D%2C%20%5Bdata-href*%3D%22sms%3A%22%5D%2C%20%5Bdata-url*%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20for%20(const%20el%20of%20elementsWithSms)%20%7B%0A%20%20%20%20%20%20%20%20const%20onclick%20%3D%20el.getAttribute('onclick')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20const%20dataHref%20%3D%20el.getAttribute('data-href')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20const%20dataUrl%20%3D%20el.getAttribute('data-url')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20const%20smsUrl%20%3D%20onclick.match(%2Fsms%3A%5B%5E%5Cs%22'%5D%2B%2F)%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20dataHref.match(%2Fsms%3A%5B%5E%5Cs%22'%5D%2B%2F)%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20dataUrl.match(%2Fsms%3A%5B%5E%5Cs%22'%5D%2B%2F)%3B%0A%20%20%20%20%20%20%20%20if%20(smsUrl)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20SMS%20URL%20in%20element%20attribute%3A'%2C%20smsUrl%5B0%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsUrl%5B0%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Run%20periodic%20check%20every%20500ms%0A%20%20%20%20const%20smsCheckInterval%20%3D%20setInterval(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20(!smsData)%20%7B%0A%20%20%20%20%20%20%20%20checkForSmsUrls()%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20clearInterval(smsCheckInterval)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%20500)%3B%0A%0A%20%20%20%20%2F%2F%20Stop%20checking%20after%2030%20seconds%0A%20%20%20%20setTimeout(()%20%3D%3E%20clearInterval(smsCheckInterval)%2C%2030000)%3B%0A%0A%20%20%20%20%2F%2F%20Method%202%3A%20Intercept%20fetch%20to%20catch%20batchexecute%20API%0A%20%20%20%20const%20originalFetch%20%3D%20window.fetch%3B%0A%20%20%20%20window.fetch%20%3D%20function%20(...args)%20%7B%0A%20%20%20%20%20%20const%20url%20%3D%20typeof%20args%5B0%5D%20%3D%3D%3D%20'string'%20%3F%20args%5B0%5D%20%3A%20args%5B0%5D%3F.url%20%7C%7C%20''%3B%0A%0A%20%20%20%20%20%20const%20promise%20%3D%20originalFetch.apply(this%2C%20args)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Intercept%20ALL%20API%20calls%20that%20might%20contain%20SMS%20data%0A%20%20%20%20%20%20if%20(url.includes('%2FDevicePhoneVerificationUi%2Fdata%2Fbatchexecute')%20%7C%7C%0A%20%20%20%20%20%20%20%20url.includes('batchexecute')%20%7C%7C%0A%20%20%20%20%20%20%20%20url.includes('DevicePhoneVerification')%20%7C%7C%0A%20%20%20%20%20%20%20%20url.includes('devicephoneverification')%20%7C%7C%0A%20%20%20%20%20%20%20%20url.includes('phoneverification'))%20%7B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Intercepting%20API%20call%3A'%2C%20url)%3B%0A%20%20%20%20%20%20%20%20return%20promise.then(async%20(response)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20clone%20%3D%20response.clone()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20text%20%3D%20await%20clone.text()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%93%A1%20API%20Response%20received%2C%20length%3A'%2C%20text.length)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Log%20a%20preview%20of%20the%20response%20for%20debugging%20(first%201000%20chars)%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(text.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%93%84%20API%20Response%20preview%3A'%2C%20text.substring(0%2C%20Math.min(1000%2C%20text.length)))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20First%2C%20try%20to%20find%20SMS%20URL%20directly%20in%20the%20response%20(multiple%20patterns)%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20smsUrlPatterns%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fsms%3A%5C%2F%5C%2F%5B%5E%5Cs%22'%5D%2B%2Fg%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fsms%3A%5B%5E%5Cs%22'%5D%2B%2Fg%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%22sms%5B%5E%22%5D*%22%2Fg%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F'sms%5B%5E'%5D*'%2Fg%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fsms%253A%5B%5E%5Cs%22'%5D%2B%2Fg%20%20%2F%2F%20URL%20encoded%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20pattern%20of%20smsUrlPatterns)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20matches%20%3D%20text.match(pattern)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(matches%20%26%26%20matches.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20smsUrl%20%3D%20matches%5B0%5D.replace(%2F%5E%5B%22'%5D%7C%5B%22'%5D%24%2Fg%2C%20'')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Decode%20URL%20encoding%20if%20needed%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsUrl.includes('%253A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsUrl%20%3D%20decodeURIComponent(smsUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20SMS%20URL%20in%20API%20response%3A'%2C%20smsUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20response%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Also%20try%20to%20extract%20phone%20number%20and%20body%20separately%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Pattern%3A%20phone%20number%20followed%20by%20body%2Fmessage%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Try%20multiple%20patterns%20to%20catch%20different%20formats%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneBodyPatterns%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fsms%3A%5C%2F%5C%2F%3F(%5Cd%2B)%5C%3Fbody%3D(%5B%5E%5Cs%22'%5D%2B)%2Fi%2C%20%20%2F%2F%20sms%3A%2F%2F244444%3Fbody%3Dmessage%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fsms%3A%5C%2F%5C%2F%3F(%5Cd%2B)%5C%3Fbody%253D(%5B%5E%5Cs%22'%5D%2B)%2Fi%2C%20%2F%2F%20URL%20encoded%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F(%5Cd%7B4%2C15%7D)%5B%5E%22%5D*body%5B%3D%3A%5D(%5B%5E%22%26%5Cs%5D%2B)%2Fi%2C%20%20%2F%2F%20Generic%20pattern%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%22(%5Cd%2B)%22%5B%5E%22%5D*%22(%5B%5E%22%5D%2B)%22%2F%2C%20%20%2F%2F%20JSON%20format%20with%20phone%20and%20message%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20pattern%20of%20phoneBodyPatterns)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20match%20%3D%20text.match(pattern)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(match%20%26%26%20match.length%20%3E%3D%203)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneNumber%20%3D%20match%5B1%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20messageBody%20%3D%20decodeURIComponent(match%5B2%5D.replace(%2F%5C%2B%2Fg%2C%20'%20'))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Extracted%20SMS%20data%20from%20API%20pattern%3A'%2C%20%7B%20phoneNumber%2C%20messageBody%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(!smsData%20%26%26%20phoneNumber.match(%2F%5Cd%2F)%20%26%26%20messageBody.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20displayResults(phoneNumber%2C%20messageBody)%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20response%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Also%20try%20to%20find%20phone%20number%20and%20message%20in%20separate%20parts%20of%20the%20response%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Look%20for%20patterns%20like%3A%20%5B%22244444%22%2C%20%22Send%20this%20message...%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20arrayPattern%20%3D%20%2F%5C%5B%22(%5Cd%2B)%22%2C%22(%5B%5E%22%5D%2B)%22%2F%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20arrayMatch%20%3D%20text.match(arrayPattern)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(arrayMatch%20%26%26%20arrayMatch.length%20%3E%3D%203)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneNumber%20%3D%20arrayMatch%5B1%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20messageBody%20%3D%20arrayMatch%5B2%5D.replace(%2F%5C%5Cn%2Fg%2C%20'%5Cn').replace(%2F%5C%5C%22%2Fg%2C%20'%22')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Extracted%20SMS%20data%20from%20array%20pattern%3A'%2C%20%7B%20phoneNumber%2C%20messageBody%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(!smsData%20%26%26%20phoneNumber.match(%2F%5Cd%2F)%20%26%26%20messageBody.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20displayResults(phoneNumber%2C%20messageBody)%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20response%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Try%20parsing%20structured%20response%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20lines%20%3D%20text.split('%5Cn').filter(Boolean)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20payloadLine%20%3D%20lines.find(l%20%3D%3E%20l.trim().startsWith('%5B%5B'))%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(payloadLine)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%93%A6%20Found%20payload%20line%2C%20parsing...')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20arr%20%3D%20JSON.parse(payloadLine)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(arr%20%26%26%20arr%5B0%5D%20%26%26%20arr%5B0%5D%5B2%5D)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20jsonStr%20%3D%20arr%5B0%5D%5B2%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20inner%20%3D%20JSON.parse(jsonStr)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20if%20this%20contains%20SMS%20data%20(phone%20number%20and%20message)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(inner%20%26%26%20Array.isArray(inner)%20%26%26%20inner.length%20%3E%3D%202)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneNumber%20%3D%20String(inner%5B0%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20messageBody%20%3D%20String(inner%5B1%5D)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Validate%20phone%20number%20(contains%20digits)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(phoneNumber.match(%2F%5Cd%2F)%20%26%26%20messageBody.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20data%20extracted%20from%20API%3A'%2C%20%7B%20phoneNumber%2C%20messageBody%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(!smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20displayResults(phoneNumber%2C%20messageBody)%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20response%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Also%20check%20if%20inner%20contains%20SMS%20URL%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20innerStr%20%3D%20JSON.stringify(inner)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20smsMatch%20%3D%20innerStr.match(%2Fsms%3A%5B%5E%5Cs%22'%5D%2B%2F)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsMatch)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20SMS%20URL%20in%20inner%20data%3A'%2C%20smsMatch%5B0%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsMatch%5B0%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20response%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%84%B9%EF%B8%8F%20API%20response%20structure%3A'%2C%20inner)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(parseError)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20Error%20parsing%20payload%3A'%2C%20parseError)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Last%20resort%3A%20search%20entire%20response%20for%20phone%20number%20patterns%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20phonePattern%20%3D%20%2F(%5C%2B%3F%5Cd%7B1%2C4%7D%5B%5Cs-%5D%3F)%3F%5C(%3F%5Cd%7B3%7D%5C)%3F%5B%5Cs-%5D%3F%5Cd%7B3%7D%5B%5Cs-%5D%3F%5Cd%7B4%7D%2F%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneMatch%20%3D%20text.match(phonePattern)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(phoneMatch%20%26%26%20text.length%20%3C%2010000)%20%7B%20%2F%2F%20Only%20for%20reasonable%20response%20sizes%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Found%20phone%20number%20pattern%20in%20response%2C%20checking%20for%20SMS%20data...')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Look%20for%20message%20pattern%20near%20phone%20number%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneIndex%20%3D%20text.indexOf(phoneMatch%5B0%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20context%20%3D%20text.substring(Math.max(0%2C%20phoneIndex%20-%20200)%2C%20Math.min(text.length%2C%20phoneIndex%20%2B%20500))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20messageMatch%20%3D%20context.match(%2Fbody%5B%3D%3A%5D(%5B%5E%26%5Cs%22'%5D%2B)%2Fi)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(messageMatch)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20phoneNumber%20%3D%20phoneMatch%5B0%5D.replace(%2F%5B%5Cs-()%5D%2Fg%2C%20'')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20messageBody%20%3D%20decodeURIComponent(messageMatch%5B1%5D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Extracted%20SMS%20data%20from%20context%3A'%2C%20%7B%20phoneNumber%2C%20messageBody%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(!smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsData%20%3D%20%7B%20phoneNumber%2C%20messageBody%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20displayResults(phoneNumber%2C%20messageBody)%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9D%8C%20Error%20parsing%20API%20response%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20preview%20%3D%20(await%20clone.text()).substring(0%2C%201000)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%20%20%20Response%20preview%3A'%2C%20preview)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%20%20%20Could%20not%20get%20response%20preview')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20return%20response%3B%0A%20%20%20%20%20%20%20%20%7D).catch(error%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9D%8C%20Error%20intercepting%20API%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20return%20promise%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20return%20promise%3B%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Method%203%3A%20DOM%20observer%20for%20dynamically%20created%20SMS%20links%20AND%20intercept%20href%20changes%0A%20%20%20%20const%20domObserver%20%3D%20new%20MutationObserver((mutations)%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20(smsData)%20return%3B%0A%0A%20%20%20%20%20%20for%20(const%20mutation%20of%20mutations)%20%7B%0A%20%20%20%20%20%20%20%20for%20(const%20node%20of%20mutation.addedNodes)%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(node.nodeType%20%3D%3D%3D%201)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20if%20it's%20an%20anchor%20with%20SMS%20href%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(node.tagName%20%3D%3D%3D%20'A'%20%26%26%20node.href%20%26%26%20node.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20link%20detected%20in%20DOM%3A'%2C%20node.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Capture%20the%20href%20IMMEDIATELY%20before%20anything%20else%20can%20use%20it%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20originalHref%20%3D%20node.href%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Handle%20it%20immediately%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(originalHref)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20CRITICAL%3A%20Prevent%20the%20link%20from%20being%20clicked%20by%20removing%2Fdisabling%20it%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Method%201%3A%20Remove%20the%20href%20to%20prevent%20navigation%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.removeAttribute('href')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.href%20%3D%20'javascript%3Avoid(0)'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('Could%20not%20remove%20href%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Method%202%3A%20Add%20multiple%20layers%20of%20click%20prevention%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20preventClick%20%3D%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%9B%91%20Prevented%20SMS%20link%20click')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.stopImmediatePropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Add%20listeners%20in%20capture%20phase%20(highest%20priority)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.addEventListener('click'%2C%20preventClick%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.addEventListener('mousedown'%2C%20preventClick%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.addEventListener('mouseup'%2C%20preventClick%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.addEventListener('touchstart'%2C%20preventClick%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.addEventListener('touchend'%2C%20preventClick%2C%20true)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Method%203%3A%20Hide%20the%20link%20visually%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.style.visibility%20%3D%20'hidden'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.style.pointerEvents%20%3D%20'none'%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Method%204%3A%20Remove%20from%20DOM%20entirely%20(most%20aggressive)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(node.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.parentNode.removeChild(node)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%97%91%EF%B8%8F%20Removed%20SMS%20link%20from%20DOM%20to%20prevent%20browser%20dialog')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('Could%20not%20remove%20node%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%200)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20descendants%20and%20add%20interceptors%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20smsLinks%20%3D%20node.querySelectorAll%20%3F%20node.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%20%3A%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsLinks.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%60%E2%9C%85%20Found%20%24%7BsmsLinks.length%7D%20SMS%20link(s)%20in%20new%20node%60)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Capture%20the%20FIRST%20link%20immediately%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20firstLink%20%3D%20smsLinks%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20smsUrl%20%3D%20firstLink.href%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsUrl)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Disable%20ALL%20SMS%20links%20to%20prevent%20browser%20dialog%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsLinks.forEach(link%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20preventClick%20%3D%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%9B%91%20Prevented%20SMS%20link%20click')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.stopImmediatePropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Remove%20href%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.removeAttribute('href')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.href%20%3D%20'javascript%3Avoid(0)'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Add%20event%20listeners%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.addEventListener('click'%2C%20preventClick%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.addEventListener('mousedown'%2C%20preventClick%2C%20true)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.addEventListener('mouseup'%2C%20preventClick%2C%20true)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Hide%20and%20disable%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.style.pointerEvents%20%3D%20'none'%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Remove%20from%20DOM%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(link.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.parentNode.removeChild(link)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Also%20check%20if%20this%20node%20is%20a%20button%20that%20might%20trigger%20SMS%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20((node.tagName%20%3D%3D%3D%20'BUTTON'%20%7C%7C%20node.getAttribute('role')%20%3D%3D%3D%20'button')%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.querySelector%20%26%26%20node.querySelector('a%5Bhref%5E%3D%22sms%3A%22%5D'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20smsLinkInButton%20%3D%20node.querySelector('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20link%20found%20in%20button%3A'%2C%20smsLinkInButton.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsLinkInButton.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Also%20watch%20for%20attribute%20changes%20(href%20changes)%0A%20%20%20%20%20%20%20%20if%20(mutation.type%20%3D%3D%3D%20'attributes'%20%26%26%20mutation.attributeName%20%3D%3D%3D%20'href')%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20target%20%3D%20mutation.target%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(target.tagName%20%3D%3D%3D%20'A'%20%26%26%20target.href%20%26%26%20target.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20href%20attribute%20changed%3A'%2C%20target.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(target.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20domObserver.observe(document.documentElement%2C%20%7B%0A%20%20%20%20%20%20childList%3A%20true%2C%0A%20%20%20%20%20%20subtree%3A%20true%2C%0A%20%20%20%20%20%20attributes%3A%20true%2C%0A%20%20%20%20%20%20attributeFilter%3A%20%5B'href'%5D%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%2F%2F%20Also%20periodically%20check%20for%20SMS%20links%20(fallback)%20-%20VERY%20AGGRESSIVE%0A%20%20%20%20const%20periodicCheck%20%3D%20setInterval(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20(smsData)%20%7B%0A%20%20%20%20%20%20%20%20clearInterval(periodicCheck)%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20const%20allSmsLinks%20%3D%20document.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20if%20(allSmsLinks.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20console.log(%60%E2%9C%85%20Periodic%20check%20found%20%24%7BallSmsLinks.length%7D%20SMS%20link(s)%60)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Capture%20the%20first%20one%0A%20%20%20%20%20%20%20%20const%20smsUrl%20%3D%20allSmsLinks%5B0%5D.href%3B%0A%20%20%20%20%20%20%20%20handleSmsUrl(smsUrl)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Remove%20ALL%20SMS%20links%20immediately%20to%20prevent%20browser%20dialog%0A%20%20%20%20%20%20%20%20allSmsLinks.forEach(link%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Remove%20href%0A%20%20%20%20%20%20%20%20%20%20%20%20link.removeAttribute('href')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20link.href%20%3D%20'javascript%3Avoid(0)'%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Hide%0A%20%20%20%20%20%20%20%20%20%20%20%20link.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20link.style.pointerEvents%20%3D%20'none'%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Remove%20from%20DOM%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(link.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.parentNode.removeChild(link)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%97%91%EF%B8%8F%20Removed%20SMS%20link%20from%20DOM%20(periodic%20check)')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('Could%20not%20remove%20link%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20clearInterval(periodicCheck)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%20100)%3B%20%2F%2F%20Check%20every%20100ms%20for%20faster%20detection%0A%0A%20%20%20%20%2F%2F%20Stop%20periodic%20check%20after%2030%20seconds%0A%20%20%20%20setTimeout(()%20%3D%3E%20clearInterval(periodicCheck)%2C%2030000)%3B%0A%0A%20%20%20%20%2F%2F%20Also%20intercept%20any%20existing%20SMS%20links%20on%20the%20page%20-%20IMMEDIATE%20SCAN%0A%20%20%20%20const%20scanAndRemoveSmsLinks%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20const%20existingSmsLinks%20%3D%20document.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20if%20(existingSmsLinks.length%20%3E%200%20%26%26%20!smsData)%20%7B%0A%20%20%20%20%20%20%20%20console.log(%60%F0%9F%94%8D%20Found%20%24%7BexistingSmsLinks.length%7D%20existing%20SMS%20link(s)%20on%20page%60)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Capture%20the%20first%20one%0A%20%20%20%20%20%20%20%20const%20smsUrl%20%3D%20existingSmsLinks%5B0%5D.href%3B%0A%20%20%20%20%20%20%20%20handleSmsUrl(smsUrl)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Remove%20ALL%20SMS%20links%0A%20%20%20%20%20%20%20%20existingSmsLinks.forEach(link%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Remove%20href%0A%20%20%20%20%20%20%20%20%20%20%20%20link.removeAttribute('href')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20link.href%20%3D%20'javascript%3Avoid(0)'%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Hide%0A%20%20%20%20%20%20%20%20%20%20%20%20link.style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20link.style.pointerEvents%20%3D%20'none'%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Remove%20from%20DOM%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(link.parentNode)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20link.parentNode.removeChild(link)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%97%91%EF%B8%8F%20Removed%20existing%20SMS%20link%20from%20DOM')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('Could%20not%20remove%20link%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20%2F%2F%20Scan%20immediately%0A%20%20%20%20scanAndRemoveSmsLinks()%3B%0A%0A%20%20%20%20%2F%2F%20Scan%20again%20after%20a%20short%20delay%20(in%20case%20links%20are%20added%20dynamically)%0A%20%20%20%20setTimeout(scanAndRemoveSmsLinks%2C%2050)%3B%0A%20%20%20%20setTimeout(scanAndRemoveSmsLinks%2C%20100)%3B%0A%20%20%20%20setTimeout(scanAndRemoveSmsLinks%2C%20200)%3B%0A%0A%20%20%20%20%2F%2F%20Auto-click%20%22Send%20SMS%22%20button%20after%20page%20loads%0A%20%20%20%20let%20autoClickAttempts%20%3D%200%3B%0A%20%20%20%20const%20MAX_AUTO_CLICK_ATTEMPTS%20%3D%2030%3B%20%2F%2F%20Try%20for%2030%20seconds%20max%0A%0A%20%20%20%20function%20autoClickSendSMS()%20%7B%0A%20%20%20%20%20%20if%20(smsData)%20%7B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20data%20already%20captured%2C%20skipping%20auto-click')%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(autoClickAttempts%20%3E%3D%20MAX_AUTO_CLICK_ATTEMPTS)%20%7B%0A%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20Max%20attempts%20reached.%20Please%20click%20%22Send%20SMS%22%20manually.')%3B%0A%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Auto-click%20timeout.%20Please%20click%20%22Send%20SMS%22%20button%20manually.'%2C%20'warning'%2C%205000)%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20autoClickAttempts%2B%2B%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Try%20multiple%20selectors%20for%20the%20Send%20SMS%20button%0A%20%20%20%20%20%20const%20buttonSelectors%20%3D%20%5B%0A%20%20%20%20%20%20%20%20'button'%2C%0A%20%20%20%20%20%20%20%20'%5Brole%3D%22button%22%5D'%2C%0A%20%20%20%20%20%20%20%20'a%5Bhref%5E%3D%22sms%3A%22%5D'%2C%0A%20%20%20%20%20%20%20%20'%5Bdata-action*%3D%22sms%22%5D'%2C%0A%20%20%20%20%20%20%20%20'%5Baria-label*%3D%22sms%22%20i%5D'%2C%0A%20%20%20%20%20%20%20%20'%5Baria-label*%3D%22send%22%20i%5D'%2C%0A%20%20%20%20%20%20%20%20'%5Bjsname%5D'%2C%20%2F%2F%20Google%20often%20uses%20jsname%0A%20%20%20%20%20%20%20%20'%5Bjsaction%5D'%2C%20%2F%2F%20Google%20uses%20jsaction%0A%20%20%20%20%20%20%20%20'div%5Brole%3D%22button%22%5D'%2C%0A%20%20%20%20%20%20%20%20'span%5Brole%3D%22button%22%5D'%0A%20%20%20%20%20%20%5D%3B%0A%0A%20%20%20%20%20%20const%20buttons%20%3D%20Array.from(document.querySelectorAll(buttonSelectors.join('%2C%20')))%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Debug%3A%20Log%20all%20buttons%20found%20(only%20on%20first%20few%20attempts)%0A%20%20%20%20%20%20if%20(autoClickAttempts%20%3C%3D%203)%20%7B%0A%20%20%20%20%20%20%20%20console.log(%60%F0%9F%94%8D%20Found%20%24%7Bbuttons.length%7D%20potential%20buttons.%20Checking...%60)%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20Log%20more%20details%20about%20visible%20buttons%0A%20%20%20%20%20%20%20%20const%20visibleButtons%20%3D%20buttons.filter(b%20%3D%3E%20b.offsetWidth%20%3E%200%20%26%26%20b.offsetHeight%20%3E%200).slice(0%2C%2020)%3B%0A%20%20%20%20%20%20%20%20visibleButtons.forEach((btn%2C%20idx)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20text%20%3D%20(btn.textContent%20%7C%7C%20btn.innerText%20%7C%7C%20btn.getAttribute('aria-label')%20%7C%7C%20btn.getAttribute('title')%20%7C%7C%20'').trim()%3B%0A%20%20%20%20%20%20%20%20%20%20const%20ariaLabel%20%3D%20btn.getAttribute('aria-label')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20%20%20const%20jsaction%20%3D%20btn.getAttribute('jsaction')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20%20%20const%20jsname%20%3D%20btn.getAttribute('jsname')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20%20%20console.log(%60%20%20Button%20%24%7Bidx%20%2B%201%7D%3A%20%22%24%7Btext.substring(0%2C%2050)%7D%22%20%7C%20tag%3A%20%24%7Bbtn.tagName%7D%20%7C%20aria%3A%20%22%24%7BariaLabel.substring(0%2C%2030)%7D%22%20%7C%20jsname%3A%20%24%7Bjsname%7D%20%7C%20size%3A%20%24%7Bbtn.offsetWidth%7Dx%24%7Bbtn.offsetHeight%7D%60)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Look%20for%20SMS%20link%20first%20(most%20reliable)%0A%20%20%20%20%20%20const%20smsLink%20%3D%20document.querySelector('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20if%20(smsLink)%20%7B%0A%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20SMS%20link%20directly%3A'%2C%20smsLink.href)%3B%0A%20%20%20%20%20%20%20%20const%20parentButton%20%3D%20smsLink.closest('button%2C%20%5Brole%3D%22button%22%5D')%3B%0A%20%20%20%20%20%20%20%20const%20sendButton%20%3D%20parentButton%20%7C%7C%20smsLink%3B%0A%20%20%20%20%20%20%20%20if%20(sendButton)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%8E%AF%20Found%20%22Send%20SMS%22%20button%20via%20SMS%20link%2C%20clicking%20automatically...')%3B%0A%20%20%20%20%20%20%20%20%20%20showNotification('%F0%9F%93%B1%20Auto-clicking%20%22Send%20SMS%22%20button...'%2C%20'info'%2C%202000)%3B%0A%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsLink.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9C%85%20Clicked%20%22Send%20SMS%22%20-%20Extracting%20SMS%20data...'%2C%20'success'%2C%203000)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error('Error%20handling%20SMS%20link%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%20500)%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%2F%2F%20Try%20to%20find%20button%20by%20text%20content%20-%20exclude%20large%20elements%20like%20BODY%2C%20HTML%2C%20MAIN%2C%20etc.%0A%20%20%20%20%20%20%2F%2F%20First%2C%20filter%20to%20only%20reasonable%20button%20candidates%0A%20%20%20%20%20%20const%20candidateButtons%20%3D%20buttons.filter(btn%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Skip%20large%20container%20elements%0A%20%20%20%20%20%20%20%20if%20(%5B'BODY'%2C%20'HTML'%2C%20'MAIN'%2C%20'C-WIZ'%5D.includes(btn.tagName))%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Skip%20very%20large%20DIVs%20(likely%20containers)%0A%20%20%20%20%20%20%20%20if%20(btn.tagName%20%3D%3D%3D%20'DIV'%20%26%26%20(btn.offsetWidth%20%3E%20500%20%7C%7C%20btn.offsetHeight%20%3E%20500%20%7C%7C%20(btn.textContent%20%26%26%20btn.textContent.length%20%3E%20200)))%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20const%20isVisible%20%3D%20btn.offsetWidth%20%3E%200%20%26%26%20btn.offsetHeight%20%3E%200%20%26%26%0A%20%20%20%20%20%20%20%20%20%20window.getComputedStyle(btn).display%20!%3D%3D%20'none'%20%26%26%0A%20%20%20%20%20%20%20%20%20%20window.getComputedStyle(btn).visibility%20!%3D%3D%20'hidden'%3B%0A%0A%20%20%20%20%20%20%20%20if%20(!isVisible)%20return%20false%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Must%20be%20a%20button-like%20element%0A%20%20%20%20%20%20%20%20const%20isButtonTag%20%3D%20btn.tagName%20%3D%3D%3D%20'BUTTON'%3B%0A%20%20%20%20%20%20%20%20const%20hasButtonRole%20%3D%20btn.getAttribute('role')%20%3D%3D%3D%20'button'%3B%0A%20%20%20%20%20%20%20%20const%20jsaction%20%3D%20btn.getAttribute('jsaction')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20const%20isClickable%20%3D%20isButtonTag%20%7C%7C%20hasButtonRole%20%7C%7C%20jsaction.includes('click')%3B%0A%0A%20%20%20%20%20%20%20%20if%20(!isClickable)%20return%20false%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Size%20check%20-%20buttons%20are%20usually%20reasonably%20sized%0A%20%20%20%20%20%20%20%20const%20reasonableSize%20%3D%20btn.offsetWidth%20%3E%2030%20%26%26%20btn.offsetWidth%20%3C%20500%20%26%26%0A%20%20%20%20%20%20%20%20%20%20btn.offsetHeight%20%3E%2015%20%26%26%20btn.offsetHeight%20%3C%20200%3B%0A%0A%20%20%20%20%20%20%20%20return%20reasonableSize%3B%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20Now%20look%20for%20SMS-related%20buttons%20among%20candidates%0A%20%20%20%20%20%20const%20sendButton%20%3D%20candidateButtons.find(btn%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Get%20all%20text%20sources%0A%20%20%20%20%20%20%20%20const%20textContent%20%3D%20(btn.textContent%20%7C%7C%20btn.innerText%20%7C%7C%20'').toLowerCase().trim()%3B%0A%20%20%20%20%20%20%20%20const%20ariaLabel%20%3D%20(btn.getAttribute('aria-label')%20%7C%7C%20'').toLowerCase()%3B%0A%20%20%20%20%20%20%20%20const%20title%20%3D%20(btn.getAttribute('title')%20%7C%7C%20'').toLowerCase()%3B%0A%20%20%20%20%20%20%20%20const%20allText%20%3D%20%60%24%7BtextContent%7D%20%24%7BariaLabel%7D%20%24%7Btitle%7D%60%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Check%20if%20button%20contains%20SMS-related%20text%0A%20%20%20%20%20%20%20%20const%20textLength%20%3D%20textContent.length%3B%0A%20%20%20%20%20%20%20%20const%20hasSmsText%20%3D%20(%0A%20%20%20%20%20%20%20%20%20%20%2Fsend%5Cs*(sms%7Ctext%7Cmessage%7Cvia%5Cs*sms)%2Fi.test(allText)%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%2F%5Esend%24%2Fi.test(textContent)%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20(textLength%20%3C%20100%20%26%26%20%2Fsms%2Fi.test(allText))%0A%20%20%20%20%20%20%20%20)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Check%20if%20button%20has%20SMS%20link%20as%20child%0A%20%20%20%20%20%20%20%20const%20hasSmsLink%20%3D%20btn.querySelector('a%5Bhref%5E%3D%22sms%3A%22%5D')%20!%3D%3D%20null%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Check%20if%20button%20triggers%20SMS%20action%20(Google%20uses%20jsaction)%0A%20%20%20%20%20%20%20%20const%20jsaction%20%3D%20btn.getAttribute('jsaction')%20%7C%7C%20''%3B%0A%20%20%20%20%20%20%20%20const%20hasSmsAction%20%3D%20%2Fsms%7Csend%2Fi.test(jsaction)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Check%20for%20Google%20Material%20Design%20button%20classes%0A%20%20%20%20%20%20%20%20const%20hasButtonClass%20%3D%20btn.className%20%26%26%20(%0A%20%20%20%20%20%20%20%20%20%20%2Fbutton%2Fi.test(btn.className)%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%2FVfPpkd%2Fi.test(btn.className)%20%2F%2F%20Google%20Material%20button%20class%0A%20%20%20%20%20%20%20%20)%3B%0A%0A%20%20%20%20%20%20%20%20return%20(hasSmsText%20%7C%7C%20hasSmsLink%20%7C%7C%20(btn.href%20%26%26%20btn.href.startsWith('sms%3A'))%20%7C%7C%20hasSmsAction)%3B%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20If%20no%20SMS-specific%20button%20found%2C%20try%20to%20find%20any%20prominent%20button%20that%20might%20be%20it%0A%20%20%20%20%20%20%2F%2F%20(sometimes%20the%20button%20text%20is%20not%20visible%20but%20it's%20the%20main%20action%20button)%0A%20%20%20%20%20%20let%20finalButton%20%3D%20sendButton%3B%0A%20%20%20%20%20%20if%20(!finalButton%20%26%26%20candidateButtons.length%20%3E%200%20%26%26%20autoClickAttempts%20%3E%205)%20%7B%0A%20%20%20%20%20%20%20%20console.log(%60%F0%9F%94%8D%20Attempt%20%24%7BautoClickAttempts%7D%3A%20Trying%20fallback%20button%20detection...%60)%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20Look%20for%20buttons%20in%20the%20lower%20part%20of%20the%20screen%20(where%20action%20buttons%20usually%20are)%0A%20%20%20%20%20%20%20%20const%20lowerScreenButtons%20%3D%20candidateButtons%0A%20%20%20%20%20%20%20%20%20%20.filter(btn%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rect%20%3D%20btn.getBoundingClientRect()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20viewportHeight%20%3D%20window.innerHeight%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Buttons%20in%20lower%2060%25%20of%20screen%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20inLowerScreen%20%3D%20rect.top%20%3E%20viewportHeight%20*%200.4%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Reasonable%20button%20size%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20reasonableSize%20%3D%20btn.offsetWidth%20%3E%2060%20%26%26%20btn.offsetWidth%20%3C%20400%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20btn.offsetHeight%20%3E%2025%20%26%26%20btn.offsetHeight%20%3C%20100%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Has%20click%20handler%20or%20button-like%20attributes%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20hasClickHandler%20%3D%20btn.getAttribute('jsaction')%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20btn.tagName%20%3D%3D%3D%20'BUTTON'%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20btn.getAttribute('role')%20%3D%3D%3D%20'button'%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20inLowerScreen%20%26%26%20reasonableSize%20%26%26%20hasClickHandler%3B%0A%20%20%20%20%20%20%20%20%20%20%7D)%0A%20%20%20%20%20%20%20%20%20%20.sort((a%2C%20b)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Prefer%20actual%20BUTTON%20tags%2C%20then%20elements%20with%20jsaction%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20aScore%20%3D%20(a.tagName%20%3D%3D%3D%20'BUTTON'%20%3F%2020%20%3A%200)%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20(a.getAttribute('jsaction')%20%3F%2010%20%3A%200)%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20(a.getAttribute('role')%20%3D%3D%3D%20'button'%20%3F%205%20%3A%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20bScore%20%3D%20(b.tagName%20%3D%3D%3D%20'BUTTON'%20%3F%2020%20%3A%200)%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20(b.getAttribute('jsaction')%20%3F%2010%20%3A%200)%20%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20(b.getAttribute('role')%20%3D%3D%3D%20'button'%20%3F%205%20%3A%200)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20bScore%20-%20aScore%3B%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20if%20(lowerScreenButtons.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20const%20prominentButton%20%3D%20lowerScreenButtons%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%8E%AF%20Found%20prominent%20button%20as%20fallback%3A'%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20tag%3A%20prominentButton.tagName%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20prominentButton.textContent%3F.substring(0%2C%2050)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20ariaLabel%3A%20prominentButton.getAttribute('aria-label')%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20jsaction%3A%20prominentButton.getAttribute('jsaction')%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20%7B%20top%3A%20prominentButton.getBoundingClientRect().top%2C%20left%3A%20prominentButton.getBoundingClientRect().left%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20finalButton%20%3D%20prominentButton%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(finalButton)%20%7B%0A%20%20%20%20%20%20%20%20const%20sendButton%20%3D%20finalButton%3B%0A%20%20%20%20%20%20%20%20console.log('%F0%9F%8E%AF%20Found%20%22Send%20SMS%22%20button%2C%20clicking%20automatically...')%3B%0A%20%20%20%20%20%20%20%20console.log('%20%20%20Button%20details%3A'%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20tag%3A%20sendButton.tagName%2C%0A%20%20%20%20%20%20%20%20%20%20text%3A%20sendButton.textContent%3F.substring(0%2C%2050)%2C%0A%20%20%20%20%20%20%20%20%20%20href%3A%20sendButton.href%2C%0A%20%20%20%20%20%20%20%20%20%20jsaction%3A%20sendButton.getAttribute('jsaction')%2C%0A%20%20%20%20%20%20%20%20%20%20jsname%3A%20sendButton.getAttribute('jsname')%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20showNotification('%F0%9F%93%B1%20Auto-clicking%20%22Send%20SMS%22%20button...'%2C%20'info'%2C%202000)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20CRITICAL%3A%20Intercept%20the%20button's%20click%20handler%20BEFORE%20clicking%0A%20%20%20%20%20%20%20%20%2F%2F%20Google%20uses%20jsaction%20handlers%2C%20so%20we%20need%20to%20intercept%20at%20the%20event%20level%0A%20%20%20%20%20%20%20%20let%20clickIntercepted%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20let%20smsUrlFromClick%20%3D%20null%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Add%20a%20capture-phase%20listener%20to%20intercept%20BEFORE%20the%20button's%20handler%20runs%0A%20%20%20%20%20%20%20%20const%20interceptClick%20%3D%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20(clickIntercepted)%20return%3B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Click%20intercepted%2C%20checking%20for%20SMS%20URL%20generation...')%3B%0A%20%20%20%20%20%20%20%20%20%20clickIntercepted%20%3D%20true%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Try%20to%20prevent%20the%20default%20action%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20e.stopImmediatePropagation()%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Immediately%20check%20for%20SMS%20link%20(it%20might%20be%20created%20synchronously)%0A%20%20%20%20%20%20%20%20%20%20const%20checkImmediately%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20DOM%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20smsLinks%20%3D%20document.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsLinks.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20smsUrl%20%3D%20smsLinks%5B0%5D.href%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20link%20found%20immediately%20after%20click%3A'%2C%20smsUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsUrlFromClick%20%3D%20smsUrl%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsUrl)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20if%20URL%20was%20set%20on%20window.location%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(window.location.href%20%26%26%20window.location.href.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20URL%20in%20location.href%3A'%2C%20window.location.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20smsUrlFromClick%20%3D%20window.location.href%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(window.location.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Can't%20access%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20multiple%20times%20very%20quickly%0A%20%20%20%20%20%20%20%20%20%20checkImmediately()%3B%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkImmediately%2C%200)%3B%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkImmediately%2C%2010)%3B%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkImmediately%2C%2025)%3B%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkImmediately%2C%2050)%3B%0A%0A%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Add%20listeners%20in%20capture%20phase%20(runs%20BEFORE%20the%20button's%20handlers)%0A%20%20%20%20%20%20%20%20sendButton.addEventListener('click'%2C%20interceptClick%2C%20true)%3B%0A%20%20%20%20%20%20%20%20sendButton.addEventListener('mousedown'%2C%20interceptClick%2C%20true)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Also%20try%20to%20override%20the%20button's%20onclick%2Fjsaction%0A%20%20%20%20%20%20%20%20const%20originalOnClick%20%3D%20sendButton.onclick%3B%0A%20%20%20%20%20%20%20%20sendButton.onclick%20%3D%20function%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%F0%9F%94%8D%20Button%20onclick%20intercepted')%3B%0A%20%20%20%20%20%20%20%20%20%20interceptClick(e)%3B%0A%20%20%20%20%20%20%20%20%20%20if%20(originalOnClick%20%26%26%20!smsUrlFromClick)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Only%20call%20original%20if%20we%20didn't%20find%20SMS%20URL%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20originalOnClick.call(this%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Set%20up%20aggressive%20monitoring%20for%20SMS%20URL%0A%20%20%20%20%20%20%20%20const%20startInterception%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20for%20SMS%20link%20every%2050ms%20for%203%20seconds%20(faster%20checking)%0A%20%20%20%20%20%20%20%20%20%20let%20checkCount%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20const%20maxChecks%20%3D%2060%3B%20%2F%2F%203%20seconds%0A%0A%20%20%20%20%20%20%20%20%20%20const%20checkForSms%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsData)%20return%3B%20%2F%2F%20Already%20captured%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20checkCount%2B%2B%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20DOM%20for%20SMS%20links%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20smsLinks%20%3D%20document.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsLinks.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log(%60%E2%9C%85%20SMS%20link%20appeared%20after%20%24%7BcheckCount%20*%2050%7Dms%3A%60%2C%20smsLinks%5B0%5D.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsLinks%5B0%5D.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20window.location%20for%20SMS%20(might%20be%20set%20synchronously)%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20currentHref%20%3D%20window.location.href%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(currentHref%20%26%26%20currentHref.startsWith('sms%3A'))%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20URL%20detected%20in%20location.href%3A'%2C%20currentHref)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(currentHref)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Can't%20access%2C%20that's%20okay%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(checkCount%20%3C%20maxChecks%20%26%26%20!smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(checkForSms%2C%2050)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20(!smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9A%A0%EF%B8%8F%20SMS%20link%20not%20found%20after%20button%20click.%20Waiting%20for%20API%20response...')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Start%20checking%20immediately%20and%20very%20frequently%0A%20%20%20%20%20%20%20%20%20%20checkForSms()%3B%20%2F%2F%20Immediate%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkForSms%2C%2010)%3B%20%2F%2F%2010ms%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkForSms%2C%2025)%3B%20%2F%2F%2025ms%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkForSms%2C%2050)%3B%20%2F%2F%2050ms%0A%20%20%20%20%20%20%20%20%20%20setTimeout(checkForSms%2C%20100)%3B%20%2F%2F%20100ms%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Start%20interception%20BEFORE%20clicking%0A%20%20%20%20%20%20%20%20startInterception()%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Also%20set%20up%20a%20global%20click%20interceptor%20that%20will%20catch%20ANY%20click%20that%20might%20generate%20SMS%0A%20%20%20%20%20%20%20%20const%20globalClickInterceptor%20%3D%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20immediately%20after%20any%20click%0A%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsData)%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20smsLinks%20%3D%20document.querySelectorAll('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsLinks.length%20%3E%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20SMS%20link%20found%20after%20global%20click%3A'%2C%20smsLinks%5B0%5D.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsLinks%5B0%5D.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%200)%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20document.addEventListener('click'%2C%20globalClickInterceptor%2C%20true)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Small%20delay%20to%20ensure%20interception%20is%20set%20up%0A%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log('%20%20%20Clicking%20button...')%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Try%20the%20click%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(sendButton.click)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%20%20%20Using%20.click()%20method')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20sendButton.click()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20(sendButton.dispatchEvent)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%20%20%20Using%20dispatchEvent%20method')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20syntheticClick%20%3D%20new%20MouseEvent('click'%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bubbles%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cancelable%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20view%3A%20window%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttons%3A%201%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20sendButton.dispatchEvent(syntheticClick)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Also%20try%20mousedown%20%2B%20mouseup%20%2B%20click%20sequence%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B'mousedown'%2C%20'mouseup'%2C%20'click'%5D.forEach((eventType%2C%20idx)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20event%20%3D%20new%20MouseEvent(eventType%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bubbles%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20cancelable%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20view%3A%20window%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttons%3A%20eventType%20%3D%3D%3D%20'mousedown'%20%3F%201%20%3A%200%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sendButton.dispatchEvent(event)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20idx%20*%205)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%20%20%20Mouse%20event%20sequence%20failed%3A'%2C%20e)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Check%20for%20SMS%20link%20in%20button's%20children%20immediately%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20smsLinkInButton%20%3D%20sendButton.querySelector('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(smsLinkInButton)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.log('%20%20%20Found%20SMS%20link%20in%20button%3A'%2C%20smsLinkInButton.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20handleSmsUrl(smsLinkInButton.href)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9C%85%20Clicked%20%22Send%20SMS%22%20-%20Extracting%20SMS%20data...'%2C%20'success'%2C%203000)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.error('Error%20clicking%20button%3A'%2C%20error)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20showNotification('%E2%9A%A0%EF%B8%8F%20Error%20clicking%20button.%20Please%20try%20manually.'%2C%20'error'%2C%203000)%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%2C%20100)%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Also%20check%20if%20SMS%20link%20appears%20dynamically%0A%20%20%20%20%20%20%20%20const%20dynamicSmsLink%20%3D%20document.querySelector('a%5Bhref%5E%3D%22sms%3A%22%5D')%3B%0A%20%20%20%20%20%20%20%20if%20(dynamicSmsLink%20%26%26%20!smsData)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log('%E2%9C%85%20Found%20dynamically%20created%20SMS%20link%3A'%2C%20dynamicSmsLink.href)%3B%0A%20%20%20%20%20%20%20%20%20%20handleSmsUrl(dynamicSmsLink.href)%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20(autoClickAttempts%20%3C%3D%205%20%7C%7C%20autoClickAttempts%20%25%205%20%3D%3D%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.log(%60%E2%84%B9%EF%B8%8F%20%22Send%20SMS%22%20button%20not%20found%20yet%20(attempt%20%24%7BautoClickAttempts%7D%2F%24%7BMAX_AUTO_CLICK_ATTEMPTS%7D)%60)%3B%0A%20%20%20%20%20%20%20%20%20%20console.log(%60%20%20%20Total%20buttons%20on%20page%3A%20%24%7Bbuttons.length%7D%60)%3B%0A%20%20%20%20%20%20%20%20%20%20console.log(%60%20%20%20Visible%20buttons%3A%20%24%7Bbuttons.filter(b%20%3D%3E%20b.offsetWidth%20%3E%200%20%26%26%20b.offsetHeight%20%3E%200).length%7D%60)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20setTimeout(autoClickSendSMS%2C%201000)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Wait%20for%20page%20to%20load%20then%20auto-click%0A%20%20%20%20if%20(document.readyState%20%3D%3D%3D%20'complete')%20%7B%0A%20%20%20%20%20%20setTimeout(autoClickSendSMS%2C%201000)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20window.addEventListener('load'%2C%20()%20%3D%3E%20setTimeout(autoClickSendSMS%2C%201000))%3B%0A%20%20%20%20%20%20%2F%2F%20Also%20try%20immediately%20in%20case%20page%20is%20already%20interactive%0A%20%20%20%20%20%20if%20(document.readyState%20%3D%3D%3D%20'interactive')%20%7B%0A%20%20%20%20%20%20%20%20setTimeout(autoClickSendSMS%2C%201500)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Show%20indicator%0A%20%20%20%20showNotification('%F0%9F%8E%AF%20SMS%20Extractor%20Active%20-%20Auto-extracting%20SMS%20data...'%2C%20'info'%2C%204000)%3B%0A%20%20%7D%0A%0A%20%20%2F%2F%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%20%20%2F%2F%20PART%203%3A%20UI%20FUNCTIONS%0A%20%20%2F%2F%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0A%20%20function%20displayResults(phoneNumber%2C%20messageBody)%20%7B%0A%20%20%20%20console.log('%5Cn'%20%2B%20'%3D'.repeat(60))%3B%0A%20%20%20%20console.log('%F0%9F%93%B1%20SMS%20VERIFICATION%20DETAILS')%3B%0A%20%20%20%20console.log('%3D'.repeat(60))%3B%0A%20%20%20%20console.log(%60%F0%9F%93%9E%20Phone%20Number%3A%20%24%7BphoneNumber%7D%60)%3B%0A%20%20%20%20console.log(%60%F0%9F%92%AC%20Message%20Body%3A%5Cn%24%7BmessageBody%7D%60)%3B%0A%20%20%20%20console.log('%3D'.repeat(60)%20%2B%20'%5Cn')%3B%0A%0A%20%20%20%20%2F%2F%20Remove%20onbeforeunload%0A%20%20%20%20window.onbeforeunload%20%3D%20null%3B%0A%0A%20%20%20%20%2F%2F%20Remove%20any%20existing%20dashboard%0A%20%20%20%20const%20existing%20%3D%20document.getElementById('sms-extractor-dashboard')%3B%0A%20%20%20%20if%20(existing)%20existing.remove()%3B%0A%0A%20%20%20%20const%20dashboard%20%3D%20document.createElement('div')%3B%0A%20%20%20%20dashboard.id%20%3D%20'sms-extractor-dashboard'%3B%0A%20%20%20%20dashboard.style.cssText%20%3D%20%60%0A%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20top%3A%2050%25%3B%0A%20%20%20%20%20%20left%3A%2050%25%3B%0A%20%20%20%20%20%20transform%3A%20translate(-50%25%2C%20-50%25)%3B%0A%20%20%20%20%20%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%0A%20%20%20%20%20%20padding%3A%203px%3B%0A%20%20%20%20%20%20border-radius%3A%2016px%3B%0A%20%20%20%20%20%20box-shadow%3A%200%2020px%2060px%20rgba(0%2C%200%2C%200%2C%200.5)%3B%0A%20%20%20%20%20%20z-index%3A%202147483647%3B%0A%20%20%20%20%20%20font-family%3A%20-apple-system%2C%20BlinkMacSystemFont%2C%20'Segoe%20UI'%2C%20Roboto%2C%20sans-serif%3B%0A%20%20%20%20%20%20width%3A%20520px%3B%0A%20%20%20%20%20%20max-width%3A%2090vw%3B%0A%20%20%20%20%60%3B%0A%0A%20%20%20%20const%20content%20%3D%20document.createElement('div')%3B%0A%20%20%20%20content.style.cssText%20%3D%20%60%0A%20%20%20%20%20%20background%3A%20%231a1a2e%3B%0A%20%20%20%20%20%20border-radius%3A%2014px%3B%0A%20%20%20%20%20%20padding%3A%2032px%3B%0A%20%20%20%20%20%20color%3A%20%23ffffff%3B%0A%20%20%20%20%60%3B%0A%0A%20%20%20%20%2F%2F%20Build%20the%20content%20using%20DOM%20elements%0A%20%20%20%20const%20centerDiv%20%3D%20document.createElement('div')%3B%0A%20%20%20%20centerDiv.style.cssText%20%3D%20'text-align%3A%20center%3B%20margin-bottom%3A%2024px%3B'%3B%0A%0A%20%20%20%20const%20checkEmoji%20%3D%20document.createElement('div')%3B%0A%20%20%20%20checkEmoji.style.cssText%20%3D%20'font-size%3A%2048px%3B%20margin-bottom%3A%2012px%3B'%3B%0A%20%20%20%20checkEmoji.textContent%20%3D%20'%E2%9C%85'%3B%0A%0A%20%20%20%20const%20mainTitle%20%3D%20document.createElement('div')%3B%0A%20%20%20%20mainTitle.style.cssText%20%3D%20'font-size%3A%2024px%3B%20font-weight%3A%20700%3B%20color%3A%20%23ffffff%3B%20margin-bottom%3A%208px%3B'%3B%0A%20%20%20%20mainTitle.textContent%20%3D%20'SMS%20Details%20Captured!'%3B%0A%0A%20%20%20%20const%20subTitle%20%3D%20document.createElement('div')%3B%0A%20%20%20%20subTitle.style.cssText%20%3D%20'font-size%3A%2014px%3B%20color%3A%20%23a0a0b0%3B'%3B%0A%20%20%20%20subTitle.textContent%20%3D%20'Copy%20the%20information%20below%20to%20complete%20verification'%3B%0A%0A%20%20%20%20centerDiv.appendChild(checkEmoji)%3B%0A%20%20%20%20centerDiv.appendChild(mainTitle)%3B%0A%20%20%20%20centerDiv.appendChild(subTitle)%3B%0A%0A%20%20%20%20%2F%2F%20Phone%20number%20section%0A%20%20%20%20const%20phoneBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20phoneBox.style.cssText%20%3D%20'background%3A%20rgba(255%2C%20255%2C%20255%2C%200.05)%3B%20border-radius%3A%2012px%3B%20padding%3A%2020px%3B%20margin-bottom%3A%2016px%3B'%3B%0A%0A%20%20%20%20const%20phoneLabel%20%3D%20document.createElement('div')%3B%0A%20%20%20%20phoneLabel.style.cssText%20%3D%20'color%3A%20%23a0a0b0%3B%20font-size%3A%2011px%3B%20text-transform%3A%20uppercase%3B%20letter-spacing%3A%201px%3B%20margin-bottom%3A%208px%3B%20font-weight%3A%20600%3B'%3B%0A%20%20%20%20phoneLabel.textContent%20%3D%20'%F0%9F%93%9E%20Phone%20Number'%3B%0A%0A%20%20%20%20const%20phoneInputDiv%20%3D%20document.createElement('div')%3B%0A%20%20%20%20phoneInputDiv.style.cssText%20%3D%20'display%3A%20flex%3B%20gap%3A%208px%3B%20align-items%3A%20center%3B'%3B%0A%0A%20%20%20%20const%20phoneInput%20%3D%20document.createElement('input')%3B%0A%20%20%20%20phoneInput.readOnly%20%3D%20true%3B%0A%20%20%20%20phoneInput.value%20%3D%20phoneNumber%3B%0A%20%20%20%20phoneInput.id%20%3D%20'phone-input'%3B%0A%20%20%20%20phoneInput.style.cssText%20%3D%20'flex%3A%201%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.08)%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.1)%3B%20color%3A%20%23ffffff%3B%20padding%3A%2012px%2016px%3B%20border-radius%3A%208px%3B%20font-size%3A%2018px%3B%20font-weight%3A%20600%3B%20font-family%3A%20%22Courier%20New%22%2C%20monospace%3B'%3B%0A%0A%20%20%20%20const%20copyPhoneBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20copyPhoneBtn.id%20%3D%20'copy-phone'%3B%0A%20%20%20%20copyPhoneBtn.textContent%20%3D%20'%F0%9F%93%8B%20Copy'%3B%0A%20%20%20%20copyPhoneBtn.style.cssText%20%3D%20'background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%20color%3A%20white%3B%20border%3A%20none%3B%20padding%3A%2012px%2020px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20font-size%3A%2014px%3B%20transition%3A%20transform%200.2s%3B%20white-space%3A%20nowrap%3B'%3B%0A%0A%20%20%20%20phoneInputDiv.appendChild(phoneInput)%3B%0A%20%20%20%20phoneInputDiv.appendChild(copyPhoneBtn)%3B%0A%20%20%20%20phoneBox.appendChild(phoneLabel)%3B%0A%20%20%20%20phoneBox.appendChild(phoneInputDiv)%3B%0A%0A%20%20%20%20%2F%2F%20Message%20section%0A%20%20%20%20const%20messageBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20messageBox.style.cssText%20%3D%20'background%3A%20rgba(255%2C%20255%2C%20255%2C%200.05)%3B%20border-radius%3A%2012px%3B%20padding%3A%2020px%3B%20margin-bottom%3A%2024px%3B'%3B%0A%0A%20%20%20%20const%20messageLabel%20%3D%20document.createElement('div')%3B%0A%20%20%20%20messageLabel.style.cssText%20%3D%20'color%3A%20%23a0a0b0%3B%20font-size%3A%2011px%3B%20text-transform%3A%20uppercase%3B%20letter-spacing%3A%201px%3B%20margin-bottom%3A%208px%3B%20font-weight%3A%20600%3B'%3B%0A%20%20%20%20messageLabel.textContent%20%3D%20'%F0%9F%92%AC%20Message%20Text%20(all%20in%20one%20line%2C%20no%20line%20breaks)'%3B%0A%0A%20%20%20%20const%20messageTextarea%20%3D%20document.createElement('textarea')%3B%0A%20%20%20%20messageTextarea.readOnly%20%3D%20true%3B%0A%20%20%20%20messageTextarea.id%20%3D%20'message-input'%3B%0A%20%20%20%20messageTextarea.value%20%3D%20messageBody%3B%0A%20%20%20%20messageTextarea.style.cssText%20%3D%20'width%3A%20100%25%3B%20height%3A%20100px%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.08)%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.1)%3B%20color%3A%20%23ffffff%3B%20padding%3A%2012px%2016px%3B%20border-radius%3A%208px%3B%20font-size%3A%2014px%3B%20resize%3A%20vertical%3B%20box-sizing%3A%20border-box%3B%20font-family%3A%20%22Courier%20New%22%2C%20monospace%3B%20line-height%3A%201.5%3B'%3B%0A%0A%20%20%20%20const%20copyMessageBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20copyMessageBtn.id%20%3D%20'copy-message'%3B%0A%20%20%20%20copyMessageBtn.textContent%20%3D%20'%F0%9F%93%8B%20Copy%20Message'%3B%0A%20%20%20%20copyMessageBtn.style.cssText%20%3D%20'width%3A%20100%25%3B%20margin-top%3A%2012px%3B%20background%3A%20linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)%3B%20color%3A%20white%3B%20border%3A%20none%3B%20padding%3A%2014px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20font-size%3A%2014px%3B%20transition%3A%20transform%200.2s%3B'%3B%0A%0A%20%20%20%20messageBox.appendChild(messageLabel)%3B%0A%20%20%20%20messageBox.appendChild(messageTextarea)%3B%0A%20%20%20%20messageBox.appendChild(copyMessageBtn)%3B%0A%0A%20%20%20%20%2F%2F%20Info%20box%0A%20%20%20%20const%20infoBox%20%3D%20document.createElement('div')%3B%0A%20%20%20%20infoBox.style.cssText%20%3D%20'background%3A%20rgba(76%2C%20175%2C%2080%2C%200.1)%3B%20border%3A%201px%20solid%20rgba(76%2C%20175%2C%2080%2C%200.3)%3B%20border-radius%3A%208px%3B%20padding%3A%2012px%3B%20margin-bottom%3A%2020px%3B%20font-size%3A%2013px%3B%20color%3A%20%2381c784%3B%20line-height%3A%201.5%3B'%3B%0A%0A%20%20%20%20const%20infoStrong%20%3D%20document.createElement('strong')%3B%0A%20%20%20%20infoStrong.textContent%20%3D%20'%F0%9F%92%A1%20Next%20Step%3A%20'%3B%0A%20%20%20%20const%20infoText%20%3D%20document.createTextNode('Send%20the%20message%20above%20to%20the%20phone%20number%20via%20your%20SMS%20app')%3B%0A%0A%20%20%20%20infoBox.appendChild(infoStrong)%3B%0A%20%20%20%20infoBox.appendChild(infoText)%3B%0A%0A%20%20%20%20%2F%2F%20Button%20row%0A%20%20%20%20const%20buttonRow%20%3D%20document.createElement('div')%3B%0A%20%20%20%20buttonRow.style.cssText%20%3D%20'display%3A%20flex%3B%20gap%3A%2012px%3B'%3B%0A%0A%20%20%20%20const%20copyAllBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20copyAllBtn.id%20%3D%20'copy-all'%3B%0A%20%20%20%20copyAllBtn.textContent%20%3D%20'%F0%9F%93%8B%20Copy%20Both'%3B%0A%20%20%20%20copyAllBtn.style.cssText%20%3D%20'flex%3A%201%3B%20background%3A%20rgba(255%2C%20255%2C%20255%2C%200.1)%3B%20color%3A%20white%3B%20border%3A%201px%20solid%20rgba(255%2C%20255%2C%20255%2C%200.2)%3B%20padding%3A%2012px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20transition%3A%20all%200.2s%3B'%3B%0A%0A%20%20%20%20const%20closeBtn%20%3D%20document.createElement('button')%3B%0A%20%20%20%20closeBtn.id%20%3D%20'close-dashboard'%3B%0A%20%20%20%20closeBtn.textContent%20%3D%20'Close'%3B%0A%20%20%20%20closeBtn.style.cssText%20%3D%20'background%3A%20rgba(244%2C%2067%2C%2054%2C%200.2)%3B%20color%3A%20%23ef5350%3B%20border%3A%201px%20solid%20rgba(244%2C%2067%2C%2054%2C%200.3)%3B%20padding%3A%2012px%2024px%3B%20border-radius%3A%208px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20600%3B%20transition%3A%20all%200.2s%3B'%3B%0A%0A%20%20%20%20buttonRow.appendChild(copyAllBtn)%3B%0A%20%20%20%20buttonRow.appendChild(closeBtn)%3B%0A%0A%20%20%20%20%2F%2F%20Assemble%20everything%0A%20%20%20%20content.appendChild(centerDiv)%3B%0A%20%20%20%20content.appendChild(phoneBox)%3B%0A%20%20%20%20content.appendChild(messageBox)%3B%0A%20%20%20%20content.appendChild(infoBox)%3B%0A%20%20%20%20content.appendChild(buttonRow)%3B%0A%0A%20%20%20%20dashboard.appendChild(content)%3B%0A%20%20%20%20document.body.appendChild(dashboard)%3B%0A%0A%20%20%20%20%2F%2F%20Add%20event%20listeners%0A%20%20%20%20function%20copyToClipboard(text%2C%20button)%20%7B%0A%20%20%20%20%20%20navigator.clipboard.writeText(text).then(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20const%20originalText%20%3D%20button.textContent%3B%0A%20%20%20%20%20%20%20%20button.textContent%20%3D%20'%E2%9C%85%20Copied!'%3B%0A%20%20%20%20%20%20%20%20button.style.background%20%3D%20'linear-gradient(135deg%2C%20%234caf50%200%25%2C%20%2345a049%20100%25)'%3B%0A%0A%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20button.textContent%20%3D%20originalText%3B%0A%20%20%20%20%20%20%20%20%20%20button.style.background%20%3D%20'linear-gradient(135deg%2C%20%23667eea%200%25%2C%20%23764ba2%20100%25)'%3B%0A%20%20%20%20%20%20%20%20%7D%2C%202000)%3B%0A%20%20%20%20%20%20%7D).catch(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Fallback%0A%20%20%20%20%20%20%20%20const%20input%20%3D%20document.getElementById(button.id.replace('copy-'%2C%20'')%20%2B%20'-input')%3B%0A%20%20%20%20%20%20%20%20if%20(input)%20%7B%0A%20%20%20%20%20%20%20%20%20%20input.select()%3B%0A%20%20%20%20%20%20%20%20%20%20document.execCommand('copy')%3B%0A%20%20%20%20%20%20%20%20%20%20button.textContent%20%3D%20'%E2%9C%85%20Copied!'%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Add%20hover%20effects%0A%20%20%20%20copyPhoneBtn.addEventListener('mouseover'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.transform%20%3D%20'scale(1.05)'%3B%0A%20%20%20%20%7D)%3B%0A%20%20%20%20copyPhoneBtn.addEventListener('mouseout'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.transform%20%3D%20'scale(1)'%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20copyMessageBtn.addEventListener('mouseover'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.transform%20%3D%20'scale(1.02)'%3B%0A%20%20%20%20%7D)%3B%0A%20%20%20%20copyMessageBtn.addEventListener('mouseout'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.transform%20%3D%20'scale(1)'%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20copyAllBtn.addEventListener('mouseover'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.background%20%3D%20'rgba(255%2C%20255%2C%20255%2C%200.15)'%3B%0A%20%20%20%20%7D)%3B%0A%20%20%20%20copyAllBtn.addEventListener('mouseout'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.background%20%3D%20'rgba(255%2C%20255%2C%20255%2C%200.1)'%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20closeBtn.addEventListener('mouseover'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.background%20%3D%20'rgba(244%2C%2067%2C%2054%2C%200.3)'%3B%0A%20%20%20%20%7D)%3B%0A%20%20%20%20closeBtn.addEventListener('mouseout'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20this.style.background%20%3D%20'rgba(244%2C%2067%2C%2054%2C%200.2)'%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20copyPhoneBtn.addEventListener('click'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20copyToClipboard(phoneNumber%2C%20this)%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20copyMessageBtn.addEventListener('click'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20copyToClipboard(messageBody%2C%20this)%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20copyAllBtn.addEventListener('click'%2C%20function%20()%20%7B%0A%20%20%20%20%20%20const%20combined%20%3D%20%60Phone%3A%20%24%7BphoneNumber%7D%5Cn%5CnMessage%3A%5Cn%24%7BmessageBody%7D%60%3B%0A%20%20%20%20%20%20copyToClipboard(combined%2C%20this)%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20closeBtn.addEventListener('click'%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20dashboard.style.transition%20%3D%20'opacity%200.3s%2C%20transform%200.3s'%3B%0A%20%20%20%20%20%20dashboard.style.opacity%20%3D%20'0'%3B%0A%20%20%20%20%20%20dashboard.style.transform%20%3D%20'translate(-50%25%2C%20-50%25)%20scale(0.9)'%3B%0A%20%20%20%20%20%20setTimeout(()%20%3D%3E%20dashboard.remove()%2C%20300)%3B%0A%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%2F%2F%20Auto-select%20phone%20number%20for%20easy%20copying%0A%20%20%20%20document.getElementById('phone-input').select()%3B%0A%20%20%7D%0A%0A%20%20function%20showNotification(message%2C%20type%20%3D%20'info'%2C%20duration%20%3D%203000)%20%7B%0A%20%20%20%20const%20colors%20%3D%20%7B%0A%20%20%20%20%20%20info%3A%20%7B%20bg%3A%20'%232196F3'%2C%20border%3A%20'%231976D2'%20%7D%2C%0A%20%20%20%20%20%20success%3A%20%7B%20bg%3A%20'%234CAF50'%2C%20border%3A%20'%23388E3C'%20%7D%2C%0A%20%20%20%20%20%20warning%3A%20%7B%20bg%3A%20'%23FF9800'%2C%20border%3A%20'%23F57C00'%20%7D%2C%0A%20%20%20%20%20%20error%3A%20%7B%20bg%3A%20'%23F44336'%2C%20border%3A%20'%23D32F2F'%20%7D%0A%20%20%20%20%7D%3B%0A%0A%20%20%20%20const%20color%20%3D%20colors%5Btype%5D%20%7C%7C%20colors.info%3B%0A%0A%20%20%20%20const%20notification%20%3D%20document.createElement('div')%3B%0A%20%20%20%20notification.style.cssText%20%3D%20%60%0A%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20top%3A%2020px%3B%0A%20%20%20%20%20%20right%3A%2020px%3B%0A%20%20%20%20%20%20background%3A%20%24%7Bcolor.bg%7D%3B%0A%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20padding%3A%2016px%2024px%3B%0A%20%20%20%20%20%20border-radius%3A%208px%3B%0A%20%20%20%20%20%20border-left%3A%204px%20solid%20%24%7Bcolor.border%7D%3B%0A%20%20%20%20%20%20box-shadow%3A%200%204px%2016px%20rgba(0%2C%200%2C%200%2C%200.3)%3B%0A%20%20%20%20%20%20z-index%3A%202147483646%3B%0A%20%20%20%20%20%20font-family%3A%20-apple-system%2C%20BlinkMacSystemFont%2C%20'Segoe%20UI'%2C%20Roboto%2C%20sans-serif%3B%0A%20%20%20%20%20%20font-size%3A%2014px%3B%0A%20%20%20%20%20%20font-weight%3A%20500%3B%0A%20%20%20%20%20%20max-width%3A%20350px%3B%0A%20%20%20%20%20%20animation%3A%20slideIn%200.3s%20ease-out%3B%0A%20%20%20%20%60%3B%0A%0A%20%20%20%20notification.textContent%20%3D%20message%3B%0A%20%20%20%20document.body.appendChild(notification)%3B%0A%0A%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20notification.style.transition%20%3D%20'opacity%200.3s%2C%20transform%200.3s'%3B%0A%20%20%20%20%20%20notification.style.opacity%20%3D%20'0'%3B%0A%20%20%20%20%20%20notification.style.transform%20%3D%20'translateX(400px)'%3B%0A%20%20%20%20%20%20setTimeout(()%20%3D%3E%20notification.remove()%2C%20300)%3B%0A%20%20%20%20%7D%2C%20duration)%3B%0A%20%20%7D%0A%0A%20%20console.log('%E2%9C%85%20SMS%20Extractor%20ready!')%3B%0A%0A%7D)()%3B%7D)()%3B