Decompiled source of Bulldozer v1.1.9

Assembly-CSharp.dll

Decompiled 11 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.ExceptionServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Threading;
using System.Xml;
using ABN;
using BepInEx.AssemblyPublicizer;
using DSPWeb;
using Microsoft.CodeAnalysis;
using Microsoft.Win32.SafeHandles;
using NGPT;
using PowerNetworkStructures;
using Steamworks;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.Networking;
using UnityEngine.PostProcessing;
using UnityEngine.Rendering;
using UnityEngine.UI;
using UnityEngine.Video;
using UnityStandardAssets.CinematicEffects;
using UnityStandardAssets.ImageEffects;
using XGamingRuntime;
using rail;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public EmbeddedAttribute()
		{
			throw null;
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class IsUnmanagedAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public IsUnmanagedAttribute()
		{
			throw null;
		}
	}
}
[ExecuteInEditMode]
public class GridQuadGizmo : MonoBehaviour
{
	public float edgeLength;

	public float cellSize;

	public bool turn;

	public int area;

	public float extend;

	public float fadeout;

	public bool updatePerFrame;

	public MeshRenderer quadRenderer;

	public float quadSize;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector2 centerOffset;

	[OriginalAttributes(FieldAttributes.Private)]
	public const float aspect = 1.1539569f;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Refresh()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEnable()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public GridQuadGizmo()
	{
		throw null;
	}
}
public class AudioContainer
{
	[OriginalAttributes(FieldAttributes.Private)]
	public int poolCapacity;

	public int cursor;

	public AudioData[] audioPool;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] recycleIds;

	[OriginalAttributes(FieldAttributes.Private)]
	public int recycleBegin;

	[OriginalAttributes(FieldAttributes.Private)]
	public int recycleEnd;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioContainer()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int AddAudioData(int _objId, EObjectType _objType, Vector3 _pos, PrefabDesc _pdesc)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RemoveAudioData(int index)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Expand2x()
	{
		throw null;
	}
}
public class AudioContainerLF
{
	[OriginalAttributes(FieldAttributes.Private)]
	public int poolCapacity;

	public int cursor;

	public AudioDataLF[] audioPool;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] recycleIds;

	[OriginalAttributes(FieldAttributes.Private)]
	public int recycleBegin;

	[OriginalAttributes(FieldAttributes.Private)]
	public int recycleEnd;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioContainerLF()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int AddAudioDataLF(int _objId, EObjectType _objType, int _astroId, VectorLF3 _pos, PrefabDesc _pdesc)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int AddAudioDataLF(AudioDataLF au)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RemoveAudioDataLF(int index)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Expand2x()
	{
		throw null;
	}
}
public class AudioPool : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public AudioSource audioPrefab;

	[OriginalAttributes(FieldAttributes.Private)]
	public AudioSource[] audioPool;

	[OriginalAttributes(FieldAttributes.Private)]
	public int audioCapacity;

	[OriginalAttributes(FieldAttributes.Private)]
	public int audioCursor;

	public static AudioPool instance
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Create()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Destroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Awake()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDestroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void SetAudioCapacity(int newCapacity)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static AudioSource TakeAudio(AudioData au)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void PutAudio(AudioSource c)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioPool()
	{
		throw null;
	}
}
public class AudioPoolLF : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public AudioSource audioPrefab;

	[OriginalAttributes(FieldAttributes.Private)]
	public AudioSource[] audioPool;

	[OriginalAttributes(FieldAttributes.Private)]
	public int audioCapacity;

	[OriginalAttributes(FieldAttributes.Private)]
	public int audioCursor;

	public static AudioPoolLF instance
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Create()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Destroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Awake()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDestroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void SetAudioCapacity(int newCapacity)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static AudioSource TakeAudio(AudioDataLF au)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void PutAudio(AudioSource c)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioPoolLF()
	{
		throw null;
	}
}
public class BGMController : MonoBehaviour
{
	public AudioSource[] musics;

	public AudioSource advisorVoiceSource;

	public float[] volumeScalers;

	public float[] fadeInDurs;

	public float[] fadeOutDurs;

	public int[] commonMusicIndex;

	[Header("实时信息,请勿配置")]
	[SerializeField]
	[OriginalAttributes(FieldAttributes.Private)]
	public float[] vols;

	[SerializeField]
	[OriginalAttributes(FieldAttributes.Private)]
	public float[] volsTar;

	[OriginalAttributes(FieldAttributes.Private)]
	public float[] fadeInTimes;

	[OriginalAttributes(FieldAttributes.Private)]
	public float[] fadeOutTimes;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool[] loops;

	public float volumeFx1;

	public float volumeFx1Target;

	public float volumeFx2;

	public float volumeFx2Target;

	public float volumeFx3;

	public float volumeFx3Target;

	[SerializeField]
	[OriginalAttributes(FieldAttributes.Private)]
	public int playbackIndex;

	public const int MUTE = 0;

	public const int MAIN_THEME_PRE = 1;

	public const int MAIN_THEME_BODY = 2;

	public const int MAIN_THEME_BODY_2 = 21;

	public const int MAIN_THEME_BODY_3 = 22;

	public const int RISE_OF_THE_DARKFOG = 29;

	public const int UNIVERSE_1 = 3;

	public const int UNIVERSE_2 = 4;

	public const int UNIVERSE_3 = 5;

	public const int UNIVERSE_4 = 14;

	public const int DARK_FOG_HIVE = 28;

	public const int FACTORY_1 = 6;

	public const int FACTORY_2 = 7;

	public const int FACTORY_3 = 8;

	public const int FACTORY_4 = 13;

	public const int FACTORY_5 = 24;

	public const int PLANET_OCEAN = 9;

	public const int PLANET_OCEAN_1 = 15;

	public const int PLANET_OCEAN_2 = 16;

	public const int PLANET_OCEAN_3 = 25;

	public const int PLANET_LAVA = 10;

	public const int PLANET_LAVA_2 = 20;

	public const int PLANET_DESERT = 11;

	public const int PLANET_DESERT_2 = 26;

	public const int PLANET_ICE = 27;

	public const int DYSON_SPHERE_1 = 17;

	public const int DYSON_SPHERE_2 = 18;

	public const int BLACK_HOLE = 19;

	public const int PROLOGUE = 12;

	public const int MILKY_WAY = 23;

	[NonSerialized]
	public UIRoot uiRoot;

	[NonSerialized]
	public UIGame uiGame;

	[NonSerialized]
	public VFPreload loadingSplash;

	[NonSerialized]
	public Transform mainCameraTrans;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool loadWorkEnded;

	public MusicEnvDesc currentEnv;

	public List<int> playList;

	public int spaceTime;

	public int planetTime;

	[OriginalAttributes(FieldAttributes.Private)]
	public List<int> _tmp_list;

	public float headPlayTime;

	public float listBreakTime;

	public static BGMController instance
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public static int BGM
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool MusicIndexBypassFx(int index)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Awake()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Start()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDestroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool HasBGM(int bgmIndex)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool IsPlaying(int bgmIndex)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static float PlaybackTime(int bgmIndex)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void BreakCurrentLoop()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ResetCurrentLoop()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Playback(int bgmIndex, float fadeOutTime, float fadeInTime, EPlaybackOrigin origin = EPlaybackOrigin.Begin, float offset = 0f)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void DeterminePlayList(Player player)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void UpdateLogic()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void CheckPlayList()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void PlayHeadOfList()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnLoadingSplashLoad()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnLoadingSplashLoadHalf()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnLoadingSplashWorkEnd()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public BGMController()
	{
		throw null;
	}
}
public enum EPlaybackOrigin
{
	Begin,
	Current,
	End
}
public struct MusicEnvDesc
{
	public enum SpaceType
	{
		None,
		DysonSphere,
		BlackHole
	}

	public int theme;

	public int mood;

	public int space;

	public static MusicEnvDesc none
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public MusicEnvDesc(int _theme, int _mood, int _space)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override bool Equals(object obj)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override int GetHashCode()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override string ToString()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool operator !=(MusicEnvDesc a, MusicEnvDesc b)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool operator ==(MusicEnvDesc a, MusicEnvDesc b)
	{
		throw null;
	}
}
public class FactoryAudio : MonoBehaviour
{
	public PlanetData planet;

	[OriginalAttributes(FieldAttributes.Private)]
	public int frameAudioCount;

	public bool onPlanet
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEntityBuild(int objId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEntityDismantle(int objId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEntityKill(int objId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public FactoryAudio()
	{
		throw null;
	}
}
public static class GameAudio
{
	[OriginalAttributes(FieldAttributes.Private)]
	public static Transform _audioBox;

	public static Transform audioBox
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ClearAudio()
	{
		throw null;
	}
}
public class NearAudioLogic
{
	[OriginalAttributes(FieldAttributes.Private)]
	public AudioContainer[] auChunks;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] activeAuHashes;

	[OriginalAttributes(FieldAttributes.Private)]
	public int activeAuHashCount;

	public Dictionary<int, AudioObject> audioObjs;

	[OriginalAttributes(FieldAttributes.Private)]
	public List<int> _delList;

	public PlanetData planet
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Init(PlanetData _planet)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RefreshAudiosOnArrayChange()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void RefreshAudiosLive()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void DeleteDeadAudios()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int FindAudioId(AudioSource ausrc)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioObject FindAudioObject(AudioSource ausrc)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void MarkActivePos(Vector3 pos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void MarkActivePos(int hash)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void GameTick()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void UpdateListenerPosNear()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int GetEntitiesInAreaNonAlloc(Vector3 center, float areaRadius, int[] entityIds)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int GetVegetablesInAreaNonAlloc(Vector3 center, float areaRadius, int[] vegeIds)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int GetVeinsInAreaNonAlloc(Vector3 center, float areaRadius, int[] veinIds)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int GetPrebuildsInAreaNonAlloc(Vector3 center, float areaRadius, int[] prebuildIds)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int GetBuildingsInAreaNonAlloc(Vector3 center, float areaRadius, int[] buildingIds)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public NearAudioLogic()
	{
		throw null;
	}
}
public class AudioObject
{
	public int id;

	public bool live;

	public AudioSource ausrc;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioObject(int _id, AudioData _audata)
	{
		throw null;
	}
}
public class PlanetAudio
{
	public NearAudioLogic nearAudioLogic;

	public AudioContainer[] auChunks;

	public const int kAuBlockPerAxis = 10;

	public const int kAuBlockPerFace = 100;

	public const int kAuBlockCount = 600;

	public const int kSpeakerHash = 600;

	public const int kMaxSpecialHashCount = 1;

	public const int kAuHashLength = 601;

	[OriginalAttributes(FieldAttributes.Private)]
	public float systemVolume;

	[OriginalAttributes(FieldAttributes.Private)]
	public float combatVolume;

	public bool isPlanetAudioDirty;

	[OriginalAttributes(FieldAttributes.Private)]
	public const int kAudioIdMax = 4096;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] audioCounts;

	public PlanetData planet
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public PlanetAudio(PlanetData _planet)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int AddAudioData(int _objId, EObjectType _objType, Vector3 _pos, PrefabDesc _pdesc)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ChangeAudioSpeakerInfo(int _auId, int _speakerId0, int _speakerId1, int _repeatTimes)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ChangeAudioDataVolume(int auId, float volume)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ChangeAudioDataFalloff(int auId, float start, float end)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RemoveAudioData(int auId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioData GetAudioData(int auId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public bool GetAudioData(AudioSource ausrc, out AudioData au)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static IntVector3 AuBlockIPos(Vector3 pos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static int IPosToHash(IntVector3 ipos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static int HashAuBlock(Vector3 pos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void GameTick()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RefreshAudios()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetPlanetAudioDirty()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void NotifyObjectRemove(EObjectType objType, int objId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void SetEntityAudioRuntimeParams(AudioSource ausrc, AudioData au, float dist, float rand, AnimData[] animPool)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void SetCraftAudioRuntimeParams(AudioSource ausrc, AudioData au, float dist, float rand, AnimData[] animPool)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void SetEnemyAudioRuntimeParams(AudioSource ausrc, AudioData au, float dist, float rand, AnimData[] animPool)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public float GetHeightVolumeFactor(float height, float startHeight, float endHeight, float falloff)
	{
		throw null;
	}
}
public class SectorAudio
{
	public AudioContainerLF[] auChunks;

	public const int kHashCount = 32768;

	[OriginalAttributes(FieldAttributes.Private)]
	public SpaceAudioLogic spaceAudioLogic;

	public bool isAudioObjectDirty;

	public SpaceSector spaceSector
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public SectorAudio(SpaceSector _spaceSector)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void GameTick()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void PostGameTick()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int AddAudioData(int _objId, EObjectType _objType, int _astroId, VectorLF3 _pos, PrefabDesc _pdesc)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RemoveAudioData(int auId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int AlterAudioAstroId(int oldAuId, int newAstroId, VectorLF3 newPos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioDataLF GetAudioData(int auId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetAudioData(int auId, AudioDataLF au)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public bool GetAudioData(AudioSource ausrc, out AudioDataLF au)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RefreshAudiosIfDirty()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetAudioObjectDirty()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void NotifyObjectRemove(EObjectType objType, int objId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static int HashAuBlock(int astroId)
	{
		throw null;
	}
}
public class SFXAmbController : MonoBehaviour
{
	public AudioSource audioSource;

	public AudioClip starAmbient;

	public float targetVolume;

	public float volume;

	public float volumeMul;

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public SFXAmbController()
	{
		throw null;
	}
}
public class SkillAudioLogic
{
	public DataPool<SkillSFXHolder> holders;

	public VFAudio[] insts;

	public GameData gameData;

	public SpaceSector sector;

	public SkillSystem skillSystem;

	public bool muteAll;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] audioCount;

	[OriginalAttributes(FieldAttributes.Private)]
	public IntRange[] mixLimit;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] limitedProtos;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Init(GameData _gameData)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SyncInstArray()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public ref SkillSFXHolder AddPlanetAudio(int protoId, float life, int astroId, Vector3 lpos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public ref SkillSFXHolder AddPlayerAudio(int protoId, float life, Vector3 lpos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public ref SkillSFXHolder AddSpaceAudio(int protoId, float life, VectorLF3 upos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RemoveAudio(int id)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public VFAudio CreateAudioInst(int id)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void ReleaseAudioInst(int id)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void ReleaseAllAudioInsts()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void PlayPlanetParticleSFX(DataPoolRenderer<ParticleData> pr, ref ParticleData p)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public SkillAudioLogic()
	{
		throw null;
	}
}
[Serializable]
public struct SkillSFXHolder : IPoolElement
{
	public int id;

	public int protoId;

	public float priority;

	public float distRatio;

	public float volume;

	public float time;

	public float life;

	public float radius0;

	public float radius1;

	public float falloff;

	public int tag;

	public SkillTarget bind;

	public VectorLF3 pos;

	public int ID
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Export(BinaryWriter w)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Import(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Reset()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetVolumeByDist(float dist)
	{
		throw null;
	}
}
public class SpaceAudioLogic
{
	[OriginalAttributes(FieldAttributes.Private)]
	public AudioContainerLF[] auChunks;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] activeAuHashes;

	[OriginalAttributes(FieldAttributes.Private)]
	public int activeAuHashCount;

	[OriginalAttributes(FieldAttributes.Private)]
	public Dictionary<int, AudioObjectLF> audioObjs;

	[OriginalAttributes(FieldAttributes.Private)]
	public List<int> _delList;

	public SpaceSector sector
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Init(SpaceSector _sector)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RefreshAudiosOnArrayChange()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void RefreshAudiosLive()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void DeleteDeadAudios()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public int FindAudioId(AudioSource ausrc)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void MarkActivePos(int astroId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void GameTick()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void ActiveAudiosByRay(Ray ray, float distance)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void ActiveAudiosByMovementRay()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public SpaceAudioLogic()
	{
		throw null;
	}
}
public class AudioObjectLF
{
	public int id;

	public bool live;

	public AudioSource ausrc;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public AudioObjectLF(int _id, AudioDataLF _audata)
	{
		throw null;
	}
}
public class VFAudio : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public static List<VFAudio> pool;

	public static float audioVolume;

	public static float soundVolume;

	public static float combatVolume;

	public static float ambientVolume;

	public static float musicVolume;

	public static float dfAttackAlertVolume;

	public static float mechaAlertVolume;

	public AudioSource audioSource;

	[OriginalAttributes(FieldAttributes.Private)]
	public AudioProto proto;

	[OriginalAttributes(FieldAttributes.Private)]
	public Transform trans;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 pos;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool isTransNull;

	public bool isPlaying;

	public bool occupied;

	public int playClipId;

	public long playCustomId;

	public int prefabId;

	[OriginalAttributes(FieldAttributes.Private)]
	public static long[] coldTimes;

	public float lengthOverride;

	public float volumeMultiplier;

	public float pitchOverride;

	public float spatialBlendOverride;

	public int loopOverride;

	public float fadeInDuration;

	public float fadeOutDuration;

	[OriginalAttributes(FieldAttributes.Private)]
	public float volumeFade;

	[OriginalAttributes(FieldAttributes.Private)]
	public float fadeTarget;

	public static float finalSoundVolume
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static float finalCombatVolume
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static float finalAmbientVolume
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static float finalMusicVolume
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static float finalDFAttackAlertVolume
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static float finalMechaAlertVolume
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VFAudio GetVFAudio(long customId)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VFAudio Create(string _name, Transform _transform, Vector3 _position, bool play = false, int cdTime = 0, int clipId = -1, long customId = -1L)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VFAudio Create(int _id, Transform _transform, Vector3 _position, bool play = false, int cdTime = 0, int clipId = -1, long customId = -1L)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VFAudio CreateSkill(int _id, Vector3 _position)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Play()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Play(float _time)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Stop()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ResetAudio()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool QueryColdAndPut(int pid, int cdTime)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RandomClip()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public VFAudio()
	{
		throw null;
	}
}
public static class VFListener
{
	public static AudioListener audioListener;

	public static AudioLowPassFilter lowPassFilter;

	public static AudioHighPassFilter highPassFilter;

	public static Transform listenerTransform;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void SetPassFilter(float freq)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ListenerUpdate()
	{
		throw null;
	}
}
public struct CameraPose
{
	public Pose pose;

	public float fov;

	public float near;

	public float far;

	public Vector3 position
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public Quaternion rotation
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public Vector3 eulerAngles
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public Vector3 forward
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public Vector3 right
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public Vector3 up
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public Vector3 back
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public Vector3 left
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public Vector3 down
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public Ray ray
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static CameraPose identity
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Pose pose)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Pose pose, float fov)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Pose pose, float fov, float near, float far)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Vector3 pos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Vector3 pos, Quaternion rot)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Vector3 pos, Quaternion rot, float fov)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Vector3 pos, Quaternion rot, float fov, float near, float far)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Transform t)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Transform t, float fov)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Transform t, float fov, float near, float far)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPose(Camera cam)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetYawPitchRoll(float yaw, float pitch, float roll)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ApplyToCamera(Camera cam)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static CameraPose Lerp(CameraPose _from, CameraPose _to, float t)
	{
		throw null;
	}
}
public abstract class CameraPoser : MonoBehaviour
{
	public DebugKeyCode debugKey;

	[OriginalAttributes(FieldAttributes.Private)]
	public Transform _trans;

	public int updateOrder;

	public float fov;

	public float near;

	public float far;

	public Transform transform
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public CameraPose cameraPose
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public virtual void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public virtual void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public abstract void Calculate();

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static int Compare(CameraPoser l, CameraPoser r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public CameraPoser()
	{
		throw null;
	}
}
public enum DebugKeyCode
{
	None = 0,
	F1 = 282,
	F2 = 283,
	F3 = 284,
	F4 = 285
}
public class DysonMapCamera : ManualBehaviour
{
	[Header("References")]
	public UIDysonEditor dysonEditor;

	public Camera editorCamera;

	public Light cameraLight;

	public RectTransform uiCanvasTrans;

	[Header("Settings")]
	public float startYaw;

	public float startPitch;

	public float startDist;

	public Vector3 startTarget;

	public float maxPitch;

	public float minPitch;

	public float maxDist;

	public float minDist;

	public float smooth;

	[Header("Runtime")]
	public Vector3 target;

	public Vector3 targetWanted;

	public float yaw;

	public float yawWanted;

	public float pitch;

	public float pitchWanted;

	public float dist;

	public float distWanted;

	public float viewCenterPixelBiasX;

	public float viewCenterPixelBiasXWanted;

	public float viewCenterPixelBiasY;

	public float viewCenterPixelBiasYWanted;

	public Vector2 bias;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool rotate1Pressing;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool rotate2Pressing;

	[OriginalAttributes(FieldAttributes.Private)]
	public bool panPressing;

	public RenderTexture screenRT
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public override void _OnCreate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public override void _OnDestroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public override void _OnOpen()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public override void _OnClose()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void FixedUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public override void _OnLateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void UserInput()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void CalcTransform()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void FindNode(float longitute, float latitude, float radius)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void CheckOrCreateRTex()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ReleaseRTex()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnPostRender()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public DysonMapCamera()
	{
		throw null;
	}
}
public class GameCamera : MonoBehaviour
{
	[Header("最终摄像机状态")]
	public CameraPoser finalPoser;

	[OriginalAttributes(FieldAttributes.Private)]
	public CameraPoser debugPoser;

	public Light camLight;

	[Header("目标控制器")]
	public OffsetPoser rtsTarget;

	public FixedPoser rtsTargetOffset;

	public FixedPoser[] animationOffsets;

	public OffsetPoser buildTarget;

	public OffsetPoser globeTarget;

	public FixedPoser finalMenu;

	public RTSPoser rtsPoser;

	public RTSPoser buildPoser;

	public PlanetPoser planetPoser;

	public SailPoser sailPoser;

	public GraticulePoser blueprintPoser;

	public ThirdPersonPoser galaxySelectPoser;

	public static int sceneIndex;

	[Header("效果控制器")]
	public SphereCollisionPoser planetCollisionPoser;

	[Header("融合器")]
	public CameraPoseBlender finalBlender;

	public CameraPoseBlender gameBlender;

	[Header("全局参数")]
	public float generalYaw;

	public float generalPitch;

	public float generalDist;

	public bool sailOverride;

	public bool planetMode;

	public int overrideGameMode;

	public float rtsFocusLR;

	public float rtsFocusT;

	[OriginalAttributes(FieldAttributes.Private)]
	public LayerMaskPreset menuLayerMask;

	[OriginalAttributes(FieldAttributes.Private)]
	public LayerMaskPreset gameLayerMask;

	[OriginalAttributes(FieldAttributes.Private)]
	public LayerMaskPreset combatCutsceneLayerMask;

	[OriginalAttributes(FieldAttributes.Private)]
	public LayerMaskPreset galaxySelectLayerMask;

	public const int MENU_SCENE = 0;

	public const int GAME_SCENE = 1;

	public const int GALAXY_SELECT_SCENE = 2;

	public const int COMBAT_CUTSCENE = 3;

	public const int MILKY_WAY_SCENE = 4;

	public const int RTS_MODE = 0;

	public const int BUILD_MODE = 1;

	public const int PLANET_MODE = 2;

	public const int SAIL_MODE = 3;

	public const int BLUEPRINT_MODE = 4;

	public static float camRotSensX;

	public static float camRotSensY;

	public static float camZoomSens;

	public static Camera main
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public static GameCamera instance
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public List<CameraPoser> cameraPosers
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public static Transform generalTarget
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public bool isRtsMode
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public bool isBuildMode
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public bool isPlanetMode
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public bool isSailMode
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public bool isBlueprintMode
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public Vector3 animationOffset
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public Quaternion animationRotation
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Awake()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Start()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDestroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void FrameLogic()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void AddCameraPoser(CameraPoser poser)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RemoveCameraPoser(CameraPoser poser)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void CaptureSaveScreenShot()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void CaptureScreenShot(int width, int height)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void CaptureScreenShot(int width, int height, string filename)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ResetAll3rdPersonCameraPoses()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetReady()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Logic()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SyncForSailMode()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public GameCamera()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	static GameCamera()
	{
		throw null;
	}
}
public class MainCamera : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public Camera _camera;

	public static event Action<Camera> onPostRender
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		add
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		remove
		{
			throw null;
		}
	}

	public static event Action<Camera> onPostRenderLate
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		add
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		remove
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Awake()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnPostRender()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public MainCamera()
	{
		throw null;
	}
}
public class MilkyWayCamera : MonoBehaviour
{
	public Camera cam;

	public float rangeRadius;

	public bool isMoving;

	public bool isRenderStar;

	public bool isRenderNebula;

	public static VectorLF3 initDir;

	public MilkyWayData milkyWayData;

	[OriginalAttributes(FieldAttributes.Private)]
	public VectorLF3 camPos;

	[OriginalAttributes(FieldAttributes.Private)]
	public VectorLF3 focusPos;

	[OriginalAttributes(FieldAttributes.Private)]
	public VectorLF3 focusPosWanted;

	[OriginalAttributes(FieldAttributes.Private)]
	public float mousePanSen;

	[OriginalAttributes(FieldAttributes.Private)]
	public float defaultPanSpeed;

	[OriginalAttributes(FieldAttributes.Private)]
	public float defaultMousePanSpeed;

	[OriginalAttributes(FieldAttributes.Private)]
	public float maxPanSpeedMultiplier;

	[OriginalAttributes(FieldAttributes.Private)]
	public float maxMousePanSpeedMultiplier;

	[OriginalAttributes(FieldAttributes.Private)]
	public float realMousePanSpeed;

	[OriginalAttributes(FieldAttributes.Private)]
	public float panDamping;

	[OriginalAttributes(FieldAttributes.Private)]
	public Quaternion camRot;

	[OriginalAttributes(FieldAttributes.Private)]
	public float pitch;

	[OriginalAttributes(FieldAttributes.Private)]
	public float yaw;

	[OriginalAttributes(FieldAttributes.Private)]
	public float pitchWanted;

	[OriginalAttributes(FieldAttributes.Private)]
	public float yawWanted;

	[OriginalAttributes(FieldAttributes.Private)]
	public float pitchSen;

	[OriginalAttributes(FieldAttributes.Private)]
	public float yawSen;

	[OriginalAttributes(FieldAttributes.Private)]
	public float pitchMax;

	[OriginalAttributes(FieldAttributes.Private)]
	public float pitchMin;

	[OriginalAttributes(FieldAttributes.Private)]
	public float rotDamping;

	[OriginalAttributes(FieldAttributes.Private)]
	public float cruiseAngularVelocity;

	[OriginalAttributes(FieldAttributes.Private)]
	public float cruiseDamping;

	[OriginalAttributes(FieldAttributes.Private)]
	public float realRotDamping;

	[OriginalAttributes(FieldAttributes.Private)]
	public double distWanted;

	[OriginalAttributes(FieldAttributes.Private)]
	public double distMin;

	[OriginalAttributes(FieldAttributes.Private)]
	public float distMax;

	[OriginalAttributes(FieldAttributes.Private)]
	public double dist;

	[OriginalAttributes(FieldAttributes.Private)]
	public float distDamping;

	public bool allowInput;

	public bool keepPosition;

	public bool isCruising;

	public bool isNearTarget;

	[OriginalAttributes(FieldAttributes.Private)]
	public float pressDelay;

	public float angleXZ;

	public float angleToFocus;

	public float sqrRangeRadius
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static MilkyWayCamera instance
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public static event Action onPostRender
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		add
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		remove
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEnable()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDisable()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Init(MilkyWayData data)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void _Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void _LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void CameraControl()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void MoveCircularly()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public float ClampAngle(float angle, float min, float max)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RefreshCameraFarClip()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RefreshCameraPose()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void LookAt(Vector3 pos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void LookToCenter(bool force)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public bool IsNearTarget()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void ForceToLookAt()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public bool IsLookingAtCenter()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetViewTarget(Vector3 pos)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnPostRender()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public MilkyWayCamera()
	{
		throw null;
	}
}
public class CameraPoseBlender : CameraPoser
{
	public CameraPoser[] srcPosers;

	[Tooltip("若设置此项,位置/旋转融合将以该位置为环绕中心进行")]
	public Transform blendCenter;

	public int index;

	public float blendTime;

	public AnimationCurve blendCurve;

	public float[] weights;

	[OriginalAttributes(FieldAttributes.Private)]
	public float[] times;

	public int immediateBlendFrames;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public CameraPoseBlender()
	{
		throw null;
	}
}
public class FixedPoser : CameraPoser
{
	public CameraPoser fix;

	public bool overrideParams;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public FixedPoser()
	{
		throw null;
	}
}
public class GraticulePoser : CameraPoser
{
	[Range(-4f, 4f)]
	public float mouseRotateXSens;

	[Range(-4f, 4f)]
	public float mouseRotateYSens;

	[Range(0.005f, 1f)]
	public float damp;

	public float planetRadius;

	public float normalFov;

	[NonSerialized]
	public float weight;

	public float longitude;

	public float latitude;

	public float altitude;

	[NonSerialized]
	public float longitudeWanted;

	[NonSerialized]
	public float latitudeWanted;

	[NonSerialized]
	public float altitudeWanted;

	public AnimationCurve pitchByAltCurve;

	public bool lockCursor;

	public float altitudeMin
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public float altitudeMax
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ResetVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SyncByTarget(Vector3 tar, Vector3 fwd)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetDefault()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ToWanted()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public GraticulePoser()
	{
		throw null;
	}
}
public class OffsetPoser : CameraPoser
{
	public Vector3 position;

	public Vector3 eulerAngles;

	public float xOffset
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public float yOffset
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public float zOffset
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public float yaw
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public float pitch
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public float roll
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public OffsetPoser()
	{
		throw null;
	}
}
public class PlanetPoser : CameraPoser
{
	public CameraPoser target;

	[Range(-4f, 4f)]
	public float mouseRotateXSens;

	[Range(-4f, 4f)]
	public float mouseRotateYSens;

	[Range(0.005f, 1f)]
	public float damp;

	public float planetRadius;

	public bool maxDistanceReached;

	public bool inNearView;

	public float normalFov;

	[NonSerialized]
	public Quaternion rotationBegin;

	[NonSerialized]
	public float weight;

	[NonSerialized]
	public float alt;

	[NonSerialized]
	public float dist;

	[NonSerialized]
	public float distWanted;

	[NonSerialized]
	public Quaternion rotation;

	[NonSerialized]
	public Quaternion rotationWanted;

	public AnimationCurve altDistCurve;

	public AnimationCurve pitchAltCurve;

	public bool useGlobal;

	public bool lockCursor;

	public float distMin
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public float distMax
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public float distBegin
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public float altMax
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ResetVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ToWanted()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public PlanetPoser()
	{
		throw null;
	}
}
public class RTSPoser : CameraPoser
{
	public CameraPoser target;

	[Range(-4f, 4f)]
	public float mouseRotateXSens;

	[Range(-4f, 4f)]
	public float mouseRotateYSens;

	[Range(0.005f, 1f)]
	public float damp;

	public float distMin;

	public float distMax;

	public float normalFov;

	public AnimationCurve pitchMinCurve;

	public AnimationCurve pitchMaxCurve;

	public AnimationCurve fovPitchCurve;

	[Range(-180f, 180f)]
	public float yawBegin;

	[Range(0f, 1f)]
	public float pitchCoefBegin;

	[Range(0f, 1f)]
	public float distCoefBegin;

	[NonSerialized]
	public float weight;

	[NonSerialized]
	public float yaw;

	[NonSerialized]
	public float pitch;

	[NonSerialized]
	public float dist;

	[NonSerialized]
	public float yawWanted;

	public float pitchCoef;

	public float distCoef;

	public float pitchCoefWanted;

	public float distCoefWanted;

	public bool useGlobal;

	public bool lockCursor;

	public bool disableDist;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ResetVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Sync()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ToWanted()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public RTSPoser()
	{
		throw null;
	}
}
public class SailPoser : CameraPoser
{
	[Range(-4f, 4f)]
	public float mouseRotateXSens;

	[Range(-4f, 4f)]
	public float mouseRotateYSens;

	[Range(0.1f, 100f)]
	public float damp;

	public float distCoef;

	public float distCoefWanted;

	public float distCoefBegin;

	public AnimationCurve distCurve;

	public AnimationCurve warpDistCurve;

	public AnimationCurve warpInFovCurve;

	public AnimationCurve warpOutFovCurve;

	public Transform targetAnimationTrans;

	[NonSerialized]
	public Player player;

	[NonSerialized]
	public PlanetData localPlanet;

	[NonSerialized]
	public VectorLF3 relPos;

	[NonSerialized]
	public Quaternion relRot;

	[NonSerialized]
	public VectorLF3 targetUPos;

	[NonSerialized]
	public Quaternion targetURot;

	[NonSerialized]
	public Quaternion targetURotWanted;

	[NonSerialized]
	public float weight;

	public bool disableRot;

	public bool disableDist;

	public bool disableFov;

	public bool disablePose;

	public float warpedInOut;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ResetVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Sync()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ToWanted()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public SailPoser()
	{
		throw null;
	}
}
public class ShakeFXPoser : CameraPoser
{
	public CameraPoser prevPoser;

	[SerializeField]
	[Tooltip("相机在三个轴向进行平移的最大位置; 默认使用旋转方式达到抖动效果; 此参数无效")]
	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 maximumTranslationShake;

	[SerializeField]
	[Tooltip("相机在三个方向进行旋转的最大角度; 默认使用旋转方式达到抖动效果; 此参数有效")]
	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 maximumAngularShake;

	[SerializeField]
	[Tooltip("相机抖动频率")]
	[OriginalAttributes(FieldAttributes.Private)]
	public float frequency;

	[SerializeField]
	[Tooltip("相机由抖动状态恢复至平稳状态的速度")]
	[OriginalAttributes(FieldAttributes.Private)]
	public float recoverySpeed;

	[SerializeField]
	[Tooltip("相机抖动强度")]
	[OriginalAttributes(FieldAttributes.Private)]
	public float traumaExponent;

	[OriginalAttributes(FieldAttributes.Private)]
	public float seed;

	[OriginalAttributes(FieldAttributes.Private)]
	public float trauma;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void InduceStress(float stress)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetTraumaDirect(float _trauma)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void ShakeTransform()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void ShakeRotate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public ShakeFXPoser()
	{
		throw null;
	}
}
public class SmoothFollowPoser : CameraPoser
{
	public Transform follow;

	public bool followPosition;

	public bool followRotation;

	public float smoothTime;

	public float overshot;

	public float rotationDamping;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 smooth_vel;

	[OriginalAttributes(FieldAttributes.Private)]
	public Vector3 last_tar_diff;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public SmoothFollowPoser()
	{
		throw null;
	}
}
public class SphereCollisionPoser : CameraPoser
{
	public CameraPoser prevPoser;

	public float clampRadius;

	public float softDistance;

	[Header("结果调试")]
	public float oldR;

	public float newR;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public SphereCollisionPoser()
	{
		throw null;
	}
}
public class ThirdPersonPoser : CameraPoser
{
	public CameraPoser target;

	[Range(-4f, 4f)]
	public float mouseRotateXSens;

	[Range(-4f, 4f)]
	public float mouseRotateYSens;

	[Range(-4f, 4f)]
	public float joystickRotateXSens;

	[Range(-4f, 4f)]
	public float joystickRotateYSens;

	[Range(0.005f, 1f)]
	public float damp;

	public float pitchMin;

	public float pitchMax;

	public float distMin;

	public float distMax;

	public AnimationCurve pitchDistCurve;

	[Range(-180f, 180f)]
	public float yawBegin;

	[Range(-89.9f, 89.9f)]
	public float pitchBegin;

	[NonSerialized]
	public float weight;

	[NonSerialized]
	public float yaw;

	[NonSerialized]
	public float pitch;

	[NonSerialized]
	public float dist;

	[NonSerialized]
	public float yawWanted;

	[NonSerialized]
	public float pitchWanted;

	public bool useGlobal;

	public bool lockCursor;

	public float distRatio;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void ResetVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Init()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void EvaluateDist()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override void Calculate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public ThirdPersonPoser()
	{
		throw null;
	}
}
public class PostEffectController : MonoBehaviour
{
	public PostProcessingBehaviour postScript;

	public PostProcessingProfile postProfile;

	public GameCamera cameraController;

	public PostProcessingProfile menuProfile;

	public PostProcessingProfile menu1Profile;

	public PostProcessingProfile menu2Profile;

	public PostProcessingProfile menu3Profile;

	public PostProcessingProfile galaxyProfile;

	public Bloom uiBloom;

	[OriginalAttributes(FieldAttributes.Private)]
	public PostProcessingProfile inst;

	public SunShafts sunShaft;

	public static float dofBlurStrength;

	public static bool ssaoOn;

	public static bool aaOn;

	public static bool ditheringOn;

	public static bool headlight;

	public TranslucentImageSource translucentSource;

	public Color uiNormalTint;

	public Color uiTechTreeTint;

	public Color uiFullscreenTint;

	[OriginalAttributes(FieldAttributes.Private)]
	public float focusDistance;

	[OriginalAttributes(FieldAttributes.Private)]
	public float aperture;

	[OriginalAttributes(FieldAttributes.Private)]
	public float focalLength;

	[OriginalAttributes(FieldAttributes.Private)]
	public float maxShadowDistance;

	[OriginalAttributes(FieldAttributes.Private)]
	public double lastPtdist;

	[OriginalAttributes(FieldAttributes.Private)]
	public float lastDiff;

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Start()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDestroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public PostEffectController()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	static PostEffectController()
	{
		throw null;
	}
}
public class StarmapCamera : MonoBehaviour
{
	public UIStarmap uiStarmap;

	public Camera tarCam;

	public Camera main;

	public Transform gridTrans;

	public double dist;

	public double distWanted;

	public float fovWantedSet;

	public float fov;

	public float fovWanted;

	public float mouseRotateXSens;

	public float mouseRotateYSens;

	public float mouseRotateZSens;

	public Transform bgStarNear;

	public Transform bgStarFar;

	public float dampRatio;

	[OriginalAttributes(FieldAttributes.Private)]
	public float rollAngleWanted;

	[OriginalAttributes(FieldAttributes.Private)]
	public UIGridSplit tmp_grid_split;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SyncToStarmap()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SyncBackToMain()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetViewTarget(PlanetData planet, StarData star, Player player, VectorLF3 lpos, Quaternion lrot, double minDist, double maxDist, bool lockRot, bool immediate)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetViewTarget(PlanetData planet, StarData star, Player player, VectorLF3 lpos, double minDist, double maxDist, bool lockRot, bool immediate)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetRotationLock(bool lockRot)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void DisablePositionLock()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetNorth()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void DoLockNorthOnce()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEnable()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnPostRender()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void CameraControl()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void RefreshCameraPose()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public StarmapCamera()
	{
		throw null;
	}
}
public static class Assert
{
	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void True(bool expression)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void True(bool expression, string message)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Positive(int number)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Positive(int number, string message)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Zero(int number)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Zero(int number, string message)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void False(bool expression)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void False(bool expression, string message)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Null(object obj)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Null(object obj, string message)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void NotNull(object obj)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void NotNull(object obj, string message)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void CannotBeReached()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void CannotBeReached(string message)
	{
		throw null;
	}
}
public abstract class BinaryData
{
	[MethodImpl(MethodImplOptions.NoInlining)]
	public abstract void Import(BinaryReader r);

	[MethodImpl(MethodImplOptions.NoInlining)]
	public abstract void Export(BinaryWriter w);

	[MethodImpl(MethodImplOptions.NoInlining)]
	public byte[] ToByte()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void FromByte(byte[] buffer)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void CopyTo(BinaryData dst)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public BinaryData()
	{
		throw null;
	}
}
public enum HResult
{
	OK = 0,
	Failure = 1,
	NotExist = 2,
	Corrupt = 3,
	AccessDenied = 4,
	Null = 5,
	OutOfIndex = 6,
	FakeData = 7,
	InvalidParam = 8,
	AlreadyExist = 9,
	Full = 10,
	Waiting = 11,
	Busy = 12,
	UnknownFailure = 255
}
public static class LayerOperation
{
	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void SetLayer(this GameObject obj, int layer, bool recursive = false)
	{
		throw null;
	}
}
public enum Layer
{
	Default = 0,
	TransparentFX = 1,
	IgnoreRaycast = 2,
	Water = 4,
	UI = 5,
	Player = 8,
	Terrain = 9,
	Vegetable = 10,
	Vein = 11,
	Entity = 12,
	Platform = 13,
	BuildGrid = 14,
	Prebuild = 15,
	DysonSphere = 16,
	BuildingCollider = 17,
	BuildPreview = 18,
	Spacecraft = 19,
	Starmap = 20,
	DysonSphereMap = 21,
	UI3D = 22,
	GalaxySelect = 23,
	Universe = 24,
	MilkyWay = 25,
	MechaEditor = 26,
	Audio = 27,
	Special = 28,
	AtmosphereBlur = 29,
	PlanetLoading = 30,
	PlanetLoading2 = 31
}
[Flags]
public enum LayerMaskPreset
{
	Any = -1,
	None = 0,
	Default = 1,
	TransparentFX = 2,
	IgnoreRaycast = 4,
	Water = 0x10,
	UI = 0x20,
	Player = 0x100,
	Terrain = 0x200,
	Vegetable = 0x400,
	Vein = 0x800,
	Entity = 0x1000,
	Platform = 0x2000,
	BuildGrid = 0x4000,
	Prebuild = 0x8000,
	DysonSphere = 0x10000,
	BuildingCollider = 0x20000,
	BuildPreview = 0x40000,
	Spacecraft = 0x80000,
	Starmap = 0x100000,
	DysonSphereMap = 0x200000,
	UI3D = 0x400000,
	GalaxySelect = 0x800000,
	Universe = 0x1000000,
	MilkyWay = 0x2000000,
	MechaEditor = 0x4000000,
	Audio = 0x8000000,
	Special = 0x10000000,
	AtmosphereBlur = 0x20000000,
	PlanetLoading = 0x40000000,
	PlanetLoading2 = int.MinValue,
	Visible = 0x4BF11,
	Walkable = 0x3E01,
	PlanetSurface = 0x2210,
	BuildCastAlt0 = 0x2210,
	BuildCastAlt1 = 0x6000,
	SolidSurface = 0x2200,
	TerrainWater = 0x210,
	BuildingTriggers = 0x60000,
	BuildingConflicts = 0x60800,
	MinerConflicts = 0x60000,
	MechaEditorAndGizmos = 0x14000000,
	PlantConflicts = 0x61800
}
public static class ValueCompare
{
	public enum ECompare
	{
		Greater = 1,
		GreaterEqual,
		Equal,
		NotEqual,
		LessEqual,
		Less
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(bool lhs, bool rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(int lhs, int rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(float lhs, int rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(int lhs, float rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(float lhs, float rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(double lhs, float rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(float lhs, double rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(double lhs, double rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(int lhs, double rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(double lhs, int rhs, ECompare comp)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Compare(string lhs, string rhs, ECompare comp)
	{
		throw null;
	}
}
public interface IPoolElement
{
	int ID { get; set; }

	void Reset();

	void Export(BinaryWriter w);

	void Import(BinaryReader r);
}
public class DataPool<T> where T : struct, IPoolElement
{
	public T[] buffer;

	public int cursor;

	public int capacity;

	public int[] recycleIds;

	public int recycleCursor;

	public int count
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Reset()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetCapacity(int newCap)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public ref T Add()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Remove(int id)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Flush()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Export(BinaryWriter w)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Import(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public DataPool()
	{
		throw null;
	}
}
public class ObjectPool<T> where T : class, IPoolElement, new()
{
	public T[] buffer;

	public int cursor;

	public int capacity;

	public int[] recycleIds;

	public int recycleCursor;

	public int count
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public T this[int index]
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Reset()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Free()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetCapacity(int newCap)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public T Add()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Remove(int id)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void SetNull(int id)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Flush()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Export(BinaryWriter w)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public void Import(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public ObjectPool()
	{
		throw null;
	}
}
public class GlobalEvent : MonoBehaviour
{
	public static Action onScreenResolutionChange;

	[OriginalAttributes(FieldAttributes.Private)]
	public int _last_screen_width;

	[OriginalAttributes(FieldAttributes.Private)]
	public int _last_screen_height;

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Start()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void InitScreenResolutionVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void UpdateScreenResolutionVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public GlobalEvent()
	{
		throw null;
	}
}
public class GlobalObject : MonoBehaviour
{
	[OriginalAttributes(FieldAttributes.Private)]
	public static GlobalObject inst;

	public static double timeSinceStart;

	public static int opCounter;

	[OriginalAttributes(FieldAttributes.Private)]
	public static ComputeBuffer shaderInt32ArgBuffer;

	public static int[] shaderInt32ArgArray;

	public ulong debugTextureMemory;

	public static List<Version> versionList;

	public static AssetList[] preloadLists
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)]
	[OriginalAttributes(MethodAttributes.Private)]
	public static void Initialize()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Update()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void FixedUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void LateUpdate()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void UpdateTime()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void UpdateShaderGlobalBuffer()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDestroy()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnApplicationQuit()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnApplicationFocus(bool focus)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void SetShaderGlobalVars()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void SaveLastLanguage()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void SaveOpCounter()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void LoadVersions()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static int VersionCompare(Version lhs, Version rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public GlobalObject()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	static GlobalObject()
	{
		throw null;
	}
}
public enum VKey
{
	NULL = 0,
	LBUTTON = 1,
	RBUTTON = 2,
	CANCEL = 3,
	MBUTTON = 4,
	XBUTTON1 = 5,
	XBUTTON2 = 6,
	BACK = 8,
	TAB = 9,
	RETURN = 13,
	SHIFT = 16,
	CONTROL = 17,
	MENU = 18,
	PAUSE = 19,
	CAPITAL = 20,
	ESCAPE = 27,
	SPACE = 32,
	PRIOR = 33,
	NEXT = 34,
	END = 35,
	HOME = 36,
	LEFT = 37,
	UP = 38,
	RIGHT = 39,
	DOWN = 40,
	SNAPSHOT = 44,
	Insert = 45,
	Delete = 46,
	ALPHA0 = 48,
	ALPHA1 = 49,
	ALPHA2 = 50,
	ALPHA3 = 51,
	ALPHA4 = 52,
	ALPHA5 = 53,
	ALPHA6 = 54,
	ALPHA7 = 55,
	ALPHA8 = 56,
	ALPHA9 = 57,
	A = 65,
	B = 66,
	C = 67,
	D = 68,
	E = 69,
	F = 70,
	G = 71,
	H = 72,
	I = 73,
	J = 74,
	K = 75,
	L = 76,
	M = 77,
	N = 78,
	O = 79,
	P = 80,
	Q = 81,
	R = 82,
	S = 83,
	T = 84,
	U = 85,
	V = 86,
	W = 87,
	X = 88,
	Y = 89,
	Z = 90,
	LWIN = 91,
	RWIN = 92,
	APPS = 93,
	NUMPAD0 = 96,
	NUMPAD1 = 97,
	NUMPAD2 = 98,
	NUMPAD3 = 99,
	NUMPAD4 = 100,
	NUMPAD5 = 101,
	NUMPAD6 = 102,
	NUMPAD7 = 103,
	NUMPAD8 = 104,
	NUMPAD9 = 105,
	F1 = 112,
	F2 = 113,
	F3 = 114,
	F4 = 115,
	F5 = 116,
	F6 = 117,
	F7 = 118,
	F8 = 119,
	F9 = 120,
	F10 = 121,
	F11 = 122,
	F12 = 123,
	F13 = 124,
	F14 = 125,
	F15 = 126,
	F16 = 127,
	F17 = 128,
	F18 = 129,
	F19 = 130,
	F20 = 131,
	F21 = 132,
	F22 = 133,
	F23 = 134,
	F24 = 135,
	NUMLOCK = 144,
	SCROLL = 145,
	LSHIFT = 160,
	RSHIFT = 161,
	LCONTROL = 162,
	RCONTROL = 163,
	LMENU = 164,
	RMENU = 165
}
public static class WinInput
{
	[DllImport("user32.dll")]
	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public static extern int GetAsyncKeyState(int vKey);

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool GetKey(VKey vkey)
	{
		throw null;
	}
}
public static class IOHelper
{
	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ExportColor(BinaryWriter w, Color data)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ExportColor32(BinaryWriter w, Color32 data)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ExportVector2(BinaryWriter w, Vector2 data)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ExportVector3(BinaryWriter w, Vector3 data)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void ExportVector4(BinaryWriter w, Vector4 data)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void WriteFlexibleInt(this BinaryWriter w, int num)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void WriteFlexibleUInt(this BinaryWriter w, uint num)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static Color ImportColor(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static Color32 ImportColor32(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static Vector2 ImportVector2(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static Vector3 ImportVector3(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static Vector4 ImportVector4(BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static int ReadFlexibleInt(this BinaryReader r)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static uint ReadFlexibleUInt(this BinaryReader r)
	{
		throw null;
	}
}
public static class StringIO
{
	[MethodImpl(MethodImplOptions.NoInlining)]
	public static string LoadFromFile(string filename, Encoding encoding)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void SaveToFile(string filename, string content, Encoding encoding)
	{
		throw null;
	}
}
public static class Localization
{
	public class Language
	{
		public int lcId;

		public string name;

		public string abbr;

		public string abbr2;

		public int fallback;

		public EGlyph glyph;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public Language()
		{
			throw null;
		}
	}

	public enum EGlyph
	{
		Latin = 0,
		CJK = 1,
		Other = 99
	}

	[OriginalAttributes(FieldAttributes.Private)]
	public static int currentLanguageIndex;

	[OriginalAttributes(FieldAttributes.Private)]
	public static int preSelectLanguageLCID;

	[OriginalAttributes(FieldAttributes.Private)]
	public static Dictionary<string, int> namesIndexer;

	[OriginalAttributes(FieldAttributes.Private)]
	public static string[][] strings;

	[OriginalAttributes(FieldAttributes.Private)]
	public static float[][] floats;

	[OriginalAttributes(FieldAttributes.Private)]
	public static string[] currentStrings;

	[OriginalAttributes(FieldAttributes.Private)]
	public static float[] currentFloats;

	public const int LCID_ZHCN = 2052;

	public const int LCID_ENUS = 1033;

	public const int LCID_FRFR = 1036;

	[OriginalAttributes(FieldAttributes.Private)]
	public static readonly string DefaultLoadingPath;

	[OriginalAttributes(FieldAttributes.Private)]
	public static string[] resourcePages;

	public static bool Loaded
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static Language[] Languages
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public static int LanguageCount
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static int CurrentLanguageIndex
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public static Language CurrentLanguage
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static int CurrentLanguageLCID
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		set
		{
			throw null;
		}
	}

	public static int NamesCount
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static bool isZHCN
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static bool isENUS
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static bool isFRFR
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static bool isCJK
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static bool isKMG
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static string ResourcesPath
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		get
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		[OriginalAttributes(MethodAttributes.Private)]
		set
		{
			throw null;
		}
	}

	public static event Action OnLanguageChange
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		add
		{
			throw null;
		}
		[MethodImpl(MethodImplOptions.NoInlining)]
		[CompilerGenerated]
		remove
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void NotifyLanguageChange()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static string Translate(this string s)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool CanTranslate(string s)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static float TranslateParam(this string s, float default_value)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static float? TranslateParam(this string s)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Load()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool Load(string path)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public static bool LoadSettings()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool LoadLanguage(int index)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool LanguageLoaded(int index)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void Unload()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static void UnloadLanguage(int index)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static StringBuilder UnescapeString(StringBuilder sb, StringBuilder ret)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	static Localization()
	{
		throw null;
	}
}
[ExecuteInEditMode]
[DisallowMultipleComponent]
public class Localizer : MonoBehaviour
{
	public string stringKey;

	public string translation;

	[OriginalAttributes(FieldAttributes.Private)]
	public RectTransform rectTrans;

	[OriginalAttributes(FieldAttributes.Private)]
	public Text text;

	[OriginalAttributes(FieldAttributes.Private)]
	public Image image;

	[OriginalAttributes(FieldAttributes.Private)]
	public RawImage rawImage;

	[OriginalAttributes(FieldAttributes.Private)]
	public AudioSource audioSource;

	public string xParamKey;

	public string yParamKey;

	public string wParamKey;

	public string hParamKey;

	public bool wAutoFit;

	public bool hAutoFit;

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnEnable()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnDisable()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void Refresh()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public void OnLanguageChange()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public Localizer()
	{
		throw null;
	}
}
[OriginalAttributes(TypeAttributes.NotPublic)]
public sealed class DotNet35Locale
{
	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Private)]
	public DotNet35Locale()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static string GetText(string msg)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static string GetText(string fmt, params object[] args)
	{
		throw null;
	}
}
[Serializable]
[ComVisible(true)]
public class DotNet35Random
{
	[OriginalAttributes(FieldAttributes.Private)]
	public const int MBIG = int.MaxValue;

	[OriginalAttributes(FieldAttributes.Private)]
	public const int MSEED = 161803398;

	[OriginalAttributes(FieldAttributes.Private)]
	public const int MZ = 0;

	[OriginalAttributes(FieldAttributes.Private)]
	public int inext;

	[OriginalAttributes(FieldAttributes.Private)]
	public int inextp;

	[OriginalAttributes(FieldAttributes.Private)]
	public int[] SeedArray;

	[MethodImpl(MethodImplOptions.NoInlining)]
	public DotNet35Random()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public DotNet35Random(int Seed)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	[OriginalAttributes(MethodAttributes.Family)]
	public virtual double Sample()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public virtual int Next()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public virtual int Next(int maxValue)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public virtual int Next(int minValue, int maxValue)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public virtual void NextBytes(byte[] buffer)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public virtual double NextDouble()
	{
		throw null;
	}
}
[Serializable]
public struct VectorLF2
{
	public double x;

	public double y;

	public static VectorLF2 zero
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF2 one
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF2 minusone
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF2 unit_x
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF2 unit_y
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public double sqrMagnitude
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public double magnitude
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF2 normalized
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public VectorLF2(VectorLF2 vec)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public VectorLF2(double x_, double y_)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public VectorLF2(float x_, float y_)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool operator ==(VectorLF2 lhs, VectorLF2 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool operator !=(VectorLF2 lhs, VectorLF2 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF2 operator *(VectorLF2 lhs, VectorLF2 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF2 operator *(VectorLF2 lhs, double rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF2 operator /(VectorLF2 lhs, double rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF2 operator -(VectorLF2 vec)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF2 operator -(VectorLF2 lhs, VectorLF2 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF2 operator +(VectorLF2 lhs, VectorLF2 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static implicit operator VectorLF2(Vector2 vec2)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static implicit operator Vector2(VectorLF2 vec2)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public double Distance(VectorLF2 vec)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override bool Equals(object obj)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override int GetHashCode()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override string ToString()
	{
		throw null;
	}
}
[Serializable]
public struct VectorLF3
{
	public double x;

	public double y;

	public double z;

	public static VectorLF3 zero
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF3 one
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF3 minusone
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF3 unit_x
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF3 unit_y
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public static VectorLF3 unit_z
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF2 xy
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF2 yx
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF2 zx
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF2 xz
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF2 yz
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF2 zy
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public double sqrMagnitude
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public double magnitude
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	public VectorLF3 normalized
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		get
		{
			throw null;
		}
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public VectorLF3(VectorLF3 vec)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public VectorLF3(double x_, double y_, double z_)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public VectorLF3(float x_, float y_, float z_)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool operator ==(VectorLF3 lhs, VectorLF3 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static bool operator !=(VectorLF3 lhs, VectorLF3 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF3 operator *(VectorLF3 lhs, VectorLF3 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF3 operator *(VectorLF3 lhs, double rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF3 operator /(VectorLF3 lhs, double rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF3 operator -(VectorLF3 vec)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF3 operator -(VectorLF3 lhs, VectorLF3 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF3 operator +(VectorLF3 lhs, VectorLF3 rhs)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static implicit operator VectorLF3(Vector3 vec3)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static implicit operator Vector3(VectorLF3 vec3)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public double Distance(VectorLF3 vec)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override bool Equals(object obj)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override int GetHashCode()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public override string ToString()
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static double Dot(VectorLF3 a, VectorLF3 b)
	{
		throw null;
	}

	[MethodImpl(MethodImplOptions.NoInlining)]
	public static VectorLF3 Cross(VectorLF3 a, Vecto

Bulldozer.dll

Decompiled 11 months ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Bulldozer.Properties;
using Bulldozer.SelectiveDecoration;
using HarmonyLib;
using PowerNetworkStructures;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
namespace Bulldozer
{
	public class BulldozeIcon
	{
		private static byte[] pngBytes = new byte[19377]
		{
			137, 80, 78, 71, 13, 10, 26, 10, 0, 0,
			0, 13, 73, 72, 68, 82, 0, 0, 2, 0,
			0, 0, 2, 0, 8, 6, 0, 0, 0, 244,
			120, 212, 250, 0, 0, 0, 4, 115, 66, 73,
			84, 8, 8, 8, 8, 124, 8, 100, 136, 0,
			0, 0, 9, 112, 72, 89, 115, 0, 0, 13,
			215, 0, 0, 13, 215, 1, 66, 40, 155, 120,
			0, 0, 0, 25, 116, 69, 88, 116, 83, 111,
			102, 116, 119, 97, 114, 101, 0, 119, 119, 119,
			46, 105, 110, 107, 115, 99, 97, 112, 101, 46,
			111, 114, 103, 155, 238, 60, 26, 0, 0, 32,
			0, 73, 68, 65, 84, 120, 156, 236, 221, 121,
			220, 173, 213, 220, 199, 241, 207, 247, 116, 154,
			211, 28, 149, 74, 137, 82, 146, 70, 105, 82,
			137, 122, 240, 80, 66, 33, 165, 34, 67, 74,
			25, 162, 40, 205, 66, 148, 16, 30, 34, 149,
			68, 105, 146, 50, 115, 154, 52, 104, 164, 80,
			74, 138, 230, 57, 81, 29, 213, 239, 249, 99,
			93, 39, 183, 227, 12, 247, 189, 215, 186, 166,
			189, 191, 239, 215, 107, 191, 120, 60, 231, 90,
			235, 183, 239, 123, 223, 251, 250, 93, 107, 253,
			214, 90, 138, 8, 204, 204, 204, 108, 180, 76,
			106, 59, 0, 51, 51, 51, 107, 158, 19, 0,
			51, 51, 179, 17, 228, 4, 192, 204, 204, 108,
			4, 57, 1, 48, 51, 51, 27, 65, 78, 0,
			204, 204, 204, 70, 144, 19, 0, 51, 51, 179,
			17, 228, 4, 192, 204, 204, 108, 4, 57, 1,
			48, 51, 51, 27, 65, 78, 0, 204, 204, 204,
			70, 144, 19, 0, 51, 51, 179, 17, 228, 4,
			192, 204, 204, 108, 4, 57, 1, 48, 51, 51,
			27, 65, 78, 0, 204, 204, 204, 70, 144, 19,
			0, 51, 51, 179, 17, 228, 4, 192, 204, 204,
			108, 4, 57, 1, 48, 51, 51, 27, 65, 78,
			0, 204, 204, 204, 70, 144, 19, 0, 51, 51,
			179, 17, 228, 4, 192, 204, 204, 108, 4, 57,
			1, 48, 51, 51, 27, 65, 78, 0, 204, 204,
			204, 70, 144, 19, 0, 51, 51, 179, 17, 228,
			4, 192, 204, 204, 108, 4, 57, 1, 48, 51,
			51, 27, 65, 78, 0, 204, 204, 204, 70, 144,
			19, 0, 51, 51, 179, 17, 228, 4, 192, 204,
			204, 108, 4, 57, 1, 48, 51, 51, 27, 65,
			78, 0, 204, 204, 204, 70, 144, 19, 0, 51,
			51, 179, 17, 228, 4, 192, 204, 204, 108, 4,
			57, 1, 48, 51, 51, 27, 65, 78, 0, 204,
			204, 204, 70, 144, 19, 0, 51, 51, 179, 17,
			228, 4, 192, 204, 204, 108, 4, 57, 1, 48,
			51, 51, 27, 65, 78, 0, 204, 204, 204, 70,
			144, 19, 0, 51, 51, 179, 17, 228, 4, 192,
			204, 204, 108, 4, 57, 1, 48, 51, 51, 27,
			65, 78, 0, 204, 204, 204, 70, 144, 19, 0,
			51, 51, 179, 17, 228, 4, 192, 204, 204, 108,
			4, 57, 1, 48, 51, 51, 27, 65, 78, 0,
			204, 204, 204, 70, 144, 19, 0, 51, 51, 179,
			17, 228, 4, 192, 204, 204, 108, 4, 57, 1,
			48, 51, 51, 27, 65, 78, 0, 204, 204, 204,
			70, 144, 19, 0, 51, 51, 179, 17, 228, 4,
			192, 204, 204, 108, 4, 57, 1, 48, 51, 51,
			27, 65, 78, 0, 204, 204, 204, 70, 144, 19,
			0, 51, 51, 179, 17, 228, 4, 192, 204, 204,
			108, 4, 57, 1, 48, 51, 51, 27, 65, 78,
			0, 204, 204, 204, 70, 144, 19, 0, 51, 51,
			179, 17, 228, 4, 192, 204, 204, 108, 4, 57,
			1, 48, 51, 51, 27, 65, 78, 0, 204, 204,
			204, 70, 144, 19, 0, 51, 51, 179, 17, 228,
			4, 192, 204, 204, 108, 4, 57, 1, 48, 51,
			51, 27, 65, 78, 0, 204, 204, 204, 70, 144,
			19, 0, 51, 51, 179, 17, 228, 4, 192, 204,
			204, 108, 4, 57, 1, 48, 51, 51, 27, 65,
			78, 0, 204, 204, 204, 70, 144, 19, 0, 51,
			51, 179, 17, 228, 4, 192, 204, 204, 108, 4,
			57, 1, 48, 51, 51, 27, 65, 78, 0, 204,
			204, 204, 70, 144, 19, 0, 51, 51, 179, 17,
			228, 4, 192, 204, 204, 108, 4, 57, 1, 48,
			51, 51, 27, 65, 78, 0, 204, 204, 204, 70,
			144, 19, 0, 51, 51, 179, 17, 228, 4, 192,
			204, 204, 108, 4, 57, 1, 48, 51, 51, 27,
			65, 78, 0, 204, 204, 204, 70, 144, 19, 0,
			51, 51, 179, 17, 228, 4, 192, 204, 204, 108,
			4, 77, 110, 59, 0, 27, 63, 73, 47, 4,
			94, 5, 60, 31, 88, 6, 120, 54, 48, 79,
			171, 65, 153, 213, 235, 110, 224, 242, 234, 117,
			86, 68, 252, 163, 229, 120, 204, 134, 134, 34,
			162, 237, 24, 108, 22, 36, 45, 4, 124, 24,
			216, 30, 88, 161, 229, 112, 204, 218, 116, 19,
			240, 246, 136, 184, 168, 237, 64, 204, 134, 129,
			19, 128, 142, 146, 52, 7, 176, 7, 176, 31,
			176, 88, 203, 225, 152, 117, 197, 83, 192, 30,
			17, 241, 229, 182, 3, 49, 235, 59, 39, 0,
			29, 36, 105, 97, 224, 20, 224, 149, 109, 199,
			98, 214, 65, 143, 3, 235, 68, 196, 181, 109,
			7, 98, 214, 103, 78, 0, 58, 70, 210, 10,
			192, 143, 128, 149, 219, 142, 197, 172, 195, 174,
			2, 214, 14, 127, 129, 153, 13, 204, 9, 64,
			135, 72, 90, 16, 184, 4, 88, 165, 237, 88,
			204, 122, 224, 5, 17, 113, 125, 219, 65, 152,
			245, 149, 151, 1, 118, 132, 164, 73, 192, 201,
			248, 230, 111, 54, 94, 235, 180, 29, 128, 89,
			159, 57, 1, 232, 142, 119, 3, 175, 110, 59,
			8, 179, 30, 89, 189, 237, 0, 204, 250, 204,
			251, 0, 116, 128, 164, 5, 128, 3, 219, 142,
			195, 172, 103, 254, 90, 71, 163, 146, 54, 7,
			214, 7, 214, 2, 22, 2, 174, 36, 237, 67,
			112, 118, 68, 252, 179, 142, 62, 205, 218, 224,
			4, 160, 27, 62, 8, 60, 179, 237, 32, 204,
			122, 230, 242, 146, 141, 73, 90, 6, 248, 26,
			105, 179, 173, 177, 94, 94, 253, 231, 77, 146,
			222, 17, 17, 231, 149, 236, 215, 172, 45, 46,
			2, 236, 0, 73, 127, 2, 158, 215, 118, 28,
			102, 61, 242, 48, 176, 100, 68, 60, 90, 162,
			49, 73, 27, 1, 231, 0, 11, 206, 230, 159,
			6, 240, 233, 136, 216, 183, 68, 191, 102, 109,
			114, 13, 64, 203, 170, 237, 125, 125, 243, 55,
			155, 152, 189, 10, 222, 252, 231, 3, 190, 197,
			236, 111, 254, 0, 2, 246, 145, 116, 84, 137,
			190, 205, 218, 228, 4, 160, 125, 46, 252, 51,
			155, 152, 31, 68, 196, 113, 5, 219, 59, 12,
			88, 113, 130, 215, 236, 229, 36, 192, 250, 206,
			9, 64, 251, 38, 250, 197, 99, 54, 170, 2,
			248, 2, 240, 230, 194, 237, 238, 56, 224, 117,
			78, 2, 172, 215, 92, 4, 216, 190, 165, 218,
			14, 192, 172, 227, 254, 74, 170, 196, 63, 58,
			34, 126, 85, 178, 97, 73, 203, 1, 139, 102,
			52, 177, 151, 36, 34, 226, 3, 165, 98, 50,
			107, 138, 19, 128, 246, 45, 153, 113, 237, 222,
			192, 15, 51, 251, 63, 1, 88, 119, 192, 107,
			223, 14, 92, 150, 217, 127, 223, 29, 8, 108,
			151, 113, 237, 247, 138, 69, 210, 142, 29, 129,
			65, 11, 226, 78, 0, 14, 159, 205, 191, 185,
			39, 34, 238, 27, 176, 253, 241, 88, 173, 64,
			27, 78, 2, 172, 151, 156, 0, 180, 111, 238,
			140, 107, 127, 30, 17, 127, 204, 233, 92, 82,
			206, 186, 230, 91, 115, 251, 239, 59, 73, 15,
			102, 92, 126, 87, 223, 127, 126, 146, 238, 206,
			184, 252, 129, 14, 188, 255, 219, 11, 181, 179,
			151, 164, 251, 34, 226, 208, 66, 237, 153, 213,
			206, 53, 0, 102, 54, 202, 126, 15, 252, 171,
			80, 91, 7, 75, 122, 125, 161, 182, 204, 106,
			231, 4, 192, 204, 70, 86, 68, 76, 5, 126,
			93, 168, 57, 1, 39, 74, 122, 110, 161, 246,
			204, 106, 229, 4, 192, 204, 70, 221, 238, 192,
			212, 66, 109, 205, 15, 28, 82, 168, 45, 179,
			90, 57, 1, 48, 179, 145, 22, 17, 215, 82,
			246, 166, 253, 22, 73, 107, 20, 108, 207, 172,
			22, 78, 0, 204, 204, 210, 106, 132, 147, 10,
			181, 37, 96, 207, 66, 109, 153, 213, 198, 9,
			128, 153, 141, 188, 136, 120, 146, 180, 172, 181,
			84, 18, 240, 26, 73, 254, 126, 181, 78, 243,
			7, 212, 204, 140, 226, 73, 192, 18, 164, 35,
			133, 205, 58, 203, 9, 128, 153, 89, 165, 112,
			18, 176, 102, 129, 54, 204, 106, 227, 4, 192,
			204, 108, 140, 130, 73, 192, 179, 10, 132, 99,
			86, 27, 39, 0, 102, 102, 211, 25, 147, 4,
			156, 158, 209, 76, 206, 54, 223, 102, 181, 115,
			2, 96, 102, 54, 3, 85, 18, 112, 106, 70,
			19, 11, 148, 138, 197, 172, 14, 78, 0, 204,
			204, 234, 161, 182, 3, 48, 155, 21, 39, 0,
			102, 102, 102, 35, 200, 9, 128, 153, 153, 217,
			8, 114, 2, 96, 102, 102, 54, 130, 38, 183,
			29, 128, 89, 73, 146, 230, 5, 94, 1, 172,
			3, 172, 13, 60, 12, 92, 14, 92, 26, 17,
			23, 181, 25, 155, 153, 89, 151, 56, 1, 176,
			161, 33, 105, 61, 224, 4, 96, 165, 233, 254,
			95, 111, 169, 254, 255, 63, 0, 222, 21, 17,
			119, 53, 29, 155, 153, 89, 215, 120, 10, 192,
			134, 130, 164, 247, 1, 23, 241, 223, 55, 255,
			177, 94, 7, 92, 43, 105, 237, 102, 162, 50,
			51, 235, 46, 39, 0, 214, 123, 213, 209, 171,
			71, 1, 115, 140, 227, 159, 47, 14, 156, 40,
			105, 238, 122, 163, 50, 51, 235, 54, 39, 0,
			214, 107, 146, 38, 147, 134, 253, 231, 156, 192,
			101, 171, 0, 7, 213, 19, 145, 153, 89, 63,
			56, 1, 176, 190, 123, 49, 240, 162, 1, 174,
			219, 190, 116, 32, 102, 102, 125, 226, 4, 192,
			250, 110, 221, 1, 175, 91, 70, 146, 247, 106,
			55, 179, 145, 229, 4, 192, 250, 110, 173, 150,
			174, 53, 51, 235, 53, 39, 0, 214, 119, 11,
			182, 116, 173, 153, 89, 175, 57, 1, 48, 51,
			51, 27, 65, 78, 0, 204, 204, 204, 70, 144,
			19, 0, 51, 51, 179, 17, 228, 4, 192, 204,
			204, 108, 4, 57, 1, 48, 51, 51, 27, 65,
			78, 0, 204, 204, 204, 70, 144, 19, 0, 51,
			51, 179, 17, 228, 4, 192, 204, 204, 108, 4,
			57, 1, 48, 51, 51, 27, 65, 78, 0, 204,
			204, 204, 70, 144, 19, 0, 51, 51, 179, 17,
			228, 4, 192, 204, 204, 108, 4, 57, 1, 48,
			51, 51, 27, 65, 78, 0, 204, 204, 204, 70,
			144, 19, 0, 51, 51, 179, 17, 52, 185, 237,
			0, 204, 204, 186, 64, 210, 36, 96, 67, 224,
			37, 192, 210, 213, 107, 149, 140, 38, 55, 145,
			116, 6, 112, 7, 112, 59, 112, 3, 240, 147,
			136, 120, 40, 55, 86, 179, 18, 156, 0, 152,
			217, 72, 147, 180, 26, 240, 1, 224, 181, 192,
			18, 5, 155, 94, 18, 216, 122, 186, 255, 237,
			95, 146, 126, 5, 124, 19, 56, 37, 34, 162,
			96, 127, 102, 19, 226, 41, 0, 51, 27, 73,
			146, 150, 145, 244, 77, 224, 26, 96, 23, 202,
			222, 252, 103, 102, 78, 96, 11, 224, 187, 192,
			101, 146, 54, 109, 160, 79, 179, 25, 114, 2,
			96, 102, 35, 71, 210, 43, 128, 223, 1, 59,
			211, 222, 247, 224, 58, 192, 175, 36, 29, 38,
			73, 45, 197, 96, 35, 204, 9, 128, 153, 141,
			20, 73, 239, 5, 126, 4, 44, 220, 118, 44,
			149, 143, 1, 103, 72, 154, 191, 237, 64, 108,
			180, 56, 1, 48, 179, 145, 33, 233, 109, 192,
			151, 233, 94, 253, 211, 86, 192, 73, 30, 9,
			176, 38, 57, 1, 48, 203, 243, 84, 198, 181,
			254, 178, 111, 144, 164, 245, 129, 99, 219, 142,
			99, 22, 182, 2, 14, 105, 59, 8, 27, 29,
			78, 0, 172, 239, 230, 204, 184, 182, 68, 5,
			246, 131, 25, 215, 46, 84, 160, 127, 27, 7,
			73, 243, 2, 223, 3, 230, 110, 59, 150, 217,
			248, 184, 164, 141, 218, 14, 194, 70, 67, 215,
			134, 193, 108, 98, 142, 146, 148, 187, 166, 120,
			181, 140, 107, 15, 149, 116, 111, 102, 255, 57,
			230, 0, 94, 157, 113, 253, 253, 5, 98, 184,
			39, 227, 218, 38, 170, 206, 45, 217, 19, 88,
			182, 237, 32, 198, 233, 8, 96, 253, 182, 131,
			176, 225, 231, 4, 160, 223, 54, 109, 185, 255,
			13, 91, 238, 63, 215, 237, 5, 218, 200, 73,
			0, 22, 47, 208, 191, 205, 134, 164, 69, 129,
			125, 218, 142, 99, 2, 94, 42, 233, 13, 17,
			113, 90, 219, 129, 216, 112, 243, 20, 128, 141,
			178, 59, 10, 180, 225, 17, 128, 238, 123, 61,
			253, 155, 110, 217, 169, 237, 0, 108, 248, 57,
			1, 176, 81, 117, 125, 68, 148, 152, 2, 184,
			59, 227, 90, 143, 0, 52, 99, 171, 182, 3,
			24, 192, 43, 188, 44, 208, 234, 230, 4, 160,
			69, 146, 118, 39, 111, 175, 113, 27, 220, 153,
			133, 218, 241, 8, 64, 135, 73, 154, 27, 120,
			69, 219, 113, 12, 96, 30, 96, 243, 182, 131,
			176, 225, 230, 26, 128, 22, 72, 90, 136, 180,
			28, 233, 141, 109, 199, 50, 194, 206, 40, 212,
			142, 19, 128, 110, 91, 22, 152, 183, 237, 32,
			6, 180, 82, 219, 1, 216, 112, 243, 8, 64,
			195, 36, 173, 13, 92, 137, 111, 254, 109, 154,
			18, 17, 151, 150, 104, 40, 34, 30, 7, 254,
			62, 224, 229, 243, 75, 90, 176, 68, 28, 54,
			83, 75, 183, 29, 64, 134, 62, 199, 110, 61,
			224, 17, 128, 6, 85, 67, 254, 159, 3, 230,
			106, 59, 150, 17, 22, 192, 222, 133, 219, 188,
			7, 120, 198, 128, 215, 110, 72, 218, 150, 214,
			234, 177, 84, 198, 181, 55, 145, 150, 15, 62,
			153, 209, 198, 246, 192, 219, 6, 188, 54, 39,
			118, 179, 217, 114, 2, 208, 128, 106, 200, 255,
			27, 192, 27, 218, 142, 197, 248, 102, 68, 92,
			94, 184, 205, 187, 129, 231, 14, 120, 237, 38,
			56, 1, 168, 83, 206, 240, 255, 133, 17, 113,
			78, 78, 231, 146, 230, 97, 240, 4, 160, 175,
			83, 23, 214, 19, 158, 2, 168, 217, 152, 33,
			127, 223, 252, 219, 119, 57, 176, 123, 13, 237,
			94, 147, 113, 237, 38, 197, 162, 48, 51, 155,
			0, 39, 0, 53, 146, 180, 7, 240, 107, 6,
			127, 58, 180, 114, 110, 3, 182, 142, 136, 199,
			106, 104, 251, 188, 140, 107, 215, 241, 114, 47,
			51, 107, 131, 19, 128, 26, 72, 90, 72, 210,
			247, 129, 47, 224, 249, 254, 46, 184, 28, 88,
			47, 34, 110, 171, 169, 253, 243, 51, 174, 157,
			76, 255, 119, 84, 52, 179, 30, 114, 2, 80,
			152, 164, 117, 240, 144, 127, 87, 4, 112, 28,
			240, 178, 26, 111, 254, 84, 109, 223, 148, 209,
			132, 167, 1, 204, 172, 113, 78, 0, 10, 170,
			134, 252, 47, 194, 67, 254, 93, 240, 51, 96,
			157, 136, 216, 37, 34, 30, 109, 160, 191, 156,
			105, 0, 39, 0, 102, 214, 56, 39, 0, 5,
			84, 67, 254, 167, 225, 33, 255, 54, 5, 105,
			228, 229, 19, 192, 234, 17, 177, 69, 68, 92,
			217, 96, 255, 57, 9, 192, 122, 213, 129, 53,
			102, 102, 141, 241, 50, 192, 76, 213, 144, 255,
			41, 192, 10, 53, 118, 115, 5, 112, 56, 121,
			235, 145, 135, 81, 144, 142, 244, 253, 27, 112,
			91, 68, 76, 109, 49, 150, 156, 4, 96, 50,
			176, 53, 240, 205, 66, 177, 152, 153, 205, 150,
			19, 128, 12, 146, 222, 79, 58, 187, 187, 206,
			167, 254, 47, 1, 31, 106, 249, 230, 102, 179,
			17, 17, 183, 72, 186, 21, 88, 110, 192, 38,
			222, 132, 19, 0, 51, 107, 144, 167, 0, 6,
			32, 105, 225, 106, 200, 255, 104, 234, 187, 249,
			63, 4, 188, 49, 34, 246, 240, 205, 191, 55,
			114, 70, 1, 54, 247, 52, 128, 153, 53, 201,
			9, 192, 4, 73, 90, 151, 52, 215, 188, 77,
			141, 221, 92, 1, 172, 21, 17, 167, 213, 216,
			135, 149, 151, 147, 0, 204, 73, 154, 6, 48,
			51, 107, 132, 19, 128, 9, 168, 134, 252, 47,
			164, 222, 249, 254, 47, 1, 27, 68, 196, 159,
			107, 236, 195, 234, 241, 67, 224, 169, 140, 235,
			223, 84, 42, 16, 51, 179, 217, 113, 2, 48,
			14, 213, 144, 255, 233, 120, 200, 223, 102, 33,
			34, 238, 34, 111, 83, 32, 79, 3, 152, 89,
			99, 156, 0, 204, 198, 152, 33, 255, 215, 215,
			216, 141, 135, 252, 135, 199, 169, 25, 215, 122,
			26, 192, 204, 26, 227, 4, 96, 22, 36, 237,
			73, 253, 67, 254, 95, 196, 67, 254, 195, 228,
			52, 60, 13, 96, 102, 61, 224, 4, 96, 6,
			198, 12, 249, 127, 158, 122, 135, 252, 223, 16,
			17, 239, 247, 144, 255, 240, 240, 52, 128, 153,
			245, 133, 19, 128, 233, 84, 67, 254, 87, 81,
			239, 144, 255, 229, 192, 154, 17, 113, 122, 141,
			125, 88, 123, 60, 13, 96, 102, 157, 231, 4,
			96, 140, 49, 67, 254, 203, 215, 216, 205, 23,
			128, 13, 35, 226, 230, 26, 251, 176, 118, 121,
			26, 192, 204, 58, 207, 9, 64, 69, 210, 238,
			52, 51, 228, 191, 167, 135, 252, 135, 155, 167,
			1, 198, 109, 51, 73, 59, 72, 90, 164, 237,
			64, 204, 70, 145, 19, 0, 64, 210, 22, 164,
			155, 127, 93, 60, 228, 63, 122, 60, 13, 48,
			123, 171, 3, 39, 0, 119, 75, 250, 133, 164,
			61, 36, 13, 186, 149, 178, 153, 77, 208, 200,
			39, 0, 146, 22, 7, 190, 7, 204, 81, 83,
			23, 30, 242, 31, 77, 158, 6, 24, 191, 201,
			192, 203, 73, 127, 43, 183, 72, 186, 82, 210,
			39, 36, 173, 222, 114, 92, 102, 67, 109, 228,
			19, 0, 210, 89, 236, 11, 215, 208, 238, 131,
			192, 54, 30, 242, 31, 77, 158, 6, 200, 178,
			38, 112, 16, 112, 141, 164, 63, 75, 58, 82,
			210, 38, 146, 234, 74, 210, 205, 70, 146, 19,
			0, 216, 168, 134, 54, 127, 67, 218, 216, 231,
			140, 26, 218, 182, 254, 240, 52, 64, 190, 21,
			128, 15, 0, 83, 128, 59, 37, 29, 39, 105,
			43, 73, 243, 182, 27, 150, 89, 255, 57, 1,
			128, 13, 11, 183, 119, 52, 176, 145, 135, 252,
			13, 79, 3, 148, 182, 56, 176, 19, 112, 38,
			112, 159, 164, 51, 37, 237, 36, 105, 177, 118,
			195, 50, 235, 39, 39, 0, 240, 204, 66, 237,
			76, 27, 242, 223, 203, 67, 254, 6, 158, 6,
			168, 217, 188, 192, 86, 192, 113, 192, 93, 146,
			166, 72, 218, 75, 82, 157, 187, 118, 154, 13,
			21, 39, 0, 101, 252, 134, 84, 229, 239, 33,
			127, 155, 222, 41, 25, 215, 122, 26, 96, 124,
			230, 32, 213, 242, 28, 5, 252, 89, 210, 53,
			146, 14, 146, 180, 102, 203, 113, 153, 117, 154,
			19, 128, 124, 211, 134, 252, 255, 210, 118, 32,
			214, 73, 167, 227, 105, 128, 166, 173, 14, 124,
			130, 116, 136, 215, 49, 45, 199, 98, 214, 89,
			78, 0, 242, 236, 224, 33, 127, 155, 21, 79,
			3, 180, 110, 190, 182, 3, 48, 235, 42, 39,
			0, 121, 46, 108, 59, 0, 235, 5, 79, 3,
			152, 89, 231, 56, 1, 48, 171, 159, 167, 1,
			204, 172, 115, 156, 0, 152, 213, 204, 211, 0,
			189, 229, 189, 6, 108, 168, 57, 1, 48, 107,
			134, 167, 1, 250, 103, 91, 73, 183, 72, 58,
			90, 210, 102, 146, 38, 183, 29, 144, 89, 73,
			78, 0, 204, 154, 225, 105, 128, 126, 90, 14,
			120, 63, 240, 75, 210, 126, 3, 199, 75, 218,
			90, 146, 139, 11, 173, 247, 156, 0, 152, 53,
			160, 154, 6, 56, 47, 163, 9, 79, 3, 180,
			111, 81, 96, 71, 224, 12, 224, 94, 239, 68,
			104, 125, 231, 4, 192, 172, 57, 62, 27, 224,
			63, 29, 7, 108, 79, 250, 185, 60, 210, 114,
			44, 19, 53, 163, 157, 8, 247, 148, 180, 124,
			171, 81, 153, 77, 128, 19, 0, 179, 230, 120,
			26, 224, 63, 61, 28, 17, 223, 137, 136, 109,
			73, 251, 252, 191, 6, 248, 58, 112, 87, 187,
			97, 77, 216, 180, 157, 8, 63, 15, 220, 44,
			233, 42, 73, 7, 72, 122, 113, 203, 113, 153,
			205, 146, 19, 0, 179, 134, 84, 211, 0, 23,
			100, 52, 49, 180, 211, 0, 17, 241, 120, 68,
			156, 27, 17, 239, 2, 150, 38, 29, 210, 117,
			4, 240, 167, 118, 35, 27, 200, 26, 192, 129,
			192, 213, 192, 241, 237, 134, 98, 54, 115, 78,
			0, 204, 154, 229, 213, 0, 179, 17, 17, 79,
			69, 196, 175, 35, 226, 35, 17, 177, 18, 240,
			66, 224, 227, 164, 51, 55, 162, 221, 232, 38,
			108, 193, 182, 3, 48, 155, 25, 39, 0, 102,
			205, 242, 52, 192, 4, 69, 196, 239, 35, 226,
			147, 17, 241, 18, 96, 89, 224, 125, 192, 207,
			128, 127, 181, 27, 153, 89, 191, 57, 1, 48,
			107, 80, 68, 220, 137, 167, 1, 6, 22, 17,
			183, 69, 196, 151, 35, 98, 11, 210, 81, 222,
			125, 45, 34, 52, 107, 157, 19, 0, 179, 230,
			121, 26, 160, 128, 136, 120, 112, 72, 138, 8,
			103, 102, 174, 182, 3, 176, 225, 230, 4, 192,
			172, 121, 158, 6, 40, 108, 200, 138, 8, 167,
			121, 149, 164, 63, 75, 58, 82, 210, 203, 36,
			205, 209, 118, 64, 54, 92, 156, 0, 152, 53,
			204, 211, 0, 245, 26, 178, 34, 194, 21, 128,
			15, 144, 54, 145, 186, 83, 210, 55, 37, 189,
			78, 146, 207, 41, 176, 108, 78, 0, 204, 218,
			225, 105, 128, 134, 12, 81, 17, 225, 226, 192,
			206, 192, 89, 164, 157, 8, 79, 151, 180, 163,
			147, 65, 27, 148, 19, 0, 179, 118, 120, 26,
			160, 5, 211, 21, 17, 46, 193, 191, 139, 8,
			255, 222, 110, 100, 19, 54, 31, 240, 122, 210,
			62, 3, 119, 73, 250, 165, 164, 247, 75, 90,
			174, 229, 184, 172, 71, 156, 0, 152, 181, 192,
			211, 0, 237, 139, 136, 135, 198, 20, 17, 46,
			65, 127, 139, 8, 39, 3, 155, 1, 71, 3,
			183, 72, 186, 66, 210, 254, 146, 94, 212, 114,
			92, 214, 113, 78, 0, 204, 218, 227, 105, 128,
			142, 24, 178, 34, 194, 181, 128, 131, 129, 223,
			74, 186, 73, 210, 231, 36, 109, 44, 201, 223,
			247, 246, 31, 252, 129, 48, 107, 143, 167, 1,
			58, 104, 200, 138, 8, 159, 11, 124, 16, 56,
			159, 84, 68, 248, 13, 73, 175, 149, 52, 79,
			203, 113, 89, 7, 56, 1, 48, 107, 137, 167,
			1, 250, 97, 136, 138, 8, 151, 0, 118, 1,
			126, 64, 42, 34, 60, 77, 210, 14, 146, 22,
			105, 57, 46, 107, 137, 19, 0, 179, 118, 121,
			26, 160, 71, 134, 168, 136, 112, 126, 96, 27,
			224, 4, 224, 110, 73, 191, 144, 180, 187, 164,
			101, 91, 142, 203, 26, 228, 4, 192, 172, 93,
			158, 6, 232, 169, 25, 20, 17, 190, 26, 248,
			26, 112, 103, 187, 145, 77, 216, 100, 224, 229,
			192, 23, 129, 91, 37, 93, 46, 105, 63, 73,
			171, 181, 28, 151, 213, 204, 9, 128, 89, 139,
			60, 13, 48, 28, 170, 34, 194, 31, 69, 196,
			187, 129, 103, 3, 27, 0, 159, 1, 110, 104,
			55, 178, 129, 172, 13, 28, 2, 252, 78, 210,
			141, 146, 142, 144, 180, 106, 219, 65, 89, 121,
			78, 0, 204, 218, 231, 105, 128, 33, 82, 21,
			17, 94, 28, 17, 31, 141, 136, 149, 129, 85,
			129, 143, 1, 151, 209, 191, 34, 194, 21, 129,
			15, 3, 215, 73, 186, 160, 170, 25, 112, 1,
			225, 144, 112, 2, 96, 214, 62, 79, 3, 12,
			177, 136, 248, 67, 68, 28, 30, 17, 235, 145,
			138, 8, 119, 3, 126, 74, 255, 138, 8, 55,
			34, 213, 12, 220, 46, 233, 211, 146, 158, 209,
			118, 64, 150, 199, 9, 128, 89, 203, 60, 13,
			48, 58, 170, 34, 194, 175, 68, 196, 150, 164,
			186, 129, 183, 146, 70, 128, 250, 84, 68, 184,
			8, 240, 17, 224, 143, 146, 222, 220, 118, 48,
			54, 56, 39, 0, 102, 221, 224, 105, 128, 17,
			83, 21, 17, 158, 28, 17, 219, 209, 207, 34,
			194, 165, 129, 147, 37, 253, 92, 210, 11, 218,
			14, 198, 38, 78, 17, 125, 155, 146, 42, 75,
			210, 95, 128, 231, 12, 120, 249, 113, 192, 195,
			229, 162, 25, 58, 1, 60, 2, 220, 63, 131,
			215, 221, 17, 113, 95, 139, 177, 117, 138, 164,
			37, 129, 219, 24, 60, 41, 255, 113, 68, 188,
			170, 96, 72, 227, 34, 105, 47, 224, 168, 1,
			47, 63, 58, 34, 246, 42, 25, 207, 48, 144,
			36, 224, 165, 164, 164, 110, 107, 96, 165, 118,
			35, 26, 151, 199, 128, 157, 35, 226, 187, 109,
			7, 98, 227, 55, 185, 237, 0, 122, 110, 231,
			182, 3, 232, 51, 73, 183, 2, 151, 142, 121,
			93, 17, 17, 143, 182, 27, 85, 59, 34, 226,
			78, 73, 23, 0, 155, 12, 216, 196, 230, 146,
			22, 141, 136, 251, 75, 198, 101, 205, 139, 244,
			84, 118, 113, 245, 250, 168, 164, 85, 248, 119,
			50, 176, 46, 160, 22, 195, 155, 153, 121, 72,
			163, 1, 43, 71, 196, 65, 109, 7, 99, 227,
			227, 41, 0, 107, 211, 114, 164, 2, 182, 207,
			146, 230, 192, 31, 150, 116, 165, 164, 131, 36,
			61, 191, 221, 208, 90, 225, 105, 0, 251, 47,
			211, 21, 17, 46, 67, 183, 139, 8, 15, 148,
			244, 29, 175, 20, 232, 7, 39, 0, 214, 37,
			147, 129, 53, 129, 79, 0, 55, 72, 186, 164,
			218, 157, 108, 241, 150, 227, 106, 138, 87, 3,
			216, 44, 69, 196, 237, 61, 40, 34, 124, 11,
			112, 142, 164, 185, 218, 14, 196, 102, 205, 9,
			128, 117, 217, 122, 164, 221, 201, 110, 151, 116,
			182, 164, 77, 91, 142, 167, 86, 94, 13, 96,
			19, 49, 93, 17, 225, 226, 116, 171, 136, 240,
			229, 192, 177, 109, 7, 97, 179, 230, 4, 192,
			250, 96, 78, 224, 127, 129, 95, 73, 250, 169,
			164, 117, 218, 14, 168, 70, 158, 6, 176, 9,
			139, 136, 169, 99, 118, 34, 92, 154, 110, 236,
			68, 184, 131, 164, 3, 91, 236, 223, 102, 195,
			9, 128, 245, 205, 43, 129, 223, 84, 39, 153,
			13, 227, 246, 164, 158, 6, 176, 44, 145, 116,
			101, 39, 194, 3, 36, 237, 216, 112, 159, 54,
			78, 78, 0, 250, 183, 53, 167, 37, 219, 144,
			246, 42, 255, 150, 164, 229, 218, 14, 166, 148,
			17, 155, 6, 240, 223, 94, 3, 58, 80, 68,
			248, 21, 73, 203, 55, 212, 151, 77, 128, 247,
			1, 144, 206, 7, 54, 110, 59, 14, 203, 242,
			24, 240, 121, 224, 240, 136, 232, 253, 190, 12,
			146, 118, 3, 142, 201, 104, 226, 124, 224, 170,
			66, 225, 204, 206, 54, 164, 237, 109, 7, 113,
			80, 68, 28, 88, 48, 22, 155, 0, 73, 11,
			145, 234, 6, 182, 6, 94, 5, 212, 185, 181,
			239, 15, 35, 226, 181, 53, 182, 111, 3, 112,
			2, 32, 29, 9, 124, 160, 237, 56, 172, 136,
			123, 128, 131, 128, 255, 139, 136, 39, 218, 14,
			102, 80, 5, 54, 5, 234, 139, 93, 35, 194,
			133, 98, 29, 80, 85, 236, 111, 78, 74, 6,
			222, 0, 44, 86, 67, 55, 219, 68, 196, 25,
			53, 180, 107, 3, 26, 246, 47, 152, 241, 184,
			172, 237, 0, 172, 152, 37, 128, 47, 1, 215,
			74, 218, 170, 237, 96, 6, 85, 96, 26, 160,
			47, 254, 218, 118, 0, 150, 76, 87, 68, 184,
			60, 176, 47, 112, 111, 225, 110, 142, 150, 180,
			64, 225, 54, 45, 131, 19, 0, 56, 13, 248,
			109, 219, 65, 88, 81, 43, 3, 103, 74, 58,
			175, 199, 43, 6, 114, 86, 3, 244, 193, 83,
			192, 213, 109, 7, 97, 255, 45, 34, 30, 137,
			136, 79, 1, 43, 80, 54, 17, 88, 22, 120,
			95, 161, 182, 172, 128, 145, 159, 2, 0, 144,
			180, 6, 105, 36, 96, 206, 182, 99, 177, 226,
			2, 56, 25, 248, 88, 68, 220, 210, 118, 48,
			227, 85, 77, 3, 252, 13, 152, 163, 237, 88,
			106, 242, 235, 136, 216, 176, 237, 32, 108, 246,
			170, 167, 246, 83, 72, 117, 2, 185, 110, 5,
			158, 27, 17, 79, 22, 104, 203, 50, 121, 4,
			0, 136, 136, 171, 73, 187, 87, 249, 112, 154,
			225, 35, 210, 110, 105, 215, 87, 103, 152, 47,
			212, 118, 64, 227, 81, 77, 3, 124, 187, 237,
			56, 106, 116, 102, 219, 1, 216, 248, 68, 196,
			35, 164, 218, 128, 31, 22, 104, 110, 57, 192,
			197, 128, 29, 225, 17, 128, 49, 170, 167, 174,
			99, 72, 155, 206, 120, 27, 203, 225, 116, 47,
			112, 48, 240, 213, 136, 232, 226, 94, 234, 79,
			171, 150, 78, 221, 192, 240, 141, 76, 253, 157,
			244, 20, 88, 122, 142, 217, 106, 84, 21, 10,
			126, 143, 252, 205, 166, 126, 25, 17, 155, 23,
			8, 201, 50, 57, 1, 152, 129, 234, 131, 254,
			98, 96, 13, 96, 254, 150, 195, 153, 168, 103,
			2, 251, 208, 252, 137, 97, 143, 2, 119, 84,
			175, 219, 171, 215, 157, 192, 124, 192, 82, 164,
			221, 201, 150, 174, 254, 251, 18, 180, 63, 250,
			244, 39, 224, 163, 93, 175, 74, 150, 116, 12,
			105, 221, 246, 48, 57, 32, 34, 14, 110, 59,
			8, 155, 56, 73, 115, 146, 166, 3, 114, 147,
			128, 23, 68, 196, 245, 5, 66, 178, 12, 78,
			0, 134, 136, 164, 249, 128, 95, 1, 47, 105,
			160, 187, 251, 73, 67, 130, 103, 2, 231, 77,
			228, 24, 90, 73, 147, 129, 21, 73, 67, 129,
			91, 145, 182, 45, 109, 43, 33, 184, 16, 248,
			80, 68, 116, 114, 53, 136, 164, 165, 128, 155,
			128, 121, 219, 142, 165, 144, 191, 2, 171, 86,
			195, 202, 214, 67, 146, 150, 0, 254, 12, 228,
			84, 244, 239, 25, 17, 95, 40, 20, 146, 13,
			200, 9, 192, 144, 144, 52, 137, 180, 162, 161,
			206, 189, 224, 111, 37, 221, 240, 207, 4, 46,
			40, 181, 214, 94, 210, 51, 249, 119, 50, 240,
			74, 210, 217, 226, 77, 10, 210, 208, 230, 190,
			17, 241, 151, 134, 251, 158, 45, 73, 59, 1,
			223, 164, 155, 231, 192, 79, 196, 163, 192, 70,
			17, 113, 101, 219, 129, 88, 30, 73, 135, 2,
			31, 207, 104, 226, 180, 136, 120, 99, 169, 120,
			108, 48, 78, 0, 134, 132, 164, 163, 128, 189,
			106, 106, 254, 38, 210, 94, 226, 167, 70, 205,
			31, 24, 73, 139, 1, 251, 145, 134, 189, 155,
			174, 195, 120, 156, 116, 250, 224, 97, 17, 241,
			96, 195, 125, 207, 146, 164, 93, 72, 167, 171,
			245, 53, 9, 8, 224, 205, 17, 49, 236, 203,
			27, 71, 130, 164, 133, 129, 155, 129, 133, 7,
			108, 226, 158, 136, 120, 102, 193, 144, 108, 0,
			109, 207, 195, 90, 1, 146, 246, 160, 158, 155,
			255, 61, 192, 30, 192, 42, 17, 113, 74, 221,
			55, 127, 128, 136, 184, 47, 34, 62, 64, 90,
			203, 127, 18, 205, 238, 23, 63, 55, 240, 97,
			224, 70, 73, 123, 86, 243, 157, 157, 16, 17,
			223, 4, 222, 73, 63, 247, 207, 127, 4, 120,
			131, 111, 254, 195, 163, 74, 144, 63, 155, 209,
			196, 18, 146, 86, 41, 21, 143, 13, 198, 35,
			0, 61, 39, 233, 117, 192, 25, 148, 77, 230,
			254, 1, 28, 9, 28, 17, 17, 127, 47, 216,
			238, 132, 73, 90, 19, 248, 52, 105, 106, 160,
			105, 55, 2, 251, 68, 196, 105, 45, 244, 61,
			67, 146, 222, 74, 58, 247, 96, 137, 182, 99,
			25, 167, 27, 72, 91, 192, 94, 215, 118, 32,
			86, 150, 164, 103, 0, 15, 48, 248, 94, 21,
			239, 168, 18, 91, 107, 137, 71, 0, 122, 172,
			218, 229, 238, 100, 202, 254, 30, 255, 0, 172,
			17, 17, 159, 104, 251, 230, 15, 16, 17, 87,
			69, 196, 22, 164, 41, 129, 166, 247, 247, 127,
			30, 240, 125, 73, 23, 74, 122, 105, 195, 125,
			207, 80, 68, 124, 135, 180, 67, 219, 62, 116,
			123, 223, 138, 123, 129, 61, 129, 213, 124, 243,
			31, 78, 213, 247, 195, 77, 25, 77, 44, 93,
			42, 22, 27, 140, 19, 128, 158, 146, 244, 28,
			224, 108, 210, 50, 187, 82, 206, 1, 94, 26,
			17, 55, 22, 108, 179, 136, 136, 248, 10, 176,
			5, 237, 220, 244, 54, 4, 46, 150, 244, 61,
			73, 207, 109, 161, 255, 255, 16, 17, 255, 136,
			136, 79, 147, 18, 129, 143, 3, 151, 0, 93,
			168, 89, 120, 156, 244, 25, 218, 21, 88, 49,
			34, 190, 208, 245, 189, 22, 44, 219, 31, 50,
			174, 93, 188, 88, 20, 54, 16, 79, 1, 244,
			80, 85, 128, 115, 17, 176, 106, 193, 102, 63,
			77, 218, 46, 247, 169, 130, 109, 22, 87, 221,
			128, 207, 166, 236, 123, 159, 136, 169, 164, 3,
			135, 14, 141, 136, 7, 90, 138, 97, 134, 170,
			213, 20, 47, 0, 86, 34, 111, 137, 214, 68,
			252, 157, 127, 239, 253, 240, 167, 136, 248, 71,
			67, 253, 90, 7, 72, 250, 36, 233, 188, 128,
			65, 124, 39, 34, 182, 47, 25, 143, 77, 140,
			19, 128, 158, 169, 10, 211, 126, 12, 188, 188,
			80, 147, 143, 1, 239, 140, 136, 147, 10, 181,
			87, 187, 106, 238, 241, 59, 164, 29, 27, 219,
			114, 63, 112, 40, 112, 76, 68, 76, 109, 49,
			14, 179, 214, 72, 218, 1, 56, 97, 192, 203,
			127, 26, 17, 91, 150, 140, 199, 38, 198, 83,
			0, 253, 243, 117, 202, 221, 252, 3, 120, 107,
			159, 110, 254, 240, 244, 220, 227, 235, 129, 159,
			183, 24, 198, 162, 164, 66, 201, 63, 72, 122,
			83, 139, 113, 152, 181, 233, 134, 140, 107, 23,
			43, 22, 133, 13, 196, 9, 64, 143, 72, 58,
			0, 120, 123, 193, 38, 15, 236, 250, 86, 184,
			51, 83, 109, 66, 180, 45, 105, 75, 223, 54,
			61, 23, 56, 69, 210, 175, 37, 109, 208, 114,
			44, 102, 77, 123, 60, 227, 218, 201, 197, 162,
			176, 129, 56, 1, 232, 9, 73, 59, 2, 7,
			22, 108, 242, 251, 192, 33, 5, 219, 107, 92,
			53, 7, 255, 58, 224, 161, 182, 99, 1, 214,
			7, 46, 146, 116, 170, 164, 21, 219, 14, 198,
			204, 108, 118, 156, 0, 244, 128, 164, 205, 72,
			187, 192, 149, 114, 13, 176, 83, 19, 27, 251,
			212, 45, 34, 254, 8, 188, 25, 232, 202, 249,
			226, 111, 4, 126, 47, 233, 40, 73, 139, 182,
			29, 140, 153, 217, 204, 56, 1, 232, 184, 106,
			183, 172, 211, 41, 119, 36, 236, 189, 192, 86,
			195, 84, 173, 29, 17, 63, 6, 62, 218, 118,
			28, 99, 204, 69, 218, 153, 241, 70, 73, 31,
			170, 78, 151, 52, 51, 235, 20, 39, 0, 29,
			38, 233, 89, 192, 185, 12, 190, 223, 246, 140,
			236, 31, 17, 183, 20, 108, 175, 43, 142, 4,
			174, 106, 59, 136, 233, 44, 66, 218, 46, 245,
			143, 146, 182, 107, 59, 24, 51, 179, 177, 156,
			0, 116, 84, 117, 180, 239, 217, 192, 242, 5,
			155, 189, 129, 178, 83, 9, 157, 81, 77, 103,
			116, 105, 20, 96, 172, 21, 128, 239, 74, 186,
			68, 210, 134, 109, 7, 99, 102, 6, 78, 0,
			58, 169, 58, 218, 247, 59, 192, 186, 133, 155,
			222, 183, 212, 17, 190, 93, 20, 17, 63, 3,
			126, 214, 118, 28, 179, 176, 30, 112, 161, 164,
			211, 36, 61, 175, 237, 96, 204, 108, 180, 57,
			1, 232, 166, 163, 128, 173, 10, 183, 121, 73,
			68, 156, 94, 184, 205, 46, 250, 40, 221, 63,
			49, 111, 27, 82, 161, 224, 209, 213, 241, 199,
			102, 102, 141, 115, 2, 208, 49, 146, 246, 4,
			222, 95, 67, 211, 31, 169, 161, 205, 206, 137,
			136, 171, 72, 7, 36, 117, 221, 156, 164, 223,
			243, 141, 146, 246, 150, 52, 119, 219, 1, 153,
			217, 104, 113, 2, 208, 33, 146, 182, 34, 21,
			179, 149, 246, 171, 136, 184, 160, 134, 118, 187,
			234, 224, 182, 3, 152, 128, 133, 129, 207, 144,
			10, 5, 223, 34, 73, 109, 7, 100, 102, 163,
			193, 9, 64, 71, 72, 90, 151, 52, 239, 95,
			199, 239, 164, 51, 231, 217, 55, 33, 34, 174,
			7, 174, 205, 104, 226, 41, 224, 167, 133, 194,
			25, 175, 229, 73, 191, 255, 75, 37, 109, 220,
			112, 223, 102, 54, 130, 156, 0, 116, 128, 164,
			229, 41, 127, 180, 239, 52, 1, 156, 85, 67,
			187, 93, 119, 102, 198, 181, 147, 128, 247, 145,
			142, 31, 254, 109, 153, 112, 198, 109, 93, 224,
			124, 73, 103, 72, 90, 169, 225, 190, 205, 108,
			132, 56, 1, 104, 89, 117, 180, 239, 185, 192,
			179, 106, 234, 226, 138, 136, 248, 91, 77, 109,
			119, 89, 78, 2, 0, 176, 70, 181, 170, 96,
			77, 96, 23, 210, 113, 183, 77, 218, 26, 184,
			78, 210, 23, 37, 249, 220, 116, 51, 43, 206,
			9, 64, 139, 170, 29, 226, 78, 7, 86, 169,
			177, 155, 220, 27, 97, 47, 69, 196, 21, 192,
			95, 51, 154, 120, 113, 213, 206, 83, 17, 113,
			28, 240, 124, 224, 0, 224, 145, 2, 225, 141,
			215, 100, 96, 119, 82, 161, 224, 71, 37, 205,
			211, 96, 223, 102, 54, 228, 156, 0, 180, 235,
			88, 96, 179, 154, 251, 104, 60, 1, 144, 52,
			191, 164, 141, 36, 237, 41, 233, 237, 146, 94,
			88, 237, 109, 208, 180, 156, 169, 143, 53, 198,
			254, 31, 17, 241, 207, 136, 56, 152, 148, 8,
			124, 157, 102, 207, 30, 88, 8, 248, 20, 112,
			189, 164, 237, 93, 40, 104, 102, 37, 56, 1,
			104, 137, 164, 131, 128, 29, 106, 238, 230, 111,
			17, 113, 93, 205, 125, 60, 77, 210, 34, 146,
			78, 2, 30, 6, 46, 0, 62, 15, 124, 139,
			84, 144, 247, 128, 164, 247, 53, 124, 243, 250,
			113, 198, 181, 107, 204, 232, 127, 140, 136, 59,
			35, 226, 93, 164, 17, 130, 31, 101, 180, 63,
			136, 229, 128, 111, 3, 151, 73, 218, 164, 225,
			190, 205, 108, 200, 56, 1, 104, 129, 164, 183,
			3, 159, 104, 160, 171, 198, 246, 252, 151, 180,
			41, 233, 70, 255, 86, 102, 252, 185, 90, 16,
			248, 18, 240, 243, 234, 140, 131, 38, 228, 188,
			255, 101, 102, 117, 136, 79, 68, 92, 23, 17,
			175, 6, 94, 73, 58, 93, 177, 73, 235, 0,
			83, 36, 157, 37, 105, 229, 134, 251, 54, 179,
			33, 225, 4, 160, 97, 146, 94, 78, 26, 66,
			110, 194, 29, 77, 116, 34, 105, 73, 210, 82,
			195, 165, 199, 241, 207, 95, 14, 124, 179, 222,
			136, 158, 150, 251, 254, 103, 123, 8, 83, 68,
			252, 28, 88, 11, 216, 25, 184, 45, 179, 191,
			137, 122, 29, 112, 173, 164, 99, 36, 45, 209,
			112, 223, 102, 214, 115, 78, 0, 26, 36, 105,
			85, 202, 30, 237, 59, 59, 77, 85, 174, 255,
			31, 176, 232, 4, 254, 253, 171, 37, 237, 82,
			87, 48, 211, 68, 196, 125, 192, 227, 25, 77,
			44, 50, 206, 126, 158, 138, 136, 111, 1, 43,
			1, 251, 211, 124, 161, 224, 110, 192, 77, 146,
			62, 38, 105, 222, 6, 251, 54, 179, 30, 115,
			2, 208, 144, 234, 41, 249, 92, 82, 65, 87,
			83, 106, 79, 0, 36, 189, 144, 244, 36, 58,
			81, 31, 43, 29, 203, 76, 220, 153, 113, 237,
			132, 142, 97, 174, 10, 5, 15, 5, 158, 71,
			74, 138, 154, 44, 20, 124, 6, 112, 24, 169,
			80, 112, 71, 23, 10, 154, 217, 236, 56, 1,
			104, 192, 152, 163, 125, 159, 211, 112, 215, 77,
			76, 1, 172, 53, 224, 117, 43, 74, 154, 200,
			168, 193, 160, 114, 146, 160, 9, 37, 0, 211,
			68, 196, 93, 17, 241, 30, 96, 117, 224, 156,
			140, 254, 7, 177, 44, 112, 60, 112, 69, 53,
			221, 100, 102, 54, 67, 78, 0, 106, 86, 45,
			127, 59, 153, 84, 184, 213, 180, 38, 166, 0,
			6, 77, 0, 0, 214, 46, 22, 197, 204, 53,
			158, 0, 76, 19, 17, 191, 143, 136, 255, 5,
			54, 7, 174, 202, 105, 107, 0, 107, 2, 191,
			144, 244, 67, 73, 117, 238, 51, 97, 102, 61,
			229, 4, 160, 126, 159, 103, 176, 33, 242, 190,
			200, 57, 122, 183, 235, 195, 212, 79, 148, 104,
			36, 34, 126, 73, 74, 118, 222, 14, 52, 189,
			43, 227, 107, 128, 223, 73, 250, 106, 131, 171,
			47, 204, 172, 7, 156, 0, 212, 72, 210, 94,
			192, 30, 45, 134, 48, 158, 170, 252, 92, 151,
			183, 116, 237, 120, 229, 252, 12, 138, 141, 160,
			68, 114, 2, 169, 80, 240, 227, 192, 223, 75,
			181, 61, 14, 115, 0, 239, 6, 254, 36, 105,
			63, 23, 10, 154, 25, 56, 1, 168, 141, 164,
			215, 3, 159, 107, 57, 140, 165, 26, 232, 99,
			208, 155, 248, 205, 17, 113, 127, 209, 72, 102,
			172, 19, 9, 192, 52, 17, 241, 104, 68, 124,
			146, 84, 40, 248, 21, 10, 141, 50, 140, 211,
			51, 128, 67, 72, 137, 192, 78, 45, 237, 206,
			104, 102, 29, 225, 47, 128, 26, 72, 122, 9,
			112, 18, 237, 255, 124, 107, 31, 1, 136, 136,
			27, 72, 75, 27, 39, 234, 211, 165, 99, 153,
			137, 37, 7, 188, 46, 168, 177, 136, 50, 34,
			238, 142, 136, 221, 128, 23, 145, 10, 68, 155,
			244, 108, 224, 56, 82, 161, 224, 43, 26, 238,
			219, 204, 58, 162, 237, 27, 212, 208, 145, 180,
			2, 233, 11, 189, 212, 48, 107, 206, 28, 123,
			19, 83, 0, 0, 239, 1, 238, 158, 192, 191,
			255, 89, 68, 252, 95, 93, 193, 76, 35, 105,
			49, 96, 238, 1, 47, 191, 47, 34, 166, 150,
			140, 103, 70, 34, 226, 143, 17, 241, 58, 210,
			153, 16, 87, 214, 221, 223, 116, 214, 0, 126,
			38, 233, 220, 106, 57, 167, 153, 141, 16, 39,
			0, 5, 73, 90, 132, 180, 214, 255, 153, 133,
			154, 188, 25, 56, 56, 227, 250, 38, 166, 0,
			136, 136, 123, 128, 109, 24, 223, 233, 123, 23,
			0, 59, 213, 26, 208, 191, 229, 188, 255, 70,
			143, 255, 141, 136, 41, 164, 149, 34, 59, 144,
			119, 138, 225, 32, 94, 5, 92, 35, 233, 107,
			213, 126, 21, 102, 54, 2, 156, 0, 20, 82,
			237, 27, 127, 6, 240, 130, 66, 77, 62, 64,
			250, 98, 206, 57, 112, 166, 177, 125, 7, 34,
			226, 34, 96, 53, 224, 27, 204, 120, 94, 251,
			97, 96, 79, 96, 147, 136, 104, 234, 230, 154,
			243, 254, 27, 77, 0, 224, 233, 66, 193, 111,
			147, 10, 5, 247, 37, 253, 204, 154, 50, 7,
			176, 43, 169, 62, 224, 19, 213, 222, 21, 102,
			54, 196, 156, 0, 148, 243, 13, 160, 212, 9,
			109, 83, 129, 173, 35, 226, 122, 210, 65, 51,
			131, 22, 138, 45, 83, 109, 63, 220, 136, 136,
			120, 56, 34, 222, 73, 58, 248, 103, 125, 210,
			89, 246, 59, 145, 18, 131, 69, 34, 226, 11,
			17, 145, 51, 165, 49, 81, 91, 102, 92, 219,
			200, 57, 10, 51, 18, 17, 143, 69, 196, 167,
			72, 133, 130, 95, 166, 217, 66, 193, 5, 128,
			131, 72, 137, 192, 46, 46, 20, 52, 27, 94,
			254, 227, 46, 64, 210, 193, 192, 219, 10, 54,
			185, 75, 68, 156, 15, 233, 102, 0, 252, 62,
			163, 173, 173, 203, 132, 52, 126, 85, 165, 251,
			37, 17, 113, 76, 68, 28, 95, 157, 156, 247,
			84, 211, 113, 0, 91, 101, 92, 219, 248, 8,
			192, 244, 34, 226, 158, 136, 120, 31, 41, 129,
			250, 65, 195, 221, 47, 77, 74, 106, 175, 146,
			180, 69, 195, 125, 155, 89, 3, 156, 0, 100,
			146, 180, 19, 233, 0, 152, 82, 246, 143, 136,
			147, 166, 251, 223, 114, 138, 195, 26, 79, 0,
			186, 64, 210, 90, 192, 114, 25, 77, 52, 118,
			148, 242, 236, 68, 196, 245, 17, 177, 21, 176,
			41, 205, 236, 157, 48, 214, 234, 192, 79, 36,
			253, 88, 210, 139, 26, 238, 219, 204, 106, 228,
			4, 32, 131, 164, 205, 129, 175, 21, 108, 242,
			155, 213, 97, 50, 211, 187, 34, 163, 205, 117,
			36, 53, 181, 26, 160, 75, 114, 158, 254, 1,
			126, 90, 36, 138, 130, 34, 226, 60, 224, 37,
			164, 209, 166, 91, 27, 238, 126, 75, 224, 106,
			73, 199, 74, 106, 164, 184, 212, 204, 234, 229,
			4, 96, 64, 213, 178, 169, 211, 40, 119, 180,
			239, 207, 73, 187, 181, 205, 72, 206, 8, 128,
			200, 191, 25, 246, 81, 206, 200, 199, 213, 17,
			209, 153, 17, 128, 177, 170, 66, 193, 147, 128,
			149, 129, 125, 128, 135, 26, 236, 126, 18, 240,
			14, 82, 125, 192, 129, 146, 230, 111, 176, 111,
			51, 43, 204, 9, 192, 0, 170, 39, 160, 146,
			71, 251, 94, 11, 188, 33, 34, 102, 86, 236,
			117, 53, 121, 71, 203, 110, 147, 113, 109, 239,
			72, 122, 30, 105, 232, 122, 80, 103, 150, 138,
			165, 46, 85, 161, 224, 167, 73, 133, 130, 95,
			162, 217, 66, 193, 249, 129, 3, 72, 137, 192,
			59, 93, 40, 104, 214, 79, 254, 195, 157, 160,
			234, 169, 231, 108, 242, 230, 151, 199, 186, 3,
			120, 117, 68, 204, 116, 201, 87, 68, 252, 147,
			148, 36, 12, 234, 21, 146, 214, 207, 184, 190,
			111, 246, 203, 188, 190, 243, 9, 192, 52, 17,
			113, 111, 68, 236, 1, 188, 144, 230, 227, 94,
			10, 248, 58, 105, 15, 129, 255, 105, 184, 111,
			51, 203, 228, 4, 96, 2, 36, 205, 1, 124,
			151, 114, 199, 216, 62, 2, 188, 38, 34, 198,
			179, 241, 203, 9, 153, 125, 125, 38, 243, 250,
			94, 144, 180, 58, 105, 51, 157, 65, 253, 37,
			34, 174, 41, 21, 79, 83, 34, 226, 134, 136,
			120, 61, 240, 50, 224, 55, 13, 119, 191, 26,
			240, 35, 73, 63, 173, 126, 254, 102, 214, 3,
			78, 0, 38, 230, 104, 224, 127, 11, 181, 245,
			36, 240, 230, 136, 24, 239, 57, 241, 199, 3,
			143, 103, 244, 183, 145, 164, 97, 62, 150, 120,
			154, 79, 145, 247, 185, 238, 205, 211, 255, 140,
			68, 196, 5, 192, 122, 192, 91, 129, 191, 52,
			220, 253, 43, 73, 203, 6, 191, 57, 162, 133,
			167, 102, 189, 226, 4, 96, 156, 36, 125, 16,
			120, 95, 193, 38, 247, 136, 136, 115, 198, 251,
			143, 35, 226, 62, 224, 251, 153, 125, 30, 94,
			141, 98, 12, 37, 73, 155, 145, 118, 79, 204,
			209, 235, 4, 0, 158, 46, 20, 60, 153, 180,
			43, 229, 71, 104, 190, 80, 112, 103, 82, 125,
			192, 65, 146, 22, 104, 176, 111, 51, 155, 0,
			39, 0, 227, 32, 105, 27, 224, 136, 130, 77,
			126, 54, 34, 190, 50, 192, 117, 95, 205, 236,
			119, 85, 210, 151, 243, 208, 145, 36, 242, 167,
			57, 238, 3, 46, 44, 16, 78, 39, 68, 196,
			227, 17, 113, 4, 176, 34, 240, 5, 224, 95,
			13, 118, 63, 31, 240, 9, 82, 34, 176, 235,
			48, 39, 158, 102, 125, 229, 4, 96, 54, 36,
			173, 7, 124, 155, 114, 63, 171, 239, 147, 158,
			202, 38, 44, 34, 46, 36, 111, 87, 64, 128,
			195, 36, 45, 147, 217, 70, 23, 237, 78, 58,
			76, 39, 199, 247, 35, 34, 103, 181, 69, 39,
			69, 196, 125, 17, 177, 39, 169, 80, 112, 144,
			163, 155, 115, 44, 73, 218, 43, 227, 26, 73,
			185, 163, 51, 102, 86, 144, 19, 128, 89, 144,
			244, 92, 202, 30, 237, 123, 49, 176, 67, 230,
			126, 248, 185, 199, 232, 62, 19, 56, 83, 82,
			169, 247, 212, 186, 234, 76, 251, 35, 51, 155,
			121, 12, 56, 172, 64, 56, 157, 21, 17, 127,
			138, 136, 55, 0, 27, 3, 151, 54, 220, 253,
			11, 129, 115, 37, 253, 76, 210, 26, 13, 247,
			109, 102, 51, 224, 4, 96, 38, 198, 28, 237,
			187, 68, 161, 38, 111, 2, 182, 136, 243, 9,
			254, 0, 0, 32, 0, 73, 68, 65, 84, 170,
			246, 246, 207, 113, 2, 240, 104, 102, 27, 107,
			3, 199, 101, 182, 209, 9, 146, 86, 2, 78,
			5, 38, 103, 54, 245, 165, 113, 174, 198, 232,
			189, 136, 184, 48, 34, 94, 10, 188, 153, 116,
			228, 116, 147, 94, 1, 92, 33, 233, 56, 73,
			207, 110, 184, 111, 51, 27, 195, 9, 192, 12,
			84, 71, 251, 158, 73, 218, 109, 173, 132, 251,
			73, 107, 253, 239, 201, 109, 40, 34, 30, 4,
			190, 147, 31, 18, 219, 73, 202, 93, 47, 223,
			42, 73, 11, 147, 70, 104, 22, 206, 108, 234,
			65, 224, 147, 249, 17, 245, 75, 68, 124, 15,
			88, 5, 248, 48, 233, 103, 208, 148, 73, 164,
			83, 34, 255, 36, 233, 16, 73, 207, 104, 176,
			111, 51, 171, 56, 1, 152, 177, 227, 72, 235,
			169, 75, 120, 156, 116, 180, 239, 13, 133, 218,
			131, 180, 209, 77, 137, 47, 236, 131, 37, 189,
			190, 64, 59, 141, 147, 52, 25, 56, 5, 88,
			169, 64, 115, 135, 71, 196, 3, 5, 218, 233,
			157, 170, 80, 240, 115, 164, 66, 193, 207, 211,
			108, 161, 224, 188, 164, 207, 242, 159, 36, 189,
			219, 133, 130, 102, 205, 114, 2, 48, 29, 73,
			135, 146, 214, 80, 151, 16, 192, 78, 213, 218,
			236, 98, 34, 226, 78, 224, 163, 5, 154, 18,
			240, 29, 73, 165, 222, 111, 35, 170, 39, 198,
			51, 72, 235, 206, 115, 253, 141, 84, 33, 63,
			210, 34, 226, 254, 136, 248, 0, 105, 68, 224,
			180, 134, 187, 127, 22, 105, 133, 203, 239, 36,
			189, 166, 225, 190, 205, 70, 150, 242, 234, 209,
			134, 139, 164, 93, 72, 103, 160, 151, 242, 177,
			136, 56, 188, 96, 123, 79, 171, 150, 189, 157,
			15, 108, 84, 168, 201, 195, 129, 143, 103, 22,
			40, 214, 78, 210, 242, 164, 97, 255, 213, 10,
			53, 185, 75, 68, 52, 86, 15, 33, 105, 49,
			224, 217, 99, 94, 79, 0, 183, 85, 175, 219,
			171, 41, 158, 214, 73, 218, 0, 248, 28, 240,
			210, 22, 186, 255, 37, 240, 225, 9, 108, 146,
			101, 45, 169, 10, 58, 7, 253, 61, 93, 19,
			17, 46, 8, 109, 145, 19, 128, 74, 85, 73,
			254, 35, 242, 139, 201, 166, 57, 54, 34, 118,
			45, 212, 214, 12, 73, 90, 133, 116, 80, 208,
			92, 133, 154, 60, 11, 120, 91, 68, 60, 82,
			168, 189, 162, 36, 109, 76, 90, 198, 182, 120,
			161, 38, 175, 3, 86, 143, 136, 167, 10, 181,
			247, 95, 170, 29, 241, 182, 34, 157, 78, 184,
			49, 179, 95, 81, 242, 119, 224, 23, 164, 26,
			148, 31, 86, 27, 64, 181, 70, 210, 182, 164,
			228, 240, 185, 13, 119, 29, 192, 137, 192, 126,
			163, 82, 156, 217, 71, 78, 0, 250, 205, 83,
			0, 128, 164, 213, 72, 195, 158, 165, 110, 254,
			63, 5, 222, 91, 168, 173, 153, 138, 136, 63,
			144, 182, 190, 45, 101, 43, 224, 215, 213, 83,
			118, 167, 84, 163, 51, 63, 167, 220, 205, 63,
			72, 79, 153, 197, 111, 254, 146, 38, 87, 115,
			218, 151, 146, 166, 24, 190, 12, 108, 193, 248,
			150, 147, 62, 131, 148, 44, 124, 11, 184, 75,
			210, 175, 36, 109, 87, 141, 248, 52, 46, 34,
			78, 33, 77, 11, 124, 8, 104, 178, 78, 66,
			192, 142, 192, 245, 146, 14, 115, 161, 160, 89,
			121, 35, 159, 0, 140, 57, 218, 119, 193, 66,
			77, 254, 22, 120, 227, 44, 142, 246, 45, 237,
			147, 192, 245, 5, 219, 123, 17, 105, 211, 150,
			143, 73, 154, 175, 96, 187, 3, 145, 180, 170,
			164, 31, 144, 166, 102, 74, 141, 116, 0, 28,
			20, 17, 63, 46, 216, 30, 0, 146, 222, 68,
			218, 172, 233, 171, 192, 75, 72, 55, 178, 65,
			205, 1, 108, 74, 58, 128, 234, 55, 146, 54,
			207, 14, 112, 0, 17, 49, 53, 34, 142, 36,
			21, 10, 30, 5, 76, 109, 176, 251, 121, 129,
			143, 1, 55, 74, 122, 111, 85, 252, 105, 102,
			5, 140, 116, 2, 80, 29, 237, 251, 67, 96,
			217, 66, 77, 222, 78, 58, 221, 239, 239, 133,
			218, 155, 173, 136, 120, 28, 120, 55, 233, 137,
			182, 148, 5, 73, 155, 226, 76, 59, 239, 189,
			241, 234, 108, 73, 207, 150, 116, 44, 41, 161,
			122, 109, 225, 230, 79, 1, 14, 46, 217, 160,
			164, 181, 37, 93, 86, 181, 253, 252, 146, 109,
			87, 214, 6, 126, 46, 233, 39, 146, 86, 172,
			161, 253, 217, 138, 136, 7, 34, 226, 131, 164,
			17, 129, 83, 27, 238, 254, 153, 164, 145, 148,
			223, 73, 42, 253, 121, 48, 27, 73, 35, 155,
			0, 84, 55, 181, 239, 1, 107, 21, 106, 114,
			218, 209, 190, 127, 43, 212, 222, 184, 69, 196,
			121, 192, 222, 53, 52, 189, 52, 233, 188, 247,
			223, 53, 117, 146, 160, 164, 133, 36, 29, 14,
			252, 9, 120, 7, 233, 41, 184, 164, 43, 72,
			43, 51, 138, 37, 76, 146, 222, 76, 58, 67,
			96, 221, 82, 109, 206, 194, 22, 192, 101, 146,
			94, 222, 64, 95, 51, 20, 17, 127, 142, 136,
			109, 129, 13, 128, 95, 55, 220, 253, 11, 128,
			31, 84, 83, 35, 165, 142, 229, 54, 27, 73,
			35, 155, 0, 144, 150, 126, 149, 90, 114, 244,
			36, 176, 109, 68, 92, 93, 168, 189, 9, 171,
			214, 114, 151, 172, 7, 24, 107, 21, 224, 44,
			73, 55, 72, 250, 180, 164, 245, 75, 206, 73,
			75, 90, 88, 210, 246, 146, 78, 33, 205, 153,
			239, 67, 185, 237, 151, 199, 186, 157, 180, 27,
			99, 238, 78, 138, 64, 90, 137, 33, 233, 16,
			224, 100, 96, 158, 18, 109, 142, 211, 162, 192,
			79, 36, 213, 94, 103, 50, 43, 17, 113, 113,
			68, 108, 8, 188, 137, 180, 211, 101, 147, 54,
			37, 77, 139, 156, 40, 105, 185, 134, 251, 54,
			27, 10, 35, 185, 10, 64, 210, 135, 128, 207,
			22, 108, 242, 61, 17, 145, 187, 71, 127, 17,
			146, 190, 14, 188, 179, 129, 174, 238, 4, 126,
			64, 170, 86, 63, 47, 34, 254, 57, 222, 11,
			171, 228, 97, 57, 210, 208, 254, 86, 192, 38,
			192, 156, 117, 4, 57, 198, 163, 192, 38, 17,
			241, 155, 18, 141, 73, 154, 68, 186, 241, 111,
			91, 162, 189, 12, 159, 141, 136, 58, 70, 127,
			38, 164, 218, 61, 115, 55, 96, 127, 82, 130,
			210, 164, 199, 72, 155, 24, 29, 30, 17, 15,
			55, 220, 247, 72, 243, 42, 128, 126, 27, 185,
			4, 64, 210, 27, 72, 243, 151, 165, 158, 96,
			63, 19, 17, 37, 54, 229, 41, 162, 154, 218,
			56, 5, 216, 166, 225, 174, 31, 36, 61, 97,
			223, 81, 253, 231, 237, 164, 36, 97, 62, 96,
			41, 210, 116, 194, 210, 213, 127, 95, 138, 178,
			5, 125, 227, 241, 150, 136, 248, 110, 169, 198,
			36, 125, 138, 50, 155, 49, 149, 240, 222, 136,
			200, 61, 42, 186, 136, 234, 12, 141, 143, 3,
			123, 208, 252, 239, 248, 94, 224, 64, 224, 255,
			26, 44, 194, 29, 105, 78, 0, 250, 109, 164,
			18, 0, 73, 47, 37, 109, 50, 82, 106, 120,
			249, 20, 224, 205, 93, 219, 60, 71, 210, 220,
			164, 149, 13, 173, 205, 19, 119, 204, 254, 17,
			113, 104, 169, 198, 36, 109, 79, 58, 34, 186,
			43, 254, 5, 108, 17, 17, 83, 218, 14, 100,
			26, 73, 43, 144, 246, 15, 216, 174, 133, 238,
			111, 0, 62, 18, 17, 103, 181, 208, 247, 72,
			113, 2, 208, 111, 35, 83, 3, 80, 85, 78,
			255, 128, 114, 55, 255, 95, 3, 111, 239, 218,
			205, 31, 158, 94, 25, 176, 53, 169, 224, 109,
			148, 77, 5, 118, 46, 124, 243, 95, 23, 56,
			182, 84, 123, 133, 204, 9, 156, 90, 221, 116,
			59, 33, 34, 110, 142, 136, 55, 147, 118, 18,
			188, 168, 225, 238, 87, 34, 29, 121, 125, 94,
			245, 251, 50, 179, 25, 24, 137, 4, 64, 210,
			162, 148, 61, 218, 247, 70, 202, 28, 237, 91,
			155, 106, 41, 226, 150, 164, 205, 115, 70, 209,
			93, 192, 102, 17, 241, 173, 82, 13, 86, 211,
			43, 199, 211, 108, 193, 223, 120, 45, 14, 116,
			162, 14, 101, 172, 136, 184, 52, 34, 54, 2,
			222, 64, 250, 187, 105, 210, 203, 128, 75, 37,
			157, 36, 233, 57, 13, 247, 109, 214, 121, 67,
			159, 0, 84, 195, 225, 103, 82, 230, 212, 56,
			128, 251, 72, 71, 251, 222, 91, 168, 189, 218,
			84, 219, 200, 110, 73, 154, 23, 173, 109, 187,
			219, 14, 186, 26, 120, 73, 68, 148, 94, 162,
			246, 14, 210, 138, 136, 174, 122, 165, 164, 45,
			218, 14, 98, 70, 34, 226, 116, 96, 85, 96,
			79, 210, 223, 80, 83, 68, 58, 220, 235, 250,
			106, 5, 203, 66, 13, 246, 109, 214, 105, 67,
			157, 0, 84, 213, 230, 199, 145, 246, 96, 47,
			225, 49, 210, 147, 255, 159, 10, 181, 87, 187,
			136, 120, 42, 34, 14, 34, 37, 2, 119, 183,
			29, 79, 3, 78, 3, 54, 138, 136, 91, 75,
			54, 90, 109, 26, 117, 80, 201, 54, 107, 242,
			153, 106, 133, 66, 231, 68, 196, 191, 34, 226,
			11, 192, 243, 128, 35, 72, 71, 101, 55, 101,
			110, 224, 35, 192, 77, 146, 246, 144, 84, 247,
			170, 19, 179, 206, 235, 228, 23, 69, 65, 135,
			2, 111, 41, 212, 86, 144, 230, 252, 155, 158,
			207, 44, 34, 34, 126, 14, 172, 73, 58, 65,
			112, 88, 29, 12, 188, 41, 34, 254, 81, 67,
			219, 31, 2, 150, 172, 161, 221, 210, 94, 12,
			188, 173, 237, 32, 102, 37, 34, 30, 140, 136,
			143, 144, 54, 245, 57, 153, 178, 187, 88, 206,
			206, 98, 164, 61, 64, 174, 147, 244, 250, 6,
			251, 53, 235, 156, 161, 77, 0, 36, 189, 131,
			180, 135, 120, 41, 251, 86, 7, 163, 244, 86,
			68, 220, 78, 90, 25, 240, 41, 154, 253, 210,
			173, 219, 173, 192, 54, 17, 113, 64, 29, 69,
			153, 213, 19, 245, 110, 133, 155, 189, 137, 180,
			199, 255, 233, 164, 205, 143, 74, 218, 189, 112,
			123, 181, 136, 136, 191, 68, 196, 91, 73, 133,
			130, 23, 52, 220, 253, 243, 129, 211, 37, 93,
			32, 233, 37, 13, 247, 109, 214, 9, 67, 185,
			12, 176, 154, 7, 61, 135, 114, 167, 251, 125,
			45, 34, 222, 93, 168, 173, 78, 144, 180, 37,
			105, 24, 246, 69, 109, 199, 146, 225, 1, 210,
			82, 179, 47, 214, 89, 144, 41, 105, 3, 202,
			84, 178, 223, 67, 26, 73, 56, 39, 34, 238,
			159, 174, 143, 37, 73, 155, 10, 125, 18, 152,
			63, 179, 159, 0, 150, 141, 136, 219, 50, 219,
			105, 84, 245, 68, 254, 41, 202, 213, 235, 140,
			87, 144, 182, 5, 223, 55, 34, 254, 210, 112,
			223, 189, 214, 213, 101, 128, 213, 65, 102, 107,
			144, 234, 78, 234, 60, 64, 234, 49, 224, 15,
			192, 181, 53, 141, 60, 214, 43, 34, 134, 234,
			69, 186, 161, 61, 68, 250, 163, 46, 241, 250,
			17, 48, 185, 237, 247, 85, 211, 207, 74, 192,
			27, 129, 223, 21, 252, 121, 53, 241, 122, 140,
			180, 147, 227, 34, 13, 253, 156, 62, 83, 32,
			230, 83, 128, 37, 198, 209, 215, 10, 164, 189,
			42, 114, 251, 219, 173, 237, 207, 215, 128, 63,
			235, 57, 73, 155, 8, 221, 211, 210, 231, 234,
			8, 96, 225, 182, 127, 14, 125, 121, 145, 110,
			178, 131, 254, 188, 175, 174, 33, 158, 53, 129,
			139, 129, 39, 26, 254, 236, 60, 9, 156, 4,
			44, 223, 246, 239, 100, 34, 175, 161, 154, 2,
			144, 180, 52, 233, 201, 191, 212, 209, 190, 215,
			144, 246, 248, 31, 202, 93, 197, 34, 249, 62,
			176, 58, 233, 233, 243, 186, 150, 67, 154, 157,
			0, 78, 4, 86, 142, 136, 15, 71, 68, 83,
			231, 211, 111, 157, 121, 253, 55, 34, 98, 219,
			136, 184, 103, 118, 255, 48, 34, 110, 6, 54,
			7, 126, 145, 217, 103, 110, 204, 173, 136, 84,
			40, 248, 69, 82, 161, 224, 103, 72, 55, 229,
			166, 204, 13, 124, 152, 84, 40, 184, 167, 11,
			5, 251, 69, 210, 126, 192, 165, 164, 41, 165,
			166, 79, 48, 157, 196, 191, 87, 155, 188, 161,
			225, 190, 7, 54, 52, 83, 0, 146, 22, 32,
			21, 184, 173, 89, 168, 201, 191, 1, 47, 141,
			158, 13, 163, 230, 168, 230, 186, 223, 4, 124,
			130, 52, 116, 214, 21, 1, 252, 132, 52, 68,
			219, 232, 129, 75, 213, 250, 241, 191, 100, 52,
			113, 11, 240, 162, 152, 224, 17, 209, 85, 191,
			191, 3, 158, 49, 96, 191, 255, 2, 230, 235,
			123, 242, 90, 253, 28, 62, 73, 42, 230, 45,
			118, 0, 213, 56, 221, 8, 236, 19, 17, 167,
			53, 220, 111, 111, 116, 101, 10, 64, 210, 187,
			232, 206, 62, 24, 143, 147, 150, 138, 255, 178,
			237, 64, 102, 103, 40, 70, 0, 198, 28, 237,
			91, 234, 230, 255, 119, 210, 209, 190, 35, 115,
			243, 7, 136, 180, 100, 240, 123, 164, 105, 148,
			215, 1, 223, 32, 237, 237, 223, 134, 199, 73,
			211, 47, 239, 6, 150, 142, 136, 87, 53, 125,
			243, 175, 44, 155, 121, 253, 59, 38, 122, 243,
			7, 136, 136, 91, 72, 167, 34, 14, 106, 78,
			250, 177, 106, 97, 150, 34, 226, 150, 136, 216,
			30, 120, 9, 205, 175, 96, 121, 30, 240, 125,
			73, 23, 85, 219, 136, 91, 7, 85, 73, 98,
			201, 195, 221, 114, 205, 13, 28, 47, 169, 206,
			218, 131, 34, 134, 34, 1, 0, 190, 4, 188,
			186, 80, 91, 79, 144, 150, 146, 253, 182, 80,
			123, 189, 83, 37, 2, 103, 71, 196, 59, 129,
			103, 3, 107, 147, 78, 121, 187, 132, 122, 55,
			20, 122, 136, 180, 44, 108, 59, 210, 124, 249,
			171, 35, 226, 107, 17, 113, 103, 141, 125, 206,
			206, 210, 25, 215, 222, 27, 17, 57, 67, 249,
			185, 135, 23, 229, 196, 222, 41, 17, 113, 121,
			68, 108, 66, 154, 218, 184, 190, 225, 238, 55,
			0, 46, 150, 244, 61, 73, 207, 109, 184, 111,
			155, 189, 143, 50, 248, 72, 89, 93, 150, 33,
			213, 87, 117, 90, 239, 19, 0, 73, 123, 3,
			239, 41, 216, 228, 110, 17, 241, 147, 130, 237,
			245, 90, 85, 39, 112, 101, 68, 28, 26, 17,
			235, 147, 158, 42, 119, 36, 221, 156, 174, 33,
			109, 185, 59, 209, 164, 32, 72, 69, 94, 215,
			144, 158, 242, 191, 72, 218, 168, 104, 137, 136,
			120, 107, 68, 156, 50, 200, 83, 115, 77, 150,
			202, 184, 54, 235, 44, 134, 72, 43, 5, 110,
			202, 104, 34, 39, 246, 78, 138, 116, 192, 207,
			106, 164, 165, 142, 179, 173, 169, 40, 108, 91,
			224, 15, 146, 62, 87, 157, 122, 104, 221, 208,
			213, 101, 156, 77, 28, 203, 158, 165, 243, 67,
			20, 179, 34, 233, 141, 192, 167, 11, 54, 249,
			169, 136, 248, 122, 193, 246, 134, 78, 85, 200,
			118, 98, 245, 2, 158, 158, 130, 89, 130, 148,
			28, 44, 73, 186, 241, 44, 9, 60, 11, 248,
			7, 255, 62, 30, 120, 218, 113, 193, 119, 68,
			196, 191, 154, 141, 124, 96, 57, 55, 209, 43,
			11, 244, 255, 27, 96, 197, 1, 175, 29, 186,
			4, 0, 160, 170, 107, 56, 70, 210, 137, 192,
			190, 192, 94, 52, 119, 62, 195, 92, 192, 7,
			129, 157, 37, 29, 2, 28, 19, 17, 83, 27,
			234, 219, 166, 83, 109, 245, 222, 213, 165, 204,
			27, 72, 154, 59, 210, 225, 108, 157, 212, 219,
			4, 64, 210, 250, 164, 155, 80, 169, 194, 160,
			239, 82, 118, 227, 160, 145, 17, 17, 79, 2,
			119, 86, 175, 97, 147, 83, 9, 254, 207, 2,
			253, 231, 180, 49, 212, 85, 236, 17, 241, 48,
			176, 175, 164, 175, 0, 135, 1, 219, 211, 92,
			161, 224, 34, 192, 145, 192, 238, 146, 246, 137,
			136, 83, 27, 234, 215, 254, 211, 146, 164, 164,
			172, 139, 230, 37, 141, 78, 52, 189, 201, 213,
			184, 245, 114, 10, 96, 204, 209, 190, 165, 178,
			254, 11, 129, 157, 98, 88, 150, 68, 88, 73,
			57, 69, 144, 107, 21, 232, 63, 231, 56, 219,
			182, 10, 56, 27, 21, 17, 183, 70, 196, 14,
			164, 159, 213, 148, 134, 187, 127, 46, 112, 138,
			164, 95, 87, 27, 70, 89, 179, 154, 94, 25,
			50, 81, 155, 182, 29, 192, 172, 244, 46, 1,
			144, 180, 24, 105, 222, 120, 241, 66, 77, 222,
			0, 108, 221, 229, 97, 26, 107, 85, 107, 9,
			64, 181, 155, 89, 206, 114, 204, 145, 72, 0,
			166, 137, 136, 43, 34, 98, 51, 210, 10, 150,
			63, 54, 220, 253, 250, 192, 69, 146, 78, 173,
			30, 80, 204, 192, 9, 64, 57, 99, 142, 246,
			125, 126, 161, 38, 239, 37, 173, 215, 108, 242,
			120, 82, 235, 151, 219, 51, 174, 125, 142, 164,
			149, 51, 174, 127, 5, 121, 27, 154, 228, 196,
			222, 91, 17, 113, 54, 105, 94, 120, 55, 154,
			63, 1, 243, 141, 192, 239, 37, 29, 37, 105,
			209, 134, 251, 182, 238, 89, 95, 82, 87, 167,
			40, 250, 147, 0, 84, 71, 251, 126, 11, 216,
			168, 80, 147, 143, 1, 175, 139, 136, 156, 42,
			107, 27, 126, 185, 79, 209, 223, 170, 138, 36,
			39, 68, 210, 130, 164, 213, 17, 57, 70, 106,
			4, 96, 172, 136, 120, 34, 34, 190, 66, 90,
			203, 255, 73, 224, 209, 6, 187, 159, 139, 84,
			152, 120, 147, 164, 15, 117, 249, 6, 96, 181,
			155, 23, 88, 175, 237, 32, 102, 166, 55, 9,
			0, 233, 143, 248, 205, 133, 218, 10, 96, 135,
			136, 184, 184, 80, 123, 54, 188, 110, 32, 239,
			41, 242, 165, 164, 117, 202, 19, 117, 36, 176,
			92, 70, 191, 151, 71, 141, 7, 36, 245, 69,
			68, 252, 61, 34, 62, 14, 172, 12, 156, 64,
			250, 219, 111, 202, 194, 164, 13, 106, 254, 40,
			105, 187, 6, 251, 181, 110, 217, 180, 237, 0,
			102, 166, 23, 9, 128, 164, 93, 201, 219, 21,
			109, 122, 31, 169, 246, 192, 55, 155, 165, 136,
			120, 138, 84, 112, 154, 227, 64, 73, 251, 140,
			103, 36, 64, 210, 60, 146, 142, 4, 222, 145,
			217, 231, 153, 153, 215, 15, 149, 136, 248, 107,
			68, 188, 157, 180, 169, 85, 211, 91, 180, 174,
			0, 124, 87, 210, 37, 146, 54, 108, 184, 111,
			107, 223, 166, 109, 7, 48, 51, 157, 63, 11,
			160, 58, 182, 246, 135, 148, 91, 178, 248, 149,
			136, 40, 125, 182, 187, 13, 49, 73, 175, 33,
			125, 6, 115, 93, 66, 90, 109, 50, 195, 157,
			236, 36, 173, 7, 28, 79, 122, 90, 205, 181,
			90, 68, 116, 253, 112, 167, 214, 84, 191, 211,
			35, 128, 85, 90, 232, 254, 116, 224, 163, 17,
			113, 99, 11, 125, 23, 213, 246, 89, 0, 146,
			150, 7, 110, 30, 240, 242, 71, 72, 39, 248,
			141, 199, 11, 128, 77, 6, 236, 231, 81, 210,
			9, 147, 157, 219, 47, 162, 211, 9, 128, 164,
			213, 73, 75, 244, 74, 109, 243, 120, 46, 105,
			222, 255, 201, 66, 237, 217, 8, 144, 52, 15,
			105, 215, 185, 5, 10, 52, 23, 164, 221, 253,
			174, 32, 109, 20, 52, 23, 233, 169, 116, 45,
			242, 134, 252, 199, 186, 49, 34, 74, 21, 202,
			14, 173, 106, 68, 102, 87, 224, 64, 210, 166,
			85, 77, 250, 23, 240, 21, 224, 224, 62, 23,
			33, 247, 60, 1, 184, 37, 34, 150, 31, 103,
			63, 235, 2, 151, 13, 216, 15, 192, 203, 34,
			162, 115, 251, 1, 116, 118, 10, 64, 210, 179,
			73, 71, 251, 150, 186, 249, 95, 5, 108, 231,
			155, 191, 77, 84, 53, 151, 158, 187, 47, 255,
			52, 34, 21, 166, 109, 71, 218, 197, 242, 16,
			210, 254, 246, 165, 110, 254, 144, 138, 101, 109,
			54, 34, 226, 201, 136, 248, 42, 105, 85, 209,
			97, 52, 91, 40, 56, 39, 240, 126, 224, 70,
			73, 123, 87, 43, 156, 172, 187, 174, 36, 29,
			18, 55, 168, 77, 11, 197, 81, 84, 39, 19,
			128, 234, 104, 223, 31, 146, 14, 84, 40, 225,
			175, 192, 255, 70, 196, 35, 133, 218, 179, 209,
			115, 32, 101, 118, 246, 171, 219, 29, 192, 81,
			109, 7, 209, 39, 85, 161, 224, 126, 164, 68,
			224, 120, 234, 61, 240, 106, 122, 11, 3, 159,
			33, 21, 10, 190, 165, 90, 237, 100, 29, 83,
			61, 56, 230, 60, 193, 111, 90, 40, 148, 162,
			58, 151, 0, 84, 195, 114, 167, 0, 69, 206,
			137, 6, 30, 38, 29, 237, 59, 146, 107, 162,
			173, 140, 234, 104, 232, 207, 183, 29, 199, 56,
			28, 16, 17, 125, 72, 84, 58, 39, 34, 110,
			139, 136, 157, 72, 83, 50, 57, 167, 56, 14,
			98, 121, 224, 59, 192, 165, 146, 54, 110, 184,
			111, 27, 159, 41, 25, 215, 118, 114, 63, 128,
			206, 37, 0, 192, 49, 192, 171, 10, 181, 245,
			4, 240, 198, 136, 248, 93, 161, 246, 108, 180,
			125, 154, 230, 79, 160, 155, 136, 223, 3, 223,
			108, 59, 136, 190, 139, 136, 171, 35, 226, 21,
			192, 107, 128, 166, 11, 41, 215, 5, 206, 151,
			116, 134, 164, 149, 26, 238, 219, 102, 109, 74,
			198, 181, 157, 220, 15, 160, 83, 9, 128, 164,
			143, 0, 239, 46, 216, 228, 123, 34, 226, 103,
			5, 219, 179, 17, 86, 29, 62, 179, 103, 219,
			113, 204, 196, 19, 192, 123, 93, 227, 82, 78,
			68, 156, 11, 188, 152, 244, 157, 212, 244, 65,
			87, 91, 3, 215, 73, 250, 162, 164, 82, 219,
			158, 91, 158, 161, 171, 3, 232, 76, 2, 32,
			105, 91, 224, 83, 5, 155, 60, 44, 34, 190,
			81, 176, 61, 51, 34, 226, 100, 210, 156, 109,
			215, 188, 63, 34, 206, 111, 59, 136, 97, 83,
			21, 10, 126, 141, 84, 31, 112, 8, 205, 214,
			129, 76, 6, 118, 39, 21, 10, 126, 180, 90,
			141, 98, 45, 25, 198, 58, 128, 78, 36, 0,
			213, 41, 90, 199, 83, 238, 100, 167, 239, 0,
			251, 23, 106, 203, 108, 122, 251, 146, 86, 168,
			116, 197, 87, 170, 109, 111, 173, 38, 17, 241,
			72, 68, 124, 130, 148, 8, 28, 71, 179, 133,
			130, 11, 145, 30, 142, 174, 151, 180, 189, 11,
			5, 91, 53, 37, 227, 218, 206, 213, 1, 180,
			158, 0, 72, 122, 30, 112, 22, 229, 142, 246,
			61, 31, 216, 197, 71, 251, 90, 93, 170, 221,
			1, 223, 10, 92, 219, 118, 44, 164, 98, 181,
			247, 183, 29, 196, 168, 136, 136, 219, 35, 98,
			23, 96, 77, 160, 233, 233, 197, 229, 128, 111,
			3, 151, 73, 26, 116, 83, 26, 203, 51, 37,
			227, 218, 206, 213, 1, 180, 154, 0, 84, 71,
			251, 158, 75, 185, 163, 125, 175, 7, 94, 239,
			163, 125, 173, 110, 85, 61, 192, 70, 192, 79,
			90, 12, 227, 4, 210, 10, 151, 39, 90, 140,
			97, 36, 69, 196, 111, 35, 98, 11, 82, 193,
			114, 211, 137, 224, 58, 192, 20, 73, 103, 101,
			158, 54, 105, 19, 55, 84, 117, 0, 173, 37,
			0, 213, 124, 214, 89, 148, 59, 218, 247, 30,
			210, 209, 190, 247, 23, 106, 207, 108, 150, 34,
			226, 33, 82, 165, 248, 209, 13, 119, 253, 20,
			233, 60, 139, 183, 59, 217, 109, 87, 68, 252,
			152, 180, 100, 121, 87, 154, 63, 125, 241, 117,
			192, 181, 146, 142, 145, 180, 68, 195, 125, 143,
			164, 97, 171, 3, 104, 37, 1, 168, 230, 176,
			142, 7, 74, 29, 140, 241, 40, 105, 139, 223,
			63, 23, 106, 207, 108, 92, 170, 34, 177, 189,
			72, 135, 247, 60, 212, 64, 151, 119, 146, 62,
			235, 71, 52, 208, 151, 141, 67, 245, 25, 56,
			150, 244, 48, 115, 16, 240, 143, 6, 187, 159,
			12, 236, 70, 42, 20, 220, 215, 133, 130, 141,
			152, 146, 113, 109, 167, 234, 0, 218, 26, 1,
			56, 28, 216, 182, 80, 91, 79, 1, 111, 139,
			136, 75, 10, 181, 103, 54, 97, 17, 241, 77,
			224, 185, 164, 99, 124, 235, 120, 42, 127, 24,
			216, 15, 88, 49, 34, 186, 84, 128, 104, 149,
			136, 248, 71, 68, 28, 72, 74, 4, 190, 65,
			179, 133, 130, 11, 146, 142, 76, 191, 65, 210,
			14, 46, 20, 172, 213, 148, 140, 107, 59, 85,
			7, 208, 120, 2, 32, 233, 93, 12, 118, 62,
			250, 204, 236, 29, 17, 167, 23, 108, 207, 108,
			32, 17, 113, 127, 68, 124, 8, 88, 137, 180,
			31, 127, 137, 189, 229, 31, 38, 237, 64, 184,
			98, 68, 28, 230, 93, 254, 186, 47, 34, 238,
			136, 136, 119, 146, 166, 6, 154, 174, 17, 89,
			150, 84, 27, 114, 185, 164, 205, 26, 238, 123,
			84, 92, 73, 250, 187, 28, 212, 166, 133, 226,
			200, 214, 104, 2, 32, 233, 127, 72, 59, 253,
			149, 114, 76, 68, 28, 89, 176, 61, 179, 108,
			17, 113, 107, 68, 236, 76, 42, 110, 221, 134,
			244, 133, 60, 145, 218, 148, 219, 129, 175, 2,
			255, 3, 44, 17, 17, 31, 136, 136, 123, 203,
			71, 106, 117, 138, 136, 223, 69, 196, 255, 0,
			91, 2, 77, 239, 70, 186, 22, 240, 75, 73,
			103, 75, 106, 227, 200, 227, 161, 85, 213, 1,
			92, 152, 209, 196, 166, 133, 66, 201, 214, 216,
			113, 192, 146, 94, 76, 42, 158, 40, 117, 186,
			223, 15, 129, 173, 189, 243, 153, 245, 65, 117,
			198, 197, 11, 129, 103, 3, 75, 141, 121, 61,
			73, 42, 30, 155, 246, 250, 27, 240, 7, 47,
			99, 29, 46, 146, 38, 1, 59, 145, 54, 19,
			90, 186, 225, 238, 159, 0, 142, 37, 157, 19,
			113, 119, 201, 134, 71, 229, 56, 224, 25, 244,
			187, 55, 131, 111, 8, 246, 40, 176, 112, 68,
			76, 29, 240, 250, 98, 26, 73, 0, 170, 163,
			125, 47, 37, 125, 249, 149, 240, 32, 240, 62,
			96, 42, 233, 201, 234, 78, 224, 78, 175, 0,
			48, 179, 46, 147, 52, 63, 240, 97, 96, 111,
			96, 254, 134, 187, 255, 59, 233, 60, 139, 35,
			35, 162, 200, 209, 199, 35, 156, 0, 172, 11,
			92, 54, 96, 191, 0, 47, 139, 136, 156, 213,
			4, 69, 212, 158, 0, 72, 122, 6, 233, 201,
			255, 197, 181, 118, 148, 76, 5, 238, 162, 74,
			8, 170, 215, 13, 192, 79, 35, 226, 183, 13,
			244, 111, 102, 54, 91, 146, 150, 36, 141, 6,
			236, 12, 204, 209, 112, 247, 127, 35, 21, 148,
			158, 88, 109, 106, 53, 176, 17, 78, 0, 230,
			32, 61, 124, 46, 56, 96, 223, 159, 136, 136,
			67, 6, 188, 182, 152, 90, 107, 0, 36, 77,
			6, 78, 165, 153, 155, 63, 192, 92, 164, 34,
			152, 117, 129, 215, 146, 214, 230, 30, 1, 92,
			35, 233, 118, 73, 199, 73, 218, 78, 210, 162,
			13, 197, 99, 102, 246, 95, 34, 226, 206, 136,
			216, 149, 84, 40, 216, 244, 209, 195, 203, 144,
			138, 84, 175, 144, 180, 121, 195, 125, 15, 133,
			97, 169, 3, 168, 187, 8, 240, 203, 164, 2,
			152, 46, 88, 138, 52, 7, 247, 93, 224, 30,
			73, 151, 72, 58, 176, 202, 96, 205, 204, 26,
			37, 105, 53, 224, 157, 164, 109, 133, 219, 176,
			6, 240, 115, 73, 231, 72, 90, 181, 165, 24,
			250, 108, 74, 198, 181, 157, 216, 15, 160, 182,
			4, 64, 210, 62, 164, 39, 240, 46, 154, 68,
			90, 139, 121, 0, 112, 149, 164, 31, 75, 218,
			168, 229, 152, 204, 108, 200, 73, 154, 95, 210,
			59, 36, 93, 76, 90, 25, 176, 39, 208, 246,
			136, 228, 171, 129, 223, 74, 250, 63, 73, 207,
			106, 57, 150, 62, 153, 146, 113, 109, 39, 246,
			3, 168, 37, 1, 144, 180, 29, 105, 83, 138,
			190, 216, 18, 184, 64, 210, 121, 146, 94, 217,
			118, 48, 102, 54, 92, 36, 45, 34, 233, 72,
			210, 74, 143, 99, 129, 151, 182, 28, 210, 244,
			230, 0, 222, 69, 218, 81, 112, 127, 73, 243,
			182, 29, 80, 15, 244, 126, 63, 128, 226, 9,
			64, 245, 36, 93, 242, 104, 223, 38, 189, 12,
			248, 169, 164, 75, 37, 189, 206, 187, 105, 153,
			89, 14, 73, 147, 37, 189, 15, 248, 19, 240,
			1, 202, 45, 131, 174, 203, 2, 192, 193, 164,
			17, 1, 143, 138, 206, 194, 48, 212, 1, 20,
			77, 0, 36, 61, 31, 56, 19, 152, 187, 100,
			187, 45, 120, 9, 233, 160, 162, 171, 36, 181,
			62, 76, 99, 102, 253, 35, 105, 11, 224, 26,
			224, 75, 192, 98, 45, 135, 51, 81, 207, 3,
			206, 147, 244, 121, 73, 243, 181, 29, 76, 135,
			77, 201, 184, 182, 245, 58, 128, 201, 165, 26,
			146, 180, 56, 233, 104, 223, 190, 125, 208, 103,
			229, 197, 192, 133, 146, 14, 0, 62, 149, 187,
			100, 166, 11, 170, 81, 141, 37, 248, 247, 70,
			52, 179, 58, 60, 228, 41, 210, 147, 203, 245,
			77, 191, 247, 106, 249, 232, 154, 180, 63, 63,
			106, 245, 122, 132, 52, 44, 126, 123, 68, 60,
			208, 118, 48, 37, 72, 90, 134, 180, 147, 227,
			107, 218, 142, 37, 211, 36, 82, 141, 194, 107,
			36, 237, 20, 17, 23, 181, 29, 80, 7, 77,
			201, 184, 118, 90, 29, 64, 107, 251, 1, 20,
			73, 0, 198, 28, 237, 251, 188, 18, 237, 117,
			204, 100, 224, 48, 224, 149, 146, 118, 136, 136,
			191, 181, 29, 208, 68, 85, 155, 143, 188, 6,
			216, 154, 84, 240, 179, 208, 4, 155, 120, 68,
			210, 37, 164, 35, 104, 7, 93, 243, 59, 91,
			213, 110, 105, 123, 146, 230, 34, 87, 162, 197,
			227, 170, 173, 121, 146, 110, 7, 126, 64, 26,
			69, 252, 69, 68, 60, 209, 114, 72, 19, 86,
			109, 119, 126, 34, 105, 27, 232, 97, 49, 109,
			52, 224, 227, 192, 103, 188, 75, 229, 127, 152,
			86, 7, 48, 232, 126, 0, 155, 210, 98, 2,
			64, 68, 100, 189, 72, 115, 253, 167, 0, 49,
			2, 175, 251, 128, 109, 114, 127, 102, 77, 189,
			72, 251, 34, 236, 9, 220, 83, 232, 253, 79,
			5, 14, 4, 230, 168, 33, 214, 21, 73, 243,
			105, 109, 255, 142, 253, 234, 198, 235, 6, 250,
			245, 183, 54, 7, 112, 40, 105, 212, 172, 237,
			159, 93, 157, 175, 51, 73, 219, 216, 78, 123,
			223, 107, 100, 180, 117, 117, 129, 159, 251, 242,
			25, 253, 255, 165, 208, 239, 254, 156, 140, 24,
			126, 209, 230, 231, 182, 196, 19, 214, 167, 129,
			55, 21, 104, 167, 15, 22, 5, 78, 171, 150,
			203, 116, 122, 94, 172, 170, 93, 248, 35, 233,
			36, 185, 82, 79, 35, 115, 146, 150, 78, 126,
			164, 80, 123, 0, 84, 21, 199, 63, 2, 54,
			44, 217, 174, 245, 218, 243, 73, 127, 107, 23,
			84, 91, 137, 119, 86, 181, 171, 223, 207, 128,
			143, 211, 207, 226, 231, 137, 216, 138, 116, 210,
			160, 247, 79, 249, 183, 41, 25, 215, 182, 90,
			7, 144, 149, 0, 72, 122, 15, 105, 79, 235,
			81, 243, 46, 224, 215, 146, 58, 89, 239, 32,
			233, 173, 164, 15, 229, 10, 53, 117, 113, 64,
			225, 141, 67, 14, 39, 125, 225, 155, 77, 111,
			35, 210, 13, 167, 147, 197, 184, 213, 158, 240,
			87, 1, 163, 116, 244, 238, 138, 192, 197, 146,
			118, 105, 59, 144, 142, 152, 146, 113, 109, 171,
			251, 1, 12, 156, 0, 72, 122, 21, 169, 186,
			117, 84, 189, 24, 248, 153, 164, 133, 219, 14,
			100, 172, 106, 201, 209, 73, 204, 186, 184, 47,
			215, 220, 164, 225, 206, 108, 213, 94, 222, 239,
			47, 209, 150, 13, 173, 37, 73, 115, 208, 47,
			111, 59, 144, 177, 36, 173, 67, 122, 242, 95,
			178, 237, 88, 90, 48, 15, 240, 13, 224, 168,
			182, 3, 233, 128, 222, 238, 7, 48, 80, 2,
			80, 13, 255, 156, 66, 243, 135, 88, 116, 205,
			154, 192, 79, 36, 13, 90, 0, 82, 148, 164,
			45, 129, 163, 27, 234, 110, 253, 66, 237, 172,
			199, 240, 15, 155, 90, 190, 185, 129, 239, 87,
			75, 141, 91, 39, 105, 45, 224, 167, 76, 188,
			160, 118, 216, 108, 218, 118, 0, 109, 139, 30,
			239, 7, 48, 225, 85, 0, 213, 18, 151, 115,
			72, 27, 70, 180, 97, 42, 105, 217, 208, 109,
			164, 147, 255, 22, 37, 29, 51, 252, 108, 210,
			112, 74, 211, 94, 2, 252, 72, 210, 150, 17,
			241, 72, 11, 253, 3, 79, 63, 73, 127, 143,
			230, 146, 178, 37, 37, 45, 19, 249, 171, 34,
			214, 45, 18, 141, 141, 130, 69, 128, 179, 37,
			173, 17, 17, 143, 181, 21, 68, 245, 0, 244,
			179, 42, 158, 166, 61, 1, 220, 93, 189, 238,
			34, 157, 45, 191, 4, 240, 172, 234, 213, 245,
			141, 134, 134, 213, 20, 210, 10, 171, 65, 172,
			47, 105, 174, 136, 152, 90, 48, 158, 113, 153,
			80, 2, 80, 61, 233, 158, 3, 44, 93, 79,
			56, 255, 229, 26, 210, 242, 194, 203, 72, 55,
			252, 219, 128, 123, 163, 42, 189, 156, 65, 124,
			139, 240, 239, 100, 96, 117, 224, 117, 192, 6,
			212, 191, 156, 108, 3, 224, 135, 146, 94, 29,
			17, 255, 172, 185, 175, 153, 57, 156, 230, 159,
			70, 22, 33, 29, 45, 154, 219, 134, 217, 120,
			173, 12, 236, 14, 124, 182, 141, 206, 37, 173,
			14, 252, 156, 102, 246, 167, 120, 4, 56, 191,
			234, 111, 10, 112, 43, 112, 255, 204, 190, 255,
			170, 248, 230, 5, 158, 9, 172, 13, 188, 2,
			216, 156, 180, 164, 214, 234, 53, 37, 227, 218,
			246, 246, 3, 152, 192, 82, 135, 73, 164, 74,
			237, 58, 151, 152, 76, 37, 101, 214, 187, 3,
			203, 21, 90, 162, 177, 56, 233, 20, 192, 211,
			73, 127, 80, 117, 198, 255, 51, 96, 158, 166,
			151, 114, 144, 158, 162, 155, 94, 126, 244, 79,
			96, 114, 129, 216, 223, 215, 112, 220, 126, 245,
			255, 117, 31, 99, 150, 162, 53, 248, 119, 182,
			36, 105, 244, 177, 206, 247, 118, 43, 105, 169,
			237, 134, 192, 156, 133, 226, 94, 22, 216, 153,
			244, 240, 214, 165, 101, 138, 67, 177, 12, 176,
			138, 99, 14, 224, 161, 140, 88, 246, 111, 250,
			243, 28, 17, 76, 228, 13, 238, 83, 227, 7,
			225, 62, 210, 62, 217, 11, 213, 252, 7, 60,
			15, 176, 3, 112, 115, 141, 239, 229, 184, 198,
			127, 137, 237, 236, 195, 112, 113, 161, 216, 215,
			107, 33, 118, 191, 250, 255, 250, 96, 195, 127,
			99, 115, 0, 191, 170, 241, 253, 252, 150, 244,
			221, 84, 228, 166, 63, 139, 247, 177, 42, 169,
			120, 239, 241, 14, 252, 14, 135, 38, 1, 168,
			98, 233, 221, 126, 0, 227, 125, 99, 107, 144,
			158, 206, 75, 127, 0, 30, 37, 237, 35, 208,
			104, 54, 79, 42, 40, 250, 16, 112, 127, 77,
			31, 236, 173, 26, 126, 47, 15, 183, 240, 199,
			187, 75, 161, 248, 39, 3, 87, 180, 16, 191,
			95, 253, 126, 157, 223, 240, 119, 198, 97, 53,
			189, 143, 41, 192, 255, 52, 249, 94, 170, 247,
			179, 20, 105, 218, 176, 141, 239, 142, 105, 175,
			97, 75, 0, 246, 206, 136, 229, 159, 192, 92,
			141, 127, 14, 198, 241, 166, 230, 1, 174, 45,
			252, 139, 127, 10, 56, 129, 66, 195, 252, 25,
			191, 176, 69, 72, 115, 137, 143, 21, 126, 127,
			119, 1, 75, 52, 244, 30, 94, 213, 194, 31,
			238, 143, 11, 191, 135, 23, 214, 240, 59, 240,
			107, 184, 95, 79, 0, 139, 55, 248, 55, 86,
			122, 232, 252, 65, 96, 231, 54, 191, 255, 170,
			247, 182, 28, 169, 198, 160, 141, 223, 225, 176,
			37, 0, 235, 102, 254, 60, 54, 106, 250, 247,
			63, 158, 226, 184, 79, 146, 190, 160, 75, 185,
			21, 88, 47, 34, 118, 140, 136, 91, 11, 182,
			59, 97, 17, 241, 64, 68, 124, 24, 88, 133,
			180, 150, 179, 148, 103, 2, 95, 43, 216, 222,
			172, 148, 90, 142, 55, 94, 127, 4, 118, 45,
			217, 96, 68, 92, 71, 170, 251, 104, 188, 10,
			214, 122, 107, 14, 26, 216, 64, 69, 210, 178,
			164, 189, 253, 75, 46, 85, 253, 9, 176, 90,
			68, 28, 87, 176, 205, 129, 84, 223, 193, 175,
			36, 253, 253, 253, 163, 229, 112, 250, 174, 119,
			251, 1, 204, 50, 1, 168, 54, 222, 216, 171,
			96, 127, 191, 6, 214, 141, 136, 223, 20, 108,
			51, 91, 68, 220, 12, 108, 76, 154, 75, 47,
			101, 107, 73, 59, 21, 108, 111, 102, 154, 90,
			145, 241, 20, 240, 57, 96, 205, 136, 248, 107,
			233, 198, 35, 226, 88, 82, 229, 114, 201, 68,
			204, 134, 219, 178, 13, 244, 113, 2, 229, 78,
			56, 125, 4, 216, 53, 34, 254, 39, 58, 116,
			168, 88, 36, 199, 144, 54, 55, 243, 137, 127,
			3, 138, 30, 238, 7, 48, 211, 101, 128, 213,
			14, 119, 223, 162, 92, 230, 123, 28, 240, 158,
			104, 97, 173, 227, 120, 68, 90, 190, 183, 157,
			164, 107, 129, 131, 40, 243, 190, 143, 150, 244,
			203, 154, 71, 58, 114, 18, 128, 155, 73, 197,
			71, 51, 51, 237, 56, 224, 203, 129, 75, 235,
			30, 177, 137, 136, 107, 171, 45, 95, 215, 6,
			214, 169, 254, 211, 199, 1, 15, 183, 141, 25,
			252, 119, 188, 76, 201, 64, 166, 39, 233, 245,
			148, 251, 82, 126, 144, 52, 215, 127, 105, 161,
			246, 138, 139, 136, 155, 170, 135, 190, 239, 2,
			175, 111, 59, 158, 158, 154, 194, 224, 251, 1,
			108, 208, 244, 126, 0, 179, 218, 7, 224, 40,
			202, 100, 216, 79, 146, 142, 145, 61, 178, 64,
			91, 181, 139, 136, 67, 36, 93, 71, 202, 252,
			231, 207, 108, 110, 65, 224, 91, 146, 54, 143,
			106, 146, 168, 6, 57, 235, 232, 119, 140, 136,
			156, 140, 181, 184, 72, 71, 192, 94, 90, 189,
			108, 200, 73, 218, 29, 248, 226, 128, 151, 215,
			118, 22, 135, 164, 57, 73, 5, 202, 37, 220,
			3, 188, 50, 34, 174, 41, 212, 94, 109, 34,
			98, 170, 164, 55, 145, 30, 216, 118, 104, 59,
			158, 30, 250, 85, 198, 181, 243, 146, 54, 150,
			107, 236, 59, 121, 134, 83, 0, 146, 158, 75,
			153, 95, 126, 0, 219, 247, 229, 230, 63, 77,
			68, 156, 78, 218, 64, 227, 209, 2, 205, 109,
			6, 188, 166, 64, 59, 51, 147, 51, 82, 209,
			187, 243, 214, 109, 232, 228, 124, 6, 235, 220,
			66, 250, 189, 148, 57, 160, 234, 54, 224, 101,
			125, 184, 249, 79, 83, 13, 101, 191, 29, 248,
			114, 219, 177, 244, 208, 85, 244, 168, 14, 96,
			102, 53, 0, 31, 166, 204, 150, 178, 7, 69,
			196, 247, 10, 180, 211, 184, 106, 168, 174, 212,
			105, 87, 31, 46, 212, 142, 153, 213, 172, 154,
			254, 252, 68, 129, 166, 238, 4, 54, 142, 136,
			63, 22, 104, 171, 81, 85, 93, 192, 251, 128,
			47, 180, 29, 75, 159, 84, 201, 83, 206, 142,
			126, 155, 22, 10, 101, 92, 254, 43, 1, 144,
			180, 4, 105, 231, 188, 92, 167, 0, 7, 23,
			104, 167, 53, 17, 241, 93, 224, 144, 2, 77,
			109, 82, 157, 28, 102, 102, 221, 183, 31, 249,
			211, 11, 79, 2, 111, 169, 10, 140, 251, 236,
			67, 52, 56, 36, 61, 36, 166, 100, 92, 187,
			129, 164, 185, 74, 5, 50, 59, 51, 26, 1,
			120, 63, 249, 135, 234, 92, 1, 236, 84, 227,
			188, 119, 147, 14, 0, 78, 43, 208, 142, 71,
			1, 204, 58, 174, 122, 250, 223, 173, 64, 83,
			7, 68, 196, 148, 2, 237, 180, 170, 170, 201,
			121, 51, 112, 111, 219, 177, 244, 200, 148, 140,
			107, 167, 213, 1, 52, 226, 63, 18, 0, 73,
			11, 144, 246, 102, 207, 113, 59, 105, 39, 188,
			18, 243, 231, 173, 171, 146, 152, 29, 73, 115,
			59, 57, 222, 88, 157, 216, 103, 102, 221, 245,
			86, 242, 31, 128, 126, 76, 218, 63, 101, 40,
			68, 196, 109, 164, 154, 176, 97, 120, 160, 107,
			66, 111, 234, 0, 166, 31, 1, 216, 149, 252,
			211, 217, 118, 171, 62, 48, 67, 163, 90, 34,
			248, 54, 210, 176, 222, 160, 230, 160, 236, 158,
			10, 102, 86, 222, 59, 50, 175, 191, 13, 120,
			219, 144, 140, 126, 62, 45, 34, 126, 76, 185,
			85, 17, 67, 173, 79, 117, 0, 79, 39, 0,
			146, 38, 147, 14, 228, 201, 113, 81, 68, 156,
			149, 217, 70, 39, 69, 196, 239, 129, 227, 51,
			155, 121, 71, 53, 196, 104, 102, 29, 35, 105,
			77, 96, 173, 204, 102, 62, 22, 17, 247, 149,
			136, 167, 131, 14, 38, 141, 240, 218, 236, 77,
			201, 184, 182, 177, 58, 128, 177, 35, 0, 27,
			147, 191, 238, 255, 163, 153, 215, 119, 221, 1,
			228, 45, 13, 92, 128, 116, 44, 167, 153, 117,
			79, 238, 211, 255, 117, 192, 183, 75, 4, 210,
			69, 213, 180, 110, 175, 11, 187, 27, 52, 37,
			227, 218, 198, 234, 0, 198, 38, 0, 175, 204,
			108, 235, 7, 17, 49, 212, 219, 72, 86, 219,
			119, 14, 186, 105, 201, 52, 91, 150, 136, 197,
			204, 202, 145, 52, 15, 176, 125, 102, 51, 31,
			143, 136, 167, 74, 196, 211, 97, 223, 32, 237,
			14, 106, 179, 214, 139, 58, 128, 177, 9, 192,
			22, 25, 237, 60, 9, 236, 155, 25, 75, 95,
			28, 14, 60, 144, 113, 253, 70, 213, 46, 99,
			102, 214, 29, 91, 2, 57, 211, 115, 151, 12,
			235, 244, 231, 88, 213, 170, 128, 18, 123, 36,
			12, 181, 190, 212, 1, 76, 2, 144, 180, 24,
			176, 102, 70, 59, 39, 85, 115, 228, 67, 47,
			34, 30, 4, 142, 200, 104, 98, 126, 210, 177,
			145, 102, 214, 29, 27, 101, 94, 63, 74, 55,
			197, 239, 145, 142, 136, 183, 89, 155, 146, 113,
			109, 35, 117, 0, 211, 70, 0, 94, 193, 108,
			78, 6, 156, 141, 239, 20, 136, 165, 79, 114,
			223, 239, 102, 69, 162, 48, 179, 82, 54, 204,
			184, 246, 78, 224, 23, 165, 2, 233, 186, 106,
			133, 195, 73, 109, 199, 209, 3, 83, 50, 174,
			109, 164, 14, 96, 218, 77, 63, 103, 248, 255,
			97, 242, 14, 64, 232, 157, 136, 184, 5, 184,
			58, 163, 9, 39, 0, 102, 29, 33, 105, 110,
			210, 201, 147, 131, 58, 99, 4, 230, 254, 167,
			119, 106, 219, 1, 244, 64, 231, 235, 0, 166,
			37, 0, 57, 5, 128, 231, 118, 245, 136, 223,
			154, 157, 153, 113, 237, 6, 213, 151, 142, 153,
			181, 111, 29, 32, 103, 184, 181, 196, 78, 161,
			189, 18, 17, 55, 145, 191, 57, 218, 80, 235,
			67, 29, 192, 36, 73, 43, 147, 183, 252, 47,
			231, 70, 216, 103, 57, 239, 123, 94, 96, 189,
			82, 129, 152, 89, 150, 156, 225, 255, 251, 200,
			27, 234, 237, 179, 239, 183, 29, 64, 15, 76,
			201, 184, 182, 246, 58, 128, 201, 192, 202, 25,
			215, 79, 5, 206, 45, 20, 203, 132, 72, 154,
			15, 88, 5, 184, 37, 34, 26, 223, 167, 58,
			34, 174, 145, 116, 51, 176, 194, 128, 77, 108,
			47, 41, 167, 238, 98, 154, 5, 51, 174, 93,
			171, 90, 254, 100, 214, 150, 149, 50, 174, 93,
			90, 210, 166, 5, 98, 120, 85, 198, 181, 215,
			0, 27, 75, 117, 158, 76, 220, 89, 119, 101,
			94, 191, 64, 129, 223, 223, 146, 153, 215, 215,
			109, 74, 198, 181, 211, 234, 0, 106, 59, 140,
			73, 164, 237, 127, 191, 54, 224, 245, 63, 141,
			136, 198, 214, 181, 87, 55, 171, 253, 129, 215,
			145, 110, 254, 211, 142, 44, 190, 5, 56, 159,
			180, 11, 215, 223, 26, 140, 231, 104, 210, 225,
			73, 102, 102, 214, 47, 183, 68, 196, 242, 117,
			118, 32, 105, 14, 224, 126, 6, 127, 80, 219,
			63, 34, 14, 45, 24, 210, 127, 152, 4, 60,
			43, 227, 250, 27, 74, 5, 50, 59, 213, 113,
			186, 87, 2, 31, 3, 86, 227, 223, 55, 127,
			128, 231, 144, 14, 171, 184, 86, 210, 78, 77,
			197, 68, 131, 239, 223, 204, 204, 250, 165, 235,
			117, 0, 185, 9, 64, 35, 251, 66, 75, 90,
			150, 180, 204, 102, 149, 217, 252, 211, 133, 128,
			227, 36, 109, 87, 127, 84, 128, 247, 197, 54,
			51, 179, 89, 155, 146, 113, 109, 173, 117, 0,
			189, 72, 0, 128, 175, 51, 177, 33, 148, 47,
			73, 90, 162, 174, 96, 198, 184, 163, 129, 62,
			204, 204, 172, 191, 166, 100, 92, 91, 235, 126,
			0, 185, 9, 64, 237, 55, 64, 73, 175, 98,
			226, 251, 231, 47, 14, 236, 87, 67, 56, 211,
			243, 8, 128, 153, 153, 205, 74, 103, 247, 3,
			232, 195, 8, 192, 160, 75, 116, 114, 150, 246,
			140, 215, 157, 192, 80, 157, 251, 109, 102, 102,
			229, 116, 185, 14, 96, 18, 240, 204, 140, 235,
			155, 24, 2, 95, 103, 192, 235, 94, 84, 247,
			26, 202, 106, 3, 164, 97, 61, 251, 219, 204,
			204, 202, 152, 146, 113, 109, 109, 117, 0, 147,
			72, 115, 12, 131, 250, 71, 169, 64, 102, 97,
			208, 17, 138, 185, 128, 69, 74, 6, 50, 19,
			143, 52, 208, 135, 153, 153, 245, 215, 148, 140,
			107, 107, 171, 3, 152, 68, 26, 198, 30, 84,
			206, 244, 193, 120, 13, 186, 221, 228, 29, 17,
			145, 187, 81, 197, 120, 116, 125, 35, 10, 51,
			51, 107, 87, 39, 235, 0, 38, 145, 55, 143,
			191, 116, 169, 64, 102, 225, 242, 134, 175, 27,
			55, 73, 139, 0, 222, 73, 207, 204, 204, 102,
			170, 171, 117, 0, 125, 72, 0, 206, 4, 30,
			26, 224, 186, 19, 74, 7, 50, 3, 77, 188,
			127, 51, 51, 235, 191, 41, 25, 215, 214, 82,
			7, 144, 155, 0, 44, 85, 42, 144, 153, 137,
			136, 219, 129, 61, 39, 120, 217, 105, 17, 209,
			196, 65, 21, 181, 191, 127, 51, 51, 27, 10,
			83, 50, 174, 173, 165, 14, 160, 15, 35, 0,
			68, 196, 241, 192, 113, 227, 252, 231, 127, 4,
			118, 171, 49, 156, 177, 60, 2, 96, 102, 102,
			227, 209, 185, 58, 128, 94, 36, 0, 0, 17,
			177, 11, 240, 38, 224, 238, 153, 252, 147, 167,
			128, 207, 1, 107, 70, 196, 204, 254, 77, 105,
			78, 0, 204, 204, 108, 182, 186, 88, 7, 48,
			153, 188, 4, 224, 101, 165, 2, 25, 143, 136,
			248, 190, 164, 159, 3, 155, 144, 246, 7, 88,
			29, 248, 43, 169, 224, 239, 162, 136, 248, 83,
			147, 241, 84, 113, 12, 234, 175, 192, 159, 75,
			5, 98, 102, 3, 91, 157, 193, 151, 12, 223,
			6, 220, 88, 48, 150, 62, 153, 11, 88, 63,
			227, 250, 203, 201, 95, 74, 62, 15, 176, 94,
			102, 27, 77, 154, 2, 188, 102, 192, 107, 215,
			151, 52, 87, 181, 255, 76, 17, 2, 86, 5,
			174, 203, 104, 99, 141, 136, 184, 166, 80, 60,
			189, 33, 233, 25, 192, 189, 164, 63, 130, 65,
			236, 18, 17, 227, 157, 214, 48, 179, 154, 72,
			250, 2, 176, 199, 128, 151, 95, 28, 17, 27,
			148, 140, 167, 47, 36, 109, 69, 42, 210, 30,
			196, 19, 192, 34, 17, 145, 181, 143, 138, 164,
			165, 24, 252, 33, 246, 190, 136, 88, 60, 167,
			255, 137, 170, 78, 181, 253, 77, 70, 19, 27,
			71, 196, 133, 165, 226, 153, 68, 202, 96, 115,
			108, 93, 34, 144, 30, 122, 53, 131, 223, 252,
			33, 111, 40, 200, 204, 202, 201, 249, 66, 125,
			169, 164, 103, 23, 139, 164, 95, 222, 148, 113,
			237, 111, 114, 111, 254, 149, 187, 73, 211, 191,
			131, 163, 201, 90, 188, 0, 0, 11, 22, 73,
			68, 65, 84, 88, 172, 58, 105, 182, 73, 87,
			49, 216, 170, 182, 105, 54, 45, 20, 7, 0,
			147, 34, 226, 33, 224, 183, 25, 109, 140, 106,
			2, 144, 243, 190, 239, 136, 136, 81, 29, 54,
			52, 235, 154, 156, 4, 64, 192, 54, 165, 2,
			233, 11, 73, 115, 3, 175, 205, 104, 226, 87,
			37, 226, 168, 230, 213, 115, 106, 190, 214, 46,
			17, 199, 120, 85, 241, 230, 124, 222, 54, 45,
			20, 10, 144, 70, 0, 96, 240, 97, 28, 128,
			53, 36, 61, 167, 68, 48, 125, 81, 173, 199,
			124, 117, 70, 19, 126, 250, 55, 235, 136, 106,
			169, 113, 78, 61, 206, 27, 74, 197, 210, 35,
			91, 50, 177, 35, 218, 167, 87, 36, 1, 168,
			228, 156, 73, 179, 113, 177, 40, 198, 111, 74,
			198, 181, 235, 151, 220, 15, 160, 68, 2, 0,
			163, 55, 10, 176, 25, 121, 31, 126, 39, 0,
			102, 221, 146, 243, 84, 182, 177, 164, 156, 67,
			213, 250, 232, 141, 25, 215, 78, 5, 46, 42,
			21, 8, 121, 133, 236, 187, 75, 122, 81, 177,
			72, 198, 103, 74, 198, 181, 243, 81, 112, 63,
			128, 73, 0, 17, 113, 21, 112, 107, 70, 59,
			123, 72, 154, 179, 76, 72, 189, 240, 193, 204,
			235, 207, 47, 18, 133, 153, 149, 146, 147, 0,
			76, 2, 222, 95, 42, 144, 174, 147, 180, 12,
			121, 243, 255, 151, 70, 196, 163, 165, 226, 33,
			111, 219, 247, 185, 128, 19, 235, 62, 57, 118,
			58, 157, 169, 3, 152, 52, 230, 191, 159, 149,
			209, 206, 138, 192, 187, 51, 99, 233, 5, 73,
			175, 0, 182, 200, 104, 226, 1, 224, 218, 66,
			225, 152, 89, 25, 185, 73, 249, 94, 146, 154,
			56, 28, 173, 11, 14, 32, 239, 12, 148, 146,
			195, 255, 144, 63, 130, 253, 98, 224, 219, 146,
			22, 46, 17, 204, 236, 116, 169, 14, 96, 108,
			2, 144, 251, 67, 220, 95, 210, 2, 153, 109,
			116, 154, 36, 1, 159, 202, 108, 230, 228, 136,
			24, 180, 106, 213, 204, 106, 16, 17, 215, 3,
			87, 100, 52, 49, 63, 176, 95, 161, 112, 58,
			75, 210, 202, 192, 206, 153, 205, 20, 77, 0,
			34, 226, 106, 224, 47, 153, 205, 188, 9, 184,
			86, 210, 150, 249, 17, 141, 203, 148, 140, 107,
			139, 213, 1, 40, 34, 210, 127, 145, 38, 147,
			170, 41, 7, 221, 16, 3, 224, 160, 136, 56,
			176, 64, 92, 157, 36, 233, 205, 192, 201, 153,
			205, 188, 56, 34, 114, 86, 93, 152, 89, 13,
			36, 189, 3, 56, 54, 163, 137, 169, 192, 11,
			34, 226, 230, 66, 33, 117, 142, 164, 83, 200,
			27, 254, 191, 21, 88, 49, 34, 158, 40, 20,
			18, 0, 146, 62, 207, 196, 207, 140, 153, 153,
			223, 140, 121, 93, 11, 252, 171, 80, 187, 99,
			173, 1, 124, 43, 227, 250, 183, 49, 190, 253,
			123, 30, 7, 110, 140, 136, 25, 190, 135, 167,
			19, 0, 0, 73, 39, 86, 13, 15, 234, 17,
			210, 47, 183, 169, 173, 120, 27, 83, 213, 56,
			252, 129, 52, 221, 49, 168, 145, 221, 52, 196,
			172, 235, 36, 205, 71, 42, 40, 91, 40, 163,
			153, 147, 34, 34, 231, 59, 180, 179, 36, 173,
			11, 92, 74, 90, 250, 56, 168, 15, 69, 196,
			145, 133, 66, 122, 154, 164, 151, 144, 98, 179,
			255, 54, 21, 248, 29, 240, 19, 224, 208, 177,
			245, 23, 147, 166, 251, 135, 103, 100, 118, 180,
			0, 249, 67, 228, 93, 245, 1, 242, 110, 254,
			0, 95, 45, 17, 136, 153, 149, 23, 17, 255,
			36, 255, 24, 241, 237, 171, 145, 194, 161, 82,
			77, 239, 126, 155, 188, 155, 255, 67, 192, 215,
			203, 68, 244, 159, 34, 226, 50, 242, 239, 95,
			195, 106, 46, 210, 126, 7, 31, 3, 174, 150,
			244, 244, 246, 205, 211, 143, 0, 204, 65, 218,
			20, 104, 213, 204, 14, 119, 143, 136, 99, 50,
			219, 232, 12, 73, 91, 0, 231, 2, 115, 100,
			52, 243, 0, 176, 116, 68, 60, 86, 38, 42,
			51, 43, 77, 210, 42, 192, 239, 51, 155, 121,
			4, 88, 167, 170, 43, 24, 10, 146, 190, 3,
			188, 37, 179, 153, 35, 34, 226, 35, 37, 226,
			153, 145, 170, 62, 225, 90, 210, 25, 55, 54,
			115, 83, 129, 181, 35, 226, 218, 255, 24, 1,
			168, 170, 19, 247, 41, 208, 193, 231, 171, 106,
			249, 222, 147, 244, 2, 224, 20, 242, 110, 254,
			0, 199, 251, 230, 111, 214, 109, 17, 241, 7,
			224, 188, 204, 102, 22, 0, 78, 149, 52, 111,
			129, 144, 90, 39, 233, 221, 228, 223, 252, 255,
			5, 28, 93, 32, 156, 153, 170, 18, 174, 90,
			70, 24, 134, 204, 92, 192, 241, 146, 38, 255,
			199, 8, 192, 52, 146, 46, 0, 54, 202, 236,
			228, 1, 224, 165, 17, 113, 67, 102, 59, 173,
			145, 180, 8, 112, 25, 240, 188, 204, 166, 166,
			2, 171, 70, 196, 77, 249, 81, 153, 89, 157,
			36, 189, 22, 248, 65, 129, 166, 142, 171, 142,
			49, 239, 45, 73, 107, 0, 23, 147, 183, 236,
			15, 224, 196, 136, 216, 177, 64, 72, 179, 84,
			109, 200, 116, 13, 176, 100, 221, 125, 13, 129,
			119, 79, 95, 3, 48, 77, 137, 97, 154, 69,
			128, 179, 155, 90, 91, 89, 90, 181, 42, 226,
			251, 228, 223, 252, 1, 142, 242, 205, 223, 172,
			31, 34, 226, 108, 82, 193, 84, 174, 157, 37,
			125, 178, 64, 59, 173, 144, 180, 42, 112, 14,
			249, 55, 127, 128, 207, 21, 104, 99, 182, 170,
			2, 244, 109, 72, 213, 239, 54, 107, 27, 205,
			48, 1, 136, 136, 139, 41, 83, 80, 177, 18,
			41, 9, 88, 172, 64, 91, 141, 145, 52, 15,
			112, 34, 240, 242, 2, 205, 221, 6, 28, 90,
			160, 29, 51, 107, 206, 251, 73, 35, 119, 185,
			246, 149, 244, 133, 106, 15, 145, 222, 144, 180,
			54, 105, 42, 100, 233, 2, 205, 157, 219, 228,
			145, 241, 213, 253, 107, 36, 54, 166, 203, 180,
			246, 204, 70, 0, 32, 85, 12, 62, 89, 160,
			147, 141, 128, 223, 72, 90, 173, 64, 91, 181,
			171, 206, 151, 158, 2, 148, 170, 228, 221, 187,
			208, 177, 151, 102, 214, 144, 106, 234, 242, 243,
			133, 154, 219, 3, 56, 86, 210, 172, 190, 111,
			59, 67, 210, 70, 192, 47, 129, 197, 11, 52,
			247, 48, 240, 222, 2, 237, 76, 72, 68, 28,
			79, 67, 163, 14, 61, 182, 204, 76, 63, 144,
			17, 241, 71, 224, 27, 133, 58, 90, 1, 248,
			117, 53, 183, 214, 89, 146, 214, 33, 109, 254,
			176, 94, 161, 38, 207, 139, 136, 220, 141, 131,
			204, 172, 29, 135, 144, 70, 240, 74, 216, 5,
			56, 185, 235, 133, 129, 146, 254, 151, 52, 253,
			145, 115, 216, 217, 88, 123, 70, 68, 206, 57,
			51, 57, 246, 6, 14, 2, 254, 187, 208, 205,
			0, 174, 158, 93, 70, 122, 32, 240, 143, 66,
			157, 61, 3, 56, 83, 82, 137, 85, 6, 197,
			85, 107, 119, 207, 7, 158, 93, 168, 201, 39,
			73, 153, 191, 153, 245, 80, 53, 114, 183, 119,
			193, 38, 183, 5, 174, 145, 180, 97, 193, 54,
			139, 144, 180, 128, 164, 175, 2, 103, 147, 78,
			156, 43, 225, 204, 136, 248, 86, 161, 182, 38,
			44, 146, 3, 129, 237, 128, 127, 182, 21, 71,
			135, 93, 62, 203, 4, 32, 34, 238, 32, 101,
			174, 165, 50, 168, 73, 192, 225, 146, 126, 32,
			105, 165, 66, 109, 102, 145, 180, 164, 164, 175,
			145, 182, 248, 45, 153, 157, 31, 17, 17, 191,
			43, 216, 158, 153, 53, 172, 26, 193, 251, 113,
			193, 38, 159, 15, 156, 47, 233, 179, 85, 173,
			81, 235, 36, 109, 66, 218, 255, 165, 228, 188,
			249, 221, 192, 187, 10, 182, 55, 176, 136, 56,
			21, 216, 24, 184, 165, 237, 88, 58, 228, 41,
			224, 148, 217, 206, 73, 69, 196, 41, 164, 161,
			176, 146, 94, 11, 92, 39, 233, 152, 182, 206,
			209, 150, 52, 191, 164, 3, 128, 27, 129, 93,
			11, 55, 255, 83, 70, 224, 96, 16, 179, 17,
			241, 86, 210, 247, 68, 41, 147, 128, 15, 145,
			118, 101, 219, 180, 96, 187, 19, 34, 105, 81,
			73, 71, 147, 14, 231, 89, 161, 112, 243, 239,
			138, 136, 123, 10, 183, 57, 176, 136, 184, 18,
			254, 191, 189, 251, 121, 253, 172, 170, 227, 56,
			254, 58, 144, 184, 47, 114, 180, 159, 132, 11,
			13, 162, 133, 104, 148, 137, 73, 4, 42, 65,
			78, 186, 105, 39, 73, 255, 129, 45, 90, 21,
			4, 17, 141, 52, 155, 182, 66, 214, 214, 141,
			69, 81, 42, 186, 73, 41, 161, 54, 137, 32,
			152, 17, 169, 211, 12, 66, 3, 25, 204, 52,
			17, 167, 197, 185, 126, 157, 25, 149, 249, 126,
			191, 159, 123, 63, 247, 251, 153, 247, 227, 1,
			151, 129, 97, 230, 115, 15, 12, 243, 189, 207,
			207, 189, 247, 156, 147, 155, 51, 238, 232, 252,
			115, 229, 225, 28, 5, 39, 123, 239, 47, 188,
			231, 58, 0, 151, 155, 222, 96, 125, 60, 201,
			3, 11, 12, 228, 173, 36, 143, 36, 249, 241,
			180, 20, 231, 162, 166, 213, 14, 191, 149, 241,
			120, 99, 137, 185, 162, 175, 38, 185, 173, 247,
			126, 118, 129, 207, 6, 86, 48, 77, 137, 251,
			67, 198, 163, 204, 185, 189, 144, 228, 68, 198,
			45, 243, 197, 119, 10, 109, 173, 125, 42, 99,
			105, 243, 135, 50, 118, 49, 156, 219, 99, 189,
			247, 77, 119, 12, 92, 204, 52, 53, 253, 59,
			25, 51, 61, 142, 244, 59, 25, 11, 249, 125,
			146, 47, 247, 222, 207, 239, 43, 0, 146, 189,
			141, 50, 158, 207, 216, 197, 104, 9, 255, 200,
			152, 122, 247, 203, 140, 77, 115, 102, 253, 143,
			208, 90, 251, 108, 146, 251, 50, 54, 59, 90,
			234, 241, 195, 91, 73, 190, 208, 123, 223, 207,
			46, 77, 192, 14, 105, 173, 221, 151, 49, 61,
			122, 169, 41, 125, 175, 36, 57, 153, 177, 106,
			232, 185, 43, 253, 225, 131, 154, 54, 243, 249,
			118, 198, 23, 185, 77, 87, 54, 125, 63, 47,
			37, 185, 189, 247, 254, 175, 133, 62, 127, 54,
			211, 254, 6, 119, 39, 57, 158, 228, 171, 217,
			108, 39, 220, 93, 112, 33, 227, 165, 200, 31,
			77, 171, 254, 102, 223, 1, 144, 36, 173, 181,
			143, 103, 188, 37, 127, 108, 145, 225, 189, 227,
			205, 36, 191, 74, 242, 139, 36, 79, 31, 230,
			206, 192, 180, 123, 223, 157, 25, 23, 253, 175,
			37, 249, 228, 172, 35, 124, 183, 158, 228, 254,
			222, 251, 19, 11, 159, 7, 88, 73, 107, 237,
			187, 25, 63, 68, 151, 116, 62, 201, 115, 73,
			158, 153, 142, 63, 29, 230, 11, 81, 107, 237,
			88, 198, 90, 38, 95, 153, 142, 79, 204, 57,
			200, 247, 240, 114, 146, 187, 122, 239, 103, 22,
			62, 207, 236, 166, 133, 223, 238, 200, 248, 114,
			248, 209, 139, 142, 235, 178, 92, 44, 109, 195,
			127, 50, 222, 239, 248, 99, 146, 103, 122, 239,
			151, 60, 202, 58, 80, 0, 36, 73, 107, 237,
			246, 140, 57, 162, 215, 206, 53, 194, 43, 56,
			159, 177, 193, 195, 27, 23, 29, 167, 166, 95,
			207, 36, 249, 96, 46, 253, 7, 123, 251, 248,
			116, 54, 219, 214, 243, 160, 126, 158, 228, 135,
			91, 60, 31, 176, 125, 45, 201, 79, 51, 223,
			84, 225, 253, 56, 155, 228, 119, 73, 254, 158,
			241, 51, 239, 76, 198, 75, 118, 103, 146, 156,
			75, 242, 225, 140, 47, 101, 199, 50, 46, 88,
			199, 50, 118, 127, 251, 76, 150, 187, 91, 113,
			185, 191, 36, 249, 82, 239, 253, 212, 150, 206,
			199, 12, 14, 28, 0, 73, 210, 90, 123, 48,
			201, 99, 179, 143, 6, 128, 93, 243, 183, 36,
			119, 246, 222, 95, 91, 123, 32, 28, 204, 161,
			86, 166, 154, 86, 89, 250, 70, 70, 125, 2,
			80, 211, 107, 25, 47, 148, 185, 248, 239, 160,
			67, 221, 1, 216, 251, 203, 173, 221, 146, 241,
			156, 254, 99, 179, 141, 8, 128, 93, 112, 42,
			227, 182, 255, 156, 83, 36, 217, 162, 141, 214,
			166, 158, 230, 86, 222, 150, 49, 61, 6, 128,
			26, 94, 204, 120, 225, 207, 197, 127, 135, 109,
			188, 57, 69, 239, 253, 116, 146, 187, 50, 94,
			130, 3, 224, 234, 246, 147, 140, 181, 78, 94,
			89, 123, 32, 108, 102, 163, 71, 0, 239, 250,
			176, 214, 30, 206, 88, 208, 98, 39, 118, 189,
			2, 96, 223, 222, 76, 242, 205, 222, 251, 175,
			215, 30, 8, 243, 152, 53, 0, 146, 164, 181,
			118, 111, 198, 12, 129, 85, 150, 248, 5, 96,
			118, 79, 37, 121, 112, 186, 227, 203, 85, 98,
			246, 111, 234, 189, 247, 223, 36, 185, 49, 201,
			247, 51, 223, 78, 130, 0, 108, 223, 133, 140,
			213, 3, 239, 113, 241, 191, 250, 204, 126, 7,
			224, 146, 15, 111, 237, 250, 36, 223, 203, 88,
			123, 255, 3, 139, 157, 8, 128, 57, 253, 47,
			99, 135, 212, 31, 244, 222, 95, 94, 123, 48,
			44, 99, 209, 0, 216, 59, 73, 107, 55, 101,
			172, 146, 247, 245, 197, 79, 6, 192, 97, 93,
			72, 242, 179, 140, 245, 226, 95, 93, 123, 48,
			44, 107, 43, 1, 176, 119, 178, 177, 140, 240,
			137, 36, 95, 220, 218, 73, 1, 184, 146, 115,
			73, 30, 77, 114, 162, 247, 254, 250, 218, 131,
			97, 59, 182, 26, 0, 123, 39, 109, 237, 243,
			25, 59, 48, 29, 79, 114, 211, 214, 7, 0,
			64, 146, 156, 206, 152, 194, 125, 114, 23, 55,
			241, 97, 51, 171, 4, 192, 37, 3, 104, 237,
			230, 188, 19, 3, 159, 203, 246, 54, 175, 0,
			168, 230, 191, 25, 219, 186, 255, 118, 58, 254,
			220, 215, 190, 8, 176, 154, 213, 3, 224, 98,
			173, 181, 27, 50, 182, 239, 61, 158, 228, 214,
			36, 31, 90, 119, 68, 0, 59, 239, 175, 25,
			23, 251, 39, 147, 60, 219, 123, 255, 247, 202,
			227, 225, 136, 56, 82, 1, 112, 185, 214, 218,
			181, 73, 110, 72, 242, 145, 203, 142, 183, 127,
			239, 250, 36, 215, 172, 54, 64, 128, 117, 157,
			207, 216, 22, 248, 244, 251, 29, 189, 247, 179,
			235, 13, 143, 163, 236, 72, 7, 0, 0, 176,
			12, 75, 246, 2, 64, 65, 2, 0, 0, 10,
			18, 0, 0, 80, 144, 0, 0, 128, 130, 4,
			0, 0, 20, 36, 0, 0, 160, 32, 1, 0,
			0, 5, 9, 0, 0, 40, 72, 0, 0, 64,
			65, 2, 0, 0, 10, 18, 0, 0, 80, 144,
			0, 0, 128, 130, 4, 0, 0, 20, 36, 0,
			0, 160, 32, 1, 0, 0, 5, 9, 0, 0,
			40, 72, 0, 0, 64, 65, 2, 0, 0, 10,
			18, 0, 0, 80, 144, 0, 0, 128, 130, 4,
			0, 0, 20, 36, 0, 0, 160, 32, 1, 0,
			0, 5, 9, 0, 0, 40, 72, 0, 0, 64,
			65, 2, 0, 0, 10, 18, 0, 0, 80, 144,
			0, 0, 128, 130, 4, 0, 0, 20, 36, 0,
			0, 160, 32, 1, 0, 0, 5, 9, 0, 0,
			40, 72, 0, 0, 64, 65, 2, 0, 0, 10,
			18, 0, 0, 80, 144, 0, 0, 128, 130, 4,
			0, 0, 20, 36, 0, 0, 160, 32, 1, 0,
			0, 5, 9, 0, 0, 40, 72, 0, 0, 64,
			65, 2, 0, 0, 10, 18, 0, 0, 80, 144,
			0, 0, 128, 130, 4, 0, 0, 20, 36, 0,
			0, 160, 32, 1, 0, 0, 5, 9, 0, 0,
			40, 72, 0, 0, 64, 65, 2, 0, 0, 10,
			18, 0, 0, 80, 144, 0, 0, 128, 130, 4,
			0, 0, 20, 36, 0, 0, 160, 32, 1, 0,
			0, 5, 9, 0, 0, 40, 72, 0, 0, 64,
			65, 2, 0, 0, 10, 18, 0, 0, 80, 144,
			0, 0, 128, 130, 4, 0, 0, 20, 36, 0,
			0, 160, 32, 1, 0, 0, 5, 9, 0, 0,
			40, 72, 0, 0, 64, 65, 2, 0, 0, 10,
			18, 0, 0, 80, 144, 0, 0, 128, 130, 4,
			0, 0, 20, 36, 0, 0, 160, 32, 1, 0,
			0, 5, 9, 0, 0, 40, 72, 0, 0, 64,
			65, 2, 0, 0, 10, 18, 0, 0, 80, 144,
			0, 0, 128, 130, 4, 0, 0, 20, 36, 0,
			0, 160, 32, 1, 0, 0, 5, 9, 0, 0,
			40, 72, 0, 0, 64, 65, 2, 0, 0, 10,
			18, 0, 0, 80, 208, 255, 1, 21, 189, 72,
			128, 100, 137, 252, 122, 0, 0, 0, 0, 73,
			69, 78, 68, 174, 66, 96, 130
		};

		public static Texture2D GetIconTexture(string spriteName)
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Expected O, but got Unknown
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Expected O, but got Unknown
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			Texture2D val = new Texture2D(48, 48);
			((Object)val).name = spriteName;
			if (ImageConversion.LoadImage(val, pngBytes, false))
			{
				Texture2D val2 = new Texture2D(((Texture)val).width, ((Texture)val).height, (TextureFormat)4, false);
				Color val3 = default(Color);
				((Color)(ref val3))..ctor(1f, 1f, 1f, 1f);
				Color val4 = default(Color);
				((Color)(ref val4))..ctor(0f, 0f, 0f, 0f);
				for (int i = 0; i < ((Texture)val).width; i++)
				{
					for (int j = 0; j < ((Texture)val).height; j++)
					{
						Color pixel = val.GetPixel(i, j);
						if (pixel.a != 0f)
						{
							val2.SetPixel(i, j, val3);
						}
						else
						{
							val2.SetPixel(i, j, val4);
						}
					}
				}
				val2.Apply(true);
				return val2;
			}
			return null;
		}
	}
	[BepInPlugin("semarware.dysonsphereprogram.bulldozer", "Bulldozer", "1.1.8")]
	[BepInProcess("DSPGAME.exe")]
	public class BulldozerPlugin : BaseUnityPlugin
	{
		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static Action <>9__20_1;

			public static Response <>9__20_2;

			internal void <InitUi>b__20_1()
			{
				GameMain.mainPlayer.SetHandItems(0, 0, 0);
				((BuildTool)GameMain.mainPlayer.controller.actionBuild.reformTool)._Close();
			}

			internal void <InitUi>b__20_2()
			{
				Log.LogAndPopupMessage("Canceled");
			}
		}

		public const string PluginGuid = "semarware.dysonsphereprogram.bulldozer";

		private static int _soilToDeduct;

		public static BulldozerPlugin instance;

		private ReformIndexInfoProvider _reformIndexInfoProvider;

		private bool _flattenRequested;

		private Harmony _harmony;

		private UIElements _ui;

		private void Awake()
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Expected O, but got Unknown
			Log.logger = ((BaseUnityPlugin)this).Logger;
			GuideMarker.logger = ((BaseUnityPlugin)this).Logger;
			instance = this;
			_harmony = new Harmony("semarware.dysonsphereprogram.bulldozer");
			_harmony.PatchAll(typeof(BulldozerPlugin));
			_harmony.PatchAll(typeof(WreckingBall));
			_harmony.PatchAll(typeof(PluginConfigWindow));
			PluginConfig.InitConfig(((BaseUnityPlugin)this).Config);
			Log.Debug("Bulldozer Plugin Loaded");
			Log.Debug("Debug build enabled");
		}

		private void Update()
		{
			if (!GameMain.isRunning || DSPGame.IsMenuDemo || GameMain.localPlanet == null || GameMain.localPlanet.factory == null || GameMain.localPlanet.factory.platformSystem == null)
			{
				return;
			}
			PlatformSystem platformSystem = GameMain.localPlanet.factory.platformSystem;
			if (_reformIndexInfoProvider == null)
			{
				_reformIndexInfoProvider = new ReformIndexInfoProvider(platformSystem);
			}
			_reformIndexInfoProvider.DoInitWork(GameMain.localPlanet);
			if ((Object)(object)_ui != (Object)null && _ui.IsShowing())
			{
				if (PluginConfig.NeedReformIndexProvider())
				{
					_ui.ReadyForAction = _reformIndexInfoProvider?.Initted ?? false;
					_ui.initPercent = _reformIndexInfoProvider.InitPercentComplete();
				}
				else
				{
					_ui.ReadyForAction = true;
				}
			}
			Player mainPlayer = GameMain.mainPlayer;
			WreckingBall.DoWorkItems((mainPlayer != null) ? mainPlayer.factory : null);
			DoPaveUpdate();
			if ((Object)(object)_ui != (Object)null && (Object)(object)_ui.countText != (Object)null)
			{
				_ui.countText.text = $"{WreckingBall.RemainingTaskCount()}";
			}
		}

		private void LateUpdate()
		{
			if (GameMain.sandboxToolsEnabled && UIRoot.instance.uiGame.buildMenu.currentCategory == 9)
			{
				((Component)UIRoot.instance.uiGame.buildMenu.reformAllButton).gameObject.SetActive(false);
			}
		}

		private void OnDestroy()
		{
			WreckingBall.Stop();
			if ((Object)(object)_ui != (Object)null)
			{
				_ui.Unload();
				Object.Destroy((Object)(object)_ui);
				_ui = null;
			}
			_reformIndexInfoProvider?.PlanetChanged(null);
			PluginConfigWindow.NeedReinit = true;
			_harmony.UnpatchSelf();
		}

		public void OnGUI()
		{
			if (PluginConfigWindow.visible)
			{
				PluginConfigWindow.OnGUI();
			}
		}

		private void DoPaveUpdate()
		{
			if (!_flattenRequested)
			{
				return;
			}
			((BaseUnityPlugin)this).Logger.LogDebug((object)"repaint requested");
			SetFlattenRequestedFlag(value: false);
			try
			{
				if (GameMain.mainPlayer.planetData.UpdateDirtyMeshes())
				{
					GameMain.mainPlayer.factory.RenderLocalPlanetHeightmap();
				}
				Decorate();
				Log.LogAndPopupMessage("Bulldozer done adding foundation");
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"exception painting {arg}");
				Log.LogAndPopupMessage("Failure while painting. Check logs");
			}
		}

		private void Decorate()
		{
			Player mainPlayer = GameMain.mainPlayer;
			PlatformSystem val = ((mainPlayer == null) ? null : mainPlayer.factory?.platformSystem);
			Player mainPlayer2 = GameMain.mainPlayer;
			PlayerAction_Build val2 = ((mainPlayer2 != null) ? mainPlayer2.controller.actionBuild : null);
			if (val == null || val2 == null || (!PluginConfig.guideLinesOnly.Value && PlanetPainter.PaintPlanet(val, _reformIndexInfoProvider)))
			{
				return;
			}
			ReformIndexInfoProvider reformIndexInfoProvider = _reformIndexInfoProvider;
			if (reformIndexInfoProvider == null || !reformIndexInfoProvider.Initted || _reformIndexInfoProvider.platformSystem != GameMain.localPlanet?.factory?.platformSystem)
			{
				if (_reformIndexInfoProvider.platformSystem != GameMain.localPlanet?.factory?.platformSystem)
				{
					_reformIndexInfoProvider.PlanetChanged(GameMain.localPlanet);
				}
				Log.LogAndPopupMessage("not initted");
			}
			else
			{
				SelectiveDecorationBuilder.Build(_reformIndexInfoProvider).Decorate();
			}
		}

		private void InvokePavePlanet()
		{
			if (PluginConfig.alterVeinState.Value)
			{
				InvokePaveWithVeinAlteration();
			}
			else
			{
				InvokePavePlanetNoBury();
			}
		}

		private void InvokePavePlanetNoBury()
		{
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Invalid comparison between Unknown and I4
			//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
			Player mainPlayer = GameMain.mainPlayer;
			PlayerAction_Build val = ((mainPlayer != null) ? mainPlayer.controller.actionBuild : null);
			Player mainPlayer2 = GameMain.mainPlayer;
			PlatformSystem val2 = ((mainPlayer2 == null) ? null : mainPlayer2.factory?.platformSystem);
			PlanetFactory factory = GameMain.localPlanet.factory;
			if (val == null || val2 == null || factory == null)
			{
				Log.LogAndPopupMessage("invalid state");
				return;
			}
			if (GameMain.localPlanet == null || (int)GameMain.localPlanet.type == 5)
			{
				Log.LogAndPopupMessage("Bulldozer doesn't work on gas giants");
				return;
			}
			if (PluginConfig.removeVegetation.Value)
			{
				for (int i = 0; i < factory.vegePool.Length; i++)
				{
					if (factory.vegePool[i].protoId == 9999)
					{
						continue;
					}
					if (PluginConfig.IsLatConstrained())
					{
						int latitudeDegForPosition = GeoUtil.GetLatitudeDegForPosition(factory.vegePool[i].pos);
						

CommonAPI.dll

Decompiled 11 months ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using CommonAPI.Nebula;
using CommonAPI.Patches;
using CommonAPI.ShotScene;
using CommonAPI.ShotScene.Patches;
using CommonAPI.Systems;
using CommonAPI.Systems.ModLocalization;
using CommonAPI.Systems.ModLocalization.Patch;
using CommonAPI.Systems.Patches;
using CommonAPI.Systems.UI;
using HarmonyLib;
using JetBrains.Annotations;
using Microsoft.CodeAnalysis;
using Mono.Cecil;
using Mono.Cecil.Cil;
using Mono.Collections.Generic;
using MonoMod.Utils;
using NebulaAPI;
using PowerNetworkStructures;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.PostProcessing;
using UnityEngine.UI;
using crecheng.DSPModSave;
using xiaoye97;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyFileVersion("1.6.2.2")]
[assembly: AssemblyInformationalVersion("1.6.2.2+67c03d6")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("CommonAPI")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("A modding library for Dyson Sphere Program. Provides multiple features to make adding custom content to DSP easier.")]
[assembly: AssemblyProduct("CommonAPI")]
[assembly: AssemblyTitle("CommonAPI")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.6.2.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
[GeneratedCode("Nerdbank.GitVersioning.Tasks", "3.6.133.12845")]
[ExcludeFromCodeCoverage]
internal static class ThisAssembly
{
	internal const string AssemblyConfiguration = "Release";

	internal const string AssemblyFileVersion = "1.6.2.2";

	internal const string AssemblyInformationalVersion = "1.6.2.2+67c03d6";

	internal const string AssemblyName = "CommonAPI";

	internal const string AssemblyTitle = "CommonAPI";

	internal const string AssemblyVersion = "1.6.2.0";

	internal static readonly DateTime GitCommitDate = new DateTime(638386153850000000L, DateTimeKind.Utc);

	internal const string GitCommitId = "67c03d666395f88e057c48d593688f2d76cdc469";

	internal const bool IsPrerelease = false;

	internal const bool IsPublicRelease = true;

	internal const string RootNamespace = "CommonAPI";
}
namespace CommonAPI
{
	[BepInPlugin("dsp.common-api.CommonAPI", "DSP Common API", "1.6.2.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class CommonAPIPlugin : BaseUnityPlugin, IModCanSave
	{
		public const string ID = "CommonAPI";

		public const string GUID = "dsp.common-api.CommonAPI";

		public const string DISPNAME = "DSP Common API";

		public const string VERSION = "1.6.2.0";

		internal static Harmony harmony;

		internal static ICommonLogger logger;

		internal static ResourceData resource;

		internal static Action onIntoOtherSave;

		internal static SubmoduleHandler submoduleHandler;

		public static Dictionary<string, Registry> registries = new Dictionary<string, Registry>();

		public static readonly Version buildFor = GameVersionUtil.GetVersion(0, 10, 28, 20829);

		public static bool iconShotMenuEnabled;

		public static KeyCode openIconShotMenuButton;

		internal static ConfigEntry<string> forceLoaded;

		private void Awake()
		{
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			logger = new LoggerWrapper(((BaseUnityPlugin)this).Logger);
			CommonLogger.SetLogger(logger);
			UnityThread.initUnityThread();
			iconShotMenuEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "enableIconShotMenu", false, "Is Icon shot menu enabled. It is useful for mod developers, because it allows to create consistent icons.").Value;
			openIconShotMenuButton = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("General", "OpenIconShotMenuButton", (KeyCode)287, "Button used to open special Icon shot menu. It is useful for mod developers, because it allows to create consistent icons.").Value;
			harmony = new Harmony("dsp.common-api.CommonAPI");
			PluginScanner pluginScanner = new PluginScanner();
			submoduleHandler = new SubmoduleHandler(buildFor, ((BaseUnityPlugin)this).Logger);
			submoduleHandler.LoadRequested(pluginScanner);
			pluginScanner.ScanPlugins();
			string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
			resource = new ResourceData("CommonAPI", "CommonAPI", directoryName);
			resource.LoadAssetBundle("commonapi");
			LoadSaveOnLoad.Init();
			harmony.PatchAll(typeof(VFPreloadPatch));
			CheckModuleForceLoad();
			logger.LogInfo("Common API is initialized!");
		}

		private void Update()
		{
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			if (iconShotMenuEnabled && DSPGame.MenuDemoLoaded && Input.GetKeyDown(openIconShotMenuButton))
			{
				GeneratorSceneController.LoadIconGeneratorScene();
			}
		}

		internal static void CheckIfUsedOnRightGameVersion()
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			Version gameVersion = GameConfig.gameVersion;
			if (!(buildFor == gameVersion))
			{
				ICommonLogger commonLogger = logger;
				string[] obj = new string[5] { "This version of CommonAPI was built for build id \"", null, null, null, null };
				Version val = buildFor;
				obj[1] = ((Version)(ref val)).ToFullString();
				obj[2] = "\", you are running \"";
				obj[3] = ((Version)(ref gameVersion)).ToFullString();
				obj[4] = "\".";
				commonLogger.LogWarning(string.Concat(obj));
				logger.LogWarning("Should any problems arise, please check for a new version before reporting issues.");
			}
		}

		public static bool IsSubmoduleLoaded(string submodule)
		{
			return submoduleHandler.IsLoaded(submodule);
		}

		public static bool TryLoadModule(Type moduleType)
		{
			return submoduleHandler.RequestModuleLoad(moduleType);
		}

		internal static T GetModuleInstance<T>() where T : BaseSubmodule
		{
			return submoduleHandler.GetModuleInstance<T>();
		}

		public static void LoadModules(params Type[] moduleTypes)
		{
			LoadModules((IEnumerable<Type>)moduleTypes);
		}

		private void CheckModuleForceLoad()
		{
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Expected O, but got Unknown
			List<Type> allSubmodules = submoduleHandler.allModules.Keys.ToList();
			string[] acceptableValues = CollectionExtensions.AddItem<string>(allSubmodules.Select((Type type) => type.Name), "all").ToArray();
			forceLoaded = ((BaseUnityPlugin)this).Config.Bind<string>("Debug", "ForceModuleLoad", "", new ConfigDescription("Manually force certain modules to be loaded. Do not use unless you know what you are doing.", (AcceptableValueBase)(object)new AcceptableValueOptionsList(acceptableValues), Array.Empty<object>()));
			if (string.IsNullOrWhiteSpace(forceLoaded.Value))
			{
				return;
			}
			if (forceLoaded.Value == "all")
			{
				LoadModules(allSubmodules);
				return;
			}
			IEnumerable<Type> forceLoadTypes = from name in forceLoaded.Value.Split(new char[1] { ',' })
				select allSubmodules.Find((Type type) => type.Name.Equals(name));
			LoadModules(forceLoadTypes);
		}

		private static void LoadModules(IEnumerable<Type> forceLoadTypes)
		{
			foreach (Type forceLoadType in forceLoadTypes)
			{
				if (!(forceLoadType == null))
				{
					TryLoadModule(forceLoadType);
				}
			}
		}

		public void Import(BinaryReader r)
		{
			int num = r.ReadInt32();
			while (r.ReadByte() != 0)
			{
				string key = r.ReadString();
				if (registries.ContainsKey(key))
				{
					r.ReadInt64();
					registries[key].Import(r);
				}
				else
				{
					long num2 = r.ReadInt64();
					r.ReadBytes((int)num2);
				}
			}
			StarExtensionSystem.InitOnLoad();
			StarExtensionSystem.Import(r);
			PlanetExtensionSystem.InitOnLoad();
			PlanetExtensionSystem.Import(r);
			if (num > 0)
			{
				ModProtoHistory.Import(r);
			}
		}

		public void Export(BinaryWriter w)
		{
			w.Write(1);
			foreach (KeyValuePair<string, Registry> registry in registries)
			{
				w.Write((byte)1);
				w.Write(registry.Key);
				MemoryStream memoryStream = new MemoryStream();
				BinaryWriter w2 = new BinaryWriter(memoryStream);
				registry.Value.Export(w2);
				w.Write(memoryStream.Length);
				w.Write(memoryStream.ToArray());
			}
			w.Write((byte)0);
			StarExtensionSystem.Export(w);
			PlanetExtensionSystem.Export(w);
			ModProtoHistory.Export(w);
		}

		public void IntoOtherSave()
		{
			onIntoOtherSave?.Invoke();
			StarExtensionSystem.InitOnLoad();
			PlanetExtensionSystem.InitOnLoad();
		}
	}
	[HarmonyPatch]
	public static class VFPreloadPatch
	{
		[HarmonyPatch(typeof(VFPreload), "InvokeOnLoadWorkEnded")]
		[HarmonyPostfix]
		public static void OnMainMenuOpen()
		{
			CommonAPIPlugin.CheckIfUsedOnRightGameVersion();
			LoadSaveOnLoad.LoadSave();
		}
	}
	[BepInPlugin("dsp.common-tools.common-api-nebula-compat", "Common API Nebula Compatibility", "1.6.2.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class NebulaCompatPlugin : BaseUnityPlugin, IMultiplayerMod
	{
		public const string ID = "common-api-nebula-compat";

		public const string GUID = "dsp.common-tools.common-api-nebula-compat";

		public const string NAME = "Common API Nebula Compatibility";

		public string Version => "1.6.2.0";

		private void Start()
		{
			if (CommonAPIPlugin.IsSubmoduleLoaded("PlanetExtensionSystem"))
			{
				NebulaModAPI.OnPlanetLoadRequest = (Action<int>)Delegate.Combine(NebulaModAPI.OnPlanetLoadRequest, (Action<int>)delegate(int planetId)
				{
					NebulaModAPI.MultiplayerSession.Network.SendPacket<PlanetSystemLoadRequest>(new PlanetSystemLoadRequest(planetId));
				});
			}
			if (CommonAPIPlugin.IsSubmoduleLoaded("StarExtensionSystem"))
			{
				NebulaModAPI.OnStarLoadRequest = (Action<int>)Delegate.Combine(NebulaModAPI.OnStarLoadRequest, (Action<int>)delegate(int starIndex)
				{
					NebulaModAPI.MultiplayerSession.Network.SendPacket<StarExtensionLoadRequest>(new StarExtensionLoadRequest(starIndex));
				});
			}
			NebulaModAPI.RegisterPackets(Assembly.GetExecutingAssembly());
			CommonAPIPlugin.onIntoOtherSave = CheckNebulaInIntoOtherSave;
			PlanetExtensionSystem.onInitNewPlanet = HandleNebulaPacket;
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Common API Nebula Compatibility ready!");
		}

		public static void CheckNebulaInIntoOtherSave()
		{
			if (!NebulaModAPI.IsMultiplayerActive || NebulaModAPI.MultiplayerSession.LocalPlayer.IsHost)
			{
				return;
			}
			foreach (KeyValuePair<string, Registry> registry in CommonAPIPlugin.registries)
			{
				registry.Value.InitUnitMigrationMap();
			}
		}

		public static void HandleNebulaPacket(PlanetData planet)
		{
			if (!NebulaModAPI.IsMultiplayerActive || NebulaModAPI.MultiplayerSession.LocalPlayer.IsHost || !PlanetExtensionSystem.pendingData.TryGetValue(planet.id, out var value))
			{
				return;
			}
			PlanetExtensionSystem.pendingData.Remove(planet.id);
			IReaderProvider binaryReader = NebulaModAPI.GetBinaryReader(value);
			try
			{
				for (int i = 1; i < PlanetExtensionSystem.registry.data.Count; i++)
				{
					PlanetExtensionStorage planetExtensionStorage = PlanetExtensionSystem.extensions[i];
					planetExtensionStorage.GetExtension(planet.factory).Import(binaryReader.BinaryReader);
				}
			}
			finally
			{
				((IDisposable)binaryReader)?.Dispose();
			}
		}

		public bool CheckVersion(string hostVersion, string clientVersion)
		{
			return hostVersion.Equals(clientVersion);
		}
	}
	public interface IItem
	{
		int GetItemId();

		int GetCount();

		int GetMaxStackSize();
	}
	public interface IStorage
	{
		int size { get; }

		bool changed { get; set; }

		IItem GetAt(int index);

		void SetAt(int index, IItem stack);
	}
	public class UICustomGrid : ManualBehaviour
	{
		public int colCount = 10;

		public int rowCount = 5;

		public RectTransform rectTrans;

		public RectTransform contentRect;

		public Image bgImage;

		public RawImage iconImage;

		public Text prefabNumText;

		private Material iconImageMat;

		private Material bgImageMat;

		private uint[] iconIndexArray;

		private uint[] stateArray;

		private ComputeBuffer iconIndexBuffer;

		private ComputeBuffer stateBuffer;

		private Text[] numTexts;

		private int[] itemCounts;

		protected IStorage storage;

		private StringBuilder strb = new StringBuilder("      ", 6);

		private static readonly int buffer = Shader.PropertyToID("_StateBuffer");

		private static readonly int indexBuffer = Shader.PropertyToID("_IndexBuffer");

		private static readonly int bans = Shader.PropertyToID("_Bans");

		private static readonly int gridProp = Shader.PropertyToID("_Grid");

		private static readonly int rect = Shader.PropertyToID("_Rect");

		public override void _OnCreate()
		{
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Expected O, but got Unknown
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Expected O, but got Unknown
			numTexts = (Text[])(object)new Text[400];
			itemCounts = new int[400];
			iconIndexArray = new uint[1024];
			iconIndexBuffer = new ComputeBuffer(iconIndexArray.Length, 4);
			stateArray = new uint[1024];
			stateBuffer = new ComputeBuffer(stateArray.Length, 4);
			if ((Object)(object)bgImage != (Object)null)
			{
				bgImageMat = ProtoRegistry.CreateMaterial("UI Ex/Storage Bg", "storage-bg", "#FFFFFFFF", null, new string[0]);
				bgImageMat.SetBuffer(buffer, stateBuffer);
				((Graphic)bgImage).material = bgImageMat;
			}
			if ((Object)(object)iconImage != (Object)null)
			{
				iconImageMat = ProtoRegistry.CreateMaterial("UI Ex/Storage Icons", "storage-icons", "#FFFFFFFF", null, new string[0]);
				iconImageMat.SetBuffer(indexBuffer, iconIndexBuffer);
				((Graphic)iconImage).material = iconImageMat;
			}
		}

		public override void _OnDestroy()
		{
			if ((Object)(object)bgImage != (Object)null)
			{
				Object.Destroy((Object)(object)bgImageMat);
			}
			if ((Object)(object)iconImage != (Object)null)
			{
				Object.Destroy((Object)(object)iconImageMat);
			}
			iconIndexBuffer.Release();
			stateBuffer.Release();
			numTexts = null;
			itemCounts = null;
			bgImageMat = null;
			iconImageMat = null;
			iconIndexArray = null;
			iconIndexBuffer = null;
			stateArray = null;
			stateBuffer = null;
		}

		public override bool _OnInit()
		{
			if ((Object)(object)iconImage != (Object)null)
			{
				iconImage.texture = (Texture)(object)GameMain.iconSet.texture;
			}
			return true;
		}

		public override void _OnFree()
		{
			SetStorage(null);
		}

		public override void _OnClose()
		{
			OnContentMouseExit(null);
			SetStorage(null);
		}

		public override void _OnUpdate()
		{
			if (storage != null && storage.changed)
			{
				OnStorageContentChanged();
				storage.changed = false;
			}
		}

		protected int GetItemId(int gridX, int gridY)
		{
			int result = 0;
			if (gridX >= 0 && gridY >= 0)
			{
				int index = gridX + gridY * colCount;
				result = storage.GetAt(index).GetItemId();
			}
			return result;
		}

		private void OnApplicationFocus(bool focus)
		{
			if (!focus)
			{
				OnContentMouseExit(null);
			}
		}

		public void SetStorage(IStorage _storage)
		{
			if (_storage != storage)
			{
				storage = _storage;
				OnStorageDataChanged();
			}
		}

		protected void SetRectSize()
		{
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			if (!((Object)(object)rectTrans == (Object)null))
			{
				rectTrans.sizeDelta = new Vector2((float)(colCount * 50 + 4), (float)(rowCount * 50 + 4));
				Vector4 val = default(Vector4);
				((Vector4)(ref val))..ctor((float)colCount, (float)rowCount, 0.04f, 0.04f);
				if ((Object)(object)bgImageMat != (Object)null)
				{
					bgImageMat.SetVector(gridProp, val);
				}
				if ((Object)(object)iconImageMat != (Object)null)
				{
					iconImageMat.SetVector(gridProp, val);
					Vector4 val2 = default(Vector4);
					((Vector4)(ref val2))..ctor(0.1f, 0.1f, 1.25f, 1.25f);
					iconImageMat.SetVector(rect, val2);
				}
			}
		}

		protected void CreateGridGraphic(int index)
		{
			if ((Object)(object)numTexts[index] == (Object)null)
			{
				numTexts[index] = Object.Instantiate<Text>(prefabNumText, (Transform)(object)rectTrans);
			}
			RepositionGridGraphic(index);
		}

		protected void SetGridGraphic(int index, bool newState)
		{
			if (((Component)numTexts[index]).gameObject.activeSelf != newState)
			{
				((Component)numTexts[index]).gameObject.SetActive(newState);
			}
			if (!newState)
			{
				numTexts[index].text = "";
				itemCounts[index] = 0;
				stateArray[index] = 0u;
				iconIndexArray[index] = 0u;
			}
		}

		protected void DeactiveAllGridGraphics()
		{
			for (int i = 0; i < 400; i++)
			{
				if ((Object)(object)numTexts[i] != (Object)null && ((Component)numTexts[i]).gameObject.activeSelf)
				{
					numTexts[i].text = "";
					((Component)numTexts[i]).gameObject.SetActive(false);
				}
			}
			Array.Clear(itemCounts, 0, 400);
			Array.Clear(stateArray, 0, stateArray.Length);
			Array.Clear(iconIndexArray, 0, iconIndexArray.Length);
		}

		protected void RepositionGridGraphic(int index)
		{
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			int num = index % colCount;
			int num2 = index / colCount;
			((Graphic)numTexts[index]).rectTransform.anchoredPosition = new Vector2((float)(num * 50), (float)(num2 * -50 - 34));
		}

		public void OnStorageDataChanged()
		{
			if ((Object)(object)bgImageMat != (Object)null)
			{
				Array.Clear(stateArray, 0, stateArray.Length);
				stateBuffer.SetData((Array)stateArray);
				bgImageMat.SetBuffer(buffer, stateBuffer);
			}
			if ((Object)(object)iconImageMat != (Object)null)
			{
				Array.Clear(iconIndexArray, 0, iconIndexArray.Length);
				iconIndexBuffer.SetData((Array)iconIndexArray);
				iconImageMat.SetBuffer(indexBuffer, iconIndexBuffer);
			}
			OnStorageSizeChanged();
		}

		public void OnStorageSizeChanged()
		{
			if (storage == null)
			{
				rowCount = 1;
			}
			else
			{
				rowCount = (storage.size - 1) / colCount + 1;
			}
			SetRectSize();
			DeactiveAllGridGraphics();
			for (int i = 0; i < colCount * rowCount; i++)
			{
				CreateGridGraphic(i);
			}
			OnStorageContentChanged();
		}

		public void OnStorageContentChanged()
		{
			if (storage == null)
			{
				return;
			}
			if ((storage.size - 1) / colCount + 1 != rowCount)
			{
				OnStorageSizeChanged();
			}
			for (int i = 0; i < storage.size; i++)
			{
				IItem at = storage.GetAt(i);
				if (at.GetItemId() > 0)
				{
					SetGridGraphic(i, newState: true);
					iconIndexArray[i] = GameMain.iconSet.itemIconIndex[at.GetItemId()];
					stateArray[i] = 1u;
					bool flag = itemCounts[i] != at.GetCount();
					itemCounts[i] = at.GetCount();
					if (flag)
					{
						if (at.GetMaxStackSize() > 1)
						{
							StringBuilderUtility.WriteKMG(strb, 5, (long)at.GetCount(), false);
							numTexts[i].text = strb.ToString();
						}
						else
						{
							numTexts[i].text = "";
						}
					}
				}
				else
				{
					iconIndexArray[i] = 0u;
					stateArray[i] = 0u;
					SetGridGraphic(i, newState: false);
				}
			}
			iconIndexBuffer.SetData((Array)iconIndexArray);
			stateBuffer.SetData((Array)stateArray);
		}

		public virtual void OnContentMouseEnter(BaseEventData eventData)
		{
		}

		public virtual void OnContentMouseExit(BaseEventData eventData)
		{
		}

		public void OnContentMouseDown(BaseEventData eventData)
		{
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Expected I4, but got Unknown
			CommonAPIPlugin.logger.LogInfo("Mouse down");
			if (GameMain.mainPlayer != null && GetGridPos(out var gridX, out var gridY))
			{
				CommonAPIPlugin.logger.LogInfo($"pos: {gridX} {gridY}");
				int grid = gridX + gridY * colCount;
				PointerEventData val = (PointerEventData)(object)((eventData is PointerEventData) ? eventData : null);
				if (val != null)
				{
					OnGridMouseDown(grid, (int)val.button, VFInput.shift, VFInput.control, GameMain.mainPlayer);
				}
			}
		}

		protected bool GetGridPos(out int gridX, out int gridY, bool filterEdges = false)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			gridX = -1;
			gridY = -1;
			Vector2 val = default(Vector2);
			if (!UIRoot.ScreenPointIntoRect(Input.mousePosition, contentRect, ref val))
			{
				return false;
			}
			gridX = Mathf.FloorToInt(val.x / 50f);
			gridY = Mathf.FloorToInt((0f - val.y) / 50f);
			if (gridX < 0 || gridX >= colCount)
			{
				gridX = -1;
				gridY = -1;
				return false;
			}
			if (gridY < 0 || gridY >= rowCount)
			{
				gridX = -1;
				gridY = -1;
				return false;
			}
			int num = (int)(val.x - (float)(gridX * 50));
			int num2 = (int)(0f - val.y - (float)(gridY * 50));
			if (num <= 3 || num2 <= 3 || num >= 47 || num2 >= 47)
			{
				gridX = -1;
				gridY = -1;
				return false;
			}
			return true;
		}

		public void OnContentMouseUp(BaseEventData eventData)
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Invalid comparison between Unknown and I4
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Expected I4, but got Unknown
			if (GameMain.mainPlayer != null)
			{
				PointerEventData val = (PointerEventData)(object)((eventData is PointerEventData) ? eventData : null);
				if ((int)val.button == 1)
				{
					OnGridRightMouseUp(GameMain.mainPlayer);
				}
				if (GetGridPos(out var gridX, out var gridY))
				{
					int grid = gridX + gridY * colCount;
					OnGridMouseUp(grid, (int)val.button, VFInput.shift, VFInput.control, GameMain.mainPlayer);
				}
			}
		}

		public virtual void OnSort()
		{
		}

		protected virtual void OnGridMouseDown(int grid, int button, bool shift, bool control, Player player)
		{
		}

		protected virtual void OnGridMouseUp(int grid, int button, bool shift, bool control, Player player)
		{
		}

		protected virtual void OnGridRightMouseUp(Player player)
		{
		}

		protected virtual int HandTake(Player player, int grid, int count = 0)
		{
			return 0;
		}

		protected virtual void HandPut(Player player, int grid, int count = 0)
		{
		}
	}
	public static class PrefabDescExtensions
	{
		public static bool HasProperty(this PrefabDesc desc, string name)
		{
			return desc.customData.ContainsKey(name);
		}

		public static void SetProperty<T>(this PrefabDesc desc, string name, T value)
		{
			if (desc.customData.ContainsKey(name))
			{
				desc.customData[name] = value;
			}
			else
			{
				desc.customData.Add(name, value);
			}
		}

		public static T GetProperty<T>(this PrefabDesc desc, string name)
		{
			if (desc.customData.ContainsKey(name))
			{
				return (T)desc.customData[name];
			}
			return default(T);
		}

		public static T GetOrAddProperty<T>(this PrefabDesc desc, string name) where T : new()
		{
			if (desc.customData.ContainsKey(name))
			{
				return (T)desc.customData[name];
			}
			T val = new T();
			desc.customData.Add(name, val);
			return val;
		}
	}
	public interface INetwork
	{
		int GetId();

		List<Node> GetNodes();
	}
	public struct NodeBounds
	{
		public Vector3 center;

		public Vector3 size;

		public Vector3 nodePoint;
	}
	public abstract class NetworkHandler
	{
		protected static List<int> _tmp_ints = new List<int>();

		protected static List<Node> _tmp_nodes = new List<Node>();

		protected PlanetFactory factory;

		public virtual NetworkHandler Prepare(PlanetFactory currentFactory)
		{
			factory = currentFactory;
			return this;
		}

		public abstract INetwork GetNetwork(int nodeId);

		protected abstract void RemoveNetwork(INetwork network);

		protected abstract void HandleNetworkMerge(INetwork first, INetwork second);

		protected abstract void SetNodeNetwork(Node node, INetwork network);

		protected abstract void HandleNodeRemoval(INetwork network, Node node);

		protected abstract INetwork CreateNewNetworkWith(List<Node> nodes);

		public abstract void UpdateVisualComponents(Node target);

		protected abstract bool CheckConnectionConditions(Node first, Node second, ref string errorMessage);

		public abstract string GetComponentType();

		public abstract bool IsRelatedTo(ItemProto proto);

		public abstract int GetNodeId(EntityData entity, Vector3 pos, Func<Node, bool> filter = null);

		public abstract NodeBounds GetNodeBounds(PrefabDesc prefab, int nodeId);

		public bool DisconnectAll(int nodeId)
		{
			INetwork network = GetNetwork(nodeId);
			Node nodeWithId = GetNodeWithId(nodeId);
			_tmp_nodes.Clear();
			foreach (Node conn in nodeWithId.conns)
			{
				_tmp_nodes.Add(conn);
				conn.conns.Remove(nodeWithId);
			}
			foreach (Node tmp_node in _tmp_nodes)
			{
				nodeWithId.conns.Remove(tmp_node);
			}
			_tmp_nodes.Clear();
			CreateNewNetworkWith(new List<Node> { nodeWithId });
			CheckForDisconnectedNetworks(network);
			UpdateVisualComponents(nodeWithId);
			return true;
		}

		public void DisconnectNodes(Node first, Node other)
		{
			first.conns.Remove(other);
			other.conns.Remove(first);
			INetwork network = GetNetwork(first.id);
			CheckForDisconnectedNetworks(network);
		}

		public bool ConnectNodes(Node first, Node second, ref string errorMessage)
		{
			if (!CheckConnectionConditions(first, second, ref errorMessage))
			{
				return false;
			}
			Algorithms.ListSortedAdd(first.conns, second);
			Algorithms.ListSortedAdd(second.conns, first);
			INetwork network = GetNetwork(first.id);
			INetwork network2 = GetNetwork(second.id);
			MergeNetworks(network, network2);
			return true;
		}

		public Node GetNodeWithId(int nodeId)
		{
			INetwork network = GetNetwork(nodeId);
			try
			{
				return network.GetNodes().First((Node node) => node.id == nodeId);
			}
			catch (InvalidOperationException)
			{
				throw new ArgumentException("Can't find network");
			}
		}

		public bool AreNodesConnected(Node firstNode, Node secondNode)
		{
			return firstNode.conns.Any((Node node) => node.id == secondNode.id);
		}

		private void MergeNetworks(INetwork firstNetwork, INetwork secondNetwork)
		{
			if (firstNetwork == null || secondNetwork == null || firstNetwork.GetId() == secondNetwork.GetId())
			{
				return;
			}
			foreach (Node node in secondNetwork.GetNodes())
			{
				SetNodeNetwork(node, firstNetwork);
			}
			Algorithms.ListSortedMerge(firstNetwork.GetNodes(), secondNetwork.GetNodes());
			HandleNetworkMerge(firstNetwork, secondNetwork);
			RemoveNetwork(secondNetwork);
		}

		public void CheckForDisconnectedNetworks(INetwork startNetwork)
		{
			INetwork network = startNetwork;
			int num = 0;
			do
			{
				List<Node> nodes = network.GetNodes();
				Algorithms.NodeDfs(nodes[0]);
				_tmp_nodes.Clear();
				for (int i = 0; i < nodes.Count; i++)
				{
					Node val = nodes[i];
					if (!val.flag)
					{
						_tmp_nodes.Add(val);
						HandleNodeRemoval(network, val);
						nodes.RemoveAt(i);
						i--;
					}
				}
				Algorithms.ClearNodeFlags(nodes);
				if (_tmp_nodes.Count == 0)
				{
					break;
				}
				network = CreateNewNetworkWith(_tmp_nodes);
			}
			while (num++ < 24);
			_tmp_nodes.Clear();
		}
	}
	public class NetworksSystem : BaseSubmodule
	{
		public static List<NetworkHandler> handlers = new List<NetworkHandler>();

		internal static NetworksSystem Instance => CommonAPIPlugin.GetModuleInstance<NetworksSystem>();

		internal override void Load()
		{
			AddHandler(new PowerNetworkHandler());
		}

		public static void AddHandler(NetworkHandler handler)
		{
			handlers.Add(handler);
		}

		public static bool IsConnectedToNetwork(PlanetFactory factory, int objId)
		{
			Instance.ThrowIfNotLoaded();
			try
			{
				NetworkHandler networkHandler = GetNetworkHandler(factory, objId);
				return networkHandler != null;
			}
			catch (InvalidOperationException)
			{
				return false;
			}
		}

		public static bool IsConnectedToSameNetwork(PlanetFactory factory, int firstId, int secondId)
		{
			Instance.ThrowIfNotLoaded();
			try
			{
				NetworkHandler commonNetwork = GetCommonNetwork(factory, firstId, secondId);
				return commonNetwork != null;
			}
			catch (InvalidOperationException)
			{
				return false;
			}
		}

		public static NetworkHandler GetNetworkHandler(PlanetFactory factory, int objId)
		{
			Instance.ThrowIfNotLoaded();
			if (objId == 0)
			{
				return null;
			}
			int num = ((objId > 0) ? factory.entityPool[objId].protoId : factory.prebuildPool[-objId].protoId);
			ItemProto itemProto = ((ProtoSet<ItemProto>)(object)LDB.items).Select(num);
			if (itemProto == null)
			{
				return null;
			}
			try
			{
				return handlers.First((NetworkHandler handler) => handler.IsRelatedTo(itemProto)).Prepare(factory);
			}
			catch (InvalidOperationException)
			{
				return null;
			}
		}

		public static NetworkHandler GetCommonNetwork(PlanetFactory factory, int firstId, int secondId)
		{
			Instance.ThrowIfNotLoaded();
			if (firstId == 0 || secondId == 0)
			{
				return null;
			}
			int num = ((firstId > 0) ? factory.entityPool[firstId].protoId : factory.prebuildPool[-firstId].protoId);
			int num2 = ((secondId > 0) ? factory.entityPool[secondId].protoId : factory.prebuildPool[-secondId].protoId);
			ItemProto firstItemProto = ((ProtoSet<ItemProto>)(object)LDB.items).Select(num);
			ItemProto secondItemProto = ((ProtoSet<ItemProto>)(object)LDB.items).Select(num2);
			if (firstItemProto == null || secondItemProto == null)
			{
				return null;
			}
			try
			{
				return handlers.First((NetworkHandler handler) => handler.IsRelatedTo(firstItemProto) && handler.IsRelatedTo(secondItemProto)).Prepare(factory);
			}
			catch (InvalidOperationException)
			{
				return null;
			}
		}
	}
	public static class NodeExtensions
	{
		public static Vector3 GetPoint(this Node node)
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			return new Vector3(node.x, node.y, node.z);
		}
	}
	public class PowerNetworkHandler : NetworkHandler
	{
		private PowerSystem system;

		public override NetworkHandler Prepare(PlanetFactory currentFactory)
		{
			if (factory == currentFactory)
			{
				return this;
			}
			base.Prepare(currentFactory);
			system = currentFactory.powerSystem;
			return this;
		}

		protected override void SetNodeNetwork(Node node, INetwork network)
		{
			system.nodePool[node.id].networkId = network.GetId();
		}

		public override INetwork GetNetwork(int nodeId)
		{
			int networkId = system.nodePool[nodeId].networkId;
			if (networkId == 0)
			{
				throw new ArgumentException("Zero Network id");
			}
			return new PowerNetworkWrapper(system.netPool[networkId]);
		}

		protected override void RemoveNetwork(INetwork network)
		{
			system.RemoveNetwork(network.GetId());
		}

		protected override bool CheckConnectionConditions(Node first, Node second, ref string message)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			float num = first.connDistance2;
			float connDistance = second.connDistance2;
			if (num < connDistance)
			{
				num = connDistance;
			}
			Vector3 val = first.GetPoint() - second.GetPoint();
			float sqrMagnitude = ((Vector3)(ref val)).sqrMagnitude;
			message = "距离太远";
			return sqrMagnitude <= num;
		}

		public override string GetComponentType()
		{
			return "dsp.common-api.CommonAPI:PowerNetworkHandler";
		}

		public override bool IsRelatedTo(ItemProto proto)
		{
			return proto.prefabDesc.isPowerNode;
		}

		public override int GetNodeId(EntityData entity, Vector3 pos, Func<Node, bool> filter = null)
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			if (filter == null || filter(GetNodeWithId(entity.powerNodeId)))
			{
				return entity.powerNodeId;
			}
			return 0;
		}

		public override NodeBounds GetNodeBounds(PrefabDesc prefab, int nodeId)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			NodeBounds result = default(NodeBounds);
			result.center = prefab.selectCenter;
			result.size = prefab.selectSize;
			result.nodePoint = prefab.powerPoint;
			return result;
		}

		protected override void HandleNetworkMerge(INetwork first, INetwork second)
		{
			PowerNetwork data = ((PowerNetworkWrapper)first).data;
			PowerNetwork data2 = ((PowerNetworkWrapper)second).data;
			foreach (int consumer in data2.consumers)
			{
				system.consumerPool[consumer].networkId = first.GetId();
			}
			foreach (int generator in data2.generators)
			{
				system.genPool[generator].networkId = first.GetId();
			}
			foreach (int accumulator in data2.accumulators)
			{
				system.accPool[accumulator].networkId = first.GetId();
			}
			foreach (int exchanger in data2.exchangers)
			{
				system.excPool[exchanger].networkId = first.GetId();
			}
			Algorithms.ListSortedMerge(data.consumers, data2.consumers);
			Algorithms.ListSortedMerge(data.generators, data2.generators);
			Algorithms.ListSortedMerge(data.accumulators, data2.accumulators);
			Algorithms.ListSortedMerge(data.exchangers, data2.exchangers);
		}

		protected override void HandleNodeRemoval(INetwork network, Node node)
		{
			PowerNetwork data = ((PowerNetworkWrapper)network).data;
			foreach (int consumer in node.consumers)
			{
				data.consumers.Remove(consumer);
			}
			if (node.genId > 0)
			{
				data.generators.Remove(node.genId);
			}
			if (node.accId > 0)
			{
				data.accumulators.Remove(node.accId);
			}
			if (node.excId > 0)
			{
				data.exchangers.Remove(node.excId);
			}
		}

		protected override INetwork CreateNewNetworkWith(List<Node> nodes)
		{
			int num = system.NewNetwork();
			PowerNetwork val = system.netPool[num];
			Algorithms.ListSortedMerge(val.nodes, nodes);
			foreach (Node node in nodes)
			{
				system.nodePool[node.id].networkId = num;
				Algorithms.ListSortedMerge(val.consumers, node.consumers);
				foreach (int consumer in node.consumers)
				{
					system.consumerPool[consumer].networkId = num;
				}
				if (node.genId > 0)
				{
					Algorithms.ListSortedAdd(val.generators, node.genId);
					system.genPool[node.genId].networkId = num;
				}
				if (node.accId > 0)
				{
					Algorithms.ListSortedAdd(val.accumulators, node.accId);
					system.accPool[node.accId].networkId = num;
				}
				if (node.excId > 0)
				{
					Algorithms.ListSortedAdd(val.exchangers, node.excId);
					system.excPool[node.excId].networkId = num;
				}
			}
			return new PowerNetworkWrapper(val);
		}

		public override void UpdateVisualComponents(Node target)
		{
			system.line_arragement_for_remove_node(target);
			system.line_arragement_for_add_node(target);
			factory.planet.factoryModel.RefreshPowerNodes();
		}
	}
	public class PowerNetworkWrapper : INetwork
	{
		public PowerNetwork data;

		public PowerNetworkWrapper(PowerNetwork network)
		{
			data = network;
		}

		public int GetId()
		{
			return data.id;
		}

		public List<Node> GetNodes()
		{
			return data.nodes;
		}
	}
	public interface IPickerExtension<in T>
	{
		void Open(T picker);

		void Close(T picker);

		void OnPopup(T picker);

		void PostPopup(T picker);
	}
	public interface IMouseHandlerExtension<in T> : IPickerExtension<T>
	{
		bool OnBoxMouseDown(T picker);

		void TestMouseIndex(T picker);
	}
	public interface IUpdatePickerExtension<in T> : IPickerExtension<T>
	{
		void OnUpdate(T picker);
	}
	public interface ShowLocked
	{
	}
	public class IntPropertySerializer : IPropertySerializer
	{
		public static readonly IntPropertySerializer instance = new IntPropertySerializer();

		public void Export(object obj, BinaryWriter w)
		{
			w.Write((int)obj);
		}

		public object Import(BinaryReader r)
		{
			return r.ReadInt32();
		}

		public Type GetTargetType()
		{
			return typeof(int);
		}
	}
	public class IntArrayPropertySerializer : IPropertySerializer
	{
		public static readonly IntArrayPropertySerializer instance = new IntArrayPropertySerializer();

		public void Export(object obj, BinaryWriter w)
		{
			int[] array = (int[])obj;
			w.Write(array.Length);
			int[] array2 = array;
			foreach (int value in array2)
			{
				w.Write(value);
			}
		}

		public object Import(BinaryReader r)
		{
			int num = r.ReadInt32();
			int[] array = new int[num];
			for (int i = 0; i < num; i++)
			{
				array[i] = r.ReadInt32();
			}
			return array;
		}

		public Type GetTargetType()
		{
			return typeof(int[]);
		}
	}
	public static class EntityDataExtensions
	{
		public static Dictionary<string, IPropertySerializer> propertySerializers = new Dictionary<string, IPropertySerializer>();

		public static void DefineProperty(string key, IPropertySerializer serializer)
		{
			if (propertySerializers.ContainsKey(key))
			{
				propertySerializers[key] = serializer;
			}
			else
			{
				propertySerializers.Add(key, serializer);
			}
		}

		public static bool HasProperty(this ref EntityData desc, string name)
		{
			if (desc.customData == null)
			{
				desc.customData = new Dictionary<string, object>();
			}
			return desc.customData.ContainsKey(name);
		}

		public static void SetProperty<T>(this ref EntityData desc, string name, T value)
		{
			if (!propertySerializers.ContainsKey(name) || propertySerializers[name] == null)
			{
				throw new ArgumentException("Can't set property " + name + " of type " + value.GetType().FullName + " because serializer for it was not defined!");
			}
			Type targetType = propertySerializers[name].GetTargetType();
			if (targetType != value.GetType())
			{
				throw new ArgumentException("Can't set property " + name + " of type " + value.GetType().FullName + " because serializer defined for " + name + " is for type " + targetType.FullName + "!");
			}
			if (desc.customData == null)
			{
				desc.customData = new Dictionary<string, object>();
			}
			if (desc.customData.ContainsKey(name))
			{
				desc.customData[name] = value;
			}
			else
			{
				desc.customData.Add(name, value);
			}
		}

		public static T GetProperty<T>(this ref EntityData desc, string name)
		{
			if (desc.customData == null)
			{
				desc.customData = new Dictionary<string, object>();
			}
			if (desc.customData.ContainsKey(name))
			{
				return (T)desc.customData[name];
			}
			return default(T);
		}

		public static T GetOrAddProperty<T>(this ref EntityData desc, string name) where T : new()
		{
			if (desc.customData == null)
			{
				desc.customData = new Dictionary<string, object>();
			}
			if (desc.customData.ContainsKey(name))
			{
				return (T)desc.customData[name];
			}
			T val = new T();
			desc.customData.Add(name, val);
			return val;
		}

		public static void ExportData(ref EntityData data, BinaryWriter w)
		{
			if (data.customData != null)
			{
				w.Write((byte)data.customData.Count);
				{
					foreach (KeyValuePair<string, object> customDatum in data.customData)
					{
						w.Write(customDatum.Key);
						IPropertySerializer propertySerializer = propertySerializers[customDatum.Key];
						propertySerializer.Export(customDatum.Value, w);
					}
					return;
				}
			}
			w.Write((byte)0);
		}

		public static void ImportData(ref EntityData data, BinaryReader r)
		{
			int num = r.ReadByte();
			for (int i = 0; i < num; i++)
			{
				string text = r.ReadString();
				IPropertySerializer propertySerializer = propertySerializers[text];
				object value = propertySerializer.Import(r);
				data.SetProperty(text, value);
			}
		}
	}
	public interface IPropertySerializer
	{
		void Export(object obj, BinaryWriter w);

		object Import(BinaryReader r);

		Type GetTargetType();
	}
	public static class ItemProtoExtenstion
	{
		public static void SetIcon(this ItemProto proto, string path, bool propageToRecipe = true)
		{
			if (!string.IsNullOrEmpty(path))
			{
				Sprite iconSprite = Resources.Load<Sprite>(path);
				proto.IconPath = path;
				proto._iconSprite = iconSprite;
				if (propageToRecipe && proto.maincraft != null)
				{
					RecipeProto val = ((ProtoSet<RecipeProto>)(object)LDB.recipes).Select(((Proto)proto.maincraft).ID);
					CommonAPIPlugin.logger.LogInfo($"Changing recipe icon: {val != null}");
					val.IconPath = "";
					val._iconSprite = iconSprite;
				}
			}
		}
	}
	[HarmonyPatch]
	public static class LoadSaveOnLoad
	{
		internal static string saveName;

		internal static bool isValid
		{
			get
			{
				if (saveName != null)
				{
					return !saveName.Equals("");
				}
				return false;
			}
		}

		internal static string GetArg(string name)
		{
			string[] commandLineArgs = Environment.GetCommandLineArgs();
			for (int i = 0; i < commandLineArgs.Length; i++)
			{
				if (commandLineArgs[i] == name && commandLineArgs.Length > i + 1)
				{
					return commandLineArgs[i + 1];
				}
			}
			return null;
		}

		internal static void Init()
		{
			saveName = GetArg("loadSave");
			if (isValid)
			{
				DSPGame.LoadFile = saveName;
				CommonAPIPlugin.logger.LogInfo("Loading save " + saveName + " by default!");
			}
		}

		internal static void LoadSave()
		{
			if (isValid && GameSave.SaveExist(saveName))
			{
				DSPGame.StartGame(saveName);
			}
		}
	}
	public class AcceptableValueOptionsList : AcceptableValueBase
	{
		public string[] AcceptableValues { get; }

		public AcceptableValueOptionsList(string[] acceptableValues)
			: base(typeof(string))
		{
			if (acceptableValues == null)
			{
				throw new ArgumentNullException("acceptableValues");
			}
			if (acceptableValues.Length == 0)
			{
				throw new ArgumentException("At least one acceptable value is needed", "acceptableValues");
			}
			AcceptableValues = acceptableValues;
		}

		public override object Clamp(object value)
		{
			if (!(value is string text))
			{
				return "";
			}
			string[] source = text.Split(new char[1] { ',' });
			return GeneralExtensions.Join<string>(from s in source
				select s.Trim() into s
				where AcceptableValues.Contains(s)
				select s, (Func<string, string>)null, ", ");
		}

		public override bool IsValid(object value)
		{
			if (!(value is string text))
			{
				return false;
			}
			string[] source = text.Split(new char[1] { ',' });
			return source.All((string s) => AcceptableValues.Contains(s.Trim()));
		}

		public override string ToDescriptionString()
		{
			return "# Acceptable values: " + string.Join(", ", AcceptableValues.Select((string x) => x.ToString()).ToArray()) + "\n# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning)";
		}
	}
	public static class Algorithms
	{
		public static void NodeDfs(Node n)
		{
			n.flag = true;
			int count = n.conns.Count;
			for (int i = 0; i < count; i += 30)
			{
				int num = 0;
				for (int j = 0; j < 30; j++)
				{
					int num2 = i + j;
					if (num2 >= count)
					{
						break;
					}
					if (!n.conns[num2].flag)
					{
						num |= 1 << j;
					}
					n.conns[num2].flag = true;
				}
				for (int k = 0; k < 30; k++)
				{
					int num3 = i + k;
					if (num3 >= count)
					{
						break;
					}
					if ((num & (1 << k)) > 0)
					{
						NodeDfs(n.conns[num3]);
					}
				}
			}
		}

		public static void ClearNodeFlags(List<Node> l)
		{
			foreach (Node item in l)
			{
				item.flag = false;
			}
		}

		public static void ListSortedMerge<T>(List<T> a, List<T> b) where T : IComparable<T>
		{
			int count = b.Count;
			int i = 0;
			for (int j = 0; j < count; j++)
			{
				int count2 = a.Count;
				T val = b[j];
				bool flag = false;
				for (; i < count2; i++)
				{
					if (a[i].CompareTo(val) == 0)
					{
						flag = true;
						break;
					}
					if (a[i].CompareTo(val) > 0)
					{
						a.Insert(i, val);
						flag = true;
						break;
					}
				}
				if (!flag)
				{
					a.Add(val);
					i = a.Count;
				}
			}
		}

		public static void ListSortedMerge(List<Node> a, List<Node> b)
		{
			int count = b.Count;
			int i = 0;
			for (int j = 0; j < count; j++)
			{
				int count2 = a.Count;
				Node val = b[j];
				bool flag = false;
				for (; i < count2; i++)
				{
					if (a[i].id == val.id)
					{
						flag = true;
						break;
					}
					if (a[i].id > val.id)
					{
						a.Insert(i, val);
						flag = true;
						break;
					}
				}
				if (!flag)
				{
					a.Add(val);
					i = a.Count;
				}
			}
		}

		public static void ListSortedAdd<T>(List<T> l, T n) where T : IComparable<T>
		{
			int count = l.Count;
			bool flag = false;
			for (int i = 0; i < count; i++)
			{
				if (l[i].CompareTo(n) == 0)
				{
					flag = true;
					break;
				}
				if (l[i].CompareTo(n) > 0)
				{
					l.Insert(i, n);
					flag = true;
					break;
				}
			}
			if (!flag)
			{
				l.Add(n);
			}
		}

		public static void ListSortedAdd(List<Node> l, Node n)
		{
			int count = l.Count;
			bool flag = false;
			for (int i = 0; i < count; i++)
			{
				if (l[i].id == n.id)
				{
					flag = true;
					break;
				}
				if (l[i].id > n.id)
				{
					l.Insert(i, n);
					flag = true;
					break;
				}
			}
			if (!flag)
			{
				l.Add(n);
			}
		}
	}
	public class InstanceRegistry<T> : Registry
	{
		public List<T> data = new List<T>();

		public InstanceRegistry()
		{
			data.Add(default(T));
		}

		public InstanceRegistry(int startId)
			: this(startId, throwErrorOnConflict: false)
		{
		}

		public InstanceRegistry(int startId, bool throwErrorOnConflict)
			: base(startId, throwErrorOnConflict)
		{
			for (int i = 0; i < startId; i++)
			{
				data.Add(default(T));
			}
		}

		public virtual int Register(string key, T item)
		{
			return Register(key, (object)item);
		}

		protected override void OnItemRegistered(string key, int id, object item)
		{
			if (item is T item2)
			{
				data.Add(item2);
				return;
			}
			throw new ArgumentException("Tried to register invalid type " + item.GetType().FullName + ", expected " + typeof(T).FullName);
		}
	}
	public interface IPoolable : ISerializeState
	{
		int GetId();

		void SetId(int id);
	}
	public interface ISerializeState
	{
		void Free();

		void Export(BinaryWriter w);

		void Import(BinaryReader r);
	}
	public class Pool<T> : ISerializeState where T : IPoolable, new()
	{
		public T[] pool;

		public int poolCursor = 1;

		protected int poolCapacity;

		protected int[] poolRecycle;

		protected int recycleCursor;

		private Action<T> _cachedInitUpdate = delegate
		{
		};

		public T this[int index] => pool[index];

		protected virtual T GetNewInstance()
		{
			return new T();
		}

		protected virtual void InitPoolItem(T item, object[] data)
		{
		}

		protected virtual void RemovePoolItem(T item)
		{
			item.Free();
		}

		public virtual void Free()
		{
			T[] array = pool;
			for (int i = 0; i < array.Length; i++)
			{
				T val = array[i];
				if (val != null && val.GetId() != 0)
				{
					val.Free();
				}
			}
			pool = null;
			poolCursor = 1;
			poolCapacity = 0;
			poolRecycle = null;
			recycleCursor = 0;
		}

		public virtual void Import(BinaryReader r)
		{
			r.ReadInt32();
			int newSize = r.ReadInt32();
			Init(newSize);
			poolCursor = r.ReadInt32();
			recycleCursor = r.ReadInt32();
			for (int i = 1; i < poolCursor; i++)
			{
				if (r.ReadByte() == 1)
				{
					pool[i] = GetNewInstance();
					pool[i].Import(r);
				}
			}
			for (int j = 0; j < recycleCursor; j++)
			{
				poolRecycle[j] = r.ReadInt32();
			}
		}

		public virtual void Export(BinaryWriter w)
		{
			w.Write(0);
			w.Write(poolCapacity);
			w.Write(poolCursor);
			w.Write(recycleCursor);
			for (int i = 1; i < poolCursor; i++)
			{
				if (pool[i] != null && pool[i].GetId() != 0)
				{
					w.Write((byte)1);
					pool[i].Export(w);
				}
				else
				{
					w.Write((byte)0);
				}
			}
			for (int j = 0; j < recycleCursor; j++)
			{
				w.Write(poolRecycle[j]);
			}
		}

		public void Init(int newSize)
		{
			T[] array = pool;
			pool = new T[newSize];
			poolRecycle = new int[newSize];
			if (array != null)
			{
				Array.Copy(array, pool, (newSize <= poolCapacity) ? newSize : poolCapacity);
			}
			poolCapacity = newSize;
		}

		public int AddPoolItem(object[] data)
		{
			return AddPoolItem(default(T), data);
		}

		public int AddPoolItem(T item, object[] data)
		{
			int num;
			if (recycleCursor > 0)
			{
				num = poolRecycle[--recycleCursor];
			}
			else
			{
				num = poolCursor++;
				if (num == poolCapacity)
				{
					Init(poolCapacity * 2);
				}
			}
			if (item != null)
			{
				pool[num] = item;
			}
			else if (pool[num] == null)
			{
				pool[num] = GetNewInstance();
			}
			pool[num].SetId(num);
			InitPoolItem(pool[num], data);
			return num;
		}

		public void RemovePoolItem(int id)
		{
			ref T reference = ref pool[id];
			T val = default(T);
			if (val == null)
			{
				val = reference;
				reference = ref val;
				if (val == null)
				{
					goto IL_0042;
				}
			}
			if (reference.GetId() == 0)
			{
				return;
			}
			goto IL_0042;
			IL_0042:
			RemovePoolItem(pool[id]);
			poolRecycle[recycleCursor++] = id;
		}

		protected virtual Action<T> InitUpdate()
		{
			return _cachedInitUpdate;
		}

		public void UpdatePool(Action<T> initFunc = null)
		{
			Action<T> action = initFunc ?? InitUpdate();
			for (int i = 1; i < poolCursor; i++)
			{
				ref T reference = ref pool[i];
				T val = default(T);
				if (val == null)
				{
					val = reference;
					reference = ref val;
					if (val == null)
					{
						continue;
					}
				}
				if (reference.GetId() == i)
				{
					action(pool[i]);
				}
			}
		}

		public void UpdatePoolMultithread(int usedThreadCount, int currentThreadIdx, int minimumCount, Action<T> initFunc = null)
		{
			Action<T> action = initFunc ?? InitUpdate();
			int num = default(int);
			int num2 = default(int);
			if (!WorkerThreadExecutor.CalculateMissionIndex(1, poolCursor - 1, usedThreadCount, currentThreadIdx, minimumCount, ref num, ref num2))
			{
				return;
			}
			for (int i = num; i < num2; i++)
			{
				ref T reference = ref pool[i];
				T val = default(T);
				if (val == null)
				{
					val = reference;
					reference = ref val;
					if (val == null)
					{
						continue;
					}
				}
				if (reference.GetId() == i)
				{
					action(pool[i]);
				}
			}
		}
	}
	public class Registry : ISerializeState
	{
		public Dictionary<string, int> idMap = new Dictionary<string, int>();

		public Dictionary<int, int> migrationMap = new Dictionary<int, int>();

		public HashSet<string> removedIds = new HashSet<string>();

		public HashSet<int> removedIntIds = new HashSet<int>();

		protected int lastId;

		protected bool throwErrorOnConflict;

		public Registry(int startId, bool throwErrorOnConflict)
		{
			lastId = startId - 1;
			this.throwErrorOnConflict = throwErrorOnConflict;
		}

		public Registry(int startId = 1)
			: this(startId, throwErrorOnConflict: false)
		{
		}

		protected virtual void OnItemRegistered(string key, int id, object item)
		{
		}

		public void InitUnitMigrationMap()
		{
			migrationMap.Clear();
			foreach (KeyValuePair<string, int> item in idMap)
			{
				migrationMap.Add(item.Value, item.Value);
			}
		}

		public int Register(string key, object item = null)
		{
			if (!idMap.ContainsKey(key))
			{
				OnItemRegistered(key, lastId + 1, item);
				idMap.Add(key, ++lastId);
				return lastId;
			}
			if (throwErrorOnConflict)
			{
				throw new InvalidOperationException("Failed to register object with key '" + key + "', because it is taken!");
			}
			return GetUniqueId(key);
		}

		public int GetUniqueId(string typeId)
		{
			if (idMap.ContainsKey(typeId))
			{
				return idMap[typeId];
			}
			throw new ArgumentException("Item with id " + typeId + " is not registered!");
		}

		public int MigrateId(int oldId)
		{
			if (migrationMap.ContainsKey(oldId))
			{
				return migrationMap[oldId];
			}
			return 0;
		}

		public void Free()
		{
		}

		public void Export(BinaryWriter w)
		{
			w.Write((byte)0);
			w.Write(idMap.Count);
			foreach (KeyValuePair<string, int> item in idMap)
			{
				w.Write(item.Key);
				w.Write(item.Value);
			}
		}

		public void Import(BinaryReader r)
		{
			migrationMap.Clear();
			r.ReadByte();
			int num = r.ReadInt32();
			for (int i = 0; i < num; i++)
			{
				string text = r.ReadString();
				int num2 = r.ReadInt32();
				try
				{
					int uniqueId = GetUniqueId(text);
					migrationMap.Add(num2, uniqueId);
				}
				catch (ArgumentException)
				{
					removedIds.Add(text);
					removedIntIds.Add(num2);
				}
			}
		}
	}
	public class TypeRegistry<TItem, TCont> : InstanceRegistry<Type> where TCont : ISerializeState
	{
		public override int Register(string key, Type item)
		{
			if (typeof(TItem).IsAssignableFrom(item))
			{
				return base.Register(key, item);
			}
			throw new ArgumentException("Trying to register type " + item.FullName + ", which does not implement " + typeof(TItem).FullName + "!");
		}

		public TItem GetNew(int typeId)
		{
			if (typeId > 0 && typeId < data.Count)
			{
				return (TItem)Activator.CreateInstance(data[typeId]);
			}
			throw new ArgumentException($"Item with id {typeId} is not registered!");
		}

		public void ImportAndMigrate(IList<TCont> list, BinaryReader r)
		{
			while (true)
			{
				int num = r.ReadInt32();
				switch (num)
				{
				case -1:
					continue;
				case 0:
					return;
				}
				int num2 = MigrateId(num);
				if (num2 != 0)
				{
					TCont val = list[num2];
					long num3 = r.ReadInt64();
					long position = r.BaseStream.Position;
					try
					{
						val.Import(r);
					}
					catch (Exception ex)
					{
						CommonLogger.logger.LogWarning("Error importing container for type " + typeof(TItem).FullName + ", message: " + ex.Message + ", Stacktrace:\n" + ex.StackTrace);
						r.BaseStream.Position = position + num3;
					}
				}
				else
				{
					long num4 = r.ReadInt64();
					r.ReadBytes((int)num4);
				}
			}
		}

		public void ExportContainer(IList<TCont> list, BinaryWriter w)
		{
			for (int i = 1; i < list.Count; i++)
			{
				MemoryStream memoryStream = new MemoryStream();
				BinaryWriter w2 = new BinaryWriter(memoryStream);
				TCont val = list[i];
				try
				{
					val.Export(w2);
				}
				catch (Exception ex)
				{
					w.Write(-1);
					CommonLogger.logger.LogWarning("Error exporting container for type " + typeof(TItem).FullName + ", message: " + ex.Message + ", Stacktrace:\n" + ex.StackTrace);
					continue;
				}
				w.Write(i);
				w.Write(memoryStream.Length);
				w.Write(memoryStream.ToArray());
			}
			w.Write(0);
		}
	}
	public static class CecilExtension
	{
		internal static bool IsSubTypeOf(this TypeDefinition typeDefinition, string typeFullName)
		{
			if (((MemberReference)typeDefinition).FullName == typeFullName)
			{
				return true;
			}
			TypeReference baseType = typeDefinition.BaseType;
			TypeDefinition val = ((baseType != null) ? baseType.Resolve() : null);
			while (val != null)
			{
				if (((MemberReference)val).FullName == typeFullName)
				{
					return true;
				}
				TypeReference baseType2 = val.BaseType;
				val = ((baseType2 != null) ? baseType2.Resolve() : null);
			}
			return false;
		}
	}
	public static class CodeMatcherExtension
	{
		public static CodeMatcher GetInstructionAndAdvance(this CodeMatcher matcher, out OpCode opCode, out object operand)
		{
			opCode = matcher.Opcode;
			operand = matcher.Operand;
			matcher.Advance(1);
			return matcher;
		}

		public static CodeMatcher GetLabel(this CodeMatcher matcher, out Label label)
		{
			label = (Label)matcher.Instruction.operand;
			return matcher;
		}
	}
	public static class ConfigFileExtension
	{
		public static Type configFile;

		public static PropertyInfo OrphanedEntriesProp;

		static ConfigFileExtension()
		{
			configFile = AccessTools.TypeByName("BepInEx.Configuration.ConfigFile");
			OrphanedEntriesProp = configFile.GetProperty("OrphanedEntries", AccessTools.all);
		}

		public static void MigrateConfig<T>(this ConfigFile file, string oldSection, string newSection, string[] keyFilter)
		{
			Dictionary<ConfigDefinition, string> dictionary = (Dictionary<ConfigDefinition, string>)OrphanedEntriesProp.GetValue(file);
			List<ConfigDefinition> list = new List<ConfigDefinition>();
			ConfigEntry<T> val = default(ConfigEntry<T>);
			foreach (KeyValuePair<ConfigDefinition, string> item in dictionary)
			{
				string key = item.Key.Key;
				if (item.Key.Section.Equals(oldSection) && ((IList)keyFilter).Contains((object?)key) && file.TryGetEntry<T>(newSection, key, ref val))
				{
					((ConfigEntryBase)val).SetSerializedValue(item.Value);
					list.Add(item.Key);
					CommonAPIPlugin.logger.LogInfo("Migrating config from " + oldSection + ":" + key + " to " + newSection + ":" + key);
				}
			}
			foreach (ConfigDefinition item2 in list)
			{
				dictionary.Remove(item2);
			}
		}

		public static void MigrateConfig<T>(this ConfigFile file, string oldSection, string oldName, string newSection, string newName)
		{
			Dictionary<ConfigDefinition, string> dictionary = (Dictionary<ConfigDefinition, string>)OrphanedEntriesProp.GetValue(file);
			List<ConfigDefinition> list = new List<ConfigDefinition>();
			ConfigEntry<T> val = default(ConfigEntry<T>);
			foreach (KeyValuePair<ConfigDefinition, string> item in dictionary)
			{
				ConfigDefinition key = item.Key;
				if (key.Section.Equals(oldSection) && key.Key.Equals(oldName) && file.TryGetEntry<T>(newSection, newName, ref val))
				{
					((ConfigEntryBase)val).SetSerializedValue(item.Value);
					list.Add(key);
					CommonAPIPlugin.logger.LogInfo("Migrating config from " + oldSection + ":" + oldName + " to " + newSection + ":" + newName);
				}
			}
			foreach (ConfigDefinition item2 in list)
			{
				dictionary.Remove(item2);
			}
		}
	}
	public static class CopyPropertiesExtenstion
	{
		public static void CopyPropsTo<T1, T2>(this T1 source, ref T2 destination)
		{
			List<MemberInfo> members = GetMembers(source.GetType());
			List<MemberInfo> members2 = GetMembers(destination.GetType());
			foreach (MemberInfo sourceMember in members)
			{
				if (CanRead(sourceMember))
				{
					MemberInfo memberInfo = members2.FirstOrDefault((MemberInfo x) => x.Name.ToLower() == sourceMember.Name.ToLower());
					if (!(memberInfo == null) && CanWrite(memberInfo))
					{
						SetObjectValue(ref destination, memberInfo, GetMemberValue(source, sourceMember));
					}
				}
			}
		}

		private static void SetObjectValue<T>(ref T obj, MemberInfo member, object value)
		{
			object obj2 = (obj.GetType().IsValueType ? ((object)obj) : ((object)obj));
			SetMemberValue(ref obj2, member, value);
			obj = (T)obj2;
		}

		private static void SetMemberValue<T>(ref T obj, MemberInfo member, object value)
		{
			if (IsProperty(member))
			{
				PropertyInfo propertyInfo = (PropertyInfo)member;
				if (propertyInfo.SetMethod != null)
				{
					propertyInfo.SetValue(obj, value);
				}
			}
			else if (IsField(member))
			{
				FieldInfo fieldInfo = (FieldInfo)member;
				fieldInfo.SetValue(obj, value);
			}
		}

		private static object GetMemberValue(object obj, MemberInfo member)
		{
			object result = null;
			if (IsProperty(member))
			{
				PropertyInfo propertyInfo = (PropertyInfo)member;
				result = propertyInfo.GetValue(obj, (propertyInfo.GetIndexParameters().Count() == 1) ? new object[1] : null);
			}
			else if (IsField(member))
			{
				FieldInfo fieldInfo = (FieldInfo)member;
				result = fieldInfo.GetValue(obj);
			}
			return result;
		}

		private static bool CanWrite(MemberInfo member)
		{
			if (!IsProperty(member))
			{
				return IsField(member);
			}
			return ((PropertyInfo)member).CanWrite;
		}

		private static bool CanRead(MemberInfo member)
		{
			if (!IsProperty(member))
			{
				return IsField(member);
			}
			return ((PropertyInfo)member).CanRead;
		}

		private static bool IsProperty(MemberInfo member)
		{
			return IsType(member.GetType(), typeof(PropertyInfo));
		}

		private static bool IsField(MemberInfo member)
		{
			return IsType(member.GetType(), typeof(FieldInfo));
		}

		private static bool IsType(Type type, Type targetType)
		{
			if (!(type == targetType))
			{
				return type.IsSubclassOf(targetType);
			}
			return true;
		}

		private static List<MemberInfo> GetMembers(Type type)
		{
			BindingFlags bindingAttr = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
			List<MemberInfo> list = new List<MemberInfo>();
			list.AddRange(type.GetProperties(bindingAttr));
			list.AddRange(type.GetFields(bindingAttr));
			return list;
		}
	}
	public static class GameVersionUtil
	{
		public static Version GetVersion(int major, int minor, int release, int build)
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			Version result = default(Version);
			((Version)(ref result))..ctor(major, minor, release);
			result.Build = build;
			return result;
		}

		public static bool CompatibleWith(this Version first, Version other)
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			if (first.Major == other.Major && first.Minor == other.Minor)
			{
				return first.Release == other.Release;
			}
			return false;
		}
	}
	public static class GeneralExtensions
	{
		public static string[] units = new string[5] { "", "k", "M", "G", "T" };

		public static string FormatNumber(this int number)
		{
			if (number == 0)
			{
				return "0";
			}
			bool flag = false;
			if (number <= 0)
			{
				number = Math.Abs(number);
				flag = true;
			}
			int num = (int)(Math.Log10(number) / Math.Log10(1000.0));
			return string.Format("{0}{1:0.#}", flag ? "-" : "", (double)number / Math.Pow(1000.0, num)) + units[num];
		}

		public static bool IsModInstalled(this string modGUID)
		{
			if (Chainloader.PluginInfos == null)
			{
				return false;
			}
			return Chainloader.PluginInfos.ContainsKey(modGUID);
		}
	}
	[AttributeUsage(AttributeTargets.Class)]
	public class RegisterPatch : Attribute
	{
		public string typeKey;

		public RegisterPatch(string typeKey)
		{
			this.typeKey = typeKey;
		}
	}
	public static class HarmonyRegisterExtension
	{
		public static IEnumerable<Type> GetTypesWithAttributeInAssembly<T>(Assembly assembly) where T : Attribute
		{
			return from t in assembly.GetTypes()
				where t.GetCustomAttributes(typeof(T), inherit: true).Length != 0
				select t;
		}

		public static void PatchAll(this Harmony harmony, string typeKey)
		{
			Assembly callingAssembly = Assembly.GetCallingAssembly();
			IEnumerable<Type> typesWithAttributeInAssembly = GetTypesWithAttributeInAssembly<RegisterPatch>(callingAssembly);
			foreach (Type item in typesWithAttributeInAssembly)
			{
				if (item.IsClass)
				{
					RegisterPatch customAttribute = item.GetCustomAttribute<RegisterPatch>();
					if (customAttribute.typeKey.Equals(typeKey))
					{
						harmony.PatchAll(item);
					}
				}
				else
				{
					CommonAPIPlugin.logger.LogInfo("Failed to patch: " + item.FullName + ".");
				}
			}
		}
	}
	public static class Reflection
	{
		private delegate T GetDelegate<out T>(object instance);

		private delegate void SetDelegate<in T>(object instance, T value);

		private delegate void SetDelegateRef<TInstance, in TValue>(ref TInstance instance, TValue value) where TInstance : struct;

		private delegate T GetDelegateRef<TInstance, out T>(ref TInstance instance) where TInstance : struct;

		private const BindingFlags AllFlags = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;

		private static readonly ConcurrentDictionary<(Type T, string name), FieldInfo> FieldCache = new ConcurrentDictionary<(Type, string), FieldInfo>();

		private static readonly ConcurrentDictionary<FieldInfo, Delegate> FieldGetDelegateCache = new ConcurrentDictionary<FieldInfo, Delegate>();

		private static readonly ConcurrentDictionary<FieldInfo, Delegate> FieldSetDelegateCache = new ConcurrentDictionary<FieldInfo, Delegate>();

		private static readonly ConcurrentDictionary<(Type T, string name), PropertyInfo> PropertyCache = new ConcurrentDictionary<(Type, string), PropertyInfo>();

		private static readonly ConcurrentDictionary<PropertyInfo, Delegate> PropertyGetDelegateCache = new ConcurrentDictionary<PropertyInfo, Delegate>();

		private static readonly ConcurrentDictionary<PropertyInfo, Delegate> PropertySetDelegateCache = new ConcurrentDictionary<PropertyInfo, Delegate>();

		private static readonly ConcurrentDictionary<(Type T, string name), MethodInfo> MethodCache = new ConcurrentDictionary<(Type, string), MethodInfo>();

		private static readonly ConcurrentDictionary<(Type T, string name, Type[] argumentTypes), MethodInfo> OverloadedMethodCache = new ConcurrentDictionary<(Type, string, Type[]), MethodInfo>();

		private static readonly ConcurrentDictionary<MethodInfo, FastReflectionDelegate> DelegateCache = new ConcurrentDictionary<MethodInfo, FastReflectionDelegate>();

		private static readonly ConcurrentDictionary<(Type T, Type[] argumentTypes), ConstructorInfo> ConstructorCache = new ConcurrentDictionary<(Type, Type[]), ConstructorInfo>();

		private static readonly ConcurrentDictionary<(Type T, string name), Type> NestedTypeCache = new ConcurrentDictionary<(Type, string), Type>();

		private static TValue GetOrAddOnNull<TKey, TValue>(this ConcurrentDictionary<TKey, TValue> dict, TKey key, Func<TKey, TValue> factory)
		{
			if (dict.TryGetValue(key, out TValue value) && value != null)
			{
				return value;
			}
			return dict[key] = factory(key);
		}

		public static FieldInfo GetFieldCached<T>(string? name)
		{
			return typeof(T).GetFieldCached(name);
		}

		public static FieldInfo GetFieldCached(this Type? T, string? name)
		{
			Type T2 = T;
			string name2 = name;
			return FieldCache.GetOrAddOnNull<(Type, string), FieldInfo>((T2, name2), ((Type T, string name) x) => x.T.GetFieldFull(x.name) ?? throw new Exception("Could not find FieldInfo on " + T2.FullName + " with the name " + name2));
		}

		public static TReturn GetFieldValue<TReturn>(this object? instance, string? fieldName)
		{
			return instance.GetType().GetFieldCached(fieldName).GetFieldGetDelegate<TReturn>()(instance);
		}

		public static TReturn GetFieldValue<TReturn>(this Type? staticType, string? fieldName)
		{
			return staticType.GetFieldCached(fieldName).GetFieldGetDelegate<TReturn>()(null);
		}

		public static void SetFieldValue<TValue>(this object? instance, string? fieldName, TValue value)
		{
			instance.GetType().GetFieldCached(fieldName).GetFieldSetDelegate<TValue>()(instance, value);
		}

		public static void SetFieldValue<TValue>(this Type? staticType, string? fieldName, TValue value)
		{
			staticType.GetFieldCached(fieldName).GetFieldSetDelegate<TValue>()(null, value);
		}

		public static void SetStructFieldValue<TInstance, TValue>(this ref TInstance instance, string? fieldName, TValue value) where TInstance : struct
		{
			typeof(TInstance).GetFieldCached(fieldName).GetFieldSetDelegateRef<TInstance, TValue>()(ref instance, value);
		}

		private static FieldInfo GetFieldFull(this Type T, string name)
		{
			while (T != null)
			{
				FieldInfo field = T.GetField(name, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
				if (field != null)
				{
					return field;
				}
				T = T.BaseType;
			}
			return null;
		}

		private static T GetMemberFull<T>(this Type type, string name) where T : MemberInfo
		{
			while (type != null)
			{
				MemberInfo[] member = type.GetMember(name, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
				if (member != null)
				{
					return (T)member.First();
				}
				type = type.BaseType;
			}
			return null;
		}

		private static GetDelegate<TReturn> GetFieldGetDelegate<TReturn>(this FieldInfo field)
		{
			return Extensions.CastDelegate<GetDelegate<TReturn>>(FieldGetDelegateCache.GetOrAdd(field, (FieldInfo x) => x.CreateGetDelegate<TReturn>()));
		}

		private static SetDelegate<TValue> GetFieldSetDelegate<TValue>(this FieldInfo field)
		{
			return Extensions.CastDelegate<SetDelegate<TValue>>(FieldSetDelegateCache.GetOrAdd(field, (FieldInfo x) => x.CreateSetDelegate<TValue>()));
		}

		private static SetDelegateRef<TInstance, TValue> GetFieldSetDelegateRef<TInstance, TValue>(this FieldInfo field) where TInstance : struct
		{
			return Extensions.CastDelegate<SetDelegateRef<TInstance, TValue>>(FieldSetDelegateCache.GetOrAdd(field, (FieldInfo x) => x.CreateSetDelegateRef<TInstance, TValue>()));
		}

		public static PropertyInfo GetPropertyCached<T>(string? name)
		{
			return typeof(T).GetPropertyCached(name);
		}

		public static PropertyInfo GetPropertyCached(this Type? T, string? name)
		{
			return PropertyCache.GetOrAddOnNull<(Type, string), PropertyInfo>((T, name), ((Type T, string name) x) => x.T.GetProperty(x.name, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic));
		}

		public static TReturn GetPropertyValue<TReturn>(this object? instance, string? propName)
		{
			return instance.GetType().GetPropertyCached(propName).GetPropertyGetDelegate<TReturn>()(instance);
		}

		public static TReturn GetPropertyValue<TReturn>(this Type? staticType, string? propName)
		{
			return staticType.GetPropertyCached(propName).GetPropertyGetDelegate<TReturn>()(null);
		}

		public static void SetPropertyValue<TValue>(this object? instance, string? propName, TValue value)
		{
			PropertyInfo propertyCached = instance.GetType().GetPropertyCached(propName);
			if ((object)propertyCached != null)
			{
				propertyCached.GetPropertySetDelegate<TValue>()(instance, value);
			}
		}

		public static void SetPropertyValue<TValue>(this Type? staticType, string? propName, TValue value)
		{
			PropertyInfo propertyCached = staticType.GetPropertyCached(propName);
			if ((object)propertyCached != null)
			{
				propertyCached.GetPropertySetDelegate<TValue>()(null, value);
			}
		}

		public static void SetStructPropertyValue<TInstance, TValue>(this ref TInstance instance, string? propName, TValue value) where TInstance : struct
		{
			typeof(TInstance).GetPropertyCached(propName).GetPropertySetDelegateRef<TInstance, TValue>()(ref instance, value);
		}

		public static TValue GetStructPropertyValue<TInstance, TValue>(this ref TInstance instance, string? propName) where TInstance : struct
		{
			return typeof(TInstance).GetPropertyCached(propName).GetPropertyGetDelegateRef<TInstance, TValue>()(ref instance);
		}

		public static MethodInfo GetPropertyGetter(this Type type, string nameOfProperty)
		{
			return type.GetProperty(nameOfProperty, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).GetGetMethod(nonPublic: true);
		}

		public static MethodInfo GetPropertySetter(this Type type, string nameOfProperty)
		{
			return type.GetProperty(nameOfProperty, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).GetSetMethod(nonPublic: true);
		}

		private static GetDelegate<TReturn> GetPropertyGetDelegate<TReturn>(this PropertyInfo property)
		{
			return Extensions.CastDelegate<GetDelegate<TReturn>>(PropertyGetDelegateCache.GetOrAdd(property, (PropertyInfo prop) => prop.CreateGetDelegate<TReturn>()));
		}

		private static GetDelegateRef<TInstance, TReturn> GetPropertyGetDelegateRef<TInstance, TReturn>(this PropertyInfo property) where TInstance : struct
		{
			return Extensions.CastDelegate<GetDelegateRef<TInstance, TReturn>>(PropertyGetDelegateCache.GetOrAdd(property, (PropertyInfo prop) => prop.CreateGetDelegate<TInstance, TReturn>()));
		}

		private static SetDelegate<TValue> GetPropertySetDelegate<TValue>(this PropertyInfo property)
		{
			return Extensions.CastDelegate<SetDelegate<TValue>>(PropertySetDelegateCache.GetOrAdd(property, (PropertyInfo prop) => prop.CreateSetDelegate<TValue>()));
		}

		private static SetDelegateRef<TInstance, TValue> GetPropertySetDelegateRef<TInstance, TValue>(this PropertyInfo property) where TInstance : struct
		{
			return Extensions.CastDelegate<SetDelegateRef<TInstance, TValue>>(PropertySetDelegateCache.GetOrAdd(property, (PropertyInfo prop) => prop.CreateSetDelegateRef<TInstance, TValue>()));
		}

		public static MethodInfo GetMethodCached<T>(string? name)
		{
			return typeof(T).GetMethodCached(name);
		}

		public static MethodInfo GetMethodCached(this Type? T, string? name)
		{
			Type T2 = T;
			string name2 = name;
			return MethodCache.GetOrAddOnNull<(Type, string), MethodInfo>((T2, name2), ((Type T, string name) x) => x.T.GetMethod(x.name, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) ?? throw new Exception("Could not find MethodInfo on " + T2.FullName + " with the name " + name2));
		}

		public static MethodInfo GetMethodWithConstructedGenericParameter(this Type? T, string? name, Type? genericTypeDefinition)
		{
			string name2 = name;
			Type genericTypeDefinition2 = genericTypeDefinition;
			return T.GetMethods().First(delegate(MethodInfo method)
			{
				if (method.Name != name2)
				{
					return false;
				}
				Type parameterType = method.GetParameters().First().ParameterType;
				if (!parameterType.IsConstructedGenericType)
				{
					return false;
				}
				Type type = parameterType.GetGenericArguments().First();
				return parameterType == genericTypeDefinition2.MakeGenericType(type);
			});
		}

		public static MethodInfo GetMethodCached<T>(string? name, Type?[]? argumentTypes)
		{
			return typeof(T).GetMethodCached(name, argumentTypes);
		}

		public static MethodInfo GetMethodCached(this Type? T, string? name, Type?[]? argumentTypes)
		{
			Type T2 = T;
			string name2 = name;
			Type?[] argumentTypes2 = argumentTypes;
			return OverloadedMethodCache.GetOrAddOnNull<(Type, string, Type[]), MethodInfo>((T2, name2, argumentTypes2), ((Type T, string name, Type[] argumentTypes) x) => x.T.GetMethod(x.name, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic, null, x.argumentTypes, null) ?? throw new Exception("Could not find MethodInfo on " + T2.FullName + " with the name " + name2 + " and arguments: " + string.Join(",", argumentTypes2.Select((Type a) => a.FullName))));
		}

		public static TReturn InvokeMethod<TReturn>(this object? instance, string? methodName)
		{
			return instance.InvokeMethod<TReturn>(methodName, null);
		}

		public static TReturn InvokeMethod<TReturn>(this Type? staticType, string? methodName)
		{
			return staticType.InvokeMethod<TReturn>(methodName, null);
		}

		public static void InvokeMethod(this object? instance, string? methodName)
		{
			instance.InvokeMethod<object>(methodName);
		}

		public static void InvokeMethod(this Type? staticType, string? methodName)
		{
			staticType.InvokeMethod<object>(methodName);
		}

		public static TReturn InvokeMethod<TReturn>(this object? instance, string? methodName, params object[] methodParams)
		{
			MethodInfo methodInfo = ((methodParams == null) ? instance.GetType().GetMethodCached(methodName) : instance.GetType().GetMethodCached(methodName, methodParams.Select((object x) => x.GetType()).ToArray())) ?? throw new Exception($"Could not find method on type {instance.GetType()} with the name of {methodName} with the arguments specified.");
			return (TReturn)methodInfo.GetMethodDelegateCached().Invoke(instance, methodParams);
		}

		public static TReturn InvokeMethod<TReturn>(this Type? staticType, string? methodName, params object[] methodParams)
		{
			MethodInfo methodInfo = ((methodParams == null) ? staticType.GetMethodCached(methodName) : staticType.GetMethodCached(methodName, methodParams.Select((object x) => x.GetType()).ToArray())) ?? throw new Exception($"Could not find method on type {staticType} with the name of {methodName} with the arguments specified.");
			return (TReturn)methodInfo.GetMethodDelegateCached().Invoke((object)null, methodParams);
		}

		public static void InvokeMethod(this object? instance, string? methodName, params object?[]? methodParams)
		{
			instance.InvokeMethod<object>(methodName, methodParams);
		}

		public static void InvokeMethod(this Type? staticType, string? methodName, params object?[]? methodParams)
		{
			staticType.InvokeMethod<object>(methodName, methodParams);
		}

		private static FastReflectionDelegate GetMethodDelegateCached(this MethodInfo methodInfo)
		{
			return DelegateCache.GetOrAdd(methodInfo, (Func<MethodInfo, FastReflectionDelegate>)((MethodInfo method) => method.GenerateCallDelegate()));
		}

		public static ConstructorInfo GetConstructorCached<T>(Type?[]? argumentTypes)
		{
			return typeof(T).GetConstructorCached(argumentTypes);
		}

		public static ConstructorInfo GetConstructorCached(this Type? T, Type?[]? argumentTypes)
		{
			Type T2 = T;
			Type?[] argumentTypes2 = argumentTypes;
			return ConstructorCache.GetOrAddOnNull<(Type, Type[]), ConstructorInfo>((T2, argumentTypes2), ((Type T, Type[] argumentTypes) x) => x.T.GetConstructor(x.argumentTypes) ?? throw new Exception("Could not find ConstructorInfo on " + T2.FullName + " with the arguments " + string.Join(",", argumentTypes2.Select((Type a) => a.FullName))));
		}

		public static Type GetNestedType<T>(string? name)
		{
			return typeof(T).GetNestedTypeCached(name);
		}

		public static Type GetNestedTypeCached<T>(string? name)
		{
			return typeof(T).GetNestedTypeCached(name);
		}

		public static Type GetNestedTypeCached(this Type? T, string? name)
		{
			Type T2 = T;
			string name2 = name;
			return NestedTypeCache.GetOrAddOnNull<(Type, string), Type>((T2, name2), ((Type T, string name) x) => x.T.GetNestedType(x.name, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) ?? throw new Exception("Could not find nested Type on " + T2.FullName + " with the name " + name2));
		}

		public static object Instantiate(this Type? type)
		{
			return Activator.CreateInstance(type, nonPublic: true);
		}

		public static object Instantiate(this Type? type, params object?[]? constructorArguments)
		{
			return type.GetConstructorCached(constructorArguments.Select((object x) => x.GetType()).ToArray()).Invoke(constructorArguments);
		}

		public static object InstantiateGeneric<TClass>(this Type? typeArgument)
		{
			return typeof(TClass).MakeGenericType(typeArgument).Instantiate();
		}

		public static object InstantiateGeneric<TClass>(this Type?[]? typeArgument)
		{
			return typeof(TClass).MakeGenericType(typeArgument).Instantiate();
		}

		public static IList InstantiateList(this Type? type)
		{
			return (IList)typeof(List<>).MakeGenericType(type).Instantiate();
		}

		private static GetDelegate<TReturn> CreateGetDelegate<TReturn>(this FieldInfo field)
		{
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			if (field == null)
			{
				throw new ArgumentException("Field cannot be null.", "field");
			}
			if (!typeof(TReturn).IsAssignableFrom(field.FieldType))
			{
				throw new Exception($"Field type {field.FieldType} does not match the requested type {typeof(TReturn)}.");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition($"{field} Getter", typeof(TReturn), new Type[1] { typeof(object) });
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				if (!field.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
					if (field.DeclaringType.GetTypeInfo().IsValueType)
					{
						Extensions.Emit(iLProcessor, OpCodes.Unbox_Any, field.DeclaringType);
					}
				}
				Extensions.Emit(iLProcessor, (!field.IsStatic) ? OpCodes.Ldfld : OpCodes.Ldsfld, field);
				iLProcessor.Emit(OpCodes.Ret);
				return (GetDelegate<TReturn>)val.Generate().CreateDelegate(typeof(GetDelegate<TReturn>));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		private static SetDelegate<TValue> CreateSetDelegate<TValue>(this FieldInfo field)
		{
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Expected O, but got Unknown
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			if (field == null)
			{
				throw new ArgumentException("Field cannot be null.", "field");
			}
			if (!field.FieldType.IsAssignableFrom(typeof(TValue)))
			{
				throw new Exception($"Value type type {typeof(TValue)} does not match the requested type {field.FieldType}.");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition($"{field} Setter", typeof(void), new Type[2]
			{
				typeof(object),
				typeof(TValue)
			});
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				if (!field.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
				}
				iLProcessor.Emit(OpCodes.Ldarg_1);
				Extensions.Emit(iLProcessor, (!field.IsStatic) ? OpCodes.Stfld : OpCodes.Stsfld, field);
				iLProcessor.Emit(OpCodes.Ret);
				return (SetDelegate<TValue>)val.Generate().CreateDelegate(typeof(SetDelegate<TValue>));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		private static SetDelegateRef<TInstance, TValue> CreateSetDelegateRef<TInstance, TValue>(this FieldInfo field) where TInstance : struct
		{
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Expected O, but got Unknown
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			if (field == null)
			{
				throw new ArgumentException("Field cannot be null.", "field");
			}
			if (field.FieldType != typeof(TValue))
			{
				throw new Exception($"Value type type {typeof(TValue)} does not match the requested type {field.FieldType}.");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition($"{field} SetterByRef", typeof(void), new Type[2]
			{
				typeof(TInstance).MakeByRefType(),
				typeof(TValue)
			});
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				if (!field.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
				}
				iLProcessor.Emit(OpCodes.Ldarg_1);
				Extensions.Emit(iLProcessor, (!field.IsStatic) ? OpCodes.Stfld : OpCodes.Stsfld, field);
				iLProcessor.Emit(OpCodes.Ret);
				return (SetDelegateRef<TInstance, TValue>)val.Generate().CreateDelegate(typeof(SetDelegateRef<TInstance, TValue>));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		private static GetDelegate<TReturn> CreateGetDelegate<TReturn>(this PropertyInfo property)
		{
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Expected O, but got Unknown
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: Unknown result type (might be due to invalid IL or missing references)
			if (property == null)
			{
				throw new ArgumentException("Property cannot be null.", "property");
			}
			if (!typeof(TReturn).IsAssignableFrom(property.PropertyType))
			{
				throw new Exception($"Field type {property.PropertyType} does not match the requested type {typeof(TReturn)}.");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition($"{property} Getter", typeof(TReturn), new Type[1] { typeof(object) });
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				MethodInfo getMethod = property.GetGetMethod(nonPublic: true);
				if (!getMethod.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
				}
				Extensions.Emit(iLProcessor, OpCodes.Call, (MethodBase)getMethod);
				iLProcessor.Emit(OpCodes.Ret);
				return (GetDelegate<TReturn>)val.Generate().CreateDelegate(typeof(GetDelegate<TReturn>));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		private static GetDelegateRef<TInstance, TReturn> CreateGetDelegate<TInstance, TReturn>(this PropertyInfo property) where TInstance : struct
		{
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Expected O, but got Unknown
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			if (property == null)
			{
				throw new ArgumentException("Property cannot be null.", "property");
			}
			if (!typeof(TReturn).IsAssignableFrom(property.PropertyType))
			{
				throw new Exception($"Field type {property.PropertyType} does not match the requested type {typeof(TReturn)}.");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition($"{property} Getter", typeof(TReturn), new Type[1] { typeof(TInstance).MakeByRefType() });
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				MethodInfo getMethod = property.GetGetMethod(nonPublic: true);
				if (!getMethod.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
				}
				Extensions.Emit(iLProcessor, OpCodes.Call, (MethodBase)getMethod);
				iLProcessor.Emit(OpCodes.Ret);
				return (GetDelegateRef<TInstance, TReturn>)val.Generate().CreateDelegate(typeof(GetDelegateRef<TInstance, TReturn>));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		private static SetDelegate<TValue> CreateSetDelegate<TValue>(this PropertyInfo property)
		{
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Expected O, but got Unknown
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			if (property == null)
			{
				throw new ArgumentException("Property cannot be null.", "property");
			}
			if (!property.PropertyType.IsAssignableFrom(typeof(TValue)))
			{
				throw new Exception($"Value type type {typeof(TValue)} does not match the requested type {property.PropertyType}.");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition($"{property} Setter", typeof(void), new Type[2]
			{
				typeof(object),
				typeof(TValue)
			});
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				MethodInfo setMethod = property.GetSetMethod(nonPublic: true);
				if (!setMethod.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
				}
				iLProcessor.Emit(OpCodes.Ldarg_1);
				Extensions.Emit(iLProcessor, OpCodes.Call, (MethodBase)setMethod);
				iLProcessor.Emit(OpCodes.Ret);
				return (SetDelegate<TValue>)val.Generate().CreateDelegate(typeof(SetDelegate<TValue>));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		private static SetDelegateRef<TInstance, TValue> CreateSetDelegateRef<TInstance, TValue>(this PropertyInfo property) where TInstance : struct
		{
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Expected O, but got Unknown
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			if (property == null)
			{
				throw new ArgumentException("Property cannot be null.", "property");
			}
			if (!property.PropertyType.IsAssignableFrom(typeof(TValue)))
			{
				throw new Exception($"Value type type {typeof(TValue)} does not match the requested type {property.PropertyType}.");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition($"{property} SetterByRef", typeof(void), new Type[2]
			{
				typeof(TInstance).MakeByRefType(),
				typeof(TValue)
			});
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				MethodInfo setMethod = property.GetSetMethod(nonPublic: true);
				if (!setMethod.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
				}
				iLProcessor.Emit(OpCodes.Ldarg_1);
				Extensions.Emit(iLProcessor, OpCodes.Call, (MethodBase)setMethod);
				iLProcessor.Emit(OpCodes.Ret);
				return (SetDelegateRef<TInstance, TValue>)val.Generate().CreateDelegate(typeof(SetDelegateRef<TInstance, TValue>));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		private static FastReflectionDelegate GenerateCallDelegate(this MethodInfo method)
		{
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Expected O, but got Unknown
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_016d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_017b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0126: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0140: Unknown result type (might be due to invalid IL or missing references)
			//IL_0139: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fc: Expected O, but got Unknown
			//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
			if (method == null)
			{
				throw new ArgumentException("Method cannot be null.", "method");
			}
			DynamicMethodDefinition val = new DynamicMethodDefinition("CallDelegate<" + method.Name + ">", typeof(object), new Type[2]
			{
				typeof(object),
				typeof(object[])
			});
			try
			{
				ILProcessor iLProcessor = val.GetILProcessor();
				ParameterInfo[] parameters = method.GetParameters();
				if (!method.IsStatic)
				{
					iLProcessor.Emit(OpCodes.Ldarg_0);
					if (method.DeclaringType.GetTypeInfo().IsValueType)
					{
						Extensions.Emit(iLProcessor, OpCodes.Unbox_Any, method.DeclaringType);
					}
				}
				for (int i = 0; i < parameters.Length; i++)
				{
					Type type = parameters[i].ParameterType;
					bool isByRef = type.IsByRef;
					if (isByRef)
					{
						type = type.GetElementType();
					}
					bool isValueType = type.GetTypeInfo().IsValueType;
					if (isByRef && isValueType)
					{
						iLProcessor.Emit(OpCodes.Ldarg_1);
						iLProcessor.EmitFast_Ldc_I4(i);
					}
					iLProcessor.Emit(OpCodes.Ldarg_1);
					iLProcessor.EmitFast_Ldc_I4(i);
					if (isByRef && !isValueType)
					{
						Extensions.Emit(iLProcessor, OpCodes.Ldelema, typeof(object));
						continue;
					}
					iLProcessor.Emit(OpCodes.Ldelem_Ref);
					if (isValueType)
					{
						Extensions.Emit(iLProcessor, (!isByRef) ? OpCodes.Unbox_Any : OpCodes.Unbox, type);
					}
				}
				if (method.IsFinal || !method.IsVirtual)
				{
					Extensions.Emit(iLProcessor, OpCodes.Call, (MethodBase)method);
				}
				else
				{
					Extensions.Emit(iLProcessor, OpCodes.Callvirt, (MethodBase)method);
				}
				Type type2 = (method.IsConstructor ? method.DeclaringType : method.ReturnType);
				if (type2 != typeof(void))
				{
					if (type2.GetTypeInfo().IsValueType)
					{
						Extensions.Emit(iLProcessor, OpCodes.Box, type2);
					}
				}
				else
				{
					iLProcessor.Emit(OpCodes.Ldnull);
				}
				iLProcessor.Emit(OpCodes.Ret);
				return (FastReflectionDelegate)val.Generate().CreateDelegate(typeof(FastReflectionDelegate));
			}
			finally
			{
				((IDisposable)val)?.Dispose();
			}
		}

		public static void EmitFast_Ldc_I4(this ILProcessor? il, int value)
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			switch (value)
			{
			case -1:
				il.Emit(OpCodes.Ldc_I4_M1);
				return;
			case 0:
				il.Emit(OpCodes.Ldc_I4_0);
				return;
			case 1:
				il.Emit(OpCodes.Ldc_I4_1);
				return;
			case 2:
				il.Emit(OpCodes.Ldc_I4_2);
				return;
			case 3:
				il.Emit(OpCodes.Ldc_I4_3);
				return;
			case 4:
				il.Emit(OpCodes.Ldc_I4_4);
				return;
			case 5:
				il.Emit(OpCodes.Ldc_I4_5);
				return;
			case 6:
				il.Emit(OpCodes.Ldc_I4_6);
				return;
			case 7:
				il.Emit(OpCodes.Ldc_I4_7);
				return;
			case 8:
				il.Emit(OpCodes.Ldc_I4_8);
				return;
			}
			if (value > -129 && value < 128)
			{
				il.Emit(OpCodes.Ldc_I4_S, (sbyte)value);
			}
			else
			{
				il.Emit(OpCodes.Ldc_I4, value);
			}
		}

		public static byte ReadLocalIndex(OpCode opCode, object? operand)
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: Unknown result type (might be due to invalid IL or missing references)
			if (opCode == OpCodes.Ldloc_0 || opCode == OpCodes.Stloc_0)
			{
				return 0;
			}
			if (opCode == OpCodes.Ldloc_1 || opCode == OpCodes.Stloc_1)
			{
				return 1;
			}
			if (opCode == OpCodes.Ldloc_2 || opCode == OpCodes.Stloc_2)
			{
				return 2;
			}
			if (opCode == OpCodes.Ldloc_3 || opCode == OpCodes.Stloc_3)
			{
				return 3;
			}
			if (opCode == OpCodes.Ldloc_S || opCode == OpCodes.Stloc_S)
			{
				return (byte)operand;
			}
			throw new Exception($"Could not read index for opcode and operand: {opCode} - {operand}");
		}

		public static FieldInfo GetNestedField(Type type, string fieldName)
		{
			Type[] nestedTypes = type.GetNestedTypes(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
			Type[] array = nestedTypes;
			foreach (Type type2 in array)
			{
				FieldInfo field = type2.GetField(fieldName, BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
				if (field != null)
				{
					return field;
				}
			}
			return null;
		}

		public static MethodInfo GetNestedMethod(Type type, string methodName)

Unity.TextMeshPro.dll

Decompiled 11 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using BepInEx.AssemblyPublicizer;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.Serialization;
using UnityEngine.TextCore;
using UnityEngine.TextCore.LowLevel;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: InternalsVisibleTo("Unity.TextCore")]
[assembly: InternalsVisibleTo("Unity.FontEngine.Tests")]
[assembly: AssemblyVersion("0.0.0.0")]
namespace TMPro
{
	public class FastAction
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public LinkedList<Action> delegates;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<Action, LinkedListNode<Action>> lookup;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Add(Action rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Remove(Action rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Call()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public FastAction()
		{
			throw null;
		}
	}
	public class FastAction<A>
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public LinkedList<Action<A>> delegates;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<Action<A>, LinkedListNode<Action<A>>> lookup;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Add(Action<A> rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Remove(Action<A> rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Call(A a)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public FastAction()
		{
			throw null;
		}
	}
	public class FastAction<A, B>
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public LinkedList<Action<A, B>> delegates;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<Action<A, B>, LinkedListNode<Action<A, B>>> lookup;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Add(Action<A, B> rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Remove(Action<A, B> rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Call(A a, B b)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public FastAction()
		{
			throw null;
		}
	}
	public class FastAction<A, B, C>
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public LinkedList<Action<A, B, C>> delegates;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<Action<A, B, C>, LinkedListNode<Action<A, B, C>>> lookup;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Add(Action<A, B, C> rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Remove(Action<A, B, C> rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Call(A a, B b, C c)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public FastAction()
		{
			throw null;
		}
	}
	public class MaterialReferenceManager
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public static MaterialReferenceManager s_Instance;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<int, Material> m_FontMaterialReferenceLookup;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<int, TMP_FontAsset> m_FontAssetReferenceLookup;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<int, TMP_SpriteAsset> m_SpriteAssetReferenceLookup;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<int, TMP_ColorGradient> m_ColorGradientReferenceLookup;

		public static MaterialReferenceManager instance
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void AddFontAsset(TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AddFontAssetInternal(TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void AddSpriteAsset(TMP_SpriteAsset spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AddSpriteAssetInternal(TMP_SpriteAsset spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void AddSpriteAsset(int hashCode, TMP_SpriteAsset spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AddSpriteAssetInternal(int hashCode, TMP_SpriteAsset spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void AddFontMaterial(int hashCode, Material material)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AddFontMaterialInternal(int hashCode, Material material)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void AddColorGradientPreset(int hashCode, TMP_ColorGradient spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AddColorGradientPreset_Internal(int hashCode, TMP_ColorGradient spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Contains(TMP_FontAsset font)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Contains(TMP_SpriteAsset sprite)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryGetFontAsset(int hashCode, out TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool TryGetFontAssetInternal(int hashCode, out TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryGetSpriteAsset(int hashCode, out TMP_SpriteAsset spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool TryGetSpriteAssetInternal(int hashCode, out TMP_SpriteAsset spriteAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryGetColorGradientPreset(int hashCode, out TMP_ColorGradient gradientPreset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool TryGetColorGradientPresetInternal(int hashCode, out TMP_ColorGradient gradientPreset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryGetMaterial(int hashCode, out Material material)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool TryGetMaterialInternal(int hashCode, out Material material)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public MaterialReferenceManager()
		{
			throw null;
		}
	}
	public struct MaterialReference
	{
		public int index;

		public TMP_FontAsset fontAsset;

		public TMP_SpriteAsset spriteAsset;

		public Material material;

		public bool isDefaultMaterial;

		public bool isFallbackMaterial;

		public Material fallbackMaterial;

		public float padding;

		public int referenceCount;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public MaterialReference(int index, TMP_FontAsset fontAsset, TMP_SpriteAsset spriteAsset, Material material, float padding)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool Contains(MaterialReference[] materialReferences, TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static int AddMaterialReference(Material material, TMP_FontAsset fontAsset, MaterialReference[] materialReferences, Dictionary<int, int> materialReferenceIndexLookup)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static int AddMaterialReference(Material material, TMP_SpriteAsset spriteAsset, MaterialReference[] materialReferences, Dictionary<int, int> materialReferenceIndexLookup)
		{
			throw null;
		}
	}
	public enum TextContainerAnchors
	{
		TopLeft,
		Top,
		TopRight,
		Left,
		Middle,
		Right,
		BottomLeft,
		Bottom,
		BottomRight,
		Custom
	}
	[RequireComponent(typeof(RectTransform))]
	[AddComponentMenu("Layout/Text Container")]
	public class TextContainer : UIBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_hasChanged;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector2 m_pivot;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TextContainerAnchors m_anchorPosition;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Rect m_rect;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isDefaultWidth;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isDefaultHeight;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isAutoFitting;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3[] m_corners;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3[] m_worldCorners;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector4 m_margins;

		[OriginalAttributes(FieldAttributes.Private)]
		public RectTransform m_rectTransform;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Vector2 k_defaultSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public TextMeshPro m_textMeshPro;

		public bool hasChanged
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Vector2 pivot
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TextContainerAnchors anchorPosition
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Rect rect
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Vector2 size
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float width
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float height
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool isDefaultWidth
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool isDefaultHeight
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool isAutoFitting
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Vector3[] corners
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Vector3[] worldCorners
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Vector4 margins
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public RectTransform rectTransform
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public TextMeshPro textMeshPro
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnContainerChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnRectTransformDimensionsChange()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetRect(Vector2 size)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateCorners()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public Vector2 GetPivot(TextContainerAnchors anchor)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public TextContainerAnchors GetAnchorPosition(Vector2 pivot)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TextContainer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TextContainer()
		{
			throw null;
		}
	}
	[DisallowMultipleComponent]
	[RequireComponent(typeof(MeshRenderer))]
	[RequireComponent(typeof(MeshFilter))]
	[AddComponentMenu("Mesh/TextMeshPro - Text")]
	[ExecuteAlways]
	public class TextMeshPro : TMP_Text, ILayoutElement
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_currentAutoSizeMode;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_hasFontAssetChanged;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_previousLossyScaleY;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Renderer m_renderer;

		[OriginalAttributes(FieldAttributes.Private)]
		public MeshFilter m_meshFilter;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isFirstAllocation;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_max_characters;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_max_numberOfLines;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public TMP_SubMesh[] m_subTextObjects;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isMaskingEnabled;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool isMaskUpdateRequired;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public MaskingTypes m_maskType;

		[OriginalAttributes(FieldAttributes.Private)]
		public Matrix4x4 m_EnvMapMatrix;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3[] m_RectTransformCorners;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isRegisteredForEvents;

		[OriginalAttributes(FieldAttributes.Private)]
		public int loopCountA;

		public int sortingLayerID
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int sortingOrder
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public override bool autoSizeTextContainer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[Obsolete("The TextContainer is now obsolete. Use the RectTransform instead.")]
		public TextContainer textContainer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public new Transform transform
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Renderer renderer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override Mesh mesh
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public MeshFilter meshFilter
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public MaskingTypes maskType
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetMask(MaskingTypes type, Vector4 maskCoords)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetMask(MaskingTypes type, Vector4 maskCoords, float softnessX, float softnessY)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetVerticesDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetLayoutDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetMaterialDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetAllDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Rebuild(CanvasUpdate update)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void UpdateMaterial()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateMeshPadding()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ForceMeshUpdate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ForceMeshUpdate(bool ignoreInactive)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override TMP_TextInfo GetTextInfo(string text)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ClearMesh(bool updateMesh)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateGeometry(Mesh mesh, int index)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateVertexData(TMP_VertexDataUpdateFlags flags)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateVertexData()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void UpdateFontAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void CalculateLayoutInputHorizontal()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void CalculateLayoutInputVertical()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDestroy()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void LoadFontAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateEnvMapMatrix()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetMask(MaskingTypes maskType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetMaskCoordinates(Vector4 coords)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetMaskCoordinates(Vector4 coords, float softX, float softY)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void EnableMasking()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void DisableMasking()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateMask()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Material GetMaterial(Material mat)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Material[] GetMaterials(Material[] mats)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetSharedMaterial(Material mat)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Material[] GetSharedMaterials()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetSharedMaterials(Material[] materials)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetOutlineThickness(float thickness)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetFaceColor(Color32 color)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetOutlineColor(Color32 color)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CreateMaterialInstance()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetShaderDepth()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetCulling()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetPerspectiveCorrection()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override float GetPaddingForMaterial(Material mat)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override float GetPaddingForMaterial()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override int SetArraySizes(UnicodeChar[] chars)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ComputeMarginSize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDidApplyAnimationProperties()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnTransformParentChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnRectTransformDimensionsChange()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public override void InternalUpdate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnPreRenderObject()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void GenerateTextMesh()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Vector3[] GetTextContainerLocalCorners()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetMeshFilters(bool state)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetActiveSubMeshes(bool state)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void ClearSubMeshObjects()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Bounds GetCompoundBounds()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateSDFScale(float scaleDelta)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void AdjustLineOffset(int startIndex, int endIndex, float offset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TextMeshPro()
		{
			throw null;
		}
	}
	[DisallowMultipleComponent]
	[RequireComponent(typeof(RectTransform))]
	[RequireComponent(typeof(CanvasRenderer))]
	[AddComponentMenu("UI/TextMeshPro - Text (UI)", 11)]
	[ExecuteAlways]
	public class TextMeshProUGUI : TMP_Text, ILayoutElement
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isRebuildingLayout;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_hasFontAssetChanged;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public TMP_SubMeshUI[] m_subTextObjects;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_previousLossyScaleY;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3[] m_RectTransformCorners;

		[OriginalAttributes(FieldAttributes.Private)]
		public CanvasRenderer m_canvasRenderer;

		[OriginalAttributes(FieldAttributes.Private)]
		public Canvas m_canvas;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isFirstAllocation;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_max_characters;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isMaskingEnabled;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Material m_baseMaterial;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isScrollRegionSet;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_stencilID;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector4 m_maskOffset;

		[OriginalAttributes(FieldAttributes.Private)]
		public Matrix4x4 m_EnvMapMatrix;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_isRegisteredForEvents;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_recursiveCountA;

		[OriginalAttributes(FieldAttributes.Private)]
		public int loopCountA;

		public override Material materialForRendering
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override bool autoSizeTextContainer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public override Mesh mesh
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public CanvasRenderer canvasRenderer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Vector4 maskOffset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void CalculateLayoutInputHorizontal()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void CalculateLayoutInputVertical()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetVerticesDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetLayoutDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetMaterialDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void SetAllDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Rebuild(CanvasUpdate update)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateSubObjectPivot()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override Material GetModifiedMaterial(Material baseMaterial)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void UpdateMaterial()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void RecalculateClipping()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void RecalculateMasking()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Cull(Rect clipRect, bool validRect)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateMeshPadding()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void InternalCrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void InternalCrossFadeAlpha(float alpha, float duration, bool ignoreTimeScale)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ForceMeshUpdate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ForceMeshUpdate(bool ignoreInactive)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override TMP_TextInfo GetTextInfo(string text)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ClearMesh()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateGeometry(Mesh mesh, int index)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateVertexData(TMP_VertexDataUpdateFlags flags)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateVertexData()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void UpdateFontAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDestroy()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void LoadFontAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public Canvas GetCanvas()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateEnvMapMatrix()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void EnableMasking()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void DisableMasking()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateMask()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Material GetMaterial(Material mat)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Material[] GetMaterials(Material[] mats)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetSharedMaterial(Material mat)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Material[] GetSharedMaterials()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetSharedMaterials(Material[] materials)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetOutlineThickness(float thickness)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetFaceColor(Color32 color)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetOutlineColor(Color32 color)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetShaderDepth()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetCulling()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetPerspectiveCorrection()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override float GetPaddingForMaterial(Material mat)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override float GetPaddingForMaterial()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetMeshArrays(int size)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override int SetArraySizes(UnicodeChar[] chars)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ComputeMarginSize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDidApplyAnimationProperties()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnCanvasHierarchyChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnTransformParentChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnRectTransformDimensionsChange()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public override void InternalUpdate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnPreRenderCanvas()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void GenerateTextMesh()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Vector3[] GetTextContainerLocalCorners()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void SetActiveSubMeshes(bool state)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override Bounds GetCompoundBounds()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateSDFScale(float scaleDelta)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void AdjustLineOffset(int startIndex, int endIndex, float offset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TextMeshProUGUI()
		{
			throw null;
		}
	}
	[Serializable]
	public class TMP_Asset : ScriptableObject
	{
		public int hashCode;

		public Material material;

		public int materialHashCode;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_Asset()
		{
			throw null;
		}
	}
	[Serializable]
	public class TMP_Character : TMP_TextElement
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_Character()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_Character(uint unicode, Glyph glyph)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TMP_Character(uint unicode, uint glyphIndex)
		{
			throw null;
		}
	}
	public struct TMP_Vertex
	{
		public Vector3 position;

		public Vector2 uv;

		public Vector2 uv2;

		public Vector2 uv4;

		public Color32 color;
	}
	public struct TMP_CharacterInfo
	{
		public char character;

		public int index;

		public int stringLength;

		public TMP_TextElementType elementType;

		public TMP_TextElement textElement;

		public TMP_FontAsset fontAsset;

		public TMP_SpriteAsset spriteAsset;

		public int spriteIndex;

		public Material material;

		public int materialReferenceIndex;

		public bool isUsingAlternateTypeface;

		public float pointSize;

		public int lineNumber;

		public int pageNumber;

		public int vertexIndex;

		public TMP_Vertex vertex_BL;

		public TMP_Vertex vertex_TL;

		public TMP_Vertex vertex_TR;

		public TMP_Vertex vertex_BR;

		public Vector3 topLeft;

		public Vector3 bottomLeft;

		public Vector3 topRight;

		public Vector3 bottomRight;

		public float origin;

		public float ascender;

		public float baseLine;

		public float descender;

		public float xAdvance;

		public float aspectRatio;

		public float scale;

		public Color32 color;

		public Color32 underlineColor;

		public Color32 strikethroughColor;

		public Color32 highlightColor;

		public FontStyles style;

		public bool isVisible;
	}
	public enum ColorMode
	{
		Single,
		HorizontalGradient,
		VerticalGradient,
		FourCornersGradient
	}
	[Serializable]
	public class TMP_ColorGradient : ScriptableObject
	{
		public ColorMode colorMode;

		public Color topLeft;

		public Color topRight;

		public Color bottomLeft;

		public Color bottomRight;

		[OriginalAttributes(FieldAttributes.Private)]
		public const ColorMode k_DefaultColorMode = ColorMode.FourCornersGradient;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly Color k_DefaultColor;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_ColorGradient()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_ColorGradient(Color color)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_ColorGradient(Color color0, Color color1, Color color2, Color color3)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TMP_ColorGradient()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public interface ITweenValue
	{
		bool ignoreTimeScale { get; }

		float duration { get; }

		void TweenValue(float floatPercentage);

		bool ValidTarget();
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct ColorTween : ITweenValue
	{
		public enum ColorTweenMode
		{
			All,
			RGB,
			Alpha
		}

		public class ColorTweenCallback : UnityEvent<Color>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public ColorTweenCallback()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public ColorTweenCallback m_Target;

		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_StartColor;

		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_TargetColor;

		[OriginalAttributes(FieldAttributes.Private)]
		public ColorTweenMode m_TweenMode;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_Duration;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IgnoreTimeScale;

		public Color startColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Color targetColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public ColorTweenMode tweenMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool ignoreTimeScale
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void TweenValue(float floatPercentage)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOnChangedCallback(UnityAction<Color> callback)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool GetIgnoreTimescale()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public float GetDuration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool ValidTarget()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct FloatTween : ITweenValue
	{
		public class FloatTweenCallback : UnityEvent<float>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public FloatTweenCallback()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public FloatTweenCallback m_Target;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_StartValue;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_TargetValue;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_Duration;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IgnoreTimeScale;

		public float startValue
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float targetValue
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool ignoreTimeScale
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void TweenValue(float floatPercentage)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOnChangedCallback(UnityAction<float> callback)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool GetIgnoreTimescale()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public float GetDuration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool ValidTarget()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class TweenRunner<T> where T : struct, ITweenValue
	{
		[CompilerGenerated]
		private sealed class <Start>d__2 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public T tweenInfo;

			private float <elapsedTime>5__2;

			object IEnumerator<object>.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			object IEnumerator.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			public <Start>d__2(int <>1__state)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			private bool MoveNext()
			{
				throw null;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Family)]
		public MonoBehaviour m_CoroutineContainer;

		[OriginalAttributes(FieldAttributes.Family)]
		public IEnumerator m_Tween;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[IteratorStateMachine(typeof(TweenRunner<>.<Start>d__2))]
		[OriginalAttributes(MethodAttributes.Private)]
		public static IEnumerator Start(T tweenInfo)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Init(MonoBehaviour coroutineContainer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void StartTween(T info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void StopTween()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TweenRunner()
		{
			throw null;
		}
	}
	public static class TMP_DefaultControls
	{
		public struct Resources
		{
			public Sprite standard;

			public Sprite background;

			public Sprite inputField;

			public Sprite knob;

			public Sprite checkmark;

			public Sprite dropdown;

			public Sprite mask;
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kWidth = 160f;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kThickHeight = 30f;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kThinHeight = 20f;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Vector2 s_ThickElementSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Vector2 s_ThinElementSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Color s_DefaultSelectableColor;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Color s_TextColor;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static GameObject CreateUIElementRoot(string name, Vector2 size)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static GameObject CreateUIObject(string name, GameObject parent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetDefaultTextValues(TMP_Text lbl)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetDefaultColorTransitionValues(Selectable slider)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetParentAndAlign(GameObject child, GameObject parent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetLayerRecursively(GameObject go, int layer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateScrollbar(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateButton(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateText(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateInputField(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateDropdown(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TMP_DefaultControls()
		{
			throw null;
		}
	}
	[AddComponentMenu("UI/Dropdown - TextMeshPro", 35)]
	[RequireComponent(typeof(RectTransform))]
	public class TMP_Dropdown : Selectable, IPointerClickHandler, IEventSystemHandler, ISubmitHandler, ICancelHandler
	{
		[OriginalAttributes(TypeAttributes.VisibilityMask)]
		public class DropdownItem : MonoBehaviour, IPointerEnterHandler, IEventSystemHandler, ICancelHandler
		{
			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public TMP_Text m_Text;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public Image m_Image;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public RectTransform m_RectTransform;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public Toggle m_Toggle;

			public TMP_Text text
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public Image image
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public RectTransform rectTransform
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public Toggle toggle
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public virtual void OnPointerEnter(PointerEventData eventData)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public virtual void OnCancel(BaseEventData eventData)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public DropdownItem()
			{
				throw null;
			}
		}

		[Serializable]
		public class OptionData
		{
			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public string m_Text;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public Sprite m_Image;

			public string text
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public Sprite image
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData(string text)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData(Sprite image)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData(string text, Sprite image)
			{
				throw null;
			}
		}

		[Serializable]
		public class OptionDataList
		{
			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public List<OptionData> m_Options;

			public List<OptionData> options
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionDataList()
			{
				throw null;
			}
		}

		[Serializable]
		public class DropdownEvent : UnityEvent<int>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public DropdownEvent()
			{
				throw null;
			}
		}

		[CompilerGenerated]
		private sealed class <DelayedDestroyDropdownList>d__72 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public float delay;

			public TMP_Dropdown <>4__this;

			object IEnumerator<object>.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			object IEnumerator.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			public <DelayedDestroyDropdownList>d__72(int <>1__state)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			private bool MoveNext()
			{
				throw null;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw null;
			}
		}

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public RectTransform m_Template;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_Text m_CaptionText;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Image m_CaptionImage;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_Text m_ItemText;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Image m_ItemImage;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_Value;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public OptionDataList m_Options;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public DropdownEvent m_OnValueChanged;

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_Dropdown;

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_Blocker;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<DropdownItem> m_Items;

		[OriginalAttributes(FieldAttributes.Private)]
		public TweenRunner<FloatTween> m_AlphaTweenRunner;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool validTemplate;

		[OriginalAttributes(FieldAttributes.Private)]
		public static OptionData s_NoOptionData;

		public RectTransform template
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TMP_Text captionText
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Image captionImage
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TMP_Text itemText
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Image itemImage
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public List<OptionData> options
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public DropdownEvent onValueChanged
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int value
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool IsExpanded
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetValueWithoutNotify(int input)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetValue(int value, bool sendCallback = true)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public TMP_Dropdown()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void Start()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RefreshShownValue()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOptions(List<OptionData> options)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOptions(List<string> options)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOptions(List<Sprite> options)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ClearOptions()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetupTemplate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static T GetOrAddComponent<T>(GameObject go) where T : Component
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerClick(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnSubmit(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnCancel(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Show()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual GameObject CreateBlocker(Canvas rootCanvas)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void DestroyBlocker(GameObject blocker)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual GameObject CreateDropdownList(GameObject template)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void DestroyDropdownList(GameObject dropdownList)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual DropdownItem CreateItem(DropdownItem itemTemplate)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void DestroyItem(DropdownItem item)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public DropdownItem AddItem(OptionData data, bool selected, DropdownItem itemTemplate, List<DropdownItem> items)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AlphaFadeList(float duration, float alpha)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AlphaFadeList(float duration, float start, float end)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetAlpha(float alpha)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Hide()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[IteratorStateMachine(typeof(<DelayedDestroyDropdownList>d__72))]
		[OriginalAttributes(MethodAttributes.Private)]
		public IEnumerator DelayedDestroyDropdownList(float delay)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ImmediateDestroyDropdownList()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnSelectItem(Toggle toggle)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TMP_Dropdown()
		{
			throw null;
		}
	}
	public enum AtlasPopulationMode
	{
		Static,
		Dynamic
	}
	[Serializable]
	public class TMP_FontAsset : TMP_Asset
	{
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_Version;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Assembly)]
		public string m_SourceFontFileGUID;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Font m_SourceFontFile;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public AtlasPopulationMode m_AtlasPopulationMode;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public FaceInfo m_FaceInfo;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<Glyph> m_GlyphTable;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<uint, Glyph> m_GlyphLookupDictionary;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<TMP_Character> m_CharacterTable;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<uint, TMP_Character> m_CharacterLookupDictionary;

		[OriginalAttributes(FieldAttributes.Private)]
		public Texture2D m_AtlasTexture;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Texture2D[] m_AtlasTextures;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Assembly)]
		public int m_AtlasTextureIndex;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<GlyphRect> m_UsedGlyphRects;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<GlyphRect> m_FreeGlyphRects;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public FaceInfo_Legacy m_fontInfo;

		[SerializeField]
		public Texture2D atlas;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_AtlasWidth;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_AtlasHeight;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_AtlasPadding;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public GlyphRenderMode m_AtlasRenderMode;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Assembly)]
		public List<TMP_Glyph> m_glyphInfoList;

		[SerializeField]
		[FormerlySerializedAs("m_kerningInfo")]
		[OriginalAttributes(FieldAttributes.Assembly)]
		public KerningTable m_KerningTable;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_FontFeatureTable m_FontFeatureTable;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<TMP_FontAsset> fallbackFontAssets;

		[SerializeField]
		public List<TMP_FontAsset> m_FallbackFontAssetTable;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Assembly)]
		public FontAssetCreationSettings m_CreationSettings;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_FontWeightPair[] m_FontWeightTable;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_FontWeightPair[] fontWeights;

		public float normalStyle;

		public float normalSpacingOffset;

		public float boldStyle;

		public float boldSpacing;

		public byte italicStyle;

		public byte tabSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public byte m_oldTabSize;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public bool m_IsFontAssetLookupTablesDirty;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<Glyph> m_GlyphsToPack;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<Glyph> m_GlyphsPacked;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<Glyph> m_GlyphsToRender;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<uint> m_GlyphIndexList;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<TMP_Character> m_CharactersToAdd;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public static uint[] s_GlyphIndexArray;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public static List<uint> s_MissingCharacterList;

		public string version
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public Font sourceFontFile
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public AtlasPopulationMode atlasPopulationMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public FaceInfo faceInfo
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public List<Glyph> glyphTable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public Dictionary<uint, Glyph> glyphLookupTable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public List<TMP_Character> characterTable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public Dictionary<uint, TMP_Character> characterLookupTable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Texture2D atlasTexture
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Texture2D[] atlasTextures
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public List<GlyphRect> usedGlyphRects
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public List<GlyphRect> freeGlyphRects
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		[Obsolete("The fontInfo property and underlying type is now obsolete. Please use the faceInfo property and FaceInfo type instead.")]
		public FaceInfo_Legacy fontInfo
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int atlasWidth
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public int atlasHeight
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public int atlasPadding
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public GlyphRenderMode atlasRenderMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public TMP_FontFeatureTable fontFeatureTable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public List<TMP_FontAsset> fallbackFontAssetTable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public FontAssetCreationSettings creationSettings
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TMP_FontWeightPair[] fontWeightTable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_FontAsset CreateFontAsset(Font font)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_FontAsset CreateFontAsset(Font font, int samplingPointSize, int atlasPadding, GlyphRenderMode renderMode, int atlasWidth, int atlasHeight, AtlasPopulationMode atlasPopulationMode = AtlasPopulationMode.Dynamic)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void InitializeDictionaryLookupTables()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ReadFontAssetDefinition()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SortCharacterTable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SortGlyphTable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SortGlyphAndCharacterTables()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool HasCharacter(int character)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool HasCharacter(char character)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool HasCharacter(char character, bool searchFallbacks)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool HasCharacter_Internal(char character, bool searchFallbacks)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool HasCharacters(string text, out List<char> missingCharacters)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool HasCharacters(string text)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static string GetCharacters(TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static int[] GetCharactersArray(TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool TryAddCharacters(uint[] unicodes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool TryAddCharacters(uint[] unicodes, out uint[] missingUnicodes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool TryAddCharacters(string characters)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool TryAddCharacters(string characters, out string missingCharacters)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool TryAddCharacter_Internal(uint unicode)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TMP_Character AddCharacter_Internal(uint unicode, Glyph glyph)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool TryAddCharacterInternal(uint unicode, out TMP_Character character)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public uint GetGlyphIndex(uint unicode)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void UpdateAtlasTexture()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void UpdateGlyphAdjustmentRecords(uint unicode, uint glyphIndex)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ClearFontAssetData(bool setAtlasSizeToZero = false)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpgradeFontAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpgradeGlyphAdjustmentTableToFontFeatureTable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_FontAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TMP_FontAsset()
		{
			throw null;
		}
	}
	[Serializable]
	public class FaceInfo_Legacy
	{
		public string Name;

		public float PointSize;

		public float Scale;

		public int CharacterCount;

		public float LineHeight;

		public float Baseline;

		public float Ascender;

		public float CapHeight;

		public float Descender;

		public float CenterLine;

		public float SuperscriptOffset;

		public float SubscriptOffset;

		public float SubSize;

		public float Underline;

		public float UnderlineThickness;

		public float strikethrough;

		public float strikethroughThickness;

		public float TabWidth;

		public float Padding;

		public float AtlasWidth;

		public float AtlasHeight;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public FaceInfo_Legacy()
		{
			throw null;
		}
	}
	[Serializable]
	public class TMP_Glyph : TMP_TextElement_Legacy
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_Glyph Clone(TMP_Glyph source)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_Glyph()
		{
			throw null;
		}
	}
	[Serializable]
	public struct FontAssetCreationSettings
	{
		public string sourceFontFileName;

		public string sourceFontFileGUID;

		public int pointSizeSamplingMode;

		public int pointSize;

		public int padding;

		public int packingMode;

		public int atlasWidth;

		public int atlasHeight;

		public int characterSetSelectionMode;

		public string characterSequence;

		public string referencedFontAssetGUID;

		public string referencedTextAssetGUID;

		public int fontStyle;

		public float fontStyleModifier;

		public int renderMode;

		public bool includeFontFeatures;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public FontAssetCreationSettings(string sourceFontFileGUID, int pointSize, int pointSizeSamplingMode, int padding, int packingMode, int atlasWidth, int atlasHeight, int characterSelectionMode, string characterSet, int renderMode)
		{
			throw null;
		}
	}
	[Serializable]
	public struct TMP_FontWeightPair
	{
		public TMP_FontAsset regularTypeface;

		public TMP_FontAsset italicTypeface;
	}
	public struct KerningPairKey
	{
		public uint ascii_Left;

		public uint ascii_Right;

		public uint key;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public KerningPairKey(uint ascii_left, uint ascii_right)
		{
			throw null;
		}
	}
	[Serializable]
	public struct GlyphValueRecord_Legacy
	{
		public float xPlacement;

		public float yPlacement;

		public float xAdvance;

		public float yAdvance;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public GlyphValueRecord_Legacy(GlyphValueRecord valueRecord)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GlyphValueRecord_Legacy operator +(GlyphValueRecord_Legacy a, GlyphValueRecord_Legacy b)
		{
			throw null;
		}
	}
	[Serializable]
	public class KerningPair
	{
		[FormerlySerializedAs("AscII_Left")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public uint m_FirstGlyph;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public GlyphValueRecord_Legacy m_FirstGlyphAdjustments;

		[FormerlySerializedAs("AscII_Right")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public uint m_SecondGlyph;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public GlyphValueRecord_Legacy m_SecondGlyphAdjustments;

		[FormerlySerializedAs("XadvanceOffset")]
		public float xOffset;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public static KerningPair empty;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IgnoreSpacingAdjustments;

		public uint firstGlyph
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public GlyphValueRecord_Legacy firstGlyphAdjustments
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public uint secondGlyph
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public GlyphValueRecord_Legacy secondGlyphAdjustments
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool ignoreSpacingAdjustments
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public KerningPair()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public KerningPair(uint left, uint right, float offset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public KerningPair(uint firstGlyph, GlyphValueRecord_Legacy firstGlyphAdjustments, uint secondGlyph, GlyphValueRecord_Legacy secondGlyphAdjustments)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void ConvertLegacyKerningData()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static KerningPair()
		{
			throw null;
		}
	}
	[Serializable]
	public class KerningTable
	{
		public List<KerningPair> kerningPairs;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public KerningTable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddKerningPair()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int AddKerningPair(uint first, uint second, float offset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int AddGlyphPairAdjustmentRecord(uint first, GlyphValueRecord_Legacy firstAdjustments, uint second, GlyphValueRecord_Legacy secondAdjustments)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RemoveKerningPair(int left, int right)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RemoveKerningPair(int index)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SortKerningPairs()
		{
			throw null;
		}
	}
	public static class TMP_FontUtilities
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public static List<int> k_searchedFontAssets;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_FontAsset SearchForCharacter(TMP_FontAsset font, uint unicode, out TMP_Character character)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_FontAsset SearchForCharacter(List<TMP_FontAsset> fonts, uint unicode, out TMP_Character character)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static TMP_FontAsset SearchForCharacterInternal(TMP_FontAsset font, uint unicode, out TMP_Character character)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static TMP_FontAsset SearchForCharacterInternal(List<TMP_FontAsset> fonts, uint unicode, out TMP_Character character)
		{
			throw null;
		}
	}
	public class TMP_FontAssetUtilities
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly TMP_FontAssetUtilities s_Instance;

		[OriginalAttributes(FieldAttributes.Private)]
		public static List<int> k_SearchedFontAssets;

		[OriginalAttributes(FieldAttributes.Private)]
		public static bool k_IsFontEngineInitialized;

		public static TMP_FontAssetUtilities instance
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TMP_FontAssetUtilities()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_Character GetCharacterFromFontAsset(uint unicode, TMP_FontAsset sourceFontAsset, bool includeFallbacks, FontStyles fontStyle, FontWeight fontWeight, out bool isAlternativeTypeface, out TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static TMP_Character GetCharacterFromFontAsset_Internal(uint unicode, TMP_FontAsset sourceFontAsset, bool includeFallbacks, FontStyles fontStyle, FontWeight fontWeight, out bool isAlternativeTypeface, out TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_Character GetCharacterFromFontAssets(uint unicode, List<TMP_FontAsset> fontAssets, bool includeFallbacks, FontStyles fontStyle, FontWeight fontWeight, out bool isAlternativeTypeface, out TMP_FontAsset fontAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool TryGetCharacterFromFontFile(uint unicode, TMP_FontAsset fontAsset, out TMP_Character character)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryGetGlyphFromFontFile(uint glyphIndex, TMP_FontAsset fontAsset, out Glyph glyph)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_FontAssetUtilities()
		{
			throw null;
		}
	}
	public enum FontFeatureLookupFlags
	{
		IgnoreLigatures = 4,
		IgnoreSpacingAdjustments = 0x100
	}
	[Serializable]
	public struct TMP_GlyphValueRecord
	{
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_XPlacement;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_YPlacement;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_XAdvance;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_YAdvance;

		public float xPlacement
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float yPlacement
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float xAdvance
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float yAdvance
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_GlyphValueRecord(float xPlacement, float yPlacement, float xAdvance, float yAdvance)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TMP_GlyphValueRecord(GlyphValueRecord_Legacy valueRecord)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TMP_GlyphValueRecord(GlyphValueRecord valueRecord)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static TMP_GlyphValueRecord operator +(TMP_GlyphValueRecord a, TMP_GlyphValueRecord b)
		{
			throw null;
		}
	}
	[Serializable]
	public struct TMP_GlyphAdjustmentRecord
	{
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public uint m_GlyphIndex;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_GlyphValueRecord m_GlyphValueRecord;

		public uint glyphIndex
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TMP_GlyphValueRecord glyphValueRecord
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_GlyphAdjustmentRecord(uint glyphIndex, TMP_GlyphValueRecord glyphValueRecord)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TMP_GlyphAdjustmentRecord(GlyphAdjustmentRecord adjustmentRecord)
		{
			throw null;
		}
	}
	[Serializable]
	public class TMP_GlyphPairAdjustmentRecord
	{
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_GlyphAdjustmentRecord m_FirstAdjustmentRecord;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TMP_GlyphAdjustmentRecord m_SecondAdjustmentRecord;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public FontFeatureLookupFlags m_FeatureLookupFlags;

		public TMP_GlyphAdjustmentRecord firstAdjustmentRecord
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TMP_GlyphAdjustmentRecord secondAdjustmentRecord
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public FontFeatureLookupFlags featureLookupFlags
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_GlyphPairAdjustmentRecord(TMP_GlyphAdjustmentRecord firstAdjustmentRecord, TMP_GlyphAdjustmentRecord secondAdjustmentRecord)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TMP_GlyphPairAdjustmentRecord(GlyphPairAdjustmentRecord glyphPairAdjustmentRecord)
		{
			throw null;
		}
	}
	public struct GlyphPairKey
	{
		public uint firstGlyphIndex;

		public uint secondGlyphIndex;

		public long key;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public GlyphPairKey(uint firstGlyphIndex, uint secondGlyphIndex)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public GlyphPairKey(TMP_GlyphPairAdjustmentRecord record)
		{
			throw null;
		}
	}
	[Serializable]
	public class TMP_FontFeatureTable
	{
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Assembly)]
		public List<TMP_GlyphPairAdjustmentRecord> m_GlyphPairAdjustmentRecords;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public Dictionary<long, TMP_GlyphPairAdjustmentRecord> m_GlyphPairAdjustmentRecordLookupDictionary;

		public List<TMP_GlyphPairAdjustmentRecord> glyphPairAdjustmentRecords
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TMP_FontFeatureTable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SortGlyphPairAdjustmentRecords()
		{
			throw null;
		}
	}
	[AddComponentMenu("UI/TextMeshPro - Input Field", 11)]
	public class TMP_InputField : Selectable, IUpdateSelectedHandler, IEventSystemHandler, IBeginDragHandler, IDragHandler, IEndDragHandler, IPointerClickHandler, ISubmitHandler, ICanvasElement, ILayoutElement, IScrollHandler
	{
		public enum ContentType
		{
			Standard,
			Autocorrected,
			IntegerNumber,
			DecimalNumber,
			Alphanumeric,
			Name,
			EmailAddress,
			Password,
			Pin,
			Custom
		}

		public enum InputType
		{
			Standard,
			AutoCorrect,
			Password
		}

		public enum CharacterValidation
		{
			None,
			Digit,
			Integer,
			Decimal,
			Alphanumeric,
			Name,
			Regex,
			EmailAddress,
			CustomValidator
		}

		public enum LineType
		{
			SingleLine,
			MultiLineSubmit,
			MultiLineNewline
		}

		public delegate char OnValidateInput(string text, int charIndex, char addedChar);

		[Serializable]
		public class SubmitEvent : UnityEvent<string>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public SubmitEvent()
			{
				throw null;
			}
		}

		[Serializable]
		public class OnChangeEvent : UnityEvent<string>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public OnChangeEvent()
			{
				throw null;
			}
		}

		[Serializable]
		public class SelectionEvent : UnityEvent<string>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public SelectionEvent()
			{
				throw null;
			}
		}

		[Serializable]
		public class TextSelectionEvent : UnityEvent<string, int, int>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public TextSelectionEvent()
			{
				throw null;
			}
		}

		[Serializable]
		public class TouchScreenKeyboardEvent : UnityEvent<Status>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public TouchScreenKeyboardEvent()
			{
				throw null;
			}
		}

		[OriginalAttributes(TypeAttributes.NestedFamily)]
		public enum EditState
		{
			Continue,
			Finish
		}

		[CompilerGenerated]
		private sealed class <CaretBlink>d__267 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public TMP_InputField <>4__this;

			object IEnumerator<object>.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			object IEnumerator.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			public <CaretBlink>d__267(int <>1__state)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			private bool MoveNext()
			{
				throw null;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw null;
			}
		}

		[CompilerGenerated]
		private sealed class <MouseDragOutsideRect>d__285 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public TMP_InputField <>4__this;

			public PointerEventData eventData;

			object IEnumerator<object>.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			object IEnumerator.Current
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				[DebuggerHidden]
				get
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			public <MouseDragOutsideRect>d__285(int <>1__state)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			private bool MoveNext()
			{
				throw null;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Family)]
		public TouchScreenKeyboard m_SoftKeyboard;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly char[] kSeparators;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public RectTransform m_TextViewport;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public TMP_Text m_TextComponent;

		[OriginalAttributes(FieldAttributes.Family)]
		public RectTransform m_TextComponentRectTransform;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public Graphic m_Placeholder;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public Scrollbar m_VerticalScrollbar;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public TMP_ScrollbarEventHandler m_VerticalScrollbarEventHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IsDrivenByLayoutComponents;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_ScrollPosition;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public float m_ScrollSensitivity;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public ContentType m_ContentType;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public InputType m_InputType;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public char m_AsteriskChar;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TouchScreenKeyboardType m_KeyboardType;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public LineType m_LineType;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_HideMobileInput;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_HideSoftKeyboard;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public CharacterValidation m_CharacterValidation;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_RegexValue;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_GlobalPointSize;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_CharacterLimit;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public SubmitEvent m_OnEndEdit;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public SubmitEvent m_OnSubmit;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public SelectionEvent m_OnSelect;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public SelectionEvent m_OnDeselect;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TextSelectionEvent m_OnTextSelection;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TextSelectionEvent m_OnEndTextSelection;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public OnChangeEvent m_OnValueChanged;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TouchScreenKeyboardEvent m_OnTouchScreenKeyboardStatusChanged;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public OnValidateInput m_OnValidateInput;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_CaretColor;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_CustomCaretColor;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_SelectionColor;

		[SerializeField]
		[TextArea(5, 10)]
		[OriginalAttributes(FieldAttributes.Family)]
		public string m_Text;

		[SerializeField]
		[Range(0f, 4f)]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_CaretBlinkRate;

		[SerializeField]
		[Range(1f, 5f)]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_CaretWidth;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ReadOnly;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_RichText;

		[OriginalAttributes(FieldAttributes.Family)]
		public int m_StringPosition;

		[OriginalAttributes(FieldAttributes.Family)]
		public int m_StringSelectPosition;

		[OriginalAttributes(FieldAttributes.Family)]
		public int m_CaretPosition;

		[OriginalAttributes(FieldAttributes.Family)]
		public int m_CaretSelectPosition;

		[OriginalAttributes(FieldAttributes.Private)]
		public RectTransform caretRectTrans;

		[OriginalAttributes(FieldAttributes.Family)]
		public UIVertex[] m_CursorVerts;

		[OriginalAttributes(FieldAttributes.Private)]
		public CanvasRenderer m_CachedInputRenderer;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector2 m_LastPosition;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Family)]
		public Mesh m_Mesh;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_AllowInput;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ShouldActivateNextUpdate;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_UpdateDrag;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_DragPositionOutOfBounds;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kHScrollSpeed = 0.05f;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kVScrollSpeed = 0.1f;

		[OriginalAttributes(FieldAttributes.Family)]
		public bool m_CaretVisible;

		[OriginalAttributes(Fiel

UnityEngine.Networking.dll

Decompiled 11 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Text;
using BepInEx.AssemblyPublicizer;
using UnityEngine;
using UnityEngine.Networking.Match;
using UnityEngine.Networking.NetworkSystem;
using UnityEngine.Networking.Types;
using UnityEngine.SceneManagement;

[assembly: AssemblyTitle("UnityEngine.Networking")]
[assembly: AssemblyDescription("Networking High Level API")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Unity Technologies")]
[assembly: AssemblyProduct("UnityEngine.Networking")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: InternalsVisibleTo("UnityEditor.Networking")]
[assembly: InternalsVisibleTo("Assembly-CSharp-Editor-testable")]
[assembly: ComVisible(false)]
[assembly: Guid("87035389-1bb3-40e2-b2a9-c8707e7419ba")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: UnityAPICompatibilityVersion("2018.4.12f1")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace UnityEngine.Networking
{
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ChannelBuffer : IDisposable
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkConnection m_Connection;

		[OriginalAttributes(FieldAttributes.Private)]
		public ChannelPacket m_CurrentPacket;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_LastFlushTime;

		[OriginalAttributes(FieldAttributes.Private)]
		public byte m_ChannelId;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_MaxPacketSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IsReliable;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_AllowFragmentation;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IsBroken;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_MaxPendingPacketCount;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_MaxFreePacketCount = 512;

		public const int MaxPendingPacketCount = 16;

		public const int MaxBufferedPackets = 512;

		[OriginalAttributes(FieldAttributes.Private)]
		public Queue<ChannelPacket> m_PendingPackets;

		[OriginalAttributes(FieldAttributes.Private)]
		public static List<ChannelPacket> s_FreePackets;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public static int pendingPacketCount;

		public float maxDelay;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_LastBufferedMessageCountTimer;

		[OriginalAttributes(FieldAttributes.Private)]
		public static NetworkWriter s_SendWriter;

		[OriginalAttributes(FieldAttributes.Private)]
		public static NetworkWriter s_FragmentWriter;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_PacketHeaderReserveSize = 100;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Disposed;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public NetBuffer fragmentBuffer;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool readingFragment;

		public int numMsgsOut
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		public int numBufferedMsgsOut
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		public int numBytesOut
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		public int numMsgsIn
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		public int numBytesIn
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		public int numBufferedPerSecond
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		public int lastBufferedPerSecond
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ChannelBuffer(NetworkConnection conn, int bufferSize, byte cid, bool isReliable, bool isSequenced)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Dispose()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void Dispose(bool disposing)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SetOption(ChannelOption option, int value)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void CheckInternalBuffer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SendWriter(NetworkWriter writer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Send(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool HandleFragment(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool SendFragmentBytes(byte[] bytes, int bytesToSend)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool SendBytes(byte[] bytes, int bytesToSend)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void QueuePacket()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public ChannelPacket AllocPacket()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void FreePacket(ChannelPacket packet)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SendInternalBuffer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static ChannelBuffer()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct ChannelPacket
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_Position;

		[OriginalAttributes(FieldAttributes.Private)]
		public byte[] m_Buffer;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IsReliable;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ChannelPacket(int packetSize, bool isReliable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Reset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsEmpty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Write(byte[] bytes, int numBytes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool HasSpace(int numBytes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SendToTransport(NetworkConnection conn, int channelId)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ClientScene
	{
		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public struct PendingOwner
		{
			public NetworkInstanceId netId;

			public short playerControllerId;
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public static List<PlayerController> s_LocalPlayers;

		[OriginalAttributes(FieldAttributes.Private)]
		public static NetworkConnection s_ReadyConnection;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Dictionary<NetworkSceneId, NetworkIdentity> s_SpawnableObjects;

		[OriginalAttributes(FieldAttributes.Private)]
		public static bool s_IsReady;

		[OriginalAttributes(FieldAttributes.Private)]
		public static bool s_IsSpawnFinished;

		[OriginalAttributes(FieldAttributes.Private)]
		public static NetworkScene s_NetworkScene;

		[OriginalAttributes(FieldAttributes.Private)]
		public static ObjectSpawnSceneMessage s_ObjectSpawnSceneMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public static ObjectSpawnFinishedMessage s_ObjectSpawnFinishedMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public static ObjectDestroyMessage s_ObjectDestroyMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public static ObjectSpawnMessage s_ObjectSpawnMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public static OwnerMessage s_OwnerMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public static ClientAuthorityMessage s_ClientAuthorityMessage;

		public const int ReconnectIdInvalid = -1;

		public const int ReconnectIdHost = 0;

		[OriginalAttributes(FieldAttributes.Private)]
		public static int s_ReconnectId;

		[OriginalAttributes(FieldAttributes.Private)]
		public static PeerInfoMessage[] s_Peers;

		[OriginalAttributes(FieldAttributes.Private)]
		public static List<PendingOwner> s_PendingOwnerIds;

		public static List<PlayerController> localPlayers
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static bool ready
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static NetworkConnection readyConnection
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static int reconnectId
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static Dictionary<NetworkInstanceId, NetworkIdentity> objects
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static Dictionary<NetworkHash128, GameObject> prefabs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static Dictionary<NetworkSceneId, NetworkIdentity> spawnableObjects
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ClientScene()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool hasMigrationPending()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void SetReconnectId(int newReconnectId, PeerInfoMessage[] peers)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void SetNotReady()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void Shutdown()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool GetPlayerController(short playerControllerId, out PlayerController player)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void InternalAddPlayer(NetworkIdentity view, short playerControllerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool AddPlayer(short playerControllerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool AddPlayer(NetworkConnection readyConn, short playerControllerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool AddPlayer(NetworkConnection readyConn, short playerControllerId, MessageBase extraMessage)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool SendReconnectMessage(MessageBase extraMessage)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool RemovePlayer(short playerControllerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool Ready(NetworkConnection conn)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static NetworkClient ConnectLocalServer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static NetworkClient ReconnectLocalServer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void ClearLocalPlayers()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void HandleClientDisconnect(NetworkConnection conn)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void PrepareToSpawnSceneObjects()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static NetworkIdentity SpawnSceneObject(NetworkSceneId sceneId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void RegisterSystemHandlers(NetworkClient client, bool localClient)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetStringForAssetId(NetworkHash128 assetId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RegisterPrefab(GameObject prefab, NetworkHash128 newAssetId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RegisterPrefab(GameObject prefab)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RegisterPrefab(GameObject prefab, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void UnregisterPrefab(GameObject prefab)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RegisterSpawnHandler(NetworkHash128 assetId, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void UnregisterSpawnHandler(NetworkHash128 assetId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void ClearSpawners()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void DestroyAllClientObjects()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void SetLocalObject(NetworkInstanceId netId, GameObject obj)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject FindLocalObject(NetworkInstanceId netId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void ApplySpawnPayload(NetworkIdentity uv, Vector3 position, byte[] payload, NetworkInstanceId netId, GameObject newGameObject, NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnObjectSpawn(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnObjectSpawnScene(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnObjectSpawnFinished(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnObjectDestroy(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnLocalClientObjectDestroy(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnLocalClientObjectHide(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnLocalClientObjectSpawn(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnLocalClientObjectSpawnScene(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnUpdateVarsMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnRPCMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnSyncEventMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnSyncListMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnClientAuthority(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void OnOwnerMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void CheckForOwner(NetworkIdentity uv)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static ClientScene()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ConnectionArray
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public List<NetworkConnection> m_LocalConnections;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<NetworkConnection> m_Connections;

		public List<NetworkConnection> localConnections
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public List<NetworkConnection> connections
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public int Count
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int LocalIndex
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ConnectionArray()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int Add(int connId, NetworkConnection conn)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkConnection Get(int connId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkConnection GetUnsafe(int connId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Remove(int connId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int AddLocal(NetworkConnection conn)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool ContainsPlayer(GameObject player, out NetworkConnection conn)
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Class)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NetworkSettingsAttribute : Attribute
	{
		public int channel;

		public float sendInterval;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkSettingsAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Field)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class SyncVarAttribute : Attribute
	{
		public string hook;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public SyncVarAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Method)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class CommandAttribute : Attribute
	{
		public int channel;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public CommandAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Method)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ClientRpcAttribute : Attribute
	{
		public int channel;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ClientRpcAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Method)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class TargetRpcAttribute : Attribute
	{
		public int channel;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TargetRpcAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Event)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class SyncEventAttribute : Attribute
	{
		public int channel;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public SyncEventAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Method)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ServerAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public ServerAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Method)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ServerCallbackAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public ServerCallbackAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Method)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ClientAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public ClientAttribute()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Method)]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ClientCallbackAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public ClientCallbackAttribute()
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class DefaultNetworkTransport : INetworkTransport
	{
		public bool IsStarted
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DefaultNetworkTransport()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int AddHost(HostTopology topology, int port, string ip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int AddHostWithSimulator(HostTopology topology, int minTimeout, int maxTimeout, int port)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int AddWebsocketHost(HostTopology topology, int port, string ip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int Connect(int hostId, string address, int port, int specialConnectionId, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int ConnectEndPoint(int hostId, EndPoint endPoint, int specialConnectionId, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int ConnectToNetworkPeer(int hostId, string address, int port, int specialConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int ConnectWithSimulator(int hostId, string address, int port, int specialConnectionId, out byte error, ConnectionSimulatorConfig conf)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Disconnect(int hostId, int connectionId, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool DoesEndPointUsePlatformProtocols(EndPoint endPoint)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GetBroadcastConnectionInfo(int hostId, out string address, out int port, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GetBroadcastConnectionMessage(int hostId, byte[] buffer, int bufferSize, out int receivedSize, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int GetCurrentRTT(int hostId, int connectionId, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Init()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Init(GlobalConfig config)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkEventType Receive(out int hostId, out int connectionId, out int channelId, byte[] buffer, int bufferSize, out int receivedSize, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkEventType ReceiveFromHost(int hostId, out int connectionId, out int channelId, byte[] buffer, int bufferSize, out int receivedSize, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkEventType ReceiveRelayEventFromHost(int hostId, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool RemoveHost(int hostId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Send(int hostId, int connectionId, int channelId, byte[] buffer, int size, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetBroadcastCredentials(int hostId, int key, int version, int subversion, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetPacketStat(int direction, int packetStatId, int numMsgs, int numBytes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Shutdown()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool StartBroadcastDiscovery(int hostId, int broadcastPort, int key, int version, int subversion, byte[] buffer, int size, int timeout, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void StopBroadcastDiscovery()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public static class DotNetCompatibility
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetMethodName(this Delegate func)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static Type GetBaseType(this Type type)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetErrorCode(this SocketException e)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public interface INetworkTransport
	{
		bool IsStarted { get; }

		void Init();

		void Init(GlobalConfig config);

		void Shutdown();

		int AddHost(HostTopology topology, int port, string ip);

		int AddWebsocketHost(HostTopology topology, int port, string ip);

		int ConnectWithSimulator(int hostId, string address, int port, int specialConnectionId, out byte error, ConnectionSimulatorConfig conf);

		int Connect(int hostId, string address, int port, int specialConnectionId, out byte error);

		void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error);

		int ConnectToNetworkPeer(int hostId, string address, int port, int specialConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, out byte error);

		int ConnectEndPoint(int hostId, EndPoint endPoint, int specialConnectionId, out byte error);

		bool DoesEndPointUsePlatformProtocols(EndPoint endPoint);

		int AddHostWithSimulator(HostTopology topology, int minTimeout, int maxTimeout, int port);

		bool RemoveHost(int hostId);

		bool Send(int hostId, int connectionId, int channelId, byte[] buffer, int size, out byte error);

		NetworkEventType Receive(out int hostId, out int connectionId, out int channelId, byte[] buffer, int bufferSize, out int receivedSize, out byte error);

		NetworkEventType ReceiveFromHost(int hostId, out int connectionId, out int channelId, byte[] buffer, int bufferSize, out int receivedSize, out byte error);

		NetworkEventType ReceiveRelayEventFromHost(int hostId, out byte error);

		int GetCurrentRTT(int hostId, int connectionId, out byte error);

		void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error);

		bool Disconnect(int hostId, int connectionId, out byte error);

		void SetBroadcastCredentials(int hostId, int key, int version, int subversion, out byte error);

		bool StartBroadcastDiscovery(int hostId, int broadcastPort, int key, int version, int subversion, byte[] buffer, int size, int timeout, out byte error);

		void GetBroadcastConnectionInfo(int hostId, out string address, out int port, out byte error);

		void GetBroadcastConnectionMessage(int hostId, byte[] buffer, int bufferSize, out int receivedSize, out byte error);

		void StopBroadcastDiscovery();

		void SetPacketStat(int direction, int packetStatId, int numMsgs, int numBytes);
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public sealed class LocalClient : NetworkClient
	{
		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public struct InternalMsg
		{
			[OriginalAttributes(FieldAttributes.Assembly)]
			public byte[] buffer;

			[OriginalAttributes(FieldAttributes.Assembly)]
			public int channelId;
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_InitialFreeMessagePoolSize = 64;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<InternalMsg> m_InternalMsgs;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<InternalMsg> m_InternalMsgs2;

		[OriginalAttributes(FieldAttributes.Private)]
		public Stack<InternalMsg> m_FreeMessages;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkServer m_LocalServer;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Connected;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkMessage s_InternalMessage;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public LocalClient()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Disconnect()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void InternalConnectLocalServer(bool generateConnectMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public override void Update()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void AddLocalPlayer(PlayerController localPlayer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void PostInternalMessage(byte[] buffer, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void PostInternalMessage(short msgType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ProcessInternalMessages()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void InvokeHandlerOnClient(short msgType, MessageBase msg, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void InvokeBytesOnClient(byte[] buffer, int channelId)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ULocalConnectionToClient : NetworkConnection
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public LocalClient m_LocalClient;

		public LocalClient localClient
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ULocalConnectionToClient(LocalClient localClient)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool Send(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendUnreliable(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendByChannel(short msgType, MessageBase msg, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendBytes(byte[] bytes, int numBytes, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendWriter(NetworkWriter writer, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void GetStatsOut(out int numMsgs, out int numBufferedMsgs, out int numBytes, out int lastBufferedPerSecond)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void GetStatsIn(out int numMsgs, out int numBytes)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ULocalConnectionToServer : NetworkConnection
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkServer m_LocalServer;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ULocalConnectionToServer(NetworkServer localServer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool Send(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendUnreliable(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendByChannel(short msgType, MessageBase msg, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendBytes(byte[] bytes, int numBytes, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool SendWriter(NetworkWriter writer, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void GetStatsOut(out int numMsgs, out int numBufferedMsgs, out int numBytes, out int lastBufferedPerSecond)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void GetStatsIn(out int numMsgs, out int numBytes)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class LogFilter
	{
		public enum FilterLevel
		{
			Developer = 0,
			Debug = 1,
			Info = 2,
			Warn = 3,
			Error = 4,
			Fatal = 5,
			SetInScripting = -1
		}

		[OriginalAttributes(FieldAttributes.Assembly)]
		public const int Developer = 0;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public const int SetInScripting = -1;

		public const int Debug = 1;

		public const int Info = 2;

		public const int Warn = 3;

		public const int Error = 4;

		public const int Fatal = 5;

		[Obsolete("Use LogFilter.currentLogLevel instead")]
		public static FilterLevel current;

		[OriginalAttributes(FieldAttributes.Private)]
		public static int s_CurrentLogLevel;

		public static int currentLogLevel
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public static bool logDev
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public static bool logDebug
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static bool logInfo
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static bool logWarn
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static bool logError
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static bool logFatal
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public LogFilter()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static LogFilter()
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public abstract class MessageBase
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public MessageBase()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
}
namespace UnityEngine.Networking.NetworkSystem
{
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class StringMessage : MessageBase
	{
		public string value;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public StringMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public StringMessage(string v)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class IntegerMessage : MessageBase
	{
		public int value;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public IntegerMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public IntegerMessage(int v)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class EmptyMessage : MessageBase
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public EmptyMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ErrorMessage : MessageBase
	{
		public int errorCode;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ErrorMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ReadyMessage : EmptyMessage
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public ReadyMessage()
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NotReadyMessage : EmptyMessage
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public NotReadyMessage()
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class AddPlayerMessage : MessageBase
	{
		public short playerControllerId;

		public int msgSize;

		public byte[] msgData;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AddPlayerMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class RemovePlayerMessage : MessageBase
	{
		public short playerControllerId;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public RemovePlayerMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class PeerAuthorityMessage : MessageBase
	{
		public int connectionId;

		public NetworkInstanceId netId;

		public bool authorityState;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public PeerAuthorityMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public struct PeerInfoPlayer
	{
		public NetworkInstanceId netId;

		public short playerControllerId;
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class PeerInfoMessage : MessageBase
	{
		public int connectionId;

		public string address;

		public int port;

		public bool isHost;

		public bool isYou;

		public PeerInfoPlayer[] playerIds;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public PeerInfoMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class PeerListMessage : MessageBase
	{
		public PeerInfoMessage[] peers;

		public int oldServerConnectionId;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public PeerListMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class ReconnectMessage : MessageBase
	{
		public int oldConnectionId;

		public short playerControllerId;

		public NetworkInstanceId netId;

		public int msgSize;

		public byte[] msgData;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ReconnectMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ObjectSpawnMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public NetworkHash128 assetId;

		public Vector3 position;

		public byte[] payload;

		public Quaternion rotation;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ObjectSpawnMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ObjectSpawnSceneMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public NetworkSceneId sceneId;

		public Vector3 position;

		public byte[] payload;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ObjectSpawnSceneMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ObjectSpawnFinishedMessage : MessageBase
	{
		public uint state;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ObjectSpawnFinishedMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ObjectDestroyMessage : MessageBase
	{
		public NetworkInstanceId netId;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ObjectDestroyMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class OwnerMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public short playerControllerId;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public OwnerMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ClientAuthorityMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public bool authority;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ClientAuthorityMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class OverrideTransformMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public byte[] payload;

		public bool teleport;

		public int time;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public OverrideTransformMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class AnimationMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public int stateHash;

		public float normalizedTime;

		public byte[] parameters;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AnimationMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class AnimationParametersMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public byte[] parameters;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AnimationParametersMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class AnimationTriggerMessage : MessageBase
	{
		public NetworkInstanceId netId;

		public int hash;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AnimationTriggerMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class LobbyReadyToBeginMessage : MessageBase
	{
		public byte slotId;

		public bool readyState;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public LobbyReadyToBeginMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct CRCMessageEntry
	{
		public string name;

		public byte channel;
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class CRCMessage : MessageBase
	{
		public CRCMessageEntry[] scripts;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public CRCMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Deserialize(NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Serialize(NetworkWriter writer)
		{
			throw null;
		}
	}
}
namespace UnityEngine.Networking
{
	[DisallowMultipleComponent]
	[AddComponentMenu("Network/NetworkAnimator")]
	[RequireComponent(typeof(NetworkIdentity))]
	[RequireComponent(typeof(Animator))]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NetworkAnimator : NetworkBehaviour
	{
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Animator m_Animator;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public uint m_ParameterSendBits;

		[OriginalAttributes(FieldAttributes.Private)]
		public static AnimationMessage s_AnimationMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public static AnimationParametersMessage s_AnimationParametersMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public static AnimationTriggerMessage s_AnimationTriggerMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_AnimationHash;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_TransitionHash;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkWriter m_ParameterWriter;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_SendTimer;

		public string param0;

		public string param1;

		public string param2;

		public string param3;

		public string param4;

		public string param5;

		public Animator animator
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool sendMessagesAllowed
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Private)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkAnimator()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetParameterAutoSend(int index, bool value)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool GetParameterAutoSend(int index)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void ResetParameterOptions()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void FixedUpdate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool CheckAnimStateChanged(out int stateHash, out float normalizedTime)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CheckSendRate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SendMessage(short type, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetSendTrackingParam(string p, int i)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetRecvTrackingParam(string p, int i)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void HandleAnimMsg(AnimationMessage msg, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void HandleAnimParamsMsg(AnimationParametersMessage msg, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void HandleAnimTriggerMsg(int hash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void WriteParameters(NetworkWriter writer, bool autoSend)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ReadParameters(NetworkReader reader, bool autoSend)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool OnSerialize(NetworkWriter writer, bool forceAll)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnDeserialize(NetworkReader reader, bool initialState)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetTrigger(string triggerName)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetTrigger(int hash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void OnAnimationServerMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void OnAnimationParametersServerMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void OnAnimationTriggerServerMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void OnAnimationClientMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void OnAnimationParametersClientMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void OnAnimationTriggerClientMessage(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static NetworkAnimator()
		{
			throw null;
		}
	}
	[RequireComponent(typeof(NetworkIdentity))]
	[AddComponentMenu("")]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NetworkBehaviour : MonoBehaviour
	{
		public delegate void CmdDelegate(NetworkBehaviour obj, NetworkReader reader);

		[OriginalAttributes(TypeAttributes.NestedFamily)]
		public delegate void EventDelegate(List<Delegate> targets, NetworkReader reader);

		[OriginalAttributes(TypeAttributes.NestedFamily)]
		public enum UNetInvokeType
		{
			Command,
			ClientRpc,
			SyncEvent,
			SyncList
		}

		[OriginalAttributes(TypeAttributes.NestedFamily)]
		public class Invoker
		{
			public UNetInvokeType invokeType;

			public Type invokeClass;

			public CmdDelegate invokeFunction;

			[MethodImpl(MethodImplOptions.NoInlining)]
			public Invoker()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public string DebugString()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public uint m_SyncVarDirtyBits;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_LastSendTime;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_SyncVarGuard;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float k_DefaultSendInterval = 0.1f;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkIdentity m_MyView;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Dictionary<int, Invoker> s_CmdHandlerDelegates;

		public bool localPlayerAuthority
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool isServer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool isClient
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool isLocalPlayer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool hasAuthority
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public NetworkInstanceId netId
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public NetworkConnection connectionToServer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public NetworkConnection connectionToClient
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public short playerControllerId
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public uint syncVarDirtyBits
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Family)]
			get
			{
				throw null;
			}
		}

		public bool syncVarHookGuard
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Family)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Family)]
			set
			{
				throw null;
			}
		}

		public NetworkIdentity netIdentity
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public NetworkIdentity myView
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Private)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkBehaviour()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void SendCommandInternal(NetworkWriter writer, int channelId, string cmdName)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		public virtual bool InvokeCommand(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void SendRPCInternal(NetworkWriter writer, int channelId, string rpcName)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void SendTargetRPCInternal(NetworkConnection conn, NetworkWriter writer, int channelId, string rpcName)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		public virtual bool InvokeRPC(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void SendEventInternal(NetworkWriter writer, int channelId, string eventName)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		public virtual bool InvokeSyncEvent(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		public virtual bool InvokeSyncList(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static void RegisterCommandDelegate(Type invokeClass, int cmdHash, CmdDelegate func)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static void RegisterRpcDelegate(Type invokeClass, int cmdHash, CmdDelegate func)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static void RegisterEventDelegate(Type invokeClass, int cmdHash, CmdDelegate func)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static void RegisterSyncListDelegate(Type invokeClass, int cmdHash, CmdDelegate func)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetInvoker(int cmdHash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool GetInvokerForHashCommand(int cmdHash, out Type invokeClass, out CmdDelegate invokeFunction)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool GetInvokerForHashClientRpc(int cmdHash, out Type invokeClass, out CmdDelegate invokeFunction)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool GetInvokerForHashSyncList(int cmdHash, out Type invokeClass, out CmdDelegate invokeFunction)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool GetInvokerForHashSyncEvent(int cmdHash, out Type invokeClass, out CmdDelegate invokeFunction)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool GetInvokerForHash(int cmdHash, UNetInvokeType invokeType, out Type invokeClass, out CmdDelegate invokeFunction)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void DumpInvokers()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool ContainsCommandDelegate(int cmdHash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool InvokeCommandDelegate(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool InvokeRpcDelegate(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool InvokeSyncEventDelegate(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool InvokeSyncListDelegate(int cmdHash, NetworkReader reader)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetCmdHashHandlerName(int cmdHash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static string GetCmdHashPrefixName(int cmdHash, string prefix)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetCmdHashCmdName(int cmdHash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetCmdHashRpcName(int cmdHash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetCmdHashEventName(int cmdHash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static string GetCmdHashListName(int cmdHash)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void SetSyncVarGameObject(GameObject newGameObject, ref GameObject gameObjectField, uint dirtyBit, ref NetworkInstanceId netIdField)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void SetSyncVar<T>(T value, ref T fieldValue, uint dirtyBit)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetDirtyBit(uint dirtyBit)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ClearAllDirtyBits()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public int GetDirtyChannel()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool OnSerialize(NetworkWriter writer, bool initialState)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnDeserialize(NetworkReader reader, bool initialState)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		public virtual void PreStartClient()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnNetworkDestroy()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnStartServer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnStartClient()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnStartLocalPlayer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnStartAuthority()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnStopAuthority()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool OnRebuildObservers(HashSet<NetworkConnection> observers, bool initialize)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnSetLocalVisibility(bool vis)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool OnCheckObserver(NetworkConnection conn)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual int GetNetworkChannel()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual float GetNetworkSendInterval()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static NetworkBehaviour()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class NetBuffer
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public byte[] m_Buffer;

		[OriginalAttributes(FieldAttributes.Private)]
		public uint m_Pos;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_InitialSize = 64;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float k_GrowthFactor = 1.5f;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_BufferSizeWarning = 134217728;

		public uint Position
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int Length
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetBuffer()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetBuffer(byte[] buffer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public byte ReadByte()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ReadBytes(byte[] buffer, uint count)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public ArraySegment<byte> AsArraySegment()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void WriteByte(byte value)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void WriteByte2(byte value0, byte value1)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void WriteByte4(byte value0, byte value1, byte value2, byte value3)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void WriteByte8(byte value0, byte value1, byte value2, byte value3, byte value4, byte value5, byte value6, byte value7)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void WriteBytesAtOffset(byte[] buffer, ushort targetOffset, ushort count)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void WriteBytes(byte[] buffer, ushort count)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void WriteCheckForSpace(ushort count)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void FinishMessage()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SeekZero()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Replace(byte[] buffer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}
	}
	[StructLayout(LayoutKind.Explicit)]
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct UIntFloat
	{
		[FieldOffset(0)]
		public float floatValue;

		[FieldOffset(0)]
		public uint intValue;

		[FieldOffset(0)]
		public double doubleValue;

		[FieldOffset(0)]
		public ulong longValue;
	}
	[StructLayout(LayoutKind.Explicit)]
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct UIntDecimal
	{
		[FieldOffset(0)]
		public ulong longValue1;

		[FieldOffset(8)]
		public ulong longValue2;

		[FieldOffset(0)]
		public decimal decimalValue;
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class FloatConversion
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public FloatConversion()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static float ToSingle(uint value)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static double ToDouble(ulong value)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static decimal ToDecimal(ulong value1, ulong value2)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NetworkClient
	{
		[OriginalAttributes(TypeAttributes.NestedFamily)]
		public enum ConnectState
		{
			None,
			Resolving,
			Resolved,
			Connecting,
			Connected,
			Disconnected,
			Failed
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public Type m_NetworkConnectionClass;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_MaxEventsPerFrame = 500;

		[OriginalAttributes(FieldAttributes.Private)]
		public static List<NetworkClient> s_Clients;

		[OriginalAttributes(FieldAttributes.Private)]
		public static bool s_IsActive;

		[OriginalAttributes(FieldAttributes.Private)]
		public HostTopology m_HostTopology;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_HostPort;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_UseSimulator;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_SimulatedLatency;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_PacketLoss;

		[OriginalAttributes(FieldAttributes.Private)]
		public string m_ServerIp;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_ServerPort;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_ClientId;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_ClientConnectionId;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_StatResetTime;

		[OriginalAttributes(FieldAttributes.Private)]
		public EndPoint m_RemoteEndPoint;

		[OriginalAttributes(FieldAttributes.Private)]
		public static CRCMessage s_CRCMessage;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkMessageHandlers m_MessageHandlers;

		[OriginalAttributes(FieldAttributes.Family)]
		public NetworkConnection m_Connection;

		[OriginalAttributes(FieldAttributes.Private)]
		public byte[] m_MsgBuffer;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkReader m_MsgReader;

		[OriginalAttributes(FieldAttributes.Family)]
		public ConnectState m_AsyncConnect;

		[OriginalAttributes(FieldAttributes.Private)]
		public string m_RequestedServerHost;

		public static List<NetworkClient> allClients
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static bool active
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public string serverIp
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int serverPort
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public NetworkConnection connection
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[Obsolete("Moved to NetworkMigrationManager.")]
		public PeerInfoMessage[] peers
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int hostId
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public Dictionary<short, NetworkMessageDelegate> handlers
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int numChannels
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public HostTopology hostTopology
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int hostPort
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool isConnected
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Type networkConnectionClass
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkClient()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkClient(NetworkConnection conn)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SetHandlers(NetworkConnection conn)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetNetworkConnectionClass<T>() where T : NetworkConnection
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Configure(ConnectionConfig config, int maxConnections)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Configure(HostTopology topology)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Connect(MatchInfo matchInfo)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool ReconnectToNewHost(string serverIp, int serverPort)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool ReconnectToNewHost(EndPoint secureTunnelEndPoint)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ConnectWithSimulator(string serverIp, int serverPort, int latency, float packetLoss)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool IsValidIpV6(string address)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Connect(string serverIp, int serverPort)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Connect(EndPoint secureTunnelEndPoint)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void PrepareForConnect()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void PrepareForConnect(bool usePlatformSpecificProtocols)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void GetHostAddressesCallback(IAsyncResult ar)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void ContinueConnect()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ConnectWithRelay(MatchInfo info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void Disconnect()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Send(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SendWriter(NetworkWriter writer, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SendBytes(byte[] data, int numBytes, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SendUnreliable(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SendByChannel(short msgType, MessageBase msg, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetMaxDelay(float seconds)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Shutdown()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public virtual void Update()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void GenerateConnectError(int error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void GenerateDataError(int error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void GenerateDisconnectError(int error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void GenerateError(int error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GetStatsOut(out int numMsgs, out int numBufferedMsgs, out int numBytes, out int lastBufferedPerSecond)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GetStatsIn(out int numMsgs, out int numBytes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public Dictionary<short, NetworkConnection.PacketStat> GetConnectionStats()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ResetConnectionStats()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int GetRTT()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void RegisterSystemHandlers(bool localClient)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnCRC(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RegisterHandler(short msgType, NetworkMessageDelegate handler)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RegisterHandlerSafe(short msgType, NetworkMessageDelegate handler)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void UnregisterHandler(short msgType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static Dictionary<short, NetworkConnection.PacketStat> GetTotalConnectionStats()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void AddClient(NetworkClient client)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool RemoveClient(NetworkClient client)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void UpdateClients()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void ShutdownAll()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void SetActive(bool state)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static NetworkClient()
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NetworkConnection : IDisposable
	{
		public class PacketStat
		{
			public short msgType;

			public int count;

			public int bytes;

			[MethodImpl(MethodImplOptions.NoInlining)]
			public PacketStat()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public PacketStat(PacketStat s)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public override string ToString()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public ChannelBuffer[] m_Channels;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<PlayerController> m_PlayerControllers;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkMessage m_NetMsg;

		[OriginalAttributes(FieldAttributes.Private)]
		public HashSet<NetworkIdentity> m_VisList;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkWriter m_Writer;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<short, NetworkMessageDelegate> m_MessageHandlersDict;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkMessageHandlers m_MessageHandlers;

		[OriginalAttributes(FieldAttributes.Private)]
		public HashSet<NetworkInstanceId> m_ClientOwnedObjects;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkMessage m_MessageInfo;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_MaxMessageLogSize = 150;

		[OriginalAttributes(FieldAttributes.Private)]
		public NetworkError error;

		public int hostId;

		public int connectionId;

		public bool isReady;

		public string address;

		public float lastMessageTime;

		public bool logNetworkMessages;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<short, PacketStat> m_PacketStats;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Disposed;

		public HashSet<NetworkIdentity> visList
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public List<PlayerController> playerControllers
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public HashSet<NetworkInstanceId> clientOwnedObjects
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool isConnected
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public NetworkError lastError
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public Dictionary<short, PacketStat> packetStats
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkConnection()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void Initialize(string networkAddress, int networkHostId, int networkConnectionId, HostTopology hostTopology)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		~NetworkConnection()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Dispose()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void Dispose(bool disposing)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool IsSequencedQoS(QosType qos)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool IsReliableQoS(QosType qos)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SetChannelOption(int channelId, ChannelOption option, int value)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Disconnect()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SetHandlers(NetworkMessageHandlers handlers)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool CheckHandler(short msgType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool InvokeHandlerNoData(short msgType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool InvokeHandler(short msgType, NetworkReader reader, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool InvokeHandler(NetworkMessage netMsg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void HandleFragment(NetworkReader reader, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RegisterHandler(short msgType, NetworkMessageDelegate handler)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void UnregisterHandler(short msgType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SetPlayerController(PlayerController player)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void RemovePlayerController(short playerControllerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool GetPlayerController(short playerControllerId, out PlayerController playerController)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void FlushChannels()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetMaxDelay(float seconds)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool Send(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool SendUnreliable(short msgType, MessageBase msg)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool SendByChannel(short msgType, MessageBase msg, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool SendBytes(byte[] bytes, int numBytes, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool SendWriter(NetworkWriter writer, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void LogSend(byte[] bytes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool CheckChannel(int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ResetStats()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void HandleBytes(byte[] buffer, int receivedSize, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void HandleReader(NetworkReader reader, int receivedSize, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void GetStatsOut(out int numMsgs, out int numBufferedMsgs, out int numBytes, out int lastBufferedPerSecond)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void GetStatsIn(out int numMsgs, out int numBytes)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void AddToVisList(NetworkIdentity uv)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void RemoveFromVisList(NetworkIdentity uv, bool isDestroyed)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void RemoveObservers()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void TransportReceive(byte[] bytes, int numBytes, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[Obsolete("TransportRecieve has been deprecated. Use TransportReceive instead.", false)]
		public virtual void TransportRecieve(byte[] bytes, int numBytes, int channelId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool TransportSend(byte[] bytes, int numBytes, int channelId, out byte error)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void AddOwnedObject(NetworkIdentity obj)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void RemoveOwnedObject(NetworkIdentity obj)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void OnFragment(NetworkMessage netMsg)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NetworkCRC
	{
		[OriginalAttributes(FieldAttributes.Assembly)]
		public static NetworkCRC s_Singleton;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<string, int> m_Scripts;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ScriptCRCCheck;

		public static NetworkCRC singleton
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public Dictionary<string, int> scripts
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static bool scriptCRCCheck
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public NetworkCRC()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void ReinitializeScriptCRCs(Assembly callingAssembly)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RegisterBehaviour(string name, int channel)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool Validate(CRCMessageEntry[] scripts, int numChannels)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool ValidateInternal(CRCMessageEntry[] remoteScripts, int numChannels)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Dump(CRCMessageEntry[] remoteScripts)
		{
			throw null;
		}
	}
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public struct NetworkBroadcastResult
	{
		public string serverAddress;

		public byte[] broadcastData;
	}
	[DisallowMultipleComponent]
	[AddComponentMenu("Network/NetworkDiscovery")]
	[Obsolete("The high level API classes are deprecated and will be removed in the future.")]
	public class NetworkDiscovery : MonoBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_MaxBroadcastMsgSize = 1024;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_BroadcastPort;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_BroadcastKey;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_BroadcastVersion;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_BroadcastSubVersion;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_BroadcastInterval;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_UseNetworkManager;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_BroadcastData;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ShowGUI;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_OffsetX;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_OffsetY;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_HostId;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Running;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IsServer;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IsClient;

		[OriginalAttributes(FieldAttributes.Private)]
		public byte[] m_MsgOutBuffer;

		[OriginalAttributes(FieldAttributes.Private)]
		public byte[] m_MsgInBuffer;

		[OriginalAttributes(FieldAttributes.Private)]
		public HostTopology m_DefaultTopology;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<string, NetworkBroadcastResult> m_BroadcastsReceived;

		public int broadcastPort
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int broadcastKey
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int broadcastVersion
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int broadcastSubVersion
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int broadcastInterval
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool useNetworkManager
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string broadcastData
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool showGUI
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int offsetX
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int offsetY
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int hostId
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool running
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool isServer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

	

UnityEngine.SpatialTracking.dll

Decompiled 11 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
using BepInEx.AssemblyPublicizer;
using UnityEngine;
using UnityEngine.Experimental.XR.Interaction;
using UnityEngine.SpatialTracking;
using UnityEngine.XR;

[assembly: InternalsVisibleTo("UnityEditor.SpatialTracking")]
[assembly: UnityAPICompatibilityVersion("2018.4.12f1")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
namespace UnityEngine.Experimental.XR.Interaction
{
	[Serializable]
	public abstract class BaseArmModel : BasePoseProvider
	{
		[SerializeField]
		[Tooltip("The head pose that will be used by the arm model")]
		[OriginalAttributes(FieldAttributes.Private)]
		public TrackedPoseDriver.TrackedPose m_HeadPoseSource;

		[SerializeField]
		[Tooltip("The arm source pose that will be used by the arm model")]
		[OriginalAttributes(FieldAttributes.Private)]
		public TrackedPoseDriver.TrackedPose m_PoseSource;

		public TrackedPoseDriver.TrackedPose headPoseSource
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public TrackedPoseDriver.TrackedPose poseSource
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public BaseArmModel()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public bool TryGetTrackingDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose)
		{
			throw null;
		}
	}
	[Serializable]
	public abstract class BasePoseProvider : MonoBehaviour
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public BasePoseProvider()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public abstract bool TryGetPoseFromProvider(out Pose output);
	}
}
namespace UnityEngine.SpatialTracking
{
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class TrackedPoseDriverDataDescription
	{
		public struct PoseData
		{
			public List<string> PoseNames;

			public List<TrackedPoseDriver.TrackedPose> Poses;
		}

		public static List<PoseData> DeviceData;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackedPoseDriverDataDescription()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TrackedPoseDriverDataDescription()
		{
			throw null;
		}
	}
	[Flags]
	public enum PoseDataFlags
	{
		NoData = 0,
		Position = 1,
		Rotation = 2
	}
	public static class PoseDataSource
	{
		[OriginalAttributes(FieldAttributes.Assembly)]
		public static List<XRNodeState> nodeStates;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static PoseDataFlags GetNodePoseData(XRNode node, out Pose resultPose)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryGetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static PoseDataFlags GetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static PoseDataFlags TryGetTangoPose(out Pose pose)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static PoseDataSource()
		{
			throw null;
		}
	}
	[Serializable]
	[DefaultExecutionOrder(-30000)]
	[AddComponentMenu("XR/Tracked Pose Driver")]
	public class TrackedPoseDriver : MonoBehaviour
	{
		public enum DeviceType
		{
			GenericXRDevice,
			GenericXRController,
			GenericXRRemote
		}

		public enum TrackedPose
		{
			LeftEye,
			RightEye,
			Center,
			Head,
			LeftPose,
			RightPose,
			ColorCamera,
			DepthCameraDeprecated,
			FisheyeCameraDeprecated,
			DeviceDeprecated,
			RemotePose
		}

		public enum TrackingType
		{
			RotationAndPosition,
			RotationOnly,
			PositionOnly
		}

		public enum UpdateType
		{
			UpdateAndBeforeRender,
			Update,
			BeforeRender
		}

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public DeviceType m_Device;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TrackedPose m_PoseSource;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public BasePoseProvider m_PoseProviderComponent;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TrackingType m_TrackingType;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public UpdateType m_UpdateType;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_UseRelativeTransform;

		[OriginalAttributes(FieldAttributes.Family)]
		public Pose m_OriginPose;

		public DeviceType deviceType
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public TrackedPose poseSource
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public BasePoseProvider poseProviderComponent
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TrackingType trackingType
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public UpdateType updateType
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool UseRelativeTransform
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Pose originPose
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackedPoseDriver()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool SetPoseSource(DeviceType deviceType, TrackedPose pose)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public PoseDataFlags GetPoseData(DeviceType device, TrackedPose poseSource, out Pose resultPose)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CacheLocalPosition()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ResetToCachedLocalPosition()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnDestroy()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void FixedUpdate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void Update()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnBeforeRender()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void SetLocalTransform(Vector3 newPosition, Quaternion newRotation, PoseDataFlags poseFlags)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public Pose TransformPoseByOriginIfNeeded(Pose pose)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool HasStereoCamera()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void PerformUpdate()
		{
			throw null;
		}
	}
}
namespace BepInEx.AssemblyPublicizer
{
	internal sealed class OriginalAttributesAttribute : Attribute
	{
		public OriginalAttributesAttribute(TypeAttributes P_0)
		{
		}

		public OriginalAttributesAttribute(MethodAttributes P_0)
		{
		}

		public OriginalAttributesAttribute(FieldAttributes P_0)
		{
		}
	}
}

UnityEngine.Timeline.dll

Decompiled 11 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using BepInEx.AssemblyPublicizer;
using UnityEngine;
using UnityEngine.Animations;
using UnityEngine.Playables;
using UnityEngine.Serialization;

[assembly: AssemblyTitle("UnityEngine.Timeline")]
[assembly: AssemblyDescription("Unity Timeline")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Unity Technologies")]
[assembly: AssemblyProduct("UnityEngine.Timeline")]
[assembly: AssemblyCopyright("Copyright \ufffd 2016")]
[assembly: AssemblyTrademark("")]
[assembly: InternalsVisibleTo("UnityEditor.Timeline")]
[assembly: ComVisible(false)]
[assembly: Guid("6A10B290-9283-487F-913B-00D94CD3FAF5")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: InternalsVisibleTo("Assembly-CSharp-testable")]
[assembly: InternalsVisibleTo("Assembly-CSharp-Editor-testable")]
[assembly: InternalsVisibleTo("Unity.Timeline.EditorTests")]
[assembly: InternalsVisibleTo("Unity.Timeline.Tests")]
[assembly: InternalsVisibleTo("Unity.Timeline.Tests.Common")]
[assembly: InternalsVisibleTo("Unity.Timeline.Tests.Performance")]
[assembly: InternalsVisibleTo("Unity.Timeline.Tests.Performance.Editor")]
[assembly: UnityAPICompatibilityVersion("2018.4.12f1")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace UnityEngine.Timeline
{
	[Flags]
	public enum ClipCaps
	{
		None = 0,
		Looping = 1,
		Extrapolation = 2,
		ClipIn = 4,
		SpeedMultiplier = 8,
		Blending = 0x10,
		All = -1
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public static class TimelineClipCapsExtensions
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool SupportsLooping(this TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool SupportsExtrapolation(this TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool SupportsClipIn(this TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool SupportsSpeedMultiplier(this TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool SupportsBlending(this TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool HasAll(this ClipCaps caps, ClipCaps flags)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool HasAny(this ClipCaps caps, ClipCaps flags)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct DiscreteTime : IComparable
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public const double k_Tick = 1E-12;

		public static readonly DiscreteTime kMaxTime;

		[OriginalAttributes(FieldAttributes.Private)]
		public readonly long m_DiscreteTime;

		public static double tickValue
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DiscreteTime(DiscreteTime time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public DiscreteTime(long time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DiscreteTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DiscreteTime(float time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DiscreteTime(int time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DiscreteTime(int frame, double fps)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DiscreteTime OneTickBefore()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DiscreteTime OneTickAfter()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public long GetTick()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public int CompareTo(object obj)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Equals(DiscreteTime other)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool Equals(object obj)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static long DoubleToDiscreteTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static long FloatToDiscreteTime(float time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static long IntToDiscreteTime(int time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static double ToDouble(long time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static float ToFloat(long time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static explicit operator double(DiscreteTime b)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static explicit operator float(DiscreteTime b)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static explicit operator long(DiscreteTime b)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static explicit operator DiscreteTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static explicit operator DiscreteTime(float time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static implicit operator DiscreteTime(int time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static explicit operator DiscreteTime(long time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator ==(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator !=(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator >(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator <(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator <=(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator >=(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static DiscreteTime operator +(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static DiscreteTime operator -(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override int GetHashCode()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static DiscreteTime Min(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static DiscreteTime Max(DiscreteTime lhs, DiscreteTime rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static double SnapToNearestTick(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static float SnapToNearestTick(float time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static long GetNearestTick(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static DiscreteTime()
		{
			throw null;
		}
	}
	[Serializable]
	[TrackClipType(typeof(TrackAsset))]
	[SupportsChildTracks(null, int.MaxValue)]
	public class GroupTrack : TrackAsset
	{
		public override bool compilable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public override IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public GroupTrack()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public interface IDirectorDriver
	{
		IList<PlayableDirector> GetDrivenDirectors(IExposedPropertyTable resolver);
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class Placeholder
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public Placeholder()
		{
			throw null;
		}
	}
	[Serializable]
	public class TimelineAsset : PlayableAsset, ISerializationCallbackReceiver, ITimelineClipAsset, IPropertyPreview
	{
		[Obsolete("MediaType has been deprecated. It is no longer required, and will be removed in a future release.", false)]
		public enum MediaType
		{
			Animation = 0,
			Audio = 1,
			Texture = 2,
			[Obsolete("Use Texture MediaType instead. (UnityUpgradable) -> UnityEngine.Timeline.TimelineAsset/MediaType.Texture", false)]
			Video = 2,
			Script = 3,
			Hybrid = 4,
			Group = 5
		}

		public enum DurationMode
		{
			BasedOnClips,
			FixedLength
		}

		[Serializable]
		public class EditorSettings
		{
			[OriginalAttributes(FieldAttributes.Assembly)]
			public static readonly float kMinFps;

			[OriginalAttributes(FieldAttributes.Assembly)]
			public static readonly float kMaxFps;

			[OriginalAttributes(FieldAttributes.Assembly)]
			public static readonly float kDefaultFps;

			[HideInInspector]
			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public float m_Framerate;

			public float fps
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public EditorSettings()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Private)]
			static EditorSettings()
			{
				throw null;
			}
		}

		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public enum Versions
		{
			Initial
		}

		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public static class TimelineAssetUpgrade
		{
		}

		[HideInInspector]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_NextId;

		[HideInInspector]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<ScriptableObject> m_Tracks;

		[HideInInspector]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_FixedDuration;

		[NonSerialized]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public TrackAsset[] m_CacheOutputTracks;

		[NonSerialized]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<TrackAsset> m_CacheRootTracks;

		[NonSerialized]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<TrackAsset> m_CacheFlattenedTracks;

		[HideInInspector]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public EditorSettings m_EditorSettings;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public DurationMode m_DurationMode;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_LatestVersion = 0;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_Version;

		public EditorSettings editorSettings
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double fixedDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public DurationMode durationMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public override IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public ClipCaps clipCaps
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int outputTrackCount
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int rootTrackCount
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public IEnumerable<TrackAsset> flattenedTracks
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public List<ScriptableObject> trackObjects
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimelineAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnValidate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static float GetValidFramerate(float framerate)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackAsset GetRootTrack(int index)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public IEnumerable<TrackAsset> GetRootTracks()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackAsset GetOutputTrack(int index)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public IEnumerable<TrackAsset> GetOutputTracks()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateRootTrackCache()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateOutputTrackCache()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void AddTrackInternal(TrackAsset track)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void RemoveTrack(TrackAsset track)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public int GenerateNewId()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnBeforeSerialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnAfterDeserialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void __internalAwake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GatherProperties(PlayableDirector director, IPropertyCollector driver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void Invalidate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public double CalculateDuration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void AddSubTracksRecursive(TrackAsset track, ref List<TrackAsset> allTracks)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackAsset CreateTrack(Type type, TrackAsset parent, string name)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public T CreateTrack<T>(TrackAsset parent, string name) where T : TrackAsset, new()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool DeleteClip(TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool DeleteTrack(TrackAsset track)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TrackAsset AllocateTrack(TrackAsset trackAssetParent, string trackName, Type trackType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void DeleteRecordingClip(TrackAsset track)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void DeleteRecordedAnimation(TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpgradeToLatestVersion()
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Class)]
	[Obsolete("TrackMediaType has been deprecated. It is no longer required, and will be removed in a future release.", false)]
	public class TrackMediaType : Attribute
	{
		public readonly TimelineAsset.MediaType m_MediaType;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackMediaType(TimelineAsset.MediaType mt)
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
	public class TrackClipTypeAttribute : Attribute
	{
		public readonly Type inspectedType;

		public readonly bool allowAutoCreate;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackClipTypeAttribute(Type clipClass)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackClipTypeAttribute(Type clipClass, bool allowAutoCreate)
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Field)]
	public class NotKeyableAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public NotKeyableAttribute()
		{
			throw null;
		}
	}
	[Flags]
	public enum TrackBindingFlags
	{
		None = 0,
		AllowCreateComponent = 1,
		All = 1
	}
	[AttributeUsage(AttributeTargets.Class)]
	public class TrackBindingTypeAttribute : Attribute
	{
		public readonly Type type;

		public readonly TrackBindingFlags flags;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackBindingTypeAttribute(Type type)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackBindingTypeAttribute(Type type, TrackBindingFlags flags)
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Class, Inherited = false)]
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class SupportsChildTracksAttribute : Attribute
	{
		public readonly Type childType;

		public readonly int levels;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public SupportsChildTracksAttribute(Type childType = null, int levels = int.MaxValue)
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class IgnoreOnPlayableTrackAttribute : Attribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public IgnoreOnPlayableTrackAttribute()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class TimeFieldAttribute : PropertyAttribute
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimeFieldAttribute()
		{
			throw null;
		}
	}
	public interface ITimelineClipAsset
	{
		ClipCaps clipCaps { get; }
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public interface IClipInitializer
	{
		void OnCreate(TimelineClip owningClip, TrackAsset owningTrack, IExposedPropertyTable resolver);
	}
	[Serializable]
	public class TimelineClip : ISerializationCallbackReceiver
	{
		public enum ClipExtrapolation
		{
			None,
			Hold,
			Loop,
			PingPong,
			Continue
		}

		public enum BlendCurveMode
		{
			Auto,
			Manual
		}

		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public enum Versions
		{
			Initial,
			ClipInFromGlobalToLocal
		}

		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public static class TimelineClipUpgrade
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public static void UpgradeClipInFromGlobalToLocal(TimelineClip clip)
			{
				throw null;
			}
		}

		public static readonly ClipCaps kDefaultClipCaps;

		public static readonly float kDefaultClipDurationInSeconds;

		public static readonly double kTimeScaleMin;

		public static readonly double kTimeScaleMax;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public static readonly double kMinDuration;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public static readonly double kMaxTimeValue;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_Start;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_ClipIn;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Object m_Asset;

		[SerializeField]
		[FormerlySerializedAs("m_HackDuration")]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_Duration;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_TimeScale;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TrackAsset m_ParentTrack;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_EaseInDuration;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_EaseOutDuration;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_BlendInDuration;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_BlendOutDuration;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationCurve m_MixInCurve;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationCurve m_MixOutCurve;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public BlendCurveMode m_BlendInCurveMode;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public BlendCurveMode m_BlendOutCurveMode;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<string> m_ExposedParameterNames;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationClip m_AnimationCurves;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Recordable;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public ClipExtrapolation m_PostExtrapolationMode;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public ClipExtrapolation m_PreExtrapolationMode;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_PostExtrapolationTime;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_PreExtrapolationTime;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_DisplayName;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_LatestVersion = 1;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_Version;

		public int dirtyHash
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public bool hasPreExtrapolation
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool hasPostExtrapolation
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double timeScale
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double start
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double end
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double clipIn
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string displayName
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double clipAssetDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public AnimationClip curves
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Object asset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[Obsolete("underlyingAsset property is obsolete. Use asset property instead", true)]
		public Object underlyingAsset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TrackAsset parentTrack
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double easeInDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double easeOutDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[Obsolete("Use easeOutTime instead (UnityUpgradable) -> easeOutTime", true)]
		public double eastOutTime
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double easeOutTime
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double blendInDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double blendOutDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public BlendCurveMode blendInCurveMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public BlendCurveMode blendOutCurveMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool hasBlendIn
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool hasBlendOut
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public AnimationCurve mixInCurve
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float mixInPercentage
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double mixInDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public AnimationCurve mixOutCurve
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public double mixOutTime
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double mixOutDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public float mixOutPercentage
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool recordable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		[Obsolete("exposedParameter is deprecated and will be removed in a future release")]
		public List<string> exposedParameters
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public ClipCaps clipCaps
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public AnimationClip animationClip
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public ClipExtrapolation postExtrapolationMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public ClipExtrapolation preExtrapolationMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public double extrapolatedStart
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double extrapolatedDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TimelineClip(TrackAsset parent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public int Hash()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public float EvaluateMixOut(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public float EvaluateMixIn(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static AnimationCurve GetDefaultMixInCurve()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static AnimationCurve GetDefaultMixOutCurve()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public double ToLocalTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public double ToLocalTimeUnbound(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public double FromLocalTimeUnbound(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static double SanitizeTimeValue(double value, double defaultValue)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SetPostExtrapolationTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SetPreExtrapolationTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsExtrapolatedTime(double sequenceTime)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsPreExtrapolatedTime(double sequenceTime)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsPostExtrapolatedTime(double sequenceTime)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static double GetExtrapolatedTime(double time, ClipExtrapolation mode, double duration)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void AllocateAnimatedParameterCurves()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void ClearAnimatedParameterCurves()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnBeforeSerialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnAfterDeserialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpgradeToLatestVersion()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TimelineClip()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public interface ITimelineEvaluateCallback
	{
		void Evaluate();
	}
	public class TimelinePlayable : PlayableBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public IntervalTree<RuntimeElement> m_IntervalTree;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<RuntimeElement> m_ActiveClips;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<RuntimeElement> m_CurrentListOfActiveClips;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_ActiveBit;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<ITimelineEvaluateCallback> m_EvaluateCallbacks;

		[OriginalAttributes(FieldAttributes.Private)]
		public Dictionary<TrackAsset, Playable> m_PlayableCache;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public static bool muteAudioScrubbing;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimelinePlayable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static ScriptPlayable<TimelinePlayable> Create(PlayableGraph graph, IEnumerable<TrackAsset> tracks, GameObject go, bool autoRebalance, bool createOutputs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Compile(PlayableGraph graph, Playable timelinePlayable, IEnumerable<TrackAsset> tracks, GameObject go, bool autoRebalance, bool createOutputs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CompileTrackList(PlayableGraph graph, Playable timelinePlayable, IEnumerable<TrackAsset> tracks, GameObject go, bool createOutputs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CreateTrackOutput(PlayableGraph graph, TrackAsset track, Playable playable, int port)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void EvaluateWeightsForAnimationPlayableOutput(TrackAsset track, AnimationPlayableOutput animOutput)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static Playable CreatePlayableGraph(PlayableGraph graph, TrackAsset asset, GameObject go, IntervalTree<RuntimeElement> tree)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public Playable CreateTrackPlayable(PlayableGraph graph, Playable timelinePlayable, TrackAsset track, GameObject go, bool createOutputs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void PrepareFrame(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Evaluate(Playable playable, FrameData frameData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CacheTrack(TrackAsset track, Playable playable, int port, Playable parent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void ForAOTCompilationOnly()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TimelinePlayable()
		{
			throw null;
		}
	}
	[Serializable]
	[IgnoreOnPlayableTrack]
	public abstract class TrackAsset : PlayableAsset, IPropertyPreview, ISerializationCallbackReceiver
	{
		[OriginalAttributes(TypeAttributes.VisibilityMask)]
		public enum Versions
		{
			Initial,
			RotationAsEuler,
			RootMotionUpgrade
		}

		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public static class TrackAssetUpgrade
		{
		}

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Locked;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Muted;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_CustomPlayableFullTypename;

		[SerializeField]
		[FormerlySerializedAs("m_animClip")]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationClip m_AnimClip;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public PlayableAsset m_Parent;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<ScriptableObject> m_Children;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_ItemsHash;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public TimelineClip[] m_ClipsCache;

		[OriginalAttributes(FieldAttributes.Private)]
		public DiscreteTime m_Start;

		[OriginalAttributes(FieldAttributes.Private)]
		public DiscreteTime m_End;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_CacheSorted;

		[OriginalAttributes(FieldAttributes.Private)]
		public static TrackAsset[] s_EmptyCache;

		[OriginalAttributes(FieldAttributes.Private)]
		public IEnumerable<TrackAsset> m_ChildTrackCache;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Dictionary<Type, TrackBindingTypeAttribute> s_TrackBindingTypeAttributeCache;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.FamORAssem)]
		public List<TimelineClip> m_Clips;

		[OriginalAttributes(FieldAttributes.FamORAssem)]
		public const int k_LatestVersion = 2;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_Version;

		public double start
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public double end
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public sealed override double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool muted
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TimelineAsset timelineAsset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public PlayableAsset parent
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public TimelineClip[] clips
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public virtual bool isEmpty
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool hasClips
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public bool isSubTrack
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public string customPlayableTypename
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public AnimationClip animClip
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public List<ScriptableObject> subTracksObjects
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public bool locked
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool lockedInHierarchy
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool parentLocked
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public virtual bool compilable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public static event Action<TimelineClip, GameObject, Playable> OnPlayableCreate
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			add
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			remove
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public TrackAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public IEnumerable<TimelineClip> GetClips()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public IEnumerable<TrackAsset> GetChildTracks()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void __internalAwake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public sealed override Playable CreatePlayable(PlayableGraph graph, GameObject go)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimelineClip CreateDefaultClip()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimelineClip CreateClip<T>() where T : ScriptableObject, IPlayableAsset
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TimelineClip CreateClip(Type requestedType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TimelineClip CreateAndAddNewClipOfType(Type requestedType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TimelineClip CreateClipOfType(Type requestedType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TimelineClip CreateClipFromPlayableAsset(IPlayableAsset asset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public TimelineClip CreateClipFromAsset(ScriptableObject playableAsset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void AddClip(TimelineClip newClip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public Playable CreatePlayableGraph(PlayableGraph graph, GameObject go, IntervalTree<RuntimeElement> tree)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public virtual Playable OnCreatePlayableGraph(PlayableGraph graph, GameObject go, IntervalTree<RuntimeElement> tree)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void SortClips()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void ClearClipsInternal()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void ClearSubTracksInternal()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void OnClipMove()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public TimelineClip CreateNewClipContainerInternal()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void AddChild(TrackAsset child)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool AddChildAfter(TrackAsset child, TrackAsset other)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool RemoveSubTrack(TrackAsset child)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void RemoveClip(TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public virtual void GetEvaluationTime(out double outStart, out double outDuration)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public virtual void GetSequenceTime(out double outStart, out double outDuration)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void GatherProperties(PlayableDirector director, IPropertyCollector driver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public GameObject GetGameObjectBinding(PlayableDirector director)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool ValidateClipType(Type clipType)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnCreateClip(TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.FamORAssem)]
		public virtual void UpdateDuration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual Playable CreatePlayable(PlayableGraph graph, GameObject gameObject, TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void Invalidate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateChildTrackCache()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.FamORAssem)]
		public virtual int Hash()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public int GetClipsHash()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnBeforeTrackSerialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnAfterTrackDeserialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.FamORAssem)]
		public virtual void OnUpgradeFromVersion(int oldVersion)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnBeforeSerialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnAfterDeserialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpgradeToLatestVersion()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static TrackAsset()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ActivationMixerPlayable : PlayableBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public ActivationTrack.PostPlaybackState m_PostPlaybackState;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_BoundGameObjectInitialStateIsActive;

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_BoundGameObject;

		public ActivationTrack.PostPlaybackState postPlaybackState
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ActivationMixerPlayable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static ScriptPlayable<ActivationMixerPlayable> Create(PlayableGraph graph, int inputCount)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnPlayableDestroy(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ProcessFrame(Playable playable, FrameData info, object playerData)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ActivationPlayableAsset : PlayableAsset, ITimelineClipAsset
	{
		public ClipCaps clipCaps
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ActivationPlayableAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
		{
			throw null;
		}
	}
	[Serializable]
	[TrackClipType(typeof(ActivationPlayableAsset))]
	[TrackBindingType(typeof(GameObject))]
	public class ActivationTrack : TrackAsset
	{
		public enum PostPlaybackState
		{
			Active,
			Inactive,
			Revert,
			LeaveAsIs
		}

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public PostPlaybackState m_PostPlaybackState;

		[OriginalAttributes(FieldAttributes.Private)]
		public ActivationMixerPlayable m_ActivationMixer;

		public override bool compilable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public PostPlaybackState postPlaybackState
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ActivationTrack()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void UpdateTrackMode()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void GatherProperties(PlayableDirector director, IPropertyCollector driver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnCreateClip(TimelineClip clip)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class AnimationOutputWeightProcessor : ITimelineEvaluateCallback
	{
		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public struct WeightInfo
		{
			public Playable mixer;

			public Playable parentMixer;

			public int port;

			public bool modulate;
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationPlayableOutput m_Output;

		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationMotionXToDeltaPlayable m_MotionXPlayable;

		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationMixerPlayable m_PoseMixer;

		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationLayerMixerPlayable m_LayerMixer;

		[OriginalAttributes(FieldAttributes.Private)]
		public readonly List<WeightInfo> m_Mixers;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AnimationOutputWeightProcessor(AnimationPlayableOutput output)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void FindMixers()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void FindMixers(Playable parent, int port, Playable node)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Evaluate()
		{
			throw null;
		}
	}
	[Serializable]
	[NotKeyable]
	public class AnimationPlayableAsset : PlayableAsset, ITimelineClipAsset, IPropertyPreview, IClipInitializer, ISerializationCallbackReceiver
	{
		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public enum Versions
		{
			Initial,
			RotationAsEuler
		}

		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public static class AnimationPlayableAssetUpgrade
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public static void ConvertRotationToEuler(AnimationPlayableAsset asset)
			{
				throw null;
			}
		}

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public AnimationClip m_Clip;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3 m_Position;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3 m_EulerAngles;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_UseTrackMatchFields;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public MatchTargetFields m_MatchTargetFields;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_RemoveStartOffset;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ApplyFootIK;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly int k_LatestVersion;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_Version;

		[SerializeField]
		[Obsolete("Use m_RotationEuler Instead", false)]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public Quaternion m_Rotation;

		public Vector3 position
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Quaternion rotation
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Vector3 eulerAngles
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool useTrackMatchFields
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public MatchTargetFields matchTargetFields
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool removeStartOffset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool applyFootIK
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool hasRootTransforms
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public AppliedOffsetMode appliedOffsetMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public AnimationClip clip
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public override double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public ClipCaps clipCaps
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AnimationPlayableAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static Playable CreatePlayable(PlayableGraph graph, AnimationClip clip, Vector3 positionOffset, Vector3 eulerOffset, bool removeStartOffset, AppliedOffsetMode mode, bool applyFootIK)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool ShouldApplyOffset(AppliedOffsetMode mode, AnimationClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool ShouldApplyScaleRemove(AppliedOffsetMode mode)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ResetOffsets()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GatherProperties(PlayableDirector director, IPropertyCollector driver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void IClipInitializer.OnCreate(TimelineClip newClip, TrackAsset owner, IExposedPropertyTable resolver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static bool HasRootTransforms(AnimationClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnBeforeSerialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnAfterDeserialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnUpgradeFromVersion(int oldVersion)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static AnimationPlayableAsset()
		{
			throw null;
		}
	}
	[Flags]
	public enum MatchTargetFields
	{
		PositionX = 1,
		PositionY = 2,
		PositionZ = 4,
		RotationX = 8,
		RotationY = 0x10,
		RotationZ = 0x20
	}
	public enum TrackOffset
	{
		ApplyTransformOffsets,
		ApplySceneOffsets,
		Auto
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public enum AppliedOffsetMode
	{
		NoRootTransform,
		TransformOffset,
		SceneOffset,
		TransformOffsetLegacy,
		SceneOffsetLegacy,
		SceneOffsetEditor,
		SceneOffsetLegacyEditor
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public static class MatchTargetFieldConstants
	{
		public static MatchTargetFields All;

		public static MatchTargetFields None;

		public static MatchTargetFields Position;

		public static MatchTargetFields Rotation;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool HasAny(this MatchTargetFields me, MatchTargetFields fields)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static MatchTargetFields Toggle(this MatchTargetFields me, MatchTargetFields flag)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static MatchTargetFieldConstants()
		{
			throw null;
		}
	}
	[Serializable]
	[TrackClipType(typeof(AnimationPlayableAsset), false)]
	[TrackBindingType(typeof(Animator))]
	[SupportsChildTracks(typeof(AnimationTrack), 1)]
	public class AnimationTrack : TrackAsset
	{
		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public static class AnimationTrackUpgrade
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public static void ConvertRotationsToEuler(AnimationTrack track)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public static void ConvertRootMotion(AnimationTrack track)
			{
				throw null;
			}
		}

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TimelineClip.ClipExtrapolation m_OpenClipPreExtrapolation;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TimelineClip.ClipExtrapolation m_OpenClipPostExtrapolation;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3 m_OpenClipOffsetPosition;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3 m_OpenClipOffsetEulerAngles;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public double m_OpenClipTimeOffset;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_OpenClipRemoveOffset;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_InfiniteClipApplyFootIK;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public MatchTargetFields m_MatchTargetFields;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3 m_Position;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector3 m_EulerAngles;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public AvatarMask m_AvatarMask;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ApplyAvatarMask;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public TrackOffset m_TrackOffset;

		[SerializeField]
		[Obsolete("Use m_OpenClipOffsetEuler Instead", false)]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public Quaternion m_OpenClipOffsetRotation;

		[SerializeField]
		[Obsolete("Use m_RotationEuler Instead", false)]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public Quaternion m_Rotation;

		[SerializeField]
		[Obsolete("Use m_RootTransformOffsetMode", false)]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ApplyOffsets;

		public Vector3 position
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Quaternion rotation
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Vector3 eulerAngles
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[Obsolete("applyOffset is deprecated. Use trackOffset instead", true)]
		public bool applyOffsets
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TrackOffset trackOffset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public MatchTargetFields matchTargetFields
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool openClipRemoveOffset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public bool compilableIsolated
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Private)]
			get
			{
				throw null;
			}
		}

		public AvatarMask avatarMask
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool applyAvatarMask
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public override bool compilable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
		}

		public override IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool inClipMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Vector3 openClipOffsetPosition
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Quaternion openClipOffsetRotation
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Vector3 openClipOffsetEulerAngles
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool infiniteClipApplyFootIK
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public double openClipTimeOffset
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public TimelineClip.ClipExtrapolation openClipPreExtrapolation
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TimelineClip.ClipExtrapolation openClipPostExtrapolation
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AnimationTrack()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[ContextMenu("Reset Offsets")]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ResetOffsets()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimelineClip CreateClip(AnimationClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnCreateClip(TimelineClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public void UpdateClipOffsets()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public Playable CompileTrackPlayable(PlayableGraph graph, TrackAsset track, GameObject go, IntervalTree<RuntimeElement> tree, AppliedOffsetMode mode)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public override Playable OnCreatePlayableGraph(PlayableGraph graph, GameObject go, IntervalTree<RuntimeElement> tree)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool RequiresMotionXPlayable(AppliedOffsetMode mode, GameObject gameObject)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool UsesAbsoluteMotion(AppliedOffsetMode mode)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool HasController(GameObject gameObject)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public Animator GetBinding(PlayableDirector director)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static AnimationLayerMixerPlayable CreateGroupMixer(PlayableGraph graph, GameObject go, int inputCount)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public Playable CreateInfiniteTrackPlayable(PlayableGraph graph, GameObject go, IntervalTree<RuntimeElement> tree, AppliedOffsetMode mode)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public Playable ApplyTrackOffset(PlayableGraph graph, Playable root, GameObject go, AppliedOffsetMode mode)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public override void GetEvaluationTime(out double outStart, out double outDuration)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public override void GetSequenceTime(out double outStart, out double outDuration)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AssignAnimationClip(TimelineClip clip, AnimationClip animClip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void GatherProperties(PlayableDirector director, IPropertyCollector driver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void GetAnimationClips(List<AnimationClip> animClips)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public AppliedOffsetMode GetOffsetMode(GameObject go, bool animatesRootTransform)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public bool AnimatesRootTransform()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.FamORAssem)]
		public override void OnUpgradeFromVersion(int oldVersion)
		{
			throw null;
		}
	}
	[AttributeUsage(AttributeTargets.Class)]
	public class TrackColorAttribute : Attribute
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_Color;

		public Color color
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TrackColorAttribute(float r, float g, float b)
		{
			throw null;
		}
	}
	[Serializable]
	public class AudioPlayableAsset : PlayableAsset, ITimelineClipAsset
	{
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public AudioClip m_Clip;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Loop;

		[SerializeField]
		[HideInInspector]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_bufferingTime;

		public float bufferingTime
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		public AudioClip clip
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool loop
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public override double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public ClipCaps clipCaps
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AudioPlayableAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
		{
			throw null;
		}
	}
	[Serializable]
	[TrackClipType(typeof(AudioPlayableAsset), false)]
	[TrackBindingType(typeof(AudioSource))]
	public class AudioTrack : TrackAsset
	{
		public override IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AudioTrack()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimelineClip CreateClip(AudioClip clip)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public override Playable OnCreatePlayableGraph(PlayableGraph graph, GameObject go, IntervalTree<RuntimeElement> tree)
		{
			throw null;
		}
	}
	[Serializable]
	[NotKeyable]
	public class ControlPlayableAsset : PlayableAsset, IPropertyPreview, ITimelineClipAsset, IClipInitializer, IDirectorDriver
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public const int k_MaxRandInt = 10000;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly List<PlayableDirector> k_EmptyDirectorsList;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly List<ParticleSystem> k_EmptyParticlesList;

		[SerializeField]
		public ExposedReference<GameObject> sourceGameObject;

		[SerializeField]
		public GameObject prefabGameObject;

		[SerializeField]
		public bool updateParticle;

		[SerializeField]
		public uint particleRandomSeed;

		[SerializeField]
		public bool updateDirector;

		[SerializeField]
		public bool updateITimeControl;

		[SerializeField]
		public bool searchHierarchy;

		[SerializeField]
		public bool active;

		[SerializeField]
		public ActivationControlPlayable.PostPlaybackState postPlayback;

		[OriginalAttributes(FieldAttributes.Private)]
		public PlayableAsset m_ControlDirectorAsset;

		[OriginalAttributes(FieldAttributes.Private)]
		public double m_Duration;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_SupportLoop;

		[OriginalAttributes(FieldAttributes.Private)]
		public static HashSet<PlayableDirector> s_ProcessedDirectors;

		[OriginalAttributes(FieldAttributes.Private)]
		public static HashSet<GameObject> s_CreatedPrefabs;

		public override double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public ClipCaps clipCaps
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ControlPlayableAsset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static Playable ConnectPlayablesToMixer(PlayableGraph graph, List<Playable> playables)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CreateActivationPlayable(GameObject root, PlayableGraph graph, List<Playable> outplayables)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SearchHiearchyAndConnectParticleSystem(IEnumerable<ParticleSystem> particleSystems, PlayableGraph graph, List<Playable> outplayables)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SearchHierarchyAndConnectDirector(IEnumerable<PlayableDirector> directors, PlayableGraph graph, List<Playable> outplayables, bool disableSelfReferences)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SearchHierarchyAndConnectControlableScripts(IEnumerable<MonoBehaviour> controlableScripts, PlayableGraph graph, List<Playable> outplayables)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void ConnectMixerAndPlayable(PlayableGraph graph, Playable mixer, Playable playable, int portIndex)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public IList<T> GetComponent<T>(GameObject gameObject)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[DebuggerHidden]
		[OriginalAttributes(MethodAttributes.Private)]
		public static IEnumerable<MonoBehaviour> GetControlableScripts(GameObject root)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateDurationAndLoopFlag(IList<PlayableDirector> directors, IList<ParticleSystem> particleSystems)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public IList<ParticleSystem> GetParticleSystemRoots(GameObject go)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void GetParticleSystemRoots(Transform t, ICollection<ParticleSystem> roots)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void GatherProperties(PlayableDirector director, IPropertyCollector driver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void IClipInitializer.OnCreate(TimelineClip newClip, TrackAsset track, IExposedPropertyTable table)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		IList<PlayableDirector> IDirectorDriver.GetDrivenDirectors(IExposedPropertyTable resolver)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static ControlPlayableAsset()
		{
			throw null;
		}
	}
	[TrackClipType(typeof(ControlPlayableAsset), false)]
	public class ControlTrack : TrackAsset
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public ControlTrack()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class InfiniteRuntimeClip : RuntimeElement
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public Playable m_Playable;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly long kIntervalEnd;

		public override long intervalStart
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override long intervalEnd
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override bool enable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public InfiniteRuntimeClip(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void EvaluateAt(double localTime, FrameData frameData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static InfiniteRuntimeClip()
		{
			throw null;
		}
	}
}
namespace UnityEngine
{
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public interface IInterval
	{
		long intervalStart { get; }

		long intervalEnd { get; }

		int intervalBit { get; set; }
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct IntervalTreeNode
	{
		public long center;

		public int first;

		public int last;

		public int left;

		public int right;
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class IntervalTree<T> where T : class, IInterval
	{
		[OriginalAttributes(TypeAttributes.NestedAssembly)]
		public struct Entry
		{
			public long intervalStart;

			public long intervalEnd;

			public T item;
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public const int kMinNodeSize = 10;

		[OriginalAttributes(FieldAttributes.Private)]
		public const int kInvalidNode = -1;

		[OriginalAttributes(FieldAttributes.Private)]
		public const long kCenterUnknown = long.MaxValue;

		[OriginalAttributes(FieldAttributes.Private)]
		public readonly List<Entry> m_Entries;

		[OriginalAttributes(FieldAttributes.Private)]
		public readonly List<IntervalTreeNode> m_Nodes;

		public bool dirty
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Assembly)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public IntervalTree()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Add(T item)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void IntersectsWith(long value, int bitFlag, List<T> results)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void UpdateIntervals()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Query(IntervalTreeNode node, long value, int bitflag, List<T> results)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Rebuild()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public int Rebuild(int start, int end)
		{
			throw null;
		}
	}
}
namespace UnityEngine.Timeline
{
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class RuntimeClip : RuntimeClipBase
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public TimelineClip m_Clip;

		[OriginalAttributes(FieldAttributes.Private)]
		public Playable m_Playable;

		[OriginalAttributes(FieldAttributes.Private)]
		public Playable m_ParentMixer;

		public override double start
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public TimelineClip clip
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Playable mixer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Playable playable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override bool enable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public RuntimeClip(TimelineClip clip, Playable clipPlayable, Playable parentMixer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Create(TimelineClip clip, Playable clipPlayable, Playable parentMixer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetDuration(double duration)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void EvaluateAt(double localTime, FrameData frameData)
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public abstract class RuntimeClipBase : RuntimeElement
	{
		public abstract double start
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get;
		}

		public abstract double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get;
		}

		public override long intervalStart
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override long intervalEnd
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public RuntimeClipBase()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public abstract class RuntimeElement : IInterval
	{
		public abstract long intervalStart
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get;
		}

		public abstract long intervalEnd
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get;
		}

		public int intervalBit
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public abstract bool enable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			set;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public RuntimeElement()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public abstract void EvaluateAt(double localTime, FrameData frameData);
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class ScheduleRuntimeClip : RuntimeClipBase
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public TimelineClip m_Clip;

		[OriginalAttributes(FieldAttributes.Private)]
		public Playable m_Playable;

		[OriginalAttributes(FieldAttributes.Private)]
		public Playable m_ParentMixer;

		[OriginalAttributes(FieldAttributes.Private)]
		public double m_StartDelay;

		[OriginalAttributes(FieldAttributes.Private)]
		public double m_FinishTail;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_Started;

		public override double start
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public TimelineClip clip
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Playable mixer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Playable playable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public override bool enable
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ScheduleRuntimeClip(TimelineClip clip, Playable clipPlayable, Playable parentMixer, double startDelay = 0.2, double finishTail = 0.1)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetTime(double time)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Create(TimelineClip clip, Playable clipPlayable, Playable parentMixer, double startDelay, double finishTail)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void EvaluateAt(double localTime, FrameData frameData)
		{
			throw null;
		}
	}
	public static class TrackAssetExtensions
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GroupTrack GetGroup(this TrackAsset asset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void SetGroup(this TrackAsset asset, GroupTrack group)
		{
			throw null;
		}
	}
	public class ActivationControlPlayable : PlayableBehaviour
	{
		public enum PostPlaybackState
		{
			Active,
			Inactive,
			Revert
		}

		[OriginalAttributes(TypeAttributes.NestedPrivate)]
		public enum InitialState
		{
			Unset,
			Active,
			Inactive
		}

		public GameObject gameObject;

		public PostPlaybackState postPlayback;

		[OriginalAttributes(FieldAttributes.Private)]
		public InitialState m_InitialState;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ActivationControlPlayable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static ScriptPlayable<ActivationControlPlayable> Create(PlayableGraph graph, GameObject gameObject, PostPlaybackState postPlaybackState)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPlay(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPause(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ProcessFrame(Playable playable, FrameData info, object userData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnGraphStart(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnPlayableDestroy(Playable playable)
		{
			throw null;
		}
	}
	[Serializable]
	[Obsolete("For best performance use PlayableAsset and PlayableBehaviour.")]
	public class BasicPlayableBehaviour : ScriptableObject, IPlayableAsset, IPlayableBehaviour
	{
		public virtual double duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual IEnumerable<PlayableBinding> outputs
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public BasicPlayableBehaviour()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnGraphStart(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnGraphStop(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPlayableCreate(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPlayableDestroy(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnBehaviourPlay(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnBehaviourPause(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void PrepareFrame(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void ProcessFrame(Playable playable, FrameData info, object playerData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual Playable CreatePlayable(PlayableGraph graph, GameObject owner)
		{
			throw null;
		}
	}
	public class DirectorControlPlayable : PlayableBehaviour
	{
		public PlayableDirector director;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_SyncTime;

		[OriginalAttributes(FieldAttributes.Private)]
		public double m_AssetDuration;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public DirectorControlPlayable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static ScriptPlayable<DirectorControlPlayable> Create(PlayableGraph graph, PlayableDirector director)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void PrepareFrame(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPlay(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPause(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ProcessFrame(Playable playable, FrameData info, object playerData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SyncSpeed(double speed)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SyncPlayState(PlayableGraph graph, double playableTime)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool DetectDiscontinuity(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool DetectOutOfSync(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void UpdateTime(Playable playable)
		{
			throw null;
		}
	}
	public interface ITimeControl
	{
		void SetTime(double time);

		void OnControlTimeStart();

		void OnControlTimeStop();
	}
	public class ParticleControlPlayable : PlayableBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public const float kUnsetTime = -1f;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_LastTime;

		[OriginalAttributes(FieldAttributes.Private)]
		public uint m_RandomSeed;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_SystemTime;

		public ParticleSystem particleSystem
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public ParticleControlPlayable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static ScriptPlayable<ParticleControlPlayable> Create(PlayableGraph graph, ParticleSystem component, uint randomSeed)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Initialize(ParticleSystem ps, uint randomSeed)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetRandomSeed()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void PrepareFrame(Playable playable, FrameData data)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPlay(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPause(Playable playable, FrameData info)
		{
			throw null;
		}
	}
	public class PrefabControlPlayable : PlayableBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_Instance;

		public GameObject prefabInstance
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public PrefabControlPlayable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static ScriptPlayable<PrefabControlPlayable> Create(PlayableGraph graph, GameObject prefabGameObject, Transform parentTransform)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public GameObject Initialize(GameObject prefabGameObject, Transform parentTransform)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnPlayableDestroy(Playable playable)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPlay(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPause(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetHideFlagsRecursive(GameObject gameObject)
		{
			throw null;
		}
	}
	public class TimeControlPlayable : PlayableBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public ITimeControl m_timeControl;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_started;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TimeControlPlayable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static ScriptPlayable<TimeControlPlayable> Create(PlayableGraph graph, ITimeControl timeControl)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Initialize(ITimeControl timeControl)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void PrepareFrame(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPlay(Playable playable, FrameData info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void OnBehaviourPause(Playable playable, FrameData info)
		{
			throw null;
		}
	}
	[Serializable]
	public class PlayableTrack : TrackAsset
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public PlayableTrack()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnCreateClip(TimelineClip clip)
		{
			throw null;
		}
	}
	public static class Extrapolation
	{
		public static readonly double kMinExtrapolationTime;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Assembly)]
		public static void CalculateExtrapolationTimes(this TrackAsset asset)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static TimelineClip[] SortClipsByStartTime(TimelineClip[] clips)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static Extrapolation()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public static class HashUtility
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		public static int CombineHash(this int h1, int h2)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		pub

UnityEngine.UI.dll

Decompiled 11 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using BepInEx.AssemblyPublicizer;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.Rendering;
using UnityEngine.Serialization;
using UnityEngine.U2D;
using UnityEngine.UI;
using UnityEngine.UI.Collections;
using UnityEngine.UI.CoroutineTween;

[assembly: AssemblyTitle("guisystem")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("guisystem")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2013")]
[assembly: AssemblyTrademark("")]
[assembly: InternalsVisibleTo("UnityEngine.UI.Tests")]
[assembly: ComVisible(false)]
[assembly: Guid("d4f464c7-9b15-460d-b4bc-2cacd1c1df73")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: UnityAPICompatibilityVersion("2018.4.12f1")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace UnityEngine.EventSystems
{
	[Flags]
	public enum EventHandle
	{
		Unused = 0,
		Used = 1
	}
	public interface IEventSystemHandler
	{
	}
	public interface IPointerEnterHandler : IEventSystemHandler
	{
		void OnPointerEnter(PointerEventData eventData);
	}
	public interface IPointerExitHandler : IEventSystemHandler
	{
		void OnPointerExit(PointerEventData eventData);
	}
	public interface IPointerDownHandler : IEventSystemHandler
	{
		void OnPointerDown(PointerEventData eventData);
	}
	public interface IPointerUpHandler : IEventSystemHandler
	{
		void OnPointerUp(PointerEventData eventData);
	}
	public interface IPointerClickHandler : IEventSystemHandler
	{
		void OnPointerClick(PointerEventData eventData);
	}
	public interface IBeginDragHandler : IEventSystemHandler
	{
		void OnBeginDrag(PointerEventData eventData);
	}
	public interface IInitializePotentialDragHandler : IEventSystemHandler
	{
		void OnInitializePotentialDrag(PointerEventData eventData);
	}
	public interface IDragHandler : IEventSystemHandler
	{
		void OnDrag(PointerEventData eventData);
	}
	public interface IEndDragHandler : IEventSystemHandler
	{
		void OnEndDrag(PointerEventData eventData);
	}
	public interface IDropHandler : IEventSystemHandler
	{
		void OnDrop(PointerEventData eventData);
	}
	public interface IScrollHandler : IEventSystemHandler
	{
		void OnScroll(PointerEventData eventData);
	}
	public interface IUpdateSelectedHandler : IEventSystemHandler
	{
		void OnUpdateSelected(BaseEventData eventData);
	}
	public interface ISelectHandler : IEventSystemHandler
	{
		void OnSelect(BaseEventData eventData);
	}
	public interface IDeselectHandler : IEventSystemHandler
	{
		void OnDeselect(BaseEventData eventData);
	}
	public interface IMoveHandler : IEventSystemHandler
	{
		void OnMove(AxisEventData eventData);
	}
	public interface ISubmitHandler : IEventSystemHandler
	{
		void OnSubmit(BaseEventData eventData);
	}
	public interface ICancelHandler : IEventSystemHandler
	{
		void OnCancel(BaseEventData eventData);
	}
	[AddComponentMenu("Event/Event System")]
	public class EventSystem : UIBehaviour
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public List<BaseInputModule> m_SystemInputModules;

		[OriginalAttributes(FieldAttributes.Private)]
		public BaseInputModule m_CurrentInputModule;

		[OriginalAttributes(FieldAttributes.Private)]
		public static List<EventSystem> m_EventSystems;

		[SerializeField]
		[FormerlySerializedAs("m_Selected")]
		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_FirstSelected;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_sendNavigationEvents;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_DragThreshold;

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_CurrentSelected;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_HasFocus;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_SelectionGuard;

		[OriginalAttributes(FieldAttributes.Private)]
		public BaseEventData m_DummyData;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly Comparison<RaycastResult> s_RaycastComparer;

		public static EventSystem current
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool sendNavigationEvents
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int pixelDragThreshold
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public BaseInputModule currentInputModule
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public GameObject firstSelectedGameObject
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public GameObject currentSelectedGameObject
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[Obsolete("lastSelectedGameObject is no longer supported")]
		public GameObject lastSelectedGameObject
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool isFocused
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public bool alreadySelecting
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public BaseEventData baseEventDataCache
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Private)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public EventSystem()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void UpdateModules()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetSelectedGameObject(GameObject selected, BaseEventData pointer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void SetSelectedGameObject(GameObject selected)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static int RaycastComparer(RaycastResult lhs, RaycastResult rhs)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RaycastAll(PointerEventData eventData, List<RaycastResult> raycastResults)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsPointerOverGameObject()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsPointerOverGameObject(int pointerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void TickModules()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnApplicationFocus(bool hasFocus)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void Update()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ChangeEventModule(BaseInputModule module)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static EventSystem()
		{
			throw null;
		}
	}
	[AddComponentMenu("Event/Event Trigger")]
	public class EventTrigger : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler, IInitializePotentialDragHandler, IBeginDragHandler, IDragHandler, IEndDragHandler, IDropHandler, IScrollHandler, IUpdateSelectedHandler, ISelectHandler, IDeselectHandler, IMoveHandler, ISubmitHandler, ICancelHandler, IEventSystemHandler
	{
		[Serializable]
		public class TriggerEvent : UnityEvent<BaseEventData>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public TriggerEvent()
			{
				throw null;
			}
		}

		[Serializable]
		public class Entry
		{
			public EventTriggerType eventID;

			public TriggerEvent callback;

			[MethodImpl(MethodImplOptions.NoInlining)]
			public Entry()
			{
				throw null;
			}
		}

		[FormerlySerializedAs("delegates")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public List<Entry> m_Delegates;

		[EditorBrowsable(EditorBrowsableState.Never)]
		[Obsolete("Please use triggers instead (UnityUpgradable) -> triggers", true)]
		public List<Entry> delegates;

		public List<Entry> triggers
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public EventTrigger()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Execute(EventTriggerType id, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerEnter(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerExit(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnDrag(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnDrop(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerDown(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerUp(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerClick(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnSelect(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnDeselect(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnScroll(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnMove(AxisEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnUpdateSelected(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnInitializePotentialDrag(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnBeginDrag(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnEndDrag(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnSubmit(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnCancel(BaseEventData eventData)
		{
			throw null;
		}
	}
	public enum EventTriggerType
	{
		PointerEnter,
		PointerExit,
		PointerDown,
		PointerUp,
		PointerClick,
		Drag,
		Drop,
		Scroll,
		UpdateSelected,
		Select,
		Deselect,
		Move,
		InitializePotentialDrag,
		BeginDrag,
		EndDrag,
		Submit,
		Cancel
	}
	public static class ExecuteEvents
	{
		public delegate void EventFunction<T1>(T1 handler, BaseEventData eventData);

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IPointerEnterHandler> s_PointerEnterHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IPointerExitHandler> s_PointerExitHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IPointerDownHandler> s_PointerDownHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IPointerUpHandler> s_PointerUpHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IPointerClickHandler> s_PointerClickHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IInitializePotentialDragHandler> s_InitializePotentialDragHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IBeginDragHandler> s_BeginDragHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IDragHandler> s_DragHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IEndDragHandler> s_EndDragHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IDropHandler> s_DropHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IScrollHandler> s_ScrollHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IUpdateSelectedHandler> s_UpdateSelectedHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<ISelectHandler> s_SelectHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IDeselectHandler> s_DeselectHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<IMoveHandler> s_MoveHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<ISubmitHandler> s_SubmitHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly EventFunction<ICancelHandler> s_CancelHandler;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly ObjectPool<List<IEventSystemHandler>> s_HandlerListPool;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly List<Transform> s_InternalTransformList;

		public static EventFunction<IPointerEnterHandler> pointerEnterHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IPointerExitHandler> pointerExitHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IPointerDownHandler> pointerDownHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IPointerUpHandler> pointerUpHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IPointerClickHandler> pointerClickHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IInitializePotentialDragHandler> initializePotentialDrag
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IBeginDragHandler> beginDragHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IDragHandler> dragHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IEndDragHandler> endDragHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IDropHandler> dropHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IScrollHandler> scrollHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IUpdateSelectedHandler> updateSelectedHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<ISelectHandler> selectHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IDeselectHandler> deselectHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<IMoveHandler> moveHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<ISubmitHandler> submitHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static EventFunction<ICancelHandler> cancelHandler
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static T ValidateEventData<T>(BaseEventData data) where T : class
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IPointerEnterHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IPointerExitHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IPointerDownHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IPointerUpHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IPointerClickHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IInitializePotentialDragHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IBeginDragHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IDragHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IEndDragHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IDropHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IScrollHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IUpdateSelectedHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(ISelectHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IDeselectHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(IMoveHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(ISubmitHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void Execute(ICancelHandler handler, BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void GetEventChain(GameObject root, IList<Transform> eventChain)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool Execute<T>(GameObject target, BaseEventData eventData, EventFunction<T> functor) where T : IEventSystemHandler
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject ExecuteHierarchy<T>(GameObject root, BaseEventData eventData, EventFunction<T> callbackFunction) where T : IEventSystemHandler
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool ShouldSendToComponent<T>(Component component) where T : IEventSystemHandler
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void GetEventList<T>(GameObject go, IList<IEventSystemHandler> results) where T : IEventSystemHandler
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool CanHandleEvent<T>(GameObject go) where T : IEventSystemHandler
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject GetEventHandler<T>(GameObject root) where T : IEventSystemHandler
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static ExecuteEvents()
		{
			throw null;
		}
	}
	public enum MoveDirection
	{
		Left,
		Up,
		Right,
		Down,
		None
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public static class RaycasterManager
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly List<BaseRaycaster> s_Raycasters;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void AddRaycaster(BaseRaycaster baseRaycaster)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static List<BaseRaycaster> GetRaycasters()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RemoveRaycasters(BaseRaycaster baseRaycaster)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static RaycasterManager()
		{
			throw null;
		}
	}
	public struct RaycastResult
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_GameObject;

		public BaseRaycaster module;

		public float distance;

		public float index;

		public int depth;

		public int sortingLayer;

		public int sortingOrder;

		public Vector3 worldPosition;

		public Vector3 worldNormal;

		public Vector2 screenPosition;

		[OriginalAttributes(FieldAttributes.Assembly)]
		public int displayIndex;

		public GameObject gameObject
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool isValid
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Clear()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}
	}
	public abstract class UIBehaviour : MonoBehaviour
	{
		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public UIBehaviour()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void Start()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnDestroy()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool IsActive()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnRectTransformDimensionsChange()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnBeforeTransformParentChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnTransformParentChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnDidApplyAnimationProperties()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnCanvasGroupChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnCanvasHierarchyChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsDestroyed()
		{
			throw null;
		}
	}
	public class AxisEventData : BaseEventData
	{
		public Vector2 moveVector
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public MoveDirection moveDir
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AxisEventData(EventSystem eventSystem)
		{
			throw null;
		}
	}
	public abstract class AbstractEventData
	{
		[OriginalAttributes(FieldAttributes.Family)]
		public bool m_Used;

		public virtual bool used
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public AbstractEventData()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void Reset()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void Use()
		{
			throw null;
		}
	}
	public class BaseEventData : AbstractEventData
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public readonly EventSystem m_EventSystem;

		public BaseInputModule currentInputModule
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public GameObject selectedObject
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public BaseEventData(EventSystem eventSystem)
		{
			throw null;
		}
	}
	public class PointerEventData : BaseEventData
	{
		public enum InputButton
		{
			Left,
			Right,
			Middle
		}

		public enum FramePressState
		{
			Pressed,
			Released,
			PressedAndReleased,
			NotChanged
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_PointerPress;

		public List<GameObject> hovered;

		public GameObject pointerEnter
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public GameObject lastPress
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Private)]
			set
			{
				throw null;
			}
		}

		public GameObject rawPointerPress
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public GameObject pointerDrag
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public RaycastResult pointerCurrentRaycast
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public RaycastResult pointerPressRaycast
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public bool eligibleForClick
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public int pointerId
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public Vector2 position
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public Vector2 delta
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public Vector2 pressPosition
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		[Obsolete("Use either pointerCurrentRaycast.worldPosition or pointerPressRaycast.worldPosition")]
		public Vector3 worldPosition
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		[Obsolete("Use either pointerCurrentRaycast.worldNormal or pointerPressRaycast.worldNormal")]
		public Vector3 worldNormal
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public float clickTime
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public int clickCount
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public Vector2 scrollDelta
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public bool useDragThreshold
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public bool dragging
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public InputButton button
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			set
			{
				throw null;
			}
		}

		public Camera enterEventCamera
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Camera pressEventCamera
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public GameObject pointerPress
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public PointerEventData(EventSystem eventSystem)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsPointerMoving()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool IsScrolling()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}
	}
	public class BaseInput : UIBehaviour
	{
		public virtual string compositionString
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual IMECompositionMode imeCompositionMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public virtual Vector2 compositionCursorPos
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public virtual bool mousePresent
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual Vector2 mousePosition
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual Vector2 mouseScrollDelta
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual bool touchSupported
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual int touchCount
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public BaseInput()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool GetMouseButtonDown(int button)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool GetMouseButtonUp(int button)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool GetMouseButton(int button)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual Touch GetTouch(int index)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual float GetAxisRaw(string axisName)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool GetButtonDown(string buttonName)
		{
			throw null;
		}
	}
	[RequireComponent(typeof(EventSystem))]
	public abstract class BaseInputModule : UIBehaviour
	{
		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Family)]
		public List<RaycastResult> m_RaycastResultCache;

		[OriginalAttributes(FieldAttributes.Private)]
		public AxisEventData m_AxisEventData;

		[OriginalAttributes(FieldAttributes.Private)]
		public EventSystem m_EventSystem;

		[OriginalAttributes(FieldAttributes.Private)]
		public BaseEventData m_BaseEventData;

		[OriginalAttributes(FieldAttributes.Family)]
		public BaseInput m_InputOverride;

		[OriginalAttributes(FieldAttributes.Private)]
		public BaseInput m_DefaultInput;

		public BaseInput input
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public BaseInput inputOverride
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public EventSystem eventSystem
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Family)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public BaseInputModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public abstract void Process();

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static RaycastResult FindFirstRaycast(List<RaycastResult> candidates)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static MoveDirection DetermineMoveDirection(float x, float y)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static MoveDirection DetermineMoveDirection(float x, float y, float deadZone)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public static GameObject FindCommonRoot(GameObject g1, GameObject g2)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void HandlePointerExitAndEnter(PointerEventData currentPointerData, GameObject newEnterTarget)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual AxisEventData GetAxisEventData(float x, float y, float moveDeadZone)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual BaseEventData GetBaseEventData()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool IsPointerOverGameObject(int pointerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool ShouldActivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void DeactivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void ActivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void UpdateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool IsModuleSupported()
		{
			throw null;
		}
	}
	public abstract class PointerInputModule : BaseInputModule
	{
		[OriginalAttributes(TypeAttributes.NestedFamily)]
		public class ButtonState
		{
			[OriginalAttributes(FieldAttributes.Private)]
			public PointerEventData.InputButton m_Button;

			[OriginalAttributes(FieldAttributes.Private)]
			public MouseButtonEventData m_EventData;

			public MouseButtonEventData eventData
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public PointerEventData.InputButton button
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public ButtonState()
			{
				throw null;
			}
		}

		[OriginalAttributes(TypeAttributes.NestedFamily)]
		public class MouseState
		{
			[OriginalAttributes(FieldAttributes.Private)]
			public List<ButtonState> m_TrackedButtons;

			[MethodImpl(MethodImplOptions.NoInlining)]
			public MouseState()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public bool AnyPressesThisFrame()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public bool AnyReleasesThisFrame()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public ButtonState GetButtonState(PointerEventData.InputButton button)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public void SetButtonState(PointerEventData.InputButton button, PointerEventData.FramePressState stateForMouseButton, PointerEventData data)
			{
				throw null;
			}
		}

		public class MouseButtonEventData
		{
			public PointerEventData.FramePressState buttonState;

			public PointerEventData buttonData;

			[MethodImpl(MethodImplOptions.NoInlining)]
			public MouseButtonEventData()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public bool PressedThisFrame()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public bool ReleasedThisFrame()
			{
				throw null;
			}
		}

		public const int kMouseLeftId = -1;

		public const int kMouseRightId = -2;

		public const int kMouseMiddleId = -3;

		public const int kFakeTouchesId = -4;

		[OriginalAttributes(FieldAttributes.Family)]
		public Dictionary<int, PointerEventData> m_PointerData;

		[OriginalAttributes(FieldAttributes.Private)]
		public readonly MouseState m_MouseState;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public PointerInputModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public bool GetPointerData(int id, out PointerEventData data, bool create)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void RemovePointerData(PointerEventData data)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public PointerEventData GetTouchPointerEventData(Touch input, out bool pressed, out bool released)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void CopyFromTo(PointerEventData from, PointerEventData to)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public PointerEventData.FramePressState StateForMouseButton(int buttonId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual MouseState GetMousePointerEventData()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual MouseState GetMousePointerEventData(int id)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public PointerEventData GetLastPointerEventData(int id)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static bool ShouldStartDrag(Vector2 pressPos, Vector2 currentPos, float threshold, bool useDragThreshold)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void ProcessMove(PointerEventData pointerEvent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void ProcessDrag(PointerEventData pointerEvent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool IsPointerOverGameObject(int pointerId)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void ClearSelection()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void DeselectIfSelectionChanged(GameObject currentOverGo, BaseEventData pointerEvent)
		{
			throw null;
		}
	}
	[AddComponentMenu("Event/Standalone Input Module")]
	public class StandaloneInputModule : PointerInputModule
	{
		[Obsolete("Mode is no longer needed on input module as it handles both mouse and keyboard simultaneously.", false)]
		public enum InputMode
		{
			Mouse,
			Buttons
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_PrevActionTime;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector2 m_LastMoveVector;

		[OriginalAttributes(FieldAttributes.Private)]
		public int m_ConsecutiveMoveCount;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector2 m_LastMousePosition;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector2 m_MousePosition;

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_CurrentFocusedGameObject;

		[OriginalAttributes(FieldAttributes.Private)]
		public PointerEventData m_InputPointerEvent;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_HorizontalAxis;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_VerticalAxis;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_SubmitButton;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_CancelButton;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_InputActionsPerSecond;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_RepeatDelay;

		[SerializeField]
		[FormerlySerializedAs("m_AllowActivationOnMobileDevice")]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ForceModuleActive;

		[Obsolete("Mode is no longer needed on input module as it handles both mouse and keyboard simultaneously.", false)]
		public InputMode inputMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[Obsolete("allowActivationOnMobileDevice has been deprecated. Use forceModuleActive instead (UnityUpgradable) -> forceModuleActive")]
		public bool allowActivationOnMobileDevice
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool forceModuleActive
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float inputActionsPerSecond
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float repeatDelay
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string horizontalAxis
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string verticalAxis
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string submitButton
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string cancelButton
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public StandaloneInputModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool ShouldIgnoreEventsOnNoFocus()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool IsModuleSupported()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool ShouldActivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void ActivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void DeactivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Process()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool ProcessTouchEvents()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void ProcessTouchPress(PointerEventData pointerEvent, bool pressed, bool released)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public bool SendSubmitEventToSelectedObject()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public Vector2 GetRawMoveVector()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public bool SendMoveEventToSelectedObject()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void ProcessMouseEvent()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[Obsolete("This method is no longer checked, overriding it with return true does nothing!")]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual bool ForceAutoSelect()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void ProcessMouseEvent(int id)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public bool SendUpdateEventToSelectedObject()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void ProcessMousePress(MouseButtonEventData data)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public GameObject GetCurrentFocusedGameObject()
		{
			throw null;
		}
	}
	[Obsolete("TouchInputModule is no longer required as Touch input is now handled in StandaloneInputModule.")]
	[AddComponentMenu("Event/Touch Input Module")]
	public class TouchInputModule : PointerInputModule
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public Vector2 m_LastMousePosition;

		[OriginalAttributes(FieldAttributes.Private)]
		public Vector2 m_MousePosition;

		[OriginalAttributes(FieldAttributes.Private)]
		public PointerEventData m_InputPointerEvent;

		[SerializeField]
		[FormerlySerializedAs("m_AllowActivationOnStandalone")]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_ForceModuleActive;

		[Obsolete("allowActivationOnStandalone has been deprecated. Use forceModuleActive instead (UnityUpgradable) -> forceModuleActive")]
		public bool allowActivationOnStandalone
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool forceModuleActive
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public TouchInputModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void UpdateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool IsModuleSupported()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool ShouldActivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool UseFakeInput()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Process()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void FakeTouches()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void ProcessTouchEvents()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public void ProcessTouchPress(PointerEventData pointerEvent, bool pressed, bool released)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void DeactivateModule()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}
	}
	public abstract class BaseRaycaster : UIBehaviour
	{
		public abstract Camera eventCamera
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get;
		}

		[Obsolete("Please use sortOrderPriority and renderOrderPriority", false)]
		public virtual int priority
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual int sortOrderPriority
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual int renderOrderPriority
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public BaseRaycaster()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public abstract void Raycast(PointerEventData eventData, List<RaycastResult> resultAppendList);

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override string ToString()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}
	}
	[AddComponentMenu("Event/Physics 2D Raycaster")]
	[RequireComponent(typeof(Camera))]
	public class Physics2DRaycaster : PhysicsRaycaster
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public new RaycastHit2D[] m_Hits;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public Physics2DRaycaster()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Raycast(PointerEventData eventData, List<RaycastResult> resultAppendList)
		{
			throw null;
		}
	}
	[AddComponentMenu("Event/Physics Raycaster")]
	[RequireComponent(typeof(Camera))]
	public class PhysicsRaycaster : BaseRaycaster
	{
		[OriginalAttributes(FieldAttributes.Family)]
		public const int kNoEventMaskSet = -1;

		[OriginalAttributes(FieldAttributes.Family)]
		public Camera m_EventCamera;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public LayerMask m_EventMask;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public int m_MaxRayIntersections;

		[OriginalAttributes(FieldAttributes.Family)]
		public int m_LastMaxRayIntersections;

		[OriginalAttributes(FieldAttributes.Private)]
		public RaycastHit[] m_Hits;

		public override Camera eventCamera
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual int depth
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public int finalEventMask
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public LayerMask eventMask
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int maxRayIntersections
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public PhysicsRaycaster()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public bool ComputeRayAndDistance(PointerEventData eventData, ref Ray ray, ref int eventDisplayIndex, ref float distanceToClipPlane)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override void Raycast(PointerEventData eventData, List<RaycastResult> resultAppendList)
		{
			throw null;
		}
	}
}
namespace UnityEngine.UI.CoroutineTween
{
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public interface ITweenValue
	{
		bool ignoreTimeScale { get; }

		float duration { get; }

		void TweenValue(float floatPercentage);

		bool ValidTarget();
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct ColorTween : ITweenValue
	{
		public enum ColorTweenMode
		{
			All,
			RGB,
			Alpha
		}

		public class ColorTweenCallback : UnityEvent<Color>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public ColorTweenCallback()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public ColorTweenCallback m_Target;

		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_StartColor;

		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_TargetColor;

		[OriginalAttributes(FieldAttributes.Private)]
		public ColorTweenMode m_TweenMode;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_Duration;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IgnoreTimeScale;

		public Color startColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Color targetColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public ColorTweenMode tweenMode
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool ignoreTimeScale
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void TweenValue(float floatPercentage)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOnChangedCallback(UnityAction<Color> callback)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool GetIgnoreTimescale()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public float GetDuration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool ValidTarget()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public struct FloatTween : ITweenValue
	{
		public class FloatTweenCallback : UnityEvent<float>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public FloatTweenCallback()
			{
				throw null;
			}
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public FloatTweenCallback m_Target;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_StartValue;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_TargetValue;

		[OriginalAttributes(FieldAttributes.Private)]
		public float m_Duration;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_IgnoreTimeScale;

		public float startValue
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float targetValue
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float duration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool ignoreTimeScale
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void TweenValue(float floatPercentage)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOnChangedCallback(UnityAction<float> callback)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool GetIgnoreTimescale()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public float GetDuration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool ValidTarget()
		{
			throw null;
		}
	}
	[OriginalAttributes(TypeAttributes.NotPublic)]
	public class TweenRunner<T> where T : struct, ITweenValue
	{
		[OriginalAttributes(FieldAttributes.Family)]
		public MonoBehaviour m_CoroutineContainer;

		[OriginalAttributes(FieldAttributes.Family)]
		public IEnumerator m_Tween;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public TweenRunner()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[DebuggerHidden]
		[OriginalAttributes(MethodAttributes.Private)]
		public static IEnumerator Start(T tweenInfo)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Init(MonoBehaviour coroutineContainer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void StartTween(T info)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void StopTween()
		{
			throw null;
		}
	}
}
namespace UnityEngine.UI
{
	[Serializable]
	public class AnimationTriggers
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public const string kDefaultNormalAnimName = "Normal";

		[OriginalAttributes(FieldAttributes.Private)]
		public const string kDefaultSelectedAnimName = "Highlighted";

		[OriginalAttributes(FieldAttributes.Private)]
		public const string kDefaultPressedAnimName = "Pressed";

		[OriginalAttributes(FieldAttributes.Private)]
		public const string kDefaultDisabledAnimName = "Disabled";

		[FormerlySerializedAs("normalTrigger")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_NormalTrigger;

		[FormerlySerializedAs("highlightedTrigger")]
		[FormerlySerializedAs("m_SelectedTrigger")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_HighlightedTrigger;

		[FormerlySerializedAs("pressedTrigger")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_PressedTrigger;

		[FormerlySerializedAs("disabledTrigger")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public string m_DisabledTrigger;

		public string normalTrigger
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string highlightedTrigger
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string pressedTrigger
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public string disabledTrigger
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public AnimationTriggers()
		{
			throw null;
		}
	}
	[AddComponentMenu("UI/Button", 30)]
	public class Button : Selectable, IPointerClickHandler, ISubmitHandler, IEventSystemHandler
	{
		[Serializable]
		public class ButtonClickedEvent : UnityEvent
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public ButtonClickedEvent()
			{
				throw null;
			}
		}

		[FormerlySerializedAs("onClick")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public ButtonClickedEvent m_OnClick;

		public ButtonClickedEvent onClick
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public Button()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void Press()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerClick(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnSubmit(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[DebuggerHidden]
		[OriginalAttributes(MethodAttributes.Private)]
		public IEnumerator OnFinishSubmit()
		{
			throw null;
		}
	}
	public enum CanvasUpdate
	{
		Prelayout,
		Layout,
		PostLayout,
		PreRender,
		LatePreRender,
		MaxUpdateValue
	}
	public interface ICanvasElement
	{
		Transform transform { get; }

		void Rebuild(CanvasUpdate executing);

		void LayoutComplete();

		void GraphicUpdateComplete();

		bool IsDestroyed();
	}
	public class CanvasUpdateRegistry
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public static CanvasUpdateRegistry s_Instance;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_PerformingLayoutUpdate;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_PerformingGraphicUpdate;

		[OriginalAttributes(FieldAttributes.Private)]
		public readonly IndexedSet<ICanvasElement> m_LayoutRebuildQueue;

		[OriginalAttributes(FieldAttributes.Private)]
		public readonly IndexedSet<ICanvasElement> m_GraphicRebuildQueue;

		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly Comparison<ICanvasElement> s_SortLayoutFunction;

		public static CanvasUpdateRegistry instance
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public CanvasUpdateRegistry()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool ObjectValidForUpdate(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CleanInvalidItems()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void PerformUpdate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static int ParentCount(Transform child)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static int SortLayoutList(ICanvasElement x, ICanvasElement y)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryRegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool InternalRegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void RegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool TryRegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public bool InternalRegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void UnRegisterCanvasElementForRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void InternalUnRegisterCanvasElementForLayoutRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void InternalUnRegisterCanvasElementForGraphicRebuild(ICanvasElement element)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool IsRebuildingLayout()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool IsRebuildingGraphics()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static CanvasUpdateRegistry()
		{
			throw null;
		}
	}
	[Serializable]
	public struct ColorBlock : IEquatable<ColorBlock>
	{
		[FormerlySerializedAs("normalColor")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_NormalColor;

		[FormerlySerializedAs("highlightedColor")]
		[FormerlySerializedAs("m_SelectedColor")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_HighlightedColor;

		[FormerlySerializedAs("pressedColor")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_PressedColor;

		[FormerlySerializedAs("disabledColor")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_DisabledColor;

		[Range(1f, 5f)]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_ColorMultiplier;

		[FormerlySerializedAs("fadeDuration")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_FadeDuration;

		public Color normalColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Color highlightedColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Color pressedColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Color disabledColor
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float colorMultiplier
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float fadeDuration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public static ColorBlock defaultColorBlock
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override bool Equals(object obj)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public bool Equals(ColorBlock other)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator ==(ColorBlock point1, ColorBlock point2)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static bool operator !=(ColorBlock point1, ColorBlock point2)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public override int GetHashCode()
		{
			throw null;
		}
	}
	public static class DefaultControls
	{
		public struct Resources
		{
			public Sprite standard;

			public Sprite background;

			public Sprite inputField;

			public Sprite knob;

			public Sprite checkmark;

			public Sprite dropdown;

			public Sprite mask;
		}

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kWidth = 160f;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kThickHeight = 30f;

		[OriginalAttributes(FieldAttributes.Private)]
		public const float kThinHeight = 20f;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Vector2 s_ThickElementSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Vector2 s_ThinElementSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Vector2 s_ImageElementSize;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Color s_DefaultSelectableColor;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Color s_PanelColor;

		[OriginalAttributes(FieldAttributes.Private)]
		public static Color s_TextColor;

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static GameObject CreateUIElementRoot(string name, Vector2 size)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static GameObject CreateUIObject(string name, GameObject parent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetDefaultTextValues(Text lbl)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetDefaultColorTransitionValues(Selectable slider)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetParentAndAlign(GameObject child, GameObject parent)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void SetLayerRecursively(GameObject go, int layer)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreatePanel(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateButton(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateText(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateImage(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateRawImage(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateSlider(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateScrollbar(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateToggle(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateInputField(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateDropdown(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static GameObject CreateScrollView(Resources resources)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static DefaultControls()
		{
			throw null;
		}
	}
	[AddComponentMenu("UI/Dropdown", 35)]
	[RequireComponent(typeof(RectTransform))]
	public class Dropdown : Selectable, IPointerClickHandler, ISubmitHandler, ICancelHandler, IEventSystemHandler
	{
		[OriginalAttributes(TypeAttributes.VisibilityMask)]
		public class DropdownItem : MonoBehaviour, IPointerEnterHandler, ICancelHandler, IEventSystemHandler
		{
			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public Text m_Text;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public Image m_Image;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public RectTransform m_RectTransform;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public Toggle m_Toggle;

			public Text text
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public Image image
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public RectTransform rectTransform
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public Toggle toggle
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public DropdownItem()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public virtual void OnPointerEnter(PointerEventData eventData)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public virtual void OnCancel(BaseEventData eventData)
			{
				throw null;
			}
		}

		[Serializable]
		public class OptionData
		{
			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public string m_Text;

			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public Sprite m_Image;

			public string text
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			public Sprite image
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData()
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData(string text)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData(Sprite image)
			{
				throw null;
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionData(string text, Sprite image)
			{
				throw null;
			}
		}

		[Serializable]
		public class OptionDataList
		{
			[SerializeField]
			[OriginalAttributes(FieldAttributes.Private)]
			public List<OptionData> m_Options;

			public List<OptionData> options
			{
				[MethodImpl(MethodImplOptions.NoInlining)]
				get
				{
					throw null;
				}
				[MethodImpl(MethodImplOptions.NoInlining)]
				set
				{
					throw null;
				}
			}

			[MethodImpl(MethodImplOptions.NoInlining)]
			public OptionDataList()
			{
				throw null;
			}
		}

		[Serializable]
		public class DropdownEvent : UnityEvent<int>
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			public DropdownEvent()
			{
				throw null;
			}
		}

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public RectTransform m_Template;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Text m_CaptionText;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Image m_CaptionImage;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Text m_ItemText;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Image m_ItemImage;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_Value;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public OptionDataList m_Options;

		[Space]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public DropdownEvent m_OnValueChanged;

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_Dropdown;

		[OriginalAttributes(FieldAttributes.Private)]
		public GameObject m_Blocker;

		[OriginalAttributes(FieldAttributes.Private)]
		public List<DropdownItem> m_Items;

		[OriginalAttributes(FieldAttributes.Private)]
		public TweenRunner<FloatTween> m_AlphaTweenRunner;

		[OriginalAttributes(FieldAttributes.Private)]
		public bool validTemplate;

		[OriginalAttributes(FieldAttributes.Private)]
		public static OptionData s_NoOptionData;

		public RectTransform template
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Text captionText
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Image captionImage
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Text itemText
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public Image itemImage
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public List<OptionData> options
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public DropdownEvent onValueChanged
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int value
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public Dropdown()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void Awake()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void Start()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void RefreshShownValue()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOptions(List<OptionData> options)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOptions(List<string> options)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void AddOptions(List<Sprite> options)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void ClearOptions()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetupTemplate()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static T GetOrAddComponent<T>(GameObject go) where T : Component
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnPointerClick(PointerEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnSubmit(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnCancel(BaseEventData eventData)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Show()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual GameObject CreateBlocker(Canvas rootCanvas)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void DestroyBlocker(GameObject blocker)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual GameObject CreateDropdownList(GameObject template)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void DestroyDropdownList(GameObject dropdownList)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual DropdownItem CreateItem(DropdownItem itemTemplate)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void DestroyItem(DropdownItem item)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public DropdownItem AddItem(OptionData data, bool selected, DropdownItem itemTemplate, List<DropdownItem> items)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AlphaFadeList(float duration, float alpha)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void AlphaFadeList(float duration, float start, float end)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void SetAlpha(float alpha)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public void Hide()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[DebuggerHidden]
		[OriginalAttributes(MethodAttributes.Private)]
		public IEnumerator DelayedDestroyDropdownList(float delay)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void OnSelectItem(Toggle toggle)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static Dropdown()
		{
			throw null;
		}
	}
	[Serializable]
	public class FontData : ISerializationCallbackReceiver
	{
		[SerializeField]
		[FormerlySerializedAs("font")]
		[OriginalAttributes(FieldAttributes.Private)]
		public Font m_Font;

		[SerializeField]
		[FormerlySerializedAs("fontSize")]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_FontSize;

		[SerializeField]
		[FormerlySerializedAs("fontStyle")]
		[OriginalAttributes(FieldAttributes.Private)]
		public FontStyle m_FontStyle;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_BestFit;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_MinSize;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public int m_MaxSize;

		[SerializeField]
		[FormerlySerializedAs("alignment")]
		[OriginalAttributes(FieldAttributes.Private)]
		public TextAnchor m_Alignment;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_AlignByGeometry;

		[SerializeField]
		[FormerlySerializedAs("richText")]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_RichText;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public HorizontalWrapMode m_HorizontalOverflow;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public VerticalWrapMode m_VerticalOverflow;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public float m_LineSpacing;

		public static FontData defaultFontData
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Font font
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int fontSize
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public FontStyle fontStyle
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool bestFit
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int minSize
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public int maxSize
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public TextAnchor alignment
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool alignByGeometry
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool richText
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public HorizontalWrapMode horizontalOverflow
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public VerticalWrapMode verticalOverflow
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public float lineSpacing
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public FontData()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnBeforeSerialize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		void ISerializationCallbackReceiver.OnAfterDeserialize()
		{
			throw null;
		}
	}
	public static class FontUpdateTracker
	{
		[OriginalAttributes(FieldAttributes.Private)]
		public static Dictionary<Font, HashSet<Text>> m_Tracked;

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void TrackText(Text t)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public static void RebuildForFont(Font f)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public static void UntrackText(Text t)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		static FontUpdateTracker()
		{
			throw null;
		}
	}
	[DisallowMultipleComponent]
	[RequireComponent(typeof(CanvasRenderer))]
	[RequireComponent(typeof(RectTransform))]
	[ExecuteAlways]
	public abstract class Graphic : UIBehaviour, ICanvasElement
	{
		[OriginalAttributes(FieldAttributes.Family)]
		public static Material s_DefaultUI;

		[OriginalAttributes(FieldAttributes.Family)]
		public static Texture2D s_WhiteTexture;

		[FormerlySerializedAs("m_Mat")]
		[SerializeField]
		[OriginalAttributes(FieldAttributes.Family)]
		public Material m_Material;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public Color m_Color;

		[SerializeField]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_RaycastTarget;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public RectTransform m_RectTransform;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public CanvasRenderer m_CanvasRenderer;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public Canvas m_Canvas;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_VertsDirty;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public bool m_MaterialDirty;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Family)]
		public UnityAction m_OnDirtyLayoutCallback;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Family)]
		public UnityAction m_OnDirtyVertsCallback;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Family)]
		public UnityAction m_OnDirtyMaterialCallback;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Family)]
		public static Mesh s_Mesh;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public static readonly VertexHelper s_VertexHelper;

		[NonSerialized]
		[OriginalAttributes(FieldAttributes.Private)]
		public readonly TweenRunner<ColorTween> m_ColorTweenRunner;

		public static Material defaultGraphicMaterial
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual Color color
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public virtual bool raycastTarget
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public bool useLegacyMeshGeneration
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Family)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			[CompilerGenerated]
			[OriginalAttributes(MethodAttributes.Family)]
			set
			{
				throw null;
			}
		}

		public int depth
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public RectTransform rectTransform
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public Canvas canvas
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public CanvasRenderer canvasRenderer
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual Material defaultMaterial
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual Material material
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
			[MethodImpl(MethodImplOptions.NoInlining)]
			set
			{
				throw null;
			}
		}

		public virtual Material materialForRendering
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public virtual Texture mainTexture
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			get
			{
				throw null;
			}
		}

		public static Mesh workerMesh
		{
			[MethodImpl(MethodImplOptions.NoInlining)]
			[OriginalAttributes(MethodAttributes.Family)]
			get
			{
				throw null;
			}
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public Graphic()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void SetAllDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void SetLayoutDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void SetVerticesDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void SetMaterialDirty()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnRectTransformDimensionsChange()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnBeforeTransformParentChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnTransformParentChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void CacheCanvas()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnEnable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDisable()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnCanvasHierarchyChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void OnCullingChanged()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void Rebuild(CanvasUpdate update)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void LayoutComplete()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void GraphicUpdateComplete()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void UpdateMaterial()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void UpdateGeometry()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void DoMeshGeneration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Private)]
		public void DoLegacyMeshGeneration()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[EditorBrowsable(EditorBrowsableState.Never)]
		[Obsolete("Use OnPopulateMesh instead.", true)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnFillVBO(List<UIVertex> vbo)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[Obsolete("Use OnPopulateMesh(VertexHelper vh) instead.", false)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnPopulateMesh(Mesh m)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public virtual void OnPopulateMesh(VertexHelper vh)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		[OriginalAttributes(MethodAttributes.Family)]
		public override void OnDidApplyAnimationProperties()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void SetNativeSize()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual bool Raycast(Vector2 sp, Camera eventCamera)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public Vector2 PixelAdjustPoint(Vector2 point)
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public Rect GetPixelAdjustedRect()
		{
			throw null;
		}

		[MethodImpl(MethodImplOptions.NoInlining)]
		public virtual void C