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 2008 Intel Corporation Use, modification and distribution are subject to 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_POLYGON_POLYGON_90_SET_CONCEPT_HPP #define BOOST_POLYGON_POLYGON_90_SET_CONCEPT_HPP #include "polygon_90_set_data.hpp" #include "polygon_90_set_traits.hpp" namespace boost { namespace polygon{ template typename enable_if< typename is_polygon_90_set_type::type, typename polygon_90_set_traits::iterator_type>::type begin_90_set_data(const polygon_set_type& polygon_set) { return polygon_90_set_traits::begin(polygon_set); } template typename enable_if< typename is_polygon_90_set_type::type, typename polygon_90_set_traits::iterator_type>::type end_90_set_data(const polygon_set_type& polygon_set) { return polygon_90_set_traits::end(polygon_set); } template typename enable_if< typename is_polygon_90_set_type::type, orientation_2d>::type scanline_orientation(const polygon_set_type& polygon_set) { return polygon_90_set_traits::orient(polygon_set); } template typename enable_if< typename is_polygon_90_set_type::type, bool>::type clean(const polygon_set_type& polygon_set) { return polygon_90_set_traits::clean(polygon_set); } //assign template typename enable_if < typename gtl_and< typename is_mutable_polygon_90_set_type::type, typename is_polygon_90_set_type::type>::type, polygon_set_type_1>::type & assign(polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) { polygon_90_set_mutable_traits::set(lvalue, begin_90_set_data(rvalue), end_90_set_data(rvalue), scanline_orientation(rvalue)); return lvalue; } template struct are_not_both_rectangle_concept { typedef gtl_yes type; }; template <> struct are_not_both_rectangle_concept { typedef gtl_no type; }; //equivalence template typename enable_if< typename gtl_and_3< typename is_polygon_90_set_type::type, typename is_polygon_90_set_type::type, typename are_not_both_rectangle_concept::type, typename geometry_concept::type>::type>::type, bool>::type equivalence(const polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) { polygon_90_set_data::coordinate_type> ps1; assign(ps1, lvalue); polygon_90_set_data::coordinate_type> ps2; assign(ps2, rvalue); return ps1 == ps2; } //get rectangle tiles (slicing orientation is vertical) template typename enable_if< typename gtl_if::type>::type, void>::type get_rectangles(output_container_type& output, const polygon_set_type& polygon_set) { clean(polygon_set); polygon_90_set_data::coordinate_type> ps(VERTICAL); assign(ps, polygon_set); ps.get_rectangles(output); } //get rectangle tiles template typename enable_if< typename gtl_if::type>::type, void>::type get_rectangles(output_container_type& output, const polygon_set_type& polygon_set, orientation_2d slicing_orientation) { clean(polygon_set); polygon_90_set_data::coordinate_type> ps; assign(ps, polygon_set); ps.get_rectangles(output, slicing_orientation); } //get: min_rectangles max_rectangles template typename enable_if ::type, typename gtl_same_type::value_type>::type>::type>::type, void>::type get_max_rectangles(output_container_type& output, const polygon_set_type& polygon_set) { std::vector::coordinate_type> > rects; assign(rects, polygon_set); MaxCover::coordinate_type>::getMaxCover(output, rects, scanline_orientation(polygon_set)); } //clear template typename enable_if< typename is_mutable_polygon_90_set_type::type, void>::type clear(polygon_set_type& polygon_set) { polygon_90_set_data::coordinate_type> ps(scanline_orientation(polygon_set)); assign(polygon_set, ps); } //empty template typename enable_if< typename is_mutable_polygon_90_set_type::type, bool>::type empty(const polygon_set_type& polygon_set) { if(clean(polygon_set)) return begin_90_set_data(polygon_set) == end_90_set_data(polygon_set); polygon_90_set_data::coordinate_type> ps; assign(ps, polygon_set); ps.clean(); return ps.empty(); } //extents template typename enable_if ::type, typename is_mutable_rectangle_concept::type>::type>::type, bool>::type extents(rectangle_type& extents_rectangle, const polygon_set_type& polygon_set) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); return ps.extents(extents_rectangle); } //area template typename enable_if< typename is_mutable_polygon_90_set_type::type, typename coordinate_traits::coordinate_type>::manhattan_area_type>::type area(const polygon_set_type& polygon_set) { typedef rectangle_data::coordinate_type> rectangle_type; typedef typename coordinate_traits::coordinate_type>::manhattan_area_type area_type; std::vector rects; assign(rects, polygon_set); area_type retval = (area_type)0; for(std::size_t i = 0; i < rects.size(); ++i) { retval += (area_type)area(rects[i]); } return retval; } //interact template typename enable_if ::type, typename is_mutable_polygon_90_set_type::type>::type, polygon_set_type_1>::type& interact(polygon_set_type_1& polygon_set_1, const polygon_set_type_2& polygon_set_2) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps(scanline_orientation(polygon_set_2)); polygon_90_set_data ps2(ps); ps.insert(polygon_set_1); ps2.insert(polygon_set_2); ps.interact(ps2); assign(polygon_set_1, ps); return polygon_set_1; } //self_intersect template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & self_intersect(polygon_set_type& polygon_set) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.self_intersect(); assign(polygon_set, ps); return polygon_set; } //self_xor template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & self_xor(polygon_set_type& polygon_set) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.self_xor(); assign(polygon_set, ps); return polygon_set; } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & bloat(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type>::unsigned_area_type bloating) { return bloat(polygon_set, bloating, bloating, bloating, bloating); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & bloat(polygon_set_type& polygon_set, orientation_2d orient, typename coordinate_traits::coordinate_type>::unsigned_area_type bloating) { if(orient == orientation_2d(HORIZONTAL)) return bloat(polygon_set, bloating, bloating, 0, 0); return bloat(polygon_set, 0, 0, bloating, bloating); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & bloat(polygon_set_type& polygon_set, orientation_2d orient, typename coordinate_traits::coordinate_type>::unsigned_area_type low_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type high_bloating) { if(orient == orientation_2d(HORIZONTAL)) return bloat(polygon_set, low_bloating, high_bloating, 0, 0); return bloat(polygon_set, 0, 0, low_bloating, high_bloating); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & bloat(polygon_set_type& polygon_set, direction_2d dir, typename coordinate_traits::coordinate_type>::unsigned_area_type bloating) { if(dir == direction_2d(EAST)) return bloat(polygon_set, 0, bloating, 0, 0); if(dir == direction_2d(WEST)) return bloat(polygon_set, bloating, 0, 0, 0); if(dir == direction_2d(SOUTH)) return bloat(polygon_set, 0, 0, bloating, 0); return bloat(polygon_set, 0, 0, 0, bloating); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & bloat(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type>::unsigned_area_type west_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type east_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type south_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type north_bloating) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.bloat(west_bloating, east_bloating, south_bloating, north_bloating); ps.clean(); assign(polygon_set, ps); return polygon_set; } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & shrink(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type>::unsigned_area_type shrinking) { return shrink(polygon_set, shrinking, shrinking, shrinking, shrinking); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & shrink(polygon_set_type& polygon_set, orientation_2d orient, typename coordinate_traits::coordinate_type>::unsigned_area_type shrinking) { if(orient == orientation_2d(HORIZONTAL)) return shrink(polygon_set, shrinking, shrinking, 0, 0); return shrink(polygon_set, 0, 0, shrinking, shrinking); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & shrink(polygon_set_type& polygon_set, orientation_2d orient, typename coordinate_traits::coordinate_type>::unsigned_area_type low_shrinking, typename coordinate_traits::coordinate_type>::unsigned_area_type high_shrinking) { if(orient == orientation_2d(HORIZONTAL)) return shrink(polygon_set, low_shrinking, high_shrinking, 0, 0); return shrink(polygon_set, 0, 0, low_shrinking, high_shrinking); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & shrink(polygon_set_type& polygon_set, direction_2d dir, typename coordinate_traits::coordinate_type>::unsigned_area_type shrinking) { if(dir == direction_2d(EAST)) return shrink(polygon_set, 0, shrinking, 0, 0); if(dir == direction_2d(WEST)) return shrink(polygon_set, shrinking, 0, 0, 0); if(dir == direction_2d(SOUTH)) return shrink(polygon_set, 0, 0, shrinking, 0); return shrink(polygon_set, 0, 0, 0, shrinking); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & shrink(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type>::unsigned_area_type west_shrinking, typename coordinate_traits::coordinate_type>::unsigned_area_type east_shrinking, typename coordinate_traits::coordinate_type>::unsigned_area_type south_shrinking, typename coordinate_traits::coordinate_type>::unsigned_area_type north_shrinking) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.shrink(west_shrinking, east_shrinking, south_shrinking, north_shrinking); ps.clean(); assign(polygon_set, ps); return polygon_set; } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & resize(polygon_set_type& polygon_set, coord_type resizing) { if(resizing > 0) { return bloat(polygon_set, resizing); } if(resizing < 0) { return shrink(polygon_set, -resizing); } return polygon_set; } //positive or negative values allow for any and all directions of sizing template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & resize(polygon_set_type& polygon_set, coord_type west, coord_type east, coord_type south, coord_type north) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.resize(west, east, south, north); assign(polygon_set, ps); return polygon_set; } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & grow_and(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type>::unsigned_area_type bloating) { return grow_and(polygon_set, bloating, bloating, bloating, bloating); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & grow_and(polygon_set_type& polygon_set, orientation_2d orient, typename coordinate_traits::coordinate_type>::unsigned_area_type bloating) { if(orient == orientation_2d(HORIZONTAL)) return grow_and(polygon_set, bloating, bloating, 0, 0); return grow_and(polygon_set, 0, 0, bloating, bloating); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & grow_and(polygon_set_type& polygon_set, orientation_2d orient, typename coordinate_traits::coordinate_type>::unsigned_area_type low_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type high_bloating) { if(orient == orientation_2d(HORIZONTAL)) return grow_and(polygon_set, low_bloating, high_bloating, 0, 0); return grow_and(polygon_set, 0, 0, low_bloating, high_bloating); } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & grow_and(polygon_set_type& polygon_set, direction_2d dir, typename coordinate_traits::coordinate_type>::unsigned_area_type bloating) { if(dir == direction_2d(EAST)) return grow_and(polygon_set, 0, bloating, 0, 0); if(dir == direction_2d(WEST)) return grow_and(polygon_set, bloating, 0, 0, 0); if(dir == direction_2d(SOUTH)) return grow_and(polygon_set, 0, 0, bloating, 0); return grow_and(polygon_set, 0, 0, 0, bloating); } template typename enable_if< typename gtl_if::type>::type, polygon_set_type>::type & grow_and(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type>::unsigned_area_type west_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type east_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type south_bloating, typename coordinate_traits::coordinate_type>::unsigned_area_type north_bloating) { typedef typename polygon_90_set_traits::coordinate_type Unit; std::vector > polys; assign(polys, polygon_set); clear(polygon_set); polygon_90_set_data ps(scanline_orientation(polygon_set)); for(std::size_t i = 0; i < polys.size(); ++i) { polygon_90_set_data tmpPs(scanline_orientation(polygon_set)); tmpPs.insert(polys[i]); bloat(tmpPs, west_bloating, east_bloating, south_bloating, north_bloating); tmpPs.clean(); //apply implicit OR on tmp polygon set ps.insert(tmpPs); } self_intersect(ps); assign(polygon_set, ps); return polygon_set; } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & scale_up(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type> ::unsigned_area_type factor) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.scale_up(factor); assign(polygon_set, ps); return polygon_set; } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & scale_down(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type> ::unsigned_area_type factor) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.scale_down(factor); assign(polygon_set, ps); return polygon_set; } template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & scale(polygon_set_type& polygon_set, const scaling_type& scaling) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.scale(scaling); assign(polygon_set, ps); return polygon_set; } struct y_p_s_move : gtl_yes {}; //move template typename enable_if< typename gtl_and::type>::type>::type, polygon_set_type>::type & move(polygon_set_type& polygon_set, orientation_2d orient, typename polygon_90_set_traits::coordinate_type displacement) { if(orient == HORIZONTAL) return move(polygon_set, displacement, 0); else return move(polygon_set, 0, displacement); } struct y_p_s_move2 : gtl_yes {}; template typename enable_if< typename gtl_and::type>::type>::type, polygon_set_type>::type & move(polygon_set_type& polygon_set, typename polygon_90_set_traits::coordinate_type x_displacement, typename polygon_90_set_traits::coordinate_type y_displacement) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.move(x_displacement, y_displacement); ps.clean(); assign(polygon_set, ps); return polygon_set; } //transform template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & transform(polygon_set_type& polygon_set, const transformation_type& transformation) { typedef typename polygon_90_set_traits::coordinate_type Unit; polygon_90_set_data ps; assign(ps, polygon_set); ps.transform(transformation); ps.clean(); assign(polygon_set, ps); return polygon_set; typedef typename polygon_90_set_traits::coordinate_type Unit; } //keep template typename enable_if< typename is_mutable_polygon_90_set_type::type, polygon_set_type>::type & keep(polygon_set_type& polygon_set, typename coordinate_traits::coordinate_type>::unsigned_area_type min_area, typename coordinate_traits::coordinate_type>::unsigned_area_type max_area, typename coordinate_traits::coordinate_type>::unsigned_area_type min_width, typename coordinate_traits::coordinate_type>::unsigned_area_type max_width, typename coordinate_traits::coordinate_type>::unsigned_area_type min_height, typename coordinate_traits::coordinate_type>::unsigned_area_type max_height) { typedef typename polygon_90_set_traits::coordinate_type Unit; typedef typename coordinate_traits::unsigned_area_type uat; std::list > polys; assign(polys, polygon_set); clear(polygon_set); typename std::list >::iterator itr_nxt; for(typename std::list >::iterator itr = polys.begin(); itr != polys.end(); itr = itr_nxt){ itr_nxt = itr; ++itr_nxt; rectangle_data bbox; extents(bbox, *itr); uat pwidth = delta(bbox, HORIZONTAL); if(pwidth > min_width && pwidth <= max_width){ uat pheight = delta(bbox, VERTICAL); if(pheight > min_height && pheight <= max_height){ uat parea = area(*itr); if(parea <= max_area && parea >= min_area) { continue; } } } polys.erase(itr); } assign(polygon_set, polys); return polygon_set; } } } #include "detail/polygon_90_set_view.hpp" #endif