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

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

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

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

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

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

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

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

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

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// // Copyright 2005-2007 Adobe Systems Incorporated // Copyright 2019 Miral Shah // Copyright 2022 Pranam Lashkari // // Distributed under the Boost Software License, Version 1.0 // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // #ifndef BOOST_GIL_IMAGE_PROCESSING_KERNEL_HPP #define BOOST_GIL_IMAGE_PROCESSING_KERNEL_HPP #include #include #include #include #include #include #include #include #include #include namespace boost { namespace gil { // Definitions of 1D fixed-size and variable-size kernels and related operations namespace detail { /// \brief kernel adaptor for one-dimensional cores /// Core needs to provide size(),begin(),end(),operator[], /// value_type,iterator,const_iterator,reference,const_reference template class kernel_1d_adaptor : public Core { public: kernel_1d_adaptor() = default; explicit kernel_1d_adaptor(std::size_t center) : center_(center) { BOOST_ASSERT(center_ < this->size()); } kernel_1d_adaptor(std::size_t size, std::size_t center) : Core(size) , center_(center) { BOOST_ASSERT(this->size() > 0); BOOST_ASSERT(center_ < this->size()); // also implies `size() > 0` } kernel_1d_adaptor(kernel_1d_adaptor const& other) : Core(other), center_(other.center_) { BOOST_ASSERT(this->size() > 0); BOOST_ASSERT(center_ < this->size()); // also implies `size() > 0` } kernel_1d_adaptor& operator=(kernel_1d_adaptor const& other) { Core::operator=(other); center_ = other.center_; return *this; } std::size_t left_size() const { BOOST_ASSERT(center_ < this->size()); return center_; } std::size_t right_size() const { BOOST_ASSERT(center_ < this->size()); return this->size() - center_ - 1; } auto center() -> std::size_t& { BOOST_ASSERT(center_ < this->size()); return center_; } auto center() const -> std::size_t const& { BOOST_ASSERT(center_ < this->size()); return center_; } private: std::size_t center_{0}; }; } // namespace detail /// \brief variable-size kernel template > class kernel_1d : public detail::kernel_1d_adaptor> { using parent_t = detail::kernel_1d_adaptor>; public: kernel_1d() = default; kernel_1d(std::size_t size, std::size_t center) : parent_t(size, center) {} template kernel_1d(FwdIterator elements, std::size_t size, std::size_t center) : parent_t(size, center) { detail::copy_n(elements, size, this->begin()); } kernel_1d(kernel_1d const& other) : parent_t(other) {} kernel_1d& operator=(kernel_1d const& other) = default; }; /// \brief static-size kernel template class kernel_1d_fixed : public detail::kernel_1d_adaptor> { using parent_t = detail::kernel_1d_adaptor>; public: static constexpr std::size_t static_size = Size; static_assert(static_size > 0, "kernel must have size greater than 0"); static_assert(static_size % 2 == 1, "kernel size must be odd to ensure validity at the center"); kernel_1d_fixed() = default; explicit kernel_1d_fixed(std::size_t center) : parent_t(center) {} template explicit kernel_1d_fixed(FwdIterator elements, std::size_t center) : parent_t(center) { detail::copy_n(elements, Size, this->begin()); } kernel_1d_fixed(kernel_1d_fixed const& other) : parent_t(other) {} kernel_1d_fixed& operator=(kernel_1d_fixed const& other) = default; }; // TODO: This data member is odr-used and definition at namespace scope // is required by C++11. Redundant and deprecated in C++17. template constexpr std::size_t kernel_1d_fixed::static_size; /// \brief reverse a kernel template inline Kernel reverse_kernel(Kernel const& kernel) { Kernel result(kernel); result.center() = kernel.right_size(); std::reverse(result.begin(), result.end()); return result; } namespace detail { template class kernel_2d_adaptor : public Core { public: kernel_2d_adaptor() = default; explicit kernel_2d_adaptor(std::size_t center_y, std::size_t center_x) : center_(center_x, center_y) { BOOST_ASSERT(center_.y < this->size() && center_.x < this->size()); } kernel_2d_adaptor(std::size_t size, std::size_t center_y, std::size_t center_x) : Core(size * size), square_size(size), center_(center_x, center_y) { BOOST_ASSERT(this->size() > 0); BOOST_ASSERT(center_.y < this->size() && center_.x < this->size()); // implies `size() > 0` } kernel_2d_adaptor(kernel_2d_adaptor const& other) : Core(other), square_size(other.square_size), center_(other.center_.x, other.center_.y) { BOOST_ASSERT(this->size() > 0); BOOST_ASSERT(center_.y < this->size() && center_.x < this->size()); // implies `size() > 0` } kernel_2d_adaptor& operator=(kernel_2d_adaptor const& other) { Core::operator=(other); center_.y = other.center_.y; center_.x = other.center_.x; square_size = other.square_size; return *this; } std::size_t upper_size() const { BOOST_ASSERT(center_.y < this->size()); return center_.y; } std::size_t lower_size() const { BOOST_ASSERT(center_.y < this->size()); return this->size() - center_.y - 1; } std::size_t left_size() const { BOOST_ASSERT(center_.x < this->size()); return center_.x; } std::size_t right_size() const { BOOST_ASSERT(center_.x < this->size()); return this->size() - center_.x - 1; } auto center_y() -> std::size_t& { BOOST_ASSERT(center_.y < this->size()); return center_.y; } auto center_y() const -> std::size_t const& { BOOST_ASSERT(center_.y < this->size()); return center_.y; } auto center_x() -> std::size_t& { BOOST_ASSERT(center_.x < this->size()); return center_.x; } auto center_x() const -> std::size_t const& { BOOST_ASSERT(center_.x < this->size()); return center_.x; } std::size_t size() const { return square_size; } typename Core::value_type at(std::size_t x, std::size_t y) const { if (x >= this->size() || y >= this->size()) { throw std::out_of_range("Index out of range"); } return this->begin()[y * this->size() + x]; } protected: std::size_t square_size{0}; private: point center_{0, 0}; }; /// \brief variable-size kernel template < typename T, typename Allocator = std::allocator > class kernel_2d : public detail::kernel_2d_adaptor> { using parent_t = detail::kernel_2d_adaptor>; public: kernel_2d() = default; kernel_2d(std::size_t size,std::size_t center_y, std::size_t center_x) : parent_t(size, center_y, center_x) {} template kernel_2d(FwdIterator elements, std::size_t size, std::size_t center_y, std::size_t center_x) : parent_t(static_cast(std::sqrt(size)), center_y, center_x) { detail::copy_n(elements, size, this->begin()); } kernel_2d(kernel_2d const& other) : parent_t(other) {} kernel_2d& operator=(kernel_2d const& other) = default; }; /// \brief static-size kernel template class kernel_2d_fixed : public detail::kernel_2d_adaptor> { using parent_t = detail::kernel_2d_adaptor>; public: static constexpr std::size_t static_size = Size; static_assert(static_size > 0, "kernel must have size greater than 0"); static_assert(static_size % 2 == 1, "kernel size must be odd to ensure validity at the center"); kernel_2d_fixed() { this->square_size = Size; } explicit kernel_2d_fixed(std::size_t center_y, std::size_t center_x) : parent_t(center_y, center_x) { this->square_size = Size; } template explicit kernel_2d_fixed(FwdIterator elements, std::size_t center_y, std::size_t center_x) : parent_t(center_y, center_x) { this->square_size = Size; detail::copy_n(elements, Size * Size, this->begin()); } kernel_2d_fixed(kernel_2d_fixed const& other) : parent_t(other) {} kernel_2d_fixed& operator=(kernel_2d_fixed const& other) = default; }; // TODO: This data member is odr-used and definition at namespace scope // is required by C++11. Redundant and deprecated in C++17. template constexpr std::size_t kernel_2d_fixed::static_size; template inline Kernel reverse_kernel_2d(Kernel const& kernel) { Kernel result(kernel); result.center_x() = kernel.lower_size(); result.center_y() = kernel.right_size(); std::reverse(result.begin(), result.end()); return result; } /// \brief reverse a kernel_2d template inline kernel_2d reverse_kernel(kernel_2d const& kernel) { return reverse_kernel_2d(kernel); } /// \brief reverse a kernel_2d template inline kernel_2d_fixed reverse_kernel(kernel_2d_fixed const& kernel) { return reverse_kernel_2d(kernel); } } //namespace detail }} // namespace boost::gil #endif