ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙimport sys from functools import wraps from clcommon.const import Feature from clcommon.cpapi import is_panel_feature_supported from clcommon.lib.cledition import ( CLEditionDetectionError, ) __all__ = ( "skip_without_lve", "lve_supported_or_exit", ) _SKIP_MESSAGE = ( "Command is skipped as LVE feature is not supported in current environment\n" "Refer to https://docs.cloudlinux.com/solo/introduction/#cloudlinux-os-editions-comparison for more info" ) def skip_without_lve(): try: # we still have some utils that could be run # under user (e.g cloudlinux-selector) if not is_panel_feature_supported(Feature.LVE): print(_SKIP_MESSAGE) sys.exit(0) except CLEditionDetectionError as e: print(f"Error: {e}") sys.exit(1) def lve_supported_or_exit(f): @wraps(f) def inner(*args, **kwargs): if not is_panel_feature_supported(Feature.LVE): print(_SKIP_MESSAGE) else: return f(*args, **kwargs) return inner