
    zIgG                     D    d Z ddlZddlZddlZd Zd Z e       \  ZZZZ	y)z9
Check OS requirements for ONNX Runtime Python Bindings.
    Nc                     d} d}t        j                         j                         }d}d}|dk(  rC|} t        j                         j                         }|dvrt	        j
                  d| d       y y |dk(  r	 t        j                  |d	      d	d
 } t        j                  |d      dd }| s2t        j                  |d      dd
 } t        j                  |d      dd
 }| j                         } |j                         }y |dk(  r_|} t        j                         j                         }t        |j                  d      d         dk  rt	        j
                  d| d       y y t	        j
                  d| d       y )N z/etc/os-releasez/etc/lsb-releasewindows)1011zUnsupported Windows version (z4). ONNX Runtime supports Windows 10 and above, only.linux                     darwin.r   zUnsupported macOS version (z-). ONNX Runtime supports macOS 11.0 or later.zUnsupported platform (zB). ONNX Runtime supports Linux, macOS and Windows platforms, only.)
platformsystemlowerreleasewarningswarn	linecachegetlineintsplit)__my_distro____my_distro_ver____my_system____OS_RELEASE_FILE____LSB_RELEASE_FILE__s        d/var/www/html/answerous/venv/lib/python3.12/site-packages/onnxruntime/capi/onnxruntime_validation.pycheck_distro_infor$      s   MOO%++-M+-	!%$,,.446L0MM/0A/BBvw 1 
'	!	 "))*=qA!BG%--.A1EbL %--.BAFr"MM ) 1 12F J2b Q &++--335	(	"%$,,.446 &&s+A./"4MM-.?-@@mn 5
 	$]O3uv	
    c                    	
 d } d}	 ddl m} d}d
dd|rs	 ddlm dd	lm	
 	 dd
lm
 r\	 ddlm	 	
fd}ddlm}  |d      }	r<|r:	|vr6 |        t        j                  d       t        j                  d|        n	 | r| |
fS # t        $ r d}Y t        $ r5}	 ddlm} t        ||      rd}n# t        $ r d}Y nw xY w|s|} Y d }~d }~ww xY w# t        $ r Y w xY w# t        $ r t        j                  d       d 	Y w xY w# t        $ r*}t        j                  d       t!        |       Y d }~d }~ww xY w)NFr   )	ORTModuleT)ORTModuleInitExceptionr   r   )__version__)package_name)cuda_version)cudart_versionzBWARNING: failed to get cudart_version from onnxruntime build info.c                      t        j                  d        t        j                  d        t        j                  d         t        j                  d        y )Nz1onnxruntime training package info: package_name: z0onnxruntime training package info: __version__: z1onnxruntime training package info: cuda_version: z(onnxruntime build info: cudart_version: )r   r   )r+   r,   r*   versions   r#   print_build_package_infoz=validate_build_package_info.<locals>.print_build_package_infot   sZ    MM$UVbUc"deMM$TU\T]"^_MM$UVbUc"deMM$L^L\"]^r%   )find_cudart_versions)	build_envbuild_cuda_versionzJWARNING: failed to find cudart version that matches onnxruntime build infoz WARNING: found cudart versions: z=WARNING: failed to collect onnxruntime version and build info)onnxruntime.training.ortmoduler'   ImportError	Exception(onnxruntime.training.ortmodule._fallbackr(   
isinstancebuild_and_package_infor)   r*   r+   r,   r   r   /onnxruntime.capi.onnxruntime_collect_build_infor0   print)import_ortmodule_exceptionhas_ortmoduler'   er(   r/   r0   local_cudart_versionsr+   r,   r*   r.   s           @@@@r#   validate_build_package_infor?   @   ss   !%M+<* LGL'	F<@ *F
_ a(<uam(n%!&;Vk@k,.MM"noMM$DEZD["\]  "((,==K   +	"W!34 $ 	"!M	" )*&+:   ! *MM"fg%)N*,  	MMYZ!HH	s   B D C$ D C3 AD C!$C!-CCCCCCC!$	C0-D /C00D 3 DD DD 	E" EE)
__doc__r   r   r   r$   r?   r<   r*   r.   r+    r%   r#   <module>rB      s6   
   0
fM>` 6Q5R 2|Wlr%   