using System;
using System.Collections.Generic;
using System.Threading;
namespace LeanCloud.Storage.Internal {
///
/// A reimplementation of Xamarin's PreserveAttribute.
/// This allows us to support AOT and linking for Xamarin platforms.
///
[AttributeUsage(AttributeTargets.All)]
internal class PreserveAttribute : Attribute {
public bool AllMembers;
public bool Conditional;
}
[AttributeUsage(AttributeTargets.All)]
internal class LinkerSafeAttribute : Attribute {
public LinkerSafeAttribute() { }
}
[Preserve(AllMembers = true)]
internal class PreserveWrapperTypes {
///
/// Exists to ensure that generic types are AOT-compiled for the conversions we support.
/// Any new value types that we add support for will need to be registered here.
/// The method itself is never called, but by virtue of the Preserve attribute being set
/// on the class, these types will be AOT-compiled.
///
/// This also applies to Unity.
///
private static List CreateWrapperTypes() {
return new List {
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleListWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper),
typeof(FlexibleDictionaryWrapper