
    Wh                        U d dl mZ d dlZd dlZd dlZd dlZdZdZded<   dZ	ded<   dd	Z
ddZddZddZddZd Z e
            ZdZd Z ee          Z ee          ZdS )    )annotationsNz0.4.38str_release_version(c4e3f5a3563e4ef34ba8c4dfa797ca4a47c17188	_git_hashreturnc                 n    t           t           S t          t                    pt          t                    S N)r   _version_from_git_tree_version_version_from_todays_date     T/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/jaxlib/version.py_get_version_stringr   !   s,     !		)	)	P-Fx-P-PPr   base_versionc                r    t           j                                                            d          }|  d| S )N%Y%m%d.dev)datetimedatetodaystrftime)r   
datestrings     r   r   r   )   s7    }""$$--h77*	*	*j	*	**r   
str | Nonec                   	 t           j                            t           j                            t                              }t          j        g d|t
          j        t
          j                  }|                                \  }}|	                                
                                                    dd          \  }}t          j                            t          |                                        d          }|                                sJ |                                sJ 	 |  d| d| }t           j                            dd           }	|	r|d	z   |	z   S |S #  Y d S xY w)
N)gitshowz-sz--format=%at-%hHEAD)cwdstdoutstderr-   r   r   +JAX_CUSTOM_VERSION_SUFFIX.)ospathdirnamerealpath__file__
subprocessPopenPIPEcommunicatedecodestripsplitr   r   fromtimestampintr   	isnumericisalnumenvironget)
r   root_directorypr!   _	timestampcommit_hashr   versionsuffixs
             r   r   r   .   sW   W__RW%5%5h%?%?@@N 	III+ *
	I 	I 	IA IFA#]]__2244::3BBI{,,S^^<<EEhOOJ!!!!!       ==:====GZ^^7>>F $s]V##N44s   D.E' 'E,c                    t           t           S t          j                            d          st          j                            d          rt	          t
                    S t          j                            d          st          j                            d          rt
          S t          t
                    pt	          t
                    S )a]  Determine the version at build time.

  The returned version string depends on which environment variables are set:
  - if JAX_RELEASE or JAXLIB_RELEASE are set: version looks like "0.4.16"
  - if JAX_NIGHTLY or JAXLIB_NIGHTLY are set: version looks like "0.4.16.dev20230906"
  - if none are set: version looks like "0.4.16.dev20230906+ge58560fdc
  NJAX_NIGHTLYJAXLIB_NIGHTLYJAX_RELEASEJAXLIB_RELEASE)r   r(   r8   r9   r   r   r   r   r   r   _get_version_for_buildrF   F   s     !Z^^M"" /bjnn5E&F&F /$X...Z^^M"" bjnn5E&F&F O		)	)	P-Fx-P-PPr   fnameNonec                
   t                      }d}d|}t          j        |           }|                                }|                    |          dk    rt          d|d|            |                    ||          }t          j        	                    d          }|rKd}d|}|                    |          dk    rt          d|d|            |                    ||          }|
                    |           d	S )
zJUsed by setup.py to write the specified version info into the source tree.z _release_version: str = '0.4.38'z_release_version: str =    zBuild: could not find z in JAX_GIT_HASHz;_git_hash: str = 'c4e3f5a3563e4ef34ba8c4dfa797ca4a47c17188'z_git_hash: str = N)rF   pathlibPath	read_textcountRuntimeErrorreplacer(   r8   r9   
write_text)	rG   release_versionold_version_stringnew_version_stringfhandlecontentsgithashold_githash_stringnew_githash_strings	            r   _write_versionr[   W   s)   *,,/9E/EEL'  (^^&''1,,
Q0BQQ%QQ
R
RR02DEE(JNN>**' HV8W88~~())Q..S2DSSESSTTT 24FGGH	Xr   c                ~     ddl m} ddlm}  G  fdd|          } G  fdd|          }t	          ||          S )	Nr   )build_py)sdistc                  "     e Zd Z fdZ xZS ) _get_cmdclass.<locals>._build_pyc                |   t           {t          j                            | j        t          j                            t                              }t          j                            |          rt          j        |           t                      
                                 t           t          |           d S d S r
   )r   r(   r)   join	build_libbasenamer,   isfileunlinksuperrunr[   )selfthis_file_in_build_dir	__class__pkg_source_paths     r   rh   z$_get_cmdclass.<locals>._build_py.runr   s    		!!#dno.0g.>.>x.H.H"J "J 7>>011 	,
)*
+
+
+ggkkmmm		!-..... 
"	!r   )__name__
__module____qualname__rh   __classcell__rk   rl   s   @r   	_build_pyr`   q   s>        / / / / / / / / / /r   rr   c                  "     e Zd Z fdZ xZS )_get_cmdclass.<locals>._sdistc           	         t                                          ||           t          Rt          t          j                            |t          j                            t                                         d S d S r
   )	rg   make_release_treer   r[   r(   r)   rb   rd   r,   )ri   base_dirfilesrk   rl   s      r   rv   z/_get_cmdclass.<locals>._sdist.make_release_tree   sw    gg%000		!rw||Ho$&G$4$4X$>$>@ @ 	A 	A 	A 	A 	A 
"	!r   )rm   rn   ro   rv   rp   rq   s   @r   _sdistrt      sH        A A A A A A A A A Ar   ry   )r^   r]   )setuptools.command.build_pyr]   setuptools.command.sdistr^   dict)rl   build_py_orig
sdist_origrr   ry   s   `    r   _get_cmdclassr   m   s    CCCCCC::::::/ / / / / / /- / / / A A A A A A Az A A A 
FY	/	/	//r   c                Z    t          d |                     d          D                       S )Nc              3  \   K   | ]'}|                                 t          |          V  (d S r
   )isdigitr5   ).0is     r   	<genexpr>z$_version_as_tuple.<locals>.<genexpr>   s5      EE!Es1vvEEEEEEr   r'   )tupler3   )version_strs    r   _version_as_tupler      s-    	EE{0055EEE	E	EEr   )r   r   )r   r   r   r   )r   r   r   r   )rG   r   r   rH   )
__future__r   r   r(   rL   r-   r   r   __annotations__r   r   r   r   rF   r[   r   __version___minimum_jaxlib_versionr   __version_info___minimum_jaxlib_version_infor   r   r   <module>r      s=  " # " " " " " "  				      !          <	 ; ; ; ;Q Q Q Q+ + + +
   0Q Q Q Q"   ,0 0 0< "!##" F F F %$[11 001HII   r   