Decompiled source of Traffic Lights Enhancement Alpha v0.2.19

C2VM.CommonLibraries/C2VM.CommonLibraries.LaneSystem.dll

Decompiled 2 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using C2VM.CommonLibraries.LaneSystem;
using Colossal.Collections;
using Colossal.Mathematics;
using Colossal.Serialization.Entities;
using Game;
using Game.Areas;
using Game.Buildings;
using Game.City;
using Game.Common;
using Game.Net;
using Game.Objects;
using Game.Pathfind;
using Game.Prefabs;
using Game.Simulation;
using Game.Tools;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Unity.Burst;
using Unity.Burst.Intrinsics;
using Unity.Collections;
using Unity.Entities;
using Unity.Jobs;
using Unity.Mathematics;
using UnityEngine;
using UnityEngine.Scripting;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
[assembly: AssemblyCompany("C2VM.CommonLibraries.LaneSystem")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("C2VM.CommonLibraries.LaneSystem")]
[assembly: AssemblyFileVersion("0.0.11.0")]
[assembly: AssemblyInformationalVersion("0.0.11+ecf49e603458e7ed9312ba1ea1f0f6dddc213fd0")]
[assembly: AssemblyProduct("C2VM.CommonLibraries.LaneSystem")]
[assembly: AssemblyTitle("C2VM.CommonLibraries.LaneSystem")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.11.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class IsReadOnlyAttribute : Attribute
	{
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace C2VM.CommonLibraries.LaneSystem
{
	public struct ConnectPositionSource : IBufferElementData
	{
		public float3 m_Position;

		public float3 m_Tangent;

		public Entity m_Owner;

		public ushort m_GroupIndex;

		public int m_LaneIndex;

		public bool m_HasLeftTurnEdge;

		public bool m_HasRightTurnEdge;

		public bool m_HasStraightEdge;

		public ConnectPositionSource(float3 position, float3 tangent, Entity owner, ushort groupIndex, int laneIndex)
		{
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Unknown result type (might be due to invalid IL or missing references)
			m_HasLeftTurnEdge = false;
			m_HasRightTurnEdge = false;
			m_HasStraightEdge = false;
			m_Position = position;
			m_Tangent = tangent;
			m_Owner = owner;
			m_GroupIndex = groupIndex;
			m_LaneIndex = laneIndex;
		}

		public bool Equals(ConnectPositionSource other)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			if (((float3)(ref m_Position)).Equals(other.m_Position))
			{
				return true;
			}
			if (((Entity)(ref m_Owner)).Equals(other.m_Owner) && m_LaneIndex.Equals(other.m_LaneIndex))
			{
				return true;
			}
			return false;
		}

		public static bool Contains(DynamicBuffer<ConnectPositionSource> buffer, ConnectPositionSource position)
		{
			for (int i = 0; i < buffer.Length; i++)
			{
				if (buffer[i].Equals(position))
				{
					return true;
				}
			}
			return false;
		}

		public static explicit operator ConnectPositionSource(CustomLaneDirection lane)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			return new ConnectPositionSource(lane.m_Position, lane.m_Tangent, lane.m_Owner, lane.m_GroupIndex, lane.m_LaneIndex);
		}
	}
	public struct ConnectPositionTarget : IBufferElementData
	{
		public float3 m_Position;

		public ConnectPositionTarget(float3 position)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			m_Position = position;
		}

		public bool Equals(ConnectPositionTarget other)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			return ((float3)(ref m_Position)).Equals(other.m_Position);
		}

		public override int GetHashCode()
		{
			return ((object)(float3)(ref m_Position)).GetHashCode();
		}
	}
	public struct CustomLaneDirection : IBufferElementData, IQueryTypeParameter, ISerializable
	{
		public struct Restriction
		{
			public bool m_BanLeft;

			public bool m_BanRight;

			public bool m_BanStraight;

			public bool m_BanUTurn;
		}

		public static Restriction LeftOnly = new Restriction
		{
			m_BanStraight = true,
			m_BanRight = true,
			m_BanUTurn = true
		};

		public static Restriction StraightOnly = new Restriction
		{
			m_BanLeft = true,
			m_BanRight = true,
			m_BanUTurn = true
		};

		public static Restriction RightOnly = new Restriction
		{
			m_BanLeft = true,
			m_BanStraight = true,
			m_BanUTurn = true
		};

		public static Restriction LeftAndStraight = new Restriction
		{
			m_BanRight = true,
			m_BanUTurn = true
		};

		public static Restriction RightAndStraight = new Restriction
		{
			m_BanLeft = true,
			m_BanUTurn = true
		};

		public static Restriction[][] DefaultConfig = new Restriction[9][]
		{
			new Restriction[0],
			new Restriction[1]
			{
				new Restriction
				{
					m_BanUTurn = true
				}
			},
			new Restriction[2] { LeftAndStraight, RightAndStraight },
			new Restriction[3] { LeftOnly, StraightOnly, RightOnly },
			new Restriction[4] { LeftOnly, LeftAndStraight, RightAndStraight, RightOnly },
			new Restriction[5] { LeftOnly, StraightOnly, StraightOnly, StraightOnly, RightOnly },
			new Restriction[6] { LeftOnly, LeftOnly, StraightOnly, StraightOnly, RightOnly, RightOnly },
			new Restriction[7] { LeftOnly, LeftOnly, StraightOnly, StraightOnly, StraightOnly, RightOnly, RightOnly },
			new Restriction[8] { LeftOnly, LeftOnly, StraightOnly, StraightOnly, StraightOnly, StraightOnly, RightOnly, RightOnly }
		};

		public float3 m_Position;

		public float3 m_Tangent;

		public Entity m_Owner;

		public ushort m_GroupIndex;

		public int m_LaneIndex;

		public Restriction m_Restriction;

		public bool m_Initialised;

		public static Restriction DefaultRestriction(int laneCount, int laneIndex)
		{
			if (laneCount >= DefaultConfig.Length || laneIndex >= DefaultConfig[laneCount].Length)
			{
				return default(Restriction);
			}
			return DefaultConfig[laneCount][laneIndex];
		}

		public CustomLaneDirection(float3 position, float3 tangent, Entity owner, ushort groupIndex, int laneIndex, Restriction restriction)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_0009: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			m_Position = position;
			m_Tangent = tangent;
			m_Owner = owner;
			m_GroupIndex = groupIndex;
			m_LaneIndex = laneIndex;
			m_Restriction = restriction;
			m_Initialised = true;
		}

		public bool Equals(CustomLaneDirection other)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			if (Equals(other.m_Position, other.m_Tangent, other.m_Owner, other.m_GroupIndex, other.m_LaneIndex))
			{
				return true;
			}
			return false;
		}

		public bool Equals(float3 position, float3 tangent, Entity owner, ushort groupIndex, int laneIndex)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			if (((float3)(ref m_Position)).Equals(position))
			{
				return true;
			}
			if (((Entity)(ref m_Owner)).Equals(owner) && m_LaneIndex.Equals(laneIndex))
			{
				return true;
			}
			if (((Entity)(ref m_Owner)).Equals(Entity.Null) && math.dot(math.normalizesafe(((float3)(ref m_Tangent)).xz, default(float2)), math.normalizesafe(((float3)(ref tangent)).xz, default(float2))) > 0.99f && m_LaneIndex.Equals(laneIndex))
			{
				return true;
			}
			return false;
		}

		public bool LooseEquals(float3 position, float3 tangent, Entity owner, ushort groupIndex, int laneIndex)
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			if (((float3)(ref m_Position)).Equals(position))
			{
				return true;
			}
			if (math.abs(m_Position.x - position.x) + math.abs(m_Position.y - position.y) + math.abs(m_Position.z - position.z) < 3f && math.dot(math.normalizesafe(((float3)(ref m_Tangent)).xz, default(float2)), math.normalizesafe(((float3)(ref tangent)).xz, default(float2))) > 0.99f && m_LaneIndex.Equals(laneIndex))
			{
				return true;
			}
			return false;
		}

		public static bool Get(DynamicBuffer<CustomLaneDirection> buffer, float3 position, float3 tangent, Entity owner, ushort groupIndex, int laneIndex, out CustomLaneDirection customLaneDirection)
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			customLaneDirection = default(CustomLaneDirection);
			for (int i = 0; i < buffer.Length; i++)
			{
				if (buffer[i].Equals(position, tangent, owner, groupIndex, laneIndex))
				{
					customLaneDirection = buffer[i];
					return true;
				}
			}
			return false;
		}

		public void Serialize<TWriter>(TWriter writer) where TWriter : IWriter
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
			((IWriter)writer).Write(float.MaxValue);
			((IWriter)writer).Write(3);
			((IWriter)writer).Write(m_Position);
			((IWriter)writer).Write(m_Tangent);
			((IWriter)writer).Write(m_GroupIndex);
			((IWriter)writer).Write(m_LaneIndex);
			((IWriter)writer).Write(m_Restriction.m_BanLeft);
			((IWriter)writer).Write(m_Restriction.m_BanRight);
			((IWriter)writer).Write(m_Restriction.m_BanStraight);
			((IWriter)writer).Write(m_Restriction.m_BanUTurn);
			((IWriter)writer).Write(m_Owner);
		}

		public void Deserialize<TReader>(TReader reader) where TReader : IReader
		{
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0133: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
			float num = default(float);
			((IReader)reader).Read(ref num);
			if (num == float.MaxValue)
			{
				int num2 = default(int);
				((IReader)reader).Read(ref num2);
				if (num2 == 2 || num2 == 3)
				{
					((IReader)reader).Read(ref m_Position);
					((IReader)reader).Read(ref m_Tangent);
					((IReader)reader).Read(ref m_GroupIndex);
					((IReader)reader).Read(ref m_LaneIndex);
					((IReader)reader).Read(ref m_Restriction.m_BanLeft);
					((IReader)reader).Read(ref m_Restriction.m_BanRight);
					((IReader)reader).Read(ref m_Restriction.m_BanStraight);
					((IReader)reader).Read(ref m_Restriction.m_BanUTurn);
					m_Owner = Entity.Null;
					if (num2 == 3)
					{
						((IReader)reader).Read(ref m_Owner);
					}
				}
			}
			else
			{
				int num2 = 1;
				float num3 = default(float);
				((IReader)reader).Read(ref num3);
				float num4 = default(float);
				((IReader)reader).Read(ref num4);
				m_Position = new float3(num, num3, num4);
				((IReader)reader).Read(ref m_Restriction.m_BanLeft);
				((IReader)reader).Read(ref m_Restriction.m_BanRight);
				((IReader)reader).Read(ref m_Restriction.m_BanStraight);
				((IReader)reader).Read(ref m_Restriction.m_BanUTurn);
			}
			m_Initialised = true;
		}
	}
	[HarmonyPatch]
	internal class Patches
	{
		[HarmonyPatch(typeof(SystemOrder), "Initialize")]
		[HarmonyPostfix]
		private static void Initialize(UpdateSystem updateSystem)
		{
			updateSystem.UpdateAt<C2VMPatchedLaneSystem>((SystemUpdatePhase)6);
		}

		[HarmonyPatch(typeof(LaneSystem), "OnCreate")]
		[HarmonyPrefix]
		private static bool OnCreate(LaneSystem __instance)
		{
			return false;
		}

		[HarmonyPatch(typeof(LaneSystem), "OnUpdate")]
		[HarmonyPrefix]
		private static bool OnUpdate(LaneSystem __instance)
		{
			return false;
		}
	}
	[BepInPlugin("C2VM.CommonLibraries.LaneSystem", "C2VM.CommonLibraries.LaneSystem", "0.0.11")]
	public class Plugin : BaseUnityPlugin
	{
		private void Awake()
		{
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			string informationalVersion = ((AssemblyInformationalVersionAttribute)Attribute.GetCustomAttribute(Assembly.GetAssembly(typeof(Plugin)), typeof(AssemblyInformationalVersionAttribute))).InformationalVersion;
			((BaseUnityPlugin)this).Logger.LogInfo((object)("Plugin C2VM.CommonLibraries.LaneSystem " + informationalVersion + " is loaded!"));
			new Harmony("C2VM.CommonLibraries.LaneSystem").PatchAll();
		}
	}
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "C2VM.CommonLibraries.LaneSystem";

		public const string PLUGIN_NAME = "C2VM.CommonLibraries.LaneSystem";

		public const string PLUGIN_VERSION = "0.0.11";
	}
}
namespace Game.Net
{
	[CompilerGenerated]
	public class C2VMPatchedLaneSystem : GameSystemBase
	{
		private struct LaneKey : IEquatable<LaneKey>
		{
			private Lane m_Lane;

			private Entity m_Prefab;

			private LaneFlags m_Flags;

			public LaneKey(Lane lane, Entity prefab, LaneFlags flags)
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				//IL_0008: Unknown result type (might be due to invalid IL or missing references)
				//IL_0009: Unknown result type (might be due to invalid IL or missing references)
				//IL_000f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Unknown result type (might be due to invalid IL or missing references)
				//IL_0012: Unknown result type (might be due to invalid IL or missing references)
				m_Lane = lane;
				m_Prefab = prefab;
				m_Flags = (LaneFlags)(flags & 6);
			}

			public void ReplaceOwner(Entity oldOwner, Entity newOwner)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_000c: Unknown result type (might be due to invalid IL or missing references)
				//IL_001d: Unknown result type (might be due to invalid IL or missing references)
				//IL_001e: Unknown result type (might be due to invalid IL or missing references)
				//IL_002f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0030: Unknown result type (might be due to invalid IL or missing references)
				((PathNode)(ref m_Lane.m_StartNode)).ReplaceOwner(oldOwner, newOwner);
				((PathNode)(ref m_Lane.m_MiddleNode)).ReplaceOwner(oldOwner, newOwner);
				((PathNode)(ref m_Lane.m_EndNode)).ReplaceOwner(oldOwner, newOwner);
			}

			public bool Equals(LaneKey other)
			{
				//IL_0007: Unknown result type (might be due to invalid IL or missing references)
				//IL_001a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_002d: Unknown result type (might be due to invalid IL or missing references)
				if (((Lane)(ref m_Lane)).Equals(other.m_Lane) && ((Entity)(ref m_Prefab)).Equals(other.m_Prefab))
				{
					return m_Flags == other.m_Flags;
				}
				return false;
			}

			public override int GetHashCode()
			{
				return ((object)(Lane)(ref m_Lane)).GetHashCode();
			}
		}

		private struct ConnectionKey : IEquatable<ConnectionKey>
		{
			private int4 m_Data;

			public ConnectionKey(ConnectPosition sourcePosition, ConnectPosition targetPosition)
			{
				//IL_0007: Unknown result type (might be due to invalid IL or missing references)
				//IL_001d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0033: Unknown result type (might be due to invalid IL or missing references)
				//IL_0049: Unknown result type (might be due to invalid IL or missing references)
				m_Data.x = sourcePosition.m_Owner.Index;
				m_Data.y = sourcePosition.m_LaneData.m_Index;
				m_Data.z = targetPosition.m_Owner.Index;
				m_Data.w = targetPosition.m_LaneData.m_Index;
			}

			public bool Equals(ConnectionKey other)
			{
				//IL_0007: Unknown result type (might be due to invalid IL or missing references)
				return ((int4)(ref m_Data)).Equals(other.m_Data);
			}

			public override int GetHashCode()
			{
				return ((object)(int4)(ref m_Data)).GetHashCode();
			}
		}

		public struct ConnectPosition
		{
			public NetCompositionLane m_LaneData;

			public Entity m_Owner;

			public Entity m_NodeComposition;

			public Entity m_EdgeComposition;

			public float3 m_Position;

			public float3 m_Tangent;

			public float m_Order;

			public CompositionData m_CompositionData;

			public float m_CurvePosition;

			public float m_BaseHeight;

			public float m_Elevation;

			public ushort m_GroupIndex;

			public byte m_SegmentIndex;

			public byte m_UnsafeCount;

			public byte m_ForbiddenCount;

			public TrackTypes m_TrackTypes;

			public UtilityTypes m_UtilityTypes;

			public bool m_IsEnd;

			public bool m_IsSideConnection;
		}

		private struct EdgeTarget
		{
			public Entity m_Edge;

			public Entity m_StartNode;

			public Entity m_EndNode;

			public float3 m_StartPos;

			public float3 m_StartTangent;

			public float3 m_EndPos;

			public float3 m_EndTangent;
		}

		private struct MiddleConnection
		{
			public ConnectPosition m_ConnectPosition;

			public Entity m_SourceEdge;

			public Entity m_SourceNode;

			public Curve m_TargetCurve;

			public float m_TargetCurvePos;

			public float m_Distance;

			public CompositionData m_TargetComposition;

			public Entity m_TargetLane;

			public Entity m_TargetOwner;

			public LaneFlags m_TargetFlags;

			public uint m_TargetGroup;

			public int m_SortIndex;

			public ushort m_TargetIndex;

			public ushort m_TargetCarriageway;

			public bool m_IsSource;
		}

		[StructLayout(LayoutKind.Sequential, Size = 1)]
		private struct SourcePositionComparer : IComparer<ConnectPosition>
		{
			public int Compare(ConnectPosition x, ConnectPosition y)
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_000c: Unknown result type (might be due to invalid IL or missing references)
				int num = x.m_Owner.Index - y.m_Owner.Index;
				return math.select((int)math.sign(x.m_Order - y.m_Order), num, num != 0);
			}
		}

		[StructLayout(LayoutKind.Sequential, Size = 1)]
		private struct TargetPositionComparer : IComparer<ConnectPosition>
		{
			public int Compare(ConnectPosition x, ConnectPosition y)
			{
				return (int)math.sign(x.m_Order - y.m_Order);
			}
		}

		[StructLayout(LayoutKind.Sequential, Size = 1)]
		private struct MiddleConnectionComparer : IComparer<MiddleConnection>
		{
			public int Compare(MiddleConnection x, MiddleConnection y)
			{
				//IL_0013: Unknown result type (might be due to invalid IL or missing references)
				//IL_001e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0023: Unknown result type (might be due to invalid IL or missing references)
				//IL_002b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0036: Unknown result type (might be due to invalid IL or missing references)
				return math.select(x.m_SortIndex - y.m_SortIndex, (int)(byte)(x.m_ConnectPosition.m_UtilityTypes - y.m_ConnectPosition.m_UtilityTypes), x.m_ConnectPosition.m_UtilityTypes != y.m_ConnectPosition.m_UtilityTypes);
			}
		}

		private struct LaneAnchor : IComparable<LaneAnchor>
		{
			public Entity m_Prefab;

			public float m_Order;

			public float3 m_Position;

			public PathNode m_PathNode;

			public int CompareTo(LaneAnchor other)
			{
				//IL_0038: Unknown result type (might be due to invalid IL or missing references)
				//IL_004f: Unknown result type (might be due to invalid IL or missing references)
				return math.select(math.select(0, math.select(1, -1, m_Order < other.m_Order), m_Order != other.m_Order), m_Prefab.Index - other.m_Prefab.Index, m_Prefab.Index != other.m_Prefab.Index);
			}
		}

		private struct LaneBuffer
		{
			public NativeParallelHashMap<LaneKey, Entity> m_OldLanes;

			public NativeParallelHashMap<LaneKey, Entity> m_OriginalLanes;

			public NativeParallelHashMap<Entity, Random> m_SelectedSpawnables;

			public LaneBuffer(Allocator allocator)
			{
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_0004: Unknown result type (might be due to invalid IL or missing references)
				//IL_0009: Unknown result type (might be due to invalid IL or missing references)
				//IL_000e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0016: Unknown result type (might be due to invalid IL or missing references)
				//IL_0017: Unknown result type (might be due to invalid IL or missing references)
				//IL_001c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0021: Unknown result type (might be due to invalid IL or missing references)
				//IL_0029: Unknown result type (might be due to invalid IL or missing references)
				//IL_002a: Unknown result type (might be due to invalid IL or missing references)
				//IL_002f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0034: Unknown result type (might be due to invalid IL or missing references)
				m_OldLanes = new NativeParallelHashMap<LaneKey, Entity>(32, AllocatorHandle.op_Implicit(allocator));
				m_OriginalLanes = new NativeParallelHashMap<LaneKey, Entity>(32, AllocatorHandle.op_Implicit(allocator));
				m_SelectedSpawnables = new NativeParallelHashMap<Entity, Random>(10, AllocatorHandle.op_Implicit(allocator));
			}

			public void Clear()
			{
				m_OldLanes.Clear();
				m_OriginalLanes.Clear();
				m_SelectedSpawnables.Clear();
			}

			public void Dispose()
			{
				m_OldLanes.Dispose();
				m_OriginalLanes.Dispose();
				m_SelectedSpawnables.Dispose();
			}
		}

		public struct CompositionData
		{
			public float m_SpeedLimit;

			public float m_Priority;

			public TaxiwayFlags m_TaxiwayFlags;

			public RoadFlags m_RoadFlags;
		}

		[BurstCompile]
		private struct UpdateLanesJob : IJobChunk
		{
			[ReadOnly]
			public EntityTypeHandle m_EntityType;

			[ReadOnly]
			public ComponentTypeHandle<Edge> m_EdgeType;

			[ReadOnly]
			public ComponentTypeHandle<EdgeGeometry> m_EdgeGeometryType;

			[ReadOnly]
			public ComponentTypeHandle<NodeGeometry> m_NodeGeometryType;

			[ReadOnly]
			public ComponentTypeHandle<Curve> m_CurveType;

			[ReadOnly]
			public ComponentTypeHandle<Composition> m_CompositionType;

			[ReadOnly]
			public ComponentTypeHandle<Deleted> m_DeletedType;

			[ReadOnly]
			public ComponentTypeHandle<Owner> m_OwnerType;

			[ReadOnly]
			public ComponentTypeHandle<Orphan> m_OrphanType;

			[ReadOnly]
			public ComponentTypeHandle<PseudoRandomSeed> m_PseudoRandomSeedType;

			[ReadOnly]
			public ComponentTypeHandle<Destroyed> m_DestroyedType;

			[ReadOnly]
			public ComponentTypeHandle<EditorContainer> m_EditorContainerType;

			[ReadOnly]
			public ComponentTypeHandle<Transform> m_TransformType;

			[ReadOnly]
			public ComponentTypeHandle<Elevation> m_ElevationType;

			[ReadOnly]
			public ComponentTypeHandle<UnderConstruction> m_UnderConstructionType;

			[ReadOnly]
			public ComponentTypeHandle<Temp> m_TempType;

			[ReadOnly]
			public ComponentTypeHandle<PrefabRef> m_PrefabRefType;

			[ReadOnly]
			public BufferTypeHandle<SubLane> m_SubLaneType;

			[ReadOnly]
			public BufferTypeHandle<ConnectedNode> m_ConnectedNodeType;

			[ReadOnly]
			public ComponentLookup<EdgeGeometry> m_EdgeGeometryData;

			[ReadOnly]
			public ComponentLookup<StartNodeGeometry> m_StartNodeGeometryData;

			[ReadOnly]
			public ComponentLookup<EndNodeGeometry> m_EndNodeGeometryData;

			[ReadOnly]
			public ComponentLookup<NodeGeometry> m_NodeGeometryData;

			[ReadOnly]
			public ComponentLookup<Node> m_NodeData;

			[ReadOnly]
			public ComponentLookup<Edge> m_EdgeData;

			[ReadOnly]
			public ComponentLookup<Curve> m_CurveData;

			[ReadOnly]
			public ComponentLookup<Elevation> m_ElevationData;

			[ReadOnly]
			public ComponentLookup<Composition> m_CompositionData;

			[ReadOnly]
			public ComponentLookup<Lane> m_LaneData;

			[ReadOnly]
			public ComponentLookup<EdgeLane> m_EdgeLaneData;

			[ReadOnly]
			public ComponentLookup<MasterLane> m_MasterLaneData;

			[ReadOnly]
			public ComponentLookup<SlaveLane> m_SlaveLaneData;

			[ReadOnly]
			public ComponentLookup<SecondaryLane> m_SecondaryLaneData;

			[ReadOnly]
			public ComponentLookup<LaneSignal> m_LaneSignalData;

			[ReadOnly]
			public ComponentLookup<Updated> m_UpdatedData;

			[ReadOnly]
			public ComponentLookup<Owner> m_OwnerData;

			[ReadOnly]
			public ComponentLookup<Overridden> m_OverriddenData;

			[ReadOnly]
			public ComponentLookup<PseudoRandomSeed> m_PseudoRandomSeedData;

			[ReadOnly]
			public ComponentLookup<Transform> m_TransformData;

			[ReadOnly]
			public ComponentLookup<Clear> m_AreaClearData;

			[ReadOnly]
			public ComponentLookup<Temp> m_TempData;

			[ReadOnly]
			public ComponentLookup<Hidden> m_HiddenData;

			[ReadOnly]
			public ComponentLookup<PrefabRef> m_PrefabRefData;

			[ReadOnly]
			public ComponentLookup<NetData> m_PrefabNetData;

			[ReadOnly]
			public ComponentLookup<NetGeometryData> m_PrefabGeometryData;

			[ReadOnly]
			public ComponentLookup<NetCompositionData> m_PrefabCompositionData;

			[ReadOnly]
			public ComponentLookup<RoadComposition> m_RoadData;

			[ReadOnly]
			public ComponentLookup<TrackComposition> m_TrackData;

			[ReadOnly]
			public ComponentLookup<WaterwayComposition> m_WaterwayData;

			[ReadOnly]
			public ComponentLookup<PathwayComposition> m_PathwayData;

			[ReadOnly]
			public ComponentLookup<TaxiwayComposition> m_TaxiwayData;

			[ReadOnly]
			public ComponentLookup<NetLaneArchetypeData> m_PrefabLaneArchetypeData;

			[ReadOnly]
			public ComponentLookup<NetLaneData> m_NetLaneData;

			[ReadOnly]
			public ComponentLookup<CarLaneData> m_CarLaneData;

			[ReadOnly]
			public ComponentLookup<TrackLaneData> m_TrackLaneData;

			[ReadOnly]
			public ComponentLookup<UtilityLaneData> m_UtilityLaneData;

			[ReadOnly]
			public ComponentLookup<SpawnableObjectData> m_PrefabSpawnableObjectData;

			[ReadOnly]
			public ComponentLookup<ObjectGeometryData> m_PrefabObjectGeometryData;

			[ReadOnly]
			public ComponentLookup<BuildingData> m_PrefabBuildingData;

			[ReadOnly]
			public ComponentLookup<PrefabData> m_PrefabData;

			public BufferLookup<CustomLaneDirection> m_CustomLaneDirection;

			public BufferLookup<ConnectPositionSource> m_ConnectPositionSource;

			public BufferLookup<ConnectPositionTarget> m_ConnectPositionTarget;

			[ReadOnly]
			public BufferLookup<ConnectedEdge> m_Edges;

			[ReadOnly]
			public BufferLookup<ConnectedNode> m_Nodes;

			[ReadOnly]
			public BufferLookup<SubLane> m_SubLanes;

			[ReadOnly]
			public BufferLookup<CutRange> m_CutRanges;

			[ReadOnly]
			public BufferLookup<SubObject> m_SubObjects;

			[ReadOnly]
			public BufferLookup<InstalledUpgrade> m_InstalledUpgrades;

			[ReadOnly]
			public BufferLookup<SubArea> m_SubAreas;

			[ReadOnly]
			public BufferLookup<Node> m_AreaNodes;

			[ReadOnly]
			public BufferLookup<Triangle> m_AreaTriangles;

			[ReadOnly]
			public BufferLookup<NetCompositionLane> m_PrefabCompositionLanes;

			[ReadOnly]
			public BufferLookup<NetCompositionCrosswalk> m_PrefabCompositionCrosswalks;

			[ReadOnly]
			public BufferLookup<DefaultNetLane> m_DefaultNetLanes;

			[ReadOnly]
			public BufferLookup<SubLane> m_PrefabSubLanes;

			[ReadOnly]
			public BufferLookup<PlaceholderObjectElement> m_PlaceholderObjects;

			[ReadOnly]
			public BufferLookup<ObjectRequirementElement> m_ObjectRequirements;

			[ReadOnly]
			public BufferLookup<AuxiliaryNetLane> m_PrefabAuxiliaryLanes;

			[ReadOnly]
			public BufferLookup<NetCompositionPiece> m_PrefabCompositionPieces;

			[ReadOnly]
			public bool m_LeftHandTraffic;

			[ReadOnly]
			public bool m_EditorMode;

			[ReadOnly]
			public RandomSeed m_RandomSeed;

			[ReadOnly]
			public Entity m_DefaultTheme;

			[ReadOnly]
			public ComponentTypeSet m_AppliedTypes;

			[ReadOnly]
			public ComponentTypeSet m_DeletedTempTypes;

			[ReadOnly]
			public TerrainHeightData m_TerrainHeightData;

			[ReadOnly]
			public BuildingConfigurationData m_BuildingConfigurationData;

			public ParallelWriter m_CommandBuffer;

			public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask)
			{
				//IL_001e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				if (((ArchetypeChunk)(ref chunk)).Has<Deleted>(ref m_DeletedType))
				{
					DeleteLanes(chunk, unfilteredChunkIndex);
				}
				else
				{
					UpdateLanes(chunk, unfilteredChunkIndex);
				}
			}

			private void DeleteLanes(ArchetypeChunk chunk, int chunkIndex)
			{
				//IL_0008: Unknown result type (might be due to invalid IL or missing references)
				//IL_000d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0015: Unknown result type (might be due to invalid IL or missing references)
				//IL_001a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0022: Unknown result type (might be due to invalid IL or missing references)
				//IL_0027: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0034: Unknown result type (might be due to invalid IL or missing references)
				//IL_0044: Unknown result type (might be due to invalid IL or missing references)
				//IL_0048: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				BufferAccessor<SubLane> bufferAccessor = ((ArchetypeChunk)(ref chunk)).GetBufferAccessor<SubLane>(ref m_SubLaneType);
				for (int i = 0; i < bufferAccessor.Length; i++)
				{
					DynamicBuffer<SubLane> val = bufferAccessor[i];
					for (int j = 0; j < val.Length; j++)
					{
						Entity subLane = val[j].m_SubLane;
						if (!m_SecondaryLaneData.HasComponent(subLane))
						{
							((ParallelWriter)(ref m_CommandBuffer)).AddComponent<Deleted>(chunkIndex, subLane, default(Deleted));
						}
					}
				}
			}

			private void UpdateLanes(ArchetypeChunk chunk, int chunkIndex)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0015: Unknown result type (might be due to invalid IL or missing references)
				//IL_001e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0023: Unknown result type (might be due to invalid IL or missing references)
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0031: Unknown result type (might be due to invalid IL or missing references)
				//IL_003a: Unknown result type (might be due to invalid IL or missing references)
				//IL_003f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0049: Unknown result type (might be due to invalid IL or missing references)
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0058: Unknown result type (might be due to invalid IL or missing references)
				//IL_005d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0070: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_008e: Unknown result type (might be due to invalid IL or missing references)
				//IL_009d: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
				//IL_00db: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0108: Unknown result type (might be due to invalid IL or missing references)
				//IL_010d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ab0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0abf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ace: Unknown result type (might be due to invalid IL or missing references)
				//IL_0add: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aec: Unknown result type (might be due to invalid IL or missing references)
				//IL_0afb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b0a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b18: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b26: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b38: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b3d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b47: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b4c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b56: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0493: Unknown result type (might be due to invalid IL or missing references)
				//IL_0498: Unknown result type (might be due to invalid IL or missing references)
				//IL_011b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0120: Unknown result type (might be due to invalid IL or missing references)
				//IL_0126: Unknown result type (might be due to invalid IL or missing references)
				//IL_012b: Unknown result type (might be due to invalid IL or missing references)
				//IL_012f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b69: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b6e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b74: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b79: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0180: Unknown result type (might be due to invalid IL or missing references)
				//IL_0183: Unknown result type (might be due to invalid IL or missing references)
				//IL_0142: Unknown result type (might be due to invalid IL or missing references)
				//IL_0147: Unknown result type (might be due to invalid IL or missing references)
				//IL_014f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0151: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bce: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bd1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b90: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b95: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b9d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b9f: Unknown result type (might be due to invalid IL or missing references)
				//IL_019d: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01be: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
				//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
				//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e3: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
				//IL_0200: Unknown result type (might be due to invalid IL or missing references)
				//IL_0205: Unknown result type (might be due to invalid IL or missing references)
				//IL_020e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0213: Unknown result type (might be due to invalid IL or missing references)
				//IL_0163: Unknown result type (might be due to invalid IL or missing references)
				//IL_0165: Unknown result type (might be due to invalid IL or missing references)
				//IL_016a: Unknown result type (might be due to invalid IL or missing references)
				//IL_016f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0172: Unknown result type (might be due to invalid IL or missing references)
				//IL_0175: Unknown result type (might be due to invalid IL or missing references)
				//IL_1435: Unknown result type (might be due to invalid IL or missing references)
				//IL_1438: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bed: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bef: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bf4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bf9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c01: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c14: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c1b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c1d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c2c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c2e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c30: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c35: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c37: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c39: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c3b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c45: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c47: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c4f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c51: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c5f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c64: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c6d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c72: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bb1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bb3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bb8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bbd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bc0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bc3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0503: Unknown result type (might be due to invalid IL or missing references)
				//IL_0508: Unknown result type (might be due to invalid IL or missing references)
				//IL_050e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0513: Unknown result type (might be due to invalid IL or missing references)
				//IL_0519: Unknown result type (might be due to invalid IL or missing references)
				//IL_051e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0524: Unknown result type (might be due to invalid IL or missing references)
				//IL_0529: Unknown result type (might be due to invalid IL or missing references)
				//IL_052d: Unknown result type (might be due to invalid IL or missing references)
				//IL_042f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0432: Unknown result type (might be due to invalid IL or missing references)
				//IL_0304: Unknown result type (might be due to invalid IL or missing references)
				//IL_0309: Unknown result type (might be due to invalid IL or missing references)
				//IL_030f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0314: Unknown result type (might be due to invalid IL or missing references)
				//IL_0318: Unknown result type (might be due to invalid IL or missing references)
				//IL_0320: Unknown result type (might be due to invalid IL or missing references)
				//IL_0322: Unknown result type (might be due to invalid IL or missing references)
				//IL_0327: Unknown result type (might be due to invalid IL or missing references)
				//IL_032e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0330: Unknown result type (might be due to invalid IL or missing references)
				//IL_0335: Unknown result type (might be due to invalid IL or missing references)
				//IL_033c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0343: Unknown result type (might be due to invalid IL or missing references)
				//IL_0348: Unknown result type (might be due to invalid IL or missing references)
				//IL_034d: Unknown result type (might be due to invalid IL or missing references)
				//IL_034f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0357: Unknown result type (might be due to invalid IL or missing references)
				//IL_0359: Unknown result type (might be due to invalid IL or missing references)
				//IL_035e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0363: Unknown result type (might be due to invalid IL or missing references)
				//IL_0367: Unknown result type (might be due to invalid IL or missing references)
				//IL_036f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0371: Unknown result type (might be due to invalid IL or missing references)
				//IL_0376: Unknown result type (might be due to invalid IL or missing references)
				//IL_037d: Unknown result type (might be due to invalid IL or missing references)
				//IL_037f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0384: Unknown result type (might be due to invalid IL or missing references)
				//IL_0389: Unknown result type (might be due to invalid IL or missing references)
				//IL_038b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1015: Unknown result type (might be due to invalid IL or missing references)
				//IL_1017: Unknown result type (might be due to invalid IL or missing references)
				//IL_057e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0581: Unknown result type (might be due to invalid IL or missing references)
				//IL_0540: Unknown result type (might be due to invalid IL or missing references)
				//IL_0545: Unknown result type (might be due to invalid IL or missing references)
				//IL_054d: Unknown result type (might be due to invalid IL or missing references)
				//IL_054f: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_039a: Unknown result type (might be due to invalid IL or missing references)
				//IL_039f: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0221: Unknown result type (might be due to invalid IL or missing references)
				//IL_0226: Unknown result type (might be due to invalid IL or missing references)
				//IL_0229: Unknown result type (might be due to invalid IL or missing references)
				//IL_022b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0230: Unknown result type (might be due to invalid IL or missing references)
				//IL_0238: Unknown result type (might be due to invalid IL or missing references)
				//IL_023a: Unknown result type (might be due to invalid IL or missing references)
				//IL_023f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0246: Unknown result type (might be due to invalid IL or missing references)
				//IL_0248: Unknown result type (might be due to invalid IL or missing references)
				//IL_0257: Unknown result type (might be due to invalid IL or missing references)
				//IL_0259: Unknown result type (might be due to invalid IL or missing references)
				//IL_025b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0260: Unknown result type (might be due to invalid IL or missing references)
				//IL_0262: Unknown result type (might be due to invalid IL or missing references)
				//IL_026a: Unknown result type (might be due to invalid IL or missing references)
				//IL_026c: Unknown result type (might be due to invalid IL or missing references)
				//IL_026e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0273: Unknown result type (might be due to invalid IL or missing references)
				//IL_0275: Unknown result type (might be due to invalid IL or missing references)
				//IL_0284: Unknown result type (might be due to invalid IL or missing references)
				//IL_0287: Unknown result type (might be due to invalid IL or missing references)
				//IL_0289: Unknown result type (might be due to invalid IL or missing references)
				//IL_028b: Unknown result type (might be due to invalid IL or missing references)
				//IL_028d: Unknown result type (might be due to invalid IL or missing references)
				//IL_028f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0291: Unknown result type (might be due to invalid IL or missing references)
				//IL_0296: Unknown result type (might be due to invalid IL or missing references)
				//IL_0298: Unknown result type (might be due to invalid IL or missing references)
				//IL_029a: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_02da: Unknown result type (might be due to invalid IL or missing references)
				//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a5b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a5e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0592: Unknown result type (might be due to invalid IL or missing references)
				//IL_0594: Unknown result type (might be due to invalid IL or missing references)
				//IL_0596: Unknown result type (might be due to invalid IL or missing references)
				//IL_0598: Unknown result type (might be due to invalid IL or missing references)
				//IL_059f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0561: Unknown result type (might be due to invalid IL or missing references)
				//IL_0563: Unknown result type (might be due to invalid IL or missing references)
				//IL_0568: Unknown result type (might be due to invalid IL or missing references)
				//IL_056d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0570: Unknown result type (might be due to invalid IL or missing references)
				//IL_0573: Unknown result type (might be due to invalid IL or missing references)
				//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_03c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ce: Unknown result type (might be due to invalid IL or missing references)
				//IL_03d4: Unknown result type (might be due to invalid IL or missing references)
				//IL_03e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_03e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0404: Unknown result type (might be due to invalid IL or missing references)
				//IL_040a: Unknown result type (might be due to invalid IL or missing references)
				//IL_040e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0414: Unknown result type (might be due to invalid IL or missing references)
				//IL_0417: Unknown result type (might be due to invalid IL or missing references)
				//IL_0426: Unknown result type (might be due to invalid IL or missing references)
				//IL_1038: Unknown result type (might be due to invalid IL or missing references)
				//IL_103a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1046: Unknown result type (might be due to invalid IL or missing references)
				//IL_1048: Unknown result type (might be due to invalid IL or missing references)
				//IL_1055: Unknown result type (might be due to invalid IL or missing references)
				//IL_1058: Unknown result type (might be due to invalid IL or missing references)
				//IL_105a: Unknown result type (might be due to invalid IL or missing references)
				//IL_105c: Unknown result type (might be due to invalid IL or missing references)
				//IL_105e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1060: Unknown result type (might be due to invalid IL or missing references)
				//IL_106c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1214: Unknown result type (might be due to invalid IL or missing references)
				//IL_1216: Unknown result type (might be due to invalid IL or missing references)
				//IL_1218: Unknown result type (might be due to invalid IL or missing references)
				//IL_121e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1220: Unknown result type (might be due to invalid IL or missing references)
				//IL_1222: Unknown result type (might be due to invalid IL or missing references)
				//IL_1227: Unknown result type (might be due to invalid IL or missing references)
				//IL_1228: Unknown result type (might be due to invalid IL or missing references)
				//IL_122b: Unknown result type (might be due to invalid IL or missing references)
				//IL_05be: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c9: Invalid comparison between Unknown and I4
				//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a4: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cd1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cd8: Unknown result type (might be due to invalid IL or missing references)
				//IL_12c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_05b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_1232: Unknown result type (might be due to invalid IL or missing references)
				//IL_1234: Unknown result type (might be due to invalid IL or missing references)
				//IL_1236: Unknown result type (might be due to invalid IL or missing references)
				//IL_12dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_12de: Unknown result type (might be due to invalid IL or missing references)
				//IL_12e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_12ed: Unknown result type (might be due to invalid IL or missing references)
				//IL_12f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_12f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_12f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_1300: Unknown result type (might be due to invalid IL or missing references)
				//IL_1302: Unknown result type (might be due to invalid IL or missing references)
				//IL_1323: Unknown result type (might be due to invalid IL or missing references)
				//IL_1325: Unknown result type (might be due to invalid IL or missing references)
				//IL_1327: Unknown result type (might be due to invalid IL or missing references)
				//IL_132c: Unknown result type (might be due to invalid IL or missing references)
				//IL_132f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0632: Unknown result type (might be due to invalid IL or missing references)
				//IL_0634: Unknown result type (might be due to invalid IL or missing references)
				//IL_0639: Unknown result type (might be due to invalid IL or missing references)
				//IL_05e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_05f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_05fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0601: Unknown result type (might be due to invalid IL or missing references)
				//IL_0607: Unknown result type (might be due to invalid IL or missing references)
				//IL_060d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0613: Unknown result type (might be due to invalid IL or missing references)
				//IL_061f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0621: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d11: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d18: Unknown result type (might be due to invalid IL or missing references)
				//IL_12bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_12c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_12c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_123c: Unknown result type (might be due to invalid IL or missing references)
				//IL_123e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1240: Unknown result type (might be due to invalid IL or missing references)
				//IL_1242: Unknown result type (might be due to invalid IL or missing references)
				//IL_1243: Unknown result type (might be due to invalid IL or missing references)
				//IL_1246: Unknown result type (might be due to invalid IL or missing references)
				//IL_1248: Unknown result type (might be due to invalid IL or missing references)
				//IL_124a: Unknown result type (might be due to invalid IL or missing references)
				//IL_13a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_068a: Unknown result type (might be due to invalid IL or missing references)
				//IL_068f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0698: Unknown result type (might be due to invalid IL or missing references)
				//IL_069d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0656: Unknown result type (might be due to invalid IL or missing references)
				//IL_0658: Unknown result type (might be due to invalid IL or missing references)
				//IL_10aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_10b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_1138: Unknown result type (might be due to invalid IL or missing references)
				//IL_113d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1144: Unknown result type (might be due to invalid IL or missing references)
				//IL_1149: Unknown result type (might be due to invalid IL or missing references)
				//IL_114e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1150: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d22: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d29: Unknown result type (might be due to invalid IL or missing references)
				//IL_1333: Unknown result type (might be due to invalid IL or missing references)
				//IL_1335: Unknown result type (might be due to invalid IL or missing references)
				//IL_1337: Unknown result type (might be due to invalid IL or missing references)
				//IL_13ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_13af: Unknown result type (might be due to invalid IL or missing references)
				//IL_13b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_13c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0720: Unknown result type (might be due to invalid IL or missing references)
				//IL_0722: Unknown result type (might be due to invalid IL or missing references)
				//IL_06a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_06ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_0666: Unknown result type (might be due to invalid IL or missing references)
				//IL_0668: Unknown result type (might be due to invalid IL or missing references)
				//IL_066f: Unknown result type (might be due to invalid IL or missing references)
				//IL_10bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_10cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_1188: Unknown result type (might be due to invalid IL or missing references)
				//IL_118b: Unknown result type (might be due to invalid IL or missing references)
				//IL_11a4: Unknown result type (might be due to invalid IL or missing references)
				//IL_139b: Unknown result type (might be due to invalid IL or missing references)
				//IL_139e: Unknown result type (might be due to invalid IL or missing references)
				//IL_13a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_133a: Unknown result type (might be due to invalid IL or missing references)
				//IL_133c: Unknown result type (might be due to invalid IL or missing references)
				//IL_133e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1340: Unknown result type (might be due to invalid IL or missing references)
				//IL_1341: Unknown result type (might be due to invalid IL or missing references)
				//IL_1344: Unknown result type (might be due to invalid IL or missing references)
				//IL_1346: Unknown result type (might be due to invalid IL or missing references)
				//IL_1348: Unknown result type (might be due to invalid IL or missing references)
				//IL_1350: Unknown result type (might be due to invalid IL or missing references)
				//IL_1352: Unknown result type (might be due to invalid IL or missing references)
				//IL_1354: Unknown result type (might be due to invalid IL or missing references)
				//IL_1404: Unknown result type (might be due to invalid IL or missing references)
				//IL_140b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1410: Unknown result type (might be due to invalid IL or missing references)
				//IL_1416: Unknown result type (might be due to invalid IL or missing references)
				//IL_141b: Unknown result type (might be due to invalid IL or missing references)
				//IL_142c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0672: Unknown result type (might be due to invalid IL or missing references)
				//IL_0674: Unknown result type (might be due to invalid IL or missing references)
				//IL_067a: Unknown result type (might be due to invalid IL or missing references)
				//IL_067c: Invalid comparison between Unknown and I4
				//IL_1262: Unknown result type (might be due to invalid IL or missing references)
				//IL_1264: Unknown result type (might be due to invalid IL or missing references)
				//IL_1266: Unknown result type (might be due to invalid IL or missing references)
				//IL_1373: Unknown result type (might be due to invalid IL or missing references)
				//IL_1376: Unknown result type (might be due to invalid IL or missing references)
				//IL_1378: Unknown result type (might be due to invalid IL or missing references)
				//IL_137a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1386: Unknown result type (might be due to invalid IL or missing references)
				//IL_07fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_07fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_1280: Unknown result type (might be due to invalid IL or missing references)
				//IL_1283: Unknown result type (might be due to invalid IL or missing references)
				//IL_1285: Unknown result type (might be due to invalid IL or missing references)
				//IL_1287: Unknown result type (might be due to invalid IL or missing references)
				//IL_1289: Unknown result type (might be due to invalid IL or missing references)
				//IL_1295: Unknown result type (might be due to invalid IL or missing references)
				//IL_0819: Unknown result type (might be due to invalid IL or missing references)
				//IL_073f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0744: Unknown result type (might be due to invalid IL or missing references)
				//IL_0746: Unknown result type (might be due to invalid IL or missing references)
				//IL_0748: Unknown result type (might be due to invalid IL or missing references)
				//IL_0752: Unknown result type (might be due to invalid IL or missing references)
				//IL_0754: Unknown result type (might be due to invalid IL or missing references)
				//IL_06c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_06cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_06d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_06d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_06da: Unknown result type (might be due to invalid IL or missing references)
				//IL_06de: Unknown result type (might be due to invalid IL or missing references)
				//IL_06e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_06f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_06f7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e63: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e65: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e6d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d80: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d82: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d8a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dc9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dce: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dd3: Unknown result type (might be due to invalid IL or missing references)
				//IL_082c: Unknown result type (might be due to invalid IL or missing references)
				//IL_082e: Unknown result type (might be due to invalid IL or missing references)
				//IL_083f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0868: Unknown result type (might be due to invalid IL or missing references)
				//IL_086a: Unknown result type (might be due to invalid IL or missing references)
				//IL_087b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0896: Unknown result type (might be due to invalid IL or missing references)
				//IL_089b: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_08b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_08c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_08c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_08c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_08cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d1: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_08dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_08e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_08e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_08f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_08f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_08f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_0901: Invalid comparison between Unknown and I4
				//IL_090d: Unknown result type (might be due to invalid IL or missing references)
				//IL_090f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0920: Unknown result type (might be due to invalid IL or missing references)
				//IL_0925: Unknown result type (might be due to invalid IL or missing references)
				//IL_092c: Unknown result type (might be due to invalid IL or missing references)
				//IL_092e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0930: Unknown result type (might be due to invalid IL or missing references)
				//IL_0935: Unknown result type (might be due to invalid IL or missing references)
				//IL_0937: Unknown result type (might be due to invalid IL or missing references)
				//IL_0939: Unknown result type (might be due to invalid IL or missing references)
				//IL_093e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0943: Unknown result type (might be due to invalid IL or missing references)
				//IL_094c: Unknown result type (might be due to invalid IL or missing references)
				//IL_094e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0954: Unknown result type (might be due to invalid IL or missing references)
				//IL_0956: Unknown result type (might be due to invalid IL or missing references)
				//IL_095e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0960: Unknown result type (might be due to invalid IL or missing references)
				//IL_0966: Unknown result type (might be due to invalid IL or missing references)
				//IL_0968: Invalid comparison between Unknown and I4
				//IL_0974: Unknown result type (might be due to invalid IL or missing references)
				//IL_0976: Unknown result type (might be due to invalid IL or missing references)
				//IL_0987: Unknown result type (might be due to invalid IL or missing references)
				//IL_098c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0993: Unknown result type (might be due to invalid IL or missing references)
				//IL_0995: Unknown result type (might be due to invalid IL or missing references)
				//IL_0997: Unknown result type (might be due to invalid IL or missing references)
				//IL_099c: Unknown result type (might be due to invalid IL or missing references)
				//IL_099e: Unknown result type (might be due to invalid IL or missing references)
				//IL_09a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_09a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_09aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_09af: Unknown result type (might be due to invalid IL or missing references)
				//IL_09b8: Unknown result type (might be due to invalid IL or missing references)
				//IL_09ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_09c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_09c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_09d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_09d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_09e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_09eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_09f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_09f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_09f9: Unknown result type (might be due to invalid IL or missing references)
				//IL_09fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a00: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a02: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a07: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a09: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a0e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a13: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a1c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a1e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a24: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a26: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a2e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a30: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a36: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a38: Invalid comparison between Unknown and I4
				//IL_0a44: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a46: Unknown result type (might be due to invalid IL or missing references)
				//IL_0766: Unknown result type (might be due to invalid IL or missing references)
				//IL_0768: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ebb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ebd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ebf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0783: Unknown result type (might be due to invalid IL or missing references)
				//IL_0785: Unknown result type (might be due to invalid IL or missing references)
				//IL_078a: Unknown result type (might be due to invalid IL or missing references)
				//IL_078f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0796: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ed1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ed3: Unknown result type (might be due to invalid IL or missing references)
				//IL_07b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_07b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_07bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_07bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_07d0: Unknown result type (might be due to invalid IL or missing references)
				//IL_07d2: Unknown result type (might be due to invalid IL or missing references)
				//IL_079d: Unknown result type (might be due to invalid IL or missing references)
				//IL_079f: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0eef: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ee1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ee3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dfc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dfe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e06: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f19: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f1b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f1d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f2f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f31: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f4c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f58: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f5a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f5c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f5e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f62: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f76: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f3f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f41: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fb2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fb4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fcf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fdc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fde: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fe0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fe2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fe6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ffa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fc2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fc4: Unknown result type (might be due to invalid IL or missing references)
				LaneBuffer laneBuffer = new LaneBuffer((Allocator)2);
				NativeArray<Entity> nativeArray = ((ArchetypeChunk)(ref chunk)).GetNativeArray(m_EntityType);
				NativeArray<Edge> nativeArray2 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Edge>(ref m_EdgeType);
				NativeArray<PseudoRandomSeed> nativeArray3 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<PseudoRandomSeed>(ref m_PseudoRandomSeedType);
				NativeArray<Transform> nativeArray4 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Transform>(ref m_TransformType);
				NativeArray<Temp> nativeArray5 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Temp>(ref m_TempType);
				BufferAccessor<SubLane> bufferAccessor = ((ArchetypeChunk)(ref chunk)).GetBufferAccessor<SubLane>(ref m_SubLaneType);
				PseudoRandomSeed val8;
				if (nativeArray2.Length != 0)
				{
					NativeList<ConnectPosition> val = default(NativeList<ConnectPosition>);
					val..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> val2 = default(NativeList<ConnectPosition>);
					val2..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> tempBuffer = default(NativeList<ConnectPosition>);
					tempBuffer..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> tempBuffer2 = default(NativeList<ConnectPosition>);
					tempBuffer2..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<EdgeTarget> edgeTargets = default(NativeList<EdgeTarget>);
					edgeTargets..ctor(4, AllocatorHandle.op_Implicit((Allocator)2));
					NativeArray<Curve> nativeArray6 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Curve>(ref m_CurveType);
					NativeArray<EdgeGeometry> nativeArray7 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<EdgeGeometry>(ref m_EdgeGeometryType);
					NativeArray<Composition> nativeArray8 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Composition>(ref m_CompositionType);
					NativeArray<EditorContainer> nativeArray9 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<EditorContainer>(ref m_EditorContainerType);
					NativeArray<PrefabRef> nativeArray10 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<PrefabRef>(ref m_PrefabRefType);
					BufferAccessor<ConnectedNode> bufferAccessor2 = ((ArchetypeChunk)(ref chunk)).GetBufferAccessor<ConnectedNode>(ref m_ConnectedNodeType);
					for (int i = 0; i < nativeArray.Length; i++)
					{
						Entity val3 = nativeArray[i];
						DynamicBuffer<SubLane> lanes = bufferAccessor[i];
						Temp val4 = default(Temp);
						if (nativeArray5.Length != 0)
						{
							val4 = nativeArray5[i];
							if (m_SubLanes.HasBuffer(val4.m_Original))
							{
								DynamicBuffer<SubLane> lanes2 = m_SubLanes[val4.m_Original];
								FillOldLaneBuffer(lanes2, laneBuffer.m_OriginalLanes);
							}
						}
						FillOldLaneBuffer(lanes, laneBuffer.m_OldLanes);
						if (nativeArray7.Length != 0)
						{
							Edge edge = nativeArray2[i];
							EdgeGeometry geometryData = nativeArray7[i];
							Curve curve = nativeArray6[i];
							Composition val5 = nativeArray8[i];
							PrefabRef val6 = nativeArray10[i];
							DynamicBuffer<ConnectedNode> val7 = bufferAccessor2[i];
							NetGeometryData prefabGeometryData = m_PrefabGeometryData[val6.m_Prefab];
							int edgeLaneIndex = 65535;
							int connectionIndex = 0;
							int groupIndex = 0;
							val8 = nativeArray3[i];
							Random random = ((PseudoRandomSeed)(ref val8)).GetRandom((uint)PseudoRandomSeed.kSubLane);
							for (int j = 0; j < val7.Length; j++)
							{
								ConnectedNode val9 = val7[j];
								GetMiddleConnectionCurves(val9.m_Node, edgeTargets);
								GetNodeConnectPositions(val9.m_Node, val9.m_CurvePosition, val, val2, includeAnchored: true, ref groupIndex, out var _, out var _);
								FilterNodeConnectPositions(val3, val4.m_Original, val, edgeTargets);
								FilterNodeConnectPositions(val3, val4.m_Original, val2, edgeTargets);
								CreateEdgeConnectionLanes(chunkIndex, ref edgeLaneIndex, ref connectionIndex, ref random, val3, laneBuffer, val, val2, tempBuffer, tempBuffer2, val5.m_Edge, geometryData, prefabGeometryData, curve, nativeArray5.Length != 0, val4);
								val.Clear();
								val2.Clear();
							}
							CreateEdgeLanes(chunkIndex, ref random, val3, laneBuffer, val5, edge, geometryData, prefabGeometryData, nativeArray5.Length != 0, val4);
						}
						else if (nativeArray9.Length != 0)
						{
							EditorContainer val10 = nativeArray9[i];
							Curve val11 = nativeArray6[i];
							Segment val12 = default(Segment);
							val12.m_Left = val11.m_Bezier;
							val12.m_Right = val11.m_Bezier;
							val12.m_Length = float2.op_Implicit(val11.m_Length);
							Segment segment = val12;
							NetLaneData val13 = m_NetLaneData[val10.m_Prefab];
							NetCompositionLane val14 = default(NetCompositionLane);
							val14.m_Flags = val13.m_Flags;
							val14.m_Lane = val10.m_Prefab;
							NetCompositionLane prefabCompositionLaneData = val14;
							Random random2;
							if (nativeArray3.Length != 0)
							{
								val8 = nativeArray3[i];
								random2 = ((PseudoRandomSeed)(ref val8)).GetRandom((uint)PseudoRandomSeed.kSubLane);
							}
							else
							{
								random2 = ((RandomSeed)(ref m_RandomSeed)).GetRandom(val3.Index);
							}
							Random random3 = random2;
							CreateEdgeLane(chunkIndex, ref random3, val3, laneBuffer, segment, default(NetCompositionData), default(CompositionData), default(DynamicBuffer<NetCompositionLane>), prefabCompositionLaneData, new int2(0, 4), new float2(0f, 1f), default(NativeList<LaneAnchor>), default(NativeList<LaneAnchor>), bool2.op_Implicit(false), nativeArray5.Length != 0, val4);
						}
						RemoveUnusedOldLanes(chunkIndex, lanes, laneBuffer.m_OldLanes);
						laneBuffer.Clear();
					}
					val.Dispose();
					val2.Dispose();
					tempBuffer.Dispose();
					tempBuffer2.Dispose();
					edgeTargets.Dispose();
				}
				else if (nativeArray4.Length != 0)
				{
					NativeArray<PrefabRef> nativeArray11 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<PrefabRef>(ref m_PrefabRefType);
					bool flag = m_EditorMode && !((ArchetypeChunk)(ref chunk)).Has<Owner>(ref m_OwnerType);
					bool flag2 = !((ArchetypeChunk)(ref chunk)).Has<Elevation>(ref m_ElevationType);
					bool flag3 = ((ArchetypeChunk)(ref chunk)).Has<UnderConstruction>(ref m_UnderConstructionType);
					bool flag4 = ((ArchetypeChunk)(ref chunk)).Has<Destroyed>(ref m_DestroyedType);
					NativeList<ClearAreaData> val15 = default(NativeList<ClearAreaData>);
					SubLane prefabSubLane = default(SubLane);
					DynamicBuffer<InstalledUpgrade> val21 = default(DynamicBuffer<InstalledUpgrade>);
					ObjectGeometryData val22 = default(ObjectGeometryData);
					DynamicBuffer<SubLane> val23 = default(DynamicBuffer<SubLane>);
					DynamicBuffer<SubLane> val24 = default(DynamicBuffer<SubLane>);
					BuildingData val26 = default(BuildingData);
					NetLaneData val27 = default(NetLaneData);
					float3 val28 = default(float3);
					float3 val29 = default(float3);
					for (int k = 0; k < nativeArray.Length; k++)
					{
						Entity val16 = nativeArray[k];
						Transform val17 = nativeArray4[k];
						PrefabRef val18 = nativeArray11[k];
						DynamicBuffer<SubLane> lanes3 = bufferAccessor[k];
						Temp val19 = default(Temp);
						if (nativeArray5.Length != 0)
						{
							val19 = nativeArray5[k];
							if (m_SubLanes.HasBuffer(val19.m_Original))
							{
								DynamicBuffer<SubLane> lanes4 = m_SubLanes[val19.m_Original];
								FillOldLaneBuffer(lanes4, laneBuffer.m_OriginalLanes);
							}
						}
						FillOldLaneBuffer(lanes3, laneBuffer.m_OldLanes);
						if (!flag)
						{
							Entity val20 = val16;
							if ((val19.m_Flags & 0x22) != 0 && val19.m_Original != Entity.Null)
							{
								val20 = val19.m_Original;
							}
							bool flag5 = (val19.m_Flags & 0x22) > 0;
							if (m_InstalledUpgrades.TryGetBuffer(val20, ref val21) && val21.Length != 0)
							{
								ClearAreaHelpers.FillClearAreas(val21, Entity.Null, m_TransformData, m_AreaClearData, m_PrefabRefData, m_PrefabObjectGeometryData, m_SubAreas, m_AreaNodes, m_AreaTriangles, ref val15);
								ClearAreaHelpers.InitClearAreas(val15, val17);
							}
							else if (m_EditorMode && val19.m_Original != Entity.Null)
							{
								flag5 = true;
							}
							bool flag6 = flag2;
							if (flag6)
							{
								flag6 = m_PrefabObjectGeometryData.TryGetComponent(val18.m_Prefab, ref val22) && ((val22.m_Flags & 0x10) != 0 || (val22.m_Flags & 6) == 0);
							}
							val8 = nativeArray3[k];
							Random random4 = ((PseudoRandomSeed)(ref val8)).GetRandom((uint)PseudoRandomSeed.kSubLane);
							if (flag5)
							{
								if (m_SubLanes.TryGetBuffer(val19.m_Original, ref val23))
								{
									for (int l = 0; l < val23.Length; l++)
									{
										Entity subLane = val23[l].m_SubLane;
										CreateObjectLane(chunkIndex, ref random4, val16, subLane, laneBuffer, val17, default(SubLane), l, flag6, cutForTraffic: false, nativeArray5.Length != 0, val19, val15);
									}
								}
							}
							else
							{
								int num = 0;
								int num2 = 0;
								if (m_PrefabSubLanes.TryGetBuffer(val18.m_Prefab, ref val24))
								{
									for (int m = 0; m < val24.Length; m++)
									{
										SubLane val25 = val24[m];
										if (val25.m_NodeIndex.y != val25.m_NodeIndex.x)
										{
											num = m;
											num2 = math.max(num2, math.cmax(val25.m_NodeIndex));
											if ((!flag3 || (m_NetLaneData[val25.m_Prefab].m_Flags & 0x78) != 0) && (!flag4 || !math.any(val25.m_ParentMesh >= 0)))
											{
												CreateObjectLane(chunkIndex, ref random4, val16, Entity.Null, laneBuffer, val17, val25, m, flag6, cutForTraffic: false, nativeArray5.Length != 0, val19, val15);
											}
										}
									}
								}
								if (flag3 && m_PrefabBuildingData.TryGetComponent(val18.m_Prefab, ref val26) && m_NetLaneData.TryGetComponent(m_BuildingConfigurationData.m_ConstructionBorder, ref val27))
								{
									((float3)(ref val28))..ctor((float)val26.m_LotSize.x * 4f - val27.m_Width * 0.5f, 0f, 0f);
									((float3)(ref val29))..ctor(0f, 0f, (float)val26.m_LotSize.y * 4f - val27.m_Width * 0.5f);
									prefabSubLane.m_Prefab = m_BuildingConfigurationData.m_ConstructionBorder;
									prefabSubLane.m_ParentMesh = int2.op_Implicit(-1);
									prefabSubLane.m_NodeIndex = new int2(num2, num2 + 1);
									prefabSubLane.m_Curve = NetUtils.StraightCurve(-val28 - val29, val28 - val29);
									CreateObjectLane(chunkIndex, ref random4, val16, Entity.Null, laneBuffer, val17, prefabSubLane, num, flag6, (val26.m_Flags & 0x10) > 0, nativeArray5.Length != 0, val19, val15);
									prefabSubLane.m_NodeIndex = new int2(num2 + 1, num2 + 2);
									prefabSubLane.m_Curve = NetUtils.StraightCurve(val28 - val29, val28 + val29);
									CreateObjectLane(chunkIndex, ref random4, val16, Entity.Null, laneBuffer, val17, prefabSubLane, num + 1, flag6, (val26.m_Flags & 4) > 0, nativeArray5.Length != 0, val19, val15);
									prefabSubLane.m_NodeIndex = new int2(num2 + 2, num2 + 3);
									prefabSubLane.m_Curve = NetUtils.StraightCurve(val28 + val29, -val28 + val29);
									CreateObjectLane(chunkIndex, ref random4, val16, Entity.Null, laneBuffer, val17, prefabSubLane, num + 2, flag6, cutForTraffic: true, nativeArray5.Length != 0, val19, val15);
									prefabSubLane.m_NodeIndex = new int2(num2 + 3, num2);
									prefabSubLane.m_Curve = NetUtils.StraightCurve(-val28 + val29, -val28 - val29);
									CreateObjectLane(chunkIndex, ref random4, val16, Entity.Null, laneBuffer, val17, prefabSubLane, num + 3, flag6, (val26.m_Flags & 8) > 0, nativeArray5.Length != 0, val19, val15);
									num += 4;
									num2 += 4;
								}
							}
						}
						RemoveUnusedOldLanes(chunkIndex, lanes3, laneBuffer.m_OldLanes);
						laneBuffer.Clear();
						if (val15.IsCreated)
						{
							val15.Clear();
						}
					}
					if (val15.IsCreated)
					{
						val15.Dispose();
					}
				}
				else
				{
					NativeParallelHashSet<ConnectionKey> createdConnections = default(NativeParallelHashSet<ConnectionKey>);
					createdConnections..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> val30 = default(NativeList<ConnectPosition>);
					val30..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> val31 = default(NativeList<ConnectPosition>);
					val31..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> val32 = default(NativeList<ConnectPosition>);
					val32..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> val33 = default(NativeList<ConnectPosition>);
					val33..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> val34 = default(NativeList<ConnectPosition>);
					val34..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<ConnectPosition> val35 = default(NativeList<ConnectPosition>);
					val35..ctor(32, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<MiddleConnection> middleConnections = default(NativeList<MiddleConnection>);
					middleConnections..ctor(4, AllocatorHandle.op_Implicit((Allocator)2));
					NativeList<EdgeTarget> tempEdgeTargets = default(NativeList<EdgeTarget>);
					tempEdgeTargets..ctor(4, AllocatorHandle.op_Implicit((Allocator)2));
					NativeArray<Orphan> nativeArray12 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Orphan>(ref m_OrphanType);
					NativeArray<NodeGeometry> nativeArray13 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<NodeGeometry>(ref m_NodeGeometryType);
					NativeArray<PrefabRef> nativeArray14 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<PrefabRef>(ref m_PrefabRefType);
					for (int n = 0; n < nativeArray.Length; n++)
					{
						Entity val36 = nativeArray[n];
						DynamicBuffer<SubLane> lanes5 = bufferAccessor[n];
						Temp val37 = default(Temp);
						if (nativeArray5.Length != 0)
						{
							val37 = nativeArray5[n];
							if (m_SubLanes.HasBuffer(val37.m_Original))
							{
								DynamicBuffer<SubLane> lanes6 = m_SubLanes[val37.m_Original];
								FillOldLaneBuffer(lanes6, laneBuffer.m_OriginalLanes);
							}
						}
						FillOldLaneBuffer(lanes5, laneBuffer.m_OldLanes);
						if (nativeArray13.Length != 0)
						{
							float3 position = m_NodeData[val36].m_Position;
							position.y = nativeArray13[n].m_Position;
							int groupIndex2 = 1;
							GetNodeConnectPositions(val36, 0f, val30, val31, includeAnchored: false, ref groupIndex2, out var middleRadius2, out var roundaboutSize2);
							GetMiddleConnections(val36, val37.m_Original, middleConnections, tempEdgeTargets, val34, val35, ref groupIndex2);
							FilterMainCarConnectPositions(val30, val32);
							FilterMainCarConnectPositions(val31, val33);
							int prevLaneIndex = 0;
							val8 = nativeArray3[n];
							Random random5 = ((PseudoRandomSeed)(ref val8)).GetRandom((uint)PseudoRandomSeed.kSubLane);
							if (middleRadius2 > 0f)
							{
								if (val32.Length != 0 || val33.Length != 0)
								{
									ConnectPosition roundaboutLane = default(ConnectPosition);
									int laneCount = 0;
									uint laneGroup = 0u;
									float laneWidth = float.MaxValue;
									float spaceForLanes = float.MaxValue;
									bool isPublicOnly = true;
									int nextLaneIndex = prevLaneIndex;
									int num3 = 0;
									int num4 = 0;
									for (int num5 = 0; num5 < val32.Length; num5++)
									{
										if ((val32[num5].m_CompositionData.m_RoadFlags & 0x10) != 0)
										{
											num3++;
										}
										else
										{
											num4++;
										}
									}
									for (int num6 = 0; num6 < val33.Length; num6++)
									{
										ConnectPosition connectPosition = val33[num6];
										if ((connectPosition.m_CompositionData.m_RoadFlags & 0x28) != 0)
										{
											if ((connectPosition.m_CompositionData.m_RoadFlags & 0x10) != 0)
											{
												num3++;
											}
											else
											{
												num4++;
											}
										}
									}
									bool preferHighway = num3 > num4 || num3 >= 2;
									ConnectPosition connectPosition2;
									bool flag7;
									if (val32.Length != 0)
									{
										int num7 = 0;
										for (int num8 = 0; num8 < val32.Length; num8++)
										{
											ConnectPosition main = val32[num8];
											FilterActualCarConnectPositions(main, val30, val34);
											bool roundaboutLane2 = GetRoundaboutLane(val34, roundaboutSize2, ref roundaboutLane, ref laneCount, ref laneWidth, ref isPublicOnly, ref spaceForLanes, isSource: true, preferHighway);
											num7 = math.select(num7, num8, roundaboutLane2);
											val34.Clear();
										}
										if (roundaboutLane.m_LaneData.m_Lane == Entity.Null)
										{
											int laneCount2 = 0;
											float spaceForLanes2 = float.MaxValue;
											for (int num9 = 0; num9 < val33.Length; num9++)
											{
												ConnectPosition main2 = val33[num9];
												FilterActualCarConnectPositions(main2, val31, val35);
												GetRoundaboutLane(val35, roundaboutSize2, ref roundaboutLane, ref laneCount2, ref laneWidth, ref isPublicOnly, ref spaceForLanes2, isSource: false, preferHighway);
												val35.Clear();
											}
											spaceForLanes = spaceForLanes2 * (float)laneCount;
										}
										connectPosition2 = val32[num7];
										flag7 = true;
									}
									else
									{
										int num10 = 0;
										for (int num11 = 0; num11 < val33.Length; num11++)
										{
											ConnectPosition main3 = val33[num11];
											FilterActualCarConnectPositions(main3, val31, val35);
											bool roundaboutLane3 = GetRoundaboutLane(val35, roundaboutSize2, ref roundaboutLane, ref laneCount, ref laneWidth, ref isPublicOnly, ref spaceForLanes, isSource: false, preferHighway);
											num10 = math.select(num10, num11, roundaboutLane3);
											val35.Clear();
										}
										connectPosition2 = val33[num10];
										flag7 = false;
									}
									ExtractNextConnectPosition(connectPosition2, position, val32, val33, out var nextPosition, out var nextIsSource);
									if (flag7)
									{
										FilterActualCarConnectPositions(connectPosition2, val30, val34);
									}
									if (!nextIsSource)
									{
										FilterActualCarConnectPositions(nextPosition, val31, val35);
									}
									int laneCount3 = GetRoundaboutLaneCount(connectPosition2, nextPosition, val34, val35, val31, position);
									connectPosition2 = nextPosition;
									flag7 = nextIsSource;
									val34.Clear();
									val35.Clear();
									while (val32.Length != 0 || val33.Length != 0)
									{
										ExtractNextConnectPosition(connectPosition2, position, val32, val33, out var nextPosition2, out var nextIsSource2);
										if (flag7)
										{
											FilterActualCarConnectPositions(connectPosition2, val30, val34);
										}
										if (!nextIsSource2)
										{
									

C2VM.TrafficLightsEnhancement/C2VM.TrafficLightsEnhancement.dll

Decompiled 2 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using C2VM.CommonLibraries.LaneSystem;
using C2VM.TrafficLightsEnhancement.Components;
using C2VM.TrafficLightsEnhancement.Systems.TrafficLightInitializationSystem;
using C2VM.TrafficLightsEnhancement.Systems.TrafficLightSystem;
using Colossal.Mathematics;
using Colossal.Serialization.Entities;
using Game;
using Game.Audio;
using Game.City;
using Game.Common;
using Game.Net;
using Game.Objects;
using Game.Prefabs;
using Game.SceneFlow;
using Game.Simulation;
using Game.Tools;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Newtonsoft.Json;
using Unity.Burst;
using Unity.Burst.Intrinsics;
using Unity.Collections;
using Unity.Entities;
using Unity.Jobs;
using Unity.Mathematics;
using UnityEngine;
using UnityEngine.Scripting;
using cohtml.Net;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
[assembly: AssemblyCompany("C2VM.TrafficLightsEnhancement")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("C2VM.TrafficLightsEnhancement")]
[assembly: AssemblyFileVersion("0.2.19.0")]
[assembly: AssemblyInformationalVersion("0.2.19+50ff0a74a36fae4dc6332f8e54b084ea00a7bf9f")]
[assembly: AssemblyProduct("C2VM.TrafficLightsEnhancement")]
[assembly: AssemblyTitle("C2VM.TrafficLightsEnhancement")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.2.19.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class IsReadOnlyAttribute : Attribute
	{
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace C2VM.TrafficLightsEnhancement
{
	[BepInPlugin("C2VM.TrafficLightsEnhancement", "C2VM.TrafficLightsEnhancement", "0.2.19")]
	public class Plugin : BaseUnityPlugin
	{
		private void Awake()
		{
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			string informationalVersion = ((AssemblyInformationalVersionAttribute)Attribute.GetCustomAttribute(Assembly.GetAssembly(typeof(Plugin)), typeof(AssemblyInformationalVersionAttribute))).InformationalVersion;
			((BaseUnityPlugin)this).Logger.LogInfo((object)("Plugin C2VM.TrafficLightsEnhancement " + informationalVersion + " is loaded!"));
			new Harmony("C2VM.TrafficLightsEnhancement").PatchAll();
		}
	}
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "C2VM.TrafficLightsEnhancement";

		public const string PLUGIN_NAME = "C2VM.TrafficLightsEnhancement";

		public const string PLUGIN_VERSION = "0.2.19";
	}
}
namespace C2VM.TrafficLightsEnhancement.Systems.UISystem
{
	public static class DefaultLaneDirection
	{
		public static void Build(ref DynamicBuffer<CustomLaneDirection> customLaneDirectionBuffer, ref DynamicBuffer<ConnectPositionSource> connectPositionSourceBuffer)
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			//IL_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_0153: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: Unknown result type (might be due to invalid IL or missing references)
			//IL_015e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0125: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0177: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Unknown result type (might be due to invalid IL or missing references)
			//IL_018f: Unknown result type (might be due to invalid IL or missing references)
			int num = -1;
			int num2 = -1;
			int num3 = -1;
			int num4 = -1;
			CustomLaneDirection val2 = default(CustomLaneDirection);
			for (int i = 0; i < connectPositionSourceBuffer.Length; i++)
			{
				ConnectPositionSource val = connectPositionSourceBuffer[i];
				if (val.m_GroupIndex != num)
				{
					num2 = i;
					for (int j = i + 1; j < connectPositionSourceBuffer.Length; j++)
					{
						if (connectPositionSourceBuffer[j].m_GroupIndex != val.m_GroupIndex)
						{
							num3 = j - 1;
							break;
						}
						if (j == connectPositionSourceBuffer.Length - 1)
						{
							num3 = j;
							break;
						}
					}
					num4 = num3 - num2 + 1;
					num = val.m_GroupIndex;
				}
				((CustomLaneDirection)(ref val2))..ctor(val.m_Position, val.m_Tangent, val.m_Owner, val.m_GroupIndex, val.m_LaneIndex, CustomLaneDirection.DefaultRestriction(num4, i - num2));
				if (!val.m_HasLeftTurnEdge && !val2.m_Restriction.m_BanLeft)
				{
					val2.m_Restriction.m_BanLeft = true;
					if (val.m_HasStraightEdge)
					{
						val2.m_Restriction.m_BanStraight = false;
					}
					else if (val.m_HasRightTurnEdge)
					{
						val2.m_Restriction.m_BanRight = false;
					}
				}
				if (!val.m_HasRightTurnEdge && !val2.m_Restriction.m_BanRight)
				{
					val2.m_Restriction.m_BanRight = true;
					if (val.m_HasStraightEdge)
					{
						val2.m_Restriction.m_BanStraight = false;
					}
					else if (val.m_HasLeftTurnEdge)
					{
						val2.m_Restriction.m_BanLeft = false;
					}
				}
				if (!val.m_HasStraightEdge && !val2.m_Restriction.m_BanStraight)
				{
					val2.m_Restriction.m_BanStraight = true;
					if (val.m_HasLeftTurnEdge)
					{
						val2.m_Restriction.m_BanLeft = false;
					}
					else if (val.m_HasRightTurnEdge)
					{
						val2.m_Restriction.m_BanRight = false;
					}
				}
				customLaneDirectionBuffer.Add(val2);
			}
		}
	}
	[HarmonyPatch]
	internal class Patches
	{
		[HarmonyPatch(typeof(NetToolSystem), "SetAppliedUpgrade")]
		[HarmonyPostfix]
		private static void SetAppliedUpgrade(NetToolSystem __instance, bool removing)
		{
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Unknown result type (might be due to invalid IL or missing references)
			if (removing)
			{
				return;
			}
			Entity value = Traverse.Create((object)__instance).Field("m_AppliedUpgrade").Property("value", (object[])null)
				.Field("m_Entity")
				.GetValue<Entity>();
			if ((Traverse.Create((object)__instance).Field("m_AppliedUpgrade").Property("value", (object[])null)
				.Field("m_Flags")
				.GetValue<CompositionFlags>()
				.m_General & 0x400) != 0)
			{
				BufferLookup<ConnectPositionSource> bufferLookup = ((SystemBase)__instance).GetBufferLookup<ConnectPositionSource>(false);
				EntityManager entityManager;
				if (!bufferLookup.HasBuffer(value))
				{
					entityManager = ((ComponentSystemBase)__instance).EntityManager;
					((EntityManager)(ref entityManager)).AddBuffer<ConnectPositionSource>(value);
				}
				else
				{
					bufferLookup[value].Clear();
				}
				BufferLookup<ConnectPositionTarget> bufferLookup2 = ((SystemBase)__instance).GetBufferLookup<ConnectPositionTarget>(false);
				if (!bufferLookup2.HasBuffer(value))
				{
					entityManager = ((ComponentSystemBase)__instance).EntityManager;
					((EntityManager)(ref entityManager)).AddBuffer<ConnectPositionTarget>(value);
				}
				else
				{
					bufferLookup2[value].Clear();
				}
				((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<UISystem>().ChangeSelectedEntity(value);
			}
		}

		[HarmonyPatch(typeof(AudioManager), "OnGameLoadingComplete")]
		[HarmonyPostfix]
		private static void OnGameLoadingComplete(AudioManager __instance, ref GameMode mode)
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			if (((uint)mode & 6u) != 0)
			{
				((ComponentSystemBase)__instance).World.GetOrCreateSystem<UISystem>();
			}
		}
	}
	public static class Types
	{
		[StructLayout(LayoutKind.Sequential, Size = 1)]
		public struct ItemDivider
		{
			[JsonProperty]
			private const string itemType = "divider";
		}

		public struct ItemRadio
		{
			[JsonProperty]
			private const string itemType = "radio";

			public string type;

			public bool isChecked;

			public string key;

			public string value;

			public string label;

			public string engineEventName;
		}

		public struct ItemTitle
		{
			[JsonProperty]
			private const string itemType = "title";

			public string title;
		}

		public struct ItemMessage
		{
			[JsonProperty]
			private const string itemType = "message";

			public string message;
		}

		public struct ItemCheckbox
		{
			[JsonProperty]
			private const string itemType = "checkbox";

			public string type;

			public bool isChecked;

			public string key;

			public string value;

			public string label;

			public string engineEventName;
		}

		public struct ItemButton
		{
			[JsonProperty]
			private const string itemType = "button";

			public string type;

			public string key;

			public string value;

			public string label;

			public string engineEventName;
		}

		public struct ItemNotification
		{
			[JsonProperty]
			private const string itemType = "notification";

			[JsonProperty]
			private const string type = "c2vm-tle-panel-notification";

			public string label;

			public string notificationType;
		}

		public struct ItemRange
		{
			[JsonProperty]
			private const string itemType = "range";

			public string key;

			public string label;

			public float value;

			public string valuePrefix;

			public string valueSuffix;

			public float min;

			public float max;

			public float step;

			public string engineEventName;
		}

		public struct WorldPosition
		{
			public float x;

			public float y;

			public float z;
		}

		public struct ScreenPosition
		{
			public float top;

			public float left;
		}

		public struct LaneToolButton
		{
			public string image;

			public bool visible;

			public WorldPosition position;

			public string engineEventName;

			public LaneToolButton(WorldPosition position, bool visible, string engineEventName)
			{
				image = "Media/Game/Icons/RoadsServices.svg";
				this.position = position;
				this.visible = visible;
				this.engineEventName = engineEventName;
			}
		}

		public struct LaneDirectionToolPanel
		{
			public string title;

			public string image;

			public bool visible;

			public WorldPosition position;

			public List<LaneDirection> lanes;

			public List<dynamic> items;
		}

		public struct LaneDirection
		{
			[JsonProperty]
			private const string itemType = "lane";

			public WorldPosition position;

			public bool leftHandTraffic;

			public string label;

			public bool banLeft;

			public bool banRight;

			public bool banStraight;

			public bool banUTurn;
		}

		public static ItemRadio MainPanelItemPattern(string label, uint pattern, uint selectedPattern)
		{
			ItemRadio result = default(ItemRadio);
			result.label = label;
			result.key = "pattern";
			result.value = pattern.ToString();
			result.engineEventName = "C2VM-TLE-Call-MainPanel-UpdatePattern";
			result.isChecked = (selectedPattern & 0xFFFF) == pattern;
			return result;
		}

		public static ItemCheckbox MainPanelItemOption(string label, uint option, uint selectedPattern)
		{
			ItemCheckbox result = default(ItemCheckbox);
			result.label = label;
			result.key = option.ToString();
			result.value = ((selectedPattern & option) != 0).ToString();
			result.isChecked = (selectedPattern & option) != 0;
			result.engineEventName = "C2VM-TLE-Call-MainPanel-UpdateOption";
			return result;
		}
	}
	public class UISystem : GameSystemBase
	{
		public bool m_IsLaneManagementToolOpen;

		public bool m_ShowNotificationUnsaved;

		public Entity m_SelectedEntity;

		private View m_View;

		private int m_Ways;

		private CustomTrafficLights m_CustomTrafficLights;

		private CityConfigurationSystem m_CityConfigurationSystem;

		private BufferLookup<ConnectPositionSource> m_ConnectPositionSourceLookup;

		private BufferLookup<ConnectPositionTarget> m_ConnectPositionTargetLookup;

		private BufferLookup<CustomLaneDirection> m_CustomLaneDirectionLookup;

		private BufferLookup<ConnectedEdge> m_ConnectedEdgeLookup;

		private ComponentLookup<CarLane> m_CarLaneLookup;

		private ComponentLookup<Curve> m_CurveLookup;

		private ComponentLookup<CustomTrafficLights> m_CustomTrafficLightsLookup;

		private ComponentLookup<Edge> m_EdgeLookup;

		private ComponentLookup<LaneSignal> m_LaneSignalLookup;

		private ComponentLookup<MasterLane> m_MasterLaneLookup;

		private ComponentLookup<PedestrianLane> m_PedestrianLaneLookup;

		private ComponentLookup<SlaveLane> m_SlaveLaneLookup;

		private ComponentLookup<SecondaryLane> m_SecondaryLaneLookup;

		private BufferLookup<SubLane> m_SubLaneLookup;

		private ComponentLookup<TrackLane> m_TrackLaneLookup;

		protected override void OnCreate()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Unknown result type (might be due to invalid IL or missing references)
			//IL_0145: Unknown result type (might be due to invalid IL or missing references)
			//IL_0162: Unknown result type (might be due to invalid IL or missing references)
			//IL_017f: Unknown result type (might be due to invalid IL or missing references)
			//IL_019c: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0210: Unknown result type (might be due to invalid IL or missing references)
			//IL_022d: Unknown result type (might be due to invalid IL or missing references)
			//IL_024a: Unknown result type (might be due to invalid IL or missing references)
			((GameSystemBase)this).OnCreate();
			m_CityConfigurationSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<CityConfigurationSystem>();
			m_ConnectPositionSourceLookup = ((SystemBase)this).GetBufferLookup<ConnectPositionSource>(false);
			m_ConnectPositionTargetLookup = ((SystemBase)this).GetBufferLookup<ConnectPositionTarget>(false);
			m_CustomLaneDirectionLookup = ((SystemBase)this).GetBufferLookup<CustomLaneDirection>(false);
			m_CustomTrafficLightsLookup = ((SystemBase)this).GetComponentLookup<CustomTrafficLights>(false);
			m_ConnectedEdgeLookup = ((SystemBase)this).GetBufferLookup<ConnectedEdge>(false);
			m_CarLaneLookup = ((SystemBase)this).GetComponentLookup<CarLane>(true);
			m_CurveLookup = ((SystemBase)this).GetComponentLookup<Curve>(true);
			m_EdgeLookup = ((SystemBase)this).GetComponentLookup<Edge>(false);
			m_LaneSignalLookup = ((SystemBase)this).GetComponentLookup<LaneSignal>(true);
			m_MasterLaneLookup = ((SystemBase)this).GetComponentLookup<MasterLane>(true);
			m_PedestrianLaneLookup = ((SystemBase)this).GetComponentLookup<PedestrianLane>(true);
			m_SlaveLaneLookup = ((SystemBase)this).GetComponentLookup<SlaveLane>(true);
			m_SecondaryLaneLookup = ((SystemBase)this).GetComponentLookup<SecondaryLane>(true);
			m_SubLaneLookup = ((SystemBase)this).GetBufferLookup<SubLane>(false);
			m_TrackLaneLookup = ((SystemBase)this).GetComponentLookup<TrackLane>(true);
			m_View = GameManager.instance.userInterface.view.View;
			m_View.BindCall("C2VM-TLE-Call-GetLocale", (Delegate)new Func<string>(CallGetLocale));
			m_View.BindCall("C2VM-TLE-Call-MainPanel-Update", (Delegate)new Action(CallMainPanelUpdate));
			m_View.BindCall("C2VM-TLE-Call-MainPanel-UpdatePattern", (Delegate)new Action<string>(CallMainPanelUpdatePattern));
			m_View.BindCall("C2VM-TLE-Call-MainPanel-UpdateOption", (Delegate)new Action<string>(CallMainPanelUpdateOption));
			m_View.BindCall("C2VM-TLE-Call-MainPanel-UpdateValue", (Delegate)new Action<string>(CallMainPanelUpdateValue));
			m_View.BindCall("C2VM-TLE-Call-MainPanel-Save", (Delegate)new Action<string>(CallMainPanelSave));
			m_View.BindCall("C2VM-TLE-Call-LaneDirectionTool-Open", (Delegate)new Action<string>(CallLaneDirectionToolOpen));
			m_View.BindCall("C2VM-TLE-Call-LaneDirectionTool-Close", (Delegate)new Action<string>(CallLaneDirectionToolClose));
			m_View.BindCall("C2VM-TLE-Call-LaneDirectionTool-Reset", (Delegate)new Action<string>(CallLaneDirectionToolReset));
			m_View.BindCall("C2VM-TLE-Call-LaneDirectionTool-Panel-Save", (Delegate)new Action<string>(CallLaneDirectionToolPanelSave));
			m_View.BindCall("C2VM-TLE-Call-KeyPress", (Delegate)new Action<string>(CallKeyPress));
			m_View.BindCall("C2VM-TLE-Call-TranslatePosition", (Delegate)new Func<string, string>(CallTranslatePosition));
			m_View.ExecuteScript("(function(){\n(function(){const t=document.createElement(\"link\").relList;if(t&&t.supports&&t.supports(\"modulepreload\"))return;for(const i of document.querySelectorAll('link[rel=\"modulepreload\"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type===\"childList\")for(const o of l.addedNodes)o.tagName===\"LINK\"&&o.rel===\"modulepreload\"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin===\"use-credentials\"?l.credentials=\"include\":i.crossOrigin===\"anonymous\"?l.credentials=\"omit\":l.credentials=\"same-origin\",l}function r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();function sd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var Es={exports:{}},el={},Ps={exports:{}},I={};/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var Ar=Symbol.for(\"react.element\"),cd=Symbol.for(\"react.portal\"),fd=Symbol.for(\"react.fragment\"),dd=Symbol.for(\"react.strict_mode\"),pd=Symbol.for(\"react.profiler\"),md=Symbol.for(\"react.provider\"),hd=Symbol.for(\"react.context\"),gd=Symbol.for(\"react.forward_ref\"),vd=Symbol.for(\"react.suspense\"),yd=Symbol.for(\"react.memo\"),wd=Symbol.for(\"react.lazy\"),ea=Symbol.iterator;function Sd(e){return e===null||typeof e!=\"object\"?null:(e=ea&&e[ea]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var Ts={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ns=Object.assign,Rs={};function Un(e,t,n){this.props=e,this.context=t,this.refs=Rs,this.updater=n||Ts}Un.prototype.isReactComponent={};Un.prototype.setState=function(e,t){if(typeof e!=\"object\"&&typeof e!=\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};Un.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};function Ls(){}Ls.prototype=Un.prototype;function eu(e,t,n){this.props=e,this.context=t,this.refs=Rs,this.updater=n||Ts}var tu=eu.prototype=new Ls;tu.constructor=eu;Ns(tu,Un.prototype);tu.isPureReactComponent=!0;var ta=Array.isArray,Os=Object.prototype.hasOwnProperty,nu={current:null},zs={key:!0,ref:!0,__self:!0,__source:!0};function js(e,t,n){var r,i={},l=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(l=\"\"+t.key),t)Os.call(t,r)&&!zs.hasOwnProperty(r)&&(i[r]=t[r]);var u=arguments.length-2;if(u===1)i.children=n;else if(1<u){for(var a=Array(u),c=0;c<u;c++)a[c]=arguments[c+2];i.children=a}if(e&&e.defaultProps)for(r in u=e.defaultProps,u)i[r]===void 0&&(i[r]=u[r]);return{$$typeof:Ar,type:e,key:l,ref:o,props:i,_owner:nu.current}}function kd(e,t){return{$$typeof:Ar,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function ru(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===Ar}function Cd(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+e.replace(/[=:]/g,function(n){return t[n]})}var na=/\\/+/g;function xl(e,t){return typeof e==\"object\"&&e!==null&&e.key!=null?Cd(\"\"+e.key):t.toString(36)}function ci(e,t,n,r,i){var l=typeof e;(l===\"undefined\"||l===\"boolean\")&&(e=null);var o=!1;if(e===null)o=!0;else switch(l){case\"string\":case\"number\":o=!0;break;case\"object\":switch(e.$$typeof){case Ar:case cd:o=!0}}if(o)return o=e,i=i(o),e=r===\"\"?\".\"+xl(o,0):r,ta(i)?(n=\"\",e!=null&&(n=e.replace(na,\"$&/\")+\"/\"),ci(i,t,n,\"\",function(c){return c})):i!=null&&(ru(i)&&(i=kd(i,n+(!i.key||o&&o.key===i.key?\"\":(\"\"+i.key).replace(na,\"$&/\")+\"/\")+e)),t.push(i)),1;if(o=0,r=r===\"\"?\".\":r+\":\",ta(e))for(var u=0;u<e.length;u++){l=e[u];var a=r+xl(l,u);o+=ci(l,t,n,a,i)}else if(a=Sd(e),typeof a==\"function\")for(e=a.call(e),u=0;!(l=e.next()).done;)l=l.value,a=r+xl(l,u++),o+=ci(l,t,n,a,i);else if(l===\"object\")throw t=String(e),Error(\"Objects are not valid as a React child (found: \"+(t===\"[object Object]\"?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":t)+\"). If you meant to render a collection of children, use an array instead.\");return o}function Gr(e,t,n){if(e==null)return e;var r=[],i=0;return ci(e,r,\"\",\"\",function(l){return t.call(n,l,i++)}),r}function xd(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var me={current:null},fi={transition:null},_d={ReactCurrentDispatcher:me,ReactCurrentBatchConfig:fi,ReactCurrentOwner:nu};I.Children={map:Gr,forEach:function(e,t,n){Gr(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Gr(e,function(){t++}),t},toArray:function(e){return Gr(e,function(t){return t})||[]},only:function(e){if(!ru(e))throw Error(\"React.Children.only expected to receive a single React element child.\");return e}};I.Component=Un;I.Fragment=fd;I.Profiler=pd;I.PureComponent=eu;I.StrictMode=dd;I.Suspense=vd;I.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=_d;I.cloneElement=function(e,t,n){if(e==null)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+e+\".\");var r=Ns({},e.props),i=e.key,l=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(l=t.ref,o=nu.current),t.key!==void 0&&(i=\"\"+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(a in t)Os.call(t,a)&&!zs.hasOwnProperty(a)&&(r[a]=t[a]===void 0&&u!==void 0?u[a]:t[a])}var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){u=Array(a);for(var c=0;c<a;c++)u[c]=arguments[c+2];r.children=u}return{$$typeof:Ar,type:e.type,key:i,ref:l,props:r,_owner:o}};I.createContext=function(e){return e={$$typeof:hd,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:md,_context:e},e.Consumer=e};I.createElement=js;I.createFactory=function(e){var t=js.bind(null,e);return t.type=e,t};I.createRef=function(){return{current:null}};I.forwardRef=function(e){return{$$typeof:gd,render:e}};I.isValidElement=ru;I.lazy=function(e){return{$$typeof:wd,_payload:{_status:-1,_result:e},_init:xd}};I.memo=function(e,t){return{$$typeof:yd,type:e,compare:t===void 0?null:t}};I.startTransition=function(e){var t=fi.transition;fi.transition={};try{e()}finally{fi.transition=t}};I.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\")};I.useCallback=function(e,t){return me.current.useCallback(e,t)};I.useContext=function(e){return me.current.useContext(e)};I.useDebugValue=function(){};I.useDeferredValue=function(e){return me.current.useDeferredValue(e)};I.useEffect=function(e,t){return me.current.useEffect(e,t)};I.useId=function(){return me.current.useId()};I.useImperativeHandle=function(e,t,n){return me.current.useImperativeHandle(e,t,n)};I.useInsertionEffect=function(e,t){return me.current.useInsertionEffect(e,t)};I.useLayoutEffect=function(e,t){return me.current.useLayoutEffect(e,t)};I.useMemo=function(e,t){return me.current.useMemo(e,t)};I.useReducer=function(e,t,n){return me.current.useReducer(e,t,n)};I.useRef=function(e){return me.current.useRef(e)};I.useState=function(e){return me.current.useState(e)};I.useSyncExternalStore=function(e,t,n){return me.current.useSyncExternalStore(e,t,n)};I.useTransition=function(){return me.current.useTransition()};I.version=\"18.2.0\";Ps.exports=I;var N=Ps.exports;const Tn=sd(N);/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var Ed=N,Pd=Symbol.for(\"react.element\"),Td=Symbol.for(\"react.fragment\"),Nd=Object.prototype.hasOwnProperty,Rd=Ed.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ld={key:!0,ref:!0,__self:!0,__source:!0};function Ds(e,t,n){var r,i={},l=null,o=null;n!==void 0&&(l=\"\"+n),t.key!==void 0&&(l=\"\"+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)Nd.call(t,r)&&!Ld.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:Pd,type:e,key:l,ref:o,props:i,_owner:Rd.current}}el.Fragment=Td;el.jsx=Ds;el.jsxs=Ds;Es.exports=el;var C=Es.exports,bl={},Is={exports:{}},Ne={},$s={exports:{}},As={};/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */(function(e){function t(E,R){var O=E.length;E.push(R);e:for(;0<O;){var A=O-1>>>1,X=E[A];if(0<i(X,R))E[A]=R,E[O]=X,O=A;else break e}}function n(E){return E.length===0?null:E[0]}function r(E){if(E.length===0)return null;var R=E[0],O=E.pop();if(O!==R){E[0]=O;e:for(var A=0,X=E.length,mt=X>>>1;A<mt;){var Le=2*(A+1)-1,et=E[Le],Oe=Le+1,Ke=E[Oe];if(0>i(et,O))Oe<X&&0>i(Ke,et)?(E[A]=Ke,E[Oe]=O,A=Oe):(E[A]=et,E[Le]=O,A=Le);else if(Oe<X&&0>i(Ke,O))E[A]=Ke,E[Oe]=O,A=Oe;else break e}}return R}function i(E,R){var O=E.sortIndex-R.sortIndex;return O!==0?O:E.id-R.id}if(typeof performance==\"object\"&&typeof performance.now==\"function\"){var l=performance;e.unstable_now=function(){return l.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var a=[],c=[],h=1,m=null,p=3,g=!1,y=!1,w=!1,L=typeof setTimeout==\"function\"?setTimeout:null,f=typeof clearTimeout==\"function\"?clearTimeout:null,s=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(E){for(var R=n(c);R!==null;){if(R.callback===null)r(c);else if(R.startTime<=E)r(c),R.sortIndex=R.expirationTime,t(a,R);else break;R=n(c)}}function v(E){if(w=!1,d(E),!y)if(n(a)!==null)y=!0,Hn(_);else{var R=n(c);R!==null&&Ft(v,R.startTime-E)}}function _(E,R){y=!1,w&&(w=!1,f(T),T=-1),g=!0;var O=p;try{for(d(R),m=n(a);m!==null&&(!(m.expirationTime>R)||E&&!Ce());){var A=m.callback;if(typeof A==\"function\"){m.callback=null,p=m.priorityLevel;var X=A(m.expirationTime<=R);R=e.unstable_now(),typeof X==\"function\"?m.callback=X:m===n(a)&&r(a),d(R)}else r(a);m=n(a)}if(m!==null)var mt=!0;else{var Le=n(c);Le!==null&&Ft(v,Le.startTime-R),mt=!1}return mt}finally{m=null,p=O,g=!1}}var x=!1,S=null,T=-1,U=5,D=-1;function Ce(){return!(e.unstable_now()-D<U)}function At(){if(S!==null){var E=e.unstable_now();D=E;var R=!0;try{R=S(!0,E)}finally{R?Mt():(x=!1,S=null)}}else x=!1}var Mt;if(typeof s==\"function\")Mt=function(){s(At)};else if(typeof MessageChannel<\"u\"){var Wr=new MessageChannel,kl=Wr.port2;Wr.port1.onmessage=At,Mt=function(){kl.postMessage(null)}}else Mt=function(){L(At,0)};function Hn(E){S=E,x||(x=!0,Mt())}function Ft(E,R){T=L(function(){E(e.unstable_now())},R)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(E){E.callback=null},e.unstable_continueExecution=function(){y||g||(y=!0,Hn(_))},e.unstable_forceFrameRate=function(E){0>E||125<E?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):U=0<E?Math.floor(1e3/E):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return n(a)},e.unstable_next=function(E){switch(p){case 1:case 2:case 3:var R=3;break;default:R=p}var O=p;p=R;try{return E()}finally{p=O}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(E,R){switch(E){case 1:case 2:case 3:case 4:case 5:break;default:E=3}var O=p;p=E;try{return R()}finally{p=O}},e.unstable_scheduleCallback=function(E,R,O){var A=e.unstable_now();switch(typeof O==\"object\"&&O!==null?(O=O.delay,O=typeof O==\"number\"&&0<O?A+O:A):O=A,E){case 1:var X=-1;break;case 2:X=250;break;case 5:X=1073741823;break;case 4:X=1e4;break;default:X=5e3}return X=O+X,E={id:h++,callback:R,priorityLevel:E,startTime:O,expirationTime:X,sortIndex:-1},O>A?(E.sortIndex=O,t(c,E),n(a)===null&&E===n(c)&&(w?(f(T),T=-1):w=!0,Ft(v,O-A))):(E.sortIndex=X,t(a,E),y||g||(y=!0,Hn(_))),E},e.unstable_shouldYield=Ce,e.unstable_wrapCallback=function(E){var R=p;return function(){var O=p;p=R;try{return E.apply(this,arguments)}finally{p=O}}}})(As);$s.exports=As;var Od=$s.exports;/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var Ms=N,Te=Od;function k(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Fs=new Set,wr={};function nn(e,t){Nn(e,t),Nn(e+\"Capture\",t)}function Nn(e,t){for(wr[e]=t,e=0;e<t.length;e++)Fs.add(t[e])}var ut=!(typeof window>\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),eo=Object.prototype.hasOwnProperty,zd=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ra={},ia={};function jd(e){return eo.call(ia,e)?!0:eo.call(ra,e)?!1:zd.test(e)?ia[e]=!0:(ra[e]=!0,!1)}function Dd(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function Id(e,t,n,r){if(t===null||typeof t>\"u\"||Dd(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function he(e,t,n,r,i,l,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=o}var ue={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ue[e]=new he(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ue[t]=new he(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ue[e]=new he(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ue[e]=new he(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ue[e]=new he(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ue[e]=new he(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ue[e]=new he(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ue[e]=new he(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ue[e]=new he(e,5,!1,e.toLowerCase(),null,!1,!1)});var iu=/[\\-:]([a-z])/g;function lu(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(iu,lu);ue[t]=new he(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(iu,lu);ue[t]=new he(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(iu,lu);ue[t]=new he(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ue[e]=new he(e,1,!1,e.toLowerCase(),null,!1,!1)});ue.xlinkHref=new he(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ue[e]=new he(e,1,!1,e.toLowerCase(),null,!0,!0)});function ou(e,t,n,r){var i=ue.hasOwnProperty(t)?ue[t]:null;(i!==null?i.type!==0:r||!(2<t.length)||t[0]!==\"o\"&&t[0]!==\"O\"||t[1]!==\"n\"&&t[1]!==\"N\")&&(Id(t,n,i,r)&&(n=null),r||i===null?jd(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:\"\":n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&n===!0?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var pt=Ms.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Qr=Symbol.for(\"react.element\"),an=Symbol.for(\"react.portal\"),sn=Symbol.for(\"react.fragment\"),uu=Symbol.for(\"react.strict_mode\"),to=Symbol.for(\"react.profiler\"),Us=Symbol.for(\"react.provider\"),Vs=Symbol.for(\"react.context\"),au=Symbol.for(\"react.forward_ref\"),no=Symbol.for(\"react.suspense\"),ro=Symbol.for(\"react.suspense_list\"),su=Symbol.for(\"react.memo\"),yt=Symbol.for(\"react.lazy\"),Bs=Symbol.for(\"react.offscreen\"),la=Symbol.iterator;function Gn(e){return e===null||typeof e!=\"object\"?null:(e=la&&e[la]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var Y=Object.assign,_l;function rr(e){if(_l===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);_l=t&&t[1]||\"\"}return`\n`+_l+e}var El=!1;function Pl(e,t){if(!e||El)return\"\";El=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,\"props\",{set:function(){throw Error()}}),typeof Reflect==\"object\"&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&typeof c.stack==\"string\"){for(var i=c.stack.split(`\n`),l=r.stack.split(`\n`),o=i.length-1,u=l.length-1;1<=o&&0<=u&&i[o]!==l[u];)u--;for(;1<=o&&0<=u;o--,u--)if(i[o]!==l[u]){if(o!==1||u!==1)do if(o--,u--,0>u||i[o]!==l[u]){var a=`\n`+i[o].replace(\" at new \",\" at \");return e.displayName&&a.includes(\"<anonymous>\")&&(a=a.replace(\"<anonymous>\",e.displayName)),a}while(1<=o&&0<=u);break}}}finally{El=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:\"\")?rr(e):\"\"}function $d(e){switch(e.tag){case 5:return rr(e.type);case 16:return rr(\"Lazy\");case 13:return rr(\"Suspense\");case 19:return rr(\"SuspenseList\");case 0:case 2:case 15:return e=Pl(e.type,!1),e;case 11:return e=Pl(e.type.render,!1),e;case 1:return e=Pl(e.type,!0),e;default:return\"\"}}function io(e){if(e==null)return null;if(typeof e==\"function\")return e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case sn:return\"Fragment\";case an:return\"Portal\";case to:return\"Profiler\";case uu:return\"StrictMode\";case no:return\"Suspense\";case ro:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case Vs:return(e.displayName||\"Context\")+\".Consumer\";case Us:return(e._context.displayName||\"Context\")+\".Provider\";case au:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case su:return t=e.displayName||null,t!==null?t:io(e.type)||\"Memo\";case yt:t=e._payload,e=e._init;try{return io(e(t))}catch{}}return null}function Ad(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return io(t);case 8:return t===uu?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==\"function\")return t.displayName||t.name||null;if(typeof t==\"string\")return t}return null}function zt(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function Ws(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function Md(e){var t=Ws(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof n<\"u\"&&typeof n.get==\"function\"&&typeof n.set==\"function\"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=\"\"+o,l.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=\"\"+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Kr(e){e._valueTracker||(e._valueTracker=Md(e))}function Hs(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=Ws(e)?e.checked?\"true\":\"false\":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ti(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch{return e.body}}function lo(e,t){var n=t.checked;return Y({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function oa(e,t){var n=t.defaultValue==null?\"\":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=zt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function Gs(e,t){t=t.checked,t!=null&&ou(e,\"checked\",t,!1)}function oo(e,t){Gs(e,t);var n=zt(t.value),r=t.type;if(n!=null)r===\"number\"?(n===0&&e.value===\"\"||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n);else if(r===\"submit\"||r===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?uo(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&uo(e,t.type,zt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ua(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(r!==\"submit\"&&r!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,n!==\"\"&&(e.name=n)}function uo(e,t,n){(t!==\"number\"||Ti(e.ownerDocument)!==e)&&(n==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}var ir=Array.isArray;function kn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[\"$\"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+zt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function ao(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(k(91));return Y({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function aa(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(k(92));if(ir(n)){if(1<n.length)throw Error(k(93));n=n[0]}t=n}t==null&&(t=\"\"),n=t}e._wrapperState={initialValue:zt(n)}}function Qs(e,t){var n=zt(t.value),r=zt(t.defaultValue);n!=null&&(n=\"\"+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=\"\"+r)}function sa(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==\"\"&&t!==null&&(e.value=t)}function Ks(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function so(e,t){return e==null||e===\"http://www.w3.org/1999/xhtml\"?Ks(t):e===\"http://www.w3.org/2000/svg\"&&t===\"foreignObject\"?\"http://www.w3.org/1999/xhtml\":e}var Yr,Ys=function(e){return typeof MSApp<\"u\"&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!==\"http://www.w3.org/2000/svg\"||\"innerHTML\"in e)e.innerHTML=t;else{for(Yr=Yr||document.createElement(\"div\"),Yr.innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=Yr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Sr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var ar={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Fd=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(ar).forEach(function(e){Fd.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ar[t]=ar[e]})});function Js(e,t,n){return t==null||typeof t==\"boolean\"||t===\"\"?\"\":n||typeof t!=\"number\"||t===0||ar.hasOwnProperty(e)&&ar[e]?(\"\"+t).trim():t+\"px\"}function Xs(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf(\"--\")===0,i=Js(n,t[n],r);n===\"float\"&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}var Ud=Y({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function co(e,t){if(t){if(Ud[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(k(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(k(60));if(typeof t.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(k(61))}if(t.style!=null&&typeof t.style!=\"object\")throw Error(k(62))}}function fo(e,t){if(e.indexOf(\"-\")===-1)return typeof t.is==\"string\";switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var po=null;function cu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var mo=null,Cn=null,xn=null;function ca(e){if(e=Ur(e)){if(typeof mo!=\"function\")throw Error(k(280));var t=e.stateNode;t&&(t=ll(t),mo(e.stateNode,e.type,t))}}function Zs(e){Cn?xn?xn.push(e):xn=[e]:Cn=e}function qs(){if(Cn){var e=Cn,t=xn;if(xn=Cn=null,ca(e),t)for(e=0;e<t.length;e++)ca(t[e])}}function bs(e,t){return e(t)}function ec(){}var Tl=!1;function tc(e,t,n){if(Tl)return e(t,n);Tl=!0;try{return bs(e,t,n)}finally{Tl=!1,(Cn!==null||xn!==null)&&(ec(),qs())}}function kr(e,t){var n=e.stateNode;if(n===null)return null;var r=ll(n);if(r===null)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(e=e.type,r=!(e===\"button\"||e===\"input\"||e===\"select\"||e===\"textarea\")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!=\"function\")throw Error(k(231,t,typeof n));return n}var ho=!1;if(ut)try{var Qn={};Object.defineProperty(Qn,\"passive\",{get:function(){ho=!0}}),window.addEventListener(\"test\",Qn,Qn),window.removeEventListener(\"test\",Qn,Qn)}catch{ho=!1}function Vd(e,t,n,r,i,l,o,u,a){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(h){this.onError(h)}}var sr=!1,Ni=null,Ri=!1,go=null,Bd={onError:function(e){sr=!0,Ni=e}};function Wd(e,t,n,r,i,l,o,u,a){sr=!1,Ni=null,Vd.apply(Bd,arguments)}function Hd(e,t,n,r,i,l,o,u,a){if(Wd.apply(this,arguments),sr){if(sr){var c=Ni;sr=!1,Ni=null}else throw Error(k(198));Ri||(Ri=!0,go=c)}}function rn(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function nc(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function fa(e){if(rn(e)!==e)throw Error(k(188))}function Gd(e){var t=e.alternate;if(!t){if(t=rn(e),t===null)throw Error(k(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var l=i.alternate;if(l===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===l.child){for(l=i.child;l;){if(l===n)return fa(i),e;if(l===r)return fa(i),t;l=l.sibling}throw Error(k(188))}if(n.return!==r.return)n=i,r=l;else{for(var o=!1,u=i.child;u;){if(u===n){o=!0,n=i,r=l;break}if(u===r){o=!0,r=i,n=l;break}u=u.sibling}if(!o){for(u=l.child;u;){if(u===n){o=!0,n=l,r=i;break}if(u===r){o=!0,r=l,n=i;break}u=u.sibling}if(!o)throw Error(k(189))}}if(n.alternate!==r)throw Error(k(190))}if(n.tag!==3)throw Error(k(188));return n.stateNode.current===n?e:t}function rc(e){return e=Gd(e),e!==null?ic(e):null}function ic(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=ic(e);if(t!==null)return t;e=e.sibling}return null}var lc=Te.unstable_scheduleCallback,da=Te.unstable_cancelCallback,Qd=Te.unstable_shouldYield,Kd=Te.unstable_requestPaint,Z=Te.unstable_now,Yd=Te.unstable_getCurrentPriorityLevel,fu=Te.unstable_ImmediatePriority,oc=Te.unstable_UserBlockingPriority,Li=Te.unstable_NormalPriority,Jd=Te.unstable_LowPriority,uc=Te.unstable_IdlePriority,tl=null,qe=null;function Xd(e){if(qe&&typeof qe.onCommitFiberRoot==\"function\")try{qe.onCommitFiberRoot(tl,e,void 0,(e.current.flags&128)===128)}catch{}}var We=Math.clz32?Math.clz32:bd,Zd=Math.log,qd=Math.LN2;function bd(e){return e>>>=0,e===0?32:31-(Zd(e)/qd|0)|0}var Jr=64,Xr=4194304;function lr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Oi(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,l=e.pingedLanes,o=n&268435455;if(o!==0){var u=o&~i;u!==0?r=lr(u):(l&=o,l!==0&&(r=lr(l)))}else o=n&~i,o!==0?r=lr(o):l!==0&&(r=lr(l));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,l=t&-t,i>=l||i===16&&(l&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-We(t),i=1<<n,r|=e[n],t&=~i;return r}function ep(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function tp(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,l=e.pendingLanes;0<l;){var o=31-We(l),u=1<<o,a=i[o];a===-1?(!(u&n)||u&r)&&(i[o]=ep(u,t)):a<=t&&(e.expiredLanes|=u),l&=~u}}function vo(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function ac(){var e=Jr;return Jr<<=1,!(Jr&4194240)&&(Jr=64),e}function Nl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Mr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-We(t),e[t]=n}function np(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-We(n),l=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~l}}function du(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-We(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var F=0;function sc(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var cc,pu,fc,dc,pc,yo=!1,Zr=[],_t=null,Et=null,Pt=null,Cr=new Map,xr=new Map,St=[],rp=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function pa(e,t){switch(e){case\"focusin\":case\"focusout\":_t=null;break;case\"dragenter\":case\"dragleave\":Et=null;break;case\"mouseover\":case\"mouseout\":Pt=null;break;case\"pointerover\":case\"pointerout\":Cr.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":xr.delete(t.pointerId)}}function Kn(e,t,n,r,i,l){return e===null||e.nativeEvent!==l?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:l,targetContainers:[i]},t!==null&&(t=Ur(t),t!==null&&pu(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function ip(e,t,n,r,i){switch(t){case\"focusin\":return _t=Kn(_t,e,t,n,r,i),!0;case\"dragenter\":return Et=Kn(Et,e,t,n,r,i),!0;case\"mouseover\":return Pt=Kn(Pt,e,t,n,r,i),!0;case\"pointerover\":var l=i.pointerId;return Cr.set(l,Kn(Cr.get(l)||null,e,t,n,r,i)),!0;case\"gotpointercapture\":return l=i.pointerId,xr.set(l,Kn(xr.get(l)||null,e,t,n,r,i)),!0}return!1}function mc(e){var t=Wt(e.target);if(t!==null){var n=rn(t);if(n!==null){if(t=n.tag,t===13){if(t=nc(n),t!==null){e.blockedOn=t,pc(e.priority,function(){fc(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function di(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=wo(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);po=r,n.target.dispatchEvent(r),po=null}else return t=Ur(n),t!==null&&pu(t),e.blockedOn=n,!1;t.shift()}return!0}function ma(e,t,n){di(e)&&n.delete(t)}function lp(){yo=!1,_t!==null&&di(_t)&&(_t=null),Et!==null&&di(Et)&&(Et=null),Pt!==null&&di(Pt)&&(Pt=null),Cr.forEach(ma),xr.forEach(ma)}function Yn(e,t){e.blockedOn===t&&(e.blockedOn=null,yo||(yo=!0,Te.unstable_scheduleCallback(Te.unstable_NormalPriority,lp)))}function _r(e){function t(i){return Yn(i,e)}if(0<Zr.length){Yn(Zr[0],e);for(var n=1;n<Zr.length;n++){var r=Zr[n];r.blockedOn===e&&(r.blockedOn=null)}}for(_t!==null&&Yn(_t,e),Et!==null&&Yn(Et,e),Pt!==null&&Yn(Pt,e),Cr.forEach(t),xr.forEach(t),n=0;n<St.length;n++)r=St[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<St.length&&(n=St[0],n.blockedOn===null);)mc(n),n.blockedOn===null&&St.shift()}var _n=pt.ReactCurrentBatchConfig,zi=!0;function op(e,t,n,r){var i=F,l=_n.transition;_n.transition=null;try{F=1,mu(e,t,n,r)}finally{F=i,_n.transition=l}}function up(e,t,n,r){var i=F,l=_n.transition;_n.transition=null;try{F=4,mu(e,t,n,r)}finally{F=i,_n.transition=l}}function mu(e,t,n,r){if(zi){var i=wo(e,t,n,r);if(i===null)Ml(e,t,r,ji,n),pa(e,r);else if(ip(i,e,t,n,r))r.stopPropagation();else if(pa(e,r),t&4&&-1<rp.indexOf(e)){for(;i!==null;){var l=Ur(i);if(l!==null&&cc(l),l=wo(e,t,n,r),l===null&&Ml(e,t,r,ji,n),l===i)break;i=l}i!==null&&r.stopPropagation()}else Ml(e,t,r,null,n)}}var ji=null;function wo(e,t,n,r){if(ji=null,e=cu(r),e=Wt(e),e!==null)if(t=rn(e),t===null)e=null;else if(n=t.tag,n===13){if(e=nc(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return ji=e,null}function hc(e){switch(e){case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 1;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"toggle\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 4;case\"message\":switch(Yd()){case fu:return 1;case oc:return 4;case Li:case Jd:return 16;case uc:return 536870912;default:return 16}default:return 16}}var Ct=null,hu=null,pi=null;function gc(){if(pi)return pi;var e,t=hu,n=t.length,r,i=\"value\"in Ct?Ct.value:Ct.textContent,l=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[l-r];r++);return pi=i.slice(e,1<r?1-r:void 0)}function mi(e){var t=e.keyCode;return\"charCode\"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function qr(){return!0}function ha(){return!1}function Re(e){function t(n,r,i,l,o){this._reactName=n,this._targetInst=i,this.type=r,this.nativeEvent=l,this.target=o,this.currentTarget=null;for(var u in e)e.hasOwnProperty(u)&&(n=e[u],this[u]=n?n(l):l[u]);return this.isDefaultPrevented=(l.defaultPrevented!=null?l.defaultPrevented:l.returnValue===!1)?qr:ha,this.isPropagationStopped=ha,this}return Y(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!=\"unknown\"&&(n.returnValue=!1),this.isDefaultPrevented=qr)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!=\"unknown\"&&(n.cancelBubble=!0),this.isPropagationStopped=qr)},persist:function(){},isPersistent:qr}),t}var Vn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},gu=Re(Vn),Fr=Y({},Vn,{view:0,detail:0}),ap=Re(Fr),Rl,Ll,Jn,nl=Y({},Fr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:vu,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==Jn&&(Jn&&e.type===\"mousemove\"?(Rl=e.screenX-Jn.screenX,Ll=e.screenY-Jn.screenY):Ll=Rl=0,Jn=e),Rl)},movementY:function(e){return\"movementY\"in e?e.movementY:Ll}}),ga=Re(nl),sp=Y({},nl,{dataTransfer:0}),cp=Re(sp),fp=Y({},Fr,{relatedTarget:0}),Ol=Re(fp),dp=Y({},Vn,{animationName:0,elapsedTime:0,pseudoElement:0}),pp=Re(dp),mp=Y({},Vn,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),hp=Re(mp),gp=Y({},Vn,{data:0}),va=Re(gp),vp={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},yp={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},wp={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Sp(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=wp[e])?!!t[e]:!1}function vu(){return Sp}var kp=Y({},Fr,{key:function(e){if(e.key){var t=vp[e.key]||e.key;if(t!==\"Unidentified\")return t}return e.type===\"keypress\"?(e=mi(e),e===13?\"Enter\":String.fromCharCode(e)):e.type===\"keydown\"||e.type===\"keyup\"?yp[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:vu,charCode:function(e){return e.type===\"keypress\"?mi(e):0},keyCode:function(e){return e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0},which:function(e){return e.type===\"keypress\"?mi(e):e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0}}),Cp=Re(kp),xp=Y({},nl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ya=Re(xp),_p=Y({},Fr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:vu}),Ep=Re(_p),Pp=Y({},Vn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Tp=Re(Pp),Np=Y({},nl,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rp=Re(Np),Lp=[9,13,27,32],yu=ut&&\"CompositionEvent\"in window,cr=null;ut&&\"documentMode\"in document&&(cr=document.documentMode);var Op=ut&&\"TextEvent\"in window&&!cr,vc=ut&&(!yu||cr&&8<cr&&11>=cr),wa=\" \",Sa=!1;function yc(e,t){switch(e){case\"keyup\":return Lp.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function wc(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var cn=!1;function zp(e,t){switch(e){case\"compositionend\":return wc(t);case\"keypress\":return t.which!==32?null:(Sa=!0,wa);case\"textInput\":return e=t.data,e===wa&&Sa?null:e;default:return null}}function jp(e,t){if(cn)return e===\"compositionend\"||!yu&&yc(e,t)?(e=gc(),pi=hu=Ct=null,cn=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return vc&&t.locale!==\"ko\"?null:t.data;default:return null}}var Dp={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ka(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===\"input\"?!!Dp[e.type]:t===\"textarea\"}function Sc(e,t,n,r){Zs(r),t=Di(t,\"onChange\"),0<t.length&&(n=new gu(\"onChange\",\"change\",null,n,r),e.push({event:n,listeners:t}))}var fr=null,Er=null;function Ip(e){Oc(e,0)}function rl(e){var t=pn(e);if(Hs(t))return e}function $p(e,t){if(e===\"change\")return t}var kc=!1;if(ut){var zl;if(ut){var jl=\"oninput\"in document;if(!jl){var Ca=document.createElement(\"div\");Ca.setAttribute(\"oninput\",\"return;\"),jl=typeof Ca.oninput==\"function\"}zl=jl}else zl=!1;kc=zl&&(!document.documentMode||9<document.documentMode)}function xa(){fr&&(fr.detachEvent(\"onpropertychange\",Cc),Er=fr=null)}function Cc(e){if(e.propertyName===\"value\"&&rl(Er)){var t=[];Sc(t,Er,e,cu(e)),tc(Ip,t)}}function Ap(e,t,n){e===\"focusin\"?(xa(),fr=t,Er=n,fr.attachEvent(\"onpropertychange\",Cc)):e===\"focusout\"&&xa()}function Mp(e){if(e===\"selectionchange\"||e===\"keyup\"||e===\"keydown\")return rl(Er)}function Fp(e,t){if(e===\"click\")return rl(t)}function Up(e,t){if(e===\"input\"||e===\"change\")return rl(t)}function Vp(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Qe=typeof Object.is==\"function\"?Object.is:Vp;function Pr(e,t){if(Qe(e,t))return!0;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!eo.call(t,i)||!Qe(e[i],t[i]))return!1}return!0}function _a(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ea(e,t){var n=_a(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=_a(n)}}function xc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?xc(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function _c(){for(var e=window,t=Ti();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==\"string\"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ti(e.document)}return t}function wu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||t===\"textarea\"||e.contentEditable===\"true\")}function Bp(e){var t=_c(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&xc(n.ownerDocument.documentElement,n)){if(r!==null&&wu(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),\"selectionStart\"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,l=Math.min(r.start,i);r=r.end===void 0?l:Math.min(r.end,i),!e.extend&&l>r&&(i=r,r=l,l=i),i=Ea(n,l);var o=Ea(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==\"function\"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Wp=ut&&\"documentMode\"in document&&11>=document.documentMode,fn=null,So=null,dr=null,ko=!1;function Pa(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ko||fn==null||fn!==Ti(r)||(r=fn,\"selectionStart\"in r&&wu(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),dr&&Pr(dr,r)||(dr=r,r=Di(So,\"onSelect\"),0<r.length&&(t=new gu(\"onSelect\",\"select\",null,t,n),e.push({event:t,listeners:r}),t.target=fn)))}function br(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var dn={animationend:br(\"Animation\",\"AnimationEnd\"),animationiteration:br(\"Animation\",\"AnimationIteration\"),animationstart:br(\"Animation\",\"AnimationStart\"),transitionend:br(\"Transition\",\"TransitionEnd\")},Dl={},Ec={};ut&&(Ec=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete dn.animationend.animation,delete dn.animationiteration.animation,delete dn.animationstart.animation),\"TransitionEvent\"in window||delete dn.transitionend.transition);function il(e){if(Dl[e])return Dl[e];if(!dn[e])return e;var t=dn[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ec)return Dl[e]=t[n];return e}var Pc=il(\"animationend\"),Tc=il(\"animationiteration\"),Nc=il(\"animationstart\"),Rc=il(\"transitionend\"),Lc=new Map,Ta=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function Dt(e,t){Lc.set(e,t),nn(t,[e])}for(var Il=0;Il<Ta.length;Il++){var $l=Ta[Il],Hp=$l.toLowerCase(),Gp=$l[0].toUpperCase()+$l.slice(1);Dt(Hp,\"on\"+Gp)}Dt(Pc,\"onAnimationEnd\");Dt(Tc,\"onAnimationIteration\");Dt(Nc,\"onAnimationStart\");Dt(\"dblclick\",\"onDoubleClick\");Dt(\"focusin\",\"onFocus\");Dt(\"focusout\",\"onBlur\");Dt(Rc,\"onTransitionEnd\");Nn(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);Nn(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);Nn(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);Nn(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);nn(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));nn(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));nn(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);nn(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));nn(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));nn(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var or=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Qp=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(or));function Na(e,t,n){var r=e.type||\"unknown-event\";e.currentTarget=n,Hd(r,t,void 0,e),e.currentTarget=null}function Oc(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var l=void 0;if(t)for(var o=r.length-1;0<=o;o--){var u=r[o],a=u.instance,c=u.currentTarget;if(u=u.listener,a!==l&&i.isPropagationStopped())break e;Na(i,u,c),l=a}else for(o=0;o<r.length;o++){if(u=r[o],a=u.instance,c=u.currentTarget,u=u.listener,a!==l&&i.isPropagationStopped())break e;Na(i,u,c),l=a}}}if(Ri)throw e=go,Ri=!1,go=null,e}function B(e,t){var n=t[Po];n===void 0&&(n=t[Po]=new Set);var r=e+\"__bubble\";n.has(r)||(zc(t,e,2,!1),n.add(r))}function Al(e,t,n){var r=0;t&&(r|=4),zc(n,e,r,t)}var ei=\"_reactListening\"+Math.random().toString(36).slice(2);function Tr(e){if(!e[ei]){e[ei]=!0,Fs.forEach(function(n){n!==\"selectionchange\"&&(Qp.has(n)||Al(n,!1,e),Al(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ei]||(t[ei]=!0,Al(\"selectionchange\",!1,t))}}function zc(e,t,n,r){switch(hc(t)){case 1:var i=op;break;case 4:i=up;break;default:i=mu}n=i.bind(null,t,n,e),i=void 0,!ho||t!==\"touchstart\"&&t!==\"touchmove\"&&t!==\"wheel\"||(i=!0),r?i!==void 0?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):i!==void 0?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function Ml(e,t,n,r,i){var l=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var u=r.stateNode.containerInfo;if(u===i||u.nodeType===8&&u.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var a=o.tag;if((a===3||a===4)&&(a=o.stateNode.containerInfo,a===i||a.nodeType===8&&a.parentNode===i))return;o=o.return}for(;u!==null;){if(o=Wt(u),o===null)return;if(a=o.tag,a===5||a===6){r=l=o;continue e}u=u.parentNode}}r=r.return}tc(function(){var c=l,h=cu(n),m=[];e:{var p=Lc.get(e);if(p!==void 0){var g=gu,y=e;switch(e){case\"keypress\":if(mi(n)===0)break e;case\"keydown\":case\"keyup\":g=Cp;break;case\"focusin\":y=\"focus\",g=Ol;break;case\"focusout\":y=\"blur\",g=Ol;break;case\"beforeblur\":case\"afterblur\":g=Ol;break;case\"click\":if(n.button===2)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":g=ga;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":g=cp;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":g=Ep;break;case Pc:case Tc:case Nc:g=pp;break;case Rc:g=Tp;break;case\"scroll\":g=ap;break;case\"wheel\":g=Rp;break;case\"copy\":case\"cut\":case\"paste\":g=hp;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":g=ya}var w=(t&4)!==0,L=!w&&e===\"scroll\",f=w?p!==null?p+\"Capture\":null:p;w=[];for(var s=c,d;s!==null;){d=s;var v=d.stateNode;if(d.tag===5&&v!==null&&(d=v,f!==null&&(v=kr(s,f),v!=null&&w.push(Nr(s,v,d)))),L)break;s=s.return}0<w.length&&(p=new g(p,y,null,n,h),m.push({event:p,listeners:w}))}}if(!(t&7)){e:{if(p=e===\"mouseover\"||e===\"pointerover\",g=e===\"mouseout\"||e===\"pointerout\",p&&n!==po&&(y=n.relatedTarget||n.fromElement)&&(Wt(y)||y[at]))break e;if((g||p)&&(p=h.window===h?h:(p=h.ownerDocument)?p.defaultView||p.parentWindow:window,g?(y=n.relatedTarget||n.toElement,g=c,y=y?Wt(y):null,y!==null&&(L=rn(y),y!==L||y.tag!==5&&y.tag!==6)&&(y=null)):(g=null,y=c),g!==y)){if(w=ga,v=\"onMouseLeave\",f=\"onMouseEnter\",s=\"mouse\",(e===\"pointerout\"||e===\"pointerover\")&&(w=ya,v=\"onPointerLeave\",f=\"onPointerEnter\",s=\"pointer\"),L=g==null?p:pn(g),d=y==null?p:pn(y),p=new w(v,s+\"leave\",g,n,h),p.target=L,p.relatedTarget=d,v=null,Wt(h)===c&&(w=new w(f,s+\"enter\",y,n,h),w.target=d,w.relatedTarget=L,v=w),L=v,g&&y)t:{for(w=g,f=y,s=0,d=w;d;d=on(d))s++;for(d=0,v=f;v;v=on(v))d++;for(;0<s-d;)w=on(w),s--;for(;0<d-s;)f=on(f),d--;for(;s--;){if(w===f||f!==null&&w===f.alternate)break t;w=on(w),f=on(f)}w=null}else w=null;g!==null&&Ra(m,p,g,w,!1),y!==null&&L!==null&&Ra(m,L,y,w,!0)}}e:{if(p=c?pn(c):window,g=p.nodeName&&p.nodeName.toLowerCase(),g===\"select\"||g===\"input\"&&p.type===\"file\")var _=$p;else if(ka(p))if(kc)_=Up;else{_=Mp;var x=Ap}else(g=p.nodeName)&&g.toLowerCase()===\"input\"&&(p.type===\"checkbox\"||p.type===\"radio\")&&(_=Fp);if(_&&(_=_(e,c))){Sc(m,_,n,h);break e}x&&x(e,p,c),e===\"focusout\"&&(x=p._wrapperState)&&x.controlled&&p.type===\"number\"&&uo(p,\"number\",p.value)}switch(x=c?pn(c):window,e){case\"focusin\":(ka(x)||x.contentEditable===\"true\")&&(fn=x,So=c,dr=null);break;case\"focusout\":dr=So=fn=null;break;case\"mousedown\":ko=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":ko=!1,Pa(m,n,h);break;case\"selectionchange\":if(Wp)break;case\"keydown\":case\"keyup\":Pa(m,n,h)}var S;if(yu)e:{switch(e){case\"compositionstart\":var T=\"onCompositionStart\";break e;case\"compositionend\":T=\"onCompositionEnd\";break e;case\"compositionupdate\":T=\"onCompositionUpdate\";break e}T=void 0}else cn?yc(e,n)&&(T=\"onCompositionEnd\"):e===\"keydown\"&&n.keyCode===229&&(T=\"onCompositionStart\");T&&(vc&&n.locale!==\"ko\"&&(cn||T!==\"onCompositionStart\"?T===\"onCompositionEnd\"&&cn&&(S=gc()):(Ct=h,hu=\"value\"in Ct?Ct.value:Ct.textContent,cn=!0)),x=Di(c,T),0<x.length&&(T=new va(T,e,null,n,h),m.push({event:T,listeners:x}),S?T.data=S:(S=wc(n),S!==null&&(T.data=S)))),(S=Op?zp(e,n):jp(e,n))&&(c=Di(c,\"onBeforeInput\"),0<c.length&&(h=new va(\"onBeforeInput\",\"beforeinput\",null,n,h),m.push({event:h,listeners:c}),h.data=S))}Oc(m,t)})}function Nr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Di(e,t){for(var n=t+\"Capture\",r=[];e!==null;){var i=e,l=i.stateNode;i.tag===5&&l!==null&&(i=l,l=kr(e,n),l!=null&&r.unshift(Nr(e,l,i)),l=kr(e,t),l!=null&&r.push(Nr(e,l,i))),e=e.return}return r}function on(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Ra(e,t,n,r,i){for(var l=t._reactName,o=[];n!==null&&n!==r;){var u=n,a=u.alternate,c=u.stateNode;if(a!==null&&a===r)break;u.tag===5&&c!==null&&(u=c,i?(a=kr(n,l),a!=null&&o.unshift(Nr(n,a,u))):i||(a=kr(n,l),a!=null&&o.push(Nr(n,a,u)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Kp=/\\r\\n?/g,Yp=/\\u0000|\\uFFFD/g;function La(e){return(typeof e==\"string\"?e:\"\"+e).replace(Kp,`\n`).replace(Yp,\"\")}function ti(e,t,n){if(t=La(t),La(e)!==t&&n)throw Error(k(425))}function Ii(){}var Co=null,xo=null;function _o(e,t){return e===\"textarea\"||e===\"noscript\"||typeof t.children==\"string\"||typeof t.children==\"number\"||typeof t.dangerouslySetInnerHTML==\"object\"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Eo=typeof setTimeout==\"function\"?setTimeout:void 0,Jp=typeof clearTimeout==\"function\"?clearTimeout:void 0,Oa=typeof Promise==\"function\"?Promise:void 0,Xp=typeof queueMicrotask==\"function\"?queueMicrotask:typeof Oa<\"u\"?function(e){return Oa.resolve(null).then(e).catch(Zp)}:Eo;function Zp(e){setTimeout(function(){throw e})}function Fl(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===\"/$\"){if(r===0){e.removeChild(i),_r(t);return}r--}else n!==\"$\"&&n!==\"$?\"&&n!==\"$!\"||r++;n=i}while(n);_r(t)}function Tt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===\"$\"||t===\"$!\"||t===\"$?\")break;if(t===\"/$\")return null}}return e}function za(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===\"$\"||n===\"$!\"||n===\"$?\"){if(t===0)return e;t--}else n===\"/$\"&&t++}e=e.previousSibling}return null}var Bn=Math.random().toString(36).slice(2),Ze=\"__reactFiber$\"+Bn,Rr=\"__reactProps$\"+Bn,at=\"__reactContainer$\"+Bn,Po=\"__reactEvents$\"+Bn,qp=\"__reactListeners$\"+Bn,bp=\"__reactHandles$\"+Bn;function Wt(e){var t=e[Ze];if(t)return t;for(var n=e.parentNode;n;){if(t=n[at]||n[Ze]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=za(e);e!==null;){if(n=e[Ze])return n;e=za(e)}return t}e=n,n=e.parentNode}return null}function Ur(e){return e=e[Ze]||e[at],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function pn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(k(33))}function ll(e){return e[Rr]||null}var To=[],mn=-1;function It(e){return{current:e}}function H(e){0>mn||(e.current=To[mn],To[mn]=null,mn--)}function V(e,t){mn++,To[mn]=e.current,e.current=t}var jt={},fe=It(jt),we=It(!1),Zt=jt;function Rn(e,t){var n=e.type.contextTypes;if(!n)return jt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Se(e){return e=e.childContextTypes,e!=null}function $i(){H(we),H(fe)}function ja(e,t,n){if(fe.current!==jt)throw Error(k(168));V(fe,t),V(we,n)}function jc(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!=\"function\")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(k(108,Ad(e)||\"Unknown\",i));return Y({},n,r)}function Ai(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||jt,Zt=fe.current,V(fe,e),V(we,we.current),!0}function Da(e,t,n){var r=e.stateNode;if(!r)throw Error(k(169));n?(e=jc(e,t,Zt),r.__reactInternalMemoizedMergedChildContext=e,H(we),H(fe),V(fe,e)):H(we),V(we,n)}var rt=null,ol=!1,Ul=!1;function Dc(e){rt===null?rt=[e]:rt.push(e)}function em(e){ol=!0,Dc(e)}function $t(){if(!Ul&&rt!==null){Ul=!0;var e=0,t=F;try{var n=rt;for(F=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}rt=null,ol=!1}catch(i){throw rt!==null&&(rt=rt.slice(e+1)),lc(fu,$t),i}finally{F=t,Ul=!1}}return null}var hn=[],gn=0,Mi=null,Fi=0,ze=[],je=0,qt=null,it=1,lt=\"\";function Vt(e,t){hn[gn++]=Fi,hn[gn++]=Mi,Mi=e,Fi=t}function Ic(e,t,n){ze[je++]=it,ze[je++]=lt,ze[je++]=qt,qt=e;var r=it;e=lt;var i=32-We(r)-1;r&=~(1<<i),n+=1;var l=32-We(t)+i;if(30<l){var o=i-i%5;l=(r&(1<<o)-1).toString(32),r>>=o,i-=o,it=1<<32-We(t)+i|n<<i|r,lt=l+e}else it=1<<l|n<<i|r,lt=e}function Su(e){e.return!==null&&(Vt(e,1),Ic(e,1,0))}function ku(e){for(;e===Mi;)Mi=hn[--gn],hn[gn]=null,Fi=hn[--gn],hn[gn]=null;for(;e===qt;)qt=ze[--je],ze[je]=null,lt=ze[--je],ze[je]=null,it=ze[--je],ze[je]=null}var Pe=null,Ee=null,G=!1,Be=null;function $c(e,t){var n=De(5,null,null,0);n.elementType=\"DELETED\",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Ia(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Pe=e,Ee=Tt(t.firstChild),!0):!1;case 6:return t=e.pendingProps===\"\"||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Pe=e,Ee=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=qt!==null?{id:it,overflow:lt}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=De(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Pe=e,Ee=null,!0):!1;default:return!1}}function No(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Ro(e){if(G){var t=Ee;if(t){var n=t;if(!Ia(e,t)){if(No(e))throw Error(k(418));t=Tt(n.nextSibling);var r=Pe;t&&Ia(e,t)?$c(r,n):(e.flags=e.flags&-4097|2,G=!1,Pe=e)}}else{if(No(e))throw Error(k(418));e.flags=e.flags&-4097|2,G=!1,Pe=e}}}function $a(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Pe=e}function ni(e){if(e!==Pe)return!1;if(!G)return $a(e),G=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!==\"head\"&&t!==\"body\"&&!_o(e.type,e.memoizedProps)),t&&(t=Ee)){if(No(e))throw Ac(),Error(k(418));for(;t;)$c(e,t),t=Tt(t.nextSibling)}if($a(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(k(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n===\"/$\"){if(t===0){Ee=Tt(e.nextSibling);break e}t--}else n!==\"$\"&&n!==\"$!\"&&n!==\"$?\"||t++}e=e.nextSibling}Ee=null}}else Ee=Pe?Tt(e.stateNode.nextSibling):null;return!0}function Ac(){for(var e=Ee;e;)e=Tt(e.nextSibling)}function Ln(){Ee=Pe=null,G=!1}function Cu(e){Be===null?Be=[e]:Be.push(e)}var tm=pt.ReactCurrentBatchConfig;function Ue(e,t){if(e&&e.defaultProps){t=Y({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}var Ui=It(null),Vi=null,vn=null,xu=null;function _u(){xu=vn=Vi=null}function Eu(e){var t=Ui.current;H(Ui),e._currentValue=t}function Lo(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function En(e,t){Vi=e,xu=vn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ve=!0),e.firstContext=null)}function $e(e){var t=e._currentValue;if(xu!==e)if(e={context:e,memoizedValue:t,next:null},vn===null){if(Vi===null)throw Error(k(308));vn=e,Vi.dependencies={lanes:0,firstContext:e}}else vn=vn.next=e;return t}var Ht=null;function Pu(e){Ht===null?Ht=[e]:Ht.push(e)}function Mc(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Pu(t)):(n.next=i.next,i.next=n),t.interleaved=n,st(e,r)}function st(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var wt=!1;function Tu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ot(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Nt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,st(e,n)}return i=r.interleaved,i===null?(t.next=t,Pu(r)):(t.next=i.next,i.next=t),r.interleaved=t,st(e,n)}function hi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,du(e,n)}}function Aa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?i=l=o:l=l.next=o,n=n.next}while(n!==null);l===null?i=l=t:l=l.next=t}else i=l=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Bi(e,t,n,r){var i=e.updateQueue;wt=!1;var l=i.firstBaseUpdate,o=i.lastBaseUpdate,u=i.shared.pending;if(u!==null){i.shared.pending=null;var a=u,c=a.next;a.next=null,o===null?l=c:o.next=c,o=a;var h=e.alternate;h!==null&&(h=h.updateQueue,u=h.lastBaseUpdate,u!==o&&(u===null?h.firstBaseUpdate=c:u.next=c,h.lastBaseUpdate=a))}if(l!==null){var m=i.baseState;o=0,h=c=a=null,u=l;do{var p=u.lane,g=u.eventTime;if((r&p)===p){h!==null&&(h=h.next={eventTime:g,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var y=e,w=u;switch(p=t,g=n,w.tag){case 1:if(y=w.payload,typeof y==\"function\"){m=y.call(g,m,p);break e}m=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=w.payload,p=typeof y==\"function\"?y.call(g,m,p):y,p==null)break e;m=Y({},m,p);break e;case 2:wt=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,p=i.effects,p===null?i.effects=[u]:p.push(u))}else g={eventTime:g,lane:p,tag:u.tag,payload:u.payload,callback:u.callback,next:null},h===null?(c=h=g,a=m):h=h.next=g,o|=p;if(u=u.next,u===null){if(u=i.shared.pending,u===null)break;p=u,u=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(!0);if(h===null&&(a=m),i.baseState=a,i.firstBaseUpdate=c,i.lastBaseUpdate=h,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else l===null&&(i.shared.lanes=0);en|=o,e.lanes=o,e.memoizedState=m}}function Ma(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(i!==null){if(r.callback=null,r=n,typeof i!=\"function\")throw Error(k(191,i));i.call(r)}}}var Uc=new Ms.Component().refs;function Oo(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Y({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ul={isMounted:function(e){return(e=e._reactInternals)?rn(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pe(),i=Lt(e),l=ot(r,i);l.payload=t,n!=null&&(l.callback=n),t=Nt(e,l,i),t!==null&&(He(t,e,i,r),hi(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pe(),i=Lt(e),l=ot(r,i);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=Nt(e,l,i),t!==null&&(He(t,e,i,r),hi(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pe(),r=Lt(e),i=ot(n,r);i.tag=2,t!=null&&(i.callback=t),t=Nt(e,i,r),t!==null&&(He(t,e,r,n),hi(t,e,r))}};function Fa(e,t,n,r,i,l,o){return e=e.stateNode,typeof e.shouldComponentUpdate==\"function\"?e.shouldComponentUpdate(r,l,o):t.prototype&&t.prototype.isPureReactComponent?!Pr(n,r)||!Pr(i,l):!0}function Vc(e,t,n){var r=!1,i=jt,l=t.contextType;return typeof l==\"object\"&&l!==null?l=$e(l):(i=Se(t)?Zt:fe.current,r=t.contextTypes,l=(r=r!=null)?Rn(e,i):jt),t=new t(n,l),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=ul,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=l),t}function Ua(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==\"function\"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==\"function\"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ul.enqueueReplaceState(t,t.state,null)}function zo(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=Uc,Tu(e);var l=t.contextType;typeof l==\"object\"&&l!==null?i.context=$e(l):(l=Se(t)?Zt:fe.current,i.context=Rn(e,l)),i.state=e.memoizedState,l=t.getDerivedStateFromProps,typeof l==\"function\"&&(Oo(e,t,l,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps==\"function\"||typeof i.getSnapshotBeforeUpdate==\"function\"||typeof i.UNSAFE_componentWillMount!=\"function\"&&typeof i.componentWillMount!=\"function\"||(t=i.state,typeof i.componentWillMount==\"function\"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount==\"function\"&&i.UNSAFE_componentWillMount(),t!==i.state&&ul.enqueueReplaceState(i,i.state,null),Bi(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount==\"function\"&&(e.flags|=4194308)}function Xn(e,t,n){if(e=n.ref,e!==null&&typeof e!=\"function\"&&typeof e!=\"object\"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(k(309));var r=n.stateNode}if(!r)throw Error(k(147,e));var i=r,l=\"\"+e;return t!==null&&t.ref!==null&&typeof t.ref==\"function\"&&t.ref._stringRef===l?t.ref:(t=function(o){var u=i.refs;u===Uc&&(u=i.refs={}),o===null?delete u[l]:u[l]=o},t._stringRef=l,t)}if(typeof e!=\"string\")throw Error(k(284));if(!n._owner)throw Error(k(290,e))}return e}function ri(e,t){throw e=Object.prototype.toString.call(t),Error(k(31,e===\"[object Object]\"?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":e))}function Va(e){var t=e._init;return t(e._payload)}function Bc(e){function t(f,s){if(e){var d=f.deletions;d===null?(f.deletions=[s],f.flags|=16):d.push(s)}}function n(f,s){if(!e)return null;for(;s!==null;)t(f,s),s=s.sibling;return null}function r(f,s){for(f=new Map;s!==null;)s.key!==null?f.set(s.key,s):f.set(s.index,s),s=s.sibling;return f}function i(f,s){return f=Ot(f,s),f.index=0,f.sibling=null,f}function l(f,s,d){return f.index=d,e?(d=f.alternate,d!==null?(d=d.index,d<s?(f.flags|=2,s):d):(f.flags|=2,s)):(f.flags|=1048576,s)}function o(f){return e&&f.alternate===null&&(f.flags|=2),f}function u(f,s,d,v){return s===null||s.tag!==6?(s=Kl(d,f.mode,v),s.return=f,s):(s=i(s,d),s.return=f,s)}function a(f,s,d,v){var _=d.type;return _===sn?h(f,s,d.props.children,v,d.key):s!==null&&(s.elementType===_||typeof _==\"object\"&&_!==null&&_.$$typeof===yt&&Va(_)===s.type)?(v=i(s,d.props),v.ref=Xn(f,s,d),v.return=f,v):(v=ki(d.type,d.key,d.props,null,f.mode,v),v.ref=Xn(f,s,d),v.return=f,v)}function c(f,s,d,v){return s===null||s.tag!==4||s.stateNode.containerInfo!==d.containerInfo||s.stateNode.implementation!==d.implementation?(s=Yl(d,f.mode,v),s.return=f,s):(s=i(s,d.children||[]),s.return=f,s)}function h(f,s,d,v,_){return s===null||s.tag!==7?(s=Yt(d,f.mode,v,_),s.return=f,s):(s=i(s,d),s.return=f,s)}function m(f,s,d){if(typeof s==\"string\"&&s!==\"\"||typeof s==\"number\")return s=Kl(\"\"+s,f.mode,d),s.return=f,s;if(typeof s==\"object\"&&s!==null){switch(s.$$typeof){case Qr:return d=ki(s.type,s.key,s.props,null,f.mode,d),d.ref=Xn(f,null,s),d.return=f,d;case an:return s=Yl(s,f.mode,d),s.return=f,s;case yt:var v=s._init;return m(f,v(s._payload),d)}if(ir(s)||Gn(s))return s=Yt(s,f.mode,d,null),s.return=f,s;ri(f,s)}return null}function p(f,s,d,v){var _=s!==null?s.key:null;if(typeof d==\"string\"&&d!==\"\"||typeof d==\"number\")return _!==null?null:u(f,s,\"\"+d,v);if(typeof d==\"object\"&&d!==null){switch(d.$$typeof){case Qr:return d.key===_?a(f,s,d,v):null;case an:return d.key===_?c(f,s,d,v):null;case yt:return _=d._init,p(f,s,_(d._payload),v)}if(ir(d)||Gn(d))return _!==null?null:h(f,s,d,v,null);ri(f,d)}return null}function g(f,s,d,v,_){if(typeof v==\"string\"&&v!==\"\"||typeof v==\"number\")return f=f.get(d)||null,u(s,f,\"\"+v,_);if(typeof v==\"object\"&&v!==null){switch(v.$$typeof){case Qr:return f=f.get(v.key===null?d:v.key)||null,a(s,f,v,_);case an:return f=f.get(v.key===null?d:v.key)||null,c(s,f,v,_);case yt:var x=v._init;return g(f,s,d,x(v._payload),_)}if(ir(v)||Gn(v))return f=f.get(d)||null,h(s,f,v,_,null);ri(s,v)}return null}function y(f,s,d,v){for(var _=null,x=null,S=s,T=s=0,U=null;S!==null&&T<d.length;T++){S.index>T?(U=S,S=null):U=S.sibling;var D=p(f,S,d[T],v);if(D===null){S===null&&(S=U);break}e&&S&&D.alternate===null&&t(f,S),s=l(D,s,T),x===null?_=D:x.sibling=D,x=D,S=U}if(T===d.length)return n(f,S),G&&Vt(f,T),_;if(S===null){for(;T<d.length;T++)S=m(f,d[T],v),S!==null&&(s=l(S,s,T),x===null?_=S:x.sibling=S,x=S);return G&&Vt(f,T),_}for(S=r(f,S);T<d.length;T++)U=g(S,f,T,d[T],v),U!==null&&(e&&U.alternate!==null&&S.delete(U.key===null?T:U.key),s=l(U,s,T),x===null?_=U:x.sibling=U,x=U);return e&&S.forEach(function(Ce){return t(f,Ce)}),G&&Vt(f,T),_}function w(f,s,d,v){var _=Gn(d);if(typeof _!=\"function\")throw Error(k(150));if(d=_.call(d),d==null)throw Error(k(151));for(var x=_=null,S=s,T=s=0,U=null,D=d.next();S!==null&&!D.done;T++,D=d.next()){S.index>T?(U=S,S=null):U=S.sibling;var Ce=p(f,S,D.value,v);if(Ce===null){S===null&&(S=U);break}e&&S&&Ce.alternate===null&&t(f,S),s=l(Ce,s,T),x===null?_=Ce:x.sibling=Ce,x=Ce,S=U}if(D.done)return n(f,S),G&&Vt(f,T),_;if(S===null){for(;!D.done;T++,D=d.next())D=m(f,D.value,v),D!==null&&(s=l(D,s,T),x===null?_=D:x.sibling=D,x=D);return G&&Vt(f,T),_}for(S=r(f,S);!D.done;T++,D=d.next())D=g(S,f,T,D.value,v),D!==null&&(e&&D.alternate!==null&&S.delete(D.key===null?T:D.key),s=l(D,s,T),x===null?_=D:x.sibling=D,x=D);return e&&S.forEach(function(At){return t(f,At)}),G&&Vt(f,T),_}function L(f,s,d,v){if(typeof d==\"object\"&&d!==null&&d.type===sn&&d.key===null&&(d=d.props.children),typeof d==\"object\"&&d!==null){switch(d.$$typeof){case Qr:e:{for(var _=d.key,x=s;x!==null;){if(x.key===_){if(_=d.type,_===sn){if(x.tag===7){n(f,x.sibling),s=i(x,d.props.children),s.return=f,f=s;break e}}else if(x.elementType===_||typeof _==\"object\"&&_!==null&&_.$$typeof===yt&&Va(_)===x.type){n(f,x.sibling),s=i(x,d.props),s.ref=Xn(f,x,d),s.return=f,f=s;break e}n(f,x);break}else t(f,x);x=x.sibling}d.type===sn?(s=Yt(d.props.children,f.mode,v,d.key),s.return=f,f=s):(v=ki(d.type,d.key,d.props,null,f.mode,v),v.ref=Xn(f,s,d),v.return=f,f=v)}return o(f);case an:e:{for(x=d.key;s!==null;){if(s.key===x)if(s.tag===4&&s.stateNode.containerInfo===d.containerInfo&&s.stateNode.implementation===d.implementation){n(f,s.sibling),s=i(s,d.children||[]),s.return=f,f=s;break e}else{n(f,s);break}else t(f,s);s=s.sibling}s=Yl(d,f.mode,v),s.return=f,f=s}return o(f);case yt:return x=d._init,L(f,s,x(d._payload),v)}if(ir(d))return y(f,s,d,v);if(Gn(d))return w(f,s,d,v);ri(f,d)}return typeof d==\"string\"&&d!==\"\"||typeof d==\"number\"?(d=\"\"+d,s!==null&&s.tag===6?(n(f,s.sibling),s=i(s,d),s.return=f,f=s):(n(f,s),s=Kl(d,f.mode,v),s.return=f,f=s),o(f)):n(f,s)}return L}var On=Bc(!0),Wc=Bc(!1),Vr={},be=It(Vr),Lr=It(Vr),Or=It(Vr);function Gt(e){if(e===Vr)throw Error(k(174));return e}function Nu(e,t){switch(V(Or,t),V(Lr,e),V(be,Vr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:so(null,\"\");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=so(t,e)}H(be),V(be,t)}function zn(){H(be),H(Lr),H(Or)}function Hc(e){Gt(Or.current);var t=Gt(be.current),n=so(t,e.type);t!==n&&(V(Lr,e),V(be,n))}function Ru(e){Lr.current===e&&(H(be),H(Lr))}var Q=It(0);function Wi(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data===\"$?\"||n.data===\"$!\"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Vl=[];function Lu(){for(var e=0;e<Vl.length;e++)Vl[e]._workInProgressVersionPrimary=null;Vl.length=0}var gi=pt.ReactCurrentDispatcher,Bl=pt.ReactCurrentBatchConfig,bt=0,K=null,ee=null,ne=null,Hi=!1,pr=!1,zr=0,nm=0;function ae(){throw Error(k(321))}function Ou(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Qe(e[n],t[n]))return!1;return!0}function zu(e,t,n,r,i,l){if(bt=l,K=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,gi.current=e===null||e.memoizedState===null?om:um,e=n(r,i),pr){l=0;do{if(pr=!1,zr=0,2