Decompiled source of LureRefreshed v4.3.0

GDWeave/mods/Sulayre.Lure/Sulayre.Lure.dll

Decompiled 4 days ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Text.Json.Serialization;
using GDWeave;
using GDWeave.Godot;
using GDWeave.Godot.Variants;
using GDWeave.Modding;
using Sulayre.Lure.Patches;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(/*Could not decode attribute arguments.*/)]
[assembly: TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
[assembly: AssemblyCompany("Sulayre.Lure")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0.0")]
[assembly: AssemblyProduct("Sulayre.Lure")]
[assembly: AssemblyTitle("Sulayre.Lure")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Sulayre.Lure
{
	public class Config
	{
		[JsonInclude]
		public bool bonus_content = false;

		[JsonInclude]
		public bool bonus_prompt = true;
	}
	public class Mod : IMod, global::System.IDisposable
	{
		public Config Config;

		public Mod(IModInterface modInterface)
		{
			Config = modInterface.ReadConfig<Config>();
			modInterface.Logger.Information("\n88     88   88 88\"\"Yb 888888 \r\n88     88   88 88__dP 88__   \r\n88  .o Y8   8P 88\"Yb  88\"\"   \r\n88ood8 `YbodP' 88  Yb 888888 ");
			modInterface.RegisterScriptMod((IScriptMod)(object)new GlobalPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new PatternPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new FacePatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new BarkPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new ItemPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new SavePatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new TitlePatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new NetworkPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new ServerButtonPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new AquaPatcher());
			modInterface.RegisterScriptMod((IScriptMod)(object)new ShopPatcher());
		}

		public void Dispose()
		{
		}
	}
}
namespace Sulayre.Lure.Patches
{
	public class AquaPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private string path;

			public string <>3__path;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			public AquaPatcher <>4__this;

			private MultiTokenWaiter <waiter>5__1;

			private global::System.Collections.Generic.IEnumerator<Token> <>s__2;

			private Token <token>5__3;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

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

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num != -3 && (uint)(num - 1) > 20u)
				{
					return;
				}
				try
				{
				}
				finally
				{
					<>m__Finally1();
				}
			}

			private bool MoveNext()
			{
				//IL_025a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0264: Expected O, but got Unknown
				//IL_0286: Unknown result type (might be due to invalid IL or missing references)
				//IL_0290: Expected O, but got Unknown
				//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b6: Expected O, but got Unknown
				//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e2: Expected O, but got Unknown
				//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0308: Expected O, but got Unknown
				//IL_032a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0334: Expected O, but got Unknown
				//IL_0350: Unknown result type (might be due to invalid IL or missing references)
				//IL_035a: Expected O, but got Unknown
				//IL_037c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0386: Expected O, but got Unknown
				//IL_03a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b3: Expected O, but got Unknown
				//IL_03d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_03e0: Expected O, but got Unknown
				//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0407: Expected O, but got Unknown
				//IL_042a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0434: Expected O, but got Unknown
				//IL_0451: Unknown result type (might be due to invalid IL or missing references)
				//IL_045b: Expected O, but got Unknown
				//IL_047e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0488: Expected O, but got Unknown
				//IL_04ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b5: Expected O, but got Unknown
				//IL_04d2: Unknown result type (might be due to invalid IL or missing references)
				//IL_04dc: Expected O, but got Unknown
				//IL_04ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_0509: Expected O, but got Unknown
				//IL_0526: Unknown result type (might be due to invalid IL or missing references)
				//IL_0530: Expected O, but got Unknown
				//IL_052b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0535: Expected O, but got Unknown
				//IL_0555: Unknown result type (might be due to invalid IL or missing references)
				//IL_055f: Expected O, but got Unknown
				//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e2: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter>5__1 = new MultiTokenWaiter(new Func<Token, bool>[7]
						{
							delegate(Token t)
							{
								IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val2 != null && val2.Name == "texture";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								return val != null && val.Value is NilVariant;
							},
							(Token t) => (int)t.Type == 89,
							(Token t) => (int)t.Type == 40,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>s__2 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)38, (uint?)null);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = new Token((TokenType)15, (uint?)null);
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("Globals");
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("keys");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("has");
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("id");
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = new Token((TokenType)86, (uint?)null);
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("id");
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("fish_lake_carp"));
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)2u);
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						goto IL_0598;
					case 21:
						{
							<>1__state = -3;
							goto IL_0598;
						}
						IL_0598:
						<token>5__3 = null;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>s__2).MoveNext())
					{
						<token>5__3 = <>s__2.Current;
						if (<waiter>5__1.Check(<token>5__3))
						{
							<>2__current = <token>5__3;
							<>1__state = 1;
							return true;
						}
						<>2__current = <token>5__3;
						<>1__state = 21;
						return true;
					}
					<>m__Finally1();
					<>s__2 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

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

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>s__2 != null)
				{
					((global::System.IDisposable)<>s__2).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<Modify>d__.path = <>3__path;
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/AquaFish/aqua_fish.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[7]
			{
				delegate(Token t)
				{
					IdentifierToken val2 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val2 != null && val2.Name == "texture";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					return val != null && val.Value is NilVariant;
				},
				(Token t) => (int)t.Type == 89,
				(Token t) => (int)t.Type == 40,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token token = enumerator.Current;
					if (waiter.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)38, (uint?)null);
						yield return new Token((TokenType)15, (uint?)null);
						yield return (Token)new IdentifierToken("Globals");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("keys");
						yield return new Token((TokenType)80, (uint?)null);
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("has");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("id");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)86, (uint?)null);
						yield return (Token)new IdentifierToken("id");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("fish_lake_carp"));
						yield return new Token((TokenType)89, (uint?)2u);
					}
					else
					{
						yield return token;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class BarkPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private string path;

			public string <>3__path;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			public BarkPatcher <>4__this;

			private MultiTokenWaiter <waiter_ready>5__1;

			private MultiTokenWaiter <waiter_bark>5__2;

			private MultiTokenWaiter <waiter_fallback>5__3;

			private global::System.Collections.Generic.IEnumerator<Token> <>s__4;

			private Token <token>5__5;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

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

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num != -3 && (uint)(num - 1) > 56u)
				{
					return;
				}
				try
				{
				}
				finally
				{
					<>m__Finally1();
				}
			}

			private bool MoveNext()
			{
				//IL_060d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0617: Expected O, but got Unknown
				//IL_0633: Unknown result type (might be due to invalid IL or missing references)
				//IL_063d: Expected O, but got Unknown
				//IL_065f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0669: Expected O, but got Unknown
				//IL_0685: Unknown result type (might be due to invalid IL or missing references)
				//IL_068f: Expected O, but got Unknown
				//IL_068a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0694: Expected O, but got Unknown
				//IL_06b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_06c0: Expected O, but got Unknown
				//IL_06e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_06ec: Expected O, but got Unknown
				//IL_0708: Unknown result type (might be due to invalid IL or missing references)
				//IL_0712: Expected O, but got Unknown
				//IL_0734: Unknown result type (might be due to invalid IL or missing references)
				//IL_073e: Expected O, but got Unknown
				//IL_075b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0765: Expected O, but got Unknown
				//IL_0788: Unknown result type (might be due to invalid IL or missing references)
				//IL_0792: Expected O, but got Unknown
				//IL_07b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_07bc: Expected O, but got Unknown
				//IL_07d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_07e3: Expected O, but got Unknown
				//IL_0806: Unknown result type (might be due to invalid IL or missing references)
				//IL_0810: Expected O, but got Unknown
				//IL_082d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0837: Expected O, but got Unknown
				//IL_0832: Unknown result type (might be due to invalid IL or missing references)
				//IL_083c: Expected O, but got Unknown
				//IL_085f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0869: Expected O, but got Unknown
				//IL_088c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0896: Expected O, but got Unknown
				//IL_08b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_08bd: Expected O, but got Unknown
				//IL_08e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ea: Expected O, but got Unknown
				//IL_0907: Unknown result type (might be due to invalid IL or missing references)
				//IL_0911: Expected O, but got Unknown
				//IL_0934: Unknown result type (might be due to invalid IL or missing references)
				//IL_093e: Expected O, but got Unknown
				//IL_095b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0965: Expected O, but got Unknown
				//IL_0960: Unknown result type (might be due to invalid IL or missing references)
				//IL_096a: Expected O, but got Unknown
				//IL_098d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0997: Expected O, but got Unknown
				//IL_09ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_09c4: Expected O, but got Unknown
				//IL_09e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_09ee: Expected O, but got Unknown
				//IL_0a52: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a5c: Expected O, but got Unknown
				//IL_0a79: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a83: Expected O, but got Unknown
				//IL_0aa6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ab0: Expected O, but got Unknown
				//IL_0acd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ad7: Expected O, but got Unknown
				//IL_0afa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b04: Expected O, but got Unknown
				//IL_0b21: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b2b: Expected O, but got Unknown
				//IL_0b26: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b30: Expected O, but got Unknown
				//IL_0b53: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b5d: Expected O, but got Unknown
				//IL_0b80: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b8a: Expected O, but got Unknown
				//IL_0ba7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bb1: Expected O, but got Unknown
				//IL_0bd4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bde: Expected O, but got Unknown
				//IL_0bfb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c05: Expected O, but got Unknown
				//IL_0c28: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c32: Expected O, but got Unknown
				//IL_0c4f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c59: Expected O, but got Unknown
				//IL_0c7c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c86: Expected O, but got Unknown
				//IL_0ca3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cad: Expected O, but got Unknown
				//IL_0cd0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cda: Expected O, but got Unknown
				//IL_0cfa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d04: Expected O, but got Unknown
				//IL_0d65: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d6f: Expected O, but got Unknown
				//IL_0d92: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d9c: Expected O, but got Unknown
				//IL_0db9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dc3: Expected O, but got Unknown
				//IL_0de6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0df0: Expected O, but got Unknown
				//IL_0e0d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e17: Expected O, but got Unknown
				//IL_0e12: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e1c: Expected O, but got Unknown
				//IL_0e3f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e49: Expected O, but got Unknown
				//IL_0e6c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e76: Expected O, but got Unknown
				//IL_0e93: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e9d: Expected O, but got Unknown
				//IL_0ec0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0eca: Expected O, but got Unknown
				//IL_0ee7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef1: Expected O, but got Unknown
				//IL_0f14: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f1e: Expected O, but got Unknown
				//IL_02de: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e8: Expected O, but got Unknown
				//IL_03df: Unknown result type (might be due to invalid IL or missing references)
				//IL_03e9: Expected O, but got Unknown
				//IL_058e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0598: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter_ready>5__1 = new MultiTokenWaiter(new Func<Token, bool>[5]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val9 != null && val9.Name == "_ready";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86
						}, false, false);
						<waiter_bark>5__2 = new MultiTokenWaiter(new Func<Token, bool>[7]
						{
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val8 != null && val8.Name == "PlayerData";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val7 != null && val7.Name == "cosmetics_equipped";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val6 != null && val6.Name == "species";
							},
							(Token t) => (int)t.Type == 77
						}, false, false);
						<waiter_fallback>5__3 = new MultiTokenWaiter(new Func<Token, bool>[12]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val5 != null && val5.Name == "_update_cosmetics";
							},
							(Token t) => (int)t.Type == 80,
							delegate(Token t)
							{
								IdentifierToken val4 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val4 != null && val4.Name == "data";
							},
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 89,
							(Token t) => (int)t.Type == 59,
							delegate(Token t)
							{
								IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val3 != null && val3.Name == "valid";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								int result;
								if (val != null)
								{
									Variant value = val.Value;
									BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null);
									if (val2 != null)
									{
										result = (val2.Value ? 1 : 0);
										goto IL_0022;
									}
								}
								result = 0;
								goto IL_0022;
								IL_0022:
								return (byte)result != 0;
							},
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>s__4 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_instance_species_voices");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("sound_manager");
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_load_emotes");
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 21;
						return true;
					case 21:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("body/player_body/AnimationPlayer"));
						<>1__state = 22;
						return true;
					case 22:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 23;
						return true;
					case 23:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 24;
						return true;
					case 24:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 25;
						return true;
					case 25:
						<>1__state = -3;
						goto IL_0f77;
					case 26:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 27;
						return true;
					case 27:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("bark_id");
						<>1__state = 28;
						return true;
					case 28:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 29;
						return true;
					case 29:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 30;
						return true;
					case 30:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 31;
						return true;
					case 31:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 32;
						return true;
					case 32:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 33;
						return true;
					case 33:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 34;
						return true;
					case 34:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_get_voice_bundle");
						<>1__state = 35;
						return true;
					case 35:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 36;
						return true;
					case 36:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("PlayerData");
						<>1__state = 37;
						return true;
					case 37:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 38;
						return true;
					case 38:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("cosmetics_equipped");
						<>1__state = 39;
						return true;
					case 39:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 40;
						return true;
					case 40:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("species");
						<>1__state = 41;
						return true;
					case 41:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 42;
						return true;
					case 42:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 43;
						return true;
					case 43:
						<>1__state = -3;
						goto IL_0f77;
					case 44:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("data");
						<>1__state = 45;
						return true;
					case 45:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 46;
						return true;
					case 46:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 47;
						return true;
					case 47:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 48;
						return true;
					case 48:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 49;
						return true;
					case 49:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 50;
						return true;
					case 50:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 51;
						return true;
					case 51:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_improved_fallback");
						<>1__state = 52;
						return true;
					case 52:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 53;
						return true;
					case 53:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("data");
						<>1__state = 54;
						return true;
					case 54:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 55;
						return true;
					case 55:
						<>1__state = -3;
						<>2__current = <token>5__5;
						<>1__state = 56;
						return true;
					case 56:
						<>1__state = -3;
						goto IL_0f77;
					case 57:
						{
							<>1__state = -3;
							goto IL_0f77;
						}
						IL_0f77:
						<token>5__5 = null;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>s__4).MoveNext())
					{
						<token>5__5 = <>s__4.Current;
						if (<waiter_ready>5__1.Check(<token>5__5))
						{
							<>2__current = <token>5__5;
							<>1__state = 1;
							return true;
						}
						if (<waiter_bark>5__2.Check(<token>5__5))
						{
							<>2__current = <token>5__5;
							<>1__state = 26;
							return true;
						}
						if (<waiter_fallback>5__3.Check(<token>5__5))
						{
							<>2__current = <token>5__5;
							<>1__state = 44;
							return true;
						}
						<>2__current = <token>5__5;
						<>1__state = 57;
						return true;
					}
					<>m__Finally1();
					<>s__4 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

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

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>s__4 != null)
				{
					((global::System.IDisposable)<>s__4).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<Modify>d__.path = <>3__path;
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/Player/player.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter_ready = new MultiTokenWaiter(new Func<Token, bool>[5]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val9 != null && val9.Name == "_ready";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86
			}, false, false);
			MultiTokenWaiter waiter_bark = new MultiTokenWaiter(new Func<Token, bool>[7]
			{
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val8 != null && val8.Name == "PlayerData";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val7 != null && val7.Name == "cosmetics_equipped";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val6 != null && val6.Name == "species";
				},
				(Token t) => (int)t.Type == 77
			}, false, false);
			MultiTokenWaiter waiter_fallback = new MultiTokenWaiter(new Func<Token, bool>[12]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val5 != null && val5.Name == "_update_cosmetics";
				},
				(Token t) => (int)t.Type == 80,
				delegate(Token t)
				{
					IdentifierToken val4 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val4 != null && val4.Name == "data";
				},
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 89,
				(Token t) => (int)t.Type == 59,
				delegate(Token t)
				{
					IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val3 != null && val3.Name == "valid";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					int result;
					if (val != null)
					{
						Variant value = val.Value;
						BoolVariant val2 = (BoolVariant)(object)((value is BoolVariant) ? value : null);
						if (val2 != null)
						{
							result = (val2.Value ? 1 : 0);
							goto IL_0022;
						}
					}
					result = 0;
					goto IL_0022;
					IL_0022:
					return (byte)result != 0;
				},
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token token = enumerator.Current;
					if (waiter_ready.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_instance_species_voices");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("sound_manager");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_load_emotes");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("body/player_body/AnimationPlayer"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else if (waiter_bark.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("bark_id");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_get_voice_bundle");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("PlayerData");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("cosmetics_equipped");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("species");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else if (waiter_fallback.Check(token))
					{
						yield return token;
						yield return (Token)new IdentifierToken("data");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_improved_fallback");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("data");
						yield return new Token((TokenType)81, (uint?)null);
						yield return token;
					}
					else
					{
						yield return token;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class FacePatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private string path;

			public string <>3__path;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			public FacePatcher <>4__this;

			private MultiTokenWaiter <waiter>5__1;

			private global::System.Collections.Generic.IEnumerator<Token> <>s__2;

			private Token <token>5__3;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

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

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num != -3 && (uint)(num - 1) > 20u)
				{
					return;
				}
				try
				{
				}
				finally
				{
					<>m__Finally1();
				}
			}

			private bool MoveNext()
			{
				//IL_01f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_01fb: Expected O, but got Unknown
				//IL_0217: Unknown result type (might be due to invalid IL or missing references)
				//IL_0221: Expected O, but got Unknown
				//IL_0243: Unknown result type (might be due to invalid IL or missing references)
				//IL_024d: Expected O, but got Unknown
				//IL_0269: Unknown result type (might be due to invalid IL or missing references)
				//IL_0273: Expected O, but got Unknown
				//IL_026e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0278: Expected O, but got Unknown
				//IL_029a: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a4: Expected O, but got Unknown
				//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d0: Expected O, but got Unknown
				//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f6: Expected O, but got Unknown
				//IL_0318: Unknown result type (might be due to invalid IL or missing references)
				//IL_0322: Expected O, but got Unknown
				//IL_033f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0349: Expected O, but got Unknown
				//IL_036c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0376: Expected O, but got Unknown
				//IL_0393: Unknown result type (might be due to invalid IL or missing references)
				//IL_039d: Expected O, but got Unknown
				//IL_0398: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a2: Expected O, but got Unknown
				//IL_03c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_03cf: Expected O, but got Unknown
				//IL_03f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_03fc: Expected O, but got Unknown
				//IL_0419: Unknown result type (might be due to invalid IL or missing references)
				//IL_0423: Expected O, but got Unknown
				//IL_0446: Unknown result type (might be due to invalid IL or missing references)
				//IL_0450: Expected O, but got Unknown
				//IL_046d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0477: Expected O, but got Unknown
				//IL_0472: Unknown result type (might be due to invalid IL or missing references)
				//IL_047c: Expected O, but got Unknown
				//IL_049f: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a9: Expected O, but got Unknown
				//IL_04cc: Unknown result type (might be due to invalid IL or missing references)
				//IL_04d6: Expected O, but got Unknown
				//IL_04f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0500: Expected O, but got Unknown
				//IL_0172: Unknown result type (might be due to invalid IL or missing references)
				//IL_017c: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter>5__1 = new MultiTokenWaiter(new Func<Token, bool>[4]
						{
							delegate(Token t)
							{
								IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val3 != null && val3.Name == "play";
							},
							(Token t) => (int)t.Type == 80,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								int result;
								if (val != null)
								{
									Variant value = val.Value;
									StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
									if (val2 != null)
									{
										result = ((val2.Value == "dog_face") ? 1 : 0);
										goto IL_002c;
									}
								}
								result = 0;
								goto IL_002c;
								IL_002c:
								return (byte)result != 0;
							},
							(Token t) => (int)t.Type == 81
						}, false, false);
						<>s__2 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_custom_species_faces");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("AnimationPlayer"));
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = new Token((TokenType)82, (uint?)null);
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("data");
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = new Token((TokenType)76, (uint?)null);
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("species"));
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = new Token((TokenType)77, (uint?)null);
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						goto IL_0539;
					case 21:
						{
							<>1__state = -3;
							goto IL_0539;
						}
						IL_0539:
						<token>5__3 = null;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>s__2).MoveNext())
					{
						<token>5__3 = <>s__2.Current;
						if (<waiter>5__1.Check(<token>5__3))
						{
							<>2__current = <token>5__3;
							<>1__state = 1;
							return true;
						}
						<>2__current = <token>5__3;
						<>1__state = 21;
						return true;
					}
					<>m__Finally1();
					<>s__2 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

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

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>s__2 != null)
				{
					((global::System.IDisposable)<>s__2).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<Modify>d__.path = <>3__path;
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/Player/Face/player_face.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[4]
			{
				delegate(Token t)
				{
					IdentifierToken val3 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val3 != null && val3.Name == "play";
				},
				(Token t) => (int)t.Type == 80,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					int result;
					if (val != null)
					{
						Variant value = val.Value;
						StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
						if (val2 != null)
						{
							result = ((val2.Value == "dog_face") ? 1 : 0);
							goto IL_002c;
						}
					}
					result = 0;
					goto IL_002c;
					IL_002c:
					return (byte)result != 0;
				},
				(Token t) => (int)t.Type == 81
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token token = enumerator.Current;
					if (waiter.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_custom_species_faces");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("AnimationPlayer"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)82, (uint?)null);
						yield return (Token)new IdentifierToken("data");
						yield return new Token((TokenType)76, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("species"));
						yield return new Token((TokenType)77, (uint?)null);
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else
					{
						yield return token;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class GlobalPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private string path;

			public string <>3__path;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			public GlobalPatcher <>4__this;

			private MultiTokenWaiter <waiter>5__1;

			private global::System.Collections.Generic.IEnumerator<Token> <>s__2;

			private Token <token>5__3;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

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

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num != -3 && (uint)(num - 1) > 9u)
				{
					return;
				}
				try
				{
				}
				finally
				{
					<>m__Finally1();
				}
			}

			private bool MoveNext()
			{
				//IL_0191: Unknown result type (might be due to invalid IL or missing references)
				//IL_019b: Expected O, but got Unknown
				//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c1: Expected O, but got Unknown
				//IL_01e3: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ed: Expected O, but got Unknown
				//IL_0209: Unknown result type (might be due to invalid IL or missing references)
				//IL_0213: Expected O, but got Unknown
				//IL_0235: Unknown result type (might be due to invalid IL or missing references)
				//IL_023f: Expected O, but got Unknown
				//IL_025b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0265: Expected O, but got Unknown
				//IL_0287: Unknown result type (might be due to invalid IL or missing references)
				//IL_0291: Expected O, but got Unknown
				//IL_02b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_02bd: Expected O, but got Unknown
				//IL_010f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0119: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter>5__1 = new MultiTokenWaiter(new Func<Token, bool>[4]
						{
							delegate(Token t)
							{
								IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val != null && val.Name == "GAME_VERSION";
							},
							(Token t) => (int)t.Type == 23,
							(Token t) => t is ConstantToken,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>s__2 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)59, (uint?)null);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("GAME_VERSION_LURE");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)23, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("str");
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("GAME_VERSION");
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						goto IL_02f6;
					case 10:
						{
							<>1__state = -3;
							goto IL_02f6;
						}
						IL_02f6:
						<token>5__3 = null;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>s__2).MoveNext())
					{
						<token>5__3 = <>s__2.Current;
						if (<waiter>5__1.Check(<token>5__3))
						{
							<>2__current = <token>5__3;
							<>1__state = 1;
							return true;
						}
						<>2__current = <token>5__3;
						<>1__state = 10;
						return true;
					}
					<>m__Finally1();
					<>s__2 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

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

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>s__2 != null)
				{
					((global::System.IDisposable)<>s__2).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<Modify>d__.path = <>3__path;
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Singletons/globals.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter = new MultiTokenWaiter(new Func<Token, bool>[4]
			{
				delegate(Token t)
				{
					IdentifierToken val = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val != null && val.Name == "GAME_VERSION";
				},
				(Token t) => (int)t.Type == 23,
				(Token t) => t is ConstantToken,
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token token = enumerator.Current;
					if (waiter.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)59, (uint?)null);
						yield return (Token)new IdentifierToken("GAME_VERSION_LURE");
						yield return new Token((TokenType)23, (uint?)null);
						yield return (Token)new IdentifierToken("str");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("GAME_VERSION");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)89, (uint?)null);
					}
					else
					{
						yield return token;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class ItemPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private string path;

			public string <>3__path;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			public ItemPatcher <>4__this;

			private MultiTokenWaiter <waiter_use>5__1;

			private MultiTokenWaiter <waiter_release>5__2;

			private global::System.Collections.Generic.IEnumerator<Token> <>s__3;

			private Token <token>5__4;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

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

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num != -3 && (uint)(num - 1) > 37u)
				{
					return;
				}
				try
				{
				}
				finally
				{
					<>m__Finally1();
				}
			}

			private bool MoveNext()
			{
				//IL_0b5a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b64: Expected O, but got Unknown
				//IL_0b80: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b8a: Expected O, but got Unknown
				//IL_0bac: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bb6: Expected O, but got Unknown
				//IL_0bd2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bdc: Expected O, but got Unknown
				//IL_0bd7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0be1: Expected O, but got Unknown
				//IL_0c03: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c0d: Expected O, but got Unknown
				//IL_0c2f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c39: Expected O, but got Unknown
				//IL_0c55: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c5f: Expected O, but got Unknown
				//IL_0c81: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c8b: Expected O, but got Unknown
				//IL_0ca8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cb2: Expected O, but got Unknown
				//IL_0cd5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cdf: Expected O, but got Unknown
				//IL_0cfc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d06: Expected O, but got Unknown
				//IL_0d29: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d33: Expected O, but got Unknown
				//IL_0d50: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d5a: Expected O, but got Unknown
				//IL_0d7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d87: Expected O, but got Unknown
				//IL_0da4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dae: Expected O, but got Unknown
				//IL_0dd1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ddb: Expected O, but got Unknown
				//IL_0dfe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e08: Expected O, but got Unknown
				//IL_0e2b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e35: Expected O, but got Unknown
				//IL_0e55: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e5f: Expected O, but got Unknown
				//IL_0ec3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ecd: Expected O, but got Unknown
				//IL_0ef0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0efa: Expected O, but got Unknown
				//IL_0f17: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f21: Expected O, but got Unknown
				//IL_0f44: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f4e: Expected O, but got Unknown
				//IL_0f6b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f75: Expected O, but got Unknown
				//IL_0f70: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f7a: Expected O, but got Unknown
				//IL_0f9d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fa7: Expected O, but got Unknown
				//IL_0fca: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fd4: Expected O, but got Unknown
				//IL_0ff1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ffb: Expected O, but got Unknown
				//IL_101e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1028: Expected O, but got Unknown
				//IL_1045: Unknown result type (might be due to invalid IL or missing references)
				//IL_104f: Expected O, but got Unknown
				//IL_1072: Unknown result type (might be due to invalid IL or missing references)
				//IL_107c: Expected O, but got Unknown
				//IL_1099: Unknown result type (might be due to invalid IL or missing references)
				//IL_10a3: Expected O, but got Unknown
				//IL_10c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_10d0: Expected O, but got Unknown
				//IL_10f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_10fd: Expected O, but got Unknown
				//IL_1120: Unknown result type (might be due to invalid IL or missing references)
				//IL_112a: Expected O, but got Unknown
				//IL_114a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1154: Expected O, but got Unknown
				//IL_0690: Unknown result type (might be due to invalid IL or missing references)
				//IL_069a: Expected O, but got Unknown
				//IL_0ad8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ae2: Expected O, but got Unknown
				try
				{
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
						<>1__state = -1;
						<waiter_use>5__1 = new MultiTokenWaiter(new Func<Token, bool>[37]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val23 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val23 != null && val23.Name == "_use_item";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num5 = (int)t.Type == 89;
								uint? associatedData5 = t.AssociatedData;
								return num5 & (associatedData5.HasValue && associatedData5.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 38,
							(Token t) => (int)t.Type == 15,
							delegate(Token t)
							{
								IdentifierToken val22 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val22 != null && val22.Name == "controlled";
							},
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 46,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num4 = (int)t.Type == 89;
								uint? associatedData4 = t.AssociatedData;
								return num4 & (associatedData4.HasValue && associatedData4.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 38,
							delegate(Token t)
							{
								IdentifierToken val21 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val21 != null && val21.Name == "held_item";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val20 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val20 != null && val20.Name == "empty";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 46,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num3 = (int)t.Type == 89;
								uint? associatedData3 = t.AssociatedData;
								return num3 & (associatedData3.HasValue && associatedData3.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 59,
							delegate(Token t)
							{
								IdentifierToken val19 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val19 != null && val19.Name == "item_data";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								IdentifierToken val18 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val18 != null && val18.Name == "Globals";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val17 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val17 != null && val17.Name == "item_data";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								IdentifierToken val16 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val16 != null && val16.Name == "held_item";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val14 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								int result4;
								if (val14 != null)
								{
									Variant value4 = val14.Value;
									StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null);
									if (val15 != null)
									{
										result4 = ((val15.Value == "id") ? 1 : 0);
										goto IL_002c;
									}
								}
								result4 = 0;
								goto IL_002c;
								IL_002c:
								return (byte)result4 != 0;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val12 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								int result3;
								if (val12 != null)
								{
									Variant value3 = val12.Value;
									StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null);
									if (val13 != null)
									{
										result3 = ((val13.Value == "file") ? 1 : 0);
										goto IL_002c;
									}
								}
								result3 = 0;
								goto IL_002c;
								IL_002c:
								return (byte)result3 != 0;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<waiter_release>5__2 = new MultiTokenWaiter(new Func<Token, bool>[31]
						{
							(Token t) => (int)t.Type == 48,
							delegate(Token t)
							{
								IdentifierToken val11 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val11 != null && val11.Name == "_release_item";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num2 = (int)t.Type == 89;
								uint? associatedData2 = t.AssociatedData;
								return num2 & (associatedData2.HasValue && associatedData2.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 38,
							delegate(Token t)
							{
								IdentifierToken val10 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val10 != null && val10.Name == "held_item";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val9 != null && val9.Name == "empty";
							},
							(Token t) => (int)t.Type == 80,
							(Token t) => (int)t.Type == 81,
							(Token t) => (int)t.Type == 86,
							(Token t) => (int)t.Type == 46,
							delegate(Token t)
							{
								//IL_0001: Unknown result type (might be due to invalid IL or missing references)
								//IL_0008: Invalid comparison between Unknown and I4
								bool num = (int)t.Type == 89;
								uint? associatedData = t.AssociatedData;
								return num & (associatedData.HasValue && associatedData.GetValueOrDefault() == 1);
							},
							(Token t) => (int)t.Type == 59,
							delegate(Token t)
							{
								IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val8 != null && val8.Name == "item_data";
							},
							(Token t) => (int)t.Type == 23,
							delegate(Token t)
							{
								IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val7 != null && val7.Name == "Globals";
							},
							(Token t) => (int)t.Type == 84,
							delegate(Token t)
							{
								IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val6 != null && val6.Name == "item_data";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
								return val5 != null && val5.Name == "held_item";
							},
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val3 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								int result2;
								if (val3 != null)
								{
									Variant value2 = val3.Value;
									StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null);
									if (val4 != null)
									{
										result2 = ((val4.Value == "id") ? 1 : 0);
										goto IL_002c;
									}
								}
								result2 = 0;
								goto IL_002c;
								IL_002c:
								return (byte)result2 != 0;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 76,
							delegate(Token t)
							{
								ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
								int result;
								if (val != null)
								{
									Variant value = val.Value;
									StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
									if (val2 != null)
									{
										result = ((val2.Value == "file") ? 1 : 0);
										goto IL_002c;
									}
								}
								result = 0;
								goto IL_002c;
								IL_002c:
								return (byte)result != 0;
							},
							(Token t) => (int)t.Type == 77,
							(Token t) => (int)t.Type == 89
						}, false, false);
						<>s__3 = tokens.GetEnumerator();
						<>1__state = -3;
						break;
					case 1:
						<>1__state = -3;
						<>2__current = new Token((TokenType)38, (uint?)null);
						<>1__state = 2;
						return true;
					case 2:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node");
						<>1__state = 3;
						return true;
					case 3:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 4;
						return true;
					case 4:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 5;
						return true;
					case 5:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 6;
						return true;
					case 6:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 7;
						return true;
					case 7:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_call_action");
						<>1__state = 8;
						return true;
					case 8:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 9;
						return true;
					case 9:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 10;
						return true;
					case 10:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 11;
						return true;
					case 11:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("action");
						<>1__state = 12;
						return true;
					case 12:
						<>1__state = -3;
						<>2__current = new Token((TokenType)82, (uint?)null);
						<>1__state = 13;
						return true;
					case 13:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 14;
						return true;
					case 14:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 15;
						return true;
					case 15:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("action_params");
						<>1__state = 16;
						return true;
					case 16:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 17;
						return true;
					case 17:
						<>1__state = -3;
						<>2__current = new Token((TokenType)86, (uint?)null);
						<>1__state = 18;
						return true;
					case 18:
						<>1__state = -3;
						<>2__current = new Token((TokenType)46, (uint?)null);
						<>1__state = 19;
						return true;
					case 19:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 20;
						return true;
					case 20:
						<>1__state = -3;
						goto IL_118d;
					case 21:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 22;
						return true;
					case 22:
						<>1__state = -3;
						<>2__current = new Token((TokenType)38, (uint?)null);
						<>1__state = 23;
						return true;
					case 23:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("get_node_or_null");
						<>1__state = 24;
						return true;
					case 24:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 25;
						return true;
					case 25:
						<>1__state = -3;
						<>2__current = (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						<>1__state = 26;
						return true;
					case 26:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 27;
						return true;
					case 27:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 28;
						return true;
					case 28:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("_call_release");
						<>1__state = 29;
						return true;
					case 29:
						<>1__state = -3;
						<>2__current = new Token((TokenType)80, (uint?)null);
						<>1__state = 30;
						return true;
					case 30:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("item_data");
						<>1__state = 31;
						return true;
					case 31:
						<>1__state = -3;
						<>2__current = new Token((TokenType)84, (uint?)null);
						<>1__state = 32;
						return true;
					case 32:
						<>1__state = -3;
						<>2__current = (Token)new IdentifierToken("release_action");
						<>1__state = 33;
						return true;
					case 33:
						<>1__state = -3;
						<>2__current = new Token((TokenType)81, (uint?)null);
						<>1__state = 34;
						return true;
					case 34:
						<>1__state = -3;
						<>2__current = new Token((TokenType)86, (uint?)null);
						<>1__state = 35;
						return true;
					case 35:
						<>1__state = -3;
						<>2__current = new Token((TokenType)46, (uint?)null);
						<>1__state = 36;
						return true;
					case 36:
						<>1__state = -3;
						<>2__current = new Token((TokenType)89, (uint?)1u);
						<>1__state = 37;
						return true;
					case 37:
						<>1__state = -3;
						goto IL_118d;
					case 38:
						{
							<>1__state = -3;
							goto IL_118d;
						}
						IL_118d:
						<token>5__4 = null;
						break;
					}
					if (((global::System.Collections.IEnumerator)<>s__3).MoveNext())
					{
						<token>5__4 = <>s__3.Current;
						if (<waiter_use>5__1.Check(<token>5__4))
						{
							<>2__current = <token>5__4;
							<>1__state = 1;
							return true;
						}
						if (<waiter_release>5__2.Check(<token>5__4))
						{
							<>2__current = <token>5__4;
							<>1__state = 21;
							return true;
						}
						<>2__current = <token>5__4;
						<>1__state = 38;
						return true;
					}
					<>m__Finally1();
					<>s__3 = null;
					return false;
				}
				catch
				{
					//try-fault
					((global::System.IDisposable)this).Dispose();
					throw;
				}
			}

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

			private void <>m__Finally1()
			{
				<>1__state = -1;
				if (<>s__3 != null)
				{
					((global::System.IDisposable)<>s__3).Dispose();
				}
			}

			[DebuggerHidden]
			void global::System.Collections.IEnumerator.Reset()
			{
				//IL_0000: Unknown result type (might be due to invalid IL or missing references)
				throw new NotSupportedException();
			}

			[DebuggerHidden]
			global::System.Collections.Generic.IEnumerator<Token> global::System.Collections.Generic.IEnumerable<Token>.GetEnumerator()
			{
				<Modify>d__1 <Modify>d__;
				if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId)
				{
					<>1__state = 0;
					<Modify>d__ = this;
				}
				else
				{
					<Modify>d__ = new <Modify>d__1(0)
					{
						<>4__this = <>4__this
					};
				}
				<Modify>d__.path = <>3__path;
				<Modify>d__.tokens = <>3__tokens;
				return <Modify>d__;
			}

			[DebuggerHidden]
			global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator()
			{
				return (global::System.Collections.IEnumerator)((global::System.Collections.Generic.IEnumerable<Token>)this).GetEnumerator();
			}
		}

		public bool ShouldRun(string path)
		{
			return path == "res://Scenes/Entities/Player/player.gdc";
		}

		[IteratorStateMachine(typeof(<Modify>d__1))]
		public global::System.Collections.Generic.IEnumerable<Token> Modify(string path, global::System.Collections.Generic.IEnumerable<Token> tokens)
		{
			MultiTokenWaiter waiter_use = new MultiTokenWaiter(new Func<Token, bool>[37]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val23 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val23 != null && val23.Name == "_use_item";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num5 = (int)t.Type == 89;
					uint? associatedData5 = t.AssociatedData;
					return num5 & (associatedData5.HasValue && associatedData5.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 38,
				(Token t) => (int)t.Type == 15,
				delegate(Token t)
				{
					IdentifierToken val22 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val22 != null && val22.Name == "controlled";
				},
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 46,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num4 = (int)t.Type == 89;
					uint? associatedData4 = t.AssociatedData;
					return num4 & (associatedData4.HasValue && associatedData4.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 38,
				delegate(Token t)
				{
					IdentifierToken val21 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val21 != null && val21.Name == "held_item";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val20 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val20 != null && val20.Name == "empty";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 46,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num3 = (int)t.Type == 89;
					uint? associatedData3 = t.AssociatedData;
					return num3 & (associatedData3.HasValue && associatedData3.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 59,
				delegate(Token t)
				{
					IdentifierToken val19 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val19 != null && val19.Name == "item_data";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					IdentifierToken val18 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val18 != null && val18.Name == "Globals";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val17 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val17 != null && val17.Name == "item_data";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					IdentifierToken val16 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val16 != null && val16.Name == "held_item";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val14 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					int result4;
					if (val14 != null)
					{
						Variant value4 = val14.Value;
						StringVariant val15 = (StringVariant)(object)((value4 is StringVariant) ? value4 : null);
						if (val15 != null)
						{
							result4 = ((val15.Value == "id") ? 1 : 0);
							goto IL_002c;
						}
					}
					result4 = 0;
					goto IL_002c;
					IL_002c:
					return (byte)result4 != 0;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val12 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					int result3;
					if (val12 != null)
					{
						Variant value3 = val12.Value;
						StringVariant val13 = (StringVariant)(object)((value3 is StringVariant) ? value3 : null);
						if (val13 != null)
						{
							result3 = ((val13.Value == "file") ? 1 : 0);
							goto IL_002c;
						}
					}
					result3 = 0;
					goto IL_002c;
					IL_002c:
					return (byte)result3 != 0;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 89
			}, false, false);
			MultiTokenWaiter waiter_release = new MultiTokenWaiter(new Func<Token, bool>[31]
			{
				(Token t) => (int)t.Type == 48,
				delegate(Token t)
				{
					IdentifierToken val11 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val11 != null && val11.Name == "_release_item";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num2 = (int)t.Type == 89;
					uint? associatedData2 = t.AssociatedData;
					return num2 & (associatedData2.HasValue && associatedData2.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 38,
				delegate(Token t)
				{
					IdentifierToken val10 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val10 != null && val10.Name == "held_item";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val9 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val9 != null && val9.Name == "empty";
				},
				(Token t) => (int)t.Type == 80,
				(Token t) => (int)t.Type == 81,
				(Token t) => (int)t.Type == 86,
				(Token t) => (int)t.Type == 46,
				delegate(Token t)
				{
					//IL_0001: Unknown result type (might be due to invalid IL or missing references)
					//IL_0008: Invalid comparison between Unknown and I4
					bool num = (int)t.Type == 89;
					uint? associatedData = t.AssociatedData;
					return num & (associatedData.HasValue && associatedData.GetValueOrDefault() == 1);
				},
				(Token t) => (int)t.Type == 59,
				delegate(Token t)
				{
					IdentifierToken val8 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val8 != null && val8.Name == "item_data";
				},
				(Token t) => (int)t.Type == 23,
				delegate(Token t)
				{
					IdentifierToken val7 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val7 != null && val7.Name == "Globals";
				},
				(Token t) => (int)t.Type == 84,
				delegate(Token t)
				{
					IdentifierToken val6 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val6 != null && val6.Name == "item_data";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					IdentifierToken val5 = (IdentifierToken)(object)((t is IdentifierToken) ? t : null);
					return val5 != null && val5.Name == "held_item";
				},
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val3 = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					int result2;
					if (val3 != null)
					{
						Variant value2 = val3.Value;
						StringVariant val4 = (StringVariant)(object)((value2 is StringVariant) ? value2 : null);
						if (val4 != null)
						{
							result2 = ((val4.Value == "id") ? 1 : 0);
							goto IL_002c;
						}
					}
					result2 = 0;
					goto IL_002c;
					IL_002c:
					return (byte)result2 != 0;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 76,
				delegate(Token t)
				{
					ConstantToken val = (ConstantToken)(object)((t is ConstantToken) ? t : null);
					int result;
					if (val != null)
					{
						Variant value = val.Value;
						StringVariant val2 = (StringVariant)(object)((value is StringVariant) ? value : null);
						if (val2 != null)
						{
							result = ((val2.Value == "file") ? 1 : 0);
							goto IL_002c;
						}
					}
					result = 0;
					goto IL_002c;
					IL_002c:
					return (byte)result != 0;
				},
				(Token t) => (int)t.Type == 77,
				(Token t) => (int)t.Type == 89
			}, false, false);
			global::System.Collections.Generic.IEnumerator<Token> enumerator = tokens.GetEnumerator();
			try
			{
				while (((global::System.Collections.IEnumerator)enumerator).MoveNext())
				{
					Token token = enumerator.Current;
					if (waiter_use.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)38, (uint?)null);
						yield return (Token)new IdentifierToken("get_node");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_call_action");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("action");
						yield return new Token((TokenType)82, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("action_params");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)86, (uint?)null);
						yield return new Token((TokenType)46, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else if (waiter_release.Check(token))
					{
						yield return token;
						yield return new Token((TokenType)89, (uint?)1u);
						yield return new Token((TokenType)38, (uint?)null);
						yield return (Token)new IdentifierToken("get_node_or_null");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new ConstantToken((Variant)new StringVariant("/root/SulayreLure/Patches"));
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("_call_release");
						yield return new Token((TokenType)80, (uint?)null);
						yield return (Token)new IdentifierToken("item_data");
						yield return new Token((TokenType)84, (uint?)null);
						yield return (Token)new IdentifierToken("release_action");
						yield return new Token((TokenType)81, (uint?)null);
						yield return new Token((TokenType)86, (uint?)null);
						yield return new Token((TokenType)46, (uint?)null);
						yield return new Token((TokenType)89, (uint?)1u);
					}
					else
					{
						yield return token;
					}
				}
			}
			finally
			{
				((global::System.IDisposable)enumerator)?.Dispose();
			}
		}
	}
	public class JournalPatcher : IScriptMod
	{
		[CompilerGenerated]
		private sealed class <Modify>d__1 : global::System.Collections.Generic.IEnumerable<Token>, global::System.Collections.IEnumerable, global::System.Collections.Generic.IEnumerator<Token>, global::System.Collections.IEnumerator, global::System.IDisposable
		{
			private int <>1__state;

			private Token <>2__current;

			private int <>l__initialThreadId;

			private string path;

			public string <>3__path;

			private global::System.Collections.Generic.IEnumerable<Token> tokens;

			public global::System.Collections.Generic.IEnumerable<Token> <>3__tokens;

			public JournalPatcher <>4__this;

			private MultiTokenWaiter <extendswaiter>5__1;

			private MultiTokenWaiter <inwaiter>5__2;

			private TokenConsumer <consumer>5__3;

			private global::System.Collections.Generic.IEnumerator<Token> <>s__4;

			private Token <token>5__5;

			Token global::System.Collections.Generic.IEnumerator<Token>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

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

			[DebuggerHidden]
			public <Modify>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
				<>l__initialThreadId = Environment.CurrentManagedThreadId;
			}

			[DebuggerHidden]
			void global::System.IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num != -3 && (uint)(num - 1) > 13u)
				{
					return;
				}
				try
				{
				}
				finally
				{
					<>m__Finally1();
				}
			}

			private bool MoveNext()
			{
				//IL_0246: Unknown result type (might be due to invalid IL or missing references)
				//IL_0250: Expected O, but got Unknown
				//IL_0273: Unknown result type (might be due to invalid IL or missing references)
				//IL_027d: Expected O, but got Unknown
				//IL_0299: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a3: Expected O, but got Unknown
				//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d0: Expected O, but got Unknown
				//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f6: Expected O, but got Unknown
				//IL_0319: Unknown result type (might be due to invalid IL or missing references)
				//IL_0323: Expected O, but got Unknown
				//IL_033f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0349: Expected O, but got Unknown
				//IL_0344: Unknown result type (might be due to invalid IL or missing references)
				//IL_034e: Expected O, but got Unknown
				//IL_0371: Unknown result type (might be due to invalid IL or missing references)
				//IL_037b: Expected O, but got Unknown
				//IL_039f: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a9: Expected O, but got