mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-21 22:51:26 +08:00
Update release
This commit is contained in:
@@ -38,96 +38,17 @@ END_GLOBAL_STORAGE_CLASS(vl_workflow_global_Demo)
|
||||
namespace vl_workflow_global
|
||||
{
|
||||
/***********************************************************************
|
||||
Closure Definitions
|
||||
Global Functions
|
||||
***********************************************************************/
|
||||
|
||||
struct __vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__
|
||||
Demo& Demo::Instance()
|
||||
{
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
return Getvl_workflow_global_Demo().instance;
|
||||
}
|
||||
|
||||
__vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
void operator()(::vl::reflection::description::Value __vwsn_value_) const;
|
||||
};
|
||||
|
||||
struct __vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__
|
||||
{
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
|
||||
__vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
void operator()(::vl::reflection::description::Value __vwsn_value_) const;
|
||||
};
|
||||
|
||||
class __vwsnc1_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
|
||||
{
|
||||
public:
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
|
||||
__vwsnc1_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
::demo::MyControl* __vwsn_bind_cache_0 = nullptr;
|
||||
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
|
||||
bool __vwsn_bind_opened_ = false;
|
||||
bool __vwsn_bind_closed_ = false;
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
void __vwsn_bind_activator_();
|
||||
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
|
||||
void __vwsn_bind_initialize_();
|
||||
::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func<void(const ::vl::reflection::description::Value&)>& __vwsn_bind_callback_) override;
|
||||
bool Update() override;
|
||||
bool Close() override;
|
||||
};
|
||||
|
||||
class __vwsnc2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener
|
||||
{
|
||||
public:
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsn_subscription_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsnthis_0;
|
||||
::demo::MyControlConstructor* __vwsnthis_1;
|
||||
|
||||
__vwsnc2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MyControlConstructor* __vwsnctorthis_1);
|
||||
|
||||
::vl::reflection::description::IValueSubscription* GetSubscription() override;
|
||||
bool GetStopped() override;
|
||||
bool StopListening() override;
|
||||
};
|
||||
|
||||
class __vwsnc3_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
|
||||
{
|
||||
public:
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
|
||||
__vwsnc3_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
::demo::MyControl* __vwsn_bind_cache_0 = nullptr;
|
||||
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
|
||||
bool __vwsn_bind_opened_ = false;
|
||||
bool __vwsn_bind_closed_ = false;
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
void __vwsn_bind_activator_();
|
||||
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
|
||||
void __vwsn_bind_initialize_();
|
||||
::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func<void(const ::vl::reflection::description::Value&)>& __vwsn_bind_callback_) override;
|
||||
bool Update() override;
|
||||
bool Close() override;
|
||||
};
|
||||
|
||||
class __vwsnc4_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener
|
||||
{
|
||||
public:
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsn_subscription_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsnthis_0;
|
||||
::demo::MyControlConstructor* __vwsnthis_1;
|
||||
|
||||
__vwsnc4_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MyControlConstructor* __vwsnctorthis_1);
|
||||
|
||||
::vl::reflection::description::IValueSubscription* GetSubscription() override;
|
||||
bool GetStopped() override;
|
||||
bool StopListening() override;
|
||||
};
|
||||
/***********************************************************************
|
||||
Closures
|
||||
***********************************************************************/
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -136,7 +57,7 @@ Closure Definitions
|
||||
{
|
||||
}
|
||||
|
||||
void __vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__::operator()(::vl::reflection::description::Value __vwsn_value_) const
|
||||
void __vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
|
||||
{
|
||||
auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_0)->GetText();
|
||||
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::WString>(__vwsn_value_);
|
||||
@@ -154,7 +75,7 @@ Closure Definitions
|
||||
{
|
||||
}
|
||||
|
||||
void __vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__::operator()(::vl::reflection::description::Value __vwsn_value_) const
|
||||
void __vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__::operator()(const ::vl::reflection::description::Value& __vwsn_value_) const
|
||||
{
|
||||
auto __vwsn_old_ = ::vl::__vwsn::This(::vl::__vwsn::This(__vwsnthis_0)->__vwsn_precompile_0)->GetFont();
|
||||
auto __vwsn_new_ = ::vl::__vwsn::Unbox<::vl::presentation::FontProperties>(__vwsn_value_);
|
||||
@@ -183,7 +104,7 @@ Closure Definitions
|
||||
using __vwsnt_0 = ::vl::reflection::description::Value;
|
||||
FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues()))
|
||||
{
|
||||
::vl::__vwsn::Unbox<::vl::Func<void(::vl::reflection::description::Value)>>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_));
|
||||
::vl::__vwsn::Unbox<::vl::Func<void(const ::vl::reflection::description::Value&)>>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +204,7 @@ Closure Definitions
|
||||
using __vwsnt_0 = ::vl::reflection::description::Value;
|
||||
FOREACH(__vwsnt_0, __vwsn_bind_callback_, ::vl::reflection::description::GetLazyList<::vl::reflection::description::Value>(::vl::__vwsn::This(__vwsn_bind_listeners_.Obj())->GetValues()))
|
||||
{
|
||||
::vl::__vwsn::Unbox<::vl::Func<void(::vl::reflection::description::Value)>>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_));
|
||||
::vl::__vwsn::Unbox<::vl::Func<void(const ::vl::reflection::description::Value&)>>(__vwsn_bind_callback_)(::vl::__vwsn::Box(__vwsn_bind_activator_result_));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -365,14 +286,6 @@ Closure Definitions
|
||||
return false;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
Global Functions
|
||||
***********************************************************************/
|
||||
|
||||
Demo& Demo::Instance()
|
||||
{
|
||||
return Getvl_workflow_global_Demo().instance;
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
@@ -402,7 +315,7 @@ namespace demo
|
||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetText(::vl::WString(L"This is a control!", false));
|
||||
}
|
||||
{
|
||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiControl*>(::vl::__vwsn::This(this)->__vwsn_precompile_1)));
|
||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_0)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(::vl::__vwsn::This(this)->__vwsn_precompile_1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -447,7 +360,7 @@ Class (::demo::MyControlConstructor)
|
||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->__vwsn_precompile_1)->SetAlignmentToParent([&](){ ::vl::presentation::Margin __vwsn_temp__; __vwsn_temp__.left = 0; __vwsn_temp__.top = 0; __vwsn_temp__.right = 0; __vwsn_temp__.bottom = 0; return __vwsn_temp__; }());
|
||||
}
|
||||
{
|
||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddChild(::vl::__vwsn::Ensure(static_cast<::vl::presentation::controls::GuiControl*>(::vl::__vwsn::This(this)->__vwsn_precompile_0)));
|
||||
::vl::__vwsn::This(::vl::__vwsn::This(this)->self)->AddChild(static_cast<::vl::presentation::controls::GuiControl*>(::vl::__vwsn::This(this)->__vwsn_precompile_0));
|
||||
}
|
||||
{
|
||||
auto __vwsn_created_subscription_ = ::vl::__vwsn::This(__vwsn_this_)->AddSubscription(::vl::Ptr<::vl::reflection::description::IValueSubscription>(new ::vl_workflow_global::__vwsnc1_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(this)));
|
||||
@@ -499,16 +412,18 @@ namespace vl
|
||||
namespace description
|
||||
{
|
||||
#ifndef VCZH_DEBUG_NO_REFLECTION
|
||||
IMPL_CPP_TYPE_INFO(::demo::MainWindow)
|
||||
IMPL_CPP_TYPE_INFO(::demo::MainWindowConstructor)
|
||||
IMPL_CPP_TYPE_INFO(::demo::MyControl)
|
||||
IMPL_CPP_TYPE_INFO(::demo::MyControlConstructor)
|
||||
IMPL_CPP_TYPE_INFO(demo::MainWindow)
|
||||
IMPL_CPP_TYPE_INFO(demo::MainWindowConstructor)
|
||||
IMPL_CPP_TYPE_INFO(demo::MyControl)
|
||||
IMPL_CPP_TYPE_INFO(demo::MyControlConstructor)
|
||||
|
||||
#define _ ,
|
||||
BEGIN_CLASS_MEMBER(::demo::MainWindow)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::demo::MainWindow*(), NO_PARAMETER)
|
||||
END_CLASS_MEMBER(::demo::MainWindow)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::demo::MainWindowConstructor)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MainWindowConstructor>(), NO_PARAMETER)
|
||||
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" })
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
|
||||
@@ -516,9 +431,11 @@ namespace vl
|
||||
END_CLASS_MEMBER(::demo::MainWindowConstructor)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::demo::MyControl)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::demo::MyControl*(), NO_PARAMETER)
|
||||
END_CLASS_MEMBER(::demo::MyControl)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::demo::MyControlConstructor)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::MyControlConstructor>(), NO_PARAMETER)
|
||||
CLASS_MEMBER_METHOD(__vwsn_initialize_instance_, { L"__vwsn_this_" _ L"__vwsn_resolver_" })
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
|
||||
|
||||
@@ -25,12 +25,12 @@ https://github.com/vczh-libraries
|
||||
|
||||
namespace vl_workflow_global
|
||||
{
|
||||
struct __vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__;
|
||||
struct __vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__;
|
||||
class __vwsnc1_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
||||
class __vwsnc2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
||||
class __vwsnc3_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription;
|
||||
class __vwsnc4_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener;
|
||||
struct __vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__;
|
||||
struct __vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__;
|
||||
}
|
||||
|
||||
namespace demo
|
||||
@@ -116,6 +116,98 @@ namespace vl_workflow_global
|
||||
|
||||
static Demo& Instance();
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
Closures
|
||||
***********************************************************************/
|
||||
|
||||
struct __vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__
|
||||
{
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
|
||||
__vwsnf1_Demo_demo_MyControlConstructor___vwsn_initialize_instance__(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
|
||||
};
|
||||
|
||||
struct __vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__
|
||||
{
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
|
||||
__vwsnf2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
void operator()(const ::vl::reflection::description::Value& __vwsn_value_) const;
|
||||
};
|
||||
|
||||
class __vwsnc1_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
|
||||
{
|
||||
public:
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
|
||||
__vwsnc1_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
::demo::MyControl* __vwsn_bind_cache_0 = nullptr;
|
||||
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
|
||||
bool __vwsn_bind_opened_ = false;
|
||||
bool __vwsn_bind_closed_ = false;
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
void __vwsn_bind_activator_();
|
||||
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
|
||||
void __vwsn_bind_initialize_();
|
||||
::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func<void(const ::vl::reflection::description::Value&)>& __vwsn_bind_callback_) override;
|
||||
bool Update() override;
|
||||
bool Close() override;
|
||||
};
|
||||
|
||||
class __vwsnc2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener
|
||||
{
|
||||
public:
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsn_subscription_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsnthis_0;
|
||||
::demo::MyControlConstructor* __vwsnthis_1;
|
||||
|
||||
__vwsnc2_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MyControlConstructor* __vwsnctorthis_1);
|
||||
|
||||
::vl::reflection::description::IValueSubscription* GetSubscription() override;
|
||||
bool GetStopped() override;
|
||||
bool StopListening() override;
|
||||
};
|
||||
|
||||
class __vwsnc3_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription : public ::vl::Object, public virtual ::vl::reflection::description::IValueSubscription
|
||||
{
|
||||
public:
|
||||
::demo::MyControlConstructor* __vwsnthis_0;
|
||||
|
||||
__vwsnc3_Demo_demo_MyControlConstructor___vwsn_initialize_instance___vl_reflection_description_IValueSubscription(::demo::MyControlConstructor* __vwsnctorthis_0);
|
||||
|
||||
::demo::MyControl* __vwsn_bind_cache_0 = nullptr;
|
||||
::vl::Ptr<::vl::reflection::description::IEventHandler> __vwsn_bind_handler_0_0;
|
||||
bool __vwsn_bind_opened_ = false;
|
||||
bool __vwsn_bind_closed_ = false;
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
void __vwsn_bind_activator_();
|
||||
void __vwsn_bind_callback_0_0(::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_bind_callback_argument_0, ::vl::presentation::compositions::GuiEventArgs* __vwsn_bind_callback_argument_1);
|
||||
void __vwsn_bind_initialize_();
|
||||
::vl::Ptr<::vl::reflection::description::IValueListener> Subscribe(const ::vl::Func<void(const ::vl::reflection::description::Value&)>& __vwsn_bind_callback_) override;
|
||||
bool Update() override;
|
||||
bool Close() override;
|
||||
};
|
||||
|
||||
class __vwsnc4_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener : public ::vl::Object, public virtual ::vl::reflection::description::IValueListener
|
||||
{
|
||||
public:
|
||||
::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsn_bind_listeners_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsn_subscription_;
|
||||
::vl::reflection::description::IValueSubscription* __vwsnthis_0;
|
||||
::demo::MyControlConstructor* __vwsnthis_1;
|
||||
|
||||
__vwsnc4_Demo_demo_MyControlConstructor___vwsn_initialize_instance__Subscribe__vl_reflection_description_IValueListener(::vl::Ptr<::vl::reflection::description::IValueDictionary> __vwsnctor___vwsn_bind_listeners_, ::vl::reflection::description::IValueSubscription* __vwsnctor___vwsn_subscription_, ::vl::reflection::description::IValueSubscription* __vwsnctorthis_0, ::demo::MyControlConstructor* __vwsnctorthis_1);
|
||||
|
||||
::vl::reflection::description::IValueSubscription* GetSubscription() override;
|
||||
bool GetStopped() override;
|
||||
bool StopListening() override;
|
||||
};
|
||||
}
|
||||
|
||||
#if defined( _MSC_VER)
|
||||
|
||||
Reference in New Issue
Block a user