§ À•¿j|q ã ó² — d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZd dlmc m c m Z d dlZd dl Z d dlmZmZ d dlmZ d dlmZ dd lmZ dd lmZ ddlmZ d dlmZ d d lmZ ddlmZ ddlm Z ddl!m"Z"m#Z# ddl$m%Z%m&Z& ddl'm(Z( dZ)e%Z*d'd„Z+d(d„Z,d„ Z-d„ Z.d(d„Z/ d)d„Z0d„ Z1d(d„Z2d(d„Z3d(d„Z4d(d„Z5d Z6 d*d!„Z7d+d"„Z8 d,d$„Z9d%„ Z:d&„ Z;dS )-é )Úprint_function)Úabsolute_import)ÚdivisionN)ÚConnectionErrorÚTimeout)Ú iteritems)Ú basestringé )Úclpassenger)Úclselectctl)Úutils)Úuserdomains)Úmod_makedirs)ÚClSelectExcept)ÚApplicationsManager)ÚenvironmentsÚinterpreters)ÚAPP_STARTED_CONSTÚAPP_STOPPED_CONST)Úclprintzapp.jsFc ó2 — t | |¦ « }|s|}t j || |¦ « }| ¦ « r|rV t j d¬¦ « | }n"# t $ r t j |¦ « ‚w xY w| ||¬¦ « |S )NÚversion)Úkey)Ú destroy_first) Ú_get_prefixr ÚEnvironmentÚexistsr ÚKeyErrorr ÚNoSuchAlternativeVersionÚcreate)ÚuserÚ directoryr Úenv_namer ÚprefixÚenvironmentÚinterpreters úU/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectctlnodejsuser.pyÚ_create_environmentr( % s¾ € Ý ˜˜yÑ )Ô )€FØð ؈ÝÔ*¨8°T¸6ÑBÔB€KØ×ÒÑÔð E =ð Eð CÝ&Ô3¸ ÐBÑBÔBÀ7ÔKˆKˆKøÝð Cð Cð CÝ Ô9¸'ÑBÔBÐBð Cøøøà×Ò˜;°mÐÑDÔDÐDØÐs ÁA ÁA=c óº — t | |¦ « }|€Qt j | ¦ « } t j | ||¦ « }n%# t $ r t j d|z ¦ « ‚w xY w|d }t j t j t j |¦ « ¦ « ¦ « }t j || |¦ « }|S )Nú8No such application (or application not configured) "%s"Úbinary)r r Úsummaryr Úget_using_realpath_keysr r ÚNoSuchApplicationÚosÚpathÚbasenameÚdirnamer r )r! r" Úapp_summaryr$ Úuser_summaryr+ r# r% s r' Ú_get_environmentr5 3 sÑ € Ý ˜˜yÑ )Ô )€FØÐÝ"Ô*¨4Ñ0Ô0ˆð ÝÔ7¸¸iÈÑVÔVˆKˆKøÝð ð ð Ý Ô2ØJÈYÑVñô ð ð øøøð ˜Ô "€FÝŒw×Ò¥¤§¢µ´·²ÀÑ0GÔ0GÑ HÔ HÑIÔI€HÝÔ*¨8°T¸6ÑBÔB€KØÐs ¨? ¿"A!c ó† — t j | |¦ « \ }}t j t j |¦ « S ©N)r Úget_abs_relr/ r0 Újoinr ÚDEFAULT_PREFIX)r! r" Ú_Úrel_dirs r' r r G s1 € ÝÔ" 4¨Ñ3Ô3�J€A€wÝ Œ7�<Š<�Ô3°WÑ=Ô=Ð=ó c óŒ — ddl m} | ¦ « | ¦ « st j || d¦ « ‚dS )z� Check whether particular interpreter version is enabled and raises exception if not :param user: user to include in exception r )Únode_managerzversion is not enabledN)Úclselectnodejsr? ÚNodeManagerÚis_version_enabledr ÚUnableToSetAlternative)r r! r? s r' Ú_ensure_version_enabledrD L s[ € ð -Ð,Ð,Ð,Ð,Ð,à×#Ò#Ñ%Ô%×8Ò8¸ÑAÔAð ]ÝÔ3°D¸'ÐC[Ñ\Ô\Ð\ð]ð ]r= c óD — |€t ¦ « }t j || ¦ « \ }}| |¦ « }| ¦ « D ]M}t j ||¦ « \ }}|t j z |t j z ¦ « r|c S ŒNdS )z“ Return None if new_app_directory is not nested inside an existing user application, and the name of conflicting application otherwise N)r r r8 Úget_user_config_dataÚkeysr/ ÚsepÚ startswith)Únew_app_directoryr! Úapps_managerÚabs_app_pathr; Úfull_configÚexisting_appÚexisting_app_abs_paths r' Ú_get_existing_nesting_app_forrP X s € ð ÐÝ*Ñ,Ô,ˆåÔ'¨Ð.?Ñ@Ô@�O€L�!Ø×3Ò3°DÑ9Ô9€KØ#×(Ò(Ñ*Ô*ð ð ˆå#(Ô#4°T¸<Ñ#HÔ#HÑ Ð˜qØ�2œ6Ñ!×-Ò-Ð.CÅbÄfÑ.LÑMÔMð ØÐÐÐð àˆ4r= c ó: — | €t ¦ « } |€t j d¦ « ‚t || ¦ « |€t }|€i }|€d}t || | ¦ « }|�t j |¦ « ‚t j |¦ « }t | ||¦ « }| ¦ « j } t j | ||| j | ||| ¬¦ « t j | |¦ « |s2t j | ¦ « }t# j | ||¦ « }|d }|||t&