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 (c) 2007,2009,2010,2011 Tel-Aviv University (Israel). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v6.1/Arrangement_on_surface_2/include/CGAL/Arr_tags.h $ // $Id: include/CGAL/Arr_tags.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s): Efi Fogel // Eric Berberich #ifndef CGAL_ARR_TAGS_H #define CGAL_ARR_TAGS_H #include #include #include #include #include #include #include #include #include #include /*! \file * Definition of the tags for the arrangement package. */ namespace CGAL { struct Arr_boundary_side_tag {}; struct Arr_oblivious_side_tag : public virtual Arr_boundary_side_tag {}; struct Arr_not_oblivious_side_tag : public virtual Arr_boundary_side_tag {}; struct Arr_open_side_tag : public virtual Arr_not_oblivious_side_tag {}; struct Arr_closed_side_tag : public virtual Arr_not_oblivious_side_tag {}; struct Arr_contracted_side_tag : public virtual Arr_not_oblivious_side_tag {}; struct Arr_identified_side_tag : public virtual Arr_not_oblivious_side_tag {}; BOOST_MPL_HAS_XXX_TRAIT_DEF(Left_side_category) BOOST_MPL_HAS_XXX_TRAIT_DEF(Bottom_side_category) BOOST_MPL_HAS_XXX_TRAIT_DEF(Top_side_category) BOOST_MPL_HAS_XXX_TRAIT_DEF(Right_side_category) namespace internal { //! type to provide left side tag (is oblivious if not existing) template struct Get_left_side_category {}; template struct Get_left_side_category { typedef typename Traits_::Left_side_category Category; }; template struct Get_left_side_category { typedef Arr_oblivious_side_tag Category; }; template struct Arr_complete_left_side_category { public: typedef Traits_ Traits; typedef typename Get_left_side_category::value>::Category Category; }; template struct Validate_left_side_category {}; template struct Validate_left_side_category { template void missing__Left_side_category() {} }; template struct Validate_left_side_category { template void missing__Left_side_category() { T missing__Left_side_category__assuming__Arr_oblivious_side_tag__instead; } }; //! type to provide bottom side tag (is oblivious if not existing) template struct Get_bottom_side_category {}; template struct Get_bottom_side_category { typedef typename Traits_::Bottom_side_category Category; }; template struct Get_bottom_side_category { typedef Arr_oblivious_side_tag Category; }; template struct Arr_complete_bottom_side_category { public: typedef Traits_ Traits; typedef typename Get_bottom_side_category::value>::Category Category; }; template struct Validate_bottom_side_category {}; template struct Validate_bottom_side_category { template void missing__Bottom_side_category() {} }; template struct Validate_bottom_side_category { template void missing__Bottom_side_category() { T missing__Bottom_side_category__assuming__Arr_oblivious_side_tag__instead; } }; //! type to provide top side tag (is oblivious if not existing) template struct Get_top_side_category { }; template struct Get_top_side_category { typedef typename Traits_::Top_side_category Category; }; template struct Get_top_side_category { typedef Arr_oblivious_side_tag Category; }; template struct Arr_complete_top_side_category { public: typedef Traits_ Traits; typedef typename Get_top_side_category::value>::Category Category; }; template struct Validate_top_side_category {}; template struct Validate_top_side_category { template void missing__Top_side_category() {} }; template struct Validate_top_side_category { template void missing__Top_side_category() { T missing__Top_side_category__assuming__Arr_oblivious_side_tag__instead; } }; //! type to provide right side tag (is oblivious if not existing) template struct Get_right_side_category {}; template struct Get_right_side_category { typedef typename Traits_::Right_side_category Category; }; template struct Get_right_side_category { typedef Arr_oblivious_side_tag Category; }; template struct Arr_complete_right_side_category { public: typedef Traits_ Traits; typedef typename Get_right_side_category::value>::Category Category; }; template struct Validate_right_side_category {}; template struct Validate_right_side_category { template void missing__Right_side_category() {} }; template struct Validate_right_side_category { template void missing__Right_side_category() { T missing__Right_side_category__assuming__Arr_oblivious_side_tag__instead; } }; } // namespace internal struct Arr_boundary_cond_tag{}; struct Arr_all_sides_oblivious_tag : public virtual Arr_boundary_cond_tag{}; struct Arr_not_all_sides_oblivious_tag : public virtual Arr_boundary_cond_tag{}; struct Arr_has_identified_side_tag : public virtual Arr_not_all_sides_oblivious_tag{}; struct Arr_has_contracted_side_tag : public virtual Arr_not_all_sides_oblivious_tag{}; struct Arr_has_closed_side_tag : public virtual Arr_not_all_sides_oblivious_tag{}; struct Arr_has_open_side_tag : public virtual Arr_not_all_sides_oblivious_tag{}; struct Arr_all_sides_open_tag : public virtual Arr_not_all_sides_oblivious_tag{}; struct Arr_all_sides_not_open_tag {}; struct Arr_not_all_sides_not_open_tag {}; /* The following tags inherit from the Arr_not_all_sides_oblivious_tag; * They match any parameter space where at least one side of the boundary is not * oblivious. * The former matches any parameter space that none of its sides are either * identified, contracted, or closed. In other words, it matches parameter * spaces that cannot contain points on their boundaries. * The latter matches any parameter space that has at least one side that is * either an identified, contracted, or closed side. In other words, it matches * any parameter space, the boundary of which may contain a point. */ struct Arr_all_sides_not_finite_tag : public virtual Arr_not_all_sides_oblivious_tag {}; struct Arr_not_all_sides_not_finite_tag : public virtual Arr_not_all_sides_oblivious_tag {}; typedef std::true_type Arr_true; typedef std::false_type Arr_false; template struct Arr_is_side_oblivious { typedef ArrSideCategory Side_cat; typedef std::is_same Is_same; typedef std::bool_constant result; typedef typename result::type type; }; template struct Arr_is_side_open { typedef ArrSideCategory Side_cat; typedef std::is_same Is_same; typedef std::bool_constant result; typedef typename result::type type; }; template struct Arr_is_side_identified { typedef ArrSideCategory Side_cat; typedef std::is_same Is_same; typedef std::bool_constant result; typedef typename result::type type; }; template inline constexpr bool Arr_is_side_identified_v = Arr_is_side_identified::type::value; template struct Arr_is_side_contracted { typedef ArrSideCategory Side_cat; typedef std::is_same Is_same; typedef std::bool_constant result; typedef typename result::type type; }; template struct Arr_is_side_closed { typedef ArrSideCategory Side_cat; typedef std::is_same Is_same; typedef std::bool_constant result; typedef typename result::type type; }; /*! Struct to determine whether all side tags are "oblivious" */ template struct Arr_all_sides_oblivious_category { typedef ArrLeftSideCategory Lef_side_cat; typedef ArrRightSideCategory Rig_side_cat; typedef ArrBottomSideCategory Bot_side_cat; typedef ArrTopSideCategory Top_side_cat; typedef typename Arr_is_side_oblivious::result Lef_obl; typedef typename Arr_is_side_oblivious::result Rig_obl; typedef typename Arr_is_side_oblivious::result Bot_obl; typedef typename Arr_is_side_oblivious::result Top_obl; /*! Boolean tag that is Arr_all_sides_oblivious_tag if all sides are * oblivious, otherwise Arr_not_all_sides_oblivious_tag */ typedef std::conditional_t result; }; /*! Struct to determine whether all side tags are "not-open" */ template struct Arr_all_sides_not_open_category { public: typedef ArrLeftSideCategory Lef_side_cat; typedef ArrRightSideCategory Rig_side_cat; typedef ArrBottomSideCategory Bot_side_cat; typedef ArrTopSideCategory Top_side_cat; private: typedef typename Arr_is_side_open::result Lef_ope; typedef typename Arr_is_side_open::result Rig_ope; typedef typename Arr_is_side_open::result Bot_ope; typedef typename Arr_is_side_open::result Top_ope; static inline constexpr bool lef_not_ope = !Lef_ope::value; static inline constexpr bool rig_not_ope = !Rig_ope::value; static inline constexpr bool bot_not_ope = !Bot_ope::value; static inline constexpr bool top_not_ope = !Top_ope::value; public: /*! Boolean tag that is Arr_all_sides_not_open_tag if all sides are not-open, * otherwise Arr_not_all_sides_not_open_tag */ typedef std::conditional_t result; }; /*! Struct to determine one of the following: * All sides are oblivious, * not all sides are oblivious, and not all sides are not open, or * Not all sides are oblivious, and all sides are not open * One distinct property of parameter spaces that are either oblivious or open * is that points cannot exist on the boundary of such parameter spaces. */ template struct Arr_sides_category { public: typedef ArrLeftSideCategory Lef_side_cat; typedef ArrBottomSideCategory Bot_side_cat; typedef ArrTopSideCategory Top_side_cat; typedef ArrRightSideCategory Rig_side_cat; private: typedef typename Arr_is_side_oblivious::result Lef_obl; typedef typename Arr_is_side_oblivious::result Rig_obl; typedef typename Arr_is_side_oblivious::result Bot_obl; typedef typename Arr_is_side_oblivious::result Top_obl; typedef typename Arr_is_side_open::result Lef_ope; typedef typename Arr_is_side_open::result Rig_ope; typedef typename Arr_is_side_open::result Bot_ope; typedef typename Arr_is_side_open::result Top_ope; static inline constexpr bool lef_obl_or_ope = Lef_obl::value || Lef_ope::value; static inline constexpr bool rig_obl_or_ope = Rig_obl::value || Rig_ope::value; static inline constexpr bool bot_obl_or_ope = Bot_obl::value || Bot_ope::value; static inline constexpr bool top_obl_or_ope = Top_obl::value || Top_ope::value; typedef std::conditional_t tmp; public: typedef std::conditional_t result; }; /*! Struct to check consistent tagging of identifications */ template struct Arr_sane_identified_tagging { typedef ArrLeftSideCategory Lef_side_cat; typedef ArrRightSideCategory Rig_side_cat; typedef ArrBottomSideCategory Bot_side_cat; typedef ArrTopSideCategory Top_side_cat; static inline constexpr bool lef_ide = Arr_is_side_identified_v; static inline constexpr bool rig_ide = Arr_is_side_identified_v; static inline constexpr bool bot_ide = Arr_is_side_identified_v; static inline constexpr bool top_ide = Arr_is_side_identified_v; static inline constexpr bool lr_ide = lef_ide && rig_ide; static inline constexpr bool bt_ide = bot_ide && top_ide; static inline constexpr bool lr_not_ide = !lef_ide && !rig_ide; static inline constexpr bool bt_not_ide = !bot_ide && !top_ide; static inline constexpr bool lr_ok = lr_ide || lr_not_ide; static inline constexpr bool bt_ok = bt_ide || bt_not_ide; /*! Boolean tag that is bool_constant if opposite sides are either * both identified or both not-identified, * otherwise bool_constant */ typedef std::bool_constant result; static inline constexpr bool value = result::value; }; /*! Checks whether one of two boundary sides are identified * Observe that if one side is identified, the opposite side must be identified * as well. Thus: * (i) When Arr_has_identified_sides is used to check whether two opposite * sides are identified, the check for the second side is redundant. * (ii) When Arr_has_identified_sides is used to check whether two not-opposite * sides are identified, the check applies to all four sides. */ template struct Arr_has_identified_sides { typedef ArrSideOneCategory Side_one_cat; typedef ArrSideTwoCategory Side_two_cat; typedef typename Arr_is_side_identified::result Side_one_ide; typedef typename Arr_is_side_identified::result Side_two_ide; /*! Boolean tag that is bool_constant if one side is identified, * otherwise bool_constant */ typedef std::bool_constant result; }; /*! Checks whether one of two boundary sides are contracted */ template struct Arr_has_contracted_sides_two { typedef ArrSideOneCategory Side_one_cat; typedef ArrSideTwoCategory Side_two_cat; typedef typename Arr_is_side_contracted::result Side_one_con; typedef typename Arr_is_side_contracted::result Side_two_con; /*!\ Boolean tag that is bool_constant if one side is identified, * otherwise bool_constant */ typedef std::bool_constant result; }; /*! Checks whether one of two boundary sides are closed */ template struct Arr_has_closed_sides_two { typedef ArrSideOneCategory Side_one_cat; typedef ArrSideTwoCategory Side_two_cat; typedef typename Arr_is_side_closed::result Side_one_clo; typedef typename Arr_is_side_closed::result Side_two_clo; /*! Boolean tag that is bool_constant if one side is identified, * otherwise bool_constant */ typedef std::bool_constant result; }; /*! Checks whether one of two boundary sides are open */ template struct Arr_has_open_sides_two { typedef ArrSideOneCategory Side_one_cat; typedef ArrSideTwoCategory Side_two_cat; typedef typename Arr_is_side_open::result Side_one_ope; typedef typename Arr_is_side_open::result Side_two_ope; /*! Boolean tag that is bool_constant if one side is identified, * otherwise bool_constant */ typedef std::bool_constant result; }; /*! Categorizes two boundary sides: * If one side is identified => Arr_has_identified_side_tag * Otherwise if one side is contracted => Arr_has_contracted_side_tag * Otherwise if one side is closed => Arr_has_closed_side_tag * Otherwise if one side is open => Arr_has_open_side_tag * Otherwise => Arr_all_sides_oblivious_tag */ template struct Arr_two_sides_category { typedef ArrSideOneCategory Side_one_cat; typedef ArrSideTwoCategory Side_two_cat; // One of the two sides is identified typedef typename Arr_has_identified_sides::result Is_identified; // One of the two sides is contracted typedef typename Arr_has_contracted_sides_two::result Is_contracted; // One of the two sides is closed typedef typename Arr_has_closed_sides_two::result Is_closed; // One of the two sides is open typedef typename Arr_has_open_sides_two::result Is_open; public: typedef std::conditional_t>>> result; }; /*! Categorizes all sides: * If one side is identified => Arr_has_identified_side_tag * Otherwise if one side is contracted => Arr_has_contracted_side_tag * Otherwise if one side is closed => Arr_has_closed_side_tag * Otherwise if one side is open => Arr_has_open_side_tag * Otherwise (all sides oblivious) => Arr_all_sides_oblivious_tag */ template struct Arr_all_sides_category {}; } // namespace CGAL #include #endif