/opt/cloudlinux/venv/lib/python3.11/site-packages/clselect/__pycache__
NameSizeModeActions
clextselect.cpython-311.pyc268880644editdlrm
clpassenger.cpython-311.pyc380530644editdlrm
clselect.cpython-311.pyc314310644editdlrm
clselectctl.cpython-311.pyc127580644editdlrm
clselectctlnodejsuser.cpython-311.pyc246940644editdlrm
clselectctlphp.cpython-311.pyc620890644editdlrm
clselectctlpython.cpython-311.pyc527500644editdlrm
clselectctlruby.cpython-311.pyc256420644editdlrm
clselectdomains.cpython-311.pyc58620644editdlrm
clselectexcept.cpython-311.pyc235010644editdlrm
clselectprint.cpython-311.pyc97420644editdlrm
clselectstatistics.cpython-311.pyc50560644editdlrm
cluserextselect.cpython-311.pyc218120644editdlrm
cluseroptselect.cpython-311.pyc370690644editdlrm
cluserselect.cpython-311.pyc474270644editdlrm
models.cpython-311.pyc14080644editdlrm
utils.cpython-311.pyc261110644editdlrm
__init__.cpython-311.pyc8760644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/clselect/__pycache__/clselect.cpython-311.pyc (31431B)
§ Fl™jÛWãóª—ddlmZddlmZddlmZddlZddlZddlZddlmZddlm Z ddl m Z dd l mZmZdd lmZdd lmZGd „d e¦«ZdS)é)Úabsolute_import)Úprint_function)ÚdivisionN)Úglob)Úmap)Ú configparseré)ÚClSelectExceptÚBaseClSelectException)Úclprint)Úclcagefscóâ—eZdZej¦«rdndZe›d�Ze›d�ZdZe›d�Z e›d�Z e›d�Z d Z d Z d Zd Ze ezZeezZd Ze ezZeezZed„¦«Zed„¦«Zd3d„Zd„Zd„Zd„Zd„Zd„Zd„Zd4d„Zd„Z d„Z!d„Z"d„Z#d4d„Z$d„Z%d5d!„Z&d"„Z'ee'¦«Z'd#„Z(ee(¦«Z(d$„Z)ee)¦«Z)d6d&„Z*d'„Z+d(„Z,d)„Z-d*„Z.d+„Z/d7d,„Z0d7d-„Z1d.„Z2d5d/„Z3d0„Z4d4d1„Z5d7d2„Z6d S)8ÚClSelectz/etc/cl.selector.conf.dz/etc/cl.selectorz/selector.confz /defaults.cfgz /usr/bin/phpz /native.confz /user.confz/php.extensions.d/z/usr/sbin/cagefsctlz/var/lvez/var/lve/php.dat.dz /php%s.datz/php_native_ver.datcóÈ—tj¦«rdS ddlm}m}n#t $rt d¦«‚wxYw|¦«s|¦«st d¦«‚dSdS)Nr©Ú!multiphp_system_default_is_ea_phpÚselector_modules_must_be_usedzCageFS not installed.zesystem default PHP version is alt-php. PHP Selector is disabled. Use cPanel MultiPHP manager instead.)r Ú in_cagefsÚclcagefslib.selector.configurerrÚ ImportErrorr rs úH/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselect.pyÚ%check_multiphp_system_default_versionz.ClSelect.check_multiphp_system_default_version/s´€å Ô Ñ Ô ð Ø ˆFð AØ wÐ wÐ wÐ wÐ wÐ wÐ wÐ wÐ wøÝð Að Að AÝ'Ð(?Ñ@Ô@Ð @ð Aøøøð1Ð0Ñ2Ô2ð Ð;XÐ;XÑ;ZÔ;Zð Ý'Øwñôð ð ð ð ð s—  :cóT—tj tj¦«S©N)ÚosÚpathÚexistsrÚ USER_CONF©órÚwork_without_cagefszClSelect.work_without_cagefs>s€åŒw�~Š~�hÔ0Ñ1Ô1Ð1r Úphpcóú—||_| ¦«|_i|_i|_t ¦«|_d|_t  ¦«|_ |  ¦«dSr) Ú_itemÚ_get_default_config_handlerÚ_dhÚ_selector_contentsÚ_native_contentsÚsetÚ_hidden_extensionsÚ_native_versionrr!Úwithout_cagefsÚ_load_config_files)ÚselfÚitems rÚ__init__zClSelect.__init__Bsl€ØˆŒ Ø×3Ò3Ñ5Ô5ˆŒØ"$ˆÔØ "ˆÔÝ"%¡%¤%ˆÔØ#ˆÔÝ&×:Ò:Ñ<Ô<ˆÔØ ×ÒÑ!Ô!Ð!Ð!Ð!r c󸇗ˆfd„tj‰ d¦«¦«fˆfd„tj¦«fg}|D]\}}|¦«rŒ|‚dS)Ncóh•—tj ‰ d¦«¦«S)NÚcli)rrrÚ_get_native_path©r.s€rúz-ClSelect.check_requirements..Ps#ø€�œŸš t×'<Ò'<¸UÑ'CÔ'CÑDÔD€r r3cót•—‰ ¦«p#tj ‰j¦«Sr)Ú _is_in_cagefsrrrÚ _CAGFSCTLr5s€rr6z-ClSelect.check_requirements..Ss(ø€�T×'Ò'Ñ)Ô)ÐK­R¬W¯^ª^¸D¼NÑ-KÔ-K€r )r ÚNativeNotInstalledr4ÚMissingCagefsPackage)r.Ú utilitiesÚ predicateÚerrors` rÚcheck_requirementszClSelect.check_requirementsLs�ø€ðEÐDÐDÐDÝÔ1°$×2GÒ2GÈÑ2NÔ2NÑOÔOð ðLÐ KÐ KÐ KÍ^ÔMpÑMrÔMrÐ sð  ˆ ð!*ð ð Ñ ˆI�u؈y‰{Œ{ð ØØˆKð ð r cóš—ttj |jd¦«¦«D]}| |¦«ŒdS)Nz*.cfg)rrrÚjoinÚ CONFIGS_DIRÚ_load_config_file)r.Úfilenames rr-zClSelect._load_config_files[sM€Ý�RœWŸ\š\¨$Ô*:¸GÑDÔDÑEÔEð -ð -ˆHØ × "Ò " 8Ñ ,Ô ,Ð ,Ð ,ð -ð -r có¢—tjdd¬¦«} | |¦«n=#tj$r+}t j|dt |¦«z¬¦«‚d}~wwxYw |j |  dd¦«  d¦«¦«dS#tj tj f$rYdSwxYw)NF©Ú interpolationÚstrictzConfig is malformed, error: %s©ÚmessageÚ extensionsÚhide_extensionsú,) Ú ConfigParserÚSafeConfigParserÚreadÚErrorr ÚFileProcessErrorÚstrr*ÚupdateÚgetÚsplitÚNoSectionErrorÚ NoOptionError)r.ÚfilepathÚdhÚes rrCzClSelect._load_config_file_së€Ý Ô *¸ÀeÐ LÑ LÔ Lˆð oØ �GŠG�HÑ Ô Ð Ð øÝÔ!ð oð oð oÝ Ô1°(ÐDdÕgjÐklÑgmÔgmÑDmÐnÑnÔnÐ nøøøøð oøøøð Ø Ô #× *Ò *¨2¯6ª6°,Ð@QÑ+RÔ+R×+XÒ+XÐY\Ñ+]Ô+]Ñ ^Ô ^Ð ^Ð ^Ð ^øÝÔ+­\Ô-GÐHð ð ð Ø ˆDˆDð øøøs'˜.®A(½&A#Á#A(Á,AB/Â/Cà Ccó,—| ¦«}g}t| ¦«¦«D]N} | |||d||d|jf¦«Œ?#t $rYŒKwxYwt |¦«S)zM Returns alternatives summary as tuple :rtype: tuple ÚversionÚdata)Úget_all_alternatives_dataÚsortedÚkeysÚappendr$ÚKeyErrorÚtuple)r.Ú alternativesÚlist_of_alternativesÚalts rÚlist_alternativeszClSelect.list_alternativesls°€ð ×5Ò5Ñ7Ô7ˆ Ø!Ðå˜,×+Ò+Ñ-Ô-Ñ.Ô.ð ð ˆCð Ø$×+Ò+¨S°,¸sÔ2CÀIÔ2NÐP\Ð]`ÔPaÐbhÔPiÐjnÔjtÔPuÐ,vÑwÔwÐwÐwøÝð ð ð Ø�ð øøøåÐ)Ñ*Ô*Ð*s»;A7Á7 BÂBcó�—|js9 | ¦«n##tjtjf$ricYSwxYw|jS)aá Returns dict of all selector config contents. If no data loads them :return: {'4.4': {'version': '4.4.9', 'data': {'lsphp': '/opt/alt/php44/usr/bin/lsphp', 'php.ini': '/opt/alt/php44/etc/php.ini', 'php': '/opt/alt/php44/usr/bin/php-cgi', 'php-cli': '/opt/alt/php44/usr/bin/php'}}} :rtype: dict )r'Ú_load_alternatives_configr ÚConfigNotFoundÚWrongConfigFormatr5s rr_z"ClSelect.get_all_alternatives_data{sa€ðÔ&ð ð Ø×.Ò.Ñ0Ô0Ð0Ð0øÝ"Ô1µ>Ô3SÐTð ð ð Ø� � � ð øøøàÔ&Ð&s ‰ž>½>cóœ—|js| ¦« ||j|iS#t$rtj|¦«‚wxYw)z³ Returns selector config contents of certain version as dict. If no data loads them @param version: string, selector version @return: dict )r'rjrcr ÚNoSuchAlternativeVersion©r.r]s rÚget_alternatives_datazClSelect.get_alternatives_data�sj€ðÔ&ð -Ø × *Ò *Ñ ,Ô ,Ð ,ð CؘTÔ4°WÔ=Ð>Ð >øÝð Cð Cð CÝ Ô9¸'ÑBÔBÐ Bð Cøøøs �,¬A Fcó—| ¦«} |j d|j¦«}|||d||d|jfS#tjt f$r| |¦«cYSwxYw)z/ Gets default selector version Úversionsr]r^)r_r&rUr$rNrWrcÚ_compose_native_info)r.Úshow_native_versionrer]s rÚ get_versionzClSelect.get_version›sŸ€ð×5Ò5Ñ7Ô7ˆ ð BØ”h—l’l :¨t¬zÑ:Ô:ˆGؘ\¨'Ô2°9Ô=¸|ÈGÔ?TÐU[Ô?\Ð]aÔ]gÔ?hÐiÐ iøÝÔ+­XÐ6ð Bð Bð BØ×,Ò,Ð-@ÑAÔAÐ AÐ AÐ Að Bøøøs–AAÁ+B  B có—| ¦«}| ||¦«| |jd|j|j|f¦«}| d |¦«|j¦«dS)z/ Sets default selector version )rrú N)r_Ú_check_alternativeÚ_process_ini_fileÚ DEFAULTS_PATHÚ_add_or_change_optionr$Ú_write_to_filerA©r.r]reÚdefaults_contentss rÚ set_versionzClSelect.set_version¦s†€ð×5Ò5Ñ7Ô7ˆ Ø ×Ò ¨Ñ6Ô6Ð6Ø ×2Ò2Ø Ô   ¨tÔ/IÈDÌJÐX_ÐK`ñ ô Ðð ×Ò˜DŸIšIÐ&7Ñ8Ô8¸$Ô:LÑMÔMÐMÐMÐMr có—| ¦«}| ||¦«| |j|j|f|jd¦«}| d |¦«|j¦«dS)z5 Removes disabled state from version ÚstaterwN)r_rxryrzr$Ú_remove_optionr|rAr}s rÚenable_versionzClSelect.enable_version±s…€ð×5Ò5Ñ7Ô7ˆ Ø ×Ò ¨Ñ6Ô6Ð6Ø ×2Ò2Ø Ô  ¤¨WÐ 5°tÔ7JÈGñ ô Ðð ×Ò˜DŸIšIÐ&7Ñ8Ô8¸$Ô:LÑMÔMÐMÐMÐMr cóΗ |j d|j¦«}n##tjtjf$rd}YnwxYw||krt jd|›d�¦«‚| ¦«}|  ||¦«|  |j |j|f|j d¦«}|  d |¦«|j ¦«dS)z- Marks a vesrion as disabled rrÚnativez$Cannot disable the default version 'z/'. Please set another version as default first.)r�ÚdisabledrwN)r&rUr$rNrWrXr ÚVersionModificationBlockedr_rxryrzr{r|rA)r.r]Údefault_versionrer~s rÚdisable_versionzClSelect.disable_version¼s€ð 'Ø"œhŸlšl¨:°t´zÑBÔBˆOˆOøÝÔ+­\Ô-GÐHð 'ð 'ð 'Ø&ˆOˆOˆOð 'øøøà �oÒ %Ð %Ý Ô;Øo°wÐoÐoÐoñôð ð×5Ò5Ñ7Ô7ˆ Ø ×Ò ¨Ñ6Ô6Ð6Ø ×2Ò2Ø Ô  ¤¨WÐ 5°tÔ7QÐShñ ô Ðð ×Ò˜DŸIšIÐ&7Ñ8Ô8¸$Ô:LÑMÔMÐMÐMÐMs‚ #£AÁAcóL—|j |j›|›�d¦« S)z› Method that allows you to check if some version is enabled in config. E.g. is_version_enabled('5.4') -> True :rtype: bool r�)r&Ú has_optionr$ros rÚis_version_enabledzClSelect.is_version_enabledÏs*€ð ”8×&Ò&°´°¸W¸WÐ'EÀwÑOÔOÐOÐOr cóL—| ¦«}| |¦«}ddddœi}t| ¦«¦«dgz}|D]4}||vri||<| |¦«||d<d||d<Œ5 |j d|j¦«}n##tj tj f$rd}YnwxYw d||d<n"#t$rtj |¦«‚wxYw| d¦«||d<| d¦«| |d¦«t#t%|¦«¦«D]+}||} | || d|| dff||<Œ,t'|¦«S) zl Returns state of alternatives @return: tuple[version, tuple[isEnabled, isDefault]] r…TF)ÚenabledÚdefaultrŽr�rrr)r_rsr`rarŒr&rUr$rNrWrXrcr rnÚpopÚremoverbÚrangeÚlenrd) r.rtreÚ native_infoÚsummaryÚ alt_versionsr]rˆÚidxÚvs rÚ get_summaryzClSelect.get_summary×së€ð ×5Ò5Ñ7Ô7ˆ Ø×/Ò/Ð0CÑDÔDˆ ب¸%Ð@Ð@ÐAˆÝ˜l×/Ò/Ñ1Ô1Ñ2Ô2°h°ZÑ?ˆ Ø#ð 0ð 0ˆGؘgÐ%Ð%Ø#%�˜Ñ Ø*.×*AÒ*AÀ'Ñ*JÔ*JˆG�GÔ ˜YÑ 'Ø*/ˆG�GÔ ˜YÑ 'Ð 'ð 'Ø"œhŸlšl¨:°t´zÑBÔBˆOˆOøÝÔ+­\Ô-GÐHð 'ð 'ð 'Ø&ˆOˆOˆOð 'øøøð KØ26ˆG�OÔ $ YÑ /Ð /øÝð Kð Kð KÝ Ô9¸/ÑJÔJÐ Jð Køøøà")§+¢+¨hÑ"7Ô"7ˆ� ˜A”ÑØ×Ò˜HÑ%Ô%Ð%Ø×Ò˜K¨œNÑ+Ô+Ð+Ý�˜\Ñ*Ô*Ñ+Ô+ð Tð TˆCؘSÔ!ˆAØ!" W¨Q¤Z° Ô%:¸GÀA¼JÀyÔcóZ— t|j¦«}|D]˜}| ¦«}|dkrŒ| ¦«\}}}}|j|vrŒ@||jvr i|j|<||j|d<d|j|vri|j|d<||j|d|<Œ™|jst jdd¬¦«‚dS#ttf$r'}t jd|j›d|›d �d¬¦«‚d}~wt$rt j |j¦«‚wxYw) a Parses selector config file and fills an instance config dict. Example: {'4.4': {'version': '4.4.9', 'data': {'lsphp': '/opt/alt/php44/usr/bin/lsphp', 'php.ini': '/opt/alt/php44/etc/php.ini', 'php': '/opt/alt/php44/usr/bin/php-cgi', 'php-cli': '/opt/alt/php44/usr/bin/php'}}} :raises ClSelectExcept.ConfigNotFound: :raises ClSelectExcept.WrongConfigFormat: Úr]r^Nzalt-php packages not foundrIz Cannot read z: z . Native used) ÚopenÚ CONFIG_PATHÚstriprVr$r'r rkÚOSErrorÚIOErrorÚ ValueErrorrl) r.ÚfÚlineÚ stripped_liner/Ú short_versionÚ long_versionÚ item_pathr[s rrjz"ClSelect._load_alternatives_configõsŽ€ð EÝ�TÔ%Ñ&Ô&ˆAØð Qð Q�Ø $§ ¢ ¡ ¤ � Ø  BÒ&Ð&ØØAN×ATÒATÑAVÔAVÑ>��} l°IØ”: TÐ)Ð)ØØ ¨Ô(?Ð?Ð?Ø=?�DÔ+¨MÑ:ØDP�Ô'¨ Ô6°yÑAØ Ô!8¸Ô!GÐGÐGØEG�DÔ+¨MÔ:¸6ÑBØGP�Ô'¨ Ô6°vÔ>¸tÑDÐDØÔ*ð `Ý$Ô3°DÐB^Ð_Ñ_Ô_Ð_ð `ð `øå�Ð!ð ð ð Ý Ô/Ð/Ø59Ô5EÐ5EÐ5EÀqÀqÀqÐIÐSoðñôð øøøøõð Eð Eð EÝ Ô2°4Ô3CÑDÔDÐ Dð Eøøøs‚C CÃD*Ã!"DÄ'D*Ncó®—tjdd¬¦«}t|_|r| |¦«n| |j¦«|S)z: Gets ConfigParser handler for future use NFrF)rNrSÚ optionxformrPrz)r.rrZs rr%z$ClSelect._get_default_config_handlersS€õÔ &°TÀ%Ð HÑ HÔ HˆÝˆŒØ ð (Ø �GŠG�D‰MŒMˆMˆMà �GŠG�DÔ&Ñ 'Ô 'Ð '؈ r cóF—|dkr||vrtj|¦«‚dSdS)Nr…)r rn)r]res rrxzClSelect._check_alternative#s6€Ø �hÒ Ð  7°,Ð#>Ð#>Ý Ô9¸'ÑBÔBÐ Bð Ð Ð#>Ð#>r có^—dd dgt|¦«z¦«z}||zS)z‘ Gets section header data tuple and returns ini section header string @param section_info: tuple @return: string z[%s]r›z%s)rAr“)Ú section_infoÚ section_fmts rÚ_make_section_headerzClSelect._make_section_header)s4€ð ˜rŸwšw¨ vµ°LÑ0AÔ0AÑ'AÑBÔBÑBˆ ؘ\Ñ)Ð)r cóˆ—ttd„|¦«¦«}|r |ddkr| d¦«|S)zN Removes empty lines from list and appends newline if missing có—|dkS)Nr›r)Úis rr6z'ClSelect._smooth_data..8s € a¨2¢g€r éÿÿÿÿrw)ÚlistÚfilterrb)r^s rÚ _smooth_datazClSelect._smooth_data4sL€õ•FÐ-Ð-°Ñ5Ô5Ñ6Ô6ˆØð �t˜B”x 4Ò'Ð'Ø �KŠK˜Ñ Ô Ð Øˆ r Tc óf—g}g}g} d} d} d} | |¦«} t|¦«}|D]·}| ¦«}| d¦«r_d} d|vrd} | |krd} t |¦«dkr| |¦«g}| ||| ||¦«¦«|g} ŒŠ| r|  |¦«Œ¢| |¦«Œ¸| ||| ||¦«¦«| ¦«n#ttf$rYnwxYw| s(d| vr$dd|j zdg}| |¦«|}| sÌ |  d¦«}n#tj $rYnwxYw|d kr:| ||| d d  |¦«zg||¦«¦«n`|d kr8| |¦«| ||| g||¦«¦«n"| ||| g||¦«¦«|S) z• Parses ini file by sections, calls supplied callable to modify section is question, returns file as list of strings Fú[Tz [versions]rz %s = nativer›r…Údisable_extentionsz modules = rMÚenable_extentions)r®rœržÚ startswithr“ÚextendrbÚcloserŸr r$Ú _get_builtinsr ÚUnableToGetExtensionsrA)r.rr¬Úfunctionr^ÚtraceÚactionÚcontentsÚno_section_contentsÚsectionÚ in_sectionÚfoundÚ has_defaultÚsection_headerr¢r£r�Úbuild_ins rryzClSelect._process_ini_file?sÅ€ð ˆØ ÐØˆØˆ ؈؈ Ø×2Ò2°<Ñ@Ô@ˆð Ý�T‘ ” ˆAØð 5ð 5�Ø—z’z‘|”|�Ø—?’? 3Ñ'Ô'ð Ø!%�JØ# tÐ+Ð+Ø&*˜ Ø%¨Ò-Ð-Ø $˜ÝÐ.Ñ/Ô/°1Ò4Ð4Ø ŸšÐ(;Ñ<Ô<Ð<Ø.0Ð+Ø—O’O H H¨\¸7ÀDÈ%Ñ$PÔ$PÑQÔQÐQØ#˜f�GØØð5Ø—N’N 4Ñ(Ô(Ð(Ð(à'×.Ò.¨tÑ4Ô4Ð4Ð4Ø �OŠO˜H˜H \°7¸DÀ%ÑHÔHÑ IÔ IÐ IØ �GŠG‰IŒIˆIˆIøÝ�Ð!ð ð ð Ø ˆDð øøøàð ˜|°>ÐAÐAØ# ]°T´ZÑ%?ÀÐDˆGØ �NŠN˜8Ñ $Ô $Ð $؈HØð Wð Ø×-Ò-¨hÑ7Ô7��øÝ!Ô7ð ð ð Ø�ð øøøàÐ-Ò-Ð-Ø—’Ø�H˜\¨N¸LÈ3Ï8Ê8ÐT\ÑK]ÔK]Ñ<]Ð+^Ð`dÐfkÑlÔlñôðððÐ.Ò.Ð.Ø— ’ ˜HÑ%Ô%Ð%Ø—’  ¨¸Ð7GÈÈuÑ UÔ UÑVÔVÐVÐVà—’  ¨¸Ð7GÈÈuÑ UÔ UÑVÔVÐV؈s$£C>D"Ä"D6Ä5D6Å&E<Å<FÆ Fcóº—d|jz}| ¦«} ||d|}n&#t$r| d¬¦«}YnwxYw|S)zÜ Retrives path to php binary for supplied version :param version: php version to retrive path :return: path to php binary. If alternative version not found native php binary path returned z%s-clir^r3)Úsuffix)r$r_rcr4)r.r]r/rers rÚ_get_php_binary_pathzClSelect._get_php_binary_pathxsv€ð ˜$œ*Ñ$ˆØ×5Ò5Ñ7Ô7ˆ ð 7Ø Ô(¨Ô0°Ô6ˆDˆDøÝð 7ð 7ð 7Ø×(Ò(°Ð(Ñ6Ô6ˆDˆDˆDð 7øøøàˆ s 5µ AÁAcóº—| ¦«}d| d¦«i}| ¦«D]}| |¦«||<Œ|S)a Retrives paths to php binary for all versions :return: Dictionary version -> path. Example: { '5.2': '/opt/alt/php52/usr/bin/php', '5.3': '/opt/alt/php53/usr/bin/php', 'native': '/usr/bin/php' } r…)r_rÌra)r.reÚ paths_dictr]s rÚget_all_php_binaries_pathsz#ClSelect.get_all_php_binaries_paths†sk€ð×5Ò5Ñ7Ô7ˆ Ø × 9Ò 9¸(Ñ CÔ CÐDˆ Ø#×(Ò(Ñ*Ô*ð Eð EˆGØ"&×";Ò";¸GÑ"DÔ"DˆJ�wÑ Ð ØÐr có(—tj¦«S)zF Check if running inside CageFS :return: bool )r rr5s rr8zClSelect._is_in_cagefs•s€õ Ô!Ñ#Ô#Ð#r cóЗ| ¦«r |j|z}n |j|z}t|d¦«5}| ¦«cddd¦«S#1swxYwYdS)zš Retrives contents of cache file for supplied php version :param version: PHP version to read file :return: file contents ÚrN)r8ÚCACHEFILE_CAGEFS_PATTERNÚCACHEFILE_PATTERNrœrP)r.r]rDr¢s rÚ_read_php_cache_filezClSelect._read_php_cache_fileœs°€ð × Ò Ñ Ô ð 8ØÔ4°wÑ>ˆHˆHàÔ-°Ñ7ˆHå �(˜CÑ Ô ð  AØ—6’6‘8”8ð ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð sºAÁAÁ"Acód—g} | |¦«}n)#ttf$rtj|¦«‚wxYwd\}}| |¦«| |¦«}}|dkrdn|t |¦«z}|||…}tjd¦«} |  d¦«D]p} |   | ¦«sŒd  tj d|   ¦«¦«¦«} | |j vr| | ¦«Œq|S)zÎ Gets php extensions from the /var/lve/phpX.X.dat cache file, which contains list of modules that are either compiled-in or enabled in /opt/alt/phpXX/etc/php.ini config file )z [PHP Modules]z[Zendr²rz\wrwÚ_z\s+)rÕrŸr r r¾Úfindr“ÚreÚcompilerVÚmatchrAÚlowerr*rb) r.r]ÚbuiltinsÚoutputÚ start_patternÚ end_patternÚ start_indexÚ end_indexÚ modules_listÚmodule_patternÚextÚmodules rr½zClSelect._get_builtinsªsE€ð ˆð @Ø×.Ò.¨wÑ7Ô7ˆFˆFøÝ�Ð!ð @ð @ð @Ý Ô6°wÑ?Ô?Ð ?ð @øøøð &>Ñ"ˆ �{Ø!'§¢¨]Ñ!;Ô!;¸V¿[º[ÈÑ=UÔ=U�Yˆ Ø&¨"Ò,Ð,�a�a°+ÅÀMÑ@RÔ@RÑ2Rˆ ؘk¨)Ð3Ô4ˆ 圠EÑ*Ô*ˆØ×%Ò% dÑ+Ô+ð (ð (ˆCØ!×'Ò'¨Ñ,Ô,ð ØØ—X’X�bœh u¨c¯iªi©k¬kÑ:Ô:Ñ;Ô;ˆFؘTÔ4Ð4Ð4Ø—’ Ñ'Ô'Ð'øØˆs „š&AcóÖ‡—| |¦«}t|¦«dks ||dkr|S| tt ˆfd„|¦«¦«¦«S)zÅ Adds 'modules' option to section or extends it @param section_info: tuple (item and version) @param section: list @param data: string @return: list rcó0•—| ‰¦« Sr)rº)r±r^s €rr6z)ClSelect._remove_option..Òsø€¸A¿LºLÈÑ.s€°·²±´€r N) rœÚ NATIVE_CONFrºr³rrVr(ÚDEFAULT_PHP_PATHr¼rŸr )r.Úvaluer¢r£r/rs rrõzClSelect._load_native_contentssý€ð  AÝ�TÔ%Ñ&Ô&ˆAØð 3ð 3�Ø—?’? 3Ñ'Ô'ðØØ Ð$Ð$ØØ˜d�?�?ØÝ!¥#Ð':Ð':¸T¿ZºZȹ_¼_Ñ"MÔ"MÑNÔN‘ ��dØ.2�Ô% dÑ+Ð+ؘDÔ1Ð1Ð1Ø/3Ô/D�Ô% eÑ,Ø �GŠG‰IŒIˆIˆIˆIøÝ�Ð!ð Að Að AØ+/Ô+@ˆDÔ ! %Ñ (Ð (Ð (Ð (ð Aøøøs‚B#B'Â' C à C cóè—|sdd| ¦«fS| d¬¦«}|r+d|d›d�d|d›d�| ¦«fSdd| ¦«fS)Nr…F)Úverboseznative (rú)r )r4Úget_native_version)r.Ú show_versionÚnative_versions rrszClSelect._compose_native_infos›€Øð ?ؘX t×'<Ò'<Ñ'>Ô'>Ð>Ð >Ø×0Ò0¸Ð0Ñ?Ô?ˆØ ð yð yØ%3°AÔ%6Ð%6Ð%6Ð8Ð8È>ÐZ[ÔK\ÐK\ÐK\Ð:^Ð`d×`uÒ`uÑ`wÔ`wÐxÐ xؘ 4×#8Ò#8Ñ#:Ô#:Ð:Ð:r có"—|jr|jStjd¦«} t|jd¦«}| ¦«}| ¦«nF#ttf$r2}|r%tj ddt|¦«dœ¦«Yd}~dSd}~wwxYw|  ¦«D]R}|  |¦«}|r9| d¦«| d¦«} }|| f|_|| fcSŒSdS)Nz(PHP\s+(?P(?P\d+\.\d+)\.\d+)rÒÚtextÚERROR)ÚstatusrJÚshortÚfull)r+rÙrÚrœÚCACHEFILE_NATIVE_VER_PATTERNrPr¼rŸr r Ú print_diagrSÚ splitlinesrÛÚgroup) r.rÚversion_patternr¢r^r[r£Úmr r s rrzClSelect.get_native_version$s1€Ø Ô ð (ØÔ'Ð 'Ýœ*Ð%PÑQÔQˆð Ý�TÔ6¸Ñ<Ô<ˆAØ—6’6‘8”8ˆDØ �GŠG‰IŒIˆIˆIøÝ�Ð!ð ð ð Øð SÝÔ" 6°gÍ#ÈaÉ&Ì&Ð+QÐ+QÑRÔRÐRØ�4�4�4�4�4øøøøð øøøð—O’OÑ%Ô%ð #ð #ˆDØ×%Ò% dÑ+Ô+ˆAØð #ØŸgšg gÑ.Ô.°·²¸±´�t�Ø(-¨t }�Ô$ؘd�{Ð"Ð"Ð"ð #ðˆts¤=A"Á"B%Á3'B  B%)r")Fr)TN)T)7Ú__name__Ú __module__Ú __qualname__r rÚBASE_ETC_CL_SELECTORr�rzrÿrþrrBr9Ú CACHEFILE_DIRÚCACHEFILE_CAGEFS_DIRÚCACHEFILE_PHP_PATTERNrÔrÓÚCACHEFILE_PHP_NATIVE_PATTERNr Ú#CACHEFILE_NATIVE_VER_CAGEFS_PATTERNÚ staticmethodrr!r0r?r-rCrhr_rprurrƒr‰rŒr™rjr%rxr®rµryrÌrÏr8rÕr½r‚r{r|r4rõrsrrr rrrs^€€€€€Ø8J¸Ô8JÑ8LÔ8LÐdÐ4Ð4ÐRdÐØ)Ð9Ð9Ð9€KØ+Ð:Ð:Ð:€MØ%ÐØ)Ð7Ð7Ð7€KØ'Ð3Ð3Ð3€IØ)Ð=Ð=Ð=€KØ%€Ið€MØ/Ðà(ÐØ%Ð(=Ñ=ÐØ3Ð6KÑKÐà#8Ð Ø#0Ð3OÑ#OÐ Ø*>ÐA]Ñ*]Ð'àð ð ñ„\ð ðð2ð2ñ„\ð2ð"ð"ð"ð"ð ð ð ð-ð-ð-ð ð ð ð +ð +ð +ð'ð'ð'ð$ Cð Cð Cð Bð Bð Bð Bð Nð Nð Nð Nð Nð NðNðNðNð&PðPðPð#ð#ð#ð#ð< Eð Eð EðD ð ð ð ðCðCðCð&˜Ð&8Ñ9Ô9Ðð*ð*ð*ð(˜<Ð(<Ñ=Ô=Ððððð �<  Ñ-Ô-€Lð7ð7ð7ð7ðr ð ð ð ð ð ð$ð$ð$ð ð ð ðððð: \ð \ð \ð \ð*ð*ð*ð*ð. @ð @ð @ð1ð1ð1ð1ð AðAðAð,;ð;ð;ð;ððððððr r)Ú __future__rrrrrÙÚsysrrÝrÚ future.movesrrNÚclselectexceptr r Ú clselectprintr Úclcommonr Úobjectrrr rúr$sðð'Ð&Ð&Ð&Ð&Ð&Ø%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐØ € € € Ø € € € Ø € € € ØÐÐÐÐÐàÐÐÐÐÐà5Ð5Ð5Ð5Ð5Ð5àAÐAÐAÐAÐAÐAÐAÐAØ"Ð"Ð"Ð"Ð"Ð"ØÐÐÐÐÐð^ð^ð^ð^ð^ˆvñ^ô^ð^ð^ð^r