Decompiled source of PhotoboothQOL v1.1.0

plugins/PhotoboothQOL.dll

Decompiled 2 weeks ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Steamworks;
using UnityEngine;
using UnityEngine.SceneManagement;
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: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("PhotoboothQOL")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+1a04298b889c5e545e694839949bc0102e717d0d")]
[assembly: AssemblyProduct("PhotoboothQOL")]
[assembly: AssemblyTitle("PhotoboothQOL")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
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;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace BepInEx
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	internal sealed class BepInAutoPluginAttribute : Attribute
	{
		public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null)
		{
		}
	}
}
namespace BepInEx.Preloader.Core.Patching
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	internal sealed class PatcherAutoPluginAttribute : Attribute
	{
		public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null)
		{
		}
	}
}
namespace PhotoboothQOL
{
	internal enum PhotoFilter
	{
		None,
		Grayscale,
		Vibrant,
		Sepia,
		Invert,
		HighContrast,
		Psychedelic,
		Swirl,
		Pixelate,
		FilmGrain,
		Lomo,
		Cartoon,
		Glitch
	}
	internal enum UITheme
	{
		Custom,
		ClassicBlue,
		Vintage,
		ArcticNight,
		Autumn,
		AutumnLeaves,
		BingBong,
		BlueAndGold,
		BohemianSunset,
		CandyFloss,
		CherryBlossom,
		Cloudy,
		Coral,
		CyberpunkGlow,
		DeepSea,
		DeepSpace,
		Evergreen,
		FirstClass,
		Forest,
		Galaxy,
		Grapevine,
		Industrial,
		Lavender,
		LavenderFields,
		Lemonade,
		Mediterranean,
		Midnight,
		MidnightCity,
		MidnightFlight,
		Monochrome,
		Ocean,
		OceanBreeze,
		Orange,
		PastelDream,
		Peachy,
		PinkBlossom,
		RedPop,
		Sand,
		Sky,
		Slate,
		SpringMeadow,
		Stone,
		Sunflower,
		SunnyDay,
		Sunset,
		Tropical,
		Twilight,
		UrbanNight,
		VibrantOcean,
		VintagePostcard,
		Volcanic,
		Winter,
		WinterWonderland,
		ZenGarden
	}
	[BepInPlugin("PhotoboothQOL", "PhotoboothQOL", "1.1.0")]
	public class PhotoboothQOL : BaseUnityPlugin
	{
		internal static ManualLogSource Log;

		internal static Harmony Harmony;

		internal static ConfigEntry<UITheme> SelectedTheme;

		internal static ConfigEntry<PhotoFilter> SelectedFilter;

		internal static ConfigEntry<KeyCode> ScreenshotHotkey;

		internal static ConfigEntry<string> TopBarColorHex;

		internal static ConfigEntry<string> PaperColorHex;

		internal static ConfigEntry<string> LogoColorHex;

		internal static ConfigEntry<string> BorderColorHex;

		internal static ConfigEntry<bool> EnablePhotoBorder;

		internal static ConfigEntry<bool> EnableRandomTheme;

		internal static ConfigEntry<bool> EnableRandomFilter;

		internal const float KioskExposureLift = 1.25f;

		internal const float ScreenshotExposure = 0.85f;

		internal const int INSET_PX = 4;

		private void Awake()
		{
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: Expected O, but got Unknown
			//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a7: Expected O, but got Unknown
			Log = ((BaseUnityPlugin)this).Logger;
			SelectedTheme = ((BaseUnityPlugin)this).Config.Bind<UITheme>("1. General", "Theme Preset", UITheme.Vintage, "Select a UI color theme. This is overridden if 'EnableRandomTheme' is true.");
			EnableRandomTheme = ((BaseUnityPlugin)this).Config.Bind<bool>("1. General", "Enable Random Theme", false, "Set to true to use a random theme for each photo, ignoring the 'ThemePreset' selection.");
			SelectedFilter = ((BaseUnityPlugin)this).Config.Bind<PhotoFilter>("1. General", "Photo Filter", PhotoFilter.None, "The visual filter to apply to photos. This is overridden if 'EnableRandomFilter' is true.");
			EnableRandomFilter = ((BaseUnityPlugin)this).Config.Bind<bool>("1. General", "Enable Random Filter", false, "Set to true to use a random filter for each photo, ignoring the 'PhotoFilter' selection.");
			ScreenshotHotkey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("1. General", "Screenshot Key", (KeyCode)292, "The key to press to take a custom framed screenshot.");
			EnablePhotoBorder = ((BaseUnityPlugin)this).Config.Bind<bool>("1. General", "Enable Inner Border", true, "Enable an inner border around the individual photos.");
			LogoColorHex = ((BaseUnityPlugin)this).Config.Bind<string>("2. Custom", "Logo Color", "#FFFFFFFF", "CUSTOM: The color tint of the 'BINGBONG Airlines' logo. (Only used when Theme is 'Custom')");
			TopBarColorHex = ((BaseUnityPlugin)this).Config.Bind<string>("2. Custom", "Header Color", "#2966BDFF", "CUSTOM: The color of the main header area at the top. (Only used when Theme is 'Custom')");
			PaperColorHex = ((BaseUnityPlugin)this).Config.Bind<string>("2. Custom", "Paper Color", "#FFFFFFFF", "CUSTOM: The color of the paper background where the photos are placed. (Only used when Theme is 'Custom')");
			BorderColorHex = ((BaseUnityPlugin)this).Config.Bind<string>("2. Custom", "Border Color", "#2966BDFF", "CUSTOM: The color of the thin UI border AND the inner photo border. (Only used when Theme is 'Custom')");
			Harmony = new Harmony("PhotoboothQOL");
			Harmony.PatchAll();
			SceneManager.sceneLoaded += OnSceneLoaded;
			Log.LogInfo((object)"Plugin PhotoboothQOL is loaded!");
			GameObject val = new GameObject("ScreenshotInterceptor");
			val.AddComponent<ScreenshotInterceptor>();
			Object.DontDestroyOnLoad((Object)(object)val);
		}

		private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
		{
			if (((Scene)(ref scene)).name.Equals("Airport", StringComparison.OrdinalIgnoreCase))
			{
				Log.LogInfo((object)"Airport scene loaded. Caching photo canvas for later use.");
				PhotoFrameQOL.CachePhotoCanvas();
			}
		}
	}
	internal static class Kiosk
	{
		private static readonly Type T = typeof(AirportPhotoboothKiosk);

		private static readonly FieldInfo f_anim = AccessTools.Field(T, "anim");

		private static readonly FieldInfo f_actualCamera = AccessTools.Field(T, "actualCamera");

		private static readonly FieldInfo f_photoTextures = AccessTools.Field(T, "photoTextures");

		public static Animator Anim(AirportPhotoboothKiosk k)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Expected O, but got Unknown
			return (Animator)f_anim.GetValue(k);
		}

		public static Camera Cam(AirportPhotoboothKiosk k)
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Expected O, but got Unknown
			return (Camera)f_actualCamera.GetValue(k);
		}

		public static RenderTexture[] Shots(AirportPhotoboothKiosk k)
		{
			return (RenderTexture[])f_photoTextures.GetValue(k);
		}
	}
	[HarmonyPatch(typeof(AirportPhotoboothKiosk), "PhotoboothRoutine")]
	public static class PhotoboothRoutine_Patch
	{
		[CompilerGenerated]
		private sealed class <Run>d__1 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public AirportPhotoboothKiosk kiosk;

			private Animator <anim>5__1;

			private Camera <cam>5__2;

			private RenderTexture[] <rts>5__3;

			private RectTransform <finishedCanvasRT>5__4;

			private RectTransform <frameRT>5__5;

			private PhotoboothCanvas <beh>5__6;

			private int <i>5__7;

			private int <i>5__8;

			private RenderTexture <targetRT>5__9;

			private Texture2D <processedTex>5__10;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Run>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<anim>5__1 = null;
				<cam>5__2 = null;
				<rts>5__3 = null;
				<finishedCanvasRT>5__4 = null;
				<frameRT>5__5 = null;
				<beh>5__6 = null;
				<targetRT>5__9 = null;
				<processedTex>5__10 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0105: Unknown result type (might be due to invalid IL or missing references)
				//IL_010f: Expected O, but got Unknown
				//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ca: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<anim>5__1 = Kiosk.Anim(kiosk);
					<cam>5__2 = Kiosk.Cam(kiosk);
					<rts>5__3 = Kiosk.Shots(kiosk);
					if ((Object)(object)<anim>5__1 == (Object)null || (Object)(object)<cam>5__2 == (Object)null || <rts>5__3 == null || <rts>5__3.Length < 4)
					{
						return false;
					}
					<i>5__7 = 0;
					break;
				case 1:
					<>1__state = -1;
					<cam>5__2.targetTexture = <rts>5__3[<i>5__7];
					<cam>5__2.Render();
					<>2__current = (object)new WaitForSeconds(1f);
					<>1__state = 2;
					return true;
				case 2:
					<>1__state = -1;
					<i>5__7++;
					break;
				}
				if (<i>5__7 < 4)
				{
					<anim>5__1.SetTrigger("Start");
					<>2__current = (object)new WaitForSeconds(3f);
					<>1__state = 1;
					return true;
				}
				<finishedCanvasRT>5__4 = PhotoFrameQOL.FindFinishedPhotoCanvasGlobal();
				if (!Object.op_Implicit((Object)(object)<finishedCanvasRT>5__4))
				{
					return false;
				}
				PhotoFrameQOL.ApplyUICustomization(((Component)<finishedCanvasRT>5__4).gameObject);
				PhotoFrameQOL.PrepareFourImageFrame(((Component)<finishedCanvasRT>5__4).gameObject);
				PhotoFrameQOL.CreateUIBordersForPhotobooth(((Component)<finishedCanvasRT>5__4).gameObject);
				<i>5__8 = 0;
				while (<i>5__8 < 4)
				{
					<targetRT>5__9 = <rts>5__3[<i>5__8];
					<processedTex>5__10 = PhotoFrameQOL.ProcessKioskTexture(<targetRT>5__9);
					Graphics.Blit((Texture)(object)<processedTex>5__10, <targetRT>5__9);
					Object.Destroy((Object)(object)<processedTex>5__10);
					<targetRT>5__9 = null;
					<processedTex>5__10 = null;
					<i>5__8++;
				}
				<frameRT>5__5 = PhotoFrameQOL.FindPhotoFrameRect(((Component)<finishedCanvasRT>5__4).gameObject) ?? <finishedCanvasRT>5__4;
				<beh>5__6 = ((Component)<finishedCanvasRT>5__4).GetComponent<PhotoboothCanvas>() ?? ((Component)<finishedCanvasRT>5__4).gameObject.AddComponent<PhotoboothCanvas>();
				<beh>5__6.ShowAndAutosave(<finishedCanvasRT>5__4, <frameRT>5__5, null);
				return false;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		private static bool Prefix(AirportPhotoboothKiosk __instance, ref IEnumerator __result)
		{
			__result = Run(__instance);
			return false;
		}

		[IteratorStateMachine(typeof(<Run>d__1))]
		private static IEnumerator Run(AirportPhotoboothKiosk kiosk)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <Run>d__1(0)
			{
				kiosk = kiosk
			};
		}
	}
	public class ScreenshotInterceptor : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <CaptureAndFrameScreenshot>d__1 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public ScreenshotInterceptor <>4__this;

			private GameObject <hudCanvas>5__1;

			private GameObject <versionCheck>5__2;

			private Texture2D <screenshot>5__3;

			private RectTransform <finishedCanvasRT>5__4;

			private RawImage <singleImageSlot>5__5;

			private RectTransform <frameRT>5__6;

			private PhotoboothCanvas <beh>5__7;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <CaptureAndFrameScreenshot>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || num == 1)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<hudCanvas>5__1 = null;
				<versionCheck>5__2 = null;
				<screenshot>5__3 = null;
				<finishedCanvasRT>5__4 = null;
				<singleImageSlot>5__5 = null;
				<frameRT>5__6 = null;
				<beh>5__7 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_008c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0096: Expected O, but got Unknown
				bool result;
				try
				{
					switch (<>1__state)
					{
					default:
						result = false;
						break;
					case 0:
						<>1__state = -1;
						<hudCanvas>5__1 = GameObject.Find("Canvas_HUD");
						<versionCheck>5__2 = GameObject.Find("GAME/VersionCheck");
						<>1__state = -3;
						if ((Object)(object)<hudCanvas>5__1 != (Object)null)
						{
							<hudCanvas>5__1.SetActive(false);
						}
						if ((Object)(object)<versionCheck>5__2 != (Object)null)
						{
							<versionCheck>5__2.SetActive(false);
						}
						<>2__current = (object)new WaitForEndOfFrame();
						<>1__state = 1;
						result = true;
						break;
					case 1:
						<>1__state = -3;
						<screenshot>5__3 = ScreenCapture.CaptureScreenshotAsTexture();
						if (!Object.op_Implicit((Object)(object)<screenshot>5__3))
						{
							result = false;
						}
						else
						{
							<screenshot>5__3 = PhotoFrameQOL.ApplyExposure(<screenshot>5__3, 0.85f);
							<screenshot>5__3 = PhotoFrameQOL.ApplyFilter(<screenshot>5__3);
							<finishedCanvasRT>5__4 = PhotoFrameQOL.FindFinishedPhotoCanvasGlobal();
							if (!Object.op_Implicit((Object)(object)<finishedCanvasRT>5__4))
							{
								Object.Destroy((Object)(object)<screenshot>5__3);
								result = false;
							}
							else
							{
								PhotoFrameQOL.ApplyUICustomization(((Component)<finishedCanvasRT>5__4).gameObject);
								PhotoFrameQOL.DrawBorderOnTexture(<screenshot>5__3);
								<singleImageSlot>5__5 = PhotoFrameQOL.PrepareSingleImageFrame(((Component)<finishedCanvasRT>5__4).gameObject);
								if (!((Object)(object)<singleImageSlot>5__5 == (Object)null))
								{
									<singleImageSlot>5__5.texture = (Texture)(object)<screenshot>5__3;
									<frameRT>5__6 = PhotoFrameQOL.FindPhotoFrameRect(((Component)<finishedCanvasRT>5__4).gameObject) ?? <finishedCanvasRT>5__4;
									<beh>5__7 = ((Component)<finishedCanvasRT>5__4).GetComponent<PhotoboothCanvas>() ?? ((Component)<finishedCanvasRT>5__4).gameObject.AddComponent<PhotoboothCanvas>();
									<beh>5__7.ShowAndAutosave(<finishedCanvasRT>5__4, <frameRT>5__6, new List<Texture2D> { <screenshot>5__3 });
									<screenshot>5__3 = null;
									<finishedCanvasRT>5__4 = null;
									<singleImageSlot>5__5 = null;
									<frameRT>5__6 = null;
									<beh>5__7 = null;
									<>m__Finally1();
									result = false;
									break;
								}
								Object.Destroy((Object)(object)<screenshot>5__3);
								result = false;
							}
						}
						<>m__Finally1();
						break;
					}
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
				return result;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if ((Object)(object)<hudCanvas>5__1 != (Object)null)
				{
					<hudCanvas>5__1.SetActive(true);
				}
				if ((Object)(object)<versionCheck>5__2 != (Object)null)
				{
					<versionCheck>5__2.SetActive(true);
				}
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		private void Update()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			if (Input.GetKeyDown(PhotoboothQOL.ScreenshotHotkey.Value) && !Object.op_Implicit((Object)(object)Object.FindAnyObjectByType<PhotoboothCanvas>()))
			{
				PhotoboothQOL.Log.LogInfo((object)$"Hotkey '{PhotoboothQOL.ScreenshotHotkey.Value}' pressed! Creating single photo.");
				((MonoBehaviour)this).StartCoroutine(CaptureAndFrameScreenshot());
			}
		}

		[IteratorStateMachine(typeof(<CaptureAndFrameScreenshot>d__1))]
		private IEnumerator CaptureAndFrameScreenshot()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <CaptureAndFrameScreenshot>d__1(0)
			{
				<>4__this = this
			};
		}
	}
	public class PhotoboothCanvas : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <Co_ShowAndAutosave>d__4 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public RectTransform canvasRT;

			public RectTransform frameRT;

			public PhotoboothCanvas <>4__this;

			private CanvasGroup[] <groups>5__1;

			private Canvas <canvas>5__2;

			private CanvasScaler <scaler>5__3;

			private CanvasGroup[] <>s__4;

			private int <>s__5;

			private CanvasGroup <g>5__6;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <Co_ShowAndAutosave>d__4(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<groups>5__1 = null;
				<canvas>5__2 = null;
				<scaler>5__3 = null;
				<>s__4 = null;
				<g>5__6 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_01eb: Expected O, but got Unknown
				//IL_0222: Unknown result type (might be due to invalid IL or missing references)
				//IL_022c: Expected O, but got Unknown
				//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>4__this._anim = ((Component)<>4__this).GetComponent<Animator>();
					if (Object.op_Implicit((Object)(object)<>4__this._anim))
					{
						<>4__this._animPrevEnabled = ((Behaviour)<>4__this._anim).enabled;
						((Behaviour)<>4__this._anim).enabled = false;
					}
					<groups>5__1 = ((Component)<>4__this).GetComponentsInChildren<CanvasGroup>(true);
					<>s__4 = <groups>5__1;
					for (<>s__5 = 0; <>s__5 < <>s__4.Length; <>s__5++)
					{
						<g>5__6 = <>s__4[<>s__5];
						<g>5__6.alpha = 1f;
						<g>5__6.interactable = true;
						<g>5__6.blocksRaycasts = true;
						<g>5__6 = null;
					}
					<>s__4 = null;
					<canvas>5__2 = ((Component)<>4__this).GetComponent<Canvas>() ?? ((Component)<>4__this).gameObject.AddComponent<Canvas>();
					<scaler>5__3 = ((Component)<>4__this).GetComponent<CanvasScaler>() ?? ((Component)<>4__this).gameObject.AddComponent<CanvasScaler>();
					<canvas>5__2.renderMode = (RenderMode)0;
					<canvas>5__2.sortingOrder = 5000;
					<scaler>5__3.uiScaleMode = (ScaleMode)1;
					<scaler>5__3.referenceResolution = new Vector2(1920f, 1080f);
					((Component)<>4__this).gameObject.SetActive(true);
					<>2__current = null;
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					<>2__current = (object)new WaitForEndOfFrame();
					<>1__state = 2;
					return true;
				case 2:
					<>1__state = -1;
					TryCropAndSave(Object.op_Implicit((Object)(object)frameRT) ? frameRT : canvasRT);
					<>2__current = (object)new WaitForSeconds(2f);
					<>1__state = 3;
					return true;
				case 3:
					<>1__state = -1;
					<>4__this.HideAndCleanup();
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		private Animator? _anim;

		private bool _animPrevEnabled;

		private readonly List<Texture2D> _owned = new List<Texture2D>();

		public void ShowAndAutosave(RectTransform canvasRT, RectTransform frameRT, List<Texture2D>? ownedPhotos)
		{
			if (ownedPhotos != null)
			{
				_owned.AddRange(ownedPhotos);
			}
			((MonoBehaviour)this).StopAllCoroutines();
			((MonoBehaviour)this).StartCoroutine(Co_ShowAndAutosave(canvasRT, frameRT));
		}

		[IteratorStateMachine(typeof(<Co_ShowAndAutosave>d__4))]
		private IEnumerator Co_ShowAndAutosave(RectTransform canvasRT, RectTransform frameRT)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <Co_ShowAndAutosave>d__4(0)
			{
				<>4__this = this,
				canvasRT = canvasRT,
				frameRT = frameRT
			};
		}

		private void HideAndCleanup()
		{
			if (Object.op_Implicit((Object)(object)_anim))
			{
				((Behaviour)_anim).enabled = _animPrevEnabled;
			}
			foreach (Texture2D item in _owned)
			{
				if (Object.op_Implicit((Object)(object)item))
				{
					Object.Destroy((Object)(object)item);
				}
			}
			_owned.Clear();
			((Component)this).gameObject.SetActive(false);
		}

		private static void TryCropAndSave(RectTransform targetRT)
		{
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Expected O, but got Unknown
			//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_012c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0131: Unknown result type (might be due to invalid IL or missing references)
			//IL_0137: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_014d: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				if (!Object.op_Implicit((Object)(object)targetRT))
				{
					return;
				}
				Vector3[] array = (Vector3[])(object)new Vector3[4];
				targetRT.GetWorldCorners(array);
				Vector2 val = RectTransformUtility.WorldToScreenPoint((Camera)null, array[0]);
				Vector2 val2 = RectTransformUtility.WorldToScreenPoint((Camera)null, array[2]);
				int num = Mathf.RoundToInt(val.x) + 4;
				int num2 = Mathf.RoundToInt(val.y) + 4;
				int num3 = Mathf.RoundToInt(val2.x - val.x) - 8;
				int num4 = Mathf.RoundToInt(val2.y - val.y) - 12;
				num = Mathf.Clamp(num, 0, Screen.width - 1);
				num2 = Mathf.Clamp(num2, 0, Screen.height - 1);
				num3 = Mathf.Clamp(num3, 1, Screen.width - num);
				num4 = Mathf.Clamp(num4, 1, Screen.height - num2);
				Texture2D val3 = new Texture2D(num3, num4, (TextureFormat)3, false);
				val3.ReadPixels(new Rect((float)num, (float)num2, (float)num3, (float)num4), 0, 0, false);
				val3.Apply(false, false);
				byte[] rawTextureData = val3.GetRawTextureData();
				byte[] array2 = PhotoFrameQOL.FlipVertical(rawTextureData, num3, num4);
				if (SteamManager.Initialized)
				{
					ScreenshotHandle val4 = SteamScreenshots.WriteScreenshot(array2, (uint)array2.Length, num3, num4);
					if (!((ScreenshotHandle)(ref val4)).Equals(default(ScreenshotHandle)))
					{
						SteamScreenshots.SetLocation(val4, "Airport Photobooth");
					}
				}
				Object.Destroy((Object)(object)val3);
			}
			catch (Exception arg)
			{
				ManualLogSource log = PhotoboothQOL.Log;
				if (log != null)
				{
					log.LogError((object)$"Crop+Save failed: {arg}");
				}
			}
		}
	}
	public static class PhotoFrameQOL
	{
		private static RectTransform? _persistentCanvas;

		internal static Color CurrentPhotoBorderColor = Color.white;

		private static UITheme GetCurrentTheme()
		{
			if (PhotoboothQOL.EnableRandomTheme.Value)
			{
				Array values = Enum.GetValues(typeof(UITheme));
				int index = Random.Range(1, values.Length);
				return (UITheme)values.GetValue(index);
			}
			return PhotoboothQOL.SelectedTheme.Value;
		}

		private static PhotoFilter GetCurrentFilter()
		{
			if (PhotoboothQOL.EnableRandomFilter.Value)
			{
				Array values = Enum.GetValues(typeof(PhotoFilter));
				int index = Random.Range(1, values.Length);
				return (PhotoFilter)values.GetValue(index);
			}
			return PhotoboothQOL.SelectedFilter.Value;
		}

		public static void CachePhotoCanvas()
		{
			if (!Object.op_Implicit((Object)(object)_persistentCanvas))
			{
				RectTransform[] source = Resources.FindObjectsOfTypeAll<RectTransform>();
				RectTransform val = ((IEnumerable<RectTransform>)source).FirstOrDefault((Func<RectTransform, bool>)((RectTransform rt) => Object.op_Implicit((Object)(object)rt) && ((Object)rt).name.IndexOf("FinishedPhotoCanvas", StringComparison.OrdinalIgnoreCase) >= 0));
				if (Object.op_Implicit((Object)(object)val))
				{
					GameObject val2 = Object.Instantiate<GameObject>(((Component)val).gameObject);
					((Object)val2).name = "QOL_PersistentPhotoCanvas";
					Object.DontDestroyOnLoad((Object)(object)val2);
					_persistentCanvas = val2.GetComponent<RectTransform>();
					((Component)_persistentCanvas).gameObject.SetActive(false);
					PhotoboothQOL.Log.LogInfo((object)"Successfully cached a persistent copy of the photo canvas.");
				}
			}
		}

		public static RectTransform? FindFinishedPhotoCanvasGlobal()
		{
			if (Object.op_Implicit((Object)(object)_persistentCanvas))
			{
				((Component)_persistentCanvas).gameObject.SetActive(true);
				return _persistentCanvas;
			}
			PhotoboothQOL.Log.LogError((object)"Photo canvas not available. You must visit the Airport scene at least once to enable this feature in other scenes for now.");
			return null;
		}

		public static List<RawImage> FindOriginalPhotoSlots(GameObject canvasRoot)
		{
			List<RawImage> list = new List<RawImage>();
			Transform val = FindChildByNameRec(canvasRoot.transform, "Grid");
			Transform val2 = (Object.op_Implicit((Object)(object)val) ? val : canvasRoot.transform);
			if ((Object)(object)val2 != (Object)null)
			{
				RawImage[] componentsInChildren = ((Component)val2).GetComponentsInChildren<RawImage>(true);
				foreach (RawImage val3 in componentsInChildren)
				{
					if (((Object)val3).name.IndexOf("Photo", StringComparison.OrdinalIgnoreCase) >= 0)
					{
						list.Add(val3);
					}
				}
			}
			list.Sort((RawImage a, RawImage b) => string.Compare(((Object)a).name, ((Object)b).name, StringComparison.OrdinalIgnoreCase));
			return list;
		}

		public static RawImage? PrepareSingleImageFrame(GameObject canvasRoot)
		{
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Expected O, but got Unknown
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			Transform val = FindChildByNameRec(canvasRoot.transform, "Grid");
			Transform val2 = (Object.op_Implicit((Object)(object)val) ? val : canvasRoot.transform);
			if ((Object)(object)val2 == (Object)null)
			{
				return null;
			}
			for (int i = 0; i < val2.childCount; i++)
			{
				Transform child = val2.GetChild(i);
				if (((Object)child).name != "SingleScreenshotDisplay")
				{
					((Component)child).gameObject.SetActive(false);
				}
			}
			Transform val3 = val2.Find("SingleScreenshotDisplay");
			if (Object.op_Implicit((Object)(object)val3))
			{
				((Component)val3).gameObject.SetActive(true);
				return ((Component)val3).GetComponent<RawImage>();
			}
			GameObject val4 = new GameObject("SingleScreenshotDisplay", new Type[1] { typeof(RectTransform) });
			val4.transform.SetParent(val2, false);
			RectTransform component = val4.GetComponent<RectTransform>();
			component.anchorMin = Vector2.zero;
			component.anchorMax = Vector2.one;
			component.offsetMin = Vector2.zero;
			component.offsetMax = Vector2.zero;
			return val4.AddComponent<RawImage>();
		}

		public static void PrepareFourImageFrame(GameObject canvasRoot)
		{
			Transform val = FindChildByNameRec(canvasRoot.transform, "Grid");
			Transform val2 = (Object.op_Implicit((Object)(object)val) ? val : canvasRoot.transform);
			if ((Object)(object)val2 == (Object)null)
			{
				return;
			}
			Transform val3 = val2.Find("SingleScreenshotDisplay");
			if (Object.op_Implicit((Object)(object)val3))
			{
				((Component)val3).gameObject.SetActive(false);
			}
			for (int i = 0; i < val2.childCount; i++)
			{
				Transform child = val2.GetChild(i);
				if (((Object)child).name != "SingleScreenshotDisplay")
				{
					((Component)child).gameObject.SetActive(true);
				}
			}
		}

		public static RectTransform? FindPhotoFrameRect(GameObject canvasRoot)
		{
			string[] array = new string[5] { "Image", "Photo", "Frame", "Paper", "Border" };
			string[] array2 = array;
			foreach (string name in array2)
			{
				Transform val = FindChildByNameRec(canvasRoot.transform, name);
				if (Object.op_Implicit((Object)(object)val))
				{
					return (RectTransform?)(object)((val is RectTransform) ? val : null);
				}
			}
			return null;
		}

		public static Transform? FindChildByNameRec(Transform root, string name)
		{
			if (((Object)root).name.Equals(name, StringComparison.OrdinalIgnoreCase))
			{
				return root;
			}
			for (int i = 0; i < root.childCount; i++)
			{
				Transform val = FindChildByNameRec(root.GetChild(i), name);
				if (Object.op_Implicit((Object)(object)val))
				{
					return val;
				}
			}
			return null;
		}

		private static Color ParseHex(string hex, Color fallback)
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: 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_0015: Unknown result type (might be due to invalid IL or missing references)
			Color result = default(Color);
			if (ColorUtility.TryParseHtmlString(hex, ref result))
			{
				return result;
			}
			return fallback;
		}

		public static void ApplyUICustomization(GameObject canvasRoot)
		{
			//IL_1926: Unknown result type (might be due to invalid IL or missing references)
			//IL_192b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1930: Unknown result type (might be due to invalid IL or missing references)
			//IL_193b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1940: Unknown result type (might be due to invalid IL or missing references)
			//IL_1945: Unknown result type (might be due to invalid IL or missing references)
			//IL_1950: Unknown result type (might be due to invalid IL or missing references)
			//IL_1955: Unknown result type (might be due to invalid IL or missing references)
			//IL_195a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1965: Unknown result type (might be due to invalid IL or missing references)
			//IL_196a: Unknown result type (might be due to invalid IL or missing references)
			//IL_196f: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_05fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0610: Unknown result type (might be due to invalid IL or missing references)
			//IL_0615: Unknown result type (might be due to invalid IL or missing references)
			//IL_061a: Unknown result type (might be due to invalid IL or missing references)
			//IL_062f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0634: Unknown result type (might be due to invalid IL or missing references)
			//IL_0639: Unknown result type (might be due to invalid IL or missing references)
			//IL_0648: Unknown result type (might be due to invalid IL or missing references)
			//IL_064d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0652: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			//IL_011e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Unknown result type (might be due to invalid IL or missing references)
			//IL_0147: Unknown result type (might be due to invalid IL or missing references)
			//IL_0153: Unknown result type (might be due to invalid IL or missing references)
			//IL_0158: Unknown result type (might be due to invalid IL or missing references)
			//IL_015d: Unknown result type (might be due to invalid IL or missing references)
			//IL_142f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1434: Unknown result type (might be due to invalid IL or missing references)
			//IL_1439: Unknown result type (might be due to invalid IL or missing references)
			//IL_144e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1453: Unknown result type (might be due to invalid IL or missing references)
			//IL_1458: Unknown result type (might be due to invalid IL or missing references)
			//IL_146d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1472: Unknown result type (might be due to invalid IL or missing references)
			//IL_1477: Unknown result type (might be due to invalid IL or missing references)
			//IL_1489: Unknown result type (might be due to invalid IL or missing references)
			//IL_148e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1493: Unknown result type (might be due to invalid IL or missing references)
			//IL_032e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0333: Unknown result type (might be due to invalid IL or missing references)
			//IL_0338: Unknown result type (might be due to invalid IL or missing references)
			//IL_0347: Unknown result type (might be due to invalid IL or missing references)
			//IL_034c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0351: Unknown result type (might be due to invalid IL or missing references)
			//IL_0362: Unknown result type (might be due to invalid IL or missing references)
			//IL_0367: Unknown result type (might be due to invalid IL or missing references)
			//IL_036c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0378: Unknown result type (might be due to invalid IL or missing references)
			//IL_037d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0382: Unknown result type (might be due to invalid IL or missing references)
			//IL_115f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1164: Unknown result type (might be due to invalid IL or missing references)
			//IL_1169: Unknown result type (might be due to invalid IL or missing references)
			//IL_117e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1183: Unknown result type (might be due to invalid IL or missing references)
			//IL_1188: Unknown result type (might be due to invalid IL or missing references)
			//IL_119d: Unknown result type (might be due to invalid IL or missing references)
			//IL_11a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_11a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_11b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_11ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_11bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_057c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0581: Unknown result type (might be due to invalid IL or missing references)
			//IL_0586: Unknown result type (might be due to invalid IL or missing references)
			//IL_059b: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d9b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dba: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dbf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dc4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dda: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ddf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0df1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0df6: Unknown result type (might be due to invalid IL or missing references)
			//IL_17d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_17d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_17db: Unknown result type (might be due to invalid IL or missing references)
			//IL_17f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_17f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_17fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_180f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1814: Unknown result type (might be due to invalid IL or missing references)
			//IL_1819: Unknown result type (might be due to invalid IL or missing references)
			//IL_182b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1830: Unknown result type (might be due to invalid IL or missing references)
			//IL_1835: Unknown result type (might be due to invalid IL or missing references)
			//IL_0efa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f19: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f1e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f23: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f3d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f42: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f5c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f61: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ade: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0af8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0afd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b02: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b21: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b36: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b40: Unknown result type (might be due to invalid IL or missing references)
			//IL_12cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_12d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_12d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_12ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_12ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1309: Unknown result type (might be due to invalid IL or missing references)
			//IL_130e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1313: Unknown result type (might be due to invalid IL or missing references)
			//IL_1328: Unknown result type (might be due to invalid IL or missing references)
			//IL_132d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1332: Unknown result type (might be due to invalid IL or missing references)
			//IL_0411: Unknown result type (might be due to invalid IL or missing references)
			//IL_0416: Unknown result type (might be due to invalid IL or missing references)
			//IL_041b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0430: Unknown result type (might be due to invalid IL or missing references)
			//IL_0435: Unknown result type (might be due to invalid IL or missing references)
			//IL_043a: Unknown result type (might be due to invalid IL or missing references)
			//IL_044f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0454: Unknown result type (might be due to invalid IL or missing references)
			//IL_0459: Unknown result type (might be due to invalid IL or missing references)
			//IL_0468: Unknown result type (might be due to invalid IL or missing references)
			//IL_046d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0472: Unknown result type (might be due to invalid IL or missing references)
			//IL_151b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1520: Unknown result type (might be due to invalid IL or missing references)
			//IL_1525: Unknown result type (might be due to invalid IL or missing references)
			//IL_1530: Unknown result type (might be due to invalid IL or missing references)
			//IL_1535: Unknown result type (might be due to invalid IL or missing references)
			//IL_153a: Unknown result type (might be due to invalid IL or missing references)
			//IL_154b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1550: Unknown result type (might be due to invalid IL or missing references)
			//IL_1555: Unknown result type (might be due to invalid IL or missing references)
			//IL_1566: Unknown result type (might be due to invalid IL or missing references)
			//IL_156b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1570: Unknown result type (might be due to invalid IL or missing references)
			//IL_1067: Unknown result type (might be due to invalid IL or missing references)
			//IL_106c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1071: Unknown result type (might be due to invalid IL or missing references)
			//IL_1086: Unknown result type (might be due to invalid IL or missing references)
			//IL_108b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1090: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_10aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_10af: Unknown result type (might be due to invalid IL or missing references)
			//IL_10c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_10c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_10cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a02: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a07: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a0c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a21: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a26: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a2b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a40: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a45: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a4a: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_07c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_07cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_07fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0800: Unknown result type (might be due to invalid IL or missing references)
			//IL_0805: Unknown result type (might be due to invalid IL or missing references)
			//IL_073a: Unknown result type (might be due to invalid IL or missing references)
			//IL_073f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0744: Unknown result type (might be due to invalid IL or missing references)
			//IL_0759: Unknown result type (might be due to invalid IL or missing references)
			//IL_075e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0763: Unknown result type (might be due to invalid IL or missing references)
			//IL_0778: Unknown result type (might be due to invalid IL or missing references)
			//IL_077d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0782: Unknown result type (might be due to invalid IL or missing references)
			//IL_078c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0791: Unknown result type (might be due to invalid IL or missing references)
			//IL_0796: Unknown result type (might be due to invalid IL or missing references)
			//IL_0252: Unknown result type (might be due to invalid IL or missing references)
			//IL_0257: Unknown result type (might be due to invalid IL or missing references)
			//IL_025c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0271: Unknown result type (might be due to invalid IL or missing references)
			//IL_0276: Unknown result type (might be due to invalid IL or missing references)
			//IL_027b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0290: Unknown result type (might be due to invalid IL or missing references)
			//IL_0295: Unknown result type (might be due to invalid IL or missing references)
			//IL_029a: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_1581: Unknown result type (might be due to invalid IL or missing references)
			//IL_1586: Unknown result type (might be due to invalid IL or missing references)
			//IL_158b: Unknown result type (might be due to invalid IL or missing references)
			//IL_15a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_15a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_15aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_15bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_15c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_15c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_15de: Unknown result type (might be due to invalid IL or missing references)
			//IL_15e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_15e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bcd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c06: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c0b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c21: Unknown result type (might be due to invalid IL or missing references)
			//IL_1846: Unknown result type (might be due to invalid IL or missing references)
			//IL_184b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1850: Unknown result type (might be due to invalid IL or missing references)
			//IL_1865: Unknown result type (might be due to invalid IL or missing references)
			//IL_186a: Unknown result type (might be due to invalid IL or missing references)
			//IL_186f: Unknown result type (might be due to invalid IL or missing references)
			//IL_187e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1883: Unknown result type (might be due to invalid IL or missing references)
			//IL_1888: Unknown result type (might be due to invalid IL or missing references)
			//IL_1894: Unknown result type (might be due to invalid IL or missing references)
			//IL_1899: Unknown result type (might be due to invalid IL or missing references)
			//IL_189e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0504: Unknown result type (might be due to invalid IL or missing references)
			//IL_0509: Unknown result type (might be due to invalid IL or missing references)
			//IL_050e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0523: Unknown result type (might be due to invalid IL or missing references)
			//IL_0528: Unknown result type (might be due to invalid IL or missing references)
			//IL_052d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0542: Unknown result type (might be due to invalid IL or missing references)
			//IL_0547: Unknown result type (might be due to invalid IL or missing references)
			//IL_054c: Unknown result type (might be due to invalid IL or missing references)
			//IL_055b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0560: Unknown result type (might be due to invalid IL or missing references)
			//IL_0565: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d25: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d2a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d2f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d44: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d63: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d68: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d6d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d7f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d84: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d89: Unknown result type (might be due to invalid IL or missing references)
			//IL_16df: Unknown result type (might be due to invalid IL or missing references)
			//IL_16e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_16e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_16fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_1703: Unknown result type (might be due to invalid IL or missing references)
			//IL_1708: Unknown result type (might be due to invalid IL or missing references)
			//IL_171d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1722: Unknown result type (might be due to invalid IL or missing references)
			//IL_1727: Unknown result type (might be due to invalid IL or missing references)
			//IL_1738: Unknown result type (might be due to invalid IL or missing references)
			//IL_173d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1742: Unknown result type (might be due to invalid IL or missing references)
			//IL_15fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1601: Unknown result type (might be due to invalid IL or missing references)
			//IL_1606: Unknown result type (might be due to invalid IL or missing references)
			//IL_161b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1620: Unknown result type (might be due to invalid IL or missing references)
			//IL_1625: Unknown result type (might be due to invalid IL or missing references)
			//IL_1637: Unknown result type (might be due to invalid IL or missing references)
			//IL_163c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1641: Unknown result type (might be due to invalid IL or missing references)
			//IL_1653: Unknown result type (might be due to invalid IL or missing references)
			//IL_1658: Unknown result type (might be due to invalid IL or missing references)
			//IL_165d: Unknown result type (might be due to invalid IL or missing references)
			//IL_016e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0173: Unknown result type (might be due to invalid IL or missing references)
			//IL_0178: Unknown result type (might be due to invalid IL or missing references)
			//IL_018d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0192: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e82: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e87: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e8c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eab: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ec0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ec5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eca: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0edb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0663: Unknown result type (might be due to invalid IL or missing references)
			//IL_0668: Unknown result type (might be due to invalid IL or missing references)
			//IL_066d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0679: Unknown result type (might be due to invalid IL or missing references)
			//IL_067e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0683: Unknown result type (might be due to invalid IL or missing references)
			//IL_0698: Unknown result type (might be due to invalid IL or missing references)
			//IL_069d: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_166b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1670: Unknown result type (might be due to invalid IL or missing references)
			//IL_1675: Unknown result type (might be due to invalid IL or missing references)
			//IL_168a: Unknown result type (might be due to invalid IL or missing references)
			//IL_168f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1694: Unknown result type (might be due to invalid IL or missing references)
			//IL_16a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_16b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_16bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_16c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_16c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_02df: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0300: Unknown result type (might be due to invalid IL or missing references)
			//IL_0305: Unknown result type (might be due to invalid IL or missing references)
			//IL_0310: Unknown result type (might be due to invalid IL or missing references)
			//IL_0315: Unknown result type (might be due to invalid IL or missing references)
			//IL_031a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0977: Unknown result type (might be due to invalid IL or missing references)
			//IL_097c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0981: Unknown result type (might be due to invalid IL or missing references)
			//IL_0996: Unknown result type (might be due to invalid IL or missing references)
			//IL_099b: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_09b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_09bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_09db: Unknown result type (might be due to invalid IL or missing references)
			//IL_06cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_06f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0709: Unknown result type (might be due to invalid IL or missing references)
			//IL_070e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0713: Unknown result type (might be due to invalid IL or missing references)
			//IL_0721: Unknown result type (might be due to invalid IL or missing references)
			//IL_0726: Unknown result type (might be due to invalid IL or missing references)
			//IL_072b: Unknown result type (might be due to invalid IL or missing references)
			//IL_10e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_1104: Unknown result type (might be due to invalid IL or missing references)
			//IL_1109: Unknown result type (might be due to invalid IL or missing references)
			//IL_110e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1123: Unknown result type (might be due to invalid IL or missing references)
			//IL_1128: Unknown result type (might be due to invalid IL or missing references)
			//IL_112d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1142: Unknown result type (might be due to invalid IL or missing references)
			//IL_1147: Unknown result type (might be due to invalid IL or missing references)
			//IL_114c: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_18bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_18c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_18d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_18dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_18e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_18f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_18f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_18fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_190f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1914: Unknown result type (might be due to invalid IL or missing references)
			//IL_1919: Unknown result type (might be due to invalid IL or missing references)
			//IL_0489: Unknown result type (might be due to invalid IL or missing references)
			//IL_048e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0493: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_0819: Unknown result type (might be due to invalid IL or missing references)
			//IL_081e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0823: Unknown result type (might be due to invalid IL or missing references)
			//IL_0838: Unknown result type (might be due to invalid IL or missing references)
			//IL_083d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0842: Unknown result type (might be due to invalid IL or missing references)
			//IL_0857: Unknown result type (might be due to invalid IL or missing references)
			//IL_085c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0861: Unknown result type (might be due to invalid IL or missing references)
			//IL_0870: Unknown result type (might be due to invalid IL or missing references)
			//IL_0875: Unknown result type (might be due to invalid IL or missing references)
			//IL_087a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a5e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a63: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a68: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a7d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a82: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a87: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ab5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aba: Unknown result type (might be due to invalid IL or missing references)
			//IL_0abf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c40: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c45: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c5a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c5f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c64: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c79: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c7e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c83: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c9d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ca2: Unknown result type (might be due to invalid IL or missing references)
			//IL_088b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0890: Unknown result type (might be due to invalid IL or missing references)
			//IL_0895: Unknown result type (might be due to invalid IL or missing references)
			//IL_08aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_08af: Unknown result type (might be due to invalid IL or missing references)
			//IL_08b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_08df: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e10: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e15: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e1a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e2f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e34: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e39: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e48: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e4d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e52: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e67: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e6c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e71: Unknown result type (might be due to invalid IL or missing references)
			//IL_1759: Unknown result type (might be due to invalid IL or missing references)
			//IL_175e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1763: Unknown result type (might be due to invalid IL or missing references)
			//IL_1778: Unknown result type (might be due to invalid IL or missing references)
			//IL_177d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1782: Unknown result type (might be due to invalid IL or missing references)
			//IL_1797: Unknown result type (might be due to invalid IL or missing references)
			//IL_179c: Unknown result type (might be due to invalid IL or missing references)
			//IL_17a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_17bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_13ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_13df: Unknown result type (might be due to invalid IL or missing references)
			//IL_13e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_13e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_13f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_13fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1402: Unknown result type (might be due to invalid IL or missing references)
			//IL_1414: Unknown result type (might be due to invalid IL or missing references)
			//IL_1419: Unknown result type (might be due to invalid IL or missing references)
			//IL_141e: Unknown result type (might be due to invalid IL or missing references)
			//IL_11d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_11da: Unknown result type (might be due to invalid IL or missing references)
			//IL_11df: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_11fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_1210: Unknown result type (might be due to invalid IL or missing references)
			//IL_1215: Unknown result type (might be due to invalid IL or missing references)
			//IL_121a: Unknown result type (might be due to invalid IL or missing references)
			//IL_122c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1231: Unknown result type (might be due to invalid IL or missing references)
			//IL_1236: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0204: Unknown result type (might be due to invalid IL or missing references)
			//IL_0209: Unknown result type (might be due to invalid IL or missing references)
			//IL_021e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0223: Unknown result type (might be due to invalid IL or missing references)
			//IL_0228: Unknown result type (might be due to invalid IL or missing references)
			//IL_0237: Unknown result type (might be due to invalid IL or missing references)
			//IL_023c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0241: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0904: Unknown result type (might be due to invalid IL or missing references)
			//IL_0909: Unknown result type (might be due to invalid IL or missing references)
			//IL_091e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0923: Unknown result type (might be due to invalid IL or missing references)
			//IL_0928: Unknown result type (might be due to invalid IL or missing references)
			//IL_093d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0942: Unknown result type (might be due to invalid IL or missing references)
			//IL_0947: Unknown result type (might be due to invalid IL or missing references)
			//IL_0956: Unknown result type (might be due to invalid IL or missing references)
			//IL_095b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0960: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f75: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f7f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f94: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f99: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f9e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fbd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fcc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fd1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fd6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b51: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b56: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b70: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b75: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b8c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b96: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ba8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bad: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bb2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1342: Unknown result type (might be due to invalid IL or missing references)
			//IL_1347: Unknown result type (might be due to invalid IL or missing references)
			//IL_134c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1361: Unknown result type (might be due to invalid IL or missing references)
			//IL_1366: Unknown result type (might be due to invalid IL or missing references)
			//IL_136b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1380: Unknown result type (might be due to invalid IL or missing references)
			//IL_1385: Unknown result type (might be due to invalid IL or missing references)
			//IL_138a: Unknown result type (might be due to invalid IL or missing references)
			//IL_139f: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_14aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_14af: Unknown result type (might be due to invalid IL or missing references)
			//IL_14b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_14c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_14d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_14e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_14f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1501: Unknown result type (might be due to invalid IL or missing references)
			//IL_1506: Unknown result type (might be due to invalid IL or missing references)
			//IL_150b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cbd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cdc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ceb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cf0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cf5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0399: Unknown result type (might be due to invalid IL or missing references)
			//IL_039e: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ff0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ff5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ffa: Unknown result type (might be due to invalid IL or missing references)
			//IL_100f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1014: Unknown result type (might be due to invalid IL or missing references)
			//IL_1019: Unknown result type (might be due to invalid IL or missing references)
			//IL_102e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1033: Unknown result type (might be due to invalid IL or missing references)
			//IL_1038: Unknown result type (might be due to invalid IL or missing references)
			//IL_104d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1052: Unknown result type (might be due to invalid IL or missing references)
			//IL_1057: Unknown result type (might be due to invalid IL or missing references)
			//IL_124d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1252: Unknown result type (might be due to invalid IL or missing references)
			//IL_1257: Unknown result type (might be due to invalid IL or missing references)
			//IL_126c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1271: Unknown result type (might be due to invalid IL or missing references)
			//IL_1276: Unknown result type (might be due to invalid IL or missing references)
			//IL_128b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1290: Unknown result type (might be due to invalid IL or missing references)
			//IL_1295: Unknown result type (might be due to invalid IL or missing references)
			//IL_12a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_12ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_12b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_19a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_19d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a0d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a4a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a4b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a43: Unknown result type (might be due to invalid IL or missing references)
			Color color;
			Color color2;
			Color color3;
			Color val;
			switch (GetCurrentTheme())
			{
			case UITheme.Vintage:
				color = Color32.op_Implicit(new Color32((byte)127, (byte)85, (byte)57, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)230, (byte)204, (byte)178, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)221, (byte)190, (byte)169, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)84, (byte)57, (byte)36, byte.MaxValue));
				break;
			case UITheme.Midnight:
				color = Color32.op_Implicit(new Color32((byte)29, (byte)44, (byte)77, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)217, (byte)217, (byte)217, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)166, (byte)180, (byte)216, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)15, (byte)23, (byte)42, byte.MaxValue));
				break;
			case UITheme.Sunset:
				color = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)107, (byte)53, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)253, (byte)248, (byte)239, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)247, (byte)197, (byte)159, byte.MaxValue));
				val = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)107, (byte)53, byte.MaxValue));
				break;
			case UITheme.Forest:
				color = Color32.op_Implicit(new Color32((byte)46, (byte)125, (byte)50, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)232, (byte)245, (byte)233, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)165, (byte)214, (byte)167, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)27, (byte)94, (byte)32, byte.MaxValue));
				break;
			case UITheme.Ocean:
				color = Color32.op_Implicit(new Color32((byte)0, (byte)121, (byte)107, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)178, (byte)235, (byte)242, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)77, (byte)182, (byte)172, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)0, (byte)77, (byte)64, byte.MaxValue));
				break;
			case UITheme.Autumn:
				color = Color32.op_Implicit(new Color32((byte)217, (byte)93, (byte)57, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)160, (byte)82, (byte)45, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)240, (byte)165, (byte)0, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)75, (byte)46, (byte)45, byte.MaxValue));
				break;
			case UITheme.Winter:
				color = Color32.op_Implicit(new Color32((byte)30, (byte)136, (byte)229, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)225, (byte)245, (byte)254, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)144, (byte)202, (byte)249, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)13, (byte)71, (byte)161, byte.MaxValue));
				break;
			case UITheme.Coral:
				color = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)138, (byte)101, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)204, (byte)188, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)171, (byte)145, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)191, (byte)54, (byte)12, byte.MaxValue));
				break;
			case UITheme.PinkBlossom:
				color = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)111, (byte)145, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)228, (byte)225, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)179, (byte)193, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)194, (byte)24, (byte)91, byte.MaxValue));
				break;
			case UITheme.Lavender:
				color = Color32.op_Implicit(new Color32((byte)179, (byte)157, (byte)219, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)225, (byte)190, (byte)231, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)209, (byte)196, (byte)233, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)123, (byte)31, (byte)162, byte.MaxValue));
				break;
			case UITheme.BingBong:
				color = Color32.op_Implicit(new Color32((byte)173, (byte)188, (byte)61, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)217, (byte)222, (byte)155, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)213, (byte)133, (byte)34, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)162, (byte)168, (byte)33, byte.MaxValue));
				break;
			case UITheme.ClassicBlue:
				color = Color32.op_Implicit(new Color32((byte)41, (byte)102, (byte)189, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)41, (byte)102, (byte)189, byte.MaxValue));
				break;
			case UITheme.MidnightFlight:
				color = Color32.op_Implicit(new Color32((byte)26, (byte)26, (byte)29, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)44, (byte)44, (byte)48, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)224, (byte)224, (byte)224, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)71, (byte)71, (byte)76, byte.MaxValue));
				break;
			case UITheme.Orange:
				color = Color32.op_Implicit(new Color32((byte)232, (byte)93, (byte)4, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)248, (byte)231, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)248, (byte)231, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)232, (byte)93, (byte)4, byte.MaxValue));
				break;
			case UITheme.FirstClass:
				color = Color32.op_Implicit(new Color32((byte)109, (byte)0, (byte)0, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)253, (byte)245, (byte)230, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)253, (byte)245, (byte)230, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)109, (byte)0, (byte)0, byte.MaxValue));
				break;
			case UITheme.Evergreen:
				color = Color32.op_Implicit(new Color32((byte)19, (byte)70, (byte)17, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)240, (byte)239, (byte)234, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)240, (byte)239, (byte)234, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)19, (byte)70, (byte)17, byte.MaxValue));
				break;
			case UITheme.RedPop:
				color = Color32.op_Implicit(new Color32((byte)224, (byte)26, (byte)79, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)249, (byte)251, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)224, (byte)26, (byte)79, byte.MaxValue));
				break;
			case UITheme.Slate:
				color = Color32.op_Implicit(new Color32((byte)73, (byte)88, (byte)103, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)247, (byte)247, (byte)247, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)73, (byte)88, (byte)103, byte.MaxValue));
				break;
			case UITheme.Tropical:
				color = Color32.op_Implicit(new Color32((byte)0, (byte)129, (byte)167, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)253, (byte)253, byte.MaxValue, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)240, (byte)113, (byte)103, byte.MaxValue));
				break;
			case UITheme.OceanBreeze:
				color = Color32.op_Implicit(new Color32((byte)116, (byte)189, (byte)224, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)234, (byte)244, (byte)244, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)116, (byte)189, (byte)224, byte.MaxValue));
				break;
			case UITheme.DeepSpace:
				color = Color32.op_Implicit(new Color32((byte)32, (byte)12, (byte)60, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)60, (byte)60, (byte)92, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)201, (byte)203, (byte)163, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)201, (byte)203, (byte)163, byte.MaxValue));
				break;
			case UITheme.Sand:
				color = Color32.op_Implicit(new Color32((byte)161, (byte)122, (byte)77, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)248, (byte)244, (byte)227, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)248, (byte)244, (byte)227, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)161, (byte)122, (byte)77, byte.MaxValue));
				break;
			case UITheme.CherryBlossom:
				color = Color32.op_Implicit(new Color32((byte)242, (byte)169, (byte)179, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)253, (byte)240, (byte)242, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)242, (byte)169, (byte)179, byte.MaxValue));
				break;
			case UITheme.UrbanNight:
				color = Color32.op_Implicit(new Color32((byte)52, (byte)58, (byte)64, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)241, (byte)241, (byte)241, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)238, (byte)50, byte.MaxValue));
				val = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)238, (byte)50, byte.MaxValue));
				break;
			case UITheme.Grapevine:
				color = Color32.op_Implicit(new Color32((byte)94, (byte)47, (byte)95, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)248, (byte)220, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)248, (byte)220, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)94, (byte)47, (byte)95, byte.MaxValue));
				break;
			case UITheme.Sky:
				color = Color32.op_Implicit(new Color32((byte)176, (byte)208, (byte)211, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)248, (byte)248, (byte)248, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)176, (byte)208, (byte)211, byte.MaxValue));
				break;
			case UITheme.Volcanic:
				color = Color32.op_Implicit(new Color32((byte)54, (byte)69, (byte)79, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)245, (byte)245, (byte)245, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)205, (byte)92, (byte)92, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)205, (byte)92, (byte)92, byte.MaxValue));
				break;
			case UITheme.LavenderFields:
				color = Color32.op_Implicit(new Color32((byte)138, (byte)121, (byte)176, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)240, (byte)240, (byte)245, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)240, (byte)240, (byte)245, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)138, (byte)121, (byte)176, byte.MaxValue));
				break;
			case UITheme.BlueAndGold:
				color = Color32.op_Implicit(new Color32((byte)0, (byte)0, (byte)128, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(byte.MaxValue, (byte)215, (byte)0, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)0, (byte)0, (byte)128, byte.MaxValue));
				break;
			case UITheme.SpringMeadow:
				color = Color32.op_Implicit(new Color32((byte)167, (byte)215, (byte)197, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)240, (byte)253, (byte)245, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32((byte)83, (byte)170, (byte)104, byte.MaxValue));
				val = Color32.op_Implicit(new Color32((byte)167, (byte)215, (byte)197, byte.MaxValue));
				break;
			case UITheme.MidnightCity:
				color = Color32.op_Implicit(new Color32((byte)28, (byte)46, (byte)74, byte.MaxValue));
				color2 = Color32.op_Implicit(new Color32((byte)245, (byte)248, (byte)250, byte.MaxValue));
				color3 = Color32.op_Implicit(new Color32(b