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
#!/usr/bin/env perl # Copyright 2000-2025 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html # # Wrapper around the ca to make it easier to use # # WARNING: do not edit! # Generated by Makefile from ../openssl-3.5.5/apps/CA.pl.in use strict; use warnings; my $verbose = 1; my @OPENSSL_CMDS = ("req", "ca", "pkcs12", "x509", "verify"); my $openssl = $ENV{'OPENSSL'} // "openssl"; $ENV{'OPENSSL'} = $openssl; my @openssl = split_val($openssl); my $OPENSSL_CONFIG = $ENV{"OPENSSL_CONFIG"} // ""; my @OPENSSL_CONFIG = split_val($OPENSSL_CONFIG); # Command invocations. my @REQ = (@openssl, "req", @OPENSSL_CONFIG); my @CA = (@openssl, "ca", @OPENSSL_CONFIG); my @VERIFY = (@openssl, "verify"); my @X509 = (@openssl, "x509"); my @PKCS12 = (@openssl, "pkcs12"); # Default values for various configuration settings. my $CATOP = "./demoCA"; my $CAKEY = "cakey.pem"; my $CAREQ = "careq.pem"; my $CACERT = "cacert.pem"; my $CACRL = "crl.pem"; my @DAYS = qw(-days 365); my @CADAYS = qw(-days 1095); # 3 years my @EXTENSIONS = qw(-extensions v3_ca); my @POLICY = qw(-policy policy_anything); my $NEWKEY = "newkey.pem"; my $NEWREQ = "newreq.pem"; my $NEWCERT = "newcert.pem"; my $NEWP12 = "newcert.p12"; # Commandline parsing my %EXTRA; my $WHAT = shift @ARGV // ""; @ARGV = parse_extra(@ARGV); my $RET = 0; sub split_val { return split_val_win32(@_) if ($^O eq 'MSWin32'); my ($val) = @_; my (@ret, @frag); # Skip leading whitespace $val =~ m{\A[ \t]*}ogc; # Unix shell-compatible split # # Handles backslash escapes outside quotes and # in double-quoted strings. Parameter and # command-substitution is silently ignored. # Bare newlines outside quotes and (trailing) backslashes are disallowed. while (1) { last if (pos($val) == length($val)); # The first char is never a SPACE or TAB. Possible matches are: # 1. Ordinary string fragment # 2. Single-quoted string # 3. Double-quoted string # 4. Backslash escape # 5. Bare backlash or newline (rejected) # if ($val =~ m{\G([^'" \t\n\\]+)}ogc) { # Ordinary string push @frag, $1; } elsif ($val =~ m{\G'([^']*)'}ogc) { # Single-quoted string push @frag, $1; } elsif ($val =~ m{\G"}ogc) { # Double-quoted string push @frag, ""; while (1) { last if ($val =~ m{\G"}ogc); if ($val =~ m{\G([^"\\]+)}ogcs) { # literals push @frag, $1; } elsif ($val =~ m{\G.(["\`\$\\])}ogc) { # backslash-escaped special push @frag, $1; } elsif ($val =~ m{\G.(.)}ogcs) { # backslashed non-special push @frag, "\\$1" unless $1 eq "\n"; } else { die sprintf("Malformed quoted string: %s\n", $val); } } } elsif ($val =~ m{\G\\(.)}ogc) { # Backslash is unconditional escape outside quoted strings push @frag, $1 unless $1 eq "\n"; } else { die sprintf("Bare backslash or newline in: '%s'\n", $val); } # Done if at SPACE, TAB or end, otherwise continue current fragment # next unless ($val =~ m{\G(?:[ \t]+|\z)}ogcs); push @ret, join("", splice(@frag)) if (@frag > 0); } # Handle final fragment push @ret, join("", splice(@frag)) if (@frag > 0); return @ret; } sub split_val_win32 { my ($val) = @_; my (@ret, @frag); # Skip leading whitespace $val =~ m{\A[ \t]*}ogc; # Windows-compatible split # See: "Parsing C++ command-line arguments" in: # https://learn.microsoft.com/en-us/cpp/cpp/main-function-command-line-args?view=msvc-170 # # Backslashes are special only when followed by a double-quote # Pairs of double-quotes make a single double-quote. # Closing double-quotes may be omitted. while (1) { last if (pos($val) == length($val)); # The first char is never a SPACE or TAB. # 1. Ordinary string fragment # 2. Double-quoted string # 3. Backslashes preceding a double-quote # 4. Literal backslashes # 5. Bare newline (rejected) # if ($val =~ m{\G([^" \t\n\\]+)}ogc) { # Ordinary string push @frag, $1; } elsif ($val =~ m{\G"}ogc) { # Double-quoted string push @frag, ""; while (1) { if ($val =~ m{\G("+)}ogc) { # Two double-quotes make one literal double-quote my $l = length($1); push @frag, q{"} x int($l/2) if ($l > 1); next if ($l % 2 == 0); last; } if ($val =~ m{\G([^"\\]+)}ogc) { push @frag, $1; } elsif ($val =~ m{\G((?>[\\]+))(?=")}ogc) { # Backslashes before a double-quote are escapes my $l = length($1); push @frag, q{\\} x int($l / 2); if ($l % 2 == 1) { ++pos($val); push @frag, q{"}; } } elsif ($val =~ m{\G((?:(?>[\\]+)[^"\\]+)+)}ogc) { # Backslashes not before a double-quote are not special push @frag, $1; } else { # Tolerate missing closing double-quote last; } } } elsif ($val =~ m{\G((?>[\\]+))(?=")}ogc) { my $l = length($1); push @frag, q{\\} x int($l / 2); if ($l % 2 == 1) { ++pos($val); push @frag, q{"}; } } elsif ($val =~ m{\G([\\]+)}ogc) { # Backslashes not before a double-quote are not special push @frag, $1; } else { die sprintf("Bare newline in: '%s'\n", $val); } # Done if at SPACE, TAB or end, otherwise continue current fragment # next unless ($val =~ m{\G(?:[ \t]+|\z)}ogcs); push @ret, join("", splice(@frag)) if (@frag > 0); } # Handle final fragment push @ret, join("", splice(@frag)) if (@frag); return @ret; } # Split out "-extra-CMD value", and return new |@ARGV|. Fill in # |EXTRA{CMD}| with list of values. sub parse_extra { my @args; foreach ( @OPENSSL_CMDS ) { $EXTRA{$_} = []; } while (@_) { my $arg = shift(@_); if ( $arg !~ m{^-extra-(\w+)$} ) { push @args, split_val($arg); next; } $arg = $1; die "Unknown \"-extra-${arg}\" option, exiting\n" unless grep { $arg eq $_ } @OPENSSL_CMDS; die "Missing \"-extra-${arg}\" option value, exiting\n" unless (@_ > 0); push @{$EXTRA{$arg}}, split_val(shift(@_)); } return @args; } # See if reason for a CRL entry is valid; exit if not. sub crl_reason_ok { my $r = shift; if ($r eq 'unspecified' || $r eq 'keyCompromise' || $r eq 'CACompromise' || $r eq 'affiliationChanged' || $r eq 'superseded' || $r eq 'cessationOfOperation' || $r eq 'certificateHold' || $r eq 'removeFromCRL') { return 1; } print STDERR "Invalid CRL reason; must be one of:\n"; print STDERR " unspecified, keyCompromise, CACompromise,\n"; print STDERR " affiliationChanged, superseded, cessationOfOperation\n"; print STDERR " certificateHold, removeFromCRL"; exit 1; } # Copy a PEM-format file; return like exit status (zero means ok) sub copy_pemfile { my ($infile, $outfile, $bound) = @_; my $found = 0; open IN, $infile || die "Cannot open $infile, $!"; open OUT, ">$outfile" || die "Cannot write to $outfile, $!"; while () { $found = 1 if /^-----BEGIN.*$bound/; print OUT $_ if $found; $found = 2, last if /^-----END.*$bound/; } close IN; close OUT; return $found == 2 ? 0 : 1; } # Wrapper around system; useful for debugging. Returns just the exit status sub run { my ($cmd, @args) = @_; print "====\n$cmd @args\n" if $verbose; my $status = system {$cmd} $cmd, @args; print "==> $status\n====\n" if $verbose; return $status >> 8; } if ( $WHAT =~ /^(-\?|-h|-help)$/ ) { print STDERR <${CATOP}/index.txt"; close OUT; open OUT, ">${CATOP}/crlnumber"; print OUT "01\n"; close OUT; # ask user for existing CA certificate print "CA certificate filename (or enter to create)\n"; my $FILE; $FILE = "" unless defined($FILE = ); $FILE =~ s{\R$}{}; if ($FILE ne "") { copy_pemfile($FILE,"${CATOP}/private/$CAKEY", "PRIVATE"); copy_pemfile($FILE,"${CATOP}/$CACERT", "CERTIFICATE"); } else { print "Making CA certificate ...\n"; $RET = run(@REQ, qw(-new -keyout), "${CATOP}/private/$CAKEY", "-out", "${CATOP}/$CAREQ", @{$EXTRA{req}}); $RET = run(@CA, qw(-create_serial -out), "${CATOP}/$CACERT", @CADAYS, qw(-batch -keyfile), "${CATOP}/private/$CAKEY", "-selfsign", @EXTENSIONS, "-infiles", "${CATOP}/$CAREQ", @{$EXTRA{ca}}) if $RET == 0; print "CA certificate is in ${CATOP}/$CACERT\n" if $RET == 0; } } elsif ($WHAT eq '-pkcs12' ) { my $cname = $ARGV[0]; $cname = "My Certificate" unless defined $cname; $RET = run(@PKCS12, "-in", $NEWCERT, "-inkey", $NEWKEY, "-certfile", "${CATOP}/$CACERT", "-out", $NEWP12, qw(-export -name), $cname, @{$EXTRA{pkcs12}}); print "PKCS#12 file is in $NEWP12\n" if $RET == 0; } elsif ($WHAT eq '-xsign' ) { $RET = run(@CA, @POLICY, "-infiles", $NEWREQ, @{$EXTRA{ca}}); } elsif ($WHAT eq '-sign' ) { $RET = run(@CA, @POLICY, "-out", $NEWCERT, "-infiles", $NEWREQ, @{$EXTRA{ca}}); print "Signed certificate is in $NEWCERT\n" if $RET == 0; } elsif ($WHAT eq '-signCA' ) { $RET = run(@CA, @POLICY, "-out", $NEWCERT, @EXTENSIONS, "-infiles", $NEWREQ, @{$EXTRA{ca}}); print "Signed CA certificate is in $NEWCERT\n" if $RET == 0; } elsif ($WHAT eq '-signcert' ) { $RET = run(@X509, qw(-x509toreq -in), $NEWREQ, "-signkey", $NEWREQ, qw(-out tmp.pem), @{$EXTRA{x509}}); $RET = run(@CA, @POLICY, "-out", $NEWCERT, qw(-infiles tmp.pem), @{$EXTRA{ca}}) if $RET == 0; print "Signed certificate is in $NEWCERT\n" if $RET == 0; } elsif ($WHAT eq '-verify' ) { my @files = @ARGV ? @ARGV : ( $NEWCERT ); foreach my $file (@files) { my $status = run(@VERIFY, "-CAfile", "${CATOP}/$CACERT", $file, @{$EXTRA{verify}}); $RET = $status if $status != 0; } } elsif ($WHAT eq '-crl' ) { $RET = run(@CA, qw(-gencrl -out), "${CATOP}/crl/$CACRL", @{$EXTRA{ca}}); print "Generated CRL is in ${CATOP}/crl/$CACRL\n" if $RET == 0; } elsif ($WHAT eq '-revoke' ) { my $cname = $ARGV[0]; if (!defined $cname) { print "Certificate filename is required; reason optional.\n"; exit 1; } my @reason; @reason = ("-crl_reason", $ARGV[1]) if defined $ARGV[1] && crl_reason_ok($ARGV[1]); $RET = run(@CA, "-revoke", $cname, @reason, @{$EXTRA{ca}}); } else { print STDERR "Unknown arg \"$WHAT\"\n"; print STDERR "Use -help for help.\n"; exit 1; } exit $RET;