
    "h                     V    d Z ddlZddlZ G d de      Zd Zed        Zedd       Zy)	z#
    pdf2image filename generators
    Nc                   "    e Zd ZdZd Zd Zd Zy)ThreadSafeGeneratorz8Wrapper around generator that protects concurrent accessc                 D    || _         t        j                         | _        y N)gen	threadingLocklock)selfr   s     V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pdf2image/generators.py__init__zThreadSafeGenerator.__init__   s    NN$	    c                     | S r    r   s    r   __iter__zThreadSafeGenerator.__iter__   s    r   c                 p    | j                   5  t        | j                        cd d d        S # 1 sw Y   y xY wr   )r
   nextr   r   s    r   __next__zThreadSafeGenerator.__next__   s)    YY 	">	" 	" 	"s   ,5N)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   	   s    B%"r   r   c                       fd}|S )z0Decorator to make generator threadsafe. Fix #125c                  &    t         | i |      S r   )r   )akwfs     r   gzthreadsafe.<locals>.g   s    "1a;2;//r   r   )r   r   s   ` r   
threadsafer       s    0 Hr   c               #   L   K   	 t        t        j                                 w)zReturns a UUID4)struuiduuid4r   r   r   uuid_generatorr%   !   s!      $**, s   "$c              #      K   d}	 |dz  }t        |       t        |      j                  |      z   t        |      z    :w)z5Returns a joined prefix, iteration number, and suffixr      )r"   zfill)prefixsuffixpadding_goalis       r   counter_generatorr-   (   sC      	
A
	Q&kCFLL66VDD s   >A ) r.      )r   r#   r   objectr   r    r%   r-   r   r   r   <module>r1      sM     "& "     E Er   