// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: System.Linq.Enumerable
#include "System/Linq/Enumerable.hpp"
// Including type: System.Linq.Enumerable/System.Linq.Iterator`1
#include "System/Linq/Enumerable_Iterator_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.WhereEnumerableIterator`1
#include "System/Linq/Enumerable_WhereEnumerableIterator_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.WhereArrayIterator`1
#include "System/Linq/Enumerable_WhereArrayIterator_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.WhereListIterator`1
#include "System/Linq/Enumerable_WhereListIterator_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.WhereSelectEnumerableIterator`2
#include "System/Linq/Enumerable_WhereSelectEnumerableIterator_2.hpp"
// Including type: System.Linq.Enumerable/System.Linq.WhereSelectArrayIterator`2
#include "System/Linq/Enumerable_WhereSelectArrayIterator_2.hpp"
// Including type: System.Linq.Enumerable/System.Linq.WhereSelectListIterator`2
#include "System/Linq/Enumerable_WhereSelectListIterator_2.hpp"
// Including type: System.Linq.Enumerable/System.Linq.<SelectIterator>d__5`2
#include "System/Linq/Enumerable_-SelectIterator-d__5_2.hpp"
// Including type: System.Linq.Enumerable/System.Linq.<>c__DisplayClass6_0`1
#include "System/Linq/Enumerable_--c__DisplayClass6_0_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.<>c__DisplayClass7_0`3
#include "System/Linq/Enumerable_--c__DisplayClass7_0_3.hpp"
// Including type: System.Linq.Enumerable/System.Linq.<TakeIterator>d__25`1
#include "System/Linq/Enumerable_-TakeIterator-d__25_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.<ConcatIterator>d__59`1
#include "System/Linq/Enumerable_-ConcatIterator-d__59_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.<CastIterator>d__99`1
#include "System/Linq/Enumerable_-CastIterator-d__99_1.hpp"
// Including type: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115
#include "System/Linq/Enumerable_-RangeIterator-d__115.hpp"
// Including type: System.Collections.Generic.IEnumerable`1
#include "System/Collections/Generic/IEnumerable_1.hpp"
// Including type: System.Func`2
#include "System/Func_2.hpp"
// Including type: System.Func`3
#include "System/Func_3.hpp"
// Including type: System.Linq.IOrderedEnumerable`1
#include "System/Linq/IOrderedEnumerable_1.hpp"
// Including type: System.Collections.Generic.IEqualityComparer`1
#include "System/Collections/Generic/IEqualityComparer_1.hpp"
// Including type: System.Collections.Generic.List`1
#include "System/Collections/Generic/List_1.hpp"
// Including type: System.Collections.Generic.Dictionary`2
#include "System/Collections/Generic/Dictionary_2.hpp"
// Including type: System.Collections.IEnumerable
#include "System/Collections/IEnumerable.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: System.Linq.Enumerable.Range
::System::Collections::Generic::IEnumerable_1<int>* System::Linq::Enumerable::Range(int start, int count) {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::Range");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Linq", "Enumerable", "Range", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(start), ::il2cpp_utils::ExtractType(count)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Collections::Generic::IEnumerable_1<int>*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, start, count);
}
// Autogenerated method: System.Linq.Enumerable.RangeIterator
::System::Collections::Generic::IEnumerable_1<int>* System::Linq::Enumerable::RangeIterator(int start, int count) {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::RangeIterator");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Linq", "Enumerable", "RangeIterator", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(start), ::il2cpp_utils::ExtractType(count)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Collections::Generic::IEnumerable_1<int>*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, start, count);
}
// Autogenerated method: System.Linq.Enumerable.Min
float System::Linq::Enumerable::Min(::System::Collections::Generic::IEnumerable_1<float>* source) {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::Min");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Linq", "Enumerable", "Min", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source)})));
  return ::il2cpp_utils::RunMethodRethrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, source);
}
// Autogenerated method: System.Linq.Enumerable.Max
int System::Linq::Enumerable::Max(::System::Collections::Generic::IEnumerable_1<int>* source) {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::Max");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Linq", "Enumerable", "Max", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source)})));
  return ::il2cpp_utils::RunMethodRethrow<int, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, source);
}
// Autogenerated method: System.Linq.Enumerable.Max
float System::Linq::Enumerable::Max(::System::Collections::Generic::IEnumerable_1<float>* source) {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::Max");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Linq", "Enumerable", "Max", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source)})));
  return ::il2cpp_utils::RunMethodRethrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, source);
}
// Autogenerated method: System.Linq.Enumerable.Average
float System::Linq::Enumerable::Average(::System::Collections::Generic::IEnumerable_1<float>* source) {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::Average");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("System.Linq", "Enumerable", "Average", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source)})));
  return ::il2cpp_utils::RunMethodRethrow<float, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, source);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115
#include "System/Linq/Enumerable_-RangeIterator-d__115.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated instance field getter
// Get instance field: private System.Int32 <>1__state
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$1__state() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$1__state");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>1__state"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Int32 <>2__current
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$2__current() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$2__current");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>2__current"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Int32 <>l__initialThreadId
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$l__initialThreadId() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$l__initialThreadId");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>l__initialThreadId"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Int32 start
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_start() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_start");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "start"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public System.Int32 <>3__start
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$3__start() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$3__start");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>3__start"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Int32 <i>5__1
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_$i$5__1() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_$i$5__1");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<i>5__1"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Int32 count
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_count() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_count");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "count"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public System.Int32 <>3__count
int& System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$3__count() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::dyn_$$3__count");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<>3__count"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115.System.Collections.Generic.IEnumerator<System.Int32>.get_Current
int System::Linq::Enumerable::$RangeIterator$d__115::System_Collections_Generic_IEnumerator$System_Int32$_get_Current() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::System.Collections.Generic.IEnumerator<System.Int32>.get_Current");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerator<System.Int32>.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<int, false>(this, ___internal__method);
}
// Autogenerated method: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115.System.Collections.IEnumerator.get_Current
::Il2CppObject* System::Linq::Enumerable::$RangeIterator$d__115::System_Collections_IEnumerator_get_Current() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::System.Collections.IEnumerator.get_Current");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.get_Current", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Il2CppObject*, false>(this, ___internal__method);
}
// Autogenerated method: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115.System.IDisposable.Dispose
void System::Linq::Enumerable::$RangeIterator$d__115::System_IDisposable_Dispose() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::System.IDisposable.Dispose");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.IDisposable.Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115.MoveNext
bool System::Linq::Enumerable::$RangeIterator$d__115::MoveNext() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::MoveNext");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "MoveNext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115.System.Collections.IEnumerator.Reset
void System::Linq::Enumerable::$RangeIterator$d__115::System_Collections_IEnumerator_Reset() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::System.Collections.IEnumerator.Reset");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerator.Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115.System.Collections.Generic.IEnumerable<System.Int32>.GetEnumerator
::System::Collections::Generic::IEnumerator_1<int>* System::Linq::Enumerable::$RangeIterator$d__115::System_Collections_Generic_IEnumerable$System_Int32$_GetEnumerator() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::System.Collections.Generic.IEnumerable<System.Int32>.GetEnumerator");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.Generic.IEnumerable<System.Int32>.GetEnumerator", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Collections::Generic::IEnumerator_1<int>*, false>(this, ___internal__method);
}
// Autogenerated method: System.Linq.Enumerable/System.Linq.<RangeIterator>d__115.System.Collections.IEnumerable.GetEnumerator
::System::Collections::IEnumerator* System::Linq::Enumerable::$RangeIterator$d__115::System_Collections_IEnumerable_GetEnumerator() {
  static auto ___internal__logger = ::Logger::get().WithContext("::System::Linq::Enumerable::$RangeIterator$d__115::System.Collections.IEnumerable.GetEnumerator");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "System.Collections.IEnumerable.GetEnumerator", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Collections::IEnumerator*, false>(this, ___internal__method);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Util.MonoPInvokeCallbackAttribute
#include "Mono/Util/MonoPInvokeCallbackAttribute.hpp"
// Including type: System.Type
#include "System/Type.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.CertHelper
#include "Mono/Unity/CertHelper.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509CertificateCollection
#include "System/Security/Cryptography/X509Certificates/X509CertificateCollection.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509Certificate
#include "System/Security/Cryptography/X509Certificates/X509Certificate.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.CertHelper.AddCertificatesToNativeChain
void Mono::Unity::CertHelper::AddCertificatesToNativeChain(::Mono::Unity::UnityTls::unitytls_x509list* nativeCertificateChain, ::System::Security::Cryptography::X509Certificates::X509CertificateCollection* certificates, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::CertHelper::AddCertificatesToNativeChain");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "CertHelper", "AddCertificatesToNativeChain", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(nativeCertificateChain), ::il2cpp_utils::ExtractType(certificates), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, nativeCertificateChain, certificates, errorState);
}
// Autogenerated method: Mono.Unity.CertHelper.AddCertificateToNativeChain
void Mono::Unity::CertHelper::AddCertificateToNativeChain(::Mono::Unity::UnityTls::unitytls_x509list* nativeCertificateChain, ::System::Security::Cryptography::X509Certificates::X509Certificate* certificate, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::CertHelper::AddCertificateToNativeChain");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "CertHelper", "AddCertificateToNativeChain", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(nativeCertificateChain), ::il2cpp_utils::ExtractType(certificate), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, nativeCertificateChain, certificate, errorState);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.Debug
#include "Mono/Unity/Debug.hpp"
// Including type: Mono.Security.Interface.AlertDescription
#include "Mono/Security/Interface/AlertDescription.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.Debug.CheckAndThrow
void Mono::Unity::Debug::CheckAndThrow(::Mono::Unity::UnityTls::unitytls_errorstate errorState, ::StringW context, ::Mono::Security::Interface::AlertDescription defaultAlert) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::Debug::CheckAndThrow");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "Debug", "CheckAndThrow", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(context), ::il2cpp_utils::ExtractType(defaultAlert)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, errorState, context, defaultAlert);
}
// Autogenerated method: Mono.Unity.Debug.CheckAndThrow
void Mono::Unity::Debug::CheckAndThrow(::Mono::Unity::UnityTls::unitytls_errorstate errorState, ::Mono::Unity::UnityTls::unitytls_x509verify_result verifyResult, ::StringW context, ::Mono::Security::Interface::AlertDescription defaultAlert) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::Debug::CheckAndThrow");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "Debug", "CheckAndThrow", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(verifyResult), ::il2cpp_utils::ExtractType(context), ::il2cpp_utils::ExtractType(defaultAlert)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, errorState, verifyResult, context, defaultAlert);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTls
#include "Mono/Unity/UnityTls.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code
#include "Mono/Unity/UnityTls_unitytls_error_code.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key
#include "Mono/Unity/UnityTls_unitytls_key.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key_ref
#include "Mono/Unity/UnityTls_unitytls_key_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509_ref
#include "Mono/Unity/UnityTls_unitytls_x509_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_x509verify_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509name
#include "Mono/Unity/UnityTls_unitytls_x509name.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_ciphersuite
#include "Mono/Unity/UnityTls_unitytls_ciphersuite.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol
#include "Mono/Unity/UnityTls_unitytls_protocol.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_protocolrange
#include "Mono/Unity/UnityTls_unitytls_tlsctx_protocolrange.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_write_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_write_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_read_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_read_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_trace_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_trace_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_certificate_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_x509verify_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_callbacks
#include "Mono/Unity/UnityTls_unitytls_tlsctx_callbacks.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct
#include "Mono/Unity/UnityTls_unitytls_interface_struct.hpp"
// Including type: System.IntPtr
#include "System/IntPtr.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static private Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct marshalledInterface
::Mono::Unity::UnityTls::unitytls_interface_struct* Mono::Unity::UnityTls::_get_marshalledInterface() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::_get_marshalledInterface");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_interface_struct*>("Mono.Unity", "UnityTls", "marshalledInterface"));
}
// Autogenerated static field setter
// Set static field: static private Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct marshalledInterface
void Mono::Unity::UnityTls::_set_marshalledInterface(::Mono::Unity::UnityTls::unitytls_interface_struct* value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::_set_marshalledInterface");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls", "marshalledInterface", value));
}
// Autogenerated method: Mono.Unity.UnityTls.get_IsSupported
bool Mono::Unity::UnityTls::get_IsSupported() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::get_IsSupported");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTls", "get_IsSupported", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTls.get_NativeInterface
::Mono::Unity::UnityTls::unitytls_interface_struct* Mono::Unity::UnityTls::get_NativeInterface() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::get_NativeInterface");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTls", "get_NativeInterface", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_interface_struct*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTls.GetUnityTlsInterface
::System::IntPtr Mono::Unity::UnityTls::GetUnityTlsInterface() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::GetUnityTlsInterface");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTls", "GetUnityTlsInterface", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code
#include "Mono/Unity/UnityTls_unitytls_error_code.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_SUCCESS
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_SUCCESS() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_SUCCESS");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_SUCCESS"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_SUCCESS
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_SUCCESS(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_SUCCESS");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_SUCCESS", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_ARGUMENT
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_ARGUMENT() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_ARGUMENT");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_ARGUMENT"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_ARGUMENT
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_ARGUMENT(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_ARGUMENT");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_ARGUMENT", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_FORMAT
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_FORMAT() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_FORMAT");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_FORMAT"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_FORMAT
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_FORMAT(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_FORMAT");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_FORMAT", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_PASSWORD
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_PASSWORD() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_PASSWORD");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_PASSWORD"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_PASSWORD
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_PASSWORD(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_PASSWORD");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_PASSWORD", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_STATE
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_STATE() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INVALID_STATE");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_STATE"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INVALID_STATE
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_STATE(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INVALID_STATE");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INVALID_STATE", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_BUFFER_OVERFLOW
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_BUFFER_OVERFLOW() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_BUFFER_OVERFLOW");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_BUFFER_OVERFLOW"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_BUFFER_OVERFLOW
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_BUFFER_OVERFLOW(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_BUFFER_OVERFLOW");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_BUFFER_OVERFLOW", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_OUT_OF_MEMORY
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_OUT_OF_MEMORY() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_OUT_OF_MEMORY");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_OUT_OF_MEMORY"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_OUT_OF_MEMORY
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_OUT_OF_MEMORY(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_OUT_OF_MEMORY");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_OUT_OF_MEMORY", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INTERNAL_ERROR
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INTERNAL_ERROR() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_INTERNAL_ERROR");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INTERNAL_ERROR"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_INTERNAL_ERROR
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INTERNAL_ERROR(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_INTERNAL_ERROR");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_INTERNAL_ERROR", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_NOT_SUPPORTED
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_NOT_SUPPORTED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_NOT_SUPPORTED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_NOT_SUPPORTED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_NOT_SUPPORTED
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_NOT_SUPPORTED(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_NOT_SUPPORTED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_NOT_SUPPORTED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_ENTROPY_SOURCE_FAILED
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_ENTROPY_SOURCE_FAILED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_ENTROPY_SOURCE_FAILED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_ENTROPY_SOURCE_FAILED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_ENTROPY_SOURCE_FAILED
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_ENTROPY_SOURCE_FAILED(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_ENTROPY_SOURCE_FAILED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_ENTROPY_SOURCE_FAILED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_STREAM_CLOSED
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_STREAM_CLOSED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_STREAM_CLOSED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_STREAM_CLOSED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_STREAM_CLOSED
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_STREAM_CLOSED(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_STREAM_CLOSED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_STREAM_CLOSED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_CUSTOM_ERROR_START
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_CUSTOM_ERROR_START() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_CUSTOM_ERROR_START");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_CUSTOM_ERROR_START"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_CUSTOM_ERROR_START
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_CUSTOM_ERROR_START(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_CUSTOM_ERROR_START");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_CUSTOM_ERROR_START", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_WOULD_BLOCK
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_WOULD_BLOCK() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_WOULD_BLOCK");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_WOULD_BLOCK"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_WOULD_BLOCK
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_WOULD_BLOCK(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_WOULD_BLOCK");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_WOULD_BLOCK", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_READ_FAILED
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_READ_FAILED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_READ_FAILED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_READ_FAILED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_READ_FAILED
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_READ_FAILED(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_READ_FAILED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_READ_FAILED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_WRITE_FAILED
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_WRITE_FAILED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_WRITE_FAILED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_WRITE_FAILED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_WRITE_FAILED
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_WRITE_FAILED(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_WRITE_FAILED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_WRITE_FAILED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_UNKNOWN_ERROR
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_UNKNOWN_ERROR() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_UNKNOWN_ERROR");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_UNKNOWN_ERROR"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_UNKNOWN_ERROR
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_UNKNOWN_ERROR(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_UNKNOWN_ERROR");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_UNKNOWN_ERROR", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_CUSTOM_ERROR_END
::Mono::Unity::UnityTls::unitytls_error_code Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_CUSTOM_ERROR_END() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_get_UNITYTLS_USER_CUSTOM_ERROR_END");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_error_code>("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_CUSTOM_ERROR_END"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code UNITYTLS_USER_CUSTOM_ERROR_END
void Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_CUSTOM_ERROR_END(::Mono::Unity::UnityTls::unitytls_error_code value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::_set_UNITYTLS_USER_CUSTOM_ERROR_END");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_error_code", "UNITYTLS_USER_CUSTOM_ERROR_END", value));
}
// Autogenerated instance field getter
// Get instance field: public System.UInt32 value__
uint& Mono::Unity::UnityTls::unitytls_error_code::dyn_value__() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_error_code::dyn_value__");
  auto ___internal__instance = *this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
  return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_SUCCESS
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_SUCCESS() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_SUCCESS");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_SUCCESS"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_SUCCESS
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_SUCCESS(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_SUCCESS");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_SUCCESS", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_NOT_DONE
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_NOT_DONE() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_NOT_DONE");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_NOT_DONE"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_NOT_DONE
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_NOT_DONE(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_NOT_DONE");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_NOT_DONE", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FATAL_ERROR
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FATAL_ERROR() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FATAL_ERROR");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FATAL_ERROR"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FATAL_ERROR
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FATAL_ERROR(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FATAL_ERROR");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FATAL_ERROR", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_EXPIRED
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_EXPIRED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_EXPIRED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_EXPIRED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_EXPIRED
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_EXPIRED(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_EXPIRED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_EXPIRED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_REVOKED
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_REVOKED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_REVOKED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_REVOKED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_REVOKED
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_REVOKED(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_REVOKED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_REVOKED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_CN_MISMATCH", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR1
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR1() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR1");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR1"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR1
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR1(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR1");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR1", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR2
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR2() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR2");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR2"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR2
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR2(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR2");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR2", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR3
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR3() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR3");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR3"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR3
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR3(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR3");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR3", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR4
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR4() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR4");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR4"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR4
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR4(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR4");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR4", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR5
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR5() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR5");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR5"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR5
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR5(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR5");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR5", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR6
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR6() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR6");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR6"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR6
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR6(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR6");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR6", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR7
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR7() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR7");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR7"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR7
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR7(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR7");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR7", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR8
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR8() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_USER_ERROR8");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR8"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_USER_ERROR8
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR8(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_USER_ERROR8");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_USER_ERROR8", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_get_UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_x509verify_result>("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR
void Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR(::Mono::Unity::UnityTls::unitytls_x509verify_result value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::_set_UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_x509verify_result", "UNITYTLS_X509VERIFY_FLAG_UNKNOWN_ERROR", value));
}
// Autogenerated instance field getter
// Get instance field: public System.UInt32 value__
uint& Mono::Unity::UnityTls::unitytls_x509verify_result::dyn_value__() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_result::dyn_value__");
  auto ___internal__instance = *this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
  return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_x509verify_callback.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509_ref
#include "Mono/Unity/UnityTls_unitytls_x509_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_callback.Invoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_callback::Invoke(void* userData, ::Mono::Unity::UnityTls::unitytls_x509_ref cert, ::Mono::Unity::UnityTls::unitytls_x509verify_result result, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_callback::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(cert), ::il2cpp_utils::ExtractType(result), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, userData, cert, result, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_callback.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_x509verify_callback::BeginInvoke(void* userData, ::Mono::Unity::UnityTls::unitytls_x509_ref cert, ::Mono::Unity::UnityTls::unitytls_x509verify_result result, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_callback::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(cert), ::il2cpp_utils::ExtractType(result), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, userData, cert, result, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_callback.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_x509verify_callback::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_x509verify_callback::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_ciphersuite
#include "Mono/Unity/UnityTls_unitytls_ciphersuite.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_ciphersuite UNITYTLS_CIPHERSUITE_INVALID
::Mono::Unity::UnityTls::unitytls_ciphersuite Mono::Unity::UnityTls::unitytls_ciphersuite::_get_UNITYTLS_CIPHERSUITE_INVALID() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_ciphersuite::_get_UNITYTLS_CIPHERSUITE_INVALID");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_ciphersuite>("Mono.Unity", "UnityTls/unitytls_ciphersuite", "UNITYTLS_CIPHERSUITE_INVALID"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_ciphersuite UNITYTLS_CIPHERSUITE_INVALID
void Mono::Unity::UnityTls::unitytls_ciphersuite::_set_UNITYTLS_CIPHERSUITE_INVALID(::Mono::Unity::UnityTls::unitytls_ciphersuite value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_ciphersuite::_set_UNITYTLS_CIPHERSUITE_INVALID");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_ciphersuite", "UNITYTLS_CIPHERSUITE_INVALID", value));
}
// Autogenerated instance field getter
// Get instance field: public System.UInt32 value__
uint& Mono::Unity::UnityTls::unitytls_ciphersuite::dyn_value__() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_ciphersuite::dyn_value__");
  auto ___internal__instance = *this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
  return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol
#include "Mono/Unity/UnityTls_unitytls_protocol.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_TLS_1_0
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_TLS_1_0() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_TLS_1_0");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_protocol>("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_TLS_1_0"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_TLS_1_0
void Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_TLS_1_0(::Mono::Unity::UnityTls::unitytls_protocol value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_TLS_1_0");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_TLS_1_0", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_TLS_1_1
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_TLS_1_1() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_TLS_1_1");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_protocol>("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_TLS_1_1"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_TLS_1_1
void Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_TLS_1_1(::Mono::Unity::UnityTls::unitytls_protocol value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_TLS_1_1");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_TLS_1_1", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_TLS_1_2
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_TLS_1_2() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_TLS_1_2");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_protocol>("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_TLS_1_2"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_TLS_1_2
void Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_TLS_1_2(::Mono::Unity::UnityTls::unitytls_protocol value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_TLS_1_2");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_TLS_1_2", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_INVALID
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_INVALID() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_get_UNITYTLS_PROTOCOL_INVALID");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Unity::UnityTls::unitytls_protocol>("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_INVALID"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol UNITYTLS_PROTOCOL_INVALID
void Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_INVALID(::Mono::Unity::UnityTls::unitytls_protocol value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::_set_UNITYTLS_PROTOCOL_INVALID");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Unity", "UnityTls/unitytls_protocol", "UNITYTLS_PROTOCOL_INVALID", value));
}
// Autogenerated instance field getter
// Get instance field: public System.UInt32 value__
uint& Mono::Unity::UnityTls::unitytls_protocol::dyn_value__() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_protocol::dyn_value__");
  auto ___internal__instance = *this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
  return *reinterpret_cast<uint*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_write_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_write_callback.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_write_callback.Invoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_tlsctx_write_callback::Invoke(void* userData, uint8_t* data, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_write_callback::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(data), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, userData, data, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_write_callback.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_tlsctx_write_callback::BeginInvoke(void* userData, uint8_t* data, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_write_callback::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(data), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, userData, data, bufferLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_write_callback.EndInvoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_tlsctx_write_callback::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_write_callback::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_read_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_read_callback.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_read_callback.Invoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_tlsctx_read_callback::Invoke(void* userData, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_read_callback::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, userData, buffer, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_read_callback.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_tlsctx_read_callback::BeginInvoke(void* userData, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_read_callback::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, userData, buffer, bufferLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_read_callback.EndInvoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_tlsctx_read_callback::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_read_callback::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_trace_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_trace_callback.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_trace_callback.Invoke
void Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback::Invoke(void* userData, ::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* traceMessage, ::System::IntPtr traceMessageLen) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(traceMessage), ::il2cpp_utils::ExtractType(traceMessageLen)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, userData, ctx, traceMessage, traceMessageLen);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_trace_callback.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback::BeginInvoke(void* userData, ::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* traceMessage, ::System::IntPtr traceMessageLen, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(traceMessage), ::il2cpp_utils::ExtractType(traceMessageLen), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, userData, ctx, traceMessage, traceMessageLen, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_trace_callback.EndInvoke
void Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_certificate_callback.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509name
#include "Mono/Unity/UnityTls_unitytls_x509name.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key_ref
#include "Mono/Unity/UnityTls_unitytls_key_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback.Invoke
void Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback::Invoke(void* userData, ::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509name* caList, ::System::IntPtr caListLen, ::Mono::Unity::UnityTls::unitytls_x509list_ref* chain, ::Mono::Unity::UnityTls::unitytls_key_ref* key, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(caList), ::il2cpp_utils::ExtractType(caListLen), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(key), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, userData, ctx, cn, cnLen, caList, caListLen, chain, key, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback::BeginInvoke(void* userData, ::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509name* caList, ::System::IntPtr caListLen, ::Mono::Unity::UnityTls::unitytls_x509list_ref* chain, ::Mono::Unity::UnityTls::unitytls_key_ref* key, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(caList), ::il2cpp_utils::ExtractType(caListLen), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(key), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, userData, ctx, cn, cnLen, caList, caListLen, chain, key, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback.EndInvoke
void Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_x509verify_callback.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback.Invoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback::Invoke(void* userData, ::Mono::Unity::UnityTls::unitytls_x509list_ref chain, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, userData, chain, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback::BeginInvoke(void* userData, ::Mono::Unity::UnityTls::unitytls_x509list_ref chain, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, userData, chain, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct
#include "Mono/Unity/UnityTls_unitytls_interface_struct.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_create_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_errorstate_create_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_raise_error_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_errorstate_raise_error_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_get_ref_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_get_ref_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_der_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_parse_der_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_pem_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_parse_pem_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_free_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_free_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509_export_der_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509_export_der_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_ref_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_get_ref_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_x509_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_get_x509_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_create_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_create_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_append_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_der_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_append_der_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_free_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_free_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_default_ca_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509verify_default_ca_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_explicit_ca_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509verify_explicit_ca_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_server_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_create_server_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_client_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_create_client_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_server_require_client_authentication_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_server_require_client_authentication_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_certificate_callback_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_certificate_callback_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_trace_callback_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_trace_callback_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_x509verify_callback_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_x509verify_callback_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_supported_ciphersuites_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_supported_ciphersuites_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_ciphersuite_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_get_ciphersuite_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_protocol_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_get_protocol_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_process_handshake_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_process_handshake_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_read_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_read_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_write_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_write_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_notify_close_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_notify_close_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_free_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_free_t.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_random_generate_bytes_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_random_generate_bytes_t.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated instance field getter
// Get instance field: public readonly System.UInt64 UNITYTLS_INVALID_HANDLE
uint64_t& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_UNITYTLS_INVALID_HANDLE() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_UNITYTLS_INVALID_HANDLE");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "UNITYTLS_INVALID_HANDLE"))->offset;
  return *reinterpret_cast<uint64_t*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public readonly Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_protocolrange UNITYTLS_TLSCTX_PROTOCOLRANGE_DEFAULT
::Mono::Unity::UnityTls::unitytls_tlsctx_protocolrange& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_UNITYTLS_TLSCTX_PROTOCOLRANGE_DEFAULT() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_UNITYTLS_TLSCTX_PROTOCOLRANGE_DEFAULT");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "UNITYTLS_TLSCTX_PROTOCOLRANGE_DEFAULT"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_tlsctx_protocolrange*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_create_t unitytls_errorstate_create
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_errorstate_create() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_errorstate_create");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_errorstate_create"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_raise_error_t unitytls_errorstate_raise_error
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_errorstate_raise_error() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_errorstate_raise_error");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_errorstate_raise_error"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_get_ref_t unitytls_key_get_ref
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_get_ref() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_get_ref");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_key_get_ref"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_der_t unitytls_key_parse_der
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_parse_der() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_parse_der");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_key_parse_der"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_pem_t unitytls_key_parse_pem
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_parse_pem() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_parse_pem");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_key_parse_pem"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_free_t unitytls_key_free
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_free() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_key_free");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_key_free"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509_export_der_t unitytls_x509_export_der
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509_export_der() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509_export_der");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509_export_der"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_ref_t unitytls_x509list_get_ref
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_get_ref() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_get_ref");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509list_get_ref"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_x509_t unitytls_x509list_get_x509
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_get_x509() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_get_x509");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509list_get_x509"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_create_t unitytls_x509list_create
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_create() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_create");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509list_create"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_t unitytls_x509list_append
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_append() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_append");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509list_append"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_der_t unitytls_x509list_append_der
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_append_der() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_append_der");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509list_append_der"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_der_t unitytls_x509list_append_pem
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_append_pem() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_append_pem");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509list_append_pem"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_free_t unitytls_x509list_free
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_free() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509list_free");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509list_free"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_default_ca_t unitytls_x509verify_default_ca
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509verify_default_ca() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509verify_default_ca");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509verify_default_ca"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_explicit_ca_t unitytls_x509verify_explicit_ca
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509verify_explicit_ca() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_x509verify_explicit_ca");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_x509verify_explicit_ca"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_server_t unitytls_tlsctx_create_server
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_create_server() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_create_server");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_create_server"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_client_t unitytls_tlsctx_create_client
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_create_client() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_create_client");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_create_client"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_server_require_client_authentication_t unitytls_tlsctx_server_require_client_authentication
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_server_require_client_authentication() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_server_require_client_authentication");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_server_require_client_authentication"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_certificate_callback_t unitytls_tlsctx_set_certificate_callback
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_certificate_callback() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_certificate_callback");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_set_certificate_callback"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_trace_callback_t unitytls_tlsctx_set_trace_callback
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_trace_callback() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_trace_callback");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_set_trace_callback"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_x509verify_callback_t unitytls_tlsctx_set_x509verify_callback
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_x509verify_callback() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_x509verify_callback");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_set_x509verify_callback"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_supported_ciphersuites_t unitytls_tlsctx_set_supported_ciphersuites
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_supported_ciphersuites() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_set_supported_ciphersuites");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_set_supported_ciphersuites"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_ciphersuite_t unitytls_tlsctx_get_ciphersuite
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_get_ciphersuite() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_get_ciphersuite");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_get_ciphersuite"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_protocol_t unitytls_tlsctx_get_protocol
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_get_protocol() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_get_protocol");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_get_protocol"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_process_handshake_t unitytls_tlsctx_process_handshake
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_process_handshake() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_process_handshake");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_process_handshake"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_read_t unitytls_tlsctx_read
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_read() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_read");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_read"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_write_t unitytls_tlsctx_write
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_write() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_write");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_write"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_notify_close_t unitytls_tlsctx_notify_close
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_notify_close() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_notify_close");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_notify_close"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_free_t unitytls_tlsctx_free
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_free() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_tlsctx_free");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_tlsctx_free"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_random_generate_bytes_t unitytls_random_generate_bytes
::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t*& Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_random_generate_bytes() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::dyn_unitytls_random_generate_bytes");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "unitytls_random_generate_bytes"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_create_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_errorstate_create_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_create_t.Invoke
::Mono::Unity::UnityTls::unitytls_errorstate Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t::Invoke() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_errorstate, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_create_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t::BeginInvoke(::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_create_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_errorstate Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_create_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_errorstate, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_raise_error_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_errorstate_raise_error_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_error_code
#include "Mono/Unity/UnityTls_unitytls_error_code.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_raise_error_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t::Invoke(::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::Mono::Unity::UnityTls::unitytls_error_code errorCode) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(errorCode)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, errorState, errorCode);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_raise_error_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::Mono::Unity::UnityTls::unitytls_error_code errorCode, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(errorCode), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, errorState, errorCode, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_errorstate_raise_error_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_errorstate_raise_error_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_get_ref_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_get_ref_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key_ref
#include "Mono/Unity/UnityTls_unitytls_key_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key
#include "Mono/Unity/UnityTls_unitytls_key.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_get_ref_t.Invoke
::Mono::Unity::UnityTls::unitytls_key_ref Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t::Invoke(::Mono::Unity::UnityTls::unitytls_key* key, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(key), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_key_ref, false>(this, ___internal__method, key, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_get_ref_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_key* key, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(key), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, key, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_get_ref_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_key_ref Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_get_ref_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_key_ref, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_der_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_parse_der_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key
#include "Mono/Unity/UnityTls_unitytls_key.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_der_t.Invoke
::Mono::Unity::UnityTls::unitytls_key* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t::Invoke(uint8_t* buffer, ::System::IntPtr bufferLen, uint8_t* password, ::System::IntPtr passwordLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(password), ::il2cpp_utils::ExtractType(passwordLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_key*, false>(this, ___internal__method, buffer, bufferLen, password, passwordLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_der_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t::BeginInvoke(uint8_t* buffer, ::System::IntPtr bufferLen, uint8_t* password, ::System::IntPtr passwordLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(password), ::il2cpp_utils::ExtractType(passwordLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, buffer, bufferLen, password, passwordLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_der_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_key* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_der_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_key*, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_pem_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_parse_pem_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key
#include "Mono/Unity/UnityTls_unitytls_key.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_pem_t.Invoke
::Mono::Unity::UnityTls::unitytls_key* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t::Invoke(uint8_t* buffer, ::System::IntPtr bufferLen, uint8_t* password, ::System::IntPtr passwordLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(password), ::il2cpp_utils::ExtractType(passwordLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_key*, false>(this, ___internal__method, buffer, bufferLen, password, passwordLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_pem_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t::BeginInvoke(uint8_t* buffer, ::System::IntPtr bufferLen, uint8_t* password, ::System::IntPtr passwordLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(password), ::il2cpp_utils::ExtractType(passwordLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, buffer, bufferLen, password, passwordLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_parse_pem_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_key* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_parse_pem_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_key*, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_free_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_key_free_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key
#include "Mono/Unity/UnityTls_unitytls_key.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_free_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t::Invoke(::Mono::Unity::UnityTls::unitytls_key* key) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(key)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, key);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_free_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_key* key, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(key), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, key, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_key_free_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_key_free_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509_export_der_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509_export_der_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509_ref
#include "Mono/Unity/UnityTls_unitytls_x509_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509_export_der_t.Invoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509_ref cert, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(cert), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, cert, buffer, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509_export_der_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509_ref cert, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(cert), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, cert, buffer, bufferLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509_export_der_t.EndInvoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509_export_der_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_ref_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_get_ref_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_ref_t.Invoke
::Mono::Unity::UnityTls::unitytls_x509list_ref Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509list* list, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509list_ref, false>(this, ___internal__method, list, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_ref_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509list* list, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, list, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_ref_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509list_ref Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_ref_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509list_ref, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_x509_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_get_x509_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509_ref
#include "Mono/Unity/UnityTls_unitytls_x509_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_x509_t.Invoke
::Mono::Unity::UnityTls::unitytls_x509_ref Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509list_ref list, ::System::IntPtr index, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(index), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509_ref, false>(this, ___internal__method, list, index, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_x509_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509list_ref list, ::System::IntPtr index, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(index), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, list, index, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_get_x509_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509_ref Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_get_x509_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509_ref, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_create_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_create_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_create_t.Invoke
::Mono::Unity::UnityTls::unitytls_x509list* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t::Invoke(::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509list*, false>(this, ___internal__method, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_create_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_create_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509list* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_create_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509list*, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_append_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509_ref
#include "Mono/Unity/UnityTls_unitytls_x509_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509list* list, ::Mono::Unity::UnityTls::unitytls_x509_ref cert, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(cert), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, list, cert, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509list* list, ::Mono::Unity::UnityTls::unitytls_x509_ref cert, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(cert), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, list, cert, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_der_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_append_der_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_der_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509list* list, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, list, buffer, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_der_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509list* list, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, list, buffer, bufferLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_append_der_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_append_der_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_free_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509list_free_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_free_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509list* list) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, list);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_free_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509list* list, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(list), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, list, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509list_free_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509list_free_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_default_ca_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509verify_default_ca_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_x509verify_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_default_ca_t.Invoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509list_ref chain, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509verify_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, chain, cn, cnLen, cb, userData, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_default_ca_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509list_ref chain, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509verify_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, chain, cn, cnLen, cb, userData, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_default_ca_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_default_ca_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_explicit_ca_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_x509verify_explicit_ca_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_x509verify_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_explicit_ca_t.Invoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t::Invoke(::Mono::Unity::UnityTls::unitytls_x509list_ref chain, ::Mono::Unity::UnityTls::unitytls_x509list_ref trustCA, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509verify_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(trustCA), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, chain, trustCA, cn, cnLen, cb, userData, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_explicit_ca_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_x509list_ref chain, ::Mono::Unity::UnityTls::unitytls_x509list_ref trustCA, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509verify_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(trustCA), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, chain, trustCA, cn, cnLen, cb, userData, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_x509verify_explicit_ca_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_x509verify_explicit_ca_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_server_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_create_server_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_protocolrange
#include "Mono/Unity/UnityTls_unitytls_tlsctx_protocolrange.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_callbacks
#include "Mono/Unity/UnityTls_unitytls_tlsctx_callbacks.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_server_t.Invoke
::Mono::Unity::UnityTls::unitytls_tlsctx* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx_protocolrange supportedProtocols, ::Mono::Unity::UnityTls::unitytls_tlsctx_callbacks callbacks, uint64_t certChain, uint64_t leafCertificateKey, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(supportedProtocols), ::il2cpp_utils::ExtractType(callbacks), ::il2cpp_utils::ExtractType(certChain), ::il2cpp_utils::ExtractType(leafCertificateKey), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_tlsctx*, false>(this, ___internal__method, supportedProtocols, callbacks, certChain, leafCertificateKey, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_server_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx_protocolrange supportedProtocols, ::Mono::Unity::UnityTls::unitytls_tlsctx_callbacks callbacks, uint64_t certChain, uint64_t leafCertificateKey, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(supportedProtocols), ::il2cpp_utils::ExtractType(callbacks), ::il2cpp_utils::ExtractType(certChain), ::il2cpp_utils::ExtractType(leafCertificateKey), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, supportedProtocols, callbacks, certChain, leafCertificateKey, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_server_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_tlsctx* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_server_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_tlsctx*, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_client_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_create_client_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_protocolrange
#include "Mono/Unity/UnityTls_unitytls_tlsctx_protocolrange.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_callbacks
#include "Mono/Unity/UnityTls_unitytls_tlsctx_callbacks.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_client_t.Invoke
::Mono::Unity::UnityTls::unitytls_tlsctx* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx_protocolrange supportedProtocols, ::Mono::Unity::UnityTls::unitytls_tlsctx_callbacks callbacks, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(supportedProtocols), ::il2cpp_utils::ExtractType(callbacks), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_tlsctx*, false>(this, ___internal__method, supportedProtocols, callbacks, cn, cnLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_client_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx_protocolrange supportedProtocols, ::Mono::Unity::UnityTls::unitytls_tlsctx_callbacks callbacks, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(supportedProtocols), ::il2cpp_utils::ExtractType(callbacks), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, supportedProtocols, callbacks, cn, cnLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_create_client_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_tlsctx* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_create_client_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_tlsctx*, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_server_require_client_authentication_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_server_require_client_authentication_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_server_require_client_authentication_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_x509list_ref clientAuthCAList, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(clientAuthCAList), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx, clientAuthCAList, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_server_require_client_authentication_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_x509list_ref clientAuthCAList, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(clientAuthCAList), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, clientAuthCAList, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_server_require_client_authentication_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_server_require_client_authentication_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_certificate_callback_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_certificate_callback_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_certificate_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_certificate_callback_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx, cb, userData, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_certificate_callback_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, cb, userData, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_certificate_callback_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_certificate_callback_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_trace_callback_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_trace_callback_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_trace_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_trace_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_trace_callback_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx, cb, userData, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_trace_callback_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_tlsctx_trace_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, cb, userData, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_trace_callback_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_trace_callback_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_x509verify_callback_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_x509verify_callback_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_x509verify_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_x509verify_callback_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx, cb, userData, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_x509verify_callback_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback* cb, void* userData, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, cb, userData, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_x509verify_callback_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_x509verify_callback_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_supported_ciphersuites_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_set_supported_ciphersuites_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_ciphersuite
#include "Mono/Unity/UnityTls_unitytls_ciphersuite.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_supported_ciphersuites_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_ciphersuite* supportedCiphersuites, ::System::IntPtr supportedCiphersuitesLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(supportedCiphersuites), ::il2cpp_utils::ExtractType(supportedCiphersuitesLen), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx, supportedCiphersuites, supportedCiphersuitesLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_supported_ciphersuites_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_ciphersuite* supportedCiphersuites, ::System::IntPtr supportedCiphersuitesLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(supportedCiphersuites), ::il2cpp_utils::ExtractType(supportedCiphersuitesLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, supportedCiphersuites, supportedCiphersuitesLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_set_supported_ciphersuites_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_set_supported_ciphersuites_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_ciphersuite_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_get_ciphersuite_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_ciphersuite
#include "Mono/Unity/UnityTls_unitytls_ciphersuite.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_ciphersuite_t.Invoke
::Mono::Unity::UnityTls::unitytls_ciphersuite Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_ciphersuite, false>(this, ___internal__method, ctx, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_ciphersuite_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_ciphersuite_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_ciphersuite Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_ciphersuite_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_ciphersuite, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_protocol_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_get_protocol_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol
#include "Mono/Unity/UnityTls_unitytls_protocol.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_protocol_t.Invoke
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_protocol, false>(this, ___internal__method, ctx, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_protocol_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_get_protocol_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_get_protocol_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_protocol, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_process_handshake_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_process_handshake_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_process_handshake_t.Invoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, ctx, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_process_handshake_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_process_handshake_t.EndInvoke
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_process_handshake_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_read_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_read_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_read_t.Invoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, ctx, buffer, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_read_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, buffer, bufferLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_read_t.EndInvoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_read_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_write_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_write_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_write_t.Invoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* data, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(data), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, ctx, data, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_write_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* data, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(data), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, data, bufferLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_write_t.EndInvoke
::System::IntPtr Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_write_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_notify_close_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_notify_close_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_notify_close_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_notify_close_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_notify_close_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_notify_close_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_free_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_tlsctx_free_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_free_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t::Invoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_free_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t::BeginInvoke(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, ctx, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_tlsctx_free_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_tlsctx_free_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_random_generate_bytes_t
#include "Mono/Unity/UnityTls_unitytls_interface_struct_unitytls_random_generate_bytes_t.hpp"
// Including type: System.IAsyncResult
#include "System/IAsyncResult.hpp"
// Including type: System.AsyncCallback
#include "System/AsyncCallback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_random_generate_bytes_t.Invoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t::Invoke(uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t::Invoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Invoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, buffer, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_random_generate_bytes_t.BeginInvoke
::System::IAsyncResult* Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t::BeginInvoke(uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ::System::AsyncCallback* callback, ::Il2CppObject* object) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t::BeginInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "BeginInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractType(callback), ::il2cpp_utils::ExtractType(object)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IAsyncResult*, false>(this, ___internal__method, buffer, bufferLen, errorState, callback, object);
}
// Autogenerated method: Mono.Unity.UnityTls/Mono.Unity.unitytls_interface_struct/Mono.Unity.unitytls_random_generate_bytes_t.EndInvoke
void Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t::EndInvoke(::System::IAsyncResult* result) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTls::unitytls_interface_struct::unitytls_random_generate_bytes_t::EndInvoke");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "EndInvoke", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(result)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, result);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTlsContext
#include "Mono/Unity/UnityTlsContext.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509Certificate
#include "System/Security/Cryptography/X509Certificates/X509Certificate.hpp"
// Including type: Mono.Security.Interface.MonoTlsConnectionInfo
#include "Mono/Security/Interface/MonoTlsConnectionInfo.hpp"
// Including type: System.Exception
#include "System/Exception.hpp"
// Including type: System.IntPtr
#include "System/IntPtr.hpp"
// Including type: Mono.Net.Security.MobileAuthenticatedStream
#include "Mono/Net/Security/MobileAuthenticatedStream.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509CertificateCollection
#include "System/Security/Cryptography/X509Certificates/X509CertificateCollection.hpp"
// Including type: System.ValueTuple`2
#include "System/ValueTuple_2.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx
#include "Mono/Unity/UnityTls_unitytls_tlsctx.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list
#include "Mono/Unity/UnityTls_unitytls_x509list.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key
#include "Mono/Unity/UnityTls_unitytls_key.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_read_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_read_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_write_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_write_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_certificate_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback
#include "Mono/Unity/UnityTls_unitytls_tlsctx_x509verify_callback.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_errorstate
#include "Mono/Unity/UnityTls_unitytls_errorstate.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref
#include "Mono/Unity/UnityTls_unitytls_x509list_ref.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509name
#include "Mono/Unity/UnityTls_unitytls_x509name.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_key_ref
#include "Mono/Unity/UnityTls_unitytls_key_ref.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx* tlsContext
::Mono::Unity::UnityTls::unitytls_tlsctx*& Mono::Unity::UnityTlsContext::dyn_tlsContext() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_tlsContext");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "tlsContext"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_tlsctx**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list* requestedClientCertChain
::Mono::Unity::UnityTls::unitytls_x509list*& Mono::Unity::UnityTlsContext::dyn_requestedClientCertChain() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_requestedClientCertChain");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "requestedClientCertChain"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_x509list**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_key* requestedClientKey
::Mono::Unity::UnityTls::unitytls_key*& Mono::Unity::UnityTlsContext::dyn_requestedClientKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_requestedClientKey");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "requestedClientKey"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_key**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_read_callback readCallback
::Mono::Unity::UnityTls::unitytls_tlsctx_read_callback*& Mono::Unity::UnityTlsContext::dyn_readCallback() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_readCallback");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "readCallback"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_tlsctx_read_callback**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_write_callback writeCallback
::Mono::Unity::UnityTls::unitytls_tlsctx_write_callback*& Mono::Unity::UnityTlsContext::dyn_writeCallback() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_writeCallback");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "writeCallback"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_tlsctx_write_callback**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_certificate_callback certificateCallback
::Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback*& Mono::Unity::UnityTlsContext::dyn_certificateCallback() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_certificateCallback");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "certificateCallback"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_tlsctx_certificate_callback**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_tlsctx_x509verify_callback verifyCallback
::Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback*& Mono::Unity::UnityTlsContext::dyn_verifyCallback() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_verifyCallback");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "verifyCallback"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_tlsctx_x509verify_callback**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Security.Cryptography.X509Certificates.X509Certificate localClientCertificate
::System::Security::Cryptography::X509Certificates::X509Certificate*& Mono::Unity::UnityTlsContext::dyn_localClientCertificate() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_localClientCertificate");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "localClientCertificate"))->offset;
  return *reinterpret_cast<::System::Security::Cryptography::X509Certificates::X509Certificate**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Security.Cryptography.X509Certificates.X509Certificate remoteCertificate
::System::Security::Cryptography::X509Certificates::X509Certificate*& Mono::Unity::UnityTlsContext::dyn_remoteCertificate() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_remoteCertificate");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "remoteCertificate"))->offset;
  return *reinterpret_cast<::System::Security::Cryptography::X509Certificates::X509Certificate**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Security.Interface.MonoTlsConnectionInfo connectioninfo
::Mono::Security::Interface::MonoTlsConnectionInfo*& Mono::Unity::UnityTlsContext::dyn_connectioninfo() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_connectioninfo");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "connectioninfo"))->offset;
  return *reinterpret_cast<::Mono::Security::Interface::MonoTlsConnectionInfo**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Boolean isAuthenticated
bool& Mono::Unity::UnityTlsContext::dyn_isAuthenticated() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_isAuthenticated");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "isAuthenticated"))->offset;
  return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Boolean hasContext
bool& Mono::Unity::UnityTlsContext::dyn_hasContext() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_hasContext");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "hasContext"))->offset;
  return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Boolean closedGraceful
bool& Mono::Unity::UnityTlsContext::dyn_closedGraceful() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_closedGraceful");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "closedGraceful"))->offset;
  return *reinterpret_cast<bool*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Byte[] writeBuffer
::ArrayW<uint8_t>& Mono::Unity::UnityTlsContext::dyn_writeBuffer() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_writeBuffer");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "writeBuffer"))->offset;
  return *reinterpret_cast<::ArrayW<uint8_t>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Byte[] readBuffer
::ArrayW<uint8_t>& Mono::Unity::UnityTlsContext::dyn_readBuffer() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_readBuffer");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "readBuffer"))->offset;
  return *reinterpret_cast<::ArrayW<uint8_t>*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Runtime.InteropServices.GCHandle handle
::System::Runtime::InteropServices::GCHandle& Mono::Unity::UnityTlsContext::dyn_handle() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_handle");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "handle"))->offset;
  return *reinterpret_cast<::System::Runtime::InteropServices::GCHandle*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Exception lastException
::System::Exception*& Mono::Unity::UnityTlsContext::dyn_lastException() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::dyn_lastException");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "lastException"))->offset;
  return *reinterpret_cast<::System::Exception**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.ExtractNativeKeyAndChainFromManagedCertificate
void Mono::Unity::UnityTlsContext::ExtractNativeKeyAndChainFromManagedCertificate(::System::Security::Cryptography::X509Certificates::X509Certificate* cert, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState, ByRef<::Mono::Unity::UnityTls::unitytls_x509list*> nativeCertChain, ByRef<::Mono::Unity::UnityTls::unitytls_key*> nativeKey) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::ExtractNativeKeyAndChainFromManagedCertificate");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsContext", "ExtractNativeKeyAndChainFromManagedCertificate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(cert), ::il2cpp_utils::ExtractType(errorState), ::il2cpp_utils::ExtractIndependentType<::Mono::Unity::UnityTls::unitytls_x509list*&>(), ::il2cpp_utils::ExtractIndependentType<::Mono::Unity::UnityTls::unitytls_key*&>()})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, cert, errorState, byref(nativeCertChain), byref(nativeKey));
}
// Autogenerated method: Mono.Unity.UnityTlsContext.WriteCallback
::System::IntPtr Mono::Unity::UnityTlsContext::WriteCallback(void* userData, uint8_t* data, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::WriteCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsContext", "WriteCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(data), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, userData, data, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.WriteCallback
::System::IntPtr Mono::Unity::UnityTlsContext::WriteCallback(uint8_t* data, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::WriteCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "WriteCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(data), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, data, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.ReadCallback
::System::IntPtr Mono::Unity::UnityTlsContext::ReadCallback(void* userData, uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::ReadCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsContext", "ReadCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, userData, buffer, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.ReadCallback
::System::IntPtr Mono::Unity::UnityTlsContext::ReadCallback(uint8_t* buffer, ::System::IntPtr bufferLen, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::ReadCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ReadCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(bufferLen), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, buffer, bufferLen, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.VerifyCallback
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTlsContext::VerifyCallback(void* userData, ::Mono::Unity::UnityTls::unitytls_x509list_ref chain, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::VerifyCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsContext", "VerifyCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, userData, chain, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.VerifyCallback
::Mono::Unity::UnityTls::unitytls_x509verify_result Mono::Unity::UnityTlsContext::VerifyCallback(::Mono::Unity::UnityTls::unitytls_x509list_ref chain, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::VerifyCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "VerifyCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(errorState)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509verify_result, false>(this, ___internal__method, chain, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.CertificateCallback
void Mono::Unity::UnityTlsContext::CertificateCallback(void* userData, ::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509name* caList, ::System::IntPtr caListLen, ::Mono::Unity::UnityTls::unitytls_x509list_ref* chain, ::Mono::Unity::UnityTls::unitytls_key_ref* key, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::CertificateCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsContext", "CertificateCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(userData), ::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(caList), ::il2cpp_utils::ExtractType(caListLen), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(key), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, userData, ctx, cn, cnLen, caList, caListLen, chain, key, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.CertificateCallback
void Mono::Unity::UnityTlsContext::CertificateCallback(::Mono::Unity::UnityTls::unitytls_tlsctx* ctx, uint8_t* cn, ::System::IntPtr cnLen, ::Mono::Unity::UnityTls::unitytls_x509name* caList, ::System::IntPtr caListLen, ::Mono::Unity::UnityTls::unitytls_x509list_ref* chain, ::Mono::Unity::UnityTls::unitytls_key_ref* key, ::Mono::Unity::UnityTls::unitytls_errorstate* errorState) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::CertificateCallback");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "CertificateCallback", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(ctx), ::il2cpp_utils::ExtractType(cn), ::il2cpp_utils::ExtractType(cnLen), ::il2cpp_utils::ExtractType(caList), ::il2cpp_utils::ExtractType(caListLen), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(key), ::il2cpp_utils::ExtractType(errorState)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, ctx, cn, cnLen, caList, caListLen, chain, key, errorState);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.get_IsAuthenticated
bool Mono::Unity::UnityTlsContext::get_IsAuthenticated() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::get_IsAuthenticated");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_IsAuthenticated", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.get_LocalClientCertificate
::System::Security::Cryptography::X509Certificates::X509Certificate* Mono::Unity::UnityTlsContext::get_LocalClientCertificate() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::get_LocalClientCertificate");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_LocalClientCertificate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Security::Cryptography::X509Certificates::X509Certificate*, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.Read
::System::ValueTuple_2<int, bool> Mono::Unity::UnityTlsContext::Read(::ArrayW<uint8_t> buffer, int offset, int count) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::Read");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Read", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(offset), ::il2cpp_utils::ExtractType(count)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::ValueTuple_2<int, bool>, false>(this, ___internal__method, buffer, offset, count);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.Write
::System::ValueTuple_2<int, bool> Mono::Unity::UnityTlsContext::Write(::ArrayW<uint8_t> buffer, int offset, int count) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::Write");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Write", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(buffer), ::il2cpp_utils::ExtractType(offset), ::il2cpp_utils::ExtractType(count)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::ValueTuple_2<int, bool>, false>(this, ___internal__method, buffer, offset, count);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.Shutdown
void Mono::Unity::UnityTlsContext::Shutdown() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::Shutdown");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Shutdown", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.Dispose
void Mono::Unity::UnityTlsContext::Dispose(bool disposing) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::Dispose");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(disposing)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, disposing);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.StartHandshake
void Mono::Unity::UnityTlsContext::StartHandshake() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::StartHandshake");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "StartHandshake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.ProcessHandshake
bool Mono::Unity::UnityTlsContext::ProcessHandshake() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::ProcessHandshake");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ProcessHandshake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsContext.FinishHandshake
void Mono::Unity::UnityTlsContext::FinishHandshake() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsContext::FinishHandshake");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "FinishHandshake", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTlsConversions
#include "Mono/Unity/UnityTlsConversions.hpp"
// Including type: System.Security.Authentication.SslProtocols
#include "System/Security/Authentication/SslProtocols.hpp"
// Including type: Mono.Security.Interface.TlsProtocols
#include "Mono/Security/Interface/TlsProtocols.hpp"
// Including type: Mono.Security.Interface.AlertDescription
#include "Mono/Security/Interface/AlertDescription.hpp"
// Including type: Mono.Security.Interface.MonoSslPolicyErrors
#include "Mono/Security/Interface/MonoSslPolicyErrors.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509ChainStatusFlags
#include "System/Security/Cryptography/X509Certificates/X509ChainStatusFlags.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_protocol
#include "Mono/Unity/UnityTls_unitytls_protocol.hpp"
// Including type: Mono.Unity.UnityTls/Mono.Unity.unitytls_x509verify_result
#include "Mono/Unity/UnityTls_unitytls_x509verify_result.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTlsConversions.GetMinProtocol
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTlsConversions::GetMinProtocol(::System::Security::Authentication::SslProtocols protocols) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsConversions::GetMinProtocol");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsConversions", "GetMinProtocol", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(protocols)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_protocol, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, protocols);
}
// Autogenerated method: Mono.Unity.UnityTlsConversions.GetMaxProtocol
::Mono::Unity::UnityTls::unitytls_protocol Mono::Unity::UnityTlsConversions::GetMaxProtocol(::System::Security::Authentication::SslProtocols protocols) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsConversions::GetMaxProtocol");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsConversions", "GetMaxProtocol", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(protocols)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_protocol, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, protocols);
}
// Autogenerated method: Mono.Unity.UnityTlsConversions.ConvertProtocolVersion
::Mono::Security::Interface::TlsProtocols Mono::Unity::UnityTlsConversions::ConvertProtocolVersion(::Mono::Unity::UnityTls::unitytls_protocol protocol) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsConversions::ConvertProtocolVersion");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsConversions", "ConvertProtocolVersion", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(protocol)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Security::Interface::TlsProtocols, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, protocol);
}
// Autogenerated method: Mono.Unity.UnityTlsConversions.VerifyResultToAlertDescription
::Mono::Security::Interface::AlertDescription Mono::Unity::UnityTlsConversions::VerifyResultToAlertDescription(::Mono::Unity::UnityTls::unitytls_x509verify_result verifyResult, ::Mono::Security::Interface::AlertDescription defaultAlert) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsConversions::VerifyResultToAlertDescription");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsConversions", "VerifyResultToAlertDescription", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(verifyResult), ::il2cpp_utils::ExtractType(defaultAlert)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Security::Interface::AlertDescription, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, verifyResult, defaultAlert);
}
// Autogenerated method: Mono.Unity.UnityTlsConversions.VerifyResultToPolicyErrror
::Mono::Security::Interface::MonoSslPolicyErrors Mono::Unity::UnityTlsConversions::VerifyResultToPolicyErrror(::Mono::Unity::UnityTls::unitytls_x509verify_result verifyResult) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsConversions::VerifyResultToPolicyErrror");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsConversions", "VerifyResultToPolicyErrror", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(verifyResult)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Security::Interface::MonoSslPolicyErrors, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, verifyResult);
}
// Autogenerated method: Mono.Unity.UnityTlsConversions.VerifyResultToChainStatus
::System::Security::Cryptography::X509Certificates::X509ChainStatusFlags Mono::Unity::UnityTlsConversions::VerifyResultToChainStatus(::Mono::Unity::UnityTls::unitytls_x509verify_result verifyResult) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsConversions::VerifyResultToChainStatus");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Unity", "UnityTlsConversions", "VerifyResultToChainStatus", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(verifyResult)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Security::Cryptography::X509Certificates::X509ChainStatusFlags, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, verifyResult);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTlsProvider
#include "Mono/Unity/UnityTlsProvider.hpp"
// Including type: System.Guid
#include "System/Guid.hpp"
// Including type: System.Security.Authentication.SslProtocols
#include "System/Security/Authentication/SslProtocols.hpp"
// Including type: Mono.Security.Interface.IMonoSslStream
#include "Mono/Security/Interface/IMonoSslStream.hpp"
// Including type: System.IO.Stream
#include "System/IO/Stream.hpp"
// Including type: Mono.Security.Interface.MonoTlsSettings
#include "Mono/Security/Interface/MonoTlsSettings.hpp"
// Including type: System.Net.Security.SslStream
#include "System/Net/Security/SslStream.hpp"
// Including type: Mono.Security.Interface.ICertificateValidator2
#include "Mono/Security/Interface/ICertificateValidator2.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509CertificateCollection
#include "System/Security/Cryptography/X509Certificates/X509CertificateCollection.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509Chain
#include "System/Security/Cryptography/X509Certificates/X509Chain.hpp"
// Including type: Mono.Security.Interface.MonoSslPolicyErrors
#include "Mono/Security/Interface/MonoSslPolicyErrors.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTlsProvider.get_Name
::StringW Mono::Unity::UnityTlsProvider::get_Name() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::get_Name");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Name", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::StringW, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.get_ID
::System::Guid Mono::Unity::UnityTlsProvider::get_ID() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::get_ID");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_ID", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Guid, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.get_SupportsSslStream
bool Mono::Unity::UnityTlsProvider::get_SupportsSslStream() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::get_SupportsSslStream");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_SupportsSslStream", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.get_SupportsMonoExtensions
bool Mono::Unity::UnityTlsProvider::get_SupportsMonoExtensions() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::get_SupportsMonoExtensions");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_SupportsMonoExtensions", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.get_SupportsConnectionInfo
bool Mono::Unity::UnityTlsProvider::get_SupportsConnectionInfo() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::get_SupportsConnectionInfo");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_SupportsConnectionInfo", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.get_SupportsCleanShutdown
bool Mono::Unity::UnityTlsProvider::get_SupportsCleanShutdown() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::get_SupportsCleanShutdown");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_SupportsCleanShutdown", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.get_SupportedProtocols
::System::Security::Authentication::SslProtocols Mono::Unity::UnityTlsProvider::get_SupportedProtocols() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::get_SupportedProtocols");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_SupportedProtocols", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Security::Authentication::SslProtocols, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.CreateSslStream
::Mono::Security::Interface::IMonoSslStream* Mono::Unity::UnityTlsProvider::CreateSslStream(::System::IO::Stream* innerStream, bool leaveInnerStreamOpen, ::Mono::Security::Interface::MonoTlsSettings* settings) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::CreateSslStream");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "CreateSslStream", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(innerStream), ::il2cpp_utils::ExtractType(leaveInnerStreamOpen), ::il2cpp_utils::ExtractType(settings)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Security::Interface::IMonoSslStream*, false>(this, ___internal__method, innerStream, leaveInnerStreamOpen, settings);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.CreateSslStreamInternal
::Mono::Security::Interface::IMonoSslStream* Mono::Unity::UnityTlsProvider::CreateSslStreamInternal(::System::Net::Security::SslStream* sslStream, ::System::IO::Stream* innerStream, bool leaveInnerStreamOpen, ::Mono::Security::Interface::MonoTlsSettings* settings) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::CreateSslStreamInternal");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "CreateSslStreamInternal", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(sslStream), ::il2cpp_utils::ExtractType(innerStream), ::il2cpp_utils::ExtractType(leaveInnerStreamOpen), ::il2cpp_utils::ExtractType(settings)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Security::Interface::IMonoSslStream*, false>(this, ___internal__method, sslStream, innerStream, leaveInnerStreamOpen, settings);
}
// Autogenerated method: Mono.Unity.UnityTlsProvider.ValidateCertificate
bool Mono::Unity::UnityTlsProvider::ValidateCertificate(::Mono::Security::Interface::ICertificateValidator2* validator, ::StringW targetHost, bool serverMode, ::System::Security::Cryptography::X509Certificates::X509CertificateCollection* certificates, bool wantsChain, ByRef<::System::Security::Cryptography::X509Certificates::X509Chain*> chain, ByRef<::Mono::Security::Interface::MonoSslPolicyErrors> errors, ByRef<int> status11) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsProvider::ValidateCertificate");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ValidateCertificate", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(validator), ::il2cpp_utils::ExtractType(targetHost), ::il2cpp_utils::ExtractType(serverMode), ::il2cpp_utils::ExtractType(certificates), ::il2cpp_utils::ExtractType(wantsChain), ::il2cpp_utils::ExtractType(chain), ::il2cpp_utils::ExtractType(errors), ::il2cpp_utils::ExtractType(status11)})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method, validator, targetHost, serverMode, certificates, wantsChain, byref(chain), byref(errors), byref(status11));
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.UnityTlsStream
#include "Mono/Unity/UnityTlsStream.hpp"
// Including type: System.Net.Security.SslStream
#include "System/Net/Security/SslStream.hpp"
// Including type: Mono.Security.Interface.MonoTlsSettings
#include "Mono/Security/Interface/MonoTlsSettings.hpp"
// Including type: Mono.Security.Interface.MonoTlsProvider
#include "Mono/Security/Interface/MonoTlsProvider.hpp"
// Including type: Mono.Net.Security.MobileTlsContext
#include "Mono/Net/Security/MobileTlsContext.hpp"
// Including type: System.Security.Authentication.SslProtocols
#include "System/Security/Authentication/SslProtocols.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509Certificate
#include "System/Security/Cryptography/X509Certificates/X509Certificate.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509CertificateCollection
#include "System/Security/Cryptography/X509Certificates/X509CertificateCollection.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Unity.UnityTlsStream.CreateContext
::Mono::Net::Security::MobileTlsContext* Mono::Unity::UnityTlsStream::CreateContext(bool serverMode, ::StringW targetHost, ::System::Security::Authentication::SslProtocols enabledProtocols, ::System::Security::Cryptography::X509Certificates::X509Certificate* serverCertificate, ::System::Security::Cryptography::X509Certificates::X509CertificateCollection* clientCertificates, bool askForClientCert) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::UnityTlsStream::CreateContext");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "CreateContext", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(serverMode), ::il2cpp_utils::ExtractType(targetHost), ::il2cpp_utils::ExtractType(enabledProtocols), ::il2cpp_utils::ExtractType(serverCertificate), ::il2cpp_utils::ExtractType(clientCertificates), ::il2cpp_utils::ExtractType(askForClientCert)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::Security::MobileTlsContext*, false>(this, ___internal__method, serverMode, targetHost, enabledProtocols, serverCertificate, clientCertificates, askForClientCert);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Unity.X509ChainImplUnityTls
#include "Mono/Unity/X509ChainImplUnityTls.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509ChainElementCollection
#include "System/Security/Cryptography/X509Certificates/X509ChainElementCollection.hpp"
// Including type: System.Security.Cryptography.X509Certificates.X509ChainPolicy
#include "System/Security/Cryptography/X509Certificates/X509ChainPolicy.hpp"
// Including type: System.Collections.Generic.List`1
#include "System/Collections/Generic/List_1.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated instance field getter
// Get instance field: private System.Security.Cryptography.X509Certificates.X509ChainElementCollection elements
::System::Security::Cryptography::X509Certificates::X509ChainElementCollection*& Mono::Unity::X509ChainImplUnityTls::dyn_elements() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::dyn_elements");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "elements"))->offset;
  return *reinterpret_cast<::System::Security::Cryptography::X509Certificates::X509ChainElementCollection**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private Mono.Unity.UnityTls/Mono.Unity.unitytls_x509list_ref nativeCertificateChain
::Mono::Unity::UnityTls::unitytls_x509list_ref& Mono::Unity::X509ChainImplUnityTls::dyn_nativeCertificateChain() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::dyn_nativeCertificateChain");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "nativeCertificateChain"))->offset;
  return *reinterpret_cast<::Mono::Unity::UnityTls::unitytls_x509list_ref*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Security.Cryptography.X509Certificates.X509ChainPolicy policy
::System::Security::Cryptography::X509Certificates::X509ChainPolicy*& Mono::Unity::X509ChainImplUnityTls::dyn_policy() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::dyn_policy");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "policy"))->offset;
  return *reinterpret_cast<::System::Security::Cryptography::X509Certificates::X509ChainPolicy**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: private System.Collections.Generic.List`1<System.Security.Cryptography.X509Certificates.X509ChainStatus> chainStatusList
::System::Collections::Generic::List_1<::System::Security::Cryptography::X509Certificates::X509ChainStatus>*& Mono::Unity::X509ChainImplUnityTls::dyn_chainStatusList() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::dyn_chainStatusList");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "chainStatusList"))->offset;
  return *reinterpret_cast<::System::Collections::Generic::List_1<::System::Security::Cryptography::X509Certificates::X509ChainStatus>**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: Mono.Unity.X509ChainImplUnityTls.get_NativeCertificateChain
::Mono::Unity::UnityTls::unitytls_x509list_ref Mono::Unity::X509ChainImplUnityTls::get_NativeCertificateChain() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::get_NativeCertificateChain");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_NativeCertificateChain", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Unity::UnityTls::unitytls_x509list_ref, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.X509ChainImplUnityTls.AddStatus
void Mono::Unity::X509ChainImplUnityTls::AddStatus(::System::Security::Cryptography::X509Certificates::X509ChainStatusFlags errorCode) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::AddStatus");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "AddStatus", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(errorCode)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, errorCode);
}
// Autogenerated method: Mono.Unity.X509ChainImplUnityTls.get_IsValid
bool Mono::Unity::X509ChainImplUnityTls::get_IsValid() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::get_IsValid");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_IsValid", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.X509ChainImplUnityTls.get_ChainElements
::System::Security::Cryptography::X509Certificates::X509ChainElementCollection* Mono::Unity::X509ChainImplUnityTls::get_ChainElements() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::get_ChainElements");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_ChainElements", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Security::Cryptography::X509Certificates::X509ChainElementCollection*, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.X509ChainImplUnityTls.set_ChainPolicy
void Mono::Unity::X509ChainImplUnityTls::set_ChainPolicy(::System::Security::Cryptography::X509Certificates::X509ChainPolicy* value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::set_ChainPolicy");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_ChainPolicy", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, value);
}
// Autogenerated method: Mono.Unity.X509ChainImplUnityTls.Reset
void Mono::Unity::X509ChainImplUnityTls::Reset() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::Reset");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Reset", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Unity.X509ChainImplUnityTls.Dispose
void Mono::Unity::X509ChainImplUnityTls::Dispose(bool disposing) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Unity::X509ChainImplUnityTls::Dispose");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(disposing)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, disposing);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFObject
#include "Mono/Net/CFObject.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated instance field getter
// Get instance field: private System.IntPtr <Handle>k__BackingField
::System::IntPtr& Mono::Net::CFObject::dyn_$Handle$k__BackingField() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::dyn_$Handle$k__BackingField");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "<Handle>k__BackingField"))->offset;
  return *reinterpret_cast<::System::IntPtr*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: Mono.Net.CFObject.get_Handle
::System::IntPtr Mono::Net::CFObject::get_Handle() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::get_Handle");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Handle", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFObject.set_Handle
void Mono::Net::CFObject::set_Handle(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::set_Handle");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "set_Handle", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, value);
}
// Autogenerated method: Mono.Net.CFObject.dlopen
::System::IntPtr Mono::Net::CFObject::dlopen(::StringW path, int mode) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::dlopen");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFObject", "dlopen", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(path), ::il2cpp_utils::ExtractType(mode)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, path, mode);
}
// Autogenerated method: Mono.Net.CFObject.dlsym
::System::IntPtr Mono::Net::CFObject::dlsym(::System::IntPtr handle, ::StringW symbol) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::dlsym");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFObject", "dlsym", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle), ::il2cpp_utils::ExtractType(symbol)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle, symbol);
}
// Autogenerated method: Mono.Net.CFObject.dlclose
void Mono::Net::CFObject::dlclose(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::dlclose");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFObject", "dlclose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated method: Mono.Net.CFObject.GetIndirect
::System::IntPtr Mono::Net::CFObject::GetIndirect(::System::IntPtr handle, ::StringW symbol) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::GetIndirect");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFObject", "GetIndirect", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle), ::il2cpp_utils::ExtractType(symbol)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle, symbol);
}
// Autogenerated method: Mono.Net.CFObject.GetCFObjectHandle
::System::IntPtr Mono::Net::CFObject::GetCFObjectHandle(::System::IntPtr handle, ::StringW symbol) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::GetCFObjectHandle");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFObject", "GetCFObjectHandle", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle), ::il2cpp_utils::ExtractType(symbol)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle, symbol);
}
// Autogenerated method: Mono.Net.CFObject.CFRetain
::System::IntPtr Mono::Net::CFObject::CFRetain(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::CFRetain");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFObject", "CFRetain", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated method: Mono.Net.CFObject.Retain
void Mono::Net::CFObject::Retain() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::Retain");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Retain", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFObject.CFRelease
void Mono::Net::CFObject::CFRelease(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::CFRelease");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFObject", "CFRelease", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated method: Mono.Net.CFObject.Release
void Mono::Net::CFObject::Release() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::Release");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Release", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFObject.Dispose
void Mono::Net::CFObject::Dispose(bool disposing) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::Dispose");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(disposing)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, disposing);
}
// Autogenerated method: Mono.Net.CFObject.Dispose
void Mono::Net::CFObject::Dispose() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::Dispose");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Dispose", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFObject.Finalize
void Mono::Net::CFObject::Finalize() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFObject::Finalize");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Finalize", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFArray
#include "Mono/Net/CFArray.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static private readonly System.IntPtr kCFTypeArrayCallbacks
::System::IntPtr Mono::Net::CFArray::_get_kCFTypeArrayCallbacks() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFArray::_get_kCFTypeArrayCallbacks");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFArray", "kCFTypeArrayCallbacks"));
}
// Autogenerated static field setter
// Set static field: static private readonly System.IntPtr kCFTypeArrayCallbacks
void Mono::Net::CFArray::_set_kCFTypeArrayCallbacks(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFArray::_set_kCFTypeArrayCallbacks");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFArray", "kCFTypeArrayCallbacks", value));
}
// Autogenerated method: Mono.Net.CFArray.get_Count
int Mono::Net::CFArray::get_Count() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFArray::get_Count");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Count", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<int, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFArray.get_Item
::System::IntPtr Mono::Net::CFArray::get_Item(int index) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFArray::get_Item");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Item", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(index)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, index);
}
// Autogenerated method: Mono.Net.CFArray..cctor
void Mono::Net::CFArray::_cctor() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFArray::.cctor");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFArray", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFArray.CFArrayGetCount
::System::IntPtr Mono::Net::CFArray::CFArrayGetCount(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFArray::CFArrayGetCount");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFArray", "CFArrayGetCount", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated method: Mono.Net.CFArray.CFArrayGetValueAtIndex
::System::IntPtr Mono::Net::CFArray::CFArrayGetValueAtIndex(::System::IntPtr handle, ::System::IntPtr index) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFArray::CFArrayGetValueAtIndex");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFArray", "CFArrayGetValueAtIndex", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle), ::il2cpp_utils::ExtractType(index)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle, index);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFNumber
#include "Mono/Net/CFNumber.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Net.CFNumber.CFNumberGetValue
bool Mono::Net::CFNumber::CFNumberGetValue(::System::IntPtr handle, ::System::IntPtr type, ByRef<int> value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNumber::CFNumberGetValue");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNumber", "CFNumberGetValue", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle), ::il2cpp_utils::ExtractType(type), ::il2cpp_utils::ExtractIndependentType<int&>()})));
  return ::il2cpp_utils::RunMethodRethrow<bool, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle, type, byref(value));
}
// Autogenerated method: Mono.Net.CFNumber.AsInt32
int Mono::Net::CFNumber::AsInt32(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNumber::AsInt32");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNumber", "AsInt32", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  return ::il2cpp_utils::RunMethodRethrow<int, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFRange
#include "Mono/Net/CFRange.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated instance field getter
// Get instance field: public System.IntPtr Location
::System::IntPtr& Mono::Net::CFRange::dyn_Location() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRange::dyn_Location");
  auto ___internal__instance = *this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "Location"))->offset;
  return *reinterpret_cast<::System::IntPtr*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated instance field getter
// Get instance field: public System.IntPtr Length
::System::IntPtr& Mono::Net::CFRange::dyn_Length() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRange::dyn_Length");
  auto ___internal__instance = *this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "Length"))->offset;
  return *reinterpret_cast<::System::IntPtr*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: Mono.Net.CFRange..ctor
Mono::Net::CFRange::CFRange(int loc, int len) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRange::.ctor");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(*this, ".ctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(loc), ::il2cpp_utils::ExtractType(len)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, loc, len);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFString
#include "Mono/Net/CFString.hpp"
// Including type: Mono.Net.CFRange
#include "Mono/Net/CFRange.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated instance field getter
// Get instance field: private System.String str
::StringW& Mono::Net::CFString::dyn_str() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::dyn_str");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "str"))->offset;
  return *reinterpret_cast<::StringW*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: Mono.Net.CFString.CFStringCreateWithCharacters
::System::IntPtr Mono::Net::CFString::CFStringCreateWithCharacters(::System::IntPtr alloc, ::System::IntPtr chars, ::System::IntPtr length) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::CFStringCreateWithCharacters");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFString", "CFStringCreateWithCharacters", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(alloc), ::il2cpp_utils::ExtractType(chars), ::il2cpp_utils::ExtractType(length)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, alloc, chars, length);
}
// Autogenerated method: Mono.Net.CFString.Create
::Mono::Net::CFString* Mono::Net::CFString::Create(::StringW value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::Create");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFString", "Create", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(value)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFString*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, value);
}
// Autogenerated method: Mono.Net.CFString.CFStringGetLength
::System::IntPtr Mono::Net::CFString::CFStringGetLength(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::CFStringGetLength");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFString", "CFStringGetLength", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated method: Mono.Net.CFString.CFStringGetCharactersPtr
::System::IntPtr Mono::Net::CFString::CFStringGetCharactersPtr(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::CFStringGetCharactersPtr");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFString", "CFStringGetCharactersPtr", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated method: Mono.Net.CFString.CFStringGetCharacters
::System::IntPtr Mono::Net::CFString::CFStringGetCharacters(::System::IntPtr handle, ::Mono::Net::CFRange range, ::System::IntPtr buffer) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::CFStringGetCharacters");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFString", "CFStringGetCharacters", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle), ::il2cpp_utils::ExtractType(range), ::il2cpp_utils::ExtractType(buffer)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle, range, buffer);
}
// Autogenerated method: Mono.Net.CFString.AsString
::StringW Mono::Net::CFString::AsString(::System::IntPtr handle) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::AsString");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFString", "AsString", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle)})));
  return ::il2cpp_utils::RunMethodRethrow<::StringW, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle);
}
// Autogenerated method: Mono.Net.CFString.ToString
::StringW Mono::Net::CFString::ToString() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFString::ToString");
  auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "ToString", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::StringW, false>(this, ___internal__method);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFDictionary
#include "Mono/Net/CFDictionary.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static private readonly System.IntPtr KeyCallbacks
::System::IntPtr Mono::Net::CFDictionary::_get_KeyCallbacks() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::_get_KeyCallbacks");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFDictionary", "KeyCallbacks"));
}
// Autogenerated static field setter
// Set static field: static private readonly System.IntPtr KeyCallbacks
void Mono::Net::CFDictionary::_set_KeyCallbacks(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::_set_KeyCallbacks");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFDictionary", "KeyCallbacks", value));
}
// Autogenerated static field getter
// Get static field: static private readonly System.IntPtr ValueCallbacks
::System::IntPtr Mono::Net::CFDictionary::_get_ValueCallbacks() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::_get_ValueCallbacks");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFDictionary", "ValueCallbacks"));
}
// Autogenerated static field setter
// Set static field: static private readonly System.IntPtr ValueCallbacks
void Mono::Net::CFDictionary::_set_ValueCallbacks(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::_set_ValueCallbacks");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFDictionary", "ValueCallbacks", value));
}
// Autogenerated method: Mono.Net.CFDictionary.get_Item
::System::IntPtr Mono::Net::CFDictionary::get_Item(::System::IntPtr key) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::get_Item");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Item", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(key)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, key);
}
// Autogenerated method: Mono.Net.CFDictionary..cctor
void Mono::Net::CFDictionary::_cctor() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::.cctor");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFDictionary", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFDictionary.CFDictionaryGetValue
::System::IntPtr Mono::Net::CFDictionary::CFDictionaryGetValue(::System::IntPtr handle, ::System::IntPtr key) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::CFDictionaryGetValue");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFDictionary", "CFDictionaryGetValue", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(handle), ::il2cpp_utils::ExtractType(key)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, handle, key);
}
// Autogenerated method: Mono.Net.CFDictionary.GetValue
::System::IntPtr Mono::Net::CFDictionary::GetValue(::System::IntPtr key) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFDictionary::GetValue");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "GetValue", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(key)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method, key);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFUrl
#include "Mono/Net/CFUrl.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Net.CFUrl.CFURLCreateWithString
::System::IntPtr Mono::Net::CFUrl::CFURLCreateWithString(::System::IntPtr allocator, ::System::IntPtr str, ::System::IntPtr baseURL) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFUrl::CFURLCreateWithString");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFUrl", "CFURLCreateWithString", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(allocator), ::il2cpp_utils::ExtractType(str), ::il2cpp_utils::ExtractType(baseURL)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, allocator, str, baseURL);
}
// Autogenerated method: Mono.Net.CFUrl.Create
::Mono::Net::CFUrl* Mono::Net::CFUrl::Create(::StringW absolute) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFUrl::Create");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFUrl", "Create", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(absolute)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFUrl*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, absolute);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFRunLoop
#include "Mono/Net/CFRunLoop.hpp"
// Including type: Mono.Net.CFString
#include "Mono/Net/CFString.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated method: Mono.Net.CFRunLoop.get_CurrentRunLoop
::Mono::Net::CFRunLoop* Mono::Net::CFRunLoop::get_CurrentRunLoop() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::get_CurrentRunLoop");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFRunLoop", "get_CurrentRunLoop", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFRunLoop*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFRunLoop.CFRunLoopAddSource
void Mono::Net::CFRunLoop::CFRunLoopAddSource(::System::IntPtr rl, ::System::IntPtr source, ::System::IntPtr mode) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::CFRunLoopAddSource");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFRunLoop", "CFRunLoopAddSource", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(rl), ::il2cpp_utils::ExtractType(source), ::il2cpp_utils::ExtractType(mode)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, rl, source, mode);
}
// Autogenerated method: Mono.Net.CFRunLoop.CFRunLoopRemoveSource
void Mono::Net::CFRunLoop::CFRunLoopRemoveSource(::System::IntPtr rl, ::System::IntPtr source, ::System::IntPtr mode) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::CFRunLoopRemoveSource");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFRunLoop", "CFRunLoopRemoveSource", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(rl), ::il2cpp_utils::ExtractType(source), ::il2cpp_utils::ExtractType(mode)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, rl, source, mode);
}
// Autogenerated method: Mono.Net.CFRunLoop.CFRunLoopRunInMode
int Mono::Net::CFRunLoop::CFRunLoopRunInMode(::System::IntPtr mode, double seconds, bool returnAfterSourceHandled) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::CFRunLoopRunInMode");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFRunLoop", "CFRunLoopRunInMode", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(mode), ::il2cpp_utils::ExtractType(seconds), ::il2cpp_utils::ExtractType(returnAfterSourceHandled)})));
  return ::il2cpp_utils::RunMethodRethrow<int, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, mode, seconds, returnAfterSourceHandled);
}
// Autogenerated method: Mono.Net.CFRunLoop.CFRunLoopGetCurrent
::System::IntPtr Mono::Net::CFRunLoop::CFRunLoopGetCurrent() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::CFRunLoopGetCurrent");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFRunLoop", "CFRunLoopGetCurrent", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFRunLoop.CFRunLoopStop
void Mono::Net::CFRunLoop::CFRunLoopStop(::System::IntPtr rl) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::CFRunLoopStop");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFRunLoop", "CFRunLoopStop", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(rl)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, rl);
}
// Autogenerated method: Mono.Net.CFRunLoop.AddSource
void Mono::Net::CFRunLoop::AddSource(::System::IntPtr source, ::Mono::Net::CFString* mode) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::AddSource");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "AddSource", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source), ::il2cpp_utils::ExtractType(mode)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, source, mode);
}
// Autogenerated method: Mono.Net.CFRunLoop.RemoveSource
void Mono::Net::CFRunLoop::RemoveSource(::System::IntPtr source, ::Mono::Net::CFString* mode) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::RemoveSource");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RemoveSource", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(source), ::il2cpp_utils::ExtractType(mode)})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method, source, mode);
}
// Autogenerated method: Mono.Net.CFRunLoop.RunInMode
int Mono::Net::CFRunLoop::RunInMode(::Mono::Net::CFString* mode, double seconds, bool returnAfterSourceHandled) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::RunInMode");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "RunInMode", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(mode), ::il2cpp_utils::ExtractType(seconds), ::il2cpp_utils::ExtractType(returnAfterSourceHandled)})));
  return ::il2cpp_utils::RunMethodRethrow<int, false>(this, ___internal__method, mode, seconds, returnAfterSourceHandled);
}
// Autogenerated method: Mono.Net.CFRunLoop.Stop
void Mono::Net::CFRunLoop::Stop() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFRunLoop::Stop");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "Stop", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(this, ___internal__method);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFProxyType
#include "Mono/Net/CFProxyType.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static public Mono.Net.CFProxyType None
::Mono::Net::CFProxyType Mono::Net::CFProxyType::_get_None() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_get_None");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Net::CFProxyType>("Mono.Net", "CFProxyType", "None"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Net.CFProxyType None
void Mono::Net::CFProxyType::_set_None(::Mono::Net::CFProxyType value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_set_None");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxyType", "None", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Net.CFProxyType AutoConfigurationUrl
::Mono::Net::CFProxyType Mono::Net::CFProxyType::_get_AutoConfigurationUrl() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_get_AutoConfigurationUrl");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Net::CFProxyType>("Mono.Net", "CFProxyType", "AutoConfigurationUrl"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Net.CFProxyType AutoConfigurationUrl
void Mono::Net::CFProxyType::_set_AutoConfigurationUrl(::Mono::Net::CFProxyType value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_set_AutoConfigurationUrl");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxyType", "AutoConfigurationUrl", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Net.CFProxyType AutoConfigurationJavaScript
::Mono::Net::CFProxyType Mono::Net::CFProxyType::_get_AutoConfigurationJavaScript() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_get_AutoConfigurationJavaScript");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Net::CFProxyType>("Mono.Net", "CFProxyType", "AutoConfigurationJavaScript"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Net.CFProxyType AutoConfigurationJavaScript
void Mono::Net::CFProxyType::_set_AutoConfigurationJavaScript(::Mono::Net::CFProxyType value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_set_AutoConfigurationJavaScript");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxyType", "AutoConfigurationJavaScript", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Net.CFProxyType FTP
::Mono::Net::CFProxyType Mono::Net::CFProxyType::_get_FTP() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_get_FTP");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Net::CFProxyType>("Mono.Net", "CFProxyType", "FTP"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Net.CFProxyType FTP
void Mono::Net::CFProxyType::_set_FTP(::Mono::Net::CFProxyType value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_set_FTP");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxyType", "FTP", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Net.CFProxyType HTTP
::Mono::Net::CFProxyType Mono::Net::CFProxyType::_get_HTTP() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_get_HTTP");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Net::CFProxyType>("Mono.Net", "CFProxyType", "HTTP"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Net.CFProxyType HTTP
void Mono::Net::CFProxyType::_set_HTTP(::Mono::Net::CFProxyType value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_set_HTTP");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxyType", "HTTP", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Net.CFProxyType HTTPS
::Mono::Net::CFProxyType Mono::Net::CFProxyType::_get_HTTPS() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_get_HTTPS");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Net::CFProxyType>("Mono.Net", "CFProxyType", "HTTPS"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Net.CFProxyType HTTPS
void Mono::Net::CFProxyType::_set_HTTPS(::Mono::Net::CFProxyType value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_set_HTTPS");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxyType", "HTTPS", value));
}
// Autogenerated static field getter
// Get static field: static public Mono.Net.CFProxyType SOCKS
::Mono::Net::CFProxyType Mono::Net::CFProxyType::_get_SOCKS() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_get_SOCKS");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Mono::Net::CFProxyType>("Mono.Net", "CFProxyType", "SOCKS"));
}
// Autogenerated static field setter
// Set static field: static public Mono.Net.CFProxyType SOCKS
void Mono::Net::CFProxyType::_set_SOCKS(::Mono::Net::CFProxyType value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::_set_SOCKS");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxyType", "SOCKS", value));
}
// Autogenerated instance field getter
// Get instance field: public System.Int32 value__
int& Mono::Net::CFProxyType::dyn_value__() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxyType::dyn_value__");
  auto ___internal__instance = *this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "value__"))->offset;
  return *reinterpret_cast<int*>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFProxy
#include "Mono/Net/CFProxy.hpp"
// Including type: Mono.Net.CFDictionary
#include "Mono/Net/CFDictionary.hpp"
// Including type: Mono.Net.CFProxyType
#include "Mono/Net/CFProxyType.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyAutoConfigurationJavaScriptKey
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyAutoConfigurationJavaScriptKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyAutoConfigurationJavaScriptKey");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyAutoConfigurationJavaScriptKey"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyAutoConfigurationJavaScriptKey
void Mono::Net::CFProxy::_set_kCFProxyAutoConfigurationJavaScriptKey(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyAutoConfigurationJavaScriptKey");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyAutoConfigurationJavaScriptKey", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyAutoConfigurationURLKey
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyAutoConfigurationURLKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyAutoConfigurationURLKey");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyAutoConfigurationURLKey"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyAutoConfigurationURLKey
void Mono::Net::CFProxy::_set_kCFProxyAutoConfigurationURLKey(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyAutoConfigurationURLKey");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyAutoConfigurationURLKey", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyHostNameKey
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyHostNameKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyHostNameKey");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyHostNameKey"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyHostNameKey
void Mono::Net::CFProxy::_set_kCFProxyHostNameKey(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyHostNameKey");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyHostNameKey", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyPasswordKey
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyPasswordKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyPasswordKey");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyPasswordKey"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyPasswordKey
void Mono::Net::CFProxy::_set_kCFProxyPasswordKey(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyPasswordKey");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyPasswordKey", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyPortNumberKey
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyPortNumberKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyPortNumberKey");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyPortNumberKey"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyPortNumberKey
void Mono::Net::CFProxy::_set_kCFProxyPortNumberKey(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyPortNumberKey");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyPortNumberKey", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyTypeKey
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyTypeKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyTypeKey");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyTypeKey"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyTypeKey
void Mono::Net::CFProxy::_set_kCFProxyTypeKey(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyTypeKey");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyTypeKey", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyUsernameKey
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyUsernameKey() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyUsernameKey");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyUsernameKey"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyUsernameKey
void Mono::Net::CFProxy::_set_kCFProxyUsernameKey(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyUsernameKey");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyUsernameKey", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyTypeAutoConfigurationURL
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyTypeAutoConfigurationURL() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyTypeAutoConfigurationURL");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyTypeAutoConfigurationURL"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyTypeAutoConfigurationURL
void Mono::Net::CFProxy::_set_kCFProxyTypeAutoConfigurationURL(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyTypeAutoConfigurationURL");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyTypeAutoConfigurationURL", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyTypeAutoConfigurationJavaScript
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyTypeAutoConfigurationJavaScript() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyTypeAutoConfigurationJavaScript");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyTypeAutoConfigurationJavaScript"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyTypeAutoConfigurationJavaScript
void Mono::Net::CFProxy::_set_kCFProxyTypeAutoConfigurationJavaScript(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyTypeAutoConfigurationJavaScript");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyTypeAutoConfigurationJavaScript", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyTypeFTP
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyTypeFTP() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyTypeFTP");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyTypeFTP"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyTypeFTP
void Mono::Net::CFProxy::_set_kCFProxyTypeFTP(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyTypeFTP");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyTypeFTP", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyTypeHTTP
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyTypeHTTP() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyTypeHTTP");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyTypeHTTP"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyTypeHTTP
void Mono::Net::CFProxy::_set_kCFProxyTypeHTTP(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyTypeHTTP");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyTypeHTTP", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyTypeHTTPS
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyTypeHTTPS() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyTypeHTTPS");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyTypeHTTPS"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyTypeHTTPS
void Mono::Net::CFProxy::_set_kCFProxyTypeHTTPS(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyTypeHTTPS");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyTypeHTTPS", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFProxyTypeSOCKS
::System::IntPtr Mono::Net::CFProxy::_get_kCFProxyTypeSOCKS() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_get_kCFProxyTypeSOCKS");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxy", "kCFProxyTypeSOCKS"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFProxyTypeSOCKS
void Mono::Net::CFProxy::_set_kCFProxyTypeSOCKS(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::_set_kCFProxyTypeSOCKS");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxy", "kCFProxyTypeSOCKS", value));
}
// Autogenerated instance field getter
// Get instance field: private Mono.Net.CFDictionary settings
::Mono::Net::CFDictionary*& Mono::Net::CFProxy::dyn_settings() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::dyn_settings");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "settings"))->offset;
  return *reinterpret_cast<::Mono::Net::CFDictionary**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: Mono.Net.CFProxy.get_AutoConfigurationJavaScript
::System::IntPtr Mono::Net::CFProxy::get_AutoConfigurationJavaScript() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::get_AutoConfigurationJavaScript");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_AutoConfigurationJavaScript", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy.get_AutoConfigurationUrl
::System::IntPtr Mono::Net::CFProxy::get_AutoConfigurationUrl() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::get_AutoConfigurationUrl");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_AutoConfigurationUrl", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy.get_HostName
::StringW Mono::Net::CFProxy::get_HostName() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::get_HostName");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_HostName", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::StringW, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy.get_Password
::StringW Mono::Net::CFProxy::get_Password() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::get_Password");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Password", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::StringW, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy.get_Port
int Mono::Net::CFProxy::get_Port() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::get_Port");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Port", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<int, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy.get_ProxyType
::Mono::Net::CFProxyType Mono::Net::CFProxy::get_ProxyType() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::get_ProxyType");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_ProxyType", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFProxyType, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy.get_Username
::StringW Mono::Net::CFProxy::get_Username() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::get_Username");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Username", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::StringW, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy..cctor
void Mono::Net::CFProxy::_cctor() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::.cctor");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFProxy", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxy.CFProxyTypeToEnum
::Mono::Net::CFProxyType Mono::Net::CFProxy::CFProxyTypeToEnum(::System::IntPtr type) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxy::CFProxyTypeToEnum");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFProxy", "CFProxyTypeToEnum", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(type)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFProxyType, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, type);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
// Including type: Mono.Net.CFProxySettings
#include "Mono/Net/CFProxySettings.hpp"
// Including type: Mono.Net.CFDictionary
#include "Mono/Net/CFDictionary.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFNetworkProxiesHTTPEnable
::System::IntPtr Mono::Net::CFProxySettings::_get_kCFNetworkProxiesHTTPEnable() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_get_kCFNetworkProxiesHTTPEnable");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxySettings", "kCFNetworkProxiesHTTPEnable"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFNetworkProxiesHTTPEnable
void Mono::Net::CFProxySettings::_set_kCFNetworkProxiesHTTPEnable(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_set_kCFNetworkProxiesHTTPEnable");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxySettings", "kCFNetworkProxiesHTTPEnable", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFNetworkProxiesHTTPPort
::System::IntPtr Mono::Net::CFProxySettings::_get_kCFNetworkProxiesHTTPPort() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_get_kCFNetworkProxiesHTTPPort");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxySettings", "kCFNetworkProxiesHTTPPort"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFNetworkProxiesHTTPPort
void Mono::Net::CFProxySettings::_set_kCFNetworkProxiesHTTPPort(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_set_kCFNetworkProxiesHTTPPort");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxySettings", "kCFNetworkProxiesHTTPPort", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFNetworkProxiesHTTPProxy
::System::IntPtr Mono::Net::CFProxySettings::_get_kCFNetworkProxiesHTTPProxy() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_get_kCFNetworkProxiesHTTPProxy");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxySettings", "kCFNetworkProxiesHTTPProxy"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFNetworkProxiesHTTPProxy
void Mono::Net::CFProxySettings::_set_kCFNetworkProxiesHTTPProxy(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_set_kCFNetworkProxiesHTTPProxy");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxySettings", "kCFNetworkProxiesHTTPProxy", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFNetworkProxiesProxyAutoConfigEnable
::System::IntPtr Mono::Net::CFProxySettings::_get_kCFNetworkProxiesProxyAutoConfigEnable() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_get_kCFNetworkProxiesProxyAutoConfigEnable");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxySettings", "kCFNetworkProxiesProxyAutoConfigEnable"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFNetworkProxiesProxyAutoConfigEnable
void Mono::Net::CFProxySettings::_set_kCFNetworkProxiesProxyAutoConfigEnable(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_set_kCFNetworkProxiesProxyAutoConfigEnable");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxySettings", "kCFNetworkProxiesProxyAutoConfigEnable", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFNetworkProxiesProxyAutoConfigJavaScript
::System::IntPtr Mono::Net::CFProxySettings::_get_kCFNetworkProxiesProxyAutoConfigJavaScript() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_get_kCFNetworkProxiesProxyAutoConfigJavaScript");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxySettings", "kCFNetworkProxiesProxyAutoConfigJavaScript"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFNetworkProxiesProxyAutoConfigJavaScript
void Mono::Net::CFProxySettings::_set_kCFNetworkProxiesProxyAutoConfigJavaScript(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_set_kCFNetworkProxiesProxyAutoConfigJavaScript");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxySettings", "kCFNetworkProxiesProxyAutoConfigJavaScript", value));
}
// Autogenerated static field getter
// Get static field: static private System.IntPtr kCFNetworkProxiesProxyAutoConfigURLString
::System::IntPtr Mono::Net::CFProxySettings::_get_kCFNetworkProxiesProxyAutoConfigURLString() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_get_kCFNetworkProxiesProxyAutoConfigURLString");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::IntPtr>("Mono.Net", "CFProxySettings", "kCFNetworkProxiesProxyAutoConfigURLString"));
}
// Autogenerated static field setter
// Set static field: static private System.IntPtr kCFNetworkProxiesProxyAutoConfigURLString
void Mono::Net::CFProxySettings::_set_kCFNetworkProxiesProxyAutoConfigURLString(::System::IntPtr value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::_set_kCFNetworkProxiesProxyAutoConfigURLString");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFProxySettings", "kCFNetworkProxiesProxyAutoConfigURLString", value));
}
// Autogenerated instance field getter
// Get instance field: private Mono.Net.CFDictionary settings
::Mono::Net::CFDictionary*& Mono::Net::CFProxySettings::dyn_settings() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::dyn_settings");
  auto ___internal__instance = this;
  static auto ___internal__field__offset = THROW_UNLESS(il2cpp_utils::FindField(___internal__instance, "settings"))->offset;
  return *reinterpret_cast<::Mono::Net::CFDictionary**>(reinterpret_cast<char*>(this) + ___internal__field__offset);
}
// Autogenerated method: Mono.Net.CFProxySettings.get_Dictionary
::Mono::Net::CFDictionary* Mono::Net::CFProxySettings::get_Dictionary() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::get_Dictionary");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod(this, "get_Dictionary", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFDictionary*, false>(this, ___internal__method);
}
// Autogenerated method: Mono.Net.CFProxySettings..cctor
void Mono::Net::CFProxySettings::_cctor() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFProxySettings::.cctor");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFProxySettings", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated from CppSourceCreator
// Created by Sc2ad
// =========================================================================
// Begin includes
#include "beatsaber-hook/shared/utils/typedefs.h"
// Including type: Mono.Net.CFNetwork
#include "Mono/Net/CFNetwork.hpp"
// Including type: Mono.Net.CFNetwork/Mono.Net.GetProxyData
#include "Mono/Net/CFNetwork_GetProxyData.hpp"
// Including type: Mono.Net.CFNetwork/Mono.Net.CFProxyAutoConfigurationResultCallback
#include "Mono/Net/CFNetwork_CFProxyAutoConfigurationResultCallback.hpp"
// Including type: Mono.Net.CFNetwork/Mono.Net.CFWebProxy
#include "Mono/Net/CFNetwork_CFWebProxy.hpp"
// Including type: Mono.Net.CFNetwork/Mono.Net.<>c__DisplayClass13_0
#include "Mono/Net/CFNetwork_--c__DisplayClass13_0.hpp"
// Including type: System.Collections.Generic.Queue`1
#include "System/Collections/Generic/Queue_1.hpp"
// Including type: System.Threading.AutoResetEvent
#include "System/Threading/AutoResetEvent.hpp"
// Including type: System.IntPtr
#include "System/IntPtr.hpp"
// Including type: Mono.Net.CFStreamClientContext
#include "Mono/Net/CFStreamClientContext.hpp"
// Including type: Mono.Net.CFArray
#include "Mono/Net/CFArray.hpp"
// Including type: Mono.Net.CFUrl
#include "Mono/Net/CFUrl.hpp"
// Including type: Mono.Net.CFProxy
#include "Mono/Net/CFProxy.hpp"
// Including type: System.Uri
#include "System/Uri.hpp"
// Including type: Mono.Net.CFDictionary
#include "Mono/Net/CFDictionary.hpp"
// Including type: Mono.Net.CFProxySettings
#include "Mono/Net/CFProxySettings.hpp"
// Including type: System.Net.IWebProxy
#include "System/Net/IWebProxy.hpp"
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
#include "beatsaber-hook/shared/utils/utils.h"
// Completed includes
// Autogenerated static field getter
// Get static field: static private System.Object lock_obj
::Il2CppObject* Mono::Net::CFNetwork::_get_lock_obj() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::_get_lock_obj");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::Il2CppObject*>("Mono.Net", "CFNetwork", "lock_obj"));
}
// Autogenerated static field setter
// Set static field: static private System.Object lock_obj
void Mono::Net::CFNetwork::_set_lock_obj(::Il2CppObject* value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::_set_lock_obj");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFNetwork", "lock_obj", value));
}
// Autogenerated static field getter
// Get static field: static private System.Collections.Generic.Queue`1<Mono.Net.CFNetwork/Mono.Net.GetProxyData> get_proxy_queue
::System::Collections::Generic::Queue_1<::Mono::Net::CFNetwork::GetProxyData*>* Mono::Net::CFNetwork::_get_get_proxy_queue() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::_get_get_proxy_queue");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::Collections::Generic::Queue_1<::Mono::Net::CFNetwork::GetProxyData*>*>("Mono.Net", "CFNetwork", "get_proxy_queue"));
}
// Autogenerated static field setter
// Set static field: static private System.Collections.Generic.Queue`1<Mono.Net.CFNetwork/Mono.Net.GetProxyData> get_proxy_queue
void Mono::Net::CFNetwork::_set_get_proxy_queue(::System::Collections::Generic::Queue_1<::Mono::Net::CFNetwork::GetProxyData*>* value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::_set_get_proxy_queue");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFNetwork", "get_proxy_queue", value));
}
// Autogenerated static field getter
// Get static field: static private System.Threading.AutoResetEvent proxy_event
::System::Threading::AutoResetEvent* Mono::Net::CFNetwork::_get_proxy_event() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::_get_proxy_event");
  return THROW_UNLESS(il2cpp_utils::GetFieldValue<::System::Threading::AutoResetEvent*>("Mono.Net", "CFNetwork", "proxy_event"));
}
// Autogenerated static field setter
// Set static field: static private System.Threading.AutoResetEvent proxy_event
void Mono::Net::CFNetwork::_set_proxy_event(::System::Threading::AutoResetEvent* value) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::_set_proxy_event");
  THROW_UNLESS(il2cpp_utils::SetFieldValue("Mono.Net", "CFNetwork", "proxy_event", value));
}
// Autogenerated method: Mono.Net.CFNetwork..cctor
void Mono::Net::CFNetwork::_cctor() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::.cctor");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", ".cctor", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFNetwork.CFNetworkCopyProxiesForAutoConfigurationScriptSequential
::System::IntPtr Mono::Net::CFNetwork::CFNetworkCopyProxiesForAutoConfigurationScriptSequential(::System::IntPtr proxyAutoConfigurationScript, ::System::IntPtr targetURL, ByRef<::System::IntPtr> error) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CFNetworkCopyProxiesForAutoConfigurationScriptSequential");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CFNetworkCopyProxiesForAutoConfigurationScriptSequential", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(proxyAutoConfigurationScript), ::il2cpp_utils::ExtractType(targetURL), ::il2cpp_utils::ExtractIndependentType<::System::IntPtr&>()})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, proxyAutoConfigurationScript, targetURL, byref(error));
}
// Autogenerated method: Mono.Net.CFNetwork.CFNetworkExecuteProxyAutoConfigurationURL
::System::IntPtr Mono::Net::CFNetwork::CFNetworkExecuteProxyAutoConfigurationURL(::System::IntPtr proxyAutoConfigURL, ::System::IntPtr targetURL, ::Mono::Net::CFNetwork::CFProxyAutoConfigurationResultCallback* cb, ByRef<::Mono::Net::CFStreamClientContext> clientContext) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CFNetworkExecuteProxyAutoConfigurationURL");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CFNetworkExecuteProxyAutoConfigurationURL", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(proxyAutoConfigURL), ::il2cpp_utils::ExtractType(targetURL), ::il2cpp_utils::ExtractType(cb), ::il2cpp_utils::ExtractType(clientContext)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, proxyAutoConfigURL, targetURL, cb, byref(clientContext));
}
// Autogenerated method: Mono.Net.CFNetwork.CFNetworkCopyProxiesForAutoConfigurationScriptThread
void Mono::Net::CFNetwork::CFNetworkCopyProxiesForAutoConfigurationScriptThread() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CFNetworkCopyProxiesForAutoConfigurationScriptThread");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CFNetworkCopyProxiesForAutoConfigurationScriptThread", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  ::il2cpp_utils::RunMethodRethrow<void, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFNetwork.CFNetworkCopyProxiesForAutoConfigurationScript
::System::IntPtr Mono::Net::CFNetwork::CFNetworkCopyProxiesForAutoConfigurationScript(::System::IntPtr proxyAutoConfigurationScript, ::System::IntPtr targetURL, ByRef<::System::IntPtr> error) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CFNetworkCopyProxiesForAutoConfigurationScript");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CFNetworkCopyProxiesForAutoConfigurationScript", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(proxyAutoConfigurationScript), ::il2cpp_utils::ExtractType(targetURL), ::il2cpp_utils::ExtractIndependentType<::System::IntPtr&>()})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, proxyAutoConfigurationScript, targetURL, byref(error));
}
// Autogenerated method: Mono.Net.CFNetwork.CopyProxiesForAutoConfigurationScript
::Mono::Net::CFArray* Mono::Net::CFNetwork::CopyProxiesForAutoConfigurationScript(::System::IntPtr proxyAutoConfigurationScript, ::Mono::Net::CFUrl* targetURL) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CopyProxiesForAutoConfigurationScript");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CopyProxiesForAutoConfigurationScript", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(proxyAutoConfigurationScript), ::il2cpp_utils::ExtractType(targetURL)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFArray*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, proxyAutoConfigurationScript, targetURL);
}
// Autogenerated method: Mono.Net.CFNetwork.GetProxiesForAutoConfigurationScript
::ArrayW<::Mono::Net::CFProxy*> Mono::Net::CFNetwork::GetProxiesForAutoConfigurationScript(::System::IntPtr proxyAutoConfigurationScript, ::Mono::Net::CFUrl* targetURL) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::GetProxiesForAutoConfigurationScript");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "GetProxiesForAutoConfigurationScript", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(proxyAutoConfigurationScript), ::il2cpp_utils::ExtractType(targetURL)})));
  return ::il2cpp_utils::RunMethodRethrow<::ArrayW<::Mono::Net::CFProxy*>, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, proxyAutoConfigurationScript, targetURL);
}
// Autogenerated method: Mono.Net.CFNetwork.GetProxiesForAutoConfigurationScript
::ArrayW<::Mono::Net::CFProxy*> Mono::Net::CFNetwork::GetProxiesForAutoConfigurationScript(::System::IntPtr proxyAutoConfigurationScript, ::System::Uri* targetUri) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::GetProxiesForAutoConfigurationScript");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "GetProxiesForAutoConfigurationScript", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(proxyAutoConfigurationScript), ::il2cpp_utils::ExtractType(targetUri)})));
  return ::il2cpp_utils::RunMethodRethrow<::ArrayW<::Mono::Net::CFProxy*>, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, proxyAutoConfigurationScript, targetUri);
}
// Autogenerated method: Mono.Net.CFNetwork.ExecuteProxyAutoConfigurationURL
::ArrayW<::Mono::Net::CFProxy*> Mono::Net::CFNetwork::ExecuteProxyAutoConfigurationURL(::System::IntPtr proxyAutoConfigURL, ::System::Uri* targetURL) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::ExecuteProxyAutoConfigurationURL");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "ExecuteProxyAutoConfigurationURL", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(proxyAutoConfigURL), ::il2cpp_utils::ExtractType(targetURL)})));
  return ::il2cpp_utils::RunMethodRethrow<::ArrayW<::Mono::Net::CFProxy*>, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, proxyAutoConfigURL, targetURL);
}
// Autogenerated method: Mono.Net.CFNetwork.CFNetworkCopyProxiesForURL
::System::IntPtr Mono::Net::CFNetwork::CFNetworkCopyProxiesForURL(::System::IntPtr url, ::System::IntPtr proxySettings) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CFNetworkCopyProxiesForURL");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CFNetworkCopyProxiesForURL", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(url), ::il2cpp_utils::ExtractType(proxySettings)})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, url, proxySettings);
}
// Autogenerated method: Mono.Net.CFNetwork.CopyProxiesForURL
::Mono::Net::CFArray* Mono::Net::CFNetwork::CopyProxiesForURL(::Mono::Net::CFUrl* url, ::Mono::Net::CFDictionary* proxySettings) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CopyProxiesForURL");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CopyProxiesForURL", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(url), ::il2cpp_utils::ExtractType(proxySettings)})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFArray*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, url, proxySettings);
}
// Autogenerated method: Mono.Net.CFNetwork.GetProxiesForURL
::ArrayW<::Mono::Net::CFProxy*> Mono::Net::CFNetwork::GetProxiesForURL(::Mono::Net::CFUrl* url, ::Mono::Net::CFProxySettings* proxySettings) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::GetProxiesForURL");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "GetProxiesForURL", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(url), ::il2cpp_utils::ExtractType(proxySettings)})));
  return ::il2cpp_utils::RunMethodRethrow<::ArrayW<::Mono::Net::CFProxy*>, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, url, proxySettings);
}
// Autogenerated method: Mono.Net.CFNetwork.GetProxiesForUri
::ArrayW<::Mono::Net::CFProxy*> Mono::Net::CFNetwork::GetProxiesForUri(::System::Uri* uri, ::Mono::Net::CFProxySettings* proxySettings) {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::GetProxiesForUri");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "GetProxiesForUri", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{::il2cpp_utils::ExtractType(uri), ::il2cpp_utils::ExtractType(proxySettings)})));
  return ::il2cpp_utils::RunMethodRethrow<::ArrayW<::Mono::Net::CFProxy*>, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method, uri, proxySettings);
}
// Autogenerated method: Mono.Net.CFNetwork.CFNetworkCopySystemProxySettings
::System::IntPtr Mono::Net::CFNetwork::CFNetworkCopySystemProxySettings() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::CFNetworkCopySystemProxySettings");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "CFNetworkCopySystemProxySettings", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::IntPtr, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFNetwork.GetSystemProxySettings
::Mono::Net::CFProxySettings* Mono::Net::CFNetwork::GetSystemProxySettings() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::GetSystemProxySettings");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "GetSystemProxySettings", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::Mono::Net::CFProxySettings*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
// Autogenerated method: Mono.Net.CFNetwork.GetDefaultProxy
::System::Net::IWebProxy* Mono::Net::CFNetwork::GetDefaultProxy() {
  static auto ___internal__logger = ::Logger::get().WithContext("::Mono::Net::CFNetwork::GetDefaultProxy");
  static auto* ___internal__method = THROW_UNLESS((::il2cpp_utils::FindMethod("Mono.Net", "CFNetwork", "GetDefaultProxy", std::vector<Il2CppClass*>{}, ::std::vector<const Il2CppType*>{})));
  return ::il2cpp_utils::RunMethodRethrow<::System::Net::IWebProxy*, false>(static_cast<Il2CppObject*>(nullptr), ___internal__method);
}
