
    F	h                     B    d dl Z d dlZ G d de      Zd Zd Zd Zd Zy)    Nc                       e Zd Zy)YAJLImportErrorN)__name__
__module____qualname__     R/var/www/html/backend/venv/lib/python3.12/site-packages/ijson/backends/__init__.pyr   r      s    r	   r   c           
      x    t        | d      \  }}t        |d      \  }}||k7  rt        d|d|d|d|      y)zu
    Asserts that the major component of 'version' is equal to 'required'.
    Raises YAJLImportError otherwise.
    '  d   zYAJL version z.x required, found .N)divmodr   )versionrequiredmajorrestminormicros         r
   require_versionr      sH    
 %(KE4$$LE5hX]_dfklmm r	   c                 l    	 | j                         S # t        $ r t        j                  d       Y yw xY w)Nz/Cannot determine yajl version, assuming <1.0.12r   )yajl_versionAttributeErrorwarningswarn)yajls    r
   get_yajl_versionr      s5      "" GHs    33c                     ddl m}m} t        j                  d      xs |j                  d      }|t        d      	 |j                  |      }t        t        |      |        |S # t        $ r t        d      w xY w)zh
    Finds and loads yajl shared object of the required major
    version (1, 2, ...) using ctypes.
    r   )utilcdllYAJL_DLLr   zYAJL shared object not found.Unable to load YAJL.)ctypesr   r    osgetenvfind_libraryr   LoadLibraryOSErrorr   r   )r   r   r    so_namer   s        r
   find_yajl_ctypesr*      s     "ii
#@t'8'8'@G=>>6( $T*H5K  64556s   A' 'A<c                     	 | j                  t        j                  d      xs d      }t        t        |      |       |S # t        $ r t	        d      w xY w)zf
    Finds and loads yajl shared object of the required major
    version (1, 2, ...) using cffi.
    r!   r   r"   )dlopenr$   r%   r(   r   r   r   )ffir   r   s      r
   find_yajl_cffir.   -   sW    
6zz"))J/96: $T*H5K  64556s   (A A)r$   r   ImportErrorr   r   r   r*   r.   r   r	   r
   <module>r0      s,    	 	k 	n(
r	   