1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
import os import sysconfig def _reset_tzpath(to=None, stacklevel=4): global TZPATH tzpaths = to if tzpaths is not None: if isinstance(tzpaths, (str, bytes)): raise TypeError( f"tzpaths must be a list or tuple, " + f"not {type(tzpaths)}: {tzpaths!r}" ) tzpaths = [os.fspath(p) for p in tzpaths] if not all(isinstance(p, str) for p in tzpaths): raise TypeError( "All elements of a tzpath sequence must be strings or " "os.PathLike objects which convert to strings." ) if not all(map(os.path.isabs, tzpaths)): raise ValueError(_get_invalid_paths_message(tzpaths)) base_tzpath = tzpaths else: env_var = os.environ.get("PYTHONTZPATH", None) if env_var is None: env_var = sysconfig.get_config_var("TZPATH") base_tzpath = _parse_python_tzpath(env_var, stacklevel) TZPATH = tuple(base_tzpath) def reset_tzpath(to=None): """Reset global TZPATH.""" # We need `_reset_tzpath` helper function because it produces a warning, # it is used as both a module-level call and a public API. # This is how we equalize the stacklevel for both calls. _reset_tzpath(to) def _parse_python_tzpath(env_var, stacklevel): if not env_var: return () raw_tzpath = env_var.split(os.pathsep) new_tzpath = tuple(filter(os.path.isabs, raw_tzpath)) # If anything has been filtered out, we will warn about it if len(new_tzpath) != len(raw_tzpath): import warnings msg = _get_invalid_paths_message(raw_tzpath) warnings.warn( "Invalid paths specified in PYTHONTZPATH environment variable. " + msg, InvalidTZPathWarning, stacklevel=stacklevel, ) return new_tzpath def _get_invalid_paths_message(tzpaths): invalid_paths = (path for path in tzpaths if not os.path.isabs(path)) prefix = "\n " indented_str = prefix + prefix.join(invalid_paths) return ( "Paths should be absolute but found the following relative paths:" + indented_str ) def find_tzfile(key): """Retrieve the path to a TZif file from a key.""" _validate_tzfile_path(key) for search_path in TZPATH: filepath = os.path.join(search_path, key) if os.path.isfile(filepath): return filepath return None _TEST_PATH = os.path.normpath(os.path.join("_", "_"))[:-1] def _validate_tzfile_path(path, _base=_TEST_PATH): if os.path.isabs(path): raise ValueError( f"ZoneInfo keys may not be absolute paths, got: {path}" ) # We only care about the kinds of path normalizations that would change the # length of the key - e.g. a/../b -> a/b, or a/b/ -> a/b. On Windows, # normpath will also change from a/b to a\b, but that would still preserve # the length. new_path = os.path.normpath(path) if len(new_path) != len(path): raise ValueError( f"ZoneInfo keys must be normalized relative paths, got: {path}" ) resolved = os.path.normpath(os.path.join(_base, new_path)) if not resolved.startswith(_base): raise ValueError( f"ZoneInfo keys must refer to subdirectories of TZPATH, got: {path}" ) del _TEST_PATH def available_timezones(): """Returns a set containing all available time zones. .. caution:: This may attempt to open a large number of files, since the best way to determine if a given file on the time zone search path is to open it and check for the "magic string" at the beginning. """ from importlib import resources valid_zones = set() # Start with loading from the tzdata package if it exists: this has a # pre-assembled list of zones that only requires opening one file. try: zones_file = resources.files("tzdata").joinpath("zones") with zones_file.open("r", encoding="utf-8") as f: for zone in f: zone = zone.strip() if zone: valid_zones.add(zone) except (ImportError, FileNotFoundError): pass def valid_key(fpath): try: with open(fpath, "rb") as f: return f.read(4) == b"TZif" except Exception: # pragma: nocover return False for tz_root in TZPATH: if not os.path.exists(tz_root): continue for root, dirnames, files in os.walk(tz_root): if root == tz_root: # right/ and posix/ are special directories and shouldn't be # included in the output of available zones if "right" in dirnames: dirnames.remove("right") if "posix" in dirnames: dirnames.remove("posix") for file in files: fpath = os.path.join(root, file) key = os.path.relpath(fpath, start=tz_root) if os.sep != "/": # pragma: nocover key = key.replace(os.sep, "/") if not key or key in valid_zones: continue if valid_key(fpath): valid_zones.add(key) if "posixrules" in valid_zones: # posixrules is a special symlink-only time zone where it exists, it # should not be included in the output valid_zones.remove("posixrules") return valid_zones class InvalidTZPathWarning(RuntimeWarning): """Warning raised if an invalid path is specified in PYTHONTZPATH.""" TZPATH = () _reset_tzpath(stacklevel=5)