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) 2013-2015 The University of Western Sydney, Australia. // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v6.1/Cone_spanners_2/include/CGAL/gnuplot_output_2.h $ // $Id: include/CGAL/gnuplot_output_2.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s): Quincy Tse, Weisheng Si /*! \file gnuplot_output_2.h * * This header implements the function that can generate data and script files for plotting * graphs by Gnuplot. This function requires that graphs be represented by boost::adjacency_list * with its template parameter VertexProperties set to CGAL::Point_2. */ #ifndef GNUPLOT_OUTPUT_2_H #define GNUPLOT_OUTPUT_2_H #include #include #include #include #include #include #include #include namespace CGAL { /* ------ Declarations go first, then implementations follow. ------ */ /*! * \ingroup PkgConeSpanners2Ref * \brief outputs a set of files used by Gnuplot to plot `g`. * * The files that are generated for Gnuplot are: * (1) prefix.v (vertex list) * (2) prefix.plt (Gnuplot script), This script will read * prefix.v as input to plot the vertex list. The edge list is also * included in this script. * * Notes: * (1) If these files already exists, this function will overwrite these * files. * (2) Parallel and self-edges cannot be plotted. * * \tparam Graph The type of the graph to be plotted. For this function to work, * the graph type must be `boost::adjacency_list` with `CGAL::Point_2` * as the `VertexProperties`. * * \param g A `boost::adjacency_list` graph with `CGAL::Point_2` as the VertexProperties to be plotted * \param prefix The prefix of the output files names */ template void gnuplot_output_2 (const Graph& g, const std::string& prefix); /* * \brief Compiles a multi-lined %string to draw the edges in \p g by Gnuplot. * Compiles an edge list in the following format: * * set arrow from (start x, start y) to (end x, end y) * ... * * NOTE: For undirected graphs, use "set style arrow nohead"; for directed graphs, * use "set style arrow head" * * \param g A boost::adjacency_list graph with CGAL::Point_2 as the VertexProperties to be plotted * \return The edge list string. */ template std::string gnuplot_edge_list (const Graph& g); /* * \brief Compiles a multi-lined %string representing the vertices in \p g. * * Compiles a vertex list in the following format: * x y * x y * ... * * \param g A boost::adjacency_list graph with CGAL::Point_2 as the VertexProperties to be plotted * \return The vertex list string. */ template std::string gnuplot_vertex_list (const Graph& g); /* This struct is defined to use partial specialization to generate arrow styles differently for * directed and undirected graphs. * Note: Need to use structs because C++ before 11 doesn't allow partial specialization * for functions */ template struct Gnuplot_edges_2; /* ------- IMPLEMENTATIONS ------- */ template std::string gnuplot_edge_list (const Graph& g) { std::stringstream ss; ss.precision(3); ss << std::fixed; // Use fixed floating-point notation typename Graph::edge_iterator eit, ee; for (std::tie(eit, ee) = boost::edges(g); eit != ee; ++eit) { typename Graph::vertex_descriptor src = boost::source(*eit, g); typename Graph::vertex_descriptor end = boost::target(*eit, g); ss << "set arrow from "; ss << to_double(g[src].x()) << "," << to_double(g[src].y()); ss << " to "; ss << to_double(g[end].x()) << "," << to_double(g[end].y()); ss << " as 1" << std::endl; } return ss.str(); } // Common regardless of whether g is directed. template std::string gnuplot_vertex_list(const Graph& g) { std::stringstream ss; ss.precision(3); ss << std::fixed; typename Graph::vertex_iterator vit, ve; for (std::tie(vit, ve) = boost::vertices(g); vit != ve; ++vit) { ss << to_double(g[*vit].x()) << " " << to_double(g[*vit].y()) << std::endl; } return ss.str(); } template void gnuplot_output_2 (const Graph& g, const std::string& prefix) { // Generate the vertex list to the .v file std::ofstream fs((prefix + ".v").c_str(), std::ofstream::out | std::ofstream::trunc); fs << gnuplot_vertex_list(g); fs.close(); std::cout << prefix << ".v" << " is generated. " << std::endl; // Generate the Gnuplot Script to the .plt file fs.open((prefix + ".plt").c_str(), std::ofstream::out | std::ofstream::trunc); fs << "set term "; // Choose one: fs << "wxt "; // fs << "postscript eps "; fs << "font \", 9\" enhanced" << std::endl; // Uncomment if eps: // fs << "set output \"" << prefix << ".eps\"" << std::endl; fs << "set title" << std::endl; fs << "set xlabel # when no options, clear the xlabel" << std::endl; fs << "set ylabel" << std::endl; fs << "unset key" << std::endl; fs << "set size square" << std::endl; fs << "unset xtics" << std::endl; fs << "unset ytics" << std::endl; fs << "unset border" << std::endl; /* Uncomment if you need the following: ss << "set xtics" << std::endl; ss << "set ytics" << std::endl; ss << "set border" << std::endl; ss << "set grid xtics ytics" << std::endl; */ fs << std::endl; // Specific part that depends on whether g is directed fs << Gnuplot_edges_2::gnuplot_edge_script(g); fs << std::endl; // plot the vertices fs << "plot \"" << prefix << ".v\" with points pt 7 ps 0.8 lt rgb \"blue\"" << std::endl; // Uncomment if wxt and also want eps output: // fs << "set term postscript eps " << std::endl; // fs << "set output \"" << prefix << ".eps\"" << std::endl; // fs << "replot" << std::endl; fs.close(); std::cout << prefix << ".plt" << " is generated. " << std::endl; } // directed graphs /* Writing edge list to the gnuplot script for directed graphs */ template struct Gnuplot_edges_2 { // Uses "set style arrow 1 head" to draw directed edges // Edges are written directly into the script file. static std::string gnuplot_edge_script(const Graph& g) { std::stringstream ss; ss << "set style arrow 1 head filled lc rgb \"black\"" << std::endl; ss << std::endl; ss << "# edges" << std::endl; ss << gnuplot_edge_list(g); ss << "# end of edges" << std::endl; return ss.str(); } }; // Bidirectional graph, the same as the directed graph. /* Writing edge list to the gnuplot script for bidirectional graphs */ template struct Gnuplot_edges_2 : public Gnuplot_edges_2 {}; // Undirected graphs /* Writing edge list to the gnuplot script for undirected graphs */ template struct Gnuplot_edges_2 { static std::string gnuplot_edge_script(const Graph& g) { std::stringstream ss; ss << "set style arrow 1 nohead lc rgb \"black\"" << std::endl; ss << std::endl; ss << "# edges" << std::endl; ss << gnuplot_edge_list(g); ss << "# end of edges" << std::endl; return ss.str(); } }; } // namespace CGAL #endif