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
// // post.hpp // ~~~~~~~~ // // Copyright (c) 2003-2025 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // 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_ASIO_POST_HPP #define BOOST_ASIO_POST_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include #include #include #include #include #include #include #include #include #include namespace boost { namespace asio { /// Submits a completion token or function object for execution. /** * This function submits an object for execution using the object's associated * executor. The function object is queued for execution, and is never called * from the current thread prior to returning from post(). * * The use of @c post(), rather than @ref defer(), indicates the caller's * preference that the function object be eagerly queued for execution. * * @param token The @ref completion_token that will be used to produce a * completion handler. The function signature of the completion handler must be: * @code void handler(); @endcode * * @returns This function returns async_initiate(Init{}, token), where @c Init is a function object type defined * as: * * @code class Init * { * public: * template * void operator()(CompletionHandler&& completion_handler) const; * }; @endcode * * The function call operator of @c Init: * * @li Obtains the handler's associated executor object @c ex of type @c Ex by * performing * @code auto ex = get_associated_executor(completion_handler); @endcode * * @li Obtains the handler's associated allocator object @c alloc by performing * @code auto alloc = get_associated_allocator(completion_handler); @endcode * * @li If execution::is_executor::value is true, performs * @code prefer( * require(ex, execution::blocking.never), * execution::relationship.fork, * execution::allocator(alloc) * ).execute(std::forward(completion_handler)); @endcode * * @li If execution::is_executor::value is false, performs * @code ex.post( * std::forward(completion_handler), * alloc); @endcode * * @par Completion Signature * @code void() @endcode */ template inline auto post(NullaryToken&& token = deferred_t()) -> decltype( async_initiate( declval(), token)) { return async_initiate( detail::initiate_post(), token); } /// Submits a completion token or function object for execution. /** * This function submits an object for execution using the specified executor. * The function object is queued for execution, and is never called from the * current thread prior to returning from post(). * * The use of @c post(), rather than @ref defer(), indicates the caller's * preference that the function object be eagerly queued for execution. * * @param ex The target executor. * * @param token The @ref completion_token that will be used to produce a * completion handler. The function signature of the completion handler must be: * @code void handler(); @endcode * * @returns This function returns async_initiate(Init{ex}, token), where @c Init is a function object type * defined as: * * @code class Init * { * public: * using executor_type = Executor; * explicit Init(const Executor& ex) : ex_(ex) {} * executor_type get_executor() const noexcept { return ex_; } * template * void operator()(CompletionHandler&& completion_handler) const; * private: * Executor ex_; // exposition only * }; @endcode * * The function call operator of @c Init: * * @li Obtains the handler's associated executor object @c ex1 of type @c Ex1 by * performing * @code auto ex1 = get_associated_executor(completion_handler, ex); @endcode * * @li Obtains the handler's associated allocator object @c alloc by performing * @code auto alloc = get_associated_allocator(completion_handler); @endcode * * @li If execution::is_executor::value is true, constructs a * function object @c f with a member @c executor_ that is initialised with * prefer(ex1, execution::outstanding_work.tracked), a member @c * handler_ that is a decay-copy of @c completion_handler, and a function call * operator that performs: * @code auto a = get_associated_allocator(handler_); * prefer(executor_, execution::allocator(a)).execute(std::move(handler_)); * @endcode * * @li If execution::is_executor::value is false, constructs a * function object @c f with a member @c work_ that is initialised with * make_work_guard(ex1), a member @c handler_ that is a decay-copy of * @c completion_handler, and a function call operator that performs: * @code auto a = get_associated_allocator(handler_); * work_.get_executor().dispatch(std::move(handler_), a); * work_.reset(); @endcode * * @li If execution::is_executor::value is true, performs * @code prefer( * require(ex, execution::blocking.never), * execution::relationship.fork, * execution::allocator(alloc) * ).execute(std::move(f)); @endcode * * @li If execution::is_executor::value is false, performs * @code ex.post(std::move(f), alloc); @endcode * * @par Completion Signature * @code void() @endcode */ template > inline auto post(const Executor& ex, NullaryToken&& token = default_completion_token_t(), constraint_t< (execution::is_executor::value && can_require::value) || is_executor::value > = 0) -> decltype( async_initiate( declval>(), token, detail::empty_work_function())) { return async_initiate( detail::initiate_post_with_executor(ex), token, detail::empty_work_function()); } /// Submits a completion token or function object for execution. /** * @param ctx An execution context, from which the target executor is obtained. * * @param token The @ref completion_token that will be used to produce a * completion handler. The function signature of the completion handler must be: * @code void handler(); @endcode * * @returns post(ctx.get_executor(), forward(token)). * * @par Completion Signature * @code void() @endcode */ template > inline auto post(ExecutionContext& ctx, NullaryToken&& token = default_completion_token_t< typename ExecutionContext::executor_type>(), constraint_t< is_convertible::value > = 0) -> decltype( async_initiate( declval>(), token, detail::empty_work_function())) { return async_initiate( detail::initiate_post_with_executor< typename ExecutionContext::executor_type>(ctx.get_executor()), token, detail::empty_work_function()); } /// Submits a function to be run on a specified target executor, and after /// completion submits the completion handler. /** * This function submits a function object for execution on the specified * executor. The function object is queued for execution, and is never called * from the current thread prior to returning from post(). After the * submitted function completes, the completion handler is dispatched to run on * its associated executor. * * The use of @c post(), rather than @ref defer(), indicates the caller's * preference that the function object be eagerly queued for execution. * * @param function A nullary function to be executed on the target executor. * * @param ex The target executor. * * @param token The @ref completion_token that will be used to produce a * completion handler. The function signature of the completion handler must be: * @code void handler(); @endcode * * @returns This function returns async_initiate(Init{ex}, token, forward(function)), where @c Init is * a function object type defined as: * * @code class Init * { * public: * using executor_type = Executor; * explicit Init(const Executor& ex) : ex_(ex) {} * executor_type get_executor() const noexcept { return ex_; } * template * void operator()(CompletionHandler&& completion_handler, * Function&& function) const; * private: * Executor ex_; // exposition only * }; @endcode * * The function call operator of @c Init: * * @li Obtains the handler's associated executor object @c ex1 of type @c Ex1 by * performing * @code auto ex1 = get_associated_executor(completion_handler, ex); @endcode * * @li Obtains the handler's associated allocator object @c alloc by performing * @code auto alloc = get_associated_allocator(completion_handler); @endcode * * @li If execution::is_executor::value is true, constructs a * function object wrapper @c f with a member @c executor_ that is initialised * with prefer(ex1, execution::outstanding_work.tracked), a member @c * function_ that is a decay-copy of @c function, a member @c handler_ that is a * decay-copy of @c completion_handler, and a function call operator that * performs: * @code std::move(function_)(); * auto a = get_associated_allocator(handler_); * prefer(executor_, execution::allocator(a)).execute(std::move(handler_)); * @endcode * * @li If execution::is_executor::value is false, constructs a * function object wrapper @c f with a member @c work_ that is initialised with * make_work_guard(ex1), a member @c function_ that is a decay-copy of * @c function, a member @c handler_ that is a decay-copy of @c * completion_handler, and a function call operator that performs: * @code std::move(function_)(); * auto a = get_associated_allocator(handler_); * work_.get_executor().dispatch(std::move(handler_), a); * work_.reset(); @endcode * * @li If execution::is_executor::value is true, performs * @code prefer( * require(ex, execution::blocking.never), * execution::relationship.fork, * execution::allocator(alloc) * ).execute(std::move(f)); @endcode * * @li If execution::is_executor::value is false, performs * @code ex.post(std::move(f), alloc); @endcode * * @note If the function object throws an exception, that exception is allowed * to propagate to the target executor. The behaviour in this case is dependent * on the executor. For example, boost::asio::io_context will allow the * exception to propagate to the caller that runs the @c io_context, whereas * boost::asio::thread_pool will call @c std::terminate. * * @par Example * This @c post overload may be used to submit long running work to a thread * pool and, once complete, continue execution on an associated completion * executor, such as a coroutine's associated executor: * @code boost::asio::awaitable my_coroutine() * { * // ... * * co_await boost::asio::post( * []{ * perform_expensive_computation(); * }, * my_thread_pool); * * // handle result on the coroutine's associated executor * } @endcode * * @par Completion Signature * @code void() @endcode */ template > inline auto post(Function&& function, const Executor& ex, NullaryToken&& token = default_completion_token_t(), constraint_t< is_void()>>::value > = 0, constraint_t< (execution::is_executor::value && can_require::value) || is_executor::value > = 0) -> decltype( async_initiate( declval>(), token, static_cast(function))) { return async_initiate( detail::initiate_post_with_executor(ex), token, static_cast(function)); } /// Submits a function to be run on a specified target executor, and passes the /// result to a completion handler. /** * This function submits a function object for execution on the specified * executor. The function object is queued for execution, and is never called * from the current thread prior to returning from post(). After the * submitted function completes, the completion handler is dispatched along with * the function's result, to run on its associated executor. * * The use of @c post(), rather than @ref defer(), indicates the caller's * preference that the function object be eagerly queued for execution. * * @param function A nullary function to be executed on the target executor. * * @param ex The target executor. * * @param token The @ref completion_token that will be used to produce a * completion handler. The function signature of the completion handler must be: * @code void handler(decay_t()>>); @endcode * * @returns This function returns async_initiate(Init{ex}, token), where @c Init is a function object type * defined as: * * @code class Init * { * public: * using executor_type = Executor; * explicit Init(const Executor& ex) : ex_(ex) {} * executor_type get_executor() const noexcept { return ex_; } * template * void operator()(CompletionHandler&& completion_handler, * Function&& function) const; * private: * Executor ex_; // exposition only * }; @endcode * * The function call operator of @c Init: * * @li Obtains the handler's associated executor object @c ex1 of type @c Ex1 by * performing * @code auto ex1 = get_associated_executor(completion_handler, ex); @endcode * * @li Obtains the handler's associated allocator object @c alloc by performing * @code auto alloc = get_associated_allocator(completion_handler); @endcode * * @li If execution::is_executor::value is true, constructs a * function object wrapper @c f with a member @c executor_ that is initialised * with prefer(ex1, execution::outstanding_work.tracked), a member @c * function_ that is a decay-copy of @c function, a member @c handler_ that is a * decay-copy of @c completion_handler, and a function call operator that * performs: * @code auto result = std::move(function_)(); * auto a = get_associated_allocator(handler_); * prefer(executor_, execution::allocator(a)).execute( * std::bind(std::move(handler_), std::move(result))); * @endcode * * @li If execution::is_executor::value is false, constructs a * function object wrapper @c f with a member @c work_ that is initialised with * make_work_guard(ex1), a member @c function_ that is a decay-copy of * @c function, a member @c handler_ that is a decay-copy of @c * completion_handler, and a function call operator that performs: * @code auto result = std::move(function_)(); * auto a = get_associated_allocator(handler_); * work_.get_executor().dispatch( * std::bind(std::move(handler_), std::move(result)), a); * work_.reset(); @endcode * * @li If execution::is_executor::value is true, performs * @code prefer( * require(ex, execution::blocking.never), * execution::relationship.fork, * execution::allocator(alloc) * ).execute(std::move(f)); @endcode * * @li If execution::is_executor::value is false, performs * @code ex.post(std::move(f), alloc); @endcode * * @note If the function object throws an exception, that exception is allowed * to propagate to the target executor. The behaviour in this case is dependent * on the executor. For example, boost::asio::io_context will allow the * exception to propagate to the caller that runs the @c io_context, whereas * boost::asio::thread_pool will call @c std::terminate. * * @par Example * This @c post overload may be used to submit long running work to a thread * pool and, once complete, continue execution on an associated completion * executor, such as a coroutine's associated executor: * @code boost::asio::awaitable my_coroutine() * { * // ... * * int result = co_await boost::asio::post( * []{ * return perform_expensive_computation(); * }, * my_thread_pool); * * // handle result on the coroutine's associated executor * } @endcode * * @par Completion Signature * @code void(decay_t()>>) @endcode */ template ()>>)) CompletionToken = default_completion_token_t> inline auto post(Function&& function, const Executor& ex, CompletionToken&& token = default_completion_token_t(), constraint_t< !is_void()>>::value > = 0, constraint_t< (execution::is_executor::value && can_require::value) || is_executor::value > = 0) -> decltype( async_initiate)>( declval>(), token, static_cast(function))) { return async_initiate)>( detail::initiate_post_with_executor(ex), token, static_cast(function)); } /// Submits a function to be run on a specified execution context, and after /// completion submits the completion handler. /** * @param function A nullary function to be executed on the target executor. * * @param ctx An execution context, from which the target executor is obtained. * * @param token The @ref completion_token that will be used to produce a * completion handler. The function signature of the completion handler must be: * @code void handler(); @endcode * * @returns post(forward(function), ctx.get_executor(), * forward(token)). * * @note If the function object throws an exception, that exception is allowed * to propagate to the target executor. The behaviour in this case is dependent * on the executor. For example, boost::asio::io_context will allow the * exception to propagate to the caller that runs the @c io_context, whereas * boost::asio::thread_pool will call @c std::terminate. * * @par Completion Signature * @code void() @endcode */ template > inline auto post(Function&& function, ExecutionContext& ctx, NullaryToken&& token = default_completion_token_t< typename ExecutionContext::executor_type>(), constraint_t< is_void()>>::value > = 0, constraint_t< is_convertible::value > = 0) -> decltype( async_initiate( declval>(), token, static_cast(function))) { return async_initiate( detail::initiate_post_with_executor< typename ExecutionContext::executor_type>(ctx.get_executor()), token, static_cast(function)); } /// Submits a function to be run on a specified execution context, and passes /// the result to a completion handler. /** * @param function A nullary function to be executed on the target executor. * * @param ctx An execution context, from which the target executor is obtained. * * @param token The @ref completion_token that will be used to produce a * completion handler. The function signature of the completion handler must be: * @code void handler(); @endcode * * @returns post(forward(function), ctx.get_executor(), * forward(token)). * * @note If the function object throws an exception, that exception is allowed * to propagate to the target executor. The behaviour in this case is dependent * on the executor. For example, boost::asio::io_context will allow the * exception to propagate to the caller that runs the @c io_context, whereas * boost::asio::thread_pool will call @c std::terminate. * * @par Completion Signature * @code void(decay_t()>>) @endcode */ template ()>>)) CompletionToken = default_completion_token_t> inline auto post(Function&& function, ExecutionContext& ctx, CompletionToken&& token = default_completion_token_t< typename ExecutionContext::executor_type>(), constraint_t< !is_void()>>::value > = 0, constraint_t< is_convertible::value > = 0) -> decltype( async_initiate)>( declval>(), token, static_cast(function))) { return async_initiate)>( detail::initiate_post_with_executor< typename ExecutionContext::executor_type>(ctx.get_executor()), token, static_cast(function)); } } // namespace asio } // namespace boost #include #endif // BOOST_ASIO_POST_HPP