Ë
    Æ[;jšU  ã                   óÜ  — d Z ddlZ ej                  eeeeeeeeeeeeeee¬«       ddlZddlZddlZddlZddl	Z	ddl
Z
ddlZej                  dk  rddlmZmZ d„ Zd„ ZnddlmZ d	d
lmZ dZdj,                  Z ej0                  d«      Zej4                  j6                  Zdez  Zej=                  d«      Z G d„ d«      Z d„ Z!	 ddlm"Z# g Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.dDd„Z/d „ Z0d!„ Z1d"„ Z2d#„ Z3e(d$„ «       Z4e(d%„ «       Z5e(d&„ «       Z6d'„ Z7e(d(„ «       Z8 ej0                  d)«      jr                  Z:e( e; ejx                  d*d+e«      «      fd,„«       Z=d-„ Z> ej0                  d.«      j~                  Z@dEd/„ZAd0„ ZBdFd1„ZC	 dFd2„ZDd3„ ZEd4„ ZFd5„ ZGe!dGd6„«       ZHd7„ ZId8„ ZJdHd9„ZKdd:ej˜                  dfd;„ZM G d<„ d=«      ZNd>„ ZOd?„ ZPd@„ ZQdA„ ZRdB„ ZSdC„ ZTy# e$$ r ddlm%Z%  e%d¬«      Z#Y �Œw xY w)Iz@
Cython -- Things that don't belong anywhere else in particular
é    N)ÚosÚsysÚreÚioÚglobÚshutilÚtempfileÚupdate_wrapperÚpartialÚwrapsÚcython_versionÚ_cache_functionÚ_function_cachesÚ_parse_file_versionÚ_match_file_encoding)é   é	   )r
   r   c                 ó>   — 	 t        | |«      S # t        $ r | cY S w xY w©N)r
   ÚAttributeError)ÚwrapperÚwrappeds     úUG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Utils.pyÚ_update_wrapperr   "   s(   € ð	Ü! '¨7Ó3Ð3øÜò 	ØŠNð	ús   ‚ Ž›c                 ó$   — t        t        | ¬«      S )N©r   )r   r   r   s    r   r   r   (   s   € Ü”°Ô8Ð8ó    ©r   é   )Ú__version__)z__init__.pyz__init__.pycz__init__.pyxz__init__.pxdz
__{}_cachez^__(.+)_cache$z/* Generated by Cython %s */zus-asciic                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú"_TryFinallyGeneratorContextManagerz_
    Fast, bare minimum @contextmanager, only for try-finally, not for exception handling.
    c                 ó   — || _         y r   )Ú_gen)ÚselfÚgens     r   Ú__init__z+_TryFinallyGeneratorContextManager.__init__?   s	   € Øˆ�	r   c                 ó,   — t        | j                  «      S r   )Únextr$   ©r%   s    r   Ú	__enter__z,_TryFinallyGeneratorContextManager.__enter__B   ó   € Ü�D—I‘I‹Ðr   c                 óZ   — 	 t        | j                  «       y # t        t        f$ r Y y w xY wr   )r)   r$   ÚStopIterationÚGeneratorExit)r%   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__z+_TryFinallyGeneratorContextManager.__exit__E   s)   € ð	Ü�—‘�OøÜœ}Ð-ò 	Ùð	ús   ‚ ˜*©*N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   r+   r3   © r   r   r"   r"   ;   s   „ ñòòór   r"   c                 ó.   ‡ — t        ‰ «      ˆ fd„«       }|S )Nc                  ó&   •— t         ‰| i |¤Ž«      S r   )r"   )ÚargsÚkwargsÚgen_funcs     €r   Úmake_genz,try_finally_contextmanager.<locals>.make_genM   s   ø€ ä1±(¸DÐ2KÀFÑ2KÓLÐLr   r   )r=   r>   s   ` r   Útry_finally_contextmanagerr?   L   s    ø€ Ü
ˆ8ƒ_óMó ðMà€Or   ©Úcache)Ú	lru_cache)Úmaxsizec                  ó:   — t         D ]  } | j                  «        Œ y r   )r   Úcache_clearr@   s    r   Úclear_function_cachesrF   ]   s   € ß!ˆØ×ÑÕñ "r   c                 óT   — t        | «      }t        j                  |«       | |_        |S r   )r   r   ÚappendÚuncached)ÚfÚcfs     r   Úcached_functionrL   b   s&   € Ü	˜Ó	€BÜ×Ñ˜BÔØ€B„KØ€Ir   c              #   ó†   K  — t        | «      D ]/  }t        j                  |«      }|€Œ||j                  d«      f–— Œ1 y­w)zÊThe function iterates over the attributes of the object and,
    if it finds the name of the cache, it returns it and the corresponding method name.
    The method may not be present in the object.
    Nr   )ÚdirÚ_CACHE_NAME_PATTERNÚmatchÚgroup)ÚobjÚ	attr_namerP   s      r   Ú_find_cache_attributesrT   j   s?   è ø€ ô
 ˜–Xˆ	Ü#×)Ñ)¨)Ó4ˆØÑØ˜UŸ[™[¨›^Ð+Ó+ñ ùs
   ‚&A©Ac                 ó\   — t        | «      D ]  \  }}t        | |«      sŒt        | |«       Œ  y)zbRemoves every cache found in the object,
    if a corresponding method exists for that cache.
    N)rT   ÚhasattrÚdelattr)rR   Ú
cache_nameÚmethod_names      r   Úclear_method_cachesrZ   u   s,   € ô $:¸#Ö#>Ñˆ
�KÜ�3˜Õ$Ü�C˜Õ$ñ $?r   c                 ó@   ‡ ‡— t        ‰ j                  «      Šˆˆ fd„}|S )Nc                 ór   •— t        | ‰d «      }|€i }t        | ‰|«       ||v r||   S  ‰| g|¢­Ž x}||<   |S r   )ÚgetattrÚsetattr)r%   r;   rA   ÚresrX   rJ   s       €€r   r   zcached_method.<locals>.wrapperƒ   sS   ø€ Ü˜˜j¨$Ó/ˆØˆ=ØˆEÜ�D˜* eÔ,Ø�5‰=Ø˜‘;ÐÙ˜d˜N TšNÐ*ˆˆe�D‰kØˆ
r   )Ú_build_cache_namer4   )rJ   r   rX   s   ` @r   Úcached_methodra   €   s   ù€ Ü" 1§:¡:Ó.€Jõð €Nr   c                 óP   — t         j                  j                  | «      \  }}||z   S r   )r   ÚpathÚsplitext)rc   ÚnewsufÚbaseÚ_s       r   Úreplace_suffixrh   �   s$   € Ü�g‰g×Ñ˜tÓ$�G€Dˆ!Ø�&‰=Ðr   c                 ó†   — t         j                  j                  | «      rt        j                  | «       t	        | dd¬«      S )NÚwúUTF-8)Úencoding)r   rc   ÚexistsÚunlinkÚopen©rc   s    r   Úopen_new_filerq   •   s0   € Ü	‡w�w‡~�~�dÔô 	�	‰	�$Œô ��c GÔ,Ð,r   c                 óþ   — t        | dd¬«      sy 	 t        | «      }|j                  d«       |j                  «        |r0t	        j
                  | |j                  |j                  dz
  f«       y y # t        $ r Y y w xY w)NTF)Úallow_failedÚif_not_foundzN#error Do not use this file, it is the result of a failed Cython compilation.
r   )	Úis_cython_generated_filerq   ÚwriteÚcloser   ÚutimeÚst_atimeÚst_mtimeÚOSError)rc   ÚstrJ   s      r   Úcastrate_filer}       sx   € ô
 $ D°tÈ%ÕPØð	9Ü˜$Óˆð 	
�‰Ø]ô	_à	�‰Œ	ÙÜ�H‰H�T˜BŸK™K¨¯©°Q©Ð7Õ8ð øô ò Ùðús   ‘A0 Á0	A<Á;A<Tc                 ó(  — d}d }t         j                  j                  | «      r0	 t        | d«      5 }|j	                  t        |«      «      }d d d «       |€|S |j                  d«      xs |xr ||k(  xs | S # 1 sw Y   Œ.xY w# t        $ r Y Œ<w xY w)NsM   #error Do not use this file, it is the result of a failed Cython compilation.Úrbs   /* Generated by Cython )r   rc   rm   ro   ÚreadÚlenr{   Ú
startswith)rc   rs   rt   Úfailure_markerÚfile_contentrJ   s         r   ru   ru   ´   s¢   € Øe€NØ€LÜ	‡w�w‡~�~�dÔð	Ü�d˜DÔ! QØ Ÿv™v¤c¨.Ó&9Ó:�÷ "ð
 ÐàÐð 	×ÑÐ :Ó;ò 	à	Ò	8˜,¨.Ñ8ò	ð Ðð÷ "Ð!ûäò 	Ùð	ús(   ¥B ±A9ÁB Á9BÁ>B Â	BÂBc                 ó  — d}t         j                  j                  | «      r4	 t        | d«      5 }|j	                  t        t        «      «      }d d d «       |xr |j                  t        «      S # 1 sw Y   Œ"xY w# t        $ r Y Œ0w xY w)Nr   r   )	r   rc   rm   ro   r€   r�   ÚGENERATED_BY_MARKER_BYTESr{   r‚   )rc   r„   rJ   s      r   Úfile_generated_by_this_cythonr‡   Ì   st   € Ø€LÜ	‡w�w‡~�~�dÔð	Ü�d˜DÔ! QØ Ÿv™v¤cÔ*CÓ&DÓE�÷ "ð ÒN˜L×3Ñ3Ô4MÓNÐN÷	 "Ð!ûäò 	Ùð	ús(   £A; ¯A/ÁA; Á/A8Á4A; Á;	BÂBc                 ó"   — t        | «      }||kD  S r   )Úmodification_time)rc   ÚtimeÚftimes      r   Úfile_newer_thanrŒ   ×   s   € Ü˜dÓ#€EØ�4‰<Ðr   c                 óŽ   — 	 t        j                  | «       y # t        $ r# t         j                  j	                  | «      s‚ Y y w xY wr   )r   Úmakedirsr{   rc   Úisdirrp   s    r   Úsafe_makedirsr�   Ü   s:   € ðÜ
�‰�DÕøÜò Ü�w‰w�}‰}˜TÔ"Øñ #ðús   ‚ ˜)AÁAc                 ó  — t         j                  j                  |t         j                  j                  | «      «      }	 t	        |«      }t        | |«      syt        j                  | |«       y# t        $ r t        |«       Y Œ-w xY w)zÇ
    Copy file sourcefile to directory destdir (creating it if needed),
    preserving metadata. If the destination file exists and is not
    older than the source file, the copying is skipped.
    N)
r   rc   ÚjoinÚbasenamer‰   rŒ   r{   r�   r   Úcopy2)Ú
sourcefileÚdestdirÚdestfileÚdesttimes       r   Úcopy_file_to_dir_if_newerr™   ä   sl   € ô �w‰w�|‰|˜G¤R§W¡W×%5Ñ%5°jÓ%AÓB€HðÜ$ XÓ.ˆô ˜z¨8Ô4ØÜ
‡L�L�˜XÕ&øô ò ä�gÖðús   ¿A. Á.BÂBc                 ó~   — t         j                  j                  | «      }| |k(  r|S t        |«      rt	        |«      S |S r   )r   rc   ÚdirnameÚis_package_dirÚfind_root_package_dir)Ú	file_pathrN   s     r   r�   r�   ÷   s9   € ä
�'‰'�/‰/˜)Ó
$€CØ�CÒØˆ
Ü	˜Ô	Ü$ SÓ)Ð)àˆ
r   c                 ó|   — d}|D ]2  }t         j                  j                  | |«      } t        | «      }|sŒ1d}Œ4 | |fS )NTF)r   rc   r’   Úcontains_init)Údir_pathÚpackage_namesÚ	namespacer›   Úhas_inits        r   Úcheck_package_dirr¥     sD   € à€IÛ ˆÜ—7‘7—<‘< ¨'Ó2ˆÜ  Ó*ˆÚØ‰Ið	 !ð
 �YÐÐr   c                 ót   — t         D ]/  }t        j                  j                  | |«      }t	        |«      sŒ/ y y ©Nr   )ÚPACKAGE_FILESr   rc   r’   Úpath_exists)r¡   Úfilenamerc   s      r   r    r      s+   € ç!ˆÜ�w‰w�|‰|˜H hÓ/ˆÜ�tÕÙñ "r   c                 ó   — t        | «      ryy r§   )r    )r¡   s    r   rœ   rœ     s   € Ü�XÔØð r   c                 óT  — t         j                  j                  | «      ry	 t        }t	        |dd «      }|rTt         j                  j                  | «      }|j                  |«      r$|t        |«      dz   d  }	 |j                  |«       yy# t        $ r Y yw xY w# t        $ r Y yw xY w)NTÚarchiver   F)r   rc   rm   Ú
__loader__r]   Únormpathr‚   r�   Úget_datar{   Ú	NameError)rc   ÚloaderÚarchive_pathr¯   Úarcnames        r   r©   r©     s®   € ô 
‡w�w‡~�~�dÔØðÜˆô ˜v y°$Ó7ˆÙÜ—w‘w×'Ñ'¨Ó-ˆHØ×"Ñ" <Ô0Ø"¤3 |Ó#4°QÑ#6Ð#7Ð8�ð!Ø—O‘O GÔ,Øð
 øô	 ò !Ù ð!ûäò ØØðús0   ¢AB Á9B Â	BÂB ÂBÂB Â	B'Â&B'z .*[.]cython-([0-9]+)[.][^./\\]+$z^([0-9]+)[.]([0-9]+).*z\1\2c                 ó†  — |r
|dd dk(  sJ ‚t         j                  j                  | |«      }t        j                  t        j                  |«      dz   |z   «      }||z   }t         j                  j                  |«      sd}d|f}|D ]4  }t        |«      }|sŒt        |d   «      }	|d   |	cxk  r|k  sŒ.n Œ1|	|f}Œ6 |d   S )a?  
    Search a directory for versioned pxd files, e.g. "lib.cython-30.pxd" for a Cython 3.0+ version.

    @param directory: the directory to search
    @param filename: the filename without suffix
    @param suffix: the filename extension including the dot, e.g. ".pxd"
    @return: the file path if found, or None
    Nr   Ú.z	.cython-*éÿÿÿÿr   )r   rc   r’   r   Úescaperm   r   Úint)
Ú	directoryrª   ÚsuffixÚ_current_versionÚpath_prefixÚmatching_filesrc   Ú
best_matchÚversionsÚint_versions
             r   Úfind_versioned_filerÂ   6  sÄ   € ñ ˜  ˜ sÒ*Ð*Ð*Ü—'‘'—,‘,˜y¨(Ó3€Kä—Y‘YœtŸ{™{¨;Ó7¸+ÑEÈÑNÓO€NØ˜Ñ€DÜ�7‰7�>‰>˜$ÔØˆØ�d�€JãˆÜ& tÓ,ˆÚÜ˜h q™kÓ*ˆKà˜!‰}˜{Ô>Ð.>Ö>Ø)¨4Ð0‘
ð ð �a‰=Ðr   c                 óÂ   — t        | t        «      r>	 t        j                  «       }|€t        j                  «       }| j                  |«      } | S | S # t        $ r Y | S w xY wr   )Ú
isinstanceÚbytesr   ÚgetfilesystemencodingÚgetdefaultencodingÚdecodeÚUnicodeDecodeError)rª   Úfilename_encodings     r   Údecode_filenamerË   V  sh   € Ü�(œEÔ"ð	Ü #× 9Ñ 9Ó ;ÐØ Ð(Ü$'×$:Ñ$:Ó$<Ð!Ø—‘Ð'8Ó9ˆHð €Oˆ8€Oøô "ò 	ØØ€Oð	ús   ’;A Á	AÁAs   (\w*coding)[:=]\s*([-\w.]+)c                 ó   — d}d}t        |«      dk  r9| j                  d«      }||z  }|j                  d«      }|snt        |«      dk  rŒ9t        |d   «      }|r4|j	                  d«      dk7  r |j	                  d	«      j                  d
«      S t        |«      dkD  r0t        |d   «      }|r |j	                  d	«      j                  d
«      S |S )Nr8   r   r   iô  ó   
r   r   s   c_string_encodingé   z	iso8859-1)r�   r€   Úsplitr   rQ   rÈ   )rJ   ÚdefaultÚlinesÚstartÚdataÚms         r   Údetect_opened_file_encodingrÕ   g  sÆ   € ð €EØ€EÜ
ˆe‹*�qŠ.Ø�v‰v�c‹{ˆØ�‰ˆØ—‘˜EÓ"ˆÙØô ˆe‹*�q‹.ô 	˜U 1™XÓ&€AÙˆQ�W‰W�Q‹ZÐ/Ò/Ø�w‰w�q‹z× Ñ  Ó-Ð-Ü	ˆU‹�aŠÜ   q¡Ó*ˆÙØ—7‘7˜1“:×$Ñ$ [Ó1Ð1Ø€Nr   c                 óP   — | j                  d«      dk7  r| j                  d«       yy)z¢
    Read past a BOM at the beginning of a source file.
    This could be added to the scanner, but it's *substantially* easier
    to keep it at this level.
    r   u   ï»¿r   N)r€   Úseek)rJ   s    r   Úskip_bomrØ   ~  s$   € ð 	‡v�vˆaƒy�HÒØ	�‰ˆq�	ð r   c                 óÈ  — d }	 |€At        | d«      }t        |«      }|j                  d«       t        j                  |||¬«      }nt        | ||¬«      }|€t        | «      ‚t!        |«       |S # t
        $ ri t        j                  j                  | «      r‚ 	 t        }| j                  |j                  «      rt        || ||«      }n# t        t        f$ r Y nw xY wY Œ‹w xY w)Nr   r   ©rl   Úerrors)ro   rÕ   r×   r   ÚTextIOWrapperr{   r   rc   rm   r®   r‚   r­   Úopen_source_from_loaderr±   r   ÚFileNotFoundErrorrØ   )Úsource_filenamerl   Úerror_handlingÚstreamrJ   r²   s         r   Úopen_source_filerâ   ˆ  sá   € Ø€FðØÐä�_ dÓ+ˆAÜ2°1Ó5ˆHØ�F‰F�1ŒIÜ×%Ñ% a°(À>ÔR‰Fä˜/°HÀ^ÔTˆFð €~Ü Ó0Ð0ÜˆVÔØ€Møô! ò Ü�7‰7�>‰>˜/Ô*Øð	ÜˆFØ×)Ñ)¨&¯.©.Ô9Ü0Ø˜OØ˜nó.�ùô œ>Ð*ò 	Ùð	üðús6   „AA/ Á/)C!Â/C	ÃC!Ã	CÃC!ÃCÃC!Ã C!c                 óî   — t         j                  j                  |«      }|t        | j                  «      dz   d  }| j                  |«      }t        j                  t        j                  |«      ||¬«      S )Nr   rÚ   )	r   rc   r¯   r�   r­   r°   r   rÜ   ÚBytesIO)r²   rß   rl   rà   Únrmpathr´   rÓ   s          r   rÝ   rÝ   §  se   € ô �g‰g×Ñ˜Ó/€GØ”c˜&Ÿ.™.Ó)¨!Ñ+Ð,Ð-€GØ�?‰?˜7Ó#€DÜ×ÑœBŸJ™J tÓ,Ø%-Ø#1ô3ð 3r   c                 óB  — d}| d d dk(  rd}| dd  } t        | «      dk  rt        | d«      } nm| d   dk(  rY| d   }|dv rt        | «      } t        | dd  d	«      } nA|d
v rt        | dd  d«      } n-|dv rt        | dd  d«      } nt        | d«      } nt        | d«      } |r|  S | S )NFr   Ú-TrÎ   r   Ú0ÚxXé   ÚoOé   ÚbB)r�   r¹   Ústrip_py2_long_suffix)ÚvalueÚis_negÚliteral_types      r   Ústr_to_numberrò   ²  sÐ   € ð €FØˆRˆa€y�CÒØˆØ�a�b�	ˆÜ
ˆ5ƒz�A‚~Ü�E˜1“‰Ø	ˆq‰�SŠØ˜Q‘xˆØ˜4Ñä)¨%Ó0ˆEÜ˜˜a˜b˜	 2Ó&‰EØ˜TÑ!ä˜˜a˜b˜	 1Ó%‰EØ˜TÑ!ä˜˜a˜b˜	 1Ó%‰Eô ˜˜q“M‰Eä�E˜1“ˆÙˆEˆ6Ð& Ð&r   c                 ó   — | d   dv r| dd S | S )z~
    Python 2 likes to append 'L' to stringified numbers
    which in then can't process when converting them to numbers.
    r·   ÚlLNr8   )Ú	value_strs    r   rî   rî   Ï  s"   € ð
 ��}˜ÑØ˜˜"ˆ~ÐØÐr   c                 ó\   — t        | t        «      rt        | «      } d| cxk  xr dk   S c  S )Ni   €l        )rÄ   Ústrrò   )rï   s    r   Úlong_literalrø   Ù  s2   € Ü�%œÔÜ˜eÓ$ˆØ˜Ö& Ñ&Ð&Ð&Ñ&Ð&Ð&r   c              #   ó˜  ‡‡‡K  — t        j                  | «      }	 t        j                  d¬«      5 Šdgfˆfd„	Št        j                  ‰j                  «       | «       ˆˆfd„}|–— t        j                  || «        ‰«        d d d «       t        j                  |«       y # 1 sw Y   ŒxY w# t        j                  |«       w xY w­w)Nza+b)Úmoder   c                 ón   •— ‰j                   s$‰j                  d«       ‰j                  «       | d<   | d   S )Nr   )Úclosedr×   r€   )Ú_outputÚ	temp_files    €r   Úread_outputz captured_fd.<locals>.read_outputä  s2   ø€ Ø ×'Ò'Ø—N‘N 1Ô%Ø!*§¡Ó!1�G˜A‘JØ˜q‘zÐ!r   c                  ó<   •—  ‰«       } ‰r| j                  ‰«      S | S r   )rÈ   )Úresultrl   rÿ   s    €€r   Ú
get_outputzcaptured_fd.<locals>.get_outputë  s    ø€ Ù$›�Ù2:�v—}‘} XÓ.ÐFÀÐFr   )r   Údupr	   ÚTemporaryFileÚdup2Úfilenorw   )rá   rl   Úorig_streamr  rÿ   rþ   s    `  @@r   Úcaptured_fdr  ß  s—   úè ø€ ä—&‘&˜“.€KðÜ×#Ñ#¨Õ/°9Ø%( Eõ "ô �G‰G�I×$Ñ$Ó&¨Ô/õGð Òä�G‰G�K Ô(ÙŒM÷ 0ô" 	�‰�Õ÷# 0Ð/ûô" 	�‰�Õüs4   …C
œB0 ²AB$ÂB0 ÂC
Â$B-Â)B0 Â0CÃC
c                  ó  — t        j                  «       g} t         j                  t         j                  t         j                  t         j
                  fD ](  }t        |dd «      }|€Œ|| vsŒ| j                  |«       Œ* | S )Nrl   )r   rÇ   ÚstdoutÚstdinÚ
__stdout__Ú	__stdin__r]   rH   )Ú
candidatesrá   rl   s      r   Úget_encoding_candidatesr  ÷  sh   € Ü×(Ñ(Ó*Ð+€JÜ—:‘:œsŸy™y¬#¯.©.¼#¿-¹-ÓHˆÜ˜6 :¨tÓ4ˆàÑ H°JÒ$>Ø×Ñ˜hÕ'ð	 Ið
 Ðr   c                 ó¬   — | j                  «       }|sy t        «       D ]  }	 |j                  |«      c S  |j                  d«      S # t        $ r Y Œ4w xY w)Nzlatin-1)Ústripr  rÈ   rÉ   )ÚcapturedÚcaptured_bytesrl   s      r   Úprepare_capturedr    s^   € Ø—^‘^Ó%€NÙØÜ+Ö-ˆð	Ø!×(Ñ(¨Ó2Ò2ð .ð × Ñ  Ó+Ð+øô "ò 	Ùð	ús   ¢AÁ	AÁAc                 óh   — t        | «      } | r%|r|j                  |«       |j                  | «       y y r   )r  rv   )r  ÚoutputÚheader_lines      r   Úprint_capturedr    s/   € Ü Ó)€HÙÙØ�L‰L˜Ô%Ø�‰�XÕð r   rÍ   c                 óÐ   — |r|j                  |«       |j                  «        |j                  }|j                  | «       |r|j                  |«       |r|j                  «        y y r   )rv   ÚflushÚbuffer)ÚsÚheader_textÚendÚfiler  Úouts         r   Úprint_bytesr!    sM   € ÙØ�
‰
�;ÔØ‡J�J„LØ
�+‰+€CØ‡I�Iˆa„LÙ
Ø�	‰	�#ŒÙØ�	‰	�ð r   c                   ó0   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ ZeZy)Ú
OrderedSetc                 óR   — g | _         t        «       | _        | j                  |«       y r   )Ú_listÚsetÚ_setÚupdate)r%   Úelementss     r   r'   zOrderedSet.__init__#  s   € ØˆŒ
Ü“EˆŒ	Ø�‰�HÕr   c                 ó,   — t        | j                  «      S r   )Úiterr%  r*   s    r   Ú__iter__zOrderedSet.__iter__(  s   € Ü�D—J‘JÓÐr   c                 ó4   — |D ]  }| j                  |«       Œ y r   )Úadd)r%   r)  Úes      r   r(  zOrderedSet.update+  s   € ÛˆAØ�H‰H�Q�Kñ r   c                 óŽ   — || j                   vr7| j                  j                  |«       | j                   j                  |«       y y r   )r'  r%  rH   r.  )r%   r/  s     r   r.  zOrderedSet.add/  s5   € Ø�D—I‘IÑØ�J‰J×Ñ˜aÔ Ø�I‰I�M‰M˜!Õð r   c                 ó,   — t        | j                  «      S r   )Úboolr'  r*   s    r   Ú__bool__zOrderedSet.__bool__4  r,   r   N)r8   )	r4   r5   r6   r'   r,  r(  r.  r3  Ú__nonzero__r8   r   r   r#  r#  "  s"   „ óò
 òòò
ð �Kr   r#  c                 ó   ‡ — ˆ fd„}|S )z6Class decorator for creating a class with a metaclass.c                 ó8  •— | j                   j                  «       }|j                  d«      }|�+t        |t        «      r|g}|D ]  }|j                  |«       Œ |j                  dd «       |j                  dd «        ‰| j                  | j                  |«      S )NÚ	__slots__Ú__dict__Ú__weakref__)r8  ÚcopyÚgetrÄ   r÷   Úpopr4   Ú	__bases__)ÚclsÚ	orig_varsÚslotsÚ	slots_varÚ	metaclasss       €r   r   zadd_metaclass.<locals>.wrapper>  sƒ   ø€ Ø—L‘L×%Ñ%Ó'ˆ	Ø—‘˜kÓ*ˆØÐÜ˜%¤Ô%Ø˜�Û"�	Ø—‘˜iÕ(ð #à�‰�j $Ô'Ø�‰�m TÔ*Ù˜Ÿ™ s§}¡}°iÓ@Ð@r   r8   )rB  r   s   ` r   Úadd_metaclassrC  <  s   ø€ ô
Að €Nr   c                 óF   — | dk(  s| j                  d«      rt        d«      ‚y )NÚcythonzcython.z;cython is a special module, cannot be used as a module name)r‚   Ú
ValueError)Úfull_module_names    r   Ú$raise_error_if_module_name_forbiddenrH  L  s*   € à˜8Ò#Ð'7×'BÑ'BÀ9Ô'MÜÐVÓWÐWð (Nr   c                 ó  — g }d}t        j                  d| «      D ]@  }|dv rddddœ|   }|ddgz   dd	 }Œ|d
v r n"|dk7  sŒ'|j                  t        |«      «       ŒB |dgd	z  z   dd }|d	xx   |z  cc<   d}|D ]
  }|dz  |z   }Œ d|z  S )zÔ
    Parse and translate public version identifier like '4.3a1' into the readable hex representation '0x040300A1' (like PY_VERSION_HEX).

    SEE: https://peps.python.org/pep-0440/#public-version-identifiers
    éð   z(\D+))ÚaÚbÚrcé    é°   éÀ   r   Nr   )z.devz.prez.postr¶   é   rì   z0x%08X)r   rÏ   rH   r¹   )Úversion_stringÚdigitsÚrelease_statusÚsegmentÚ
hexversionÚdigits         r   Úbuild_hex_versionrX  R  sÇ   € ð €FØ€NÜ—8‘8˜H nÖ5ˆØÐ&Ñ&Ø#'¨d¸$Ñ?ÀÑHˆNØ  1˜v‘o r¨Ð*‰FØÐ1Ñ1ÙØ˜‹^Ø�M‰Mœ#˜g›,Õ'ð 6ð ˜�s˜Q‘wÑ  Ð#€FØ
ˆ1ƒI�ÑƒIð €JÛˆØ  A‘o¨Ñ.‰
ð ð �jÑ Ð r   c                 ó¢  — t         j                  j                  |«      }t        j                  «       }|j	                  t         j
                  «      s|t         j
                  z  }g }|D ]F  }	 t         j                  j                  ||«      }|j                  dd«      }|j                  |«       ŒH t         j                  j                  | |«      dz   }|dj                  |«      dz   z  }t        | dz   d«      5 }	|	j                  |«       d d d «       y # t        $ r" t         j                  j                  |«      }Y Œ³w xY w# 1 sw Y   y xY w)NÚ z\ z: \
  z \
  Ú
z.deprj   )r   rc   r›   ÚgetcwdÚendswithÚsepÚrelpathrF  ÚabspathÚreplacerH   r’   ro   rv   )
ÚtargetÚsourceÚdependenciesÚsrc_base_dirÚcwdÚpathsÚfnameÚnewpathÚdeplineÚoutfiles
             r   Úwrite_depfilerl  p  s  € Ü—7‘7—?‘? 6Ó*€LÜ
�)‰)‹+€CØ× Ñ ¤§¡Ô(ØœŸ™Ñˆà€EÛˆð	-Ü—g‘g—o‘o e¨SÓ1ˆGð —/‘/ # uÓ-ˆØ�‰�WÕð ô �g‰g�o‰o˜f cÓ*¨ZÑ7€GØˆy�~‰~˜eÓ$ tÑ+Ñ+€Gä	ˆf�V‰m˜SÔ	! WØ�‰�gÔ÷ 
"Ð	!øô ò 	-ä—g‘g—o‘o eÓ,ŠGð	-ú÷ 
"Ð	!ús   Á. DÃ<EÄ(EÅEÅEc                  óL  — t        dt        z  «       t        j                  j	                  «       s!t        j
                  t        j                  k(  ry t        j                  d«      t        j                  d«      k(  ry t        j                  j                  dt        z  «       y )NzCython version %sr   rÎ   zCython version %s
)	Úprintr   r   ÚstderrÚisattyr
  r   Úfstatrv   r8   r   r   Úprint_versionrr  ‰  si   € Ü	Ð
¤Ñ
.Ô/ô ‡z�z×ÑÔœcŸj™j¬C¯J©JÒ6ØÜ	‡x�x�ƒ{”b—h‘h˜q“kÒ!ð 	Ü‡J�J×ÑÐ*¬^Ñ;Õ<r   c                 ó†  — | j                  «       j                  d«      }d}d|v sd|v r&|j                  d|v rdndd«      \  }}t        |«      }d|v r |j	                  d«      }|d| ||dz   d z   }nt        |«      }||z  }|d| d|t        |«      z
  z  z   dz   d| z  z   ||d z   j                  d«      }|dk7  r|S dS )	z�
    Generate a 'normalised', simple digits string representation of a float value
    to allow string comparisons.  Examples: '.123', '123.456', '123.'
    rè   r   ÚEr/  r   r¶   Nz.0)ÚlowerÚlstriprÏ   r¹   Úindexr�   Úrstrip)Ú	float_strÚ	str_valueÚexpÚnum_int_digitsr  s        r   Únormalise_float_reprr}  –  s  € ð
 —‘Ó!×(Ñ(¨Ó-€Ià
€CØ
ˆiÑ˜3 )Ñ+Ø"Ÿ™°°yÑ0@©ÀcÈ1ÓM‰ˆ	�3Ü�#‹hˆà
ˆiÑØ"Ÿ™¨Ó-ˆØ˜o˜~Ð.°¸>ÈAÑ;MÐ;NÐ1OÑO‰	ä˜Y›ˆØˆ>Ñ€Cð 	�$�3ˆØ
�”s˜9“~Ñ%Ñ
&ñ	'à
ñ	ð ��‰*ñ	ð �C�Dˆ/ñ		÷
 �fˆSƒkð ð ˜s’]ˆ6Ð,¨Ð,r   )FT)rk   )NN)rÎ   Nr   )Ur7   rE  ÚdeclareÚobjectÚlistr   r   r   r   r   r   r	   Úversion_infoÚ	functoolsr
   r   r   r   Ú r    r   r¨   Úformatr`   ÚcompilerO   rc   Úgetmtimer‰   ÚGENERATED_BY_MARKERÚencoder†   r"   r?   rA   r   ÚImportErrorrB   r   rF   rL   rT   rZ   ra   rh   rq   r}   ru   r‡   rŒ   r�   r™   r�   r¥   r    rœ   r©   Úfindallr   r¹   ÚsubrÂ   rË   Úsearchr   rÕ   rØ   râ   rÝ   rò   rî   rø   r  r  r  r  r
  r!  r#  rC  rH  rX  rl  rr  r}  r8   r   r   Ú<module>r�     s“  ðñó
 à €‡�Ø�6˜f¨°fÀVÐV\Ø 6°ÈØ¨TÀvÐdjõó 
Û 
Û 	Û 	Û Û Û ð ×Ñ�fÒ÷ 2òó9õ  õ ,àO€à ×'Ñ'Ð Ø �b—j‘jÐ!2Ó3Ð à—G‘G×$Ñ$Ð à4°~ÑEÐ Ø/×6Ñ6°zÓBÐ ÷ñ ò"ð.Ý2ð Ð òò
ò,ò%òò ò
-ò9ó(ò0Oòò
ò'ð& ñó ðð ñó ðð ñó ðòð
 ñó ðð0 !�b—j‘jÐ!DÓE×MÑMÐ ð á),¨V¨R¯V©VÐ4MÈwÐXfÓ-gÓ)hòó ðò>	ð "�r—z‘zÐ"AÓB×IÑIÐ óò.óðB ;?ó3ò'ò:ò'ð òó ðò.ò
,óð  $¨°S·Z±ZÀtó 	÷ñ ò4ò Xò!ò<ò2
=ó-øðC ò .Ý#Ù¨Ô-ƒOð.ús   ÃG ÇG+Ç*G+