using System;
using System.Linq;
using Cpp2IlInjected;
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using MarsSDK;
using UnityEngine;
using UnityEngine.UI;

// Token: 0x0200023D RID: 573
[Token(Token = "0x200023D")]
public abstract class UIValueBindingBase : UISubSettingsBase
{
	// Token: 0x0600160A RID: 5642 RVA: 0x000329E8 File Offset: 0x00030BE8
	[Token(Token = "0x600160A")]
	[Address(RVA = "0x8B6B90", Offset = "0x8B5990", VA = "0x1808B6B90", Slot = "11")]
	public override void Init(CanvasGroup mainCanvasGroup, Action cancelHandler, Text title)
	{
		int num = 0;
		base.Init(mainCanvasGroup, cancelHandler, title);
		UIValueBindingHandler[] array = this.topHandlers;
		if (num < array.Length)
		{
			array[num].index = num;
			num++;
			UIValueBindingHandler[] array2 = this.topHandlers;
		}
		this.bottomNavigationEffect.Hide();
		GameObject gameObject = this.submissionEffect.gameObject;
		int num2 = 0;
		gameObject.SetActive(num2 != 0);
		CanvasGroup subCanvasGroup = this.subCanvasGroup;
		int num3 = 0;
		subCanvasGroup.alpha = (float)num3;
		CanvasGroup subCanvasGroup2 = this.subCanvasGroup;
		int num4 = 0;
		subCanvasGroup2.blocksRaycasts = num4 != 0;
	}

	// Token: 0x0600160B RID: 5643 RVA: 0x00032A78 File Offset: 0x00030C78
	[Token(Token = "0x600160B")]
	[Address(RVA = "0x8B6320", Offset = "0x8B5120", VA = "0x1808B6320")]
	protected void InitHandlers(UIValueBindingHandler[] activeTopHandlers)
	{
		UINavigator navigator2;
		UIHandlerBase[] array2;
		UILabelHandler uilabelHandler22;
		for (;;)
		{
			UIValueBindingHandler uivalueBindingHandler = activeTopHandlers[0];
			this.defaultHandler = uivalueBindingHandler;
			int num = 0;
			UINavigationSetter.Get(UINavigationMode.Vertical, true, num).Apply(activeTopHandlers);
			int length = activeTopHandlers.Length;
			UIValueBindingHandler uivalueBindingHandler2 = activeTopHandlers[0];
			UILabelHandler uilabelHandler = this.backHandler;
			uivalueBindingHandler2.SetupNavigationHandler(Direction2D.Up, uilabelHandler);
			int num2 = length - 1;
			UIValueBindingHandler uivalueBindingHandler3 = activeTopHandlers[num2];
			UILabelHandler uilabelHandler2 = this.backHandler;
			uivalueBindingHandler3.SetupNavigationHandler(Direction2D.Down, uilabelHandler2);
			int num3 = 0;
			int length2 = activeTopHandlers.Length;
			if (num3 < length2)
			{
				UIValueBindingHandler uivalueBindingHandler4 = activeTopHandlers[num3];
				Action<UIHandlerBase> action = new Action(this.OnTopHandlerSelected);
				uivalueBindingHandler4.onSelectedHandler = action;
				Action<UIHandlerBase> action2 = new Action(this.OnTopHandlerDeselected);
				uivalueBindingHandler4.onDeselectedHandler = action2;
				num3++;
			}
			this.navigator.BindPointerEnterEvent(activeTopHandlers);
			this.navigator.BindPointerExitEvent(activeTopHandlers);
			this.resetHandler.index = (int)((ulong)100L);
			UILabelHandler uilabelHandler3 = this.resetHandler;
			UILabelHandler uilabelHandler4 = this.backHandler;
			uilabelHandler3.SetupNavigationHandler(Direction2D.Left, uilabelHandler4);
			UILabelHandler uilabelHandler5 = this.resetHandler;
			UILabelHandler uilabelHandler6 = this.backHandler;
			uilabelHandler5.SetupNavigationHandler(Direction2D.Right, uilabelHandler6);
			int length3 = activeTopHandlers.Length;
			UILabelHandler uilabelHandler7 = this.resetHandler;
			int num4 = length3 - 1;
			UIValueBindingHandler uivalueBindingHandler5 = activeTopHandlers[num4];
			uilabelHandler7.SetupNavigationHandler(Direction2D.Up, uivalueBindingHandler5);
			UILabelHandler uilabelHandler8 = this.resetHandler;
			UIValueBindingHandler uivalueBindingHandler6 = activeTopHandlers[0];
			uilabelHandler8.SetupNavigationHandler(Direction2D.Down, uivalueBindingHandler6);
			UILabelHandler uilabelHandler9 = this.resetHandler;
			Action<UIHandlerBase> action3 = new Action(this.OnBottomHandlerSelected);
			uilabelHandler9.onSelectedHandler = action3;
			UILabelHandler uilabelHandler10 = this.resetHandler;
			Action<UIHandlerBase> action4 = new Action(this.OnBottomHandlerDeselected);
			uilabelHandler10.onDeselectedHandler = action4;
			this.backHandler.index = (int)((ulong)101L);
			UILabelHandler uilabelHandler11 = this.backHandler;
			UILabelHandler uilabelHandler12 = this.resetHandler;
			uilabelHandler11.SetupNavigationHandler(Direction2D.Left, uilabelHandler12);
			UILabelHandler uilabelHandler13 = this.backHandler;
			UILabelHandler uilabelHandler14 = this.resetHandler;
			uilabelHandler13.SetupNavigationHandler(Direction2D.Right, uilabelHandler14);
			int length4 = activeTopHandlers.Length;
			UILabelHandler uilabelHandler15 = this.backHandler;
			int num5 = length4 - 1;
			UIValueBindingHandler uivalueBindingHandler7 = activeTopHandlers[num5];
			uilabelHandler15.SetupNavigationHandler(Direction2D.Up, uivalueBindingHandler7);
			UILabelHandler uilabelHandler16 = this.backHandler;
			UIValueBindingHandler uivalueBindingHandler8 = activeTopHandlers[0];
			uilabelHandler16.SetupNavigationHandler(Direction2D.Down, uivalueBindingHandler8);
			UILabelHandler uilabelHandler17 = this.backHandler;
			Action<UIHandlerBase> action5 = new Action(this.OnBottomHandlerSelected);
			uilabelHandler17.onSelectedHandler = action5;
			UILabelHandler uilabelHandler18 = this.backHandler;
			Action<UIHandlerBase> action6 = new Action(this.OnBottomHandlerDeselected);
			uilabelHandler18.onDeselectedHandler = action6;
			UINavigator navigator = this.navigator;
			UIHandlerBase[] array = new UIHandlerBase[2];
			UILabelHandler uilabelHandler19 = this.resetHandler;
			if (uilabelHandler19 == 0 || array != 0)
			{
				array[0] = uilabelHandler19;
				UILabelHandler uilabelHandler20 = this.backHandler;
				if (uilabelHandler20 == 0 || array != 0)
				{
					array[1] = uilabelHandler20;
					navigator.BindPointerEnterEvent(array);
					navigator2 = this.navigator;
					array2 = new UIHandlerBase[2];
					UILabelHandler uilabelHandler21 = this.resetHandler;
					if (uilabelHandler21 == 0 || array2 != 0)
					{
						array2[0] = uilabelHandler21;
						uilabelHandler22 = this.backHandler;
						if (uilabelHandler22 == 0 || array2 != 0)
						{
							break;
						}
					}
				}
			}
		}
		array2[1] = uilabelHandler22;
		navigator2.BindPointerExitEvent(array2);
		this.InitTopHandlerLayout(activeTopHandlers);
	}

	// Token: 0x0600160C RID: 5644 RVA: 0x00032D94 File Offset: 0x00030F94
	[Token(Token = "0x600160C")]
	[Address(RVA = "0x8B6A00", Offset = "0x8B5800", VA = "0x1808B6A00")]
	private void InitTopHandlerLayout(UIValueBindingHandler[] activeHandlers)
	{
		UIValueBindingHandler[] array = this.topHandlers;
		int length = activeHandlers.Length;
		if (array.Length != length)
		{
			UIValueBindingHandler[] array2 = Enumerable.ToArray<UIValueBindingHandler>(Enumerable.Except<UIValueBindingHandler>(array, activeHandlers));
			int num = 0;
			int length2 = array2.Length;
			if (num < length2)
			{
				GameObject gameObject = array2[num].root.gameObject;
				int num2 = 0;
				gameObject.SetActive(num2 != 0);
				num++;
			}
			this.layoutGroup.enabled = true;
			LayoutRebuilder.ForceRebuildLayoutImmediate(this.layoutGroup.GetComponent<RectTransform>());
			LayoutGroup layoutGroup = this.layoutGroup;
			int num3 = 0;
			layoutGroup.enabled = num3 != 0;
		}
	}

	// Token: 0x0600160D RID: 5645 RVA: 0x00032E30 File Offset: 0x00031030
	[Token(Token = "0x600160D")]
	[Address(RVA = "0x8B7040", Offset = "0x8B5E40", VA = "0x1808B7040", Slot = "12")]
	public override void Open()
	{
		Text title = this.title;
		string text = this.titleText;
		title.text = text;
		ValueType[] configValues = this.GetConfigValues();
		this.originConfigValues = configValues;
		this.bottomNavigationEffect.HideImmediate();
		GameObject gameObject = this.submissionEffect.gameObject;
		int num = 0;
		gameObject.SetActive(num != 0);
		this.UpdateTopHandlers();
		UINavigator navigator = this.navigator;
		UIValueBindingHandler uivalueBindingHandler = this.defaultHandler;
		navigator.SetDefaultHandler(uivalueBindingHandler);
		base.Appear();
	}

	// Token: 0x0600160E RID: 5646 RVA: 0x00032EB0 File Offset: 0x000310B0
	[Token(Token = "0x600160E")]
	[Address(RVA = "0x8B6FF0", Offset = "0x8B5DF0", VA = "0x1808B6FF0")]
	private void OnTopHandlerSelected(UIHandlerBase handler)
	{
		Game.PlayHandlerSE(UIHandlerSFX.Navigation);
	}

	// Token: 0x0600160F RID: 5647 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600160F")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00")]
	private void OnTopHandlerDeselected(UIHandlerBase handler)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001610 RID: 5648 RVA: 0x00032EC4 File Offset: 0x000310C4
	[Token(Token = "0x6001610")]
	[Address(RVA = "0x8B6F10", Offset = "0x8B5D10", VA = "0x1808B6F10")]
	private void OnBottomHandlerSelected(UIHandlerBase handler)
	{
		UINavigationEffect uinavigationEffect = this.bottomNavigationEffect;
		Vector2 anchoredPosition = handler.rectTransform.anchoredPosition;
		uinavigationEffect.UpdatePos(anchoredPosition);
		if (handler.index == 100)
		{
		}
		UILabelHandler uilabelHandler = this.backHandler;
		this.bottomNavigationEffect.UpdateArrowPos(uilabelHandler);
		this.bottomNavigationEffect.Appear();
		Game.PlayHandlerSE(UIHandlerSFX.Navigation);
	}

	// Token: 0x06001611 RID: 5649 RVA: 0x00032F20 File Offset: 0x00031120
	[Token(Token = "0x6001611")]
	[Address(RVA = "0x8B6EF0", Offset = "0x8B5CF0", VA = "0x1808B6EF0")]
	private void OnBottomHandlerDeselected(UIHandlerBase handler)
	{
		this.bottomNavigationEffect.Hide();
	}

	// Token: 0x06001612 RID: 5650 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001612")]
	[Address(RVA = "0x8B6C80", Offset = "0x8B5A80", VA = "0x1808B6C80", Slot = "19")]
	public override bool IsDirty()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001613 RID: 5651 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001613")]
	[Address(RVA = "0x8B6DE0", Offset = "0x8B5BE0", VA = "0x1808B6DE0", Slot = "13")]
	public override void Move(Direction2D direction)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001614 RID: 5652 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001614")]
	[Address(RVA = "0x8B74F0", Offset = "0x8B62F0", VA = "0x1808B74F0")]
	protected void TrySwitchHandlerValue(Direction2D direction)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001615 RID: 5653 RVA: 0x00032F40 File Offset: 0x00031140
	[Token(Token = "0x6001615")]
	[Address(RVA = "0x8B7200", Offset = "0x8B6000", VA = "0x1808B7200", Slot = "22")]
	protected virtual void PlayHandlerMoveSE()
	{
		Game.PlayHandlerSE(UIHandlerSFX.Navigation);
	}

	// Token: 0x06001616 RID: 5654 RVA: 0x00032F54 File Offset: 0x00031154
	[Token(Token = "0x6001616")]
	[Address(RVA = "0x8B7550", Offset = "0x8B6350", VA = "0x1808B7550", Slot = "21")]
	public override void UpdateDirtyCheckValue()
	{
		/*
An exception occurred when decompiling this method (06001616)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UIValueBindingBase::UpdateDirtyCheckValue()

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stloc:class [mscorlib]System.ValueType[](var_0_06, callvirt:class [mscorlib]System.ValueType[](UIValueBindingBase::GetConfigValues, ldloc:UIValueBindingBase(this))); 	stfld:class [mscorlib]System.ValueType[](UIValueBindingBase::originConfigValues, ldloc:UIValueBindingBase(this), ldloc:class [mscorlib]System.ValueType[](var_0_06)); }; 
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
   --- End of inner exception stack trace ---
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
   at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
*/;
	}

	// Token: 0x06001617 RID: 5655
	[Token(Token = "0x6001617")]
	[Address(Slot = "23")]
	protected abstract ValueType[] GetConfigValues();

	// Token: 0x06001618 RID: 5656
	[Token(Token = "0x6001618")]
	[Address(Slot = "24")]
	protected abstract void UpdateTopHandlers();

	// Token: 0x06001619 RID: 5657 RVA: 0x00032F70 File Offset: 0x00031170
	[Token(Token = "0x6001619")]
	[Address(RVA = "0x8B7250", Offset = "0x8B6050", VA = "0x1808B7250", Slot = "16")]
	public override void Submit()
	{
		bool flag = this.navigator.currentHandler;
		if (flag)
		{
			if (this.navigator.currentHandler.index == 100)
			{
				this.PerformSubmissionEffect(true);
				Game.PlayHandlerScaleEffect(this.navigator.currentHandler);
				Game.PlayHandlerSE(UIHandlerSFX.ResetDefault);
				this.SetDefault();
			}
			else
			{
				ValueType[] configValues;
				if (flag)
				{
					int num = 0;
					this.PerformSubmissionEffect(num != 0);
					Game.PlayHandlerScaleEffect(this.navigator.currentHandler);
					configValues = this.GetConfigValues();
					return;
				}
				UIValueBindingHandler uivalueBindingHandler = this.topHandlers[configValues];
				RectTransform rectTransform = uivalueBindingHandler.value.rectTransform;
				int num2 = 0;
				int num3 = rectTransform.DOKill(num2 != 0);
				TweenerCore<Vector3, Vector3, VectorOptions> tweenerCore = ShortcutExtensions.DOScale(uivalueBindingHandler.value.rectTransform, 0.7f, 0.075f);
				int num4 = 0;
				TweenerCore<Vector3, Vector3, VectorOptions> tweenerCore2 = TweenSettingsExtensions.From(tweenerCore, 1f, true, num4 != 0).SetLoops(2, LoopType.Yoyo).SetEase((Ease)((uint)3))
					.Play<TweenerCore<Vector3, Vector3, VectorOptions>>();
				return;
			}
		}
	}

	// Token: 0x0600161A RID: 5658 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600161A")]
	[Address(RVA = "0x8B7100", Offset = "0x8B5F00", VA = "0x1808B7100")]
	private void PerformSubmissionEffect(bool withFadingAnimation)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600161B RID: 5659
	[Token(Token = "0x600161B")]
	[Address(Slot = "25")]
	protected abstract void SetDefault();

	// Token: 0x0600161C RID: 5660 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600161C")]
	[Address(RVA = "0x8B6D40", Offset = "0x8B5B40", VA = "0x1808B6D40")]
	protected bool IsTopHandlerSelected()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600161D RID: 5661 RVA: 0x00033060 File Offset: 0x00031260
	[Token(Token = "0x600161D")]
	[Address(RVA = "0x8B61F0", Offset = "0x8B4FF0", VA = "0x1808B61F0")]
	protected string[] GetSwitchText(GameTextData data)
	{
		string[] array;
		string text2;
		for (;;)
		{
			array = new string[2];
			string text = data.GetText(325);
			if (text == 0 || text != 0)
			{
				array[0] = text;
				text2 = data.GetText(324);
				if (text2 == 0 || text2 != 0)
				{
					break;
				}
			}
		}
		array[1] = text2;
		return array;
	}

	// Token: 0x0600161E RID: 5662 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600161E")]
	[Address(RVA = "0x8B5C40", Offset = "0x8B4A40", VA = "0x1808B5C40")]
	protected string[] GetDashMethodText(GameTextData data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600161F RID: 5663 RVA: 0x000330B4 File Offset: 0x000312B4
	[Token(Token = "0x600161F")]
	[Address(RVA = "0x8B5D70", Offset = "0x8B4B70", VA = "0x1808B5D70")]
	protected string[] GetDifficultyText(GameTextData data)
	{
		string[] array;
		string text2;
		for (;;)
		{
			array = new string[2];
			string text = data.GetText(27);
			if (text == 0 || text != 0)
			{
				array[0] = text;
				text2 = data.GetText(28);
				if (text2 == 0 || text2 != 0)
				{
					break;
				}
			}
		}
		array[1] = text2;
		return array;
	}

	// Token: 0x06001620 RID: 5664 RVA: 0x00033104 File Offset: 0x00031304
	[Token(Token = "0x6001620")]
	[Address(RVA = "0x8B60C0", Offset = "0x8B4EC0", VA = "0x1808B60C0")]
	protected string[] GetQualityText(GameTextData data)
	{
		string[] array;
		string text2;
		for (;;)
		{
			array = new string[2];
			string text = data.GetText(326);
			if (text == 0 || text != 0)
			{
				array[0] = text;
				text2 = data.GetText(327);
				if (text2 == 0 || text2 != 0)
				{
					break;
				}
			}
		}
		array[1] = text2;
		return array;
	}

	// Token: 0x06001621 RID: 5665 RVA: 0x00033158 File Offset: 0x00031358
	[Token(Token = "0x6001621")]
	[Address(RVA = "0x8B5EA0", Offset = "0x8B4CA0", VA = "0x1808B5EA0")]
	protected string[] GetFpsText(GameTextData data)
	{
		string[] array;
		string text;
		for (;;)
		{
			array = new string[4];
			if ("30 FPS" == 0 || "30 FPS" != 0)
			{
				array[0] = "30 FPS";
				if ("60 FPS" == 0 || "60 FPS" != 0)
				{
					array[1] = "60 FPS";
					if ("120 FPS" == 0 || "120 FPS" != 0)
					{
						array[2] = "120 FPS";
						text = data.GetText(330);
						if (text == 0 || text != 0)
						{
							break;
						}
					}
				}
			}
		}
		array[3] = text;
		return array;
	}

	// Token: 0x06001622 RID: 5666 RVA: 0x000331E4 File Offset: 0x000313E4
	[Token(Token = "0x6001622")]
	[Address(RVA = "0x3FBF80", Offset = "0x3FAD80", VA = "0x1803FBF80")]
	protected UIValueBindingBase()
	{
	}

	// Token: 0x040020F7 RID: 8439
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x40020F7")]
	[SerializeField]
	protected LayoutGroup layoutGroup;

	// Token: 0x040020F8 RID: 8440
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x40020F8")]
	[SerializeField]
	protected UIValueBindingHandler[] topHandlers;

	// Token: 0x040020F9 RID: 8441
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x40020F9")]
	[SerializeField]
	protected UILabelHandler resetHandler;

	// Token: 0x040020FA RID: 8442
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x40020FA")]
	[SerializeField]
	protected UILabelHandler backHandler;

	// Token: 0x040020FB RID: 8443
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x40020FB")]
	[SerializeField]
	protected UINavigationEffect bottomNavigationEffect;

	// Token: 0x040020FC RID: 8444
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x40020FC")]
	[SerializeField]
	protected Image submissionEffect;

	// Token: 0x040020FD RID: 8445
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x40020FD")]
	protected string titleText;

	// Token: 0x040020FE RID: 8446
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x40020FE")]
	protected ValueType[] originConfigValues;

	// Token: 0x040020FF RID: 8447
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x40020FF")]
	protected UIValueBindingHandler defaultHandler;

	// Token: 0x04002100 RID: 8448
	[Token(Token = "0x4002100")]
	private const int RESET_HANDLER_INDEX = 100;

	// Token: 0x04002101 RID: 8449
	[Token(Token = "0x4002101")]
	private const int BACK_HANDLER_INDEX = 101;
}
