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) 2003,2004,2005 INRIA Sophia-Antipolis (France). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v6.1/TDS_2/include/CGAL/TDS_2/internal/edge_list.h $ // $Id: include/CGAL/TDS_2/internal/edge_list.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Menelaos Karavelas #ifndef CGAL_INTERNAL_TDS_2_EDGE_LIST_H #define CGAL_INTERNAL_TDS_2_EDGE_LIST_H #include #include #include #include namespace CGAL { namespace internal { template class Edge_list_item { public: typedef Edge_t Edge; private: typedef typename Edge::first_type Face_handle; private: Edge prev_; Edge next_; public: // remove the following method and make SENTINEL_EDGE a static const // member of the class. static Edge sentinel_edge() { return Edge(Face_handle(), sentinel_index()); } private: static int sentinel_index() { return -1; } public: Edge_list_item() : prev_(sentinel_edge()), next_(sentinel_edge()) {} Edge_list_item(const Edge& prev, const Edge& next) : prev_(prev), next_(next) {} bool is_in_list() const { return ( next_.second != sentinel_index() || prev_.second != sentinel_index() ); } void set_next(const Edge& next) { next_ = next; } void set_previous(const Edge& prev) { prev_ = prev; } const Edge& next() const { return next_; } const Edge& previous() const { return prev_; } void reset() { Edge SENTINEL_EDGE = sentinel_edge(); next_ = prev_ = SENTINEL_EDGE; } }; template struct Edge_list_which_map; // use STL's map template struct Edge_list_which_map { typedef E_t Edge; typedef ListItem List_item; typedef std::map Edge_map; }; // use CGAL's Unique_hash_map template struct Edge_list_which_map { typedef E_t Edge; typedef ListItem List_item; typedef CGAL::Edge_hash_function Hash_function; typedef Unique_hash_map Edge_map; }; template class Edge_list_circulator : public CGAL::Bidirectional_circulator_base { private: typedef Edge_list_t List; typedef typename List::Edge Edge; typedef Edge_list_item List_item; typedef CGAL::Bidirectional_circulator_base Base; typedef Edge_list_circulator Self; public: typedef typename Base::pointer pointer; typedef typename Base::reference reference; public: Edge_list_circulator() : l_(nullptr), c_(List_item::sentinel_edge()) {} Edge_list_circulator(const List* l, const Edge& c) : l_(l), c_(/*const_cast(*/c/*)*/) {} Edge_list_circulator(const Edge_list_circulator& other) : l_(other.l_), c_(other.c_) {} Edge_list_circulator& operator=(const Edge_list_circulator& other) { l_ = other.l_; c_ = other.c_; return *this; } Self& operator++() { CGAL_precondition( l_ != nullptr ); // c_ = const_cast(l_->next(c_)); c_ = l_->next(c_); return *this; } Self& operator--() { CGAL_precondition( l_ != nullptr ); // c_ = const_cast(l_->previous(c_)); c_ = l_->previous(c_); return *this; } Self operator++(int) { Self tmp(*this); ++(*this); return tmp; } Self operator--(int) { Self tmp(*this); --(*this); return tmp; } pointer operator->() { return &c_; } reference operator*() { return c_; } bool operator==(const Self& other) const { CGAL_assertion( l_ == other.l_ ); return c_ == other.c_; } bool operator!=(const Self& other) const { CGAL_assertion( l_ == other.l_ ); return c_ != other.c_; } protected: const List* l_; // Edge& c_; Edge c_; }; template class Edge_list_iterator { typedef L Edge_list; typedef typename Edge_list::Edge Edge; typedef Edge_list_iterator Self; public: typedef Edge* pointer; typedef Edge& reference; public: Edge_list_iterator() {} Edge_list_iterator(const Edge_list* l, const Edge& e, unsigned int idx) : l(l), e(e), idx(idx) {} Edge_list_iterator(const Self& other) { l = other.l; e = other.e; idx = other.idx; } Self& operator=(const Self& other) { l = other.l; e = other.e; idx = other.idx; return *this; } // pre-increment Self& operator++() { ++idx; e = l->next(e); return *this; } // post-increment Self operator++(int) { Self tmp(*this); ++(*this); return tmp; } Self& operator--() { --idx; e = l->previous(e); return *this; } Self operator--(int) { Self tmp(*this); --(*this); return tmp; } pointer operator->() { return &e; } reference operator*() { return e; } bool operator==(const Self& other) const { CGAL_assertion( l == other.l ); return idx == other.idx; } bool operator!=(const Self& other) const { CGAL_assertion( l == other.l ); return idx != other.idx; } private: const Edge_list* l; Edge e; unsigned int idx; }; } // namespace internal template class Edge_list { public: // TYPES //====== typedef std::size_t size_type; typedef Edge_t Edge; typedef USE_STL_MAP_Tag Use_stl_map_tag; private: typedef internal::Edge_list_item List_item; typedef internal::Edge_list_which_map Which_map; typedef typename Which_map::Edge_map Edge_map; typedef Edge_list Self; public: typedef internal::Edge_list_circulator circulator; typedef internal::Edge_list_iterator iterator; private: // PRIVATE DATA MEMBERS //===================== Edge_map emap; Edge front_; size_type size_; private: // PRIVATE METHODS //================ void increase_size() { size_++; } void decrease_size() { size_--; } void insert_before_nocheck(const Edge& e, const Edge& new_e) { List_item& li_e = emap[e]; const Edge& prev_e = li_e.previous(); List_item& li_prev_e = emap[prev_e]; emap[new_e] = List_item(prev_e, e); li_e.set_previous(new_e); li_prev_e.set_next(new_e); increase_size(); } // check whether the edge is in the list; // the map used is STL's map bool is_in_list_with_tag(const Edge& e, const Tag_true&) const { if ( emap.find(e) == emap.end() ) { return false; } return emap.find(e)->second.is_in_list(); } // check whether the edge is in the list; // the map used is CGAL's Unique_hash_map bool is_in_list_with_tag(const Edge& e, const Tag_false&) const { if ( !emap.is_defined(e) ) { return false; } return emap[e].is_in_list(); } // return the next edge in the list; // the map used is STL's map const Edge& next_with_tag(const Edge& e, const Tag_true&) const { return emap.find(e)->second.next(); } // return the next edge in the list; // the map used is CGAL's Unique_hash_map const Edge& next_with_tag(const Edge& e, const Tag_false&) const { return emap[e].next(); } // return the previous edge in the list; // the map used is STL's map const Edge& previous_with_tag(const Edge& e, const Tag_true&) const { return emap.find(e)->second.previous(); } // return the previous edge in the list; // the map used is CGAL's Unique_hash_map const Edge& previous_with_tag(const Edge& e, const Tag_false&) const { return emap[e].previous(); } public: // CONSTRUCTOR //============ #ifdef _MSC_VER Edge_list(const Edge& e = Edge(typename Edge::first_type(),-1) ) : emap(), front_(e), size_(0) {} #else Edge_list(const Edge& e = List_item::sentinel_edge() ) : emap(), front_(e), size_(0) {} #endif // PREDICATES //=========== bool is_valid() const { return true; } bool is_in_list(const Edge& e) const { Use_stl_map_tag map_tag; return is_in_list_with_tag(e, map_tag); } // ACCESS METHODS //=============== size_type size() const { return size_; } const Edge& next(const Edge& e) const { CGAL_precondition( is_in_list(e) ); Use_stl_map_tag map_tag; return next_with_tag(e, map_tag); } const Edge& previous(const Edge& e) const { CGAL_precondition( is_in_list(e) ); Use_stl_map_tag map_tag; return previous_with_tag(e, map_tag); } const Edge& front() const { CGAL_precondition( size() > 0 ); return front_; } const Edge& back() const { CGAL_precondition( size() > 0 ); return previous(front_); } // INSERTION //========== void push_front(const Edge& e) { push_back(e); front_ = e; } void push_back(const Edge& e) { CGAL_precondition( !is_in_list(e) ); if ( size() == 0 ) { emap[e] = List_item(e,e); front_ = e; increase_size(); return; } insert_before_nocheck(front_, e); } void insert_after(const Edge& e, const Edge& new_e) { CGAL_precondition( is_in_list(e) ); CGAL_precondition( !is_in_list(new_e) ); List_item& li_e = emap[e]; const Edge& next_e = li_e.next(); List_item& li_next_e = emap[next_e]; emap[new_e] = List_item(e, next_e); li_e.set_next(new_e); li_next_e.set_previous(new_e); increase_size(); } void insert_before(const Edge& e, const Edge& new_e) { CGAL_precondition( is_in_list(e) ); CGAL_precondition( !is_in_list(new_e) ); insert_before_nocheck(e, new_e); } // REPLACEMENT //============ void replace(const Edge& e, const Edge& new_e) { CGAL_precondition( is_in_list(e) ); CGAL_precondition( !is_in_list(new_e) ); List_item& li_e = emap[e]; if ( size() == 1 ) { emap[new_e] = List_item(new_e, new_e); front_ = new_e; li_e.reset(); } const Edge& next_e = li_e.next(); const Edge& prev_e = li_e.previous(); emap[prev_e].set_next(new_e); emap[next_e].set_previous(new_e); emap[new_e] = List_item(prev_e, next_e); li_e.reset(); if ( e == front_ ) { front_ = new_e; } } // REMOVAL //======== void remove(const Edge& e) { CGAL_precondition( is_in_list(e) ); if ( size() == 1 ) { front_ = List_item::sentinel_edge(); emap[e].reset(); decrease_size(); return; } List_item& li_e = emap[e]; const Edge& next_e = li_e.next(); const Edge& prev_e = li_e.previous(); emap[prev_e].set_next(next_e); emap[next_e].set_previous(prev_e); if ( e == front_ ) { // front_ = next_e; front_ = next_e; } li_e.reset(); decrease_size(); } #if 0 // ACCESS TO CIRCULATOR //===================== inline circulator start() const { return start(front()); } inline circulator start(const Edge& start) const { CGAL_precondition( is_in_list(start) ); return circulator(this, start); } #endif // ACCESS TO ITERATOR //=================== iterator begin() const { return iterator(this, front(), 0); } iterator end() const { return iterator(this, front(), size()); } // MISCELLANEOUS //============== void clear() { emap.clear(); } }; } //namespace CGAL #endif // CGAL_INTERNAL_TDS_2_EDGE_LIST_H