
    ^j                         d dl Z d dlZd dlZddlmZ e j
                  dk\  rej                  Zn ej                  ddi       Zi Z G d de      Z	y)	    N   )CloudflareSolveError)      ABC c                   j    e Zd Zej                  d        Zed        Zej                  d        Zd Z	y)JavaScriptInterpreterc                     | t         |<   y N)interpreters)selfnames     ]/var/www/lego-monitor/venv/lib/python3.12/site-packages/cloudscraper/interpreters/__init__.py__init__zJavaScriptInterpreter.__init__   s    !T    c                 D   |t         vr^	 t        dj                  | j                  |             t	        t         j                  |      t              st        d      	 t         |   S t         |   S # t        $ r& t        j                  dj                  |              w xY w)Nz{}.{}z$The interpreter was not initialized.zUnable to load {} interpreter)
r   
__import__format
__module__
isinstancegetr
   ImportErrorloggingerror)clsr   s     r   dynamicImportz#JavaScriptInterpreter.dynamicImport   s    |#7>>#..$?@!,"2"24"8:OP%&LMM Q D!!|D!!	  =DDTJKs   AA0 0/Bc                      y r   r   )r   jsEnvjss      r   evalzJavaScriptInterpreter.eval,   s    r   c                     	 dj                  t        | j                  ||                  S # t        $ r t	        d      w xY w)Nz{0:.10f}zXError trying to solve Cloudflare IUAM Javascript, they may have changed their technique.)r   floatr!   	Exceptionr   )r   bodydomains      r   solveChallengez$JavaScriptInterpreter.solveChallenge2   sG    	$$U499T6+B%CDD 	&j 	s	   ), AN)
__name__r   __qualname__abcabstractmethodr   classmethodr   r!   r'   r   r   r   r
   r
      sO     	" "
 
" 
" 	 
r   r
   )
sysr   r*   
exceptionsr   version_infor   ABCMetar   r
   r   r   r   <module>r1      sO    
  
 -v
''C
#++eR
$C 
%C %r   