using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion
{
	// Token: 0x02000393 RID: 915
	[Token(Token = "0x2000393")]
	public static class BipedNaming
	{
		// Token: 0x0600225A RID: 8794 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600225A")]
		[Address(RVA = "0x8D75D0", Offset = "0x8D63D0", VA = "0x1808D75D0")]
		public static Transform[] GetBonesOfType(BipedNaming.BoneType boneType, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600225B RID: 8795 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600225B")]
		[Address(RVA = "0x8D73A0", Offset = "0x8D61A0", VA = "0x1808D73A0")]
		public static Transform[] GetBonesOfSide(BipedNaming.BoneSide boneSide, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600225C RID: 8796 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600225C")]
		[Address(RVA = "0x8D7550", Offset = "0x8D6350", VA = "0x1808D7550")]
		public static Transform[] GetBonesOfTypeAndSide(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600225D RID: 8797 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600225D")]
		[Address(RVA = "0x8D7780", Offset = "0x8D6580", VA = "0x1808D7780")]
		public static Transform GetFirstBoneOfTypeAndSide(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, Transform[] bones)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600225E RID: 8798 RVA: 0x0004F7B8 File Offset: 0x0004D9B8
		[Token(Token = "0x600225E")]
		[Address(RVA = "0x8D7830", Offset = "0x8D6630", VA = "0x1808D7830")]
		public static Transform GetNamingMatch(Transform[] transforms, params string[][] namings)
		{
			int num = 0;
			int num2 = 0;
			int length = transforms.Length;
			if (num2 < length)
			{
				int num3 = 0;
				Transform transform = transforms[num];
				if (num3 < namings.Length)
				{
					string[] array = namings[num3];
					string name = transform.name;
					int num4 = 0;
					string[] array2 = BipedNaming.typeExclude;
					if (num4 < array2.Length)
					{
						string text = array2[num4];
						if (name.Contains(text))
						{
							goto IL_9C;
						}
						num4++;
					}
					int num5 = 0;
					if (num5 < array.Length)
					{
						string text2 = array[num5];
						if (!name.Contains(text2))
						{
							num5++;
						}
						num3++;
					}
					IL_9C:
					num++;
				}
				return transform;
			}
			throw new NullReferenceException();
		}

		// Token: 0x0600225F RID: 8799 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600225F")]
		[Address(RVA = "0x8D7190", Offset = "0x8D5F90", VA = "0x1808D7190")]
		public static BipedNaming.BoneType GetBoneType(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002260 RID: 8800 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002260")]
		[Address(RVA = "0x8D70F0", Offset = "0x8D5EF0", VA = "0x1808D70F0")]
		public static BipedNaming.BoneSide GetBoneSide(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002261 RID: 8801 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002261")]
		[Address(RVA = "0x8D7310", Offset = "0x8D6110", VA = "0x1808D7310")]
		public static Transform GetBone(Transform[] transforms, BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide = BipedNaming.BoneSide.Center, params string[][] namings)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002262 RID: 8802 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002262")]
		[Address(RVA = "0x8DBAB0", Offset = "0x8DA8B0", VA = "0x1808DBAB0")]
		private static bool isLeft(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002263 RID: 8803 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002263")]
		[Address(RVA = "0x8DBF40", Offset = "0x8DAD40", VA = "0x1808DBF40")]
		private static bool isRight(string boneName)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002264 RID: 8804 RVA: 0x0004F870 File Offset: 0x0004DA70
		[Token(Token = "0x6002264")]
		[Address(RVA = "0x8DC1C0", Offset = "0x8DAFC0", VA = "0x1808DC1C0")]
		private static bool isSpine(string boneName)
		{
			string[] array = BipedNaming.typeSpine;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeSpine;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002265 RID: 8805 RVA: 0x0004F908 File Offset: 0x0004DB08
		[Token(Token = "0x6002265")]
		[Address(RVA = "0x8DB8A0", Offset = "0x8DA6A0", VA = "0x1808DB8A0")]
		private static bool isHead(string boneName)
		{
			string[] array = BipedNaming.typeHead;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeHead;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002266 RID: 8806 RVA: 0x0004F9A0 File Offset: 0x0004DBA0
		[Token(Token = "0x6002266")]
		[Address(RVA = "0x8DB480", Offset = "0x8DA280", VA = "0x1808DB480")]
		private static bool isArm(string boneName)
		{
			string[] array = BipedNaming.typeArm;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeArm;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002267 RID: 8807 RVA: 0x0004FA38 File Offset: 0x0004DC38
		[Token(Token = "0x6002267")]
		[Address(RVA = "0x8DBD30", Offset = "0x8DAB30", VA = "0x1808DBD30")]
		private static bool isLeg(string boneName)
		{
			string[] array = BipedNaming.typeLeg;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeLeg;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002268 RID: 8808 RVA: 0x0004FAD0 File Offset: 0x0004DCD0
		[Token(Token = "0x6002268")]
		[Address(RVA = "0x8DC3D0", Offset = "0x8DB1D0", VA = "0x1808DC3D0")]
		private static bool isTail(string boneName)
		{
			string[] array = BipedNaming.typeTail;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeTail;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x06002269 RID: 8809 RVA: 0x0004FB68 File Offset: 0x0004DD68
		[Token(Token = "0x6002269")]
		[Address(RVA = "0x8DB690", Offset = "0x8DA490", VA = "0x1808DB690")]
		private static bool isEye(string boneName)
		{
			string[] array = BipedNaming.typeEye;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_86;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				string[] array3 = BipedNaming.typeExcludeEye;
				int length3 = array3.Length;
				if (num < length3)
				{
					string text3 = array3[num];
					if (boneName.Contains(text3))
					{
						goto IL_86;
					}
					num++;
				}
				return true;
			}
			IL_86:
			throw new NullReferenceException();
		}

		// Token: 0x0600226A RID: 8810 RVA: 0x0004FC00 File Offset: 0x0004DE00
		[Token(Token = "0x600226A")]
		[Address(RVA = "0x8DC5E0", Offset = "0x8DB3E0", VA = "0x1808DC5E0")]
		private static bool isTypeExclude(string boneName)
		{
			string[] array = BipedNaming.typeExclude;
			int num = 0;
			string[] array2 = BipedNaming.typeExclude;
			int length = array2.Length;
			if (num < length)
			{
				string text = array2[num];
				if (boneName.Contains(text))
				{
					goto IL_58;
				}
				num++;
			}
			int length2 = array.Length;
			if (num < length2)
			{
				string text2 = array[num];
				if (!boneName.Contains(text2))
				{
					num++;
				}
				return true;
			}
			IL_58:
			throw new NullReferenceException();
		}

		// Token: 0x0600226B RID: 8811 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600226B")]
		[Address(RVA = "0x8DC8A0", Offset = "0x8DB6A0", VA = "0x1808DC8A0")]
		private static bool matchesNaming(string boneName, string[] namingConvention)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600226C RID: 8812 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600226C")]
		[Address(RVA = "0x8DB390", Offset = "0x8DA190", VA = "0x1808DB390")]
		private static bool excludesNaming(string boneName, string[] namingConvention)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600226D RID: 8813 RVA: 0x0004FC6C File Offset: 0x0004DE6C
		[Token(Token = "0x600226D")]
		[Address(RVA = "0x8DC7C0", Offset = "0x8DB5C0", VA = "0x1808DC7C0")]
		private static bool matchesLastLetter(string boneName, string[] namingConvention)
		{
			int num = 0;
			int length = namingConvention.Length;
			if (num < length)
			{
				string text = namingConvention[num];
				int stringLength = boneName.m_stringLength;
				if (!string.Equals(boneName.Substring(stringLength, 1), text))
				{
					num++;
				}
				return true;
			}
			throw new NullReferenceException();
		}

		// Token: 0x0600226E RID: 8814 RVA: 0x0004FCB4 File Offset: 0x0004DEB4
		[Token(Token = "0x600226E")]
		[Address(RVA = "0x8D7A60", Offset = "0x8D6860", VA = "0x1808D7A60")]
		private static bool LastLetterIs(string boneName, string letter)
		{
			int stringLength = boneName.m_stringLength;
			return string.Equals(boneName.Substring(stringLength, 1), letter);
		}

		// Token: 0x0600226F RID: 8815 RVA: 0x0004FCDC File Offset: 0x0004DEDC
		[Token(Token = "0x600226F")]
		[Address(RVA = "0x8DB420", Offset = "0x8DA220", VA = "0x1808DB420")]
		private static string firstLetter(string boneName)
		{
			return "";
		}

		// Token: 0x06002270 RID: 8816 RVA: 0x0004FD00 File Offset: 0x0004DF00
		[Token(Token = "0x6002270")]
		[Address(RVA = "0x8DC760", Offset = "0x8DB560", VA = "0x1808DC760")]
		private static string lastLetter(string boneName)
		{
			int stringLength = boneName.m_stringLength;
			return "";
		}

		// Token: 0x06002271 RID: 8817 RVA: 0x000020D3 File Offset: 0x000002D3
		// Note: this type is marked as 'beforefieldinit'.
		[Token(Token = "0x6002271")]
		[Address(RVA = "0x8D7AA0", Offset = "0x8D68A0", VA = "0x1808D7AA0")]
		static BipedNaming()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04002BB9 RID: 11193
		[Token(Token = "0x4002BB9")]
		public static string[] typeLeft;

		// Token: 0x04002BBA RID: 11194
		[Token(Token = "0x4002BBA")]
		public static string[] typeRight;

		// Token: 0x04002BBB RID: 11195
		[Token(Token = "0x4002BBB")]
		public static string[] typeSpine;

		// Token: 0x04002BBC RID: 11196
		[Token(Token = "0x4002BBC")]
		public static string[] typeHead;

		// Token: 0x04002BBD RID: 11197
		[Token(Token = "0x4002BBD")]
		public static string[] typeArm;

		// Token: 0x04002BBE RID: 11198
		[Token(Token = "0x4002BBE")]
		public static string[] typeLeg;

		// Token: 0x04002BBF RID: 11199
		[Token(Token = "0x4002BBF")]
		public static string[] typeTail;

		// Token: 0x04002BC0 RID: 11200
		[Token(Token = "0x4002BC0")]
		public static string[] typeEye;

		// Token: 0x04002BC1 RID: 11201
		[Token(Token = "0x4002BC1")]
		public static string[] typeExclude;

		// Token: 0x04002BC2 RID: 11202
		[Token(Token = "0x4002BC2")]
		public static string[] typeExcludeSpine;

		// Token: 0x04002BC3 RID: 11203
		[Token(Token = "0x4002BC3")]
		public static string[] typeExcludeHead;

		// Token: 0x04002BC4 RID: 11204
		[Token(Token = "0x4002BC4")]
		public static string[] typeExcludeArm;

		// Token: 0x04002BC5 RID: 11205
		[Token(Token = "0x4002BC5")]
		public static string[] typeExcludeLeg;

		// Token: 0x04002BC6 RID: 11206
		[Token(Token = "0x4002BC6")]
		public static string[] typeExcludeTail;

		// Token: 0x04002BC7 RID: 11207
		[Token(Token = "0x4002BC7")]
		public static string[] typeExcludeEye;

		// Token: 0x04002BC8 RID: 11208
		[Token(Token = "0x4002BC8")]
		public static string[] pelvis;

		// Token: 0x04002BC9 RID: 11209
		[Token(Token = "0x4002BC9")]
		public static string[] hand;

		// Token: 0x04002BCA RID: 11210
		[Token(Token = "0x4002BCA")]
		public static string[] foot;

		// Token: 0x02000394 RID: 916
		[Token(Token = "0x2000394")]
		[Serializable]
		public enum BoneType
		{
			// Token: 0x04002BCC RID: 11212
			[Token(Token = "0x4002BCC")]
			Unassigned,
			// Token: 0x04002BCD RID: 11213
			[Token(Token = "0x4002BCD")]
			Spine,
			// Token: 0x04002BCE RID: 11214
			[Token(Token = "0x4002BCE")]
			Head,
			// Token: 0x04002BCF RID: 11215
			[Token(Token = "0x4002BCF")]
			Arm,
			// Token: 0x04002BD0 RID: 11216
			[Token(Token = "0x4002BD0")]
			Leg,
			// Token: 0x04002BD1 RID: 11217
			[Token(Token = "0x4002BD1")]
			Tail,
			// Token: 0x04002BD2 RID: 11218
			[Token(Token = "0x4002BD2")]
			Eye
		}

		// Token: 0x02000395 RID: 917
		[Token(Token = "0x2000395")]
		[Serializable]
		public enum BoneSide
		{
			// Token: 0x04002BD4 RID: 11220
			[Token(Token = "0x4002BD4")]
			Center,
			// Token: 0x04002BD5 RID: 11221
			[Token(Token = "0x4002BD5")]
			Left,
			// Token: 0x04002BD6 RID: 11222
			[Token(Token = "0x4002BD6")]
			Right
		}
	}
}
