Decompiled source of RepoXR v1.0.3
BepInEx/patchers/RepoXR/RepoXR.Preload.dll
Decompiled 3 months agousing System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using Microsoft.CodeAnalysis; using Mono.Cecil; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("DaXcess")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCopyright("Copyright (c) DaXcess 2025")] [assembly: AssemblyDescription("RepoXR Preloader")] [assembly: AssemblyFileVersion("1.0.3.0")] [assembly: AssemblyInformationalVersion("1.0.3+45210b4dece791a1a4b509edf0fdef5e39ebfd0c")] [assembly: AssemblyProduct("RepoXR.Preload")] [assembly: AssemblyTitle("RepoXR.Preload")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/DaXcess/RepoXR")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.3.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace RepoXR.Preload { public static class Preload { private const string VR_MANIFEST = "{\n \"name\": \"OpenXR XR Plugin\",\n \"version\": \"1.10.0\",\n \"libraryName\": \"UnityOpenXR\",\n \"displays\": [\n {\n \"id\": \"OpenXR Display\"\n }\n ],\n \"inputs\": [\n {\n \"id\": \"OpenXR Input\"\n }\n ]\n}"; private static readonly ManualLogSource Logger = Logger.CreateLogSource("RepoXR.Preload"); public static IEnumerable<string> TargetDLLs { get; } = Array.Empty<string>(); public static void Initialize() { Logger.LogInfo((object)"Setting up VR runtime assets"); SetupRuntimeAssets(); Logger.LogInfo((object)"We're done here. Goodbye!"); } private static void SetupRuntimeAssets() { string path = Path.Combine(Paths.GameRootPath, "REPO_Data"); string text = Path.Combine(path, "UnitySubsystems"); if (!Directory.Exists(text)) { Directory.CreateDirectory(text); } string text2 = Path.Combine(text, "UnityOpenXR"); if (!Directory.Exists(text2)) { Directory.CreateDirectory(text2); } string path2 = Path.Combine(text2, "UnitySubsystemsManifest.json"); if (!File.Exists(path2)) { File.WriteAllText(path2, "{\n \"name\": \"OpenXR XR Plugin\",\n \"version\": \"1.10.0\",\n \"libraryName\": \"UnityOpenXR\",\n \"displays\": [\n {\n \"id\": \"OpenXR Display\"\n }\n ],\n \"inputs\": [\n {\n \"id\": \"OpenXR Input\"\n }\n ]\n}"); } string path3 = Path.Combine(path, "Plugins"); string destFileName = Path.Combine(path3, "UnityOpenXR.dll"); string destFileName2 = Path.Combine(path3, "openxr_loader.dll"); string? directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string sourceFileName = Path.Combine(directoryName, "RuntimeDeps/UnityOpenXR.dll"); string sourceFileName2 = Path.Combine(directoryName, "RuntimeDeps/openxr_loader.dll"); File.Copy(sourceFileName, destFileName, overwrite: true); File.Copy(sourceFileName2, destFileName2, overwrite: true); } public static void Patch(AssemblyDefinition assembly) { } } }
BepInEx/plugins/RepoXR/RepoXR.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Net; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using JetBrains.Annotations; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Utils.Cil; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Photon.Pun; using Photon.Realtime; using RepoXR.Assets; using RepoXR.Data; using RepoXR.Input; using RepoXR.Managers; using RepoXR.Networking; using RepoXR.Networking.Frames; using RepoXR.Patches; using RepoXR.Player; using RepoXR.Player.Camera; using RepoXR.Rendering; using RepoXR.ThirdParty.MRTK; using RepoXR.UI; using RepoXR.UI.Controls; using RepoXR.UI.Expressions; using RepoXR.UI.Menu; using RepoXR.UI.Settings; using Steamworks; using Steamworks.Data; using TMPro; using Unity.XR.CoreUtils; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.InputSystem.UI; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.Rendering; using UnityEngine.Rendering.PostProcessing; using UnityEngine.SceneManagement; using UnityEngine.Scripting; using UnityEngine.Serialization; using UnityEngine.UI; using UnityEngine.XR; using UnityEngine.XR.Interaction.Toolkit; using UnityEngine.XR.Interaction.Toolkit.UI; using UnityEngine.XR.Management; using UnityEngine.XR.OpenXR; using UnityEngine.XR.OpenXR.Features; using UnityEngine.XR.OpenXR.Features.Interactions; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("DaXcess")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCopyright("Copyright (c) DaXcess 2025")] [assembly: AssemblyDescription("Collecting Valuables in VR")] [assembly: AssemblyFileVersion("1.0.3.0")] [assembly: AssemblyInformationalVersion("1.0.3+45210b4dece791a1a4b509edf0fdef5e39ebfd0c")] [assembly: AssemblyProduct("RepoXR")] [assembly: AssemblyTitle("RepoXR")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/DaXcess/RepoXR")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.3.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NativeIntegerAttribute : Attribute { public readonly bool[] TransformFlags; public NativeIntegerAttribute() { TransformFlags = new bool[1] { true }; } public NativeIntegerAttribute(bool[] P_0) { TransformFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace RepoXR { public static class Compat { public const string UnityExplorer = "com.sinai.unityexplorer"; public static bool IsLoaded(string modId) { return Chainloader.PluginInfos.ContainsKey(modId); } } public class Config { public enum HapticFeedbackOption { Off, Reduced, All } public enum TurnProviderOption { Snap, Smooth, Disabled } private static bool leftHandedWarningShown; public string AssemblyPath { get; } public ConfigFile File { get; } [ConfigDescriptor("Enable VR", false, 1f, 1f, "", "Disable", "Enable", false)] public ConfigEntry<bool> DisableVR { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", false)] public ConfigEntry<bool> VerboseLogging { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", false)] public ConfigEntry<bool> ReducedAimImpact { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", false)] public ConfigEntry<bool> RoomscaleCrouch { get; } [ConfigDescriptor("Dominant Hand", false, 1f, 1f, "", "Left", "Right", false)] public ConfigEntry<bool> LeftHandDominant { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", false)] public ConfigEntry<HapticFeedbackOption> HapticFeedback { get; } [ConfigDescriptor(null, false, 0.05f, 0.01f, "", "On", "Off", false)] public ConfigEntry<float> HUDPlaneOffset { get; } [ConfigDescriptor(null, false, 0.05f, 0.01f, "", "On", "Off", false)] public ConfigEntry<float> HUDGazePlaneOffset { get; } [ConfigDescriptor(null, false, 0.25f, 0.05f, "", "On", "Off", false)] public ConfigEntry<float> SmoothCanvasDistance { get; } [ConfigDescriptor(null, false, 5f, 1f, "%", "On", "Off", false)] public ConfigEntry<int> CameraResolution { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", true)] public ConfigEntry<TurnProviderOption> TurnProvider { get; } [ConfigDescriptor(null, false, 0.05f, 0.01f, "x", "On", "Off", false)] public ConfigEntry<float> SmoothTurnSpeedModifier { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", false)] public ConfigEntry<bool> DynamicSmoothSpeed { get; } [ConfigDescriptor(null, false, 5f, 1f, "°", "On", "Off", false)] public ConfigEntry<float> SnapTurnSize { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", false)] public ConfigEntry<bool> Vignette { get; } [ConfigDescriptor(null, false, 1f, 1f, "", "On", "Off", false)] public ConfigEntry<bool> CustomCamera { get; } [ConfigDescriptor(null, false, 5f, 1f, "", "On", "Off", false)] public ConfigEntry<float> CustomCameraFOV { get; } [ConfigDescriptor(null, true, 0.1f, 0.05f, "", "On", "Off", false)] public ConfigEntry<float> CustomCameraSmoothing { get; } public ConfigEntry<string> ControllerBindingsOverride { get; } public ConfigEntry<string> InputToggleBindings { get; } public ConfigEntry<string> OpenXRRuntimeFile { get; } public Config(string assemblyPath, ConfigFile file) { //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Expected O, but got Unknown //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Expected O, but got Unknown //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Expected O, but got Unknown //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Expected O, but got Unknown //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Expected O, but got Unknown //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Expected O, but got Unknown //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Expected O, but got Unknown //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Expected O, but got Unknown //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Expected O, but got Unknown //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Expected O, but got Unknown AssemblyPath = assemblyPath; File = file; DisableVR = file.Bind<bool>("General", "DisableVR", false, "Disables the main functionality of this mod, can be used if you want to play without VR while keeping the mod installed."); VerboseLogging = file.Bind<bool>("General", "VerboseLogging", false, "Enables verbose debug logging during OpenXR initialization"); ReducedAimImpact = file.Bind<bool>("Gameplay", "ReducedAimImpact", false, "When enabled, lowers the severity of force-look events (like the ceiling eye), which can be helpful for people with motion sickness"); RoomscaleCrouch = file.Bind<bool>("Gameplay", "RoomscaleCrouch", true, "When enabled, allows for the player to physically crouch to also crouch in-game"); LeftHandDominant = file.Bind<bool>("Gameplay", "LeftHandDominant", false, "Whether to use the left or right hand as dominant hand (the hand used to pick up items)"); HapticFeedback = file.Bind<HapticFeedbackOption>("Gameplay", "HapticFeedback", HapticFeedbackOption.All, new ConfigDescription("Controls how much haptic feedback you will experience while playing with the VR mod.", (AcceptableValueBase)(object)new AcceptableValueEnum<HapticFeedbackOption>(), Array.Empty<object>())); HUDPlaneOffset = file.Bind<float>("Gameplay", "HUDPlaneOffset", -0.45f, new ConfigDescription("The default height offset for the HUD", (AcceptableValueBase)(object)new AcceptableValueRange<float>(-0.6f, 0.5f), Array.Empty<object>())); HUDGazePlaneOffset = file.Bind<float>("Gameplay", "HUDGazePlaneOffset", -0.25f, new ConfigDescription("The height offset for the HUD when looking at it", (AcceptableValueBase)(object)new AcceptableValueRange<float>(-0.6f, 0.5f), Array.Empty<object>())); SmoothCanvasDistance = file.Bind<float>("Gameplay", "SmoothCanvasDistance", 1.5f, new ConfigDescription("The distance that the smooth canvas should be away from the main camera", (AcceptableValueBase)(object)new AcceptableValueRange<float>(1.25f, 3f), Array.Empty<object>())); CameraResolution = file.Bind<int>("Performance", "CameraResolution", 100, new ConfigDescription("This setting configures the resolution scale of the game, lower values are more performant, but will make the game look worse.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(5, 200), Array.Empty<object>())); TurnProvider = file.Bind<TurnProviderOption>("Input", "TurnProvider", TurnProviderOption.Smooth, new ConfigDescription("Specify which turning provider your player uses, if any.", (AcceptableValueBase)(object)new AcceptableValueEnum<TurnProviderOption>(), Array.Empty<object>())); SmoothTurnSpeedModifier = file.Bind<float>("Input", "SmoothTurnSpeedModifier", 1f, new ConfigDescription("A multiplier that is added to the smooth turning speed. Requires turn provider to be set to smooth.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.25f, 5f), Array.Empty<object>())); DynamicSmoothSpeed = file.Bind<bool>("Input", "DynamicSmoothSpeed", true, "When enabled, makes the speed of the smooth turning dependent on how far the analog stick is pushed."); SnapTurnSize = file.Bind<float>("Input", "SnapTurnSize", 45f, new ConfigDescription("The amount of rotation that is applied when performing a snap turn. Requires turn provider to be set to snap.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(10f, 180f), Array.Empty<object>())); Vignette = file.Bind<bool>("Rendering", "Vignette", true, "Enables the vignette shader used in certain scenarios and levels in the game."); CustomCamera = file.Bind<bool>("Rendering", "CustomCamera", false, "Adds a second camera mounted on top of the VR camera that will render separately from the VR camera to the display. This requires extra GPU power!"); CustomCameraFOV = file.Bind<float>("Rendering", "CustomCameraFOV", 75f, new ConfigDescription("The field of view that the custom camera should have.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(45f, 120f), Array.Empty<object>())); CustomCameraSmoothing = file.Bind<float>("Rendering", "CustomCameraSmoothing", 0.5f, new ConfigDescription("The amount of smoothing that is applied to the custom camera.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ControllerBindingsOverride = file.Bind<string>("Internal", "ControllerBindingsOverride", "", "FOR INTERNAL USE ONLY, DO NOT EDIT"); InputToggleBindings = file.Bind<string>("Internal", "InputToggleBindings", "", "FOR INTERNAL USE ONLY, DO NOT EDIT"); OpenXRRuntimeFile = file.Bind<string>("Internal", "OpenXRRuntimeFile", "", "FOR INTERNAL USE ONLY, DO NOT EDIT"); base..ctor(); } public void SetupGlobalCallbacks() { if (!VRSession.InVR) { return; } CameraResolution.SettingChanged += delegate { XRSettings.eyeTextureResolutionScale = (float)CameraResolution.Value / 100f; }; CustomCamera.SettingChanged += delegate { if (CustomCamera.Value) { Object.Instantiate<GameObject>(AssetCollection.CustomCamera, ((Component)Camera.main).transform.parent); } else { Object.Destroy((Object)(object)((Component)VRCustomCamera.instance).gameObject); } }; LeftHandDominant.SettingChanged += delegate { //IL_0025: Unknown result type (might be due to invalid IL or missing references) if (LeftHandDominant.Value && !leftHandedWarningShown) { leftHandedWarningShown = true; MenuManager.instance.PagePopUpScheduled("Left Handed Notice", Color.yellow, "Left handed mode does not change your default bindings. To set up proper bindings for left handed mode, change your bindings by going to\nSettings -> Controls", "Will do", false); MenuManager.instance.PagePopUpScheduledShow(); } }; } } internal class AcceptableValueEnum<T> : AcceptableValueBase where T : Enum { private readonly string[] names = Enum.GetNames(typeof(T)); public AcceptableValueEnum() : base(typeof(T)) { } public override object Clamp(object value) { return value; } public override bool IsValid(object value) { return true; } public override string ToDescriptionString() { return "# Acceptable values: " + string.Join(", ", names); } } [AttributeUsage(AttributeTargets.Property)] public class ConfigDescriptorAttribute : Attribute { [CompilerGenerated] private string? <customName>P; [CompilerGenerated] private bool <percentage>P; [CompilerGenerated] private float <stepSize>P; [CompilerGenerated] private float <pointerSize>P; [CompilerGenerated] private string <suffix>P; [CompilerGenerated] private string <trueText>P; [CompilerGenerated] private string <falseText>P; [CompilerGenerated] private bool <enumDisableBar>P; public string? CustomName => <customName>P; public bool Percentage => <percentage>P; public float StepSize => <stepSize>P; public float PointerSize => <pointerSize>P; public string Suffix => <suffix>P; public string TrueText => <trueText>P; public string FalseText => <falseText>P; public bool EnumDisableBar => <enumDisableBar>P; public ConfigDescriptorAttribute(string? customName = null, bool percentage = false, float stepSize = 1f, float pointerSize = 1f, string suffix = "", string trueText = "On", string falseText = "Off", bool enumDisableBar = false) { <customName>P = customName; <percentage>P = percentage; <stepSize>P = stepSize; <pointerSize>P = pointerSize; <suffix>P = suffix; <trueText>P = trueText; <falseText>P = falseText; <enumDisableBar>P = enumDisableBar; base..ctor(); } } [RepoXRPatch(RepoXRPatchTarget.VROnly, null)] internal static class Entrypoint { private static bool hasShownErrorMessage; public static void OnSceneLoad(string _) { if (Plugin.Flags.HasFlag(Flags.VR)) { SetupDefaultSceneVR(); } SetupDefaultSceneUniversal(); } private static void SetupDefaultSceneVR() { //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_0138: 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_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_021c: 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_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_0294: 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_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02ba: 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_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: 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_035f: Unknown result type (might be due to invalid IL or missing references) ((Behaviour)GameObject.Find("UI/UI/Canvas").GetComponent<Canvas>()).enabled = false; Transform transform = GameObject.Find("UI/HUD/HUD Canvas").transform; Transform val = transform.Find("Fade"); Transform val2 = transform.Find("Render Texture Video"); Transform val3 = transform.Find("Loading"); Transform val4 = transform.Find("Moon UI"); Transform val5 = transform.Find("Splash Screen"); Camera component = ((Component)transform.parent.Find("Camera Overlay")).GetComponent<Camera>(); Camera main = Camera.main; TrackedPoseDriver obj = ((Component)main).gameObject.AddComponent<TrackedPoseDriver>(); obj.positionAction = Actions.Instance.HeadPosition; obj.rotationAction = Actions.Instance.HeadRotation; obj.trackingStateInput = new InputActionProperty(Actions.Instance.HeadTrackingState); ((Component)component).transform.SetParent(((Component)main).transform, false); ((Component)component).transform.localPosition = Vector3.zero; component.depth = 2f; component.farClipPlane = 1000f; component.orthographic = false; component.clearFlags = (CameraClearFlags)3; component.targetTexture = null; component.nearClipPlane = 0.01f; Object.Destroy((Object)(object)((Component)component).GetComponent<PostProcessLayer>()); main.targetTexture = null; Canvas val6 = new GameObject("VR Overlay Canvas") { layer = 5 }.AddComponent<Canvas>(); val6.renderMode = (RenderMode)1; val6.worldCamera = component; val6.sortingOrder = 5; val.SetParent(((Component)val6).transform, false); val2.SetParent(((Component)val6).transform, false); ((Graphic)((Component)val2).GetComponent<RawImage>()).material = AssetCollection.VideoOverlay; CollectionExtensions.Do<RectTransform>((IEnumerable<RectTransform>)((Component)((Component)val6).transform).GetComponentsInChildren<RectTransform>(true), (Action<RectTransform>)delegate(RectTransform rect) { //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) rect.anchorMin = Vector2.zero; rect.anchorMax = Vector2.one; }); Canvas val7 = new GameObject("VR Loading Canvas") { layer = 5 }.AddComponent<Canvas>(); val7.renderMode = (RenderMode)2; val7.sortingOrder = 6; ((Component)val7).transform.localPosition = Vector3.zero; ((Component)val7).transform.localEulerAngles = Vector3.zero; ((Component)val7).transform.localScale = Vector3.one * 0.01f; ((Component)val7).transform.SetParent(((Component)Camera.main).transform.parent, false); ((Component)val7).gameObject.AddComponent<LoadingUI>(); ((Component)val7).GetComponent<RectTransform>().sizeDelta = new Vector2(720f, 400f); val3.SetParent(((Component)val7).transform, false); GameObject val8 = new GameObject("Moon Mask"); val8.transform.parent = ((Component)val7).transform; val8.transform.localScale = Vector3.one; val8.transform.localPosition = Vector3.zero; val8.transform.localRotation = Quaternion.identity; RectTransform component2 = ((Component)val8.AddComponent<RectMask2D>()).GetComponent<RectTransform>(); component2.sizeDelta = new Vector2(800f, 550f); val4.SetParent(((Component)component2).transform, false); val4.localScale = Vector3.one * 0.8f; val5.SetParent(((Component)val7).transform, false); val5.SetAsFirstSibling(); if (Plugin.Config.CustomCamera.Value) { Object.Instantiate<GameObject>(AssetCollection.CustomCamera, ((Component)Camera.main).transform.parent); } new GameObject("Haptic Manager").AddComponent<HapticManager>(); new GameObject("Data Manager").AddComponent<DataManager>(); } private static void SetupDefaultSceneUniversal() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) new GameObject("RepoXR Network System").AddComponent<NetworkSystem>(); ShowVRFailedWarning(); } [HarmonyPatch(typeof(GameDirector), "Start")] [HarmonyPostfix] private static void OnStartup(GameDirector __instance) { VRInputSystem.instance.ActivateInput(); if ((Object)(object)RunManager.instance.levelCurrent == (Object)(object)RunManager.instance.levelMainMenu || (Object)(object)RunManager.instance.levelCurrent == (Object)(object)RunManager.instance.levelSplashScreen) { OnStartupMainMenu(); } } [HarmonyPatch(typeof(LobbyMenuOpen), "Awake")] [HarmonyPostfix] private static void OnStartLobbyMenu() { if ((Object)(object)RunManager.instance.levelCurrent == (Object)(object)RunManager.instance.levelLobbyMenu) { OnStartupMainMenu(); } } [HarmonyPatch(typeof(StartRoom), "Start")] [HarmonyPostfix] private static void OnStartTruck(StartRoom __instance) { string name = ((Object)__instance).name; if ((!(name == "Start Room - Main Menu(Clone)") && !(name == "Start Room - Lobby Menu(Clone)")) || 1 == 0) { OnStartupInGame(); } } [HarmonyPatch(typeof(SplashScreen), "Start")] [HarmonyPostfix] private static void OnStartupSplashScreen() { LoadingUI.instance.ResetPosition(); } private static void OnStartupMainMenu() { ((Component)HUDCanvas.instance).gameObject.AddComponent<MainMenu>(); DataManager.instance.ResetData(); } private static void OnStartupInGame() { ((Component)GameDirector.instance).gameObject.AddComponent<VRSession>(); } private static void ShowVRFailedWarning() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) if (Plugin.Flags.HasFlag(Flags.StartupFailed) && !hasShownErrorMessage && !((Object)(object)RunManager.instance.levelCurrent != (Object)(object)RunManager.instance.levelMainMenu)) { hasShownErrorMessage = true; MenuManager.instance.PagePopUpScheduled("VR Startup Failed", Color.red, "RepoXR tried to launch the game in VR, however an error occured during initialization.\n\nYou can disable VR in the settings if you are not planning to play in VR.", "Alright fam", true); } } } public static class Logger { internal static ManualLogSource? source; public static void LogInfo(object message) { ManualLogSource? obj = source; if (obj != null) { obj.LogInfo(message); } } public static void LogWarning(object message) { ManualLogSource? obj = source; if (obj != null) { obj.LogWarning(message); } } public static void LogError(object message) { ManualLogSource? obj = source; if (obj != null) { obj.LogError(message); } } public static void LogDebug(object message) { ManualLogSource? obj = source; if (obj != null) { obj.LogDebug(message); } } } internal static class Native { private delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); private struct SID_AND_ATTRIBUTES { public IntPtr Sid; public uint Attributes; } private struct TOKEN_MANDATORY_LABEL { public SID_AND_ATTRIBUTES Label; } public static readonly IntPtr HKEY_LOCAL_MACHINE = (IntPtr)2147483650L; private const int SECURITY_MAX_SID_SIZE = 68; [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern int GetWindowText(IntPtr hWnd, StringBuilder strText, int maxCount); [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern int GetWindowTextLength(IntPtr hWnd); [DllImport("user32.dll")] private static extern bool EnumWindows(EnumWindowsProc enumProc, IntPtr lParam); [DllImport("user32.dll")] private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId); [DllImport("user32.dll")] private static extern bool BringWindowToTop(IntPtr hWnd); [DllImport("user32.dll")] private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] private static extern IntPtr GetForegroundWindow(); [DllImport("kernel32.dll", CharSet = CharSet.Auto)] public static extern IntPtr GetModuleHandle(string lpModuleName); [DllImport("user32.dll")] private static extern void AttachThreadInput(uint idAttach, uint idAttachTo, bool fAttach); [DllImport("kernel32.dll")] private static extern uint GetCurrentProcessId(); [DllImport("kernel32.dll")] private static extern uint GetCurrentThreadId(); [DllImport("Advapi32.dll", CharSet = CharSet.Ansi, EntryPoint = "RegOpenKeyExA")] public static extern int RegOpenKeyEx(IntPtr hKey, [In] string lpSubKey, int ulOptions, int samDesired, out IntPtr phkResult); [DllImport("advapi32.dll", CharSet = CharSet.Ansi)] public static extern int RegQueryValueEx(IntPtr hKey, string lpValueName, int lpReserved, out uint lpType, StringBuilder? lpData, ref uint lpcbData); [DllImport("advapi32.dll", CharSet = CharSet.Ansi)] public static extern int RegQueryInfoKey(IntPtr hKey, StringBuilder? lpClass, IntPtr lpcbClass, IntPtr lpReserved, out uint lpcSubKeys, out uint lpcbMaxSubKeyLen, out uint lpcbMaxClassLen, out uint lpcValues, out uint lpcbMaxValueNameLen, out uint lpcbMaxValueLen, IntPtr lpSecurityDescriptor, IntPtr lpftLastWriteTime); [DllImport("advapi32.dll", CharSet = CharSet.Ansi, EntryPoint = "RegEnumValueA")] public static extern int RegEnumValue(IntPtr hKey, uint dwIndex, StringBuilder lpValueName, ref uint lpcchValueName, IntPtr lpReserved, IntPtr lpType, IntPtr lpData, IntPtr lpcbData); [DllImport("advapi32.dll")] public static extern int RegCloseKey(IntPtr hKey); [DllImport("Shlwapi.dll", CharSet = CharSet.Ansi)] public static extern int ShellMessageBox(IntPtr hAppInst, IntPtr hWnd, string lpcText, string lpcTitle, uint fuStyle); [DllImport("kernel32.dll", SetLastError = true)] private static extern IntPtr GetCurrentProcess(); [DllImport("advapi32.dll", SetLastError = true)] private static extern bool OpenProcessToken(IntPtr hProcess, uint dwAccess, out IntPtr hToken); [DllImport("advapi32.dll", SetLastError = true)] private static extern bool GetTokenInformation(IntPtr hToken, uint tokenInformationClass, in byte lpData, int tokenInformationLength, out uint returnLength); [DllImport("advapi32.dll", SetLastError = true)] private static extern IntPtr GetSidSubAuthorityCount(IntPtr pSid); [DllImport("advapi32.dll", SetLastError = true)] private static extern IntPtr GetSidSubAuthority(IntPtr pSid, int nSubAuthority); [DllImport("kernel32.dll", SetLastError = true)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] [SuppressUnmanagedCodeSecurity] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool CloseHandle(IntPtr handle); public static bool RegOpenSubKey(ref IntPtr hKey, string lpSubKey, int samDesired) { if (RegOpenKeyEx(hKey, lpSubKey, 0, samDesired, out var phkResult) != 0) { return false; } RegCloseKey(hKey); hKey = phkResult; return true; } public static bool IsHighIntegrityLevel() { IntPtr hToken = IntPtr.Zero; try { if (!OpenProcessToken(GetCurrentProcess(), 24u, out hToken)) { return false; } Span<byte> span = stackalloc byte[72]; if (!GetTokenInformation(hToken, 25u, in MemoryMarshal.GetReference(span), span.Length, out var _)) { return false; } IntPtr sid = MemoryMarshal.Cast<byte, TOKEN_MANDATORY_LABEL>(span)[0].Label.Sid; if (sid == IntPtr.Zero) { return false; } byte b = Marshal.ReadByte(GetSidSubAuthorityCount(sid)); return Marshal.ReadInt32(GetSidSubAuthority(sid, b - 1)) > 8192; } finally { if (hToken != IntPtr.Zero) { CloseHandle(hToken); } } } public static void BringGameWindowToFront() { uint currentPid = GetCurrentProcessId(); IntPtr[] array = FindWindows(delegate(IntPtr hWnd, IntPtr _) { GetWindowThreadProcessId(hWnd, out var processId2); return processId2 == currentPid && GetWindowText(hWnd) == "REPO"; }).ToArray(); if (array.Length > 1) { Logger.LogWarning("Multiple game windows called 'R.E.P.O.' detected. Bringing only the first one to the front."); } IntPtr hWnd2 = array[0]; uint processId; uint windowThreadProcessId = GetWindowThreadProcessId(GetForegroundWindow(), out processId); uint currentThreadId = GetCurrentThreadId(); AttachThreadInput(windowThreadProcessId, currentThreadId, fAttach: true); BringWindowToTop(hWnd2); AttachThreadInput(windowThreadProcessId, currentThreadId, fAttach: false); } private static string GetWindowText(IntPtr hWnd) { int windowTextLength = GetWindowTextLength(hWnd); if (windowTextLength <= 0) { return string.Empty; } StringBuilder stringBuilder = new StringBuilder(windowTextLength + 1); GetWindowText(hWnd, stringBuilder, stringBuilder.Capacity); return stringBuilder.ToString(); } private static IEnumerable<IntPtr> FindWindows(EnumWindowsProc filter) { EnumWindowsProc filter2 = filter; List<IntPtr> windows = new List<IntPtr>(); EnumWindows(delegate(IntPtr hWnd, IntPtr lParam) { if (filter2(hWnd, lParam)) { windows.Add(hWnd); } return true; }, IntPtr.Zero); return windows; } } internal static class OpenXR { public class Runtimes : IReadOnlyCollection<Runtime>, IEnumerable<Runtime>, IEnumerable { [CompilerGenerated] private Runtime[] <runtimes>P; public Runtime? Default; public int Count => <runtimes>P.Length; public Runtimes(Runtime[] runtimes) { <runtimes>P = runtimes; Default = ((IEnumerable<Runtime>)<runtimes>P).Select((Func<Runtime, Runtime?>)((Runtime rt) => rt)).FirstOrDefault((Runtime? rt) => rt.Value.Default); base..ctor(); } public bool TryGetRuntime(string name, out Runtime runtime) { string name2 = name; runtime = default(Runtime); try { runtime = <runtimes>P.First((Runtime rt) => rt.Name == name2); return true; } catch { return false; } } public bool TryGetRuntimeByPath(string path, out Runtime runtime) { string path2 = path; runtime = default(Runtime); try { runtime = <runtimes>P.First((Runtime rt) => rt.Path == path2); return true; } catch { return false; } } public IEnumerator<Runtime> GetEnumerator() { return ((IEnumerable<Runtime>)<runtimes>P).GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } public struct Runtime : IEquatable<Runtime> { public string Name { get; set; } public string Path { get; set; } public bool Default { get; set; } public static bool ReadFromJson(string path, out Runtime runtime) { runtime = default(Runtime); try { JToken val = JsonConvert.DeserializeObject<JToken>(File.ReadAllText(path))[(object)"runtime"]; runtime.Name = val[(object)"name"].ToObject<string>(); runtime.Path = path; string defaultRuntimePath = GetDefaultRuntimePath(); if (defaultRuntimePath != null) { runtime.Default = string.Equals(path, defaultRuntimePath, StringComparison.CurrentCultureIgnoreCase); } return true; } catch { return false; } } public bool Equals(Runtime other) { return Path == other.Path; } public override bool Equals(object? obj) { if (obj is Runtime other) { return Equals(other); } return false; } public override int GetHashCode() { return HashCode.Combine(Path); } } public static class Loader { private static XRGeneralSettings? xrGeneralSettings; private static XRManagerSettings? xrManagerSettings; private static OpenXRLoader? xrLoader; private static readonly ManualLogSource Logger; static Loader() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Expected O, but got Unknown Logger = new ManualLogSource("OpenXR Loader"); Logger.Sources.Add((ILogSource)(object)Logger); } public static bool InitializeXR() { InitializeScripts(); List<ISubsystemDescriptor> list = new List<ISubsystemDescriptor>(); SubsystemManager.GetAllSubsystemDescriptors(list); if (!list.Any((ISubsystemDescriptor subsystem) => subsystem.id == "OpenXR Input") || !list.Any((ISubsystemDescriptor subsystem) => subsystem.id == "OpenXR Display")) { Logger.LogError((object)"No Unity OpenXR subsystem found, this installation of RepoXR was not installed correctly."); return false; } if (Native.IsHighIntegrityLevel()) { Logger.LogWarning((object)"Application is elevated! Unable to override the XR runtime! Only the system default OpenXR runtime will be available."); return InitializeXR(null); } Runtimes runtimes = GetRuntimes(); if (runtimes.Count == 0) { Logger.LogWarning((object)"Failed to query runtimes, or no runtimes were found. Falling back to default behavior."); Runtime? runtime; if (!string.IsNullOrEmpty(Plugin.Config.OpenXRRuntimeFile.Value)) { Runtime value = default(Runtime); value.Name = "RepoXR OpenXR Override"; value.Path = Plugin.Config.OpenXRRuntimeFile.Value; runtime = value; } else { runtime = null; } return InitializeXR(runtime); } if (!string.IsNullOrEmpty(Plugin.Config.OpenXRRuntimeFile.Value)) { Runtime value2; if (!runtimes.TryGetRuntimeByPath(Plugin.Config.OpenXRRuntimeFile.Value, out var runtime2)) { Runtime value = default(Runtime); value.Name = "RepoXR OpenXR Override"; value.Path = Plugin.Config.OpenXRRuntimeFile.Value; value2 = value; } else { value2 = runtime2; } if (InitializeXR(value2)) { return true; } Logger.LogWarning((object)"Loading OpenXR using override failed, falling back to automatic enumeration..."); } Runtime? @default = runtimes.Default; if (@default.HasValue) { Runtime valueOrDefault = @default.GetValueOrDefault(); if (valueOrDefault.Path != Plugin.Config.OpenXRRuntimeFile.Value && InitializeXR(valueOrDefault)) { return true; } } foreach (Runtime item in runtimes.Where((Runtime rt) => rt.Path != Plugin.Config.OpenXRRuntimeFile.Value && !rt.Default)) { if (InitializeXR(item)) { return true; } } Logger.LogError((object)"All available runtimes were attempted, but none worked. Aborting..."); return false; } private static bool InitializeXR(Runtime? runtime) { if ((Object)(object)xrManagerSettings == (Object)null || (Object)(object)xrGeneralSettings == (Object)null || (Object)(object)xrLoader == (Object)null) { return false; } if (runtime.HasValue) { Runtime valueOrDefault = runtime.GetValueOrDefault(); Logger.LogInfo((object)("Attempting to initialize OpenXR on " + valueOrDefault.Name)); Environment.SetEnvironmentVariable("XR_RUNTIME_JSON", valueOrDefault.Path); } else { Logger.LogInfo((object)"Attempting to initialize OpenXR using default runtime"); Environment.SetEnvironmentVariable("XR_RUNTIME_JSON", null); } xrGeneralSettings.InitXRSDK(); xrGeneralSettings.Start(); List<XRDisplaySubsystem> list = new List<XRDisplaySubsystem>(); SubsystemManager.GetInstances<XRDisplaySubsystem>(list); if (Plugin.Config.VerboseLogging.Value) { Logger.LogWarning((object)"OpenXR Diagnostics Report:"); string[] array = GenerateReport().Split("\n"); foreach (string text in array) { Logger.LogWarning((object)text); } Logger.LogWarning((object)""); Logger.LogWarning((object)"To prevent diagnostic reports from being printed, disable the 'VerboseLogging' option in the settings."); } return list.Count > 0; } private static void InitializeScripts() { if (xrGeneralSettings == null) { xrGeneralSettings = ScriptableObject.CreateInstance<XRGeneralSettings>(); } if (xrManagerSettings == null) { xrManagerSettings = ScriptableObject.CreateInstance<XRManagerSettings>(); } if (xrLoader == null) { xrLoader = ScriptableObject.CreateInstance<OpenXRLoader>(); } xrGeneralSettings.Manager = xrManagerSettings; ((List<XRLoader>)xrManagerSettings.activeLoaders).Clear(); ((List<XRLoader>)xrManagerSettings.activeLoaders).Add((XRLoader)(object)xrLoader); OpenXRSettings.Instance.renderMode = (RenderMode)0; OpenXRSettings.Instance.depthSubmissionMode = (DepthSubmissionMode)0; if (OpenXRSettings.Instance.features.Length == 0) { ValveIndexControllerProfile val = ScriptableObject.CreateInstance<ValveIndexControllerProfile>(); HPReverbG2ControllerProfile val2 = ScriptableObject.CreateInstance<HPReverbG2ControllerProfile>(); HTCViveControllerProfile val3 = ScriptableObject.CreateInstance<HTCViveControllerProfile>(); MicrosoftMotionControllerProfile val4 = ScriptableObject.CreateInstance<MicrosoftMotionControllerProfile>(); KHRSimpleControllerProfile val5 = ScriptableObject.CreateInstance<KHRSimpleControllerProfile>(); MetaQuestTouchProControllerProfile val6 = ScriptableObject.CreateInstance<MetaQuestTouchProControllerProfile>(); OculusTouchControllerProfile val7 = ScriptableObject.CreateInstance<OculusTouchControllerProfile>(); ((OpenXRFeature)val).enabled = true; ((OpenXRFeature)val2).enabled = true; ((OpenXRFeature)val3).enabled = true; ((OpenXRFeature)val4).enabled = true; ((OpenXRFeature)val5).enabled = true; ((OpenXRFeature)val6).enabled = true; ((OpenXRFeature)val7).enabled = true; OpenXRSettings.Instance.features = (OpenXRFeature[])(object)new OpenXRFeature[7] { (OpenXRFeature)val, (OpenXRFeature)val2, (OpenXRFeature)val3, (OpenXRFeature)val4, (OpenXRFeature)val5, (OpenXRFeature)val6, (OpenXRFeature)val7 }; } } } [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_GenerateReport")] private static extern nint Internal_GenerateReport(); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_ReleaseReport")] private static extern void Internal_ReleaseReport(nint report); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeName")] private static extern bool Internal_GetRuntimeName(out nint runtimeNamePtr); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeVersion")] private static extern bool Internal_GetRuntimeVersion(out ushort major, out ushort minor, out ushort patch); private static string GenerateReport() { nint num = Internal_GenerateReport(); if (num == 0) { return ""; } string result = Marshal.PtrToStringAnsi(num); Internal_ReleaseReport(num); return result; } public static Runtimes GetRuntimes() { HashSet<Runtime> hashSet = new HashSet<Runtime>(); foreach (Runtime item in LocateCommonRuntimes()) { hashSet.Add(item); } string defaultRuntimePath = GetDefaultRuntimePath(); if (Native.RegOpenKeyEx(Native.HKEY_LOCAL_MACHINE, "SOFTWARE\\Khronos\\OpenXR\\1", 0, 131097, out nint phkResult) != 0) { return new Runtimes(hashSet.ToArray()); } List<string> list = new List<string>(); if (!Native.RegOpenSubKey(ref phkResult, "AvailableRuntimes", 131097) || !EnumRuntimeFiles(phkResult, list)) { if (string.IsNullOrEmpty(defaultRuntimePath)) { return new Runtimes(hashSet.ToArray()); } try { JToken val = JsonConvert.DeserializeObject<JToken>(File.ReadAllText(defaultRuntimePath))[(object)"runtime"]; hashSet.Add(new Runtime { Name = val[(object)"name"].ToObject<string>(), Path = defaultRuntimePath, Default = true }); } catch { } return new Runtimes(hashSet.ToArray()); } if (!string.IsNullOrEmpty(defaultRuntimePath) && !list.Contains(defaultRuntimePath)) { list.Add(defaultRuntimePath); } foreach (string item2 in list) { try { JToken val2 = JsonConvert.DeserializeObject<JToken>(File.ReadAllText(item2))[(object)"runtime"]; hashSet.Add(new Runtime { Name = val2[(object)"name"].ToObject<string>(), Path = item2, Default = (item2 == defaultRuntimePath) }); } catch (Exception ex) { Logger.LogWarning("Failed to parse " + item2 + ": " + ex.Message + ". Runtime will be skipped."); } } return new Runtimes(hashSet.ToArray()); } private static string? GetDefaultRuntimePath() { if (Native.RegOpenKeyEx(Native.HKEY_LOCAL_MACHINE, "SOFTWARE\\Khronos\\OpenXR\\1", 0, 131097, out var phkResult) != 0) { return null; } string result = null; uint lpcbData = 0u; uint lpType; bool flag = Native.RegQueryValueEx(phkResult, "ActiveRuntime", 0, out lpType, null, ref lpcbData) != 0; if (!flag) { bool flag2 = lpType - 1 <= 1; flag = !flag2; } if (flag) { return null; } StringBuilder stringBuilder = new StringBuilder((int)lpcbData); if (Native.RegQueryValueEx(phkResult, "ActiveRuntime", 0, out lpType, stringBuilder, ref lpcbData) == 0) { result = stringBuilder.ToString(); } return result; } private static bool EnumRuntimeFiles(nint hKey, List<string> files) { if (Native.RegQueryInfoKey(hKey, null, IntPtr.Zero, IntPtr.Zero, out var _, out var _, out var _, out var lpcValues, out var lpcbMaxValueNameLen, out var _, IntPtr.Zero, IntPtr.Zero) != 0) { return false; } for (uint num = 0u; num < lpcValues; num++) { uint lpcchValueName = lpcbMaxValueNameLen + 1; StringBuilder stringBuilder = new StringBuilder((int)lpcchValueName); if (Native.RegEnumValue(hKey, num, stringBuilder, ref lpcchValueName, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero) == 0) { files.Add(stringBuilder.ToString()); } } return true; } private static IEnumerable<Runtime> LocateCommonRuntimes() { Runtime? runtime = Utils.ExecuteWithSteamAPI((Func<Runtime?>)delegate { //IL_0005: 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) if (SteamApps.IsAppInstalled(AppId.op_Implicit(250820))) { string text = SteamApps.AppInstallDir(AppId.op_Implicit(250820)); if (text != null && Runtime.ReadFromJson(Path.Combine(text, "steamxr_win64.json"), out var runtime3)) { return runtime3; } } return null; }); if (runtime.HasValue) { yield return runtime.Value; } string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Virtual Desktop Streamer\\OpenXR\\virtualdesktop-openxr.json"); if (File.Exists(path) && Runtime.ReadFromJson(path, out var runtime2)) { yield return runtime2; } path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Oculus\\Support\\oculus-runtime\\oculus_openxr_64.json"); if (File.Exists(path) && Runtime.ReadFromJson(path, out runtime2)) { yield return runtime2; } } public static bool GetActiveRuntimeName(out string name) { name = ""; if (!Internal_GetRuntimeName(out IntPtr runtimeNamePtr) || runtimeNamePtr == (IntPtr)0) { return false; } name = Marshal.PtrToStringAnsi(runtimeNamePtr); return true; } public static bool GetActiveRuntimeVersion(out ushort major, out ushort minor, out ushort patch) { return Internal_GetRuntimeVersion(out major, out minor, out patch); } } [PublicAPI] [BepInPlugin("io.daxcess.repoxr", "RepoXR", "1.0.2")] public class Plugin : BaseUnityPlugin { public const string PLUGIN_GUID = "io.daxcess.repoxr"; public const string PLUGIN_NAME = "RepoXR"; public const string PLUGIN_VERSION = "1.0.2"; private const string SKIP_CHECKSUM_VAR = "--repoxr-skip-checksum=1.0.2"; private const string HASHES_OVERRIDE_URL = "https://gist.githubusercontent.com/DaXcess/033e8ff514c505d2372e6f55a412dc00/raw/RepoXR%2520Game%2520Hashes"; private readonly string[] GAME_ASSEMBLY_HASHES = new string[1] { "E95BEFC4BD5206D9455BAA68C51A950ABAF0A99001012928B3E553D8D0E5CDB3" }; public static Config Config { get; private set; } public static Flags Flags { get; private set; } private void Awake() { CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; InputSystem.PerformDefaultPluginInitialization(); Logger.source = ((BaseUnityPlugin)this).Logger; Config = new Config(((BaseUnityPlugin)this).Info.Location, ((BaseUnityPlugin)this).Config); ((BaseUnityPlugin)this).Logger.LogInfo((object)("Starting RepoXR v1.0.2 (" + GetCommitHash() + ")")); bool flag = Config.DisableVR.Value || Environment.GetCommandLineArgs().Contains<string>("--disable-vr", StringComparer.OrdinalIgnoreCase); if (flag) { ((BaseUnityPlugin)this).Logger.LogWarning((object)"VR has been disabled by config or the `--disable-vr` command line flag"); } bool flag2 = Environment.GetCommandLineArgs().Contains("--repoxr-skip-checksum=1.0.2"); if (!VerifyGameVersion()) { if (!flag2) { ((BaseUnityPlugin)this).Logger.LogError((object)"Error: Unsupported game version, or corrupted game detected!"); ((BaseUnityPlugin)this).Logger.LogError((object)"RepoXR only supports legitimate Steam copies of R.E.P.O."); ((BaseUnityPlugin)this).Logger.LogError((object)"R.E.P.O. might have been updated recently, which will also trigger this error."); ((BaseUnityPlugin)this).Logger.LogDebug((object)"To bypass this check, add the following flag to your launch options in Steam: --repoxr-skip-checksum=1.0.2"); return; } ((BaseUnityPlugin)this).Logger.LogWarning((object)"Warning: Unsupported game version, or corrupted game detected!"); ((BaseUnityPlugin)this).Logger.LogWarning((object)"RepoXR might not work properly. Please consider updating your game and RepoXR before creating bug reports."); } if (!PreloadRuntimeDependencies()) { ((BaseUnityPlugin)this).Logger.LogError((object)"Disabling mod because required runtime dependencies could not be loaded!"); return; } if (!AssetCollection.LoadAssets()) { ((BaseUnityPlugin)this).Logger.LogError((object)"Disabling mod because assets could not be loaded!"); return; } if (!flag && InitializeVR()) { Flags |= Flags.VR; } HarmonyPatcher.PatchUniversal(); ((BaseUnityPlugin)this).Logger.LogDebug((object)"Inserted universal patches using Harmony"); Native.BringGameWindowToFront(); Config.SetupGlobalCallbacks(); SceneManager.sceneLoaded += delegate(Scene scene, LoadSceneMode _) { Entrypoint.OnSceneLoad(((Scene)(ref scene)).name); }; } public static string GetCommitHash() { try { AssemblyInformationalVersionAttribute? customAttribute = Assembly.GetExecutingAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>(); return ((customAttribute != null) ? customAttribute.InformationalVersion.Split('+')[1].Substring(0, 7) : null) ?? "unknown"; } catch { Logger.LogWarning("Failed to retrieve commit hash (compiled outside of git repo?)."); return "unknown"; } } private bool VerifyGameVersion() { string text = BitConverter.ToString(Utils.ComputeHash(File.ReadAllBytes(Path.Combine(Paths.ManagedPath, "Assembly-CSharp.dll")))).Replace("-", ""); if (GAME_ASSEMBLY_HASHES.Contains(text)) { ((BaseUnityPlugin)this).Logger.LogInfo((object)"Game version verified using local hashes"); return true; } ((BaseUnityPlugin)this).Logger.LogWarning((object)"Failed to verify game version using local hashes, checking remotely for updated hashes..."); try { string[] array = Utils.ParseConfig(new WebClient().DownloadString("https://gist.githubusercontent.com/DaXcess/033e8ff514c505d2372e6f55a412dc00/raw/RepoXR%2520Game%2520Hashes")); bool flag = false; string[] array2 = array; foreach (string text2 in array2) { try { string[] array3 = text2.Split(':'); (string[], string) valueTuple = (array3[0].Split(','), array3[1]); var (source, _) = valueTuple; if (valueTuple.Item2 != text || !source.Contains("1.0.2")) { continue; } flag = true; break; } catch { } } if (!flag) { return false; } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Game version verified using remote hashes"); return true; } catch (Exception ex) { ((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to verify using remote hashes: " + ex.Message)); return false; } } private bool PreloadRuntimeDependencies() { try { string[] files = Directory.GetFiles(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "RuntimeDeps"), "*.dll"); foreach (string path in files) { string fileName = Path.GetFileName(path); if ((!(fileName == "UnityOpenXR.dll") && !(fileName == "openxr_loader.dll")) || 1 == 0) { try { Assembly.LoadFile(path); } catch (Exception ex) { ((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to preload '" + fileName + "': " + ex.Message)); } } } } catch (Exception ex2) { ((BaseUnityPlugin)this).Logger.LogError((object)("Unexpected error occured while preloading runtime dependencies (incorrect folder structure?): " + ex2.Message)); return false; } return true; } private static bool InitializeVR() { Logger.LogInfo("Loading VR..."); if (!OpenXR.Loader.InitializeXR()) { Logger.LogError("Failed to start in VR Mode! Only Non-VR features are available!"); Logger.LogWarning("You may ignore the previous error if you meant to play without VR"); Flags |= Flags.StartupFailed; return false; } if (OpenXR.GetActiveRuntimeName(out string name) && OpenXR.GetActiveRuntimeVersion(out var major, out var minor, out var patch)) { Logger.LogInfo($"OpenXR runtime being used: {name} ({major}.{minor}.{patch})"); } else { Logger.LogError("Could not get OpenXR runtime info?"); } HarmonyPatcher.PatchVR(); Logger.LogDebug("Inserted VR patches using Harmony"); XRSettings.eyeTextureResolutionScale = (float)Config.CameraResolution.Value / 100f; InputSystem.settings.backgroundBehavior = (BackgroundBehavior)2; return true; } public static MethodInfo GetConfigGetter() { return typeof(Plugin).GetProperty("Config", BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic).GetGetMethod(nonPublic: true); } } [Flags] public enum Flags { VR = 1, StartupFailed = 2 } internal static class Utils { public static byte[] ComputeHash(byte[] input) { using SHA256 sHA = SHA256.Create(); return sHA.ComputeHash(input); } public static string ToHumanReadable(string input) { StringBuilder stringBuilder = new StringBuilder(input[0].ToString()); if (stringBuilder.Length <= 0) { return stringBuilder.ToString(); } for (int i = 1; i < input.Length; i++) { char c = input[i - 1]; char c2 = ((i + 1 < input.Length) ? input[i + 1] : '\0'); bool flag = char.IsLower(c2); bool flag2 = char.IsUpper(c2); bool flag3 = char.IsUpper(input[i]); bool flag4 = char.IsLower(c); bool flag5 = char.IsUpper(c); if (!string.IsNullOrWhiteSpace(c.ToString()) && ((flag5 && flag3 && flag) || (flag4 && flag3 && flag) || (flag4 && flag3 && flag2))) { stringBuilder.Append(' '); } stringBuilder.Append(input[i]); } return stringBuilder.ToString(); } public static string[] ParseConfig(string content) { return (from line in content.Split("\n", StringSplitOptions.RemoveEmptyEntries) where !line.TrimStart().StartsWith("#") let commentIndex = line.IndexOf('#') select (commentIndex < 0) ? line.Trim() : line.Substring(0, commentIndex).Trim() into parsedLine where !string.IsNullOrEmpty(parsedLine) select parsedLine).ToArray(); } public static string GetControlSpriteString(string controlPath) { if (string.IsNullOrEmpty(controlPath)) { return "<b><u>NOT BOUND</u></b>"; } string text = Regex.Replace(controlPath.ToLowerInvariant(), "<[^>]+>([^ ]+)", "$1"); string text2 = text.Split('/')[0].TrimStart('{').TrimEnd('}'); controlPath = Regex.Replace(string.Join("/", text.Split('/').Skip(1)), "{(.*)}", "$1"); if (!(text2 == "lefthand")) { if (text2 == "righthand") { switch (controlPath) { case "primary2daxis": case "thumbstick": goto IL_07a8; case "primary2daxisclick": case "thumbstickclicked": goto IL_07b0; case "thumbstick/up": case "primary2daxis/up": goto IL_07b8; case "primary2daxis/down": case "thumbstick/down": goto IL_07c0; case "primary2daxis/left": case "thumbstick/left": goto IL_07c8; case "thumbstick/right": case "primary2daxis/right": goto IL_07d0; case "primarybutton": case "primarypressed": goto IL_07d8; case "secondarypressed": case "secondarybutton": goto IL_07e0; case "triggerbutton": case "triggerpressed": case "trigger": goto IL_07e8; case "gripbutton": case "grip": case "grippressed": goto IL_07f0; } } switch (controlPath) { case "menu": case "menubutton": case "menupressed": break; default: goto IL_0800; } goto IL_07f8; } switch (controlPath) { case "thumbstick": case "primary2daxis": break; case "primary2daxisclick": case "thumbstickclicked": goto IL_0754; case "thumbstick/up": case "primary2daxis/up": goto IL_075f; case "primary2daxis/down": case "thumbstick/down": goto IL_076a; case "primary2daxis/left": case "thumbstick/left": goto IL_0775; case "thumbstick/right": case "primary2daxis/right": goto IL_0780; case "primarybutton": case "primarypressed": goto IL_0788; case "secondarypressed": case "secondarybutton": goto IL_0790; case "triggerbutton": case "triggerpressed": case "trigger": goto IL_0798; case "grip": case "gripbutton": case "grippressed": goto IL_07a0; case "menu": case "menubutton": case "menupressed": goto IL_07f8; default: goto IL_0800; } string text3 = "leftStick"; goto IL_0806; IL_0780: text3 = "leftStickRight"; goto IL_0806; IL_0775: text3 = "leftStickLeft"; goto IL_0806; IL_076a: text3 = "leftStickDown"; goto IL_0806; IL_0806: string text4 = text3; return "<sprite name=\"" + text4 + "\">"; IL_07f0: text3 = "rightGrip"; goto IL_0806; IL_07e8: text3 = "rightTrigger"; goto IL_0806; IL_07e0: text3 = "rightSecondaryButton"; goto IL_0806; IL_07d8: text3 = "rightPrimaryButton"; goto IL_0806; IL_07d0: text3 = "rightStickRight"; goto IL_0806; IL_07c8: text3 = "rightStickLeft"; goto IL_0806; IL_07c0: text3 = "rightStickDown"; goto IL_0806; IL_07b8: text3 = "rightStickUp"; goto IL_0806; IL_07b0: text3 = "rightStickClick"; goto IL_0806; IL_07a8: text3 = "rightStick"; goto IL_0806; IL_0754: text3 = "leftStickClick"; goto IL_0806; IL_075f: text3 = "leftStickUp"; goto IL_0806; IL_0800: text3 = "unknown"; goto IL_0806; IL_07f8: text3 = "menuButton"; goto IL_0806; IL_07a0: text3 = "leftGrip"; goto IL_0806; IL_0798: text3 = "leftTrigger"; goto IL_0806; IL_0790: text3 = "leftSecondaryButton"; goto IL_0806; IL_0788: text3 = "leftPrimaryButton"; goto IL_0806; } public static bool GetControlHand(string controlPath, out HapticManager.Hand hand) { hand = HapticManager.Hand.Both; if (string.IsNullOrEmpty(controlPath)) { return false; } string text = Regex.Replace(controlPath.ToLowerInvariant(), "<[^>]+>([^ ]+)", "$1").Split('/')[0].TrimStart('{').TrimEnd('}'); hand = ((!(text == "lefthand")) ? HapticManager.Hand.Right : HapticManager.Hand.Left); return true; } public static T? ExecuteWithSteamAPI<T>(Func<T> func) { try { bool isValid = SteamClient.IsValid; if (!isValid) { SteamClient.Init(3241660u, false); } T result = func(); if (!isValid) { SteamClient.Shutdown(); } return result; } catch { return default(T); } } public static bool Collide(Collider lhs, Collider rhs) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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) Vector3 val = default(Vector3); float num = default(float); return Physics.ComputePenetration(lhs, ((Component)lhs).transform.position, ((Component)lhs).transform.rotation, rhs, ((Component)rhs).transform.position, ((Component)rhs).transform.rotation, ref val, ref num); } public static void DisableScanlines(this SemiUI ui) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) UIScanlines componentInChildren = ((Component)ui).GetComponentInChildren<UIScanlines>(); if (componentInChildren != null) { ((Behaviour)componentInChildren).enabled = false; ((Graphic)componentInChildren.image).color = Color.clear; } } public static void SetUIAnchoredPosition(this SemiUI ui, Vector2 anchoredPosition) { //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_000c: 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_0018: 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_0024: 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_002b: Unknown result type (might be due to invalid IL or missing references) Vector2 hidePosition = ui.hidePosition - ui.showPosition; ((Component)ui).GetComponent<RectTransform>().anchoredPosition = anchoredPosition; ui.showPosition = Vector2.zero; ui.hidePosition = hidePosition; ui.Start(); } public static void ReplaceOrInsert<T>(this List<T> list, T item, Predicate<T> match) { int num = list.FindIndex(match); if (num >= 0) { list[num] = item; } else { list.Add(item); } } public static Color GetTextColor(Color baseColor, float minBrightness = 0.6f, float alpha = 1f) { //IL_0005: 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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_004c: 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_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) float num = 0.2126f * baseColor.r + 0.7152f * baseColor.g + 0.0722f * baseColor.b; if (num < minBrightness) { float num2 = Mathf.Clamp01((minBrightness - num) / minBrightness); baseColor = Color.Lerp(baseColor, Color.white, num2); } baseColor.a = alpha; return baseColor; } } } namespace RepoXR.UI { public class ChatUI : MonoBehaviour { private ChatManager chatManager; private NonNativeKeyboard keyboard; private Vector3 keyboardScale; private float keyboardLerp; private ChatState prevState; private void Awake() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: 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_0045: 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_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: 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) chatManager = ChatManager.instance; keyboard = Object.Instantiate<GameObject>(AssetCollection.Keyboard, ((Component)this).transform.TransformPoint(new Vector3(360f, -100f)), ((Component)this).transform.rotation * Quaternion.Euler(15f, 0f, 0f)).GetComponent<NonNativeKeyboard>(); keyboard.SubmitOnEnter = false; keyboard.OnKeyboardValueKeyPressed += OnKeyPressed; keyboard.OnKeyboardFunctionKeyPressed += OnFunctionKeyPressed; keyboardScale = Vector3.one * (((Object)(object)RunManager.instance.levelCurrent == (Object)(object)RunManager.instance.levelLobbyMenu) ? 0.0175f : 0.005f); prevState = chatManager.chatState; } private void OnDestroy() { keyboard.OnKeyboardValueKeyPressed -= OnKeyPressed; keyboard.OnKeyboardFunctionKeyPressed -= OnFunctionKeyPressed; } private void Update() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Invalid comparison between Unknown and I4 //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Invalid comparison between Unknown and I4 //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Invalid comparison between Unknown and I4 //IL_006a: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Invalid comparison between Unknown and I4 //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Invalid comparison between Unknown and I4 //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Invalid comparison between Unknown and I4 //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Invalid comparison between Unknown and I4 //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) if (((Behaviour)LoadingUI.instance).isActiveAndEnabled && (int)ChatManager.instance.chatState == 1) { chatManager.StateSet((ChatState)0); } if (!SemiFunc.MenuLevel() && Object.op_Implicit((Object)(object)MenuManager.instance.currentMenuPage) && (int)ChatManager.instance.chatState == 1) { chatManager.StateSet((ChatState)0); } if (((int)chatManager.chatState == 1 && chatManager.chatState != prevState) || (int)chatManager.chatState == 2) { PauseUI.instance?.ResetPosition(instant: true); } if ((Object)(object)RunManager.instance.levelCurrent != (Object)(object)RunManager.instance.levelLobbyMenu) { if ((int)chatManager.chatState == 1 && chatManager.chatState != prevState) { XRRayInteractorManager.Instance?.SetVisible(visible: true); } if ((int)chatManager.chatState != 1 && chatManager.chatState != prevState) { XRRayInteractorManager.Instance?.SetVisible(visible: false); } } prevState = chatManager.chatState; if ((int)chatManager.chatState == 1) { PhysGrabber.instance.ReleaseObject(0.1f); if (!((Component)keyboard).gameObject.activeSelf) { keyboard.PresentKeyboard(); } keyboardLerp += 8f * Time.deltaTime; keyboardLerp = Mathf.Clamp01(keyboardLerp); ((Component)keyboard).transform.localScale = Vector3.Slerp(Vector3.zero, keyboardScale, keyboardLerp); } else if (((Component)keyboard).gameObject.activeSelf) { keyboardLerp -= 8f * Time.deltaTime; keyboardLerp = Mathf.Clamp01(keyboardLerp); ((Component)keyboard).transform.localScale = Vector3.Slerp(Vector3.zero, keyboardScale, keyboardLerp); if (keyboardLerp == 0f) { keyboard.Close(); } } } private void LateUpdate() { //IL_0020: 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) //IL_0040: 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) ((Component)keyboard).transform.position = ((Component)this).transform.TransformPoint(new Vector3(360f, -100f, 0f)); ((Component)keyboard).transform.rotation = ((Component)this).transform.rotation * Quaternion.Euler(15f, 0f, 0f); } private void AppendText(string text) { //IL_00a7: 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) string chatMessage = chatManager.chatMessage; ChatManager obj = chatManager; obj.chatMessage += text; if (chatManager.chatMessage.Length > 50) { ((SemiUI)ChatUI.instance).SemiUITextFlashColor(Color.red, 0.2f); ((SemiUI)ChatUI.instance).SemiUISpringShakeX(10f, 10f, 0.3f); ((SemiUI)ChatUI.instance).SemiUISpringScale(0.05f, 5f, 0.2f); MenuManager.instance.MenuEffectClick((MenuClickEffectType)2, (MenuPage)null, 1f, 1f, true); chatManager.chatMessage = chatMessage; } else { chatManager.TypeEffect(Color.yellow); } } private void OnKeyPressed(KeyboardValueKey key) { AppendText(keyboard.IsShifted ? key.ShiftValue : key.Value); } private void ChatHistoryCycle(bool previous) { //IL_00de: Unknown result type (might be due to invalid IL or missing references) if (chatManager.chatHistory.Count == 0) { return; } if (previous) { if (chatManager.chatHistoryIndex > 0) { ChatManager obj = chatManager; obj.chatHistoryIndex--; } else { chatManager.chatHistoryIndex = chatManager.chatHistory.Count - 1; } } else if (chatManager.chatHistoryIndex < chatManager.chatHistory.Count - 1) { ChatManager obj2 = chatManager; obj2.chatHistoryIndex++; } else { chatManager.chatHistoryIndex = 0; } chatManager.chatMessage = chatManager.chatHistory[chatManager.chatHistoryIndex]; ((TMP_Text)chatManager.chatText).text = chatManager.chatMessage; ((SemiUI)ChatUI.instance).SemiUITextFlashColor(Color.cyan, 0.2f); ((SemiUI)ChatUI.instance).SemiUISpringShakeY(2f, 5f, 0.2f); MenuManager.instance.MenuEffectClick((MenuClickEffectType)4, (MenuPage)null, 1f, 0.2f, true); } private void OnFunctionKeyPressed(KeyboardKeyFunc key) { switch (key.ButtonFunction) { case KeyboardKeyFunc.Function.Backspace: if (chatManager.chatMessage.Length != 0) { string chatMessage = chatManager.chatMessage; chatMessage = chatMessage.Remove(Mathf.Max(chatMessage.Length - 1, 0)); chatManager.chatMessage = chatMessage; ((TMP_Text)chatManager.chatText).text = chatMessage; chatManager.CharRemoveEffect(); } break; case KeyboardKeyFunc.Function.Enter: chatManager.StateSet((ChatState)((!(chatManager.chatMessage == "")) ? 3 : 0)); break; case KeyboardKeyFunc.Function.Space: AppendText(" "); break; case KeyboardKeyFunc.Function.Previous: ChatHistoryCycle(previous: true); break; case KeyboardKeyFunc.Function.Next: ChatHistoryCycle(previous: false); break; } } } public class Crosshair : MonoBehaviour { public static Crosshair instance; public const int LayerMask = 9504257; private Transform camera; private Transform sprite; private void Awake() { instance = this; camera = ((Component)Camera.main).transform; sprite = ((Component)((Component)this).GetComponentInChildren<Aim>(true)).transform; } private void OnDestroy() { instance = null; } private void Update() { //IL_0015: 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) //IL_002a: 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_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: 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_0103: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: 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_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_0174: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: 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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: 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_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) VRSession vRSession = VRSession.Instance; if (vRSession != null) { RaycastHit val = default(RaycastHit); if (!Physics.Raycast(new Ray(vRSession.Player.MainHand.position, vRSession.Player.MainHand.forward), ref val, 10f, 9504257)) { ((Component)this).transform.position = Vector3.down * 3000f; return; } if (Object.op_Implicit((Object)(object)PhysGrabber.instance.grabbedObject)) { sprite.position = Vector3.down * 3000f; return; } if (((Component)((RaycastHit)(ref val)).collider).CompareTag("Phys Grab Object") && Object.op_Implicit((Object)(object)((Component)((RaycastHit)(ref val)).collider).GetComponentInParent<EnemyRigidbody>())) { ((Component)this).transform.SetPositionAndRotation(((RaycastHit)(ref val)).point, Quaternion.LookRotation(((RaycastHit)(ref val)).point - camera.position) * Quaternion.Euler(0f, 90f, 90f)); return; } float num = Mathf.Abs(Mathf.Max(0f, Vector3.Dot(((RaycastHit)(ref val)).normal, Vector3.up) - 0.5f)) / 0.5f; Vector3 val2 = Vector3.ProjectOnPlane(camera.position - ((RaycastHit)(ref val)).point, ((RaycastHit)(ref val)).normal); Vector3 normalized = ((Vector3)(ref val2)).normalized; Quaternion val3 = Quaternion.LookRotation(Quaternion.AngleAxis(90f, ((RaycastHit)(ref val)).normal) * normalized, ((RaycastHit)(ref val)).normal); Quaternion val4 = Quaternion.Lerp(Quaternion.Euler(0f, ((Quaternion)(ref val3)).eulerAngles.y, ((Quaternion)(ref val3)).eulerAngles.z), val3, num); ((Component)this).transform.SetPositionAndRotation(((RaycastHit)(ref val)).point, val4); sprite.localScale = Vector3.Lerp(Vector3.one * 0.3f, Vector3.one, ((RaycastHit)(ref val)).distance * 0.33f); sprite.localPosition = Vector3.zero; } } } [ExecuteInEditMode] [RequireComponent(typeof(TextMeshProUGUI))] public class CurvedTMP : MonoBehaviour { private TextMeshProUGUI textComponent; [SerializeField] private float radius = 10f; private void Awake() { textComponent = ((Component)this).GetComponent<TextMeshProUGUI>(); } private void OnEnable() { ((TMP_Text)textComponent).OnPreRenderText += UpdateTextCurve; OnCurvePropertyChanged(); } private void OnDisable() { ((TMP_Text)textComponent).OnPreRenderText -= UpdateTextCurve; } private void OnCurvePropertyChanged() { UpdateTextCurve(((TMP_Text)textComponent).textInfo); ((TMP_Text)textComponent).ForceMeshUpdate(false, false); } private void UpdateTextCurve(TMP_TextInfo textInfo) { //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: 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_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: 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_00e5: 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_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_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0121: 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_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < Mathf.Min(textInfo.characterCount, textInfo.characterInfo.Length); i++) { if (textInfo.characterInfo[i].isVisible) { int vertexIndex = textInfo.characterInfo[i].vertexIndex; int materialReferenceIndex = textInfo.characterInfo[i].materialReferenceIndex; Vector3[] vertices = textInfo.meshInfo[materialReferenceIndex].vertices; Vector3 val = Vector2.op_Implicit(new Vector2((vertices[vertexIndex].x + vertices[vertexIndex + 2].x) / 2f, textInfo.characterInfo[i].baseLine)); ref Vector3 reference = ref vertices[vertexIndex]; reference += -val; ref Vector3 reference2 = ref vertices[vertexIndex + 1]; reference2 += -val; ref Vector3 reference3 = ref vertices[vertexIndex + 2]; reference3 += -val; ref Vector3 reference4 = ref vertices[vertexIndex + 3]; reference4 += -val; Matrix4x4 val2 = ComputeTransformationMatrix(val, textInfo, i); vertices[vertexIndex] = ((Matrix4x4)(ref val2)).MultiplyPoint3x4(vertices[vertexIndex]); vertices[vertexIndex + 1] = ((Matrix4x4)(ref val2)).MultiplyPoint3x4(vertices[vertexIndex + 1]); vertices[vertexIndex + 2] = ((Matrix4x4)(ref val2)).MultiplyPoint3x4(vertices[vertexIndex + 2]); vertices[vertexIndex + 3] = ((Matrix4x4)(ref val2)).MultiplyPoint3x4(vertices[vertexIndex + 3]); } } } private Matrix4x4 ComputeTransformationMatrix(Vector3 charMidBaselinePos, TMP_TextInfo textInfo, int charIdx) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0088: 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_009b: 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_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) float num = radius + textInfo.lineInfo[textInfo.characterInfo[charIdx].lineNumber].baseline; float num2 = 2f * num * MathF.PI; float num3 = ((charMidBaselinePos.x / num2 - 0.5f) * 360f + 90f) * (MathF.PI / 180f); float num4 = Mathf.Cos(num3); float num5 = Mathf.Sin(num3); Vector2 val = default(Vector2); ((Vector2)(ref val))..ctor(num4 * num, (0f - num5) * num); float num6 = (0f - Mathf.Atan2(num5, num4)) * 57.29578f - 90f; return Matrix4x4.TRS(new Vector3(val.x, val.y, 0f), Quaternion.AngleAxis(num6, Vector3.forward), Vector3.one); } } public class GameHud : MonoBehaviour { private Transform smoothCanvasContainer; private Transform camera; private PauseUI pause; public Canvas OverlayCanvas { get; private set; } public Canvas SmoothedCanvas { get; private set; } private IEnumerator Start() { yield return null; camera = ((Component)CameraOverlay.instance.overlayCamera).transform; DisableEventSystem(); SetupOverlayCanvas(); SetupSmoothedCanvas(); SetupPauseMenu(); SetupInfoHUD(); ((Component)HUDCanvas.instance).transform.position = Vector3.down * 10000f; } private void LateUpdate() { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_003d: 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_004f: 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_0074: 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_007a: 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_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: 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_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: 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_0038: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)camera)) { Vector3 val = ((Object.op_Implicit((Object)(object)SpectateCamera.instance) && SpectateCamera.instance.CheckState((State)0)) ? ((Component)SpectateCamera.instance).transform.up : Vector3.up); Vector3 val2 = camera.position + camera.forward * Plugin.Config.SmoothCanvasDistance.Value; Quaternion val3 = Quaternion.LookRotation(camera.forward, val); ((Component)SmoothedCanvas).transform.position = Vector3.Slerp(((Component)SmoothedCanvas).transform.position, val2, 0.1f); ((Component)SmoothedCanvas).transform.rotation = Quaternion.Slerp(((Component)SmoothedCanvas).transform.rotation, val3, 0.1f); } } public void PauseGame() { pause.Show(); } public void ResumeGame(bool instant = false) { pause.Hide(instant); } private static void DisableEventSystem() { GameObject obj = GameObject.Find("EventSystem"); InputSystemUIInputModule val = ((obj != null) ? obj.GetComponent<InputSystemUIInputModule>() : null); if ((Object)(object)val != (Object)null) { ((Behaviour)val).enabled = false; } } private void SetupOverlayCanvas() { //IL_0040: 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_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0083: 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_0099: 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_00b3: 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_00dc: Unknown result type (might be due to invalid IL or missing references) OverlayCanvas = GameObject.Find("VR Overlay Canvas").GetComponent<Canvas>(); OverlayCanvas.worldCamera = CameraOverlay.instance.overlayCamera; OverlayCanvas.renderMode = (RenderMode)1; ((Component)WorldSpaceUIParent.instance).transform.localScale = Vector3.one * 0.005f; TumbleUI instance = TumbleUI.instance; RectTransform component = ((Component)instance).GetComponent<RectTransform>(); ((Component)component).transform.parent = ((Component)OverlayCanvas).transform; component.anchorMin = Vector2.zero; component.anchorMax = Vector2.one; component.anchoredPosition = Vector2.zero; component.sizeDelta = Vector2.zero; ((Component)component).transform.localPosition = Vector3.down * 130f; ((Component)component).transform.localRotation = Quaternion.identity; foreach (Transform item in (Transform)component) { Object.Destroy((Object)(object)((Component)item).gameObject); } Transform transform = Object.Instantiate<GameObject>(AssetCollection.VRTumble, (Transform)(object)component).transform; instance.parts1[0] = ((Component)transform.Find("Top 1")).gameObject; instance.parts1[1] = ((Component)transform.Find("Bottom 1")).gameObject; instance.parts1[2] = ((Component)transform.Find("Left 1")).gameObject; instance.parts1[3] = ((Component)transform.Find("Right 1")).gameObject; instance.parts2[0] = ((Component)transform.Find("Top 2")).gameObject; instance.parts2[1] = ((Component)transform.Find("Bottom 2")).gameObject; instance.parts2[2] = ((Component)transform.Find("Left 2")).gameObject; instance.parts2[3] = ((Component)transform.Find("Right 2")).gameObject; instance.images1 = instance.parts1.Select((GameObject part) => part.GetComponent<Image>()).ToArray(); instance.images2 = instance.parts2.Select((GameObject part) => part.GetComponent<Image>()).ToArray(); } private void SetupSmoothedCanvas() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0042: 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_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006f: 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_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: 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_00d7: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("VR Smoothed Canvas - Container") { layer = 5 }; val.transform.parent = camera.parent.parent.parent; smoothCanvasContainer = val.transform; GameObject val2 = new GameObject("VR Smoothed Canvas") { layer = 5 }; val2.transform.parent = smoothCanvasContainer; val2.transform.localScale = Vector3.one * 0.003f; val2.transform.localPosition = Vector3.zero; val2.transform.localEulerAngles = Vector3.zero; SmoothedCanvas = val2.AddComponent<Canvas>(); SmoothedCanvas.renderMode = (RenderMode)2; ((Component)SmoothedCanvas).gameObject.AddComponent<RectMask2D>(); RectTransform component = ((Component)SmoothedCanvas).GetComponent<RectTransform>(); component.sizeDelta = new Vector2(712f, 400f); Transform val3 = ((Component)HUDCanvas.instance).transform.Find("HUD/Game Hud"); Transform obj = ((Component)HUDCanvas.instance).transform.Find("HUD/Chat Local"); val3.SetParent((Transform)(object)component, false); obj.SetParent((Transform)(object)component, false); } private void SetupPauseMenu() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: 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_0030: 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_0044: 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_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005a: 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_006e: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: 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_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: 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_0120: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_014c: 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_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("VR Pause Menu / Chat"); val.transform.parent = ((Component)camera).transform.parent.parent; val.transform.localPosition = Vector3.down * 3000f; val.transform.localRotation = Quaternion.identity; val.transform.localScale = Vector3.one * 0.01f; val.layer = 5; Canvas val2 = val.AddComponent<Canvas>(); Transform transform = ((Component)MenuHolder.instance).transform; RectTransform component = ((Component)transform).GetComponent<RectTransform>(); ((Component)val2).gameObject.AddComponent<TrackedDeviceGraphicRaycaster>(); val2.renderMode = (RenderMode)2; val2.sortingOrder = 5; transform.SetParent(((Component)val2).transform, false); transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; transform.localScale = Vector3.one; ((Component)transform).gameObject.AddComponent<RectMask2D>(); Vector2 val3 = -(component.sizeDelta * 0.5f) + new Vector2(50f, 0f); pause = ((Component)val2).gameObject.AddComponent<PauseUI>(); pause.positionOffset = new Vector3(val3.x * 0.01f, val3.y * 0.01f, 0f); GameObject val4 = new GameObject("Chat Holder"); val4.transform.parent = ((Component)val2).transform; RectTransform val5 = val4.AddComponent<RectTransform>(); val5.sizeDelta = new Vector2(720f, 450f); val5.pivot = Vector2.zero; ((Transform)val5).localPosition = Vector3.zero; ((Transform)val5).localRotation = Quaternion.identity; ((Transform)val5).localScale = Vector3.one; ((Component)val5).gameObject.AddComponent<RectMask2D>(); Transform val6 = ((Component)HUDCanvas.instance).transform.Find("HUD/Chat"); if (SemiFunc.IsMultiplayer()) { val6.SetParent((Transform)(object)val5, false); } else { ((Component)val6).gameObject.SetActive(false); } } private void SetupInfoHUD() { //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) SemiUI component = ((Component)GoalUI.instance).GetComponent<SemiUI>(); SemiUI component2 = ((Component)HaulUI.instance).GetComponent<SemiUI>(); SemiUI component3 = ((Component)HealthUI.instance).GetComponent<SemiUI>(); SemiUI component4 = ((Component)EnergyUI.instance).GetComponent<SemiUI>(); SemiUI component5 = ((Component)StatsUI.instance).GetComponent<SemiUI>(); ((Component)component).transform.SetParent((Transform)(object)VRSession.Instance.Player.Rig.infoHud, false); ((Component)component2).transform.SetParent((Transform)(object)VRSession.Instance.Player.Rig.infoHud, false); ((Component)component3).transform.SetParent((Transform)(object)VRSession.Instance.Player.Rig.infoHud, false); ((Component)component4).transform.SetParent((Transform)(object)VRSession.Instance.Player.Rig.infoHud, false); ((Component)component5).transform.SetParent((Transform)(object)VRSession.Instance.Player.Rig.infoHud, false); component.DisableScanlines(); component2.DisableScanlines(); component3.DisableScanlines(); component4.DisableScanlines(); component5.DisableScanlines(); component.SetUIAnchoredPosition(new Vector2(0f, -30f)); component2.SetUIAnchoredPosition(Vector2.zero); component3.SetUIAnchoredPosition(new Vector2(30f, 0f)); component4.SetUIAnchoredPosition(new Vector2(30f, -30f)); component5.SetUIAnchoredPosition(new Vector2(50f, 50f)); } } public class LoadingUI : MonoBehaviour { public static LoadingUI instance; private static Vector3 lastLocalPosition; private static float lastLocalRotation; private Transform camera; private void Awake() { instance = this; camera = ((Component)Camera.main).transform; RestorePosition(); } private void OnDestroy() { instance = null; } private IEnumerator Start() { RestorePosition(); yield return null; RestorePosition(); } private void OnDisable() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: 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) lastLocalPosition = ((Component)this).transform.localPosition; lastLocalRotation = ((Component)this).transform.localEulerAngles.y; } public void ResetPosition() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //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_0018: 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_003c: 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_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: 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_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076
BepInEx/plugins/RepoXR/RuntimeDeps/Unity.Mathematics.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using Unity.IL2CPP.CompilerServices; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("Unity.Mathematics")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Unity.Mathematics")] [assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("19810344-7387-4155-935F-BDD5CC61F0BF")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: InternalsVisibleTo("Unity.Mathematics.Tests")] [assembly: InternalsVisibleTo("Unity.Mathematics.PerformanceTests")] [assembly: InternalsVisibleTo("btests")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[8016] { 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 50, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 50, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 50, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 51, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 51, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 51, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 52, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 52, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 98, 111, 111, 108, 52, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 50, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 50, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 50, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 51, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 51, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 51, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 52, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 52, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 100, 111, 117, 98, 108, 101, 52, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 50, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 50, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 50, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 51, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 51, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 51, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 52, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 52, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 102, 108, 111, 97, 116, 52, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 71, 101, 111, 109, 101, 116, 114, 121, 92, 77, 105, 110, 77, 97, 120, 65, 65, 66, 66, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 71, 101, 111, 109, 101, 116, 114, 121, 92, 80, 108, 97, 110, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 104, 97, 108, 102, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 104, 97, 108, 102, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 104, 97, 108, 102, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 104, 97, 108, 102, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 73, 108, 50, 67, 112, 112, 69, 97, 103, 101, 114, 83, 116, 97, 116, 105, 99, 67, 108, 97, 115, 115, 67, 111, 110, 115, 116, 114, 117, 99, 116, 105, 111, 110, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 50, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 50, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 50, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 51, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 51, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 51, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 52, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 52, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 105, 110, 116, 52, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 109, 97, 116, 104, 46, 99, 115, 0, 0, 0, 5, 0, 0, 0, 92, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 109, 97, 116, 104, 95, 117, 110, 105, 116, 121, 95, 99, 111, 110, 118, 101, 114, 115, 105, 111, 110, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 109, 97, 116, 114, 105, 120, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 109, 97, 116, 114, 105, 120, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 101, 108, 108, 117, 108, 97, 114, 50, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 101, 108, 108, 117, 108, 97, 114, 50, 120, 50, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 101, 108, 108, 117, 108, 97, 114, 50, 120, 50, 120, 50, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 101, 108, 108, 117, 108, 97, 114, 51, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 108, 97, 115, 115, 105, 99, 110, 111, 105, 115, 101, 50, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 108, 97, 115, 115, 105, 99, 110, 111, 105, 115, 101, 51, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 108, 97, 115, 115, 105, 99, 110, 111, 105, 115, 101, 52, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 99, 111, 109, 109, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 110, 111, 105, 115, 101, 50, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 110, 111, 105, 115, 101, 51, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 110, 111, 105, 115, 101, 51, 68, 103, 114, 97, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 110, 111, 105, 115, 101, 52, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 78, 111, 105, 115, 101, 92, 112, 115, 114, 100, 110, 111, 105, 115, 101, 50, 68, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 113, 117, 97, 116, 101, 114, 110, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 114, 97, 110, 100, 111, 109, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 114, 105, 103, 105, 100, 95, 116, 114, 97, 110, 115, 102, 111, 114, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 50, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 50, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 50, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 51, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 51, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 51, 120, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 52, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 52, 120, 50, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 52, 120, 51, 46, 103, 101, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 109, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 64, 49, 46, 50, 46, 54, 92, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 92, 117, 105, 110, 116, 52, 120, 52, 46, 103, 101, 110, 46, 99, 115 }; result.TypesData = new byte[5509] { 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 50, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 50, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 50, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 50, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 51, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 51, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 51, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 51, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 52, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 52, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 52, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 98, 111, 111, 108, 52, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 50, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 50, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 50, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 50, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 51, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 51, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 51, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 51, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 52, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 52, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 52, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 100, 111, 117, 98, 108, 101, 52, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 50, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 50, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 50, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 50, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 51, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 51, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 51, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 51, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 52, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 52, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 52, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 52, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 71, 101, 111, 109, 101, 116, 114, 121, 124, 77, 105, 110, 77, 97, 120, 65, 65, 66, 66, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 71, 101, 111, 109, 101, 116, 114, 121, 124, 77, 97, 116, 104, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 71, 101, 111, 109, 101, 116, 114, 121, 124, 80, 108, 97, 110, 101, 0, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 104, 97, 108, 102, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 104, 97, 108, 102, 50, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 104, 97, 108, 102, 51, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 104, 97, 108, 102, 52, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 73, 85, 110, 105, 116, 121, 46, 73, 76, 50, 67, 80, 80, 46, 67, 111, 109, 112, 105, 108, 101, 114, 83, 101, 114, 118, 105, 99, 101, 115, 124, 73, 108, 50, 67, 112, 112, 69, 97, 103, 101, 114, 83, 116, 97, 116, 105, 99, 67, 108, 97, 115, 115, 67, 111, 110, 115, 116, 114, 117, 99, 116, 105, 111, 110, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 50, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 50, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 50, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 50, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 51, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 51, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 51, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 51, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 52, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 52, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 52, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 105, 110, 116, 52, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 109, 97, 116, 104, 124, 73, 110, 116, 70, 108, 111, 97, 116, 85, 110, 105, 111, 110, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 109, 97, 116, 104, 124, 76, 111, 110, 103, 68, 111, 117, 98, 108, 101, 85, 110, 105, 111, 110, 1, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 50, 1, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 51, 1, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 52, 1, 0, 0, 0, 28, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 113, 117, 97, 116, 101, 114, 110, 105, 111, 110, 1, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 52, 120, 52, 1, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 50, 120, 50, 1, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 51, 120, 51, 1, 0, 0, 0, 26, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 102, 108, 111, 97, 116, 52, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 1, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 110, 111, 105, 115, 101, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 80, 111, 115, 116, 78, 111, 114, 109, 97, 108, 105, 122, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 68, 111, 78, 111, 116, 78, 111, 114, 109, 97, 108, 105, 122, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 1, 0, 0, 0, 28, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 113, 117, 97, 116, 101, 114, 110, 105, 111, 110, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 24, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 82, 97, 110, 100, 111, 109, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 82, 105, 103, 105, 100, 84, 114, 97, 110, 115, 102, 111, 114, 109, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 50, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 50, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 50, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 50, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 51, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 51, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 51, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 51, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 23, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 52, 1, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 46, 124, 68, 101, 98, 117, 103, 103, 101, 114, 80, 114, 111, 120, 121, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 52, 120, 50, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 52, 120, 51, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104, 0, 0, 0, 0, 25, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 117, 105, 110, 116, 52, 120, 52, 1, 0, 0, 0, 22, 85, 110, 105, 116, 121, 46, 77, 97, 116, 104, 101, 109, 97, 116, 105, 99, 115, 124, 109, 97, 116, 104 }; result.TotalFiles = 88; result.TotalTypes = 183; result.IsEditorOnly = false; return result; } } namespace Unity.IL2CPP.CompilerServices { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = false, AllowMultiple = false)] internal class Il2CppEagerStaticClassConstructionAttribute : Attribute { } } namespace Unity.Mathematics { [Serializable] [DebuggerTypeProxy(typeof(DebuggerProxy))] [Il2CppEagerStaticClassConstruction] public struct bool2 : IEquatable<bool2> { internal sealed class DebuggerProxy { public bool x; public bool y; public DebuggerProxy(bool2 v) { x = v.x; y = v.y; } } [MarshalAs(UnmanagedType.U1)] public bool x; [MarshalAs(UnmanagedType.U1)] public bool y; [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 xyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(x, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yxyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool4 yyyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool4(y, y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 xyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(x, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yxy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, x, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool3 yyy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool3(y, y, y); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, x); } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 xy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { x = value.x; y = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yx { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] set { y = value.x; x = value.y; } } [EditorBrowsable(EditorBrowsableState.Never)] public bool2 yy { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { return new bool2(y, y); } } public unsafe bool this[int index] { get { fixed (bool2* ptr = &this) { return ((byte*)ptr)[index] != 0; } } set { fixed (bool* ptr = &x) { ptr[index] = value; } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2(bool x, bool y) { this.x = x; this.y = y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2(bool2 xy) { x = xy.x; y = xy.y; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool2(bool v) { x = v; y = v; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static implicit operator bool2(bool v) { return new bool2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(bool2 lhs, bool2 rhs) { return new bool2(lhs.x == rhs.x, lhs.y == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(bool2 lhs, bool rhs) { return new bool2(lhs.x == rhs, lhs.y == rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ==(bool lhs, bool2 rhs) { return new bool2(lhs == rhs.x, lhs == rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(bool2 lhs, bool2 rhs) { return new bool2(lhs.x != rhs.x, lhs.y != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(bool2 lhs, bool rhs) { return new bool2(lhs.x != rhs, lhs.y != rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !=(bool lhs, bool2 rhs) { return new bool2(lhs != rhs.x, lhs != rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator !(bool2 val) { return new bool2(!val.x, !val.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator &(bool2 lhs, bool2 rhs) { return new bool2(lhs.x & rhs.x, lhs.y & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator &(bool2 lhs, bool rhs) { return new bool2(lhs.x && rhs, lhs.y && rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator &(bool lhs, bool2 rhs) { return new bool2(lhs & rhs.x, lhs & rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator |(bool2 lhs, bool2 rhs) { return new bool2(lhs.x | rhs.x, lhs.y | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator |(bool2 lhs, bool rhs) { return new bool2(lhs.x || rhs, lhs.y || rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator |(bool lhs, bool2 rhs) { return new bool2(lhs | rhs.x, lhs | rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ^(bool2 lhs, bool2 rhs) { return new bool2(lhs.x ^ rhs.x, lhs.y ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ^(bool2 lhs, bool rhs) { return new bool2(lhs.x ^ rhs, lhs.y ^ rhs); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 operator ^(bool lhs, bool2 rhs) { return new bool2(lhs ^ rhs.x, lhs ^ rhs.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool Equals(bool2 rhs) { if (x == rhs.x) { return y == rhs.y; } return false; } public override bool Equals(object o) { if (o is bool2 rhs) { return Equals(rhs); } return false; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override int GetHashCode() { return (int)math.hash(this); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override string ToString() { return $"bool2({x}, {y})"; } } [Il2CppEagerStaticClassConstruction] public static class math { public enum RotationOrder : byte { XYZ = 0, XZY = 1, YXZ = 2, YZX = 3, ZXY = 4, ZYX = 5, Default = 4 } public enum ShuffleComponent : byte { LeftX, LeftY, LeftZ, LeftW, RightX, RightY, RightZ, RightW } [StructLayout(LayoutKind.Explicit)] internal struct IntFloatUnion { [FieldOffset(0)] public int intValue; [FieldOffset(0)] public float floatValue; } [StructLayout(LayoutKind.Explicit)] internal struct LongDoubleUnion { [FieldOffset(0)] public long longValue; [FieldOffset(0)] public double doubleValue; } public const double E_DBL = Math.E; public const double LOG2E_DBL = 1.4426950408889634; public const double LOG10E_DBL = 0.4342944819032518; public const double LN2_DBL = 0.6931471805599453; public const double LN10_DBL = 2.302585092994046; public const double PI_DBL = Math.PI; public const double SQRT2_DBL = 1.4142135623730951; public const double EPSILON_DBL = 2.220446049250313E-16; public const double INFINITY_DBL = double.PositiveInfinity; public const double NAN_DBL = double.NaN; public const float FLT_MIN_NORMAL = 1.1754944E-38f; public const double DBL_MIN_NORMAL = 2.2250738585072014E-308; public const float E = MathF.E; public const float LOG2E = 1.442695f; public const float LOG10E = 0.4342945f; public const float LN2 = 0.6931472f; public const float LN10 = 2.3025851f; public const float PI = MathF.PI; public const float SQRT2 = 1.4142135f; public const float EPSILON = 1.1920929E-07f; public const float INFINITY = float.PositiveInfinity; public const float NAN = float.NaN; [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 bool2(bool x, bool y) { return new bool2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 bool2(bool2 xy) { return new bool2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 bool2(bool v) { return new bool2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2 v) { return csum(select(uint2(2426570171u, 1561977301u), uint2(4205774813u, 1650214333u), v)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2 v) { return select(uint2(3388112843u, 1831150513u), uint2(1848374953u, 3430200247u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool shuffle(bool2 left, bool2 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 shuffle(bool2 left, bool2 right, ShuffleComponent x, ShuffleComponent y) { return bool2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 shuffle(bool2 left, bool2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return bool3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 shuffle(bool2 left, bool2 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return bool4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool select_shuffle_component(bool2 a, bool2 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 bool2x2(bool2 c0, bool2 c1) { return new bool2x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 bool2x2(bool m00, bool m01, bool m10, bool m11) { return new bool2x2(m00, m01, m10, m11); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 bool2x2(bool v) { return new bool2x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x2 transpose(bool2x2 v) { return bool2x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2x2 v) { return csum(select(uint2(2062756937u, 2920485769u), uint2(1562056283u, 2265541847u), v.c0) + select(uint2(1283419601u, 1210229737u), uint2(2864955997u, 3525118277u), v.c1)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2x2 v) { return select(uint2(2298260269u, 1632478733u), uint2(1537393931u, 2353355467u), v.c0) + select(uint2(3441847433u, 4052036147u), uint2(2011389559u, 2252224297u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 bool2x3(bool2 c0, bool2 c1, bool2 c2) { return new bool2x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 bool2x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12) { return new bool2x3(m00, m01, m02, m10, m11, m12); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 bool2x3(bool v) { return new bool2x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 transpose(bool2x3 v) { return bool3x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2x3 v) { return csum(select(uint2(2078515003u, 4206465343u), uint2(3025146473u, 3763046909u), v.c0) + select(uint2(3678265601u, 2070747979u), uint2(1480171127u, 1588341193u), v.c1) + select(uint2(4234155257u, 1811310911u), uint2(2635799963u, 4165137857u), v.c2)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2x3 v) { return select(uint2(2759770933u, 2759319383u), uint2(3299952959u, 3121178323u), v.c0) + select(uint2(2948522579u, 1531026433u), uint2(1365086453u, 3969870067u), v.c1) + select(uint2(4192899797u, 3271228601u), uint2(1634639009u, 3318036811u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 bool2x4(bool2 c0, bool2 c1, bool2 c2, bool2 c3) { return new bool2x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 bool2x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13) { return new bool2x4(m00, m01, m02, m03, m10, m11, m12, m13); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 bool2x4(bool v) { return new bool2x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 transpose(bool2x4 v) { return bool4x2(v.c0.x, v.c0.y, v.c1.x, v.c1.y, v.c2.x, v.c2.y, v.c3.x, v.c3.y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool2x4 v) { return csum(select(uint2(1168253063u, 4228926523u), uint2(1610574617u, 1584185147u), v.c0) + select(uint2(3041325733u, 3150930919u), uint2(3309258581u, 1770373673u), v.c1) + select(uint2(3778261171u, 3286279097u), uint2(4264629071u, 1898591447u), v.c2) + select(uint2(2641864091u, 1229113913u), uint2(3020867117u, 1449055807u), v.c3)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(bool2x4 v) { return select(uint2(2479033387u, 3702457169u), uint2(1845824257u, 1963973621u), v.c0) + select(uint2(2134758553u, 1391111867u), uint2(1167706003u, 2209736489u), v.c1) + select(uint2(3261535807u, 1740411209u), uint2(2910609089u, 2183822701u), v.c2) + select(uint2(3029516053u, 3547472099u), uint2(2057487037u, 3781937309u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool x, bool y, bool z) { return new bool3(x, y, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool x, bool2 yz) { return new bool3(x, yz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool2 xy, bool z) { return new bool3(xy, z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool3 xyz) { return new bool3(xyz); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 bool3(bool v) { return new bool3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3 v) { return csum(select(uint3(2716413241u, 1166264321u, 2503385333u), uint3(2944493077u, 2599999021u, 3814721321u), v)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3 v) { return select(uint3(1595355149u, 1728931849u, 2062756937u), uint3(2920485769u, 1562056283u, 2265541847u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool shuffle(bool3 left, bool3 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y) { return bool2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return bool3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 shuffle(bool3 left, bool3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return bool4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool select_shuffle_component(bool3 a, bool3 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 bool3x2(bool3 c0, bool3 c1) { return new bool3x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 bool3x2(bool m00, bool m01, bool m10, bool m11, bool m20, bool m21) { return new bool3x2(m00, m01, m10, m11, m20, m21); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x2 bool3x2(bool v) { return new bool3x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x3 transpose(bool3x2 v) { return bool2x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3x2 v) { return csum(select(uint3(2627668003u, 1520214331u, 2949502447u), uint3(2827819133u, 3480140317u, 2642994593u), v.c0) + select(uint3(3940484981u, 1954192763u, 1091696537u), uint3(3052428017u, 4253034763u, 2338696631u), v.c1)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3x2 v) { return select(uint3(3757372771u, 1885959949u, 3508684087u), uint3(3919501043u, 1209161033u, 4007793211u), v.c0) + select(uint3(3819806693u, 3458005183u, 2078515003u), uint3(4206465343u, 3025146473u, 3763046909u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 bool3x3(bool3 c0, bool3 c1, bool3 c2) { return new bool3x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 bool3x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12, bool m20, bool m21, bool m22) { return new bool3x3(m00, m01, m02, m10, m11, m12, m20, m21, m22); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 bool3x3(bool v) { return new bool3x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x3 transpose(bool3x3 v) { return bool3x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3x3 v) { return csum(select(uint3(3881277847u, 4017968839u, 1727237899u), uint3(1648514723u, 1385344481u, 3538260197u), v.c0) + select(uint3(4066109527u, 2613148903u, 3367528529u), uint3(1678332449u, 2918459647u, 2744611081u), v.c1) + select(uint3(1952372791u, 2631698677u, 4200781601u), uint3(2119021007u, 1760485621u, 3157985881u), v.c2)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3x3 v) { return select(uint3(2171534173u, 2723054263u, 1168253063u), uint3(4228926523u, 1610574617u, 1584185147u), v.c0) + select(uint3(3041325733u, 3150930919u, 3309258581u), uint3(1770373673u, 3778261171u, 3286279097u), v.c1) + select(uint3(4264629071u, 1898591447u, 2641864091u), uint3(1229113913u, 3020867117u, 1449055807u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 bool3x4(bool3 c0, bool3 c1, bool3 c2, bool3 c3) { return new bool3x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 bool3x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13, bool m20, bool m21, bool m22, bool m23) { return new bool3x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 bool3x4(bool v) { return new bool3x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 transpose(bool3x4 v) { return bool4x3(v.c0.x, v.c0.y, v.c0.z, v.c1.x, v.c1.y, v.c1.z, v.c2.x, v.c2.y, v.c2.z, v.c3.x, v.c3.y, v.c3.z); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool3x4 v) { return csum(select(uint3(2209710647u, 2201894441u, 2849577407u), uint3(3287031191u, 3098675399u, 1564399943u), v.c0) + select(uint3(1148435377u, 3416333663u, 1750611407u), uint3(3285396193u, 3110507567u, 4271396531u), v.c1) + select(uint3(4198118021u, 2908068253u, 3705492289u), uint3(2497566569u, 2716413241u, 1166264321u), v.c2) + select(uint3(2503385333u, 2944493077u, 2599999021u), uint3(3814721321u, 1595355149u, 1728931849u), v.c3)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint3 hashwide(bool3x4 v) { return select(uint3(2062756937u, 2920485769u, 1562056283u), uint3(2265541847u, 1283419601u, 1210229737u), v.c0) + select(uint3(2864955997u, 3525118277u, 2298260269u), uint3(1632478733u, 1537393931u, 2353355467u), v.c1) + select(uint3(3441847433u, 4052036147u, 2011389559u), uint3(2252224297u, 3784421429u, 1750626223u), v.c2) + select(uint3(3571447507u, 3412283213u, 2601761069u), uint3(1254033427u, 2248573027u, 3612677113u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool y, bool z, bool w) { return new bool4(x, y, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool y, bool2 zw) { return new bool4(x, y, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool2 yz, bool w) { return new bool4(x, yz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool x, bool3 yzw) { return new bool4(x, yzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool2 xy, bool z, bool w) { return new bool4(xy, z, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool2 xy, bool2 zw) { return new bool4(xy, zw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool3 xyz, bool w) { return new bool4(xyz, w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool4 xyzw) { return new bool4(xyzw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 bool4(bool v) { return new bool4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4 v) { return csum(select(uint4(1610574617u, 1584185147u, 3041325733u, 3150930919u), uint4(3309258581u, 1770373673u, 3778261171u, 3286279097u), v)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4 v) { return select(uint4(4264629071u, 1898591447u, 2641864091u, 1229113913u), uint4(3020867117u, 1449055807u, 2479033387u, 3702457169u), v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool shuffle(bool4 left, bool4 right, ShuffleComponent x) { return select_shuffle_component(left, right, x); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2 shuffle(bool4 left, bool4 right, ShuffleComponent x, ShuffleComponent y) { return bool2(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3 shuffle(bool4 left, bool4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z) { return bool3(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4 shuffle(bool4 left, bool4 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w) { return bool4(select_shuffle_component(left, right, x), select_shuffle_component(left, right, y), select_shuffle_component(left, right, z), select_shuffle_component(left, right, w)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static bool select_shuffle_component(bool4 a, bool4 b, ShuffleComponent component) { return component switch { ShuffleComponent.LeftX => a.x, ShuffleComponent.LeftY => a.y, ShuffleComponent.LeftZ => a.z, ShuffleComponent.LeftW => a.w, ShuffleComponent.RightX => b.x, ShuffleComponent.RightY => b.y, ShuffleComponent.RightZ => b.z, ShuffleComponent.RightW => b.w, _ => throw new ArgumentException("Invalid shuffle component: " + component), }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 bool4x2(bool4 c0, bool4 c1) { return new bool4x2(c0, c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 bool4x2(bool m00, bool m01, bool m10, bool m11, bool m20, bool m21, bool m30, bool m31) { return new bool4x2(m00, m01, m10, m11, m20, m21, m30, m31); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x2 bool4x2(bool v) { return new bool4x2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool2x4 transpose(bool4x2 v) { return bool2x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4x2 v) { return csum(select(uint4(3516359879u, 3050356579u, 4178586719u, 2558655391u), uint4(1453413133u, 2152428077u, 1938706661u, 1338588197u), v.c0) + select(uint4(3439609253u, 3535343003u, 3546061613u, 2702024231u), uint4(1452124841u, 1966089551u, 2668168249u, 1587512777u), v.c1)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4x2 v) { return select(uint4(2353831999u, 3101256173u, 2891822459u, 2837054189u), uint4(3016004371u, 4097481403u, 2229788699u, 2382715877u), v.c0) + select(uint4(1851936439u, 1938025801u, 3712598587u, 3956330501u), uint4(2437373431u, 1441286183u, 2426570171u, 1561977301u), v.c1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 bool4x3(bool4 c0, bool4 c1, bool4 c2) { return new bool4x3(c0, c1, c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 bool4x3(bool m00, bool m01, bool m02, bool m10, bool m11, bool m12, bool m20, bool m21, bool m22, bool m30, bool m31, bool m32) { return new bool4x3(m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x3 bool4x3(bool v) { return new bool4x3(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool3x4 transpose(bool4x3 v) { return bool3x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4x3 v) { return csum(select(uint4(3940484981u, 1954192763u, 1091696537u, 3052428017u), uint4(4253034763u, 2338696631u, 3757372771u, 1885959949u), v.c0) + select(uint4(3508684087u, 3919501043u, 1209161033u, 4007793211u), uint4(3819806693u, 3458005183u, 2078515003u, 4206465343u), v.c1) + select(uint4(3025146473u, 3763046909u, 3678265601u, 2070747979u), uint4(1480171127u, 1588341193u, 4234155257u, 1811310911u), v.c2)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4x3 v) { return select(uint4(2635799963u, 4165137857u, 2759770933u, 2759319383u), uint4(3299952959u, 3121178323u, 2948522579u, 1531026433u), v.c0) + select(uint4(1365086453u, 3969870067u, 4192899797u, 3271228601u), uint4(1634639009u, 3318036811u, 3404170631u, 2048213449u), v.c1) + select(uint4(4164671783u, 1780759499u, 1352369353u, 2446407751u), uint4(1391928079u, 3475533443u, 3777095341u, 3385463369u), v.c2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 bool4x4(bool4 c0, bool4 c1, bool4 c2, bool4 c3) { return new bool4x4(c0, c1, c2, c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 bool4x4(bool m00, bool m01, bool m02, bool m03, bool m10, bool m11, bool m12, bool m13, bool m20, bool m21, bool m22, bool m23, bool m30, bool m31, bool m32, bool m33) { return new bool4x4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 bool4x4(bool v) { return new bool4x4(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool4x4 transpose(bool4x4 v) { return bool4x4(v.c0.x, v.c0.y, v.c0.z, v.c0.w, v.c1.x, v.c1.y, v.c1.z, v.c1.w, v.c2.x, v.c2.y, v.c2.z, v.c2.w, v.c3.x, v.c3.y, v.c3.z, v.c3.w); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(bool4x4 v) { return csum(select(uint4(3516359879u, 3050356579u, 4178586719u, 2558655391u), uint4(1453413133u, 2152428077u, 1938706661u, 1338588197u), v.c0) + select(uint4(3439609253u, 3535343003u, 3546061613u, 2702024231u), uint4(1452124841u, 1966089551u, 2668168249u, 1587512777u), v.c1) + select(uint4(2353831999u, 3101256173u, 2891822459u, 2837054189u), uint4(3016004371u, 4097481403u, 2229788699u, 2382715877u), v.c2) + select(uint4(1851936439u, 1938025801u, 3712598587u, 3956330501u), uint4(2437373431u, 1441286183u, 2426570171u, 1561977301u), v.c3)); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint4 hashwide(bool4x4 v) { return select(uint4(4205774813u, 1650214333u, 3388112843u, 1831150513u), uint4(1848374953u, 3430200247u, 2209710647u, 2201894441u), v.c0) + select(uint4(2849577407u, 3287031191u, 3098675399u, 1564399943u), uint4(1148435377u, 3416333663u, 1750611407u, 3285396193u), v.c1) + select(uint4(3110507567u, 4271396531u, 4198118021u, 2908068253u), uint4(3705492289u, 2497566569u, 2716413241u, 1166264321u), v.c2) + select(uint4(2503385333u, 2944493077u, 2599999021u, 3814721321u), uint4(1595355149u, 1728931849u, 2062756937u, 2920485769u), v.c3); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(double x, double y) { return new double2(x, y); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(double2 xy) { return new double2(xy); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(double v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(bool v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(bool2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(int v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(int2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(uint v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(uint2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(half v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(half2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(float v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static double2 double2(float2 v) { return new double2(v); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint hash(double2 v) { return csum(fold_to_uint(v) * uint2(2503385333u, 2944493077u)) + 2599999021u; } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static uint2 hashwide(double2 v) { return fold_to_uint(v) * uint2(3814721321u, 1595355149u) + 1728931849u; } [MethodImpl(MethodImplOptio
BepInEx/plugins/RepoXR/RuntimeDeps/Unity.XR.CoreUtils.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using Unity.Collections; using Unity.XR.CoreUtils.Bindings.Variables; using Unity.XR.CoreUtils.Collections; using UnityEngine; using UnityEngine.Events; using UnityEngine.InputSystem.XR; using UnityEngine.SceneManagement; using UnityEngine.Serialization; using UnityEngine.SpatialTracking; using UnityEngine.UI; using UnityEngine.XR; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyVersion("0.0.0.0")] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[7220] { 0, 0, 0, 1, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 84, 114, 97, 99, 107, 97, 98, 108, 101, 115, 80, 97, 114, 101, 110, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 104, 97, 110, 103, 101, 100, 69, 118, 101, 110, 116, 65, 114, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 69, 110, 117, 109, 68, 105, 115, 112, 108, 97, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 96, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 70, 108, 97, 103, 115, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 105, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 80, 97, 116, 104, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 66, 105, 110, 100, 105, 110, 103, 115, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 73, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 69, 110, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 103, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 65, 108, 108, 111, 99, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 102, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 80, 114, 101, 100, 105, 99, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 105, 110, 100, 105, 110, 103, 115, 92, 86, 97, 114, 105, 97, 98, 108, 101, 115, 92, 73, 82, 101, 97, 100, 79, 110, 108, 121, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 66, 111, 117, 110, 100, 115, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 99, 104, 101, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 98, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 67, 117, 115, 116, 111, 109, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 73, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 77, 111, 100, 105, 102, 105, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 92, 83, 116, 97, 110, 100, 97, 114, 100, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 80, 111, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 72, 97, 115, 104, 83, 101, 116, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 87, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 73, 110, 116, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 86, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 73, 110, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 89, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 68, 97, 116, 117, 109, 115, 92, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 110, 117, 109, 86, 97, 108, 117, 101, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 66, 111, 117, 110, 100, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 67, 97, 109, 101, 114, 97, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 71, 117, 105, 100, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 72, 97, 115, 104, 83, 101, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 76, 97, 121, 101, 114, 77, 97, 115, 107, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 76, 105, 115, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 80, 111, 115, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 83, 116, 111, 112, 119, 97, 116, 99, 104, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 83, 116, 114, 105, 110, 103, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 88, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 84, 121, 112, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 9, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 86, 101, 99, 116, 111, 114, 50, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 91, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 92, 86, 101, 99, 116, 111, 114, 51, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 76, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 101, 111, 109, 101, 116, 114, 121, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 71, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 71, 117, 105, 100, 85, 116, 105, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 72, 97, 115, 104, 67, 111, 100, 101, 85, 116, 105, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 76, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 77, 97, 116, 101, 114, 105, 97, 108, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 77, 97, 116, 104, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 78, 97, 116, 105, 118, 101, 65, 114, 114, 97, 121, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 98, 106, 101, 99, 116, 80, 111, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 110, 68, 101, 115, 116, 114, 111, 121, 78, 111, 116, 105, 102, 105, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 85, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 85, 116, 105, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 101, 120, 116, 117, 114, 101, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 72, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 85, 110, 100, 111, 66, 108, 111, 99, 107, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 85, 110, 105, 116, 121, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 103, 103, 105, 110, 103, 85, 116, 105, 108, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 71, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 99, 111, 114, 101, 45, 117, 116, 105, 108, 115, 64, 50, 46, 51, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 79, 114, 105, 103, 105, 110, 46, 99, 115 }; result.TypesData = new byte[3950] { 0, 0, 0, 0, 62, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 65, 82, 84, 114, 97, 99, 107, 97, 98, 108, 101, 115, 80, 97, 114, 101, 110, 116, 84, 114, 97, 110, 115, 102, 111, 114, 109, 67, 104, 97, 110, 103, 101, 100, 69, 118, 101, 110, 116, 65, 114, 103, 115, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 71, 85, 73, 124, 69, 110, 117, 109, 68, 105, 115, 112, 108, 97, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 71, 85, 73, 124, 70, 108, 97, 103, 115, 80, 114, 111, 112, 101, 114, 116, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 50, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 80, 97, 116, 104, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 66, 105, 110, 100, 105, 110, 103, 115, 71, 114, 111, 117, 112, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 124, 73, 69, 118, 101, 110, 116, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 50, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 69, 110, 117, 109, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 0, 0, 0, 0, 59, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 65, 108, 108, 111, 99, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 66, 97, 115, 101, 0, 0, 0, 0, 67, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 80, 114, 101, 100, 105, 99, 97, 116, 101, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 84, 97, 115, 107, 83, 116, 97, 116, 101, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 66, 105, 110, 100, 105, 110, 103, 115, 46, 86, 97, 114, 105, 97, 98, 108, 101, 115, 124, 73, 82, 101, 97, 100, 79, 110, 108, 121, 66, 105, 110, 100, 97, 98, 108, 101, 86, 97, 114, 105, 97, 98, 108, 101, 0, 0, 0, 0, 30, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 117, 110, 100, 115, 85, 116, 105, 108, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 73, 67, 111, 109, 112, 111, 110, 101, 110, 116, 72, 111, 115, 116, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 97, 99, 104, 101, 100, 67, 111, 109, 112, 111, 110, 101, 110, 116, 70, 105, 108, 116, 101, 114, 0, 0, 0, 0, 49, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 52, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 0, 0, 0, 0, 60, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 67, 117, 115, 116, 111, 109, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 51, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 73, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 77, 111, 100, 105, 102, 105, 101, 114, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 124, 83, 116, 97, 110, 100, 97, 114, 100, 67, 97, 112, 97, 98, 105, 108, 105, 116, 121, 75, 101, 121, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 80, 111, 111, 108, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 72, 97, 115, 104, 83, 101, 116, 76, 105, 115, 116, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 82, 101, 97, 100, 79, 110, 108, 121, 76, 105, 115, 116, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 46, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 124, 73, 116, 101, 109, 1, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 1, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 109, 112, 111, 110, 101, 110, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 65, 110, 105, 109, 97, 116, 105, 111, 110, 67, 117, 114, 118, 101, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 68, 97, 116, 117, 109, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 70, 108, 111, 97, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 73, 110, 116, 68, 97, 116, 117, 109, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 73, 110, 116, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 46, 68, 97, 116, 117, 109, 115, 124, 83, 116, 114, 105, 110, 103, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 0, 0, 0, 0, 29, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 69, 110, 117, 109, 86, 97, 108, 117, 101, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 117, 110, 100, 115, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 97, 109, 101, 114, 97, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 68, 105, 99, 116, 105, 111, 110, 97, 114, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 117, 105, 100, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 72, 97, 115, 104, 83, 101, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 76, 97, 121, 101, 114, 77, 97, 115, 107, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 76, 105, 115, 116, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 80, 111, 115, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 111, 112, 119, 97, 116, 99, 104, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 114, 105, 110, 103, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 114, 97, 110, 115, 102, 111, 114, 109, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 121, 112, 101, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 66, 111, 111, 108, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 70, 108, 111, 97, 116, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 50, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 51, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 52, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 73, 110, 116, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 67, 111, 108, 111, 114, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 116, 114, 105, 110, 103, 85, 110, 105, 116, 121, 69, 118, 101, 110, 116, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 50, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 86, 101, 99, 116, 111, 114, 51, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 97, 109, 101, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 101, 111, 109, 101, 116, 114, 121, 85, 116, 105, 108, 115, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 71, 117, 105, 100, 85, 116, 105, 108, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 72, 97, 115, 104, 67, 111, 100, 101, 85, 116, 105, 108, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 97, 116, 101, 114, 105, 97, 108, 85, 116, 105, 108, 115, 0, 0, 0, 0, 30, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 77, 97, 116, 104, 85, 116, 105, 108, 105, 116, 121, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 78, 97, 116, 105, 118, 101, 65, 114, 114, 97, 121, 85, 116, 105, 108, 115, 0, 0, 0, 0, 29, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 79, 98, 106, 101, 99, 116, 80, 111, 111, 108, 0, 0, 0, 0, 36, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 79, 110, 68, 101, 115, 116, 114, 111, 121, 78, 111, 116, 105, 102, 105, 101, 114, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 82, 101, 102, 108, 101, 99, 116, 105, 111, 110, 85, 116, 105, 108, 115, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 1, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 1, 0, 0, 0, 41, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 99, 114, 105, 112, 116, 97, 98, 108, 101, 83, 101, 116, 116, 105, 110, 103, 115, 66, 97, 115, 101, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 71, 117, 105, 100, 85, 116, 105, 108, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 84, 101, 120, 116, 117, 114, 101, 85, 116, 105, 108, 115, 0, 0, 0, 0, 28, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 85, 110, 100, 111, 66, 108, 111, 99, 107, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 85, 110, 105, 116, 121, 79, 98, 106, 101, 99, 116, 85, 116, 105, 108, 115, 0, 0, 0, 0, 33, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 88, 82, 76, 111, 103, 103, 105, 110, 103, 85, 116, 105, 108, 115, 0, 0, 0, 0, 27, 85, 110, 105, 116, 121, 46, 88, 82, 46, 67, 111, 114, 101, 85, 116, 105, 108, 115, 124, 88, 82, 79, 114, 105, 103, 105, 110 }; result.TotalFiles = 75; result.TotalTypes = 88; result.IsEditorOnly = false; return result; } } namespace Unity.XR.CoreUtils { public readonly struct ARTrackablesParentTransformChangedEventArgs : IEquatable<ARTrackablesParentTransformChangedEventArgs> { public XROrigin Origin { get; } public Transform TrackablesParent { get; } public ARTrackablesParentTransformChangedEventArgs(XROrigin origin, Transform trackablesParent) { if ((Object)(object)origin == (Object)null) { throw new ArgumentNullException("origin"); } if ((Object)(object)trackablesParent == (Object)null) { throw new ArgumentNullException("trackablesParent"); } Origin = origin; TrackablesParent = trackablesParent; } public bool Equals(ARTrackablesParentTransformChangedEventArgs other) { if ((Object)(object)Origin == (Object)(object)other.Origin) { return (Object)(object)TrackablesParent == (Object)(object)other.TrackablesParent; } return false; } public override bool Equals(object obj) { if (obj is ARTrackablesParentTransformChangedEventArgs other) { return Equals(other); } return false; } public override int GetHashCode() { return HashCodeUtil.Combine(HashCodeUtil.ReferenceHash(Origin), HashCodeUtil.ReferenceHash(TrackablesParent)); } public static bool operator ==(ARTrackablesParentTransformChangedEventArgs lhs, ARTrackablesParentTransformChangedEventArgs rhs) { return lhs.Equals(rhs); } public static bool operator !=(ARTrackablesParentTransformChangedEventArgs lhs, ARTrackablesParentTransformChangedEventArgs rhs) { return !lhs.Equals(rhs); } } public class ReadOnlyAttribute : PropertyAttribute { } [AttributeUsage(AttributeTargets.Class)] public class ScriptableSettingsPathAttribute : Attribute { private readonly string m_Path; public string Path => m_Path; public ScriptableSettingsPathAttribute(string path = "") { m_Path = path; } } public static class BoundsUtils { private static readonly List<Renderer> k_Renderers = new List<Renderer>(); private static readonly List<Transform> k_Transforms = new List<Transform>(); public static Bounds GetBounds(List<GameObject> gameObjects) { //IL_001d: 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_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: 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_0065: Unknown result type (might be due to invalid IL or missing references) Bounds? val = null; foreach (GameObject gameObject in gameObjects) { Bounds bounds = GetBounds(gameObject.transform); if (!val.HasValue) { val = bounds; continue; } ((Bounds)(ref bounds)).Encapsulate(val.Value); val = bounds; } return val.GetValueOrDefault(); } public static Bounds GetBounds(Transform[] transforms) { //IL_0011: 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_004c: 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_003a: 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) Bounds? val = null; for (int i = 0; i < transforms.Length; i++) { Bounds bounds = GetBounds(transforms[i]); if (!val.HasValue) { val = bounds; continue; } ((Bounds)(ref bounds)).Encapsulate(val.Value); val = bounds; } return val.GetValueOrDefault(); } public static Bounds GetBounds(Transform transform) { //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_0018: 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_0093: 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_0070: Unknown result type (might be due to invalid IL or missing references) ((Component)transform).GetComponentsInChildren<Renderer>(k_Renderers); Bounds bounds = GetBounds(k_Renderers); if (((Bounds)(ref bounds)).size == Vector3.zero) { ((Component)transform).GetComponentsInChildren<Transform>(k_Transforms); if (k_Transforms.Count > 0) { ((Bounds)(ref bounds)).center = k_Transforms[0].position; } foreach (Transform k_Transform in k_Transforms) { ((Bounds)(ref bounds)).Encapsulate(k_Transform.position); } } return bounds; } public static Bounds GetBounds(List<Renderer> renderers) { //IL_007e: 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_0019: 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_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_0043: 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_0057: 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) Bounds result2; if (renderers.Count > 0) { Renderer val = renderers[0]; Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(((Component)val).transform.position, Vector3.zero); { foreach (Renderer renderer in renderers) { result2 = renderer.bounds; if (((Bounds)(ref result2)).size != Vector3.zero) { ((Bounds)(ref result)).Encapsulate(renderer.bounds); } } return result; } } result2 = default(Bounds); return result2; } public static Bounds GetBounds<T>(List<T> colliders) where T : Collider { //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0096: 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_0026: 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_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0050: 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_0069: 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) Bounds result2; if (colliders.Count > 0) { T val = colliders[0]; Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(((Component)(object)val).transform.position, Vector3.zero); { foreach (T collider in colliders) { result2 = ((Collider)collider).bounds; if (((Bounds)(ref result2)).size != Vector3.zero) { ((Bounds)(ref result)).Encapsulate(((Collider)collider).bounds); } } return result; } } result2 = default(Bounds); return result2; } public static Bounds GetBounds(List<Vector3> points) { //IL_0002: 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_001b: 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_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0026: 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_002d: 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_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: 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_0051: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006e: 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_0084: 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_0078: 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_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: 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) Bounds result = default(Bounds); if (points.Count < 1) { return result; } Vector3 val = points[0]; Vector3 val2 = val; for (int i = 1; i < points.Count; i++) { Vector3 val3 = points[i]; if (val3.x < val.x) { val.x = val3.x; } if (val3.y < val.y) { val.y = val3.y; } if (val3.z < val.z) { val.z = val3.z; } if (val3.x > val2.x) { val2.x = val3.x; } if (val3.y > val2.y) { val2.y = val3.y; } if (val3.z > val2.z) { val2.z = val3.z; } } ((Bounds)(ref result)).SetMinMax(val, val2); return result; } } public interface IComponentHost<THostType> where THostType : class { THostType[] HostedComponents { get; } } [Flags] public enum CachedSearchType { Children = 1, Self = 2, Parents = 4 } public class CachedComponentFilter<TFilterType, TRootType> : IDisposable where TFilterType : class where TRootType : Component { private readonly List<TFilterType> m_MasterComponentStorage; private static readonly List<TFilterType> k_TempComponentList = new List<TFilterType>(); private static readonly List<IComponentHost<TFilterType>> k_TempHostComponentList = new List<IComponentHost<TFilterType>>(); private bool m_DisposedValue; public CachedComponentFilter(TRootType componentRoot, CachedSearchType cachedSearchType = CachedSearchType.Children | CachedSearchType.Self, bool includeDisabled = true) { //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) m_MasterComponentStorage = CollectionPool<List<TFilterType>, TFilterType>.GetCollection(); k_TempComponentList.Clear(); k_TempHostComponentList.Clear(); if ((cachedSearchType & CachedSearchType.Self) == CachedSearchType.Self) { ((Component)componentRoot).GetComponents<TFilterType>(k_TempComponentList); ((Component)componentRoot).GetComponents<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled); } if ((cachedSearchType & CachedSearchType.Parents) == CachedSearchType.Parents) { Transform parent = ((Component)componentRoot).transform.parent; while ((Object)(object)parent != (Object)null && !((Object)(object)((Component)parent).GetComponent<TRootType>() != (Object)null)) { ((Component)parent).GetComponents<TFilterType>(k_TempComponentList); ((Component)parent).GetComponents<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled); parent = ((Component)parent).transform.parent; } } if ((cachedSearchType & CachedSearchType.Children) != CachedSearchType.Children) { return; } foreach (Transform item in ((Component)componentRoot).transform) { ((Component)item).GetComponentsInChildren<TFilterType>(k_TempComponentList); ((Component)item).GetComponentsInChildren<IComponentHost<TFilterType>>(k_TempHostComponentList); FilteredCopyToMaster(includeDisabled, componentRoot); } } public CachedComponentFilter(TFilterType[] componentList, bool includeDisabled = true) { if (componentList != null) { m_MasterComponentStorage = CollectionPool<List<TFilterType>, TFilterType>.GetCollection(); k_TempComponentList.Clear(); k_TempComponentList.AddRange(componentList); FilteredCopyToMaster(includeDisabled); } } public void StoreMatchingComponents<TChildType>(List<TChildType> outputList) where TChildType : class, TFilterType { foreach (TFilterType item2 in m_MasterComponentStorage) { if (item2 is TChildType item) { outputList.Add(item); } } } public TChildType[] GetMatchingComponents<TChildType>() where TChildType : class, TFilterType { int num = 0; foreach (TFilterType item in m_MasterComponentStorage) { if (item is TChildType) { num++; } } TChildType[] array = new TChildType[num]; num = 0; foreach (TFilterType item2 in m_MasterComponentStorage) { if (item2 is TChildType val) { array[num] = val; num++; } } return array; } private void FilteredCopyToMaster(bool includeDisabled) { if (includeDisabled) { m_MasterComponentStorage.AddRange(k_TempComponentList); { foreach (IComponentHost<TFilterType> k_TempHostComponent in k_TempHostComponentList) { m_MasterComponentStorage.AddRange(k_TempHostComponent.HostedComponents); } return; } } foreach (TFilterType k_TempComponent in k_TempComponentList) { Behaviour val = (Behaviour)(object)((k_TempComponent is Behaviour) ? k_TempComponent : null); if (!((Object)(object)val != (Object)null) || val.enabled) { m_MasterComponentStorage.Add(k_TempComponent); } } foreach (IComponentHost<TFilterType> k_TempHostComponent2 in k_TempHostComponentList) { Behaviour val2 = (Behaviour)((k_TempHostComponent2 is Behaviour) ? k_TempHostComponent2 : null); if (!((Object)(object)val2 != (Object)null) || val2.enabled) { m_MasterComponentStorage.AddRange(k_TempHostComponent2.HostedComponents); } } } private void FilteredCopyToMaster(bool includeDisabled, TRootType requiredRoot) { if (includeDisabled) { foreach (TFilterType k_TempComponent in k_TempComponentList) { Component val = (Component)(object)((k_TempComponent is Component) ? k_TempComponent : null); if (!((Object)(object)val.transform == (Object)(object)requiredRoot) && !((Object)(object)val.GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.Add(k_TempComponent); } } { foreach (IComponentHost<TFilterType> k_TempHostComponent in k_TempHostComponentList) { Component val2 = (Component)((k_TempHostComponent is Component) ? k_TempHostComponent : null); if (!((Object)(object)val2.transform == (Object)(object)requiredRoot) && !((Object)(object)val2.GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.AddRange(k_TempHostComponent.HostedComponents); } } return; } } foreach (TFilterType k_TempComponent2 in k_TempComponentList) { Behaviour val3 = (Behaviour)(object)((k_TempComponent2 is Behaviour) ? k_TempComponent2 : null); if (val3.enabled && !((Object)(object)((Component)val3).transform == (Object)(object)requiredRoot) && !((Object)(object)((Component)val3).GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.Add(k_TempComponent2); } } foreach (IComponentHost<TFilterType> k_TempHostComponent2 in k_TempHostComponentList) { Behaviour val4 = (Behaviour)((k_TempHostComponent2 is Behaviour) ? k_TempHostComponent2 : null); if (val4.enabled && !((Object)(object)((Component)val4).transform == (Object)(object)requiredRoot) && !((Object)(object)((Component)val4).GetComponentInParent<TRootType>() != (Object)(object)requiredRoot)) { m_MasterComponentStorage.AddRange(k_TempHostComponent2.HostedComponents); } } } protected virtual void Dispose(bool disposing) { if (!m_DisposedValue) { if (disposing && m_MasterComponentStorage != null) { CollectionPool<List<TFilterType>, TFilterType>.RecycleCollection(m_MasterComponentStorage); } m_DisposedValue = true; } } public void Dispose() { Dispose(disposing: true); } } public static class CollectionPool<TCollection, TValue> where TCollection : ICollection<TValue>, new() { private static readonly Queue<TCollection> k_CollectionQueue = new Queue<TCollection>(); public static TCollection GetCollection() { if (k_CollectionQueue.Count <= 0) { return new TCollection(); } return k_CollectionQueue.Dequeue(); } public static void RecycleCollection(TCollection collection) { collection.Clear(); k_CollectionQueue.Enqueue(collection); } } public static class ComponentUtils<T> { private static readonly List<T> k_RetrievalList = new List<T>(); public static T GetComponent(GameObject gameObject) { T result = default(T); gameObject.GetComponents<T>(k_RetrievalList); if (k_RetrievalList.Count > 0) { return k_RetrievalList[0]; } return result; } public static T GetComponentInChildren(GameObject gameObject) { T result = default(T); gameObject.GetComponentsInChildren<T>(k_RetrievalList); if (k_RetrievalList.Count > 0) { return k_RetrievalList[0]; } return result; } } public static class ComponentUtils { public static T GetOrAddIf<T>(GameObject gameObject, bool add) where T : Component { T val = gameObject.GetComponent<T>(); if (add && (Object)(object)val == (Object)null) { val = gameObject.AddComponent<T>(); } return val; } } public static class EnumValues<T> { public static readonly T[] Values = (T[])Enum.GetValues(typeof(T)); } public static class BoundsExtensions { public static bool ContainsCompletely(this Bounds outerBounds, Bounds innerBounds) { //IL_0002: 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_000a: 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_0012: 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_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_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: 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_0034: 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_0042: 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_0050: 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_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) Vector3 max = ((Bounds)(ref outerBounds)).max; Vector3 min = ((Bounds)(ref outerBounds)).min; Vector3 max2 = ((Bounds)(ref innerBounds)).max; Vector3 min2 = ((Bounds)(ref innerBounds)).min; if (max.x >= max2.x && max.y >= max2.y && max.z >= max2.z && min.x <= min2.x && min.y <= min2.y) { return min.z <= min2.z; } return false; } } public static class CameraExtensions { private const float k_OneOverSqrt2 = 0.70710677f; public static float GetVerticalFieldOfView(this Camera camera, float aspectNeutralFieldOfView) { return Mathf.Atan(Mathf.Tan(aspectNeutralFieldOfView * 0.5f * (MathF.PI / 180f)) * 0.70710677f / Mathf.Sqrt(camera.aspect)) * 2f * 57.29578f; } public static float GetHorizontalFieldOfView(this Camera camera) { float num = camera.fieldOfView * 0.5f; return 57.29578f * Mathf.Atan(Mathf.Tan(num * (MathF.PI / 180f)) * camera.aspect); } public static float GetVerticalOrthographicSize(this Camera camera, float size) { return size * 0.70710677f / Mathf.Sqrt(camera.aspect); } } public static class CollectionExtensions { private static readonly StringBuilder k_String = new StringBuilder(); public static string Stringify<T>(this ICollection<T> collection) { k_String.Length = 0; int num = collection.Count - 1; int num2 = 0; foreach (T item in collection) { k_String.AppendFormat((num2++ == num) ? "{0}" : "{0}, ", item); } return k_String.ToString(); } } public static class DictionaryExtensions { public static KeyValuePair<TKey, TValue> First<TKey, TValue>(this Dictionary<TKey, TValue> dictionary) { KeyValuePair<TKey, TValue> result = default(KeyValuePair<TKey, TValue>); Dictionary<TKey, TValue>.Enumerator enumerator = dictionary.GetEnumerator(); if (enumerator.MoveNext()) { result = enumerator.Current; } enumerator.Dispose(); return result; } } public static class GameObjectExtensions { public static void SetHideFlagsRecursively(this GameObject gameObject, HideFlags hideFlags) { //IL_0001: 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_0025: Unknown result type (might be due to invalid IL or missing references) ((Object)gameObject).hideFlags = hideFlags; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetHideFlagsRecursively(hideFlags); } } public static void AddToHideFlagsRecursively(this GameObject gameObject, HideFlags hideFlags) { //IL_0002: 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_0008: 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_002c: Unknown result type (might be due to invalid IL or missing references) ((Object)gameObject).hideFlags = (HideFlags)(((Object)gameObject).hideFlags | hideFlags); foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.AddToHideFlagsRecursively(hideFlags); } } public static void SetLayerRecursively(this GameObject gameObject, int layer) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerRecursively(layer); } } public static void SetLayerAndAddToHideFlagsRecursively(this GameObject gameObject, int layer, HideFlags hideFlags) { //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_000f: 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_0034: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; ((Object)gameObject).hideFlags = (HideFlags)(((Object)gameObject).hideFlags | hideFlags); foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerAndAddToHideFlagsRecursively(layer, hideFlags); } } public static void SetLayerAndHideFlagsRecursively(this GameObject gameObject, int layer, HideFlags hideFlags) { //IL_0008: 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_002d: Unknown result type (might be due to invalid IL or missing references) gameObject.layer = layer; ((Object)gameObject).hideFlags = hideFlags; foreach (Transform item in gameObject.transform) { ((Component)item).gameObject.SetLayerAndHideFlagsRecursively(layer, hideFlags); } } public static void SetRunInEditModeRecursively(this GameObject gameObject, bool enabled) { } } public static class GuidExtensions { public static void Decompose(this Guid guid, out ulong low, out ulong high) { byte[] value = guid.ToByteArray(); low = BitConverter.ToUInt64(value, 0); high = BitConverter.ToUInt64(value, 8); } } public static class HashSetExtensions { public static void ExceptWithNonAlloc<T>(this HashSet<T> self, HashSet<T> other) { foreach (T item in other) { self.Remove(item); } } public static T First<T>(this HashSet<T> set) { HashSet<T>.Enumerator enumerator = set.GetEnumerator(); T result = (enumerator.MoveNext() ? enumerator.Current : default(T)); enumerator.Dispose(); return result; } } public static class LayerMaskExtensions { public static int GetFirstLayerIndex(this LayerMask layerMask) { if (((LayerMask)(ref layerMask)).value == 0) { return -1; } int num = 0; int num2 = ((LayerMask)(ref layerMask)).value; while ((num2 & 1) == 0) { num2 >>= 1; num++; } return num; } public static bool Contains(this LayerMask mask, int layer) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) return ((uint)LayerMask.op_Implicit(mask) & (1 << layer)) > 0; } } public static class ListExtensions { public static List<T> Fill<T>(this List<T> list, int count) where T : new() { for (int i = 0; i < count; i++) { list.Add(new T()); } return list; } public static void EnsureCapacity<T>(this List<T> list, int capacity) { if (list.Capacity < capacity) { list.Capacity = capacity; } } public static void SwapAtIndices<T>(this List<T> list, int first, int second) { T val = list[second]; T val2 = list[first]; T val4 = (list[first] = val); val4 = (list[second] = val2); } } public static class MonoBehaviourExtensions { } public static class PoseExtensions { public static Pose ApplyOffsetTo(this Pose pose, Pose otherPose) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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_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_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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) //IL_001e: 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_0020: 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) //IL_002a: Unknown result type (might be due to invalid IL or missing references) Quaternion rotation = pose.rotation; return new Pose(rotation * otherPose.position + pose.position, rotation * otherPose.rotation); } public static Vector3 ApplyOffsetTo(this Pose pose, Vector3 position) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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_000c: 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_0012: Unknown result type (might be due to invalid IL or missing references) return pose.rotation * position + pose.position; } public static Vector3 ApplyInverseOffsetTo(this Pose pose, Vector3 position) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //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_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) return Quaternion.Inverse(pose.rotation) * (position - pose.position); } } public static class QuaternionExtensions { public static Quaternion ConstrainYaw(this Quaternion rotation) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) rotation.x = 0f; rotation.z = 0f; return rotation; } public static Quaternion ConstrainYawNormalized(this Quaternion rotation) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) rotation.x = 0f; rotation.z = 0f; ((Quaternion)(ref rotation)).Normalize(); return rotation; } public static Quaternion ConstrainYawPitchNormalized(this Quaternion rotation) { //IL_0002: 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_0014: 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) Vector3 eulerAngles = ((Quaternion)(ref rotation)).eulerAngles; eulerAngles.z = 0f; return Quaternion.Euler(eulerAngles); } } public static class StopwatchExtensions { public static void Restart(this Stopwatch stopwatch) { stopwatch.Stop(); stopwatch.Reset(); stopwatch.Start(); } } public static class StringExtensions { private static readonly StringBuilder k_StringBuilder = new StringBuilder(); public static string FirstToUpper(this string str) { if (string.IsNullOrEmpty(str)) { return string.Empty; } if (str.Length == 1) { return char.ToUpper(str[0]).ToString(); } return $"{char.ToUpper(str[0])}{str.Substring(1)}"; } public static string InsertSpacesBetweenWords(this string str) { if (string.IsNullOrEmpty(str)) { return string.Empty; } k_StringBuilder.Length = 0; k_StringBuilder.Append(str[0]); int length = str.Length; for (int i = 0; i < length - 1; i++) { char c = str[i]; char c2 = str[i + 1]; bool flag = char.IsLower(c); bool flag2 = char.IsLower(c2); bool flag3 = flag && !flag2; if (i + 2 < length) { bool flag4 = char.IsLower(str[i + 2]); flag3 = flag3 || (!flag && !flag2 && flag4); } if (flag3) { k_StringBuilder.Append(' '); } k_StringBuilder.Append(c2); } return k_StringBuilder.ToString(); } } public static class TransformExtensions { public static Pose GetLocalPose(this Transform transform) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //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) Vector3 val = default(Vector3); Quaternion val2 = default(Quaternion); transform.GetLocalPositionAndRotation(ref val, ref val2); return new Pose(val, val2); } public static Pose GetWorldPose(this Transform transform) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //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) Vector3 val = default(Vector3); Quaternion val2 = default(Quaternion); transform.GetPositionAndRotation(ref val, ref val2); return new Pose(val, val2); } public static void SetLocalPose(this Transform transform, Pose pose) { //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_0007: 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) transform.SetLocalPositionAndRotation(pose.position, pose.rotation); } public static void SetWorldPose(this Transform transform, Pose pose) { //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_0007: 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) transform.SetPositionAndRotation(pose.position, pose.rotation); } public static Pose TransformPose(this Transform transform, Pose pose) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) return ((Pose)(ref pose)).GetTransformedBy(transform); } public static Pose InverseTransformPose(this Transform transform, Pose pose) { //IL_0016: 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_0020: 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) //IL_002a: 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_0037: 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_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: 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_004c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)transform == (Object)null) { throw new ArgumentNullException("transform"); } Pose result = default(Pose); result.position = transform.InverseTransformPoint(pose.position); result.rotation = Quaternion.Inverse(transform.rotation) * pose.rotation; return result; } public static Ray InverseTransformRay(this Transform transform, Ray ray) { //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_0024: 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_002e: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)transform == (Object)null) { throw new ArgumentNullException("transform"); } return new Ray(transform.InverseTransformPoint(((Ray)(ref ray)).origin), transform.InverseTransformDirection(((Ray)(ref ray)).direction)); } } public static class TypeExtensions { private static readonly List<FieldInfo> k_Fields = new List<FieldInfo>(); private static readonly List<string> k_TypeNames = new List<string>(); public static void GetAssignableTypes(this Type type, List<Type> list, Func<Type, bool> predicate = null) { ReflectionUtils.ForEachType(delegate(Type t) { if (type.IsAssignableFrom(t) && !t.IsInterface && !t.IsAbstract && (predicate == null || predicate(t))) { list.Add(t); } }); } public static void GetImplementationsOfInterface(this Type type, List<Type> list) { if (type.IsInterface) { type.GetAssignableTypes(list); } } public static void GetExtensionsOfClass(this Type type, List<Type> list) { if (type.IsClass) { type.GetAssignableTypes(list); } } public static void GetGenericInterfaces(this Type type, Type genericInterface, List<Type> interfaces) { Type[] interfaces2 = type.GetInterfaces(); foreach (Type type2 in interfaces2) { if (type2.IsGenericType && type2.GetGenericTypeDefinition() == genericInterface) { interfaces.Add(type2); } } } public static PropertyInfo GetPropertyRecursively(this Type type, string name, BindingFlags bindingAttr) { PropertyInfo propertyInfo = type.GetProperty(name, bindingAttr); if (propertyInfo != null) { return propertyInfo; } if (type.BaseType != null) { propertyInfo = type.BaseType.GetPropertyRecursively(name, bindingAttr); } return propertyInfo; } public static FieldInfo GetFieldRecursively(this Type type, string name, BindingFlags bindingAttr) { FieldInfo fieldInfo = type.GetField(name, bindingAttr); if (fieldInfo != null) { return fieldInfo; } if (type.BaseType != null) { fieldInfo = type.BaseType.GetFieldRecursively(name, bindingAttr); } return fieldInfo; } public static void GetFieldsRecursively(this Type type, List<FieldInfo> fields, BindingFlags bindingAttr = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) { while (true) { FieldInfo[] fields2 = type.GetFields(bindingAttr); foreach (FieldInfo item in fields2) { fields.Add(item); } Type baseType = type.BaseType; if (baseType != null) { type = baseType; continue; } break; } } public static void GetPropertiesRecursively(this Type type, List<PropertyInfo> fields, BindingFlags bindingAttr = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) { while (true) { PropertyInfo[] properties = type.GetProperties(bindingAttr); foreach (PropertyInfo item in properties) { fields.Add(item); } Type baseType = type.BaseType; if (baseType != null) { type = baseType; continue; } break; } } public static void GetInterfaceFieldsFromClasses(this IEnumerable<Type> classes, List<FieldInfo> fields, List<Type> interfaceTypes, BindingFlags bindingAttr) { foreach (Type interfaceType in interfaceTypes) { if (!interfaceType.IsInterface) { throw new ArgumentException($"Type {interfaceType} in interfaceTypes is not an interface!"); } } foreach (Type @class in classes) { if (!@class.IsClass) { throw new ArgumentException($"Type {@class} in classes is not a class!"); } k_Fields.Clear(); @class.GetFieldsRecursively(k_Fields, bindingAttr); foreach (FieldInfo k_Field in k_Fields) { Type[] interfaces = k_Field.FieldType.GetInterfaces(); foreach (Type item in interfaces) { if (interfaceTypes.Contains(item)) { fields.Add(k_Field); break; } } } } } public static TAttribute GetAttribute<TAttribute>(this Type type, bool inherit = false) where TAttribute : Attribute { return (TAttribute)type.GetCustomAttributes(typeof(TAttribute), inherit)[0]; } public static void IsDefinedGetInheritedTypes<TAttribute>(this Type type, List<Type> types) where TAttribute : Attribute { while (type != null) { if (type.IsDefined(typeof(TAttribute), inherit: true)) { types.Add(type); } type = type.BaseType; } } public static FieldInfo GetFieldInTypeOrBaseType(this Type type, string fieldName) { FieldInfo field; while (true) { if (type == null) { return null; } field = type.GetField(fieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy); if (field != null) { break; } type = type.BaseType; } return field; } public static string GetNameWithGenericArguments(this Type type) { string name = type.Name; name = name.Replace('+', '.'); if (!type.IsGenericType) { return name; } name = name.Split('`')[0]; Type[] genericArguments = type.GetGenericArguments(); int num = genericArguments.Length; string[] array = new string[num]; for (int i = 0; i < num; i++) { array[i] = genericArguments[i].GetNameWithGenericArguments(); } return name + "<" + string.Join(", ", array) + ">"; } public static string GetNameWithFullGenericArguments(this Type type) { string name = type.Name; name = name.Replace('+', '.'); if (!type.IsGenericType) { return name; } name = name.Split('`')[0]; Type[] genericArguments = type.GetGenericArguments(); int num = genericArguments.Length; string[] array = new string[num]; for (int i = 0; i < num; i++) { array[i] = genericArguments[i].GetFullNameWithGenericArgumentsInternal(); } return name + "<" + string.Join(", ", array) + ">"; } public static string GetFullNameWithGenericArguments(this Type type) { Type type2 = type.DeclaringType; if (type2 != null && !type.IsGenericParameter) { k_TypeNames.Clear(); string nameWithFullGenericArguments = type.GetNameWithFullGenericArguments(); k_TypeNames.Add(nameWithFullGenericArguments); while (true) { Type declaringType = type2.DeclaringType; if (declaringType == null) { break; } nameWithFullGenericArguments = type2.GetNameWithFullGenericArguments(); k_TypeNames.Insert(0, nameWithFullGenericArguments); type2 = declaringType; } nameWithFullGenericArguments = type2.GetFullNameWithGenericArguments(); k_TypeNames.Insert(0, nameWithFullGenericArguments); return string.Join(".", k_TypeNames.ToArray()); } return type.GetFullNameWithGenericArgumentsInternal(); } private static string GetFullNameWithGenericArgumentsInternal(this Type type) { string fullName = type.FullName; if (!type.IsGenericType) { return fullName; } fullName = fullName.Split('`')[0]; Type[] genericArguments = type.GetGenericArguments(); int num = genericArguments.Length; string[] array = new string[num]; for (int i = 0; i < num; i++) { array[i] = genericArguments[i].GetFullNameWithGenericArguments(); } return fullName + "<" + string.Join(", ", array) + ">"; } public static bool IsAssignableFromOrSubclassOf(this Type checkType, Type baseType) { if (!checkType.IsAssignableFrom(baseType)) { return checkType.IsSubclassOf(baseType); } return true; } public static MethodInfo GetMethodRecursively(this Type type, string name, BindingFlags bindingAttr) { MethodInfo methodInfo = type.GetMethod(name, bindingAttr); if (methodInfo != null) { return methodInfo; } if (type.BaseType != null) { methodInfo = type.BaseType.GetMethodRecursively(name, bindingAttr); } return methodInfo; } } [Serializable] public class BoolUnityEvent : UnityEvent<bool> { } [Serializable] public class FloatUnityEvent : UnityEvent<float> { } [Serializable] public class Vector2UnityEvent : UnityEvent<Vector2> { } [Serializable] public class Vector3UnityEvent : UnityEvent<Vector3> { } [Serializable] public class Vector4UnityEvent : UnityEvent<Vector4> { } [Serializable] public class QuaternionUnityEvent : UnityEvent<Quaternion> { } [Serializable] public class IntUnityEvent : UnityEvent<int> { } [Serializable] public class ColorUnityEvent : UnityEvent<Color> { } [Serializable] public class StringUnityEvent : UnityEvent<string> { } public static class Vector2Extensions { public static Vector2 Inverse(this Vector2 vector) { //IL_0005: 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_0018: Unknown result type (might be due to invalid IL or missing references) return new Vector2(1f / vector.x, 1f / vector.y); } public static float MinComponent(this Vector2 vector) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) return Mathf.Min(vector.x, vector.y); } public static float MaxComponent(this Vector2 vector)
BepInEx/plugins/RepoXR/RuntimeDeps/Unity.XR.Interaction.Toolkit.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; using Unity.Collections; using Unity.Jobs; using Unity.Mathematics; using Unity.Profiling; using Unity.XR.CoreUtils; using Unity.XR.CoreUtils.Bindings; using Unity.XR.CoreUtils.Bindings.Variables; using Unity.XR.CoreUtils.Collections; using Unity.XR.CoreUtils.Datums; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Experimental.XR.Interaction; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Layouts; using UnityEngine.InputSystem.LowLevel; using UnityEngine.InputSystem.UI; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.Pool; using UnityEngine.Rendering; using UnityEngine.SceneManagement; using UnityEngine.Scripting; using UnityEngine.Scripting.APIUpdating; using UnityEngine.Serialization; using UnityEngine.SpatialTracking; using UnityEngine.UI; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Jobs; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Receiver; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Receiver.Primitives; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Rendering; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.State; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme.Audio; using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Theme.Primitives; using UnityEngine.XR.Interaction.Toolkit.Filtering; using UnityEngine.XR.Interaction.Toolkit.Inputs; using UnityEngine.XR.Interaction.Toolkit.Inputs.Simulation.Hands; using UnityEngine.XR.Interaction.Toolkit.Transformers; using UnityEngine.XR.Interaction.Toolkit.UI; using UnityEngine.XR.Interaction.Toolkit.Utilities; using UnityEngine.XR.Interaction.Toolkit.Utilities.Collections; using UnityEngine.XR.Interaction.Toolkit.Utilities.Curves; using UnityEngine.XR.Interaction.Toolkit.Utilities.Internal; using UnityEngine.XR.Interaction.Toolkit.Utilities.Pooling; using UnityEngine.XR.Interaction.Toolkit.Utilities.Tweenables.Primitives; using UnityEngine.XR.Interaction.Toolkit.Utilities.Tweenables.SmartTweenableVariables; using UnityEngine.XR.OpenXR.Features.Interactions; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.StarterAssets.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Editor.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.StarterAssets")] [assembly: InternalsVisibleTo("Unity.XR.Interaction.Toolkit.Samples.ARStarterAssets")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[30912] { 0, 0, 0, 1, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 67, 111, 108, 111, 114, 84, 119, 101, 101, 110, 74, 111, 98, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 70, 108, 111, 97, 116, 84, 119, 101, 101, 110, 74, 111, 98, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 103, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 73, 84, 119, 101, 101, 110, 74, 111, 98, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 74, 111, 98, 115, 92, 84, 119, 101, 101, 110, 74, 111, 98, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 65, 117, 100, 105, 111, 92, 65, 117, 100, 105, 111, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 65, 115, 121, 110, 99, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 136, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 66, 97, 115, 101, 83, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 65, 115, 121, 110, 99, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 73, 83, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 70, 108, 111, 97, 116, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 137, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 142, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 69, 117, 108, 101, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 50, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 51, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 134, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 52, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 136, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 66, 108, 101, 110, 100, 83, 104, 97, 112, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 151, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 67, 111, 108, 111, 114, 71, 114, 97, 100, 105, 101, 110, 116, 76, 105, 110, 101, 82, 101, 110, 100, 101, 114, 101, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 67, 111, 108, 111, 114, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 147, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 70, 108, 111, 97, 116, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 50, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 51, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 149, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 86, 101, 99, 116, 111, 114, 52, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 152, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 97, 116, 105, 111, 110, 92, 85, 110, 105, 102, 111, 114, 109, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 99, 97, 108, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 99, 101, 105, 118, 101, 114, 92, 85, 73, 92, 73, 109, 97, 103, 101, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 82, 101, 99, 101, 105, 118, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 72, 101, 108, 112, 101, 114, 66, 97, 115, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 73, 110, 115, 116, 97, 110, 99, 101, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 82, 101, 110, 100, 101, 114, 105, 110, 103, 92, 77, 97, 116, 101, 114, 105, 97, 108, 80, 114, 111, 112, 101, 114, 116, 121, 66, 108, 111, 99, 107, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 68, 97, 116, 97, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 68, 97, 116, 97, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 83, 104, 111, 114, 116, 99, 117, 116, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 141, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 139, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 83, 116, 97, 116, 101, 92, 80, 114, 111, 118, 105, 100, 101, 114, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 116, 97, 116, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 65, 117, 100, 105, 111, 92, 65, 117, 100, 105, 111, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 66, 97, 115, 101, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 67, 111, 108, 111, 114, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 70, 108, 111, 97, 116, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 50, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 51, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 83, 121, 115, 116, 101, 109, 92, 84, 104, 101, 109, 101, 92, 80, 114, 105, 109, 105, 116, 105, 118, 101, 115, 92, 86, 101, 99, 116, 111, 114, 52, 65, 102, 102, 111, 114, 100, 97, 110, 99, 101, 84, 104, 101, 109, 101, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 65, 110, 110, 111, 116, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 66, 97, 115, 101, 71, 101, 115, 116, 117, 114, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 80, 108, 97, 99, 101, 109, 101, 110, 116, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 82, 111, 116, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 83, 99, 97, 108, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 83, 101, 108, 101, 99, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 65, 82, 84, 114, 97, 110, 115, 108, 97, 116, 105, 111, 110, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 65, 82, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 65, 82, 71, 101, 115, 116, 117, 114, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 94, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 67, 97, 114, 100, 105, 110, 97, 108, 85, 116, 105, 108, 105, 116, 121, 46, 99, 115, 0, 0, 0, 6, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 67, 111, 109, 112, 111, 115, 105, 116, 101, 115, 92, 70, 97, 108, 108, 98, 97, 99, 107, 67, 111, 109, 112, 111, 115, 105, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 112, 117, 116, 65, 99, 116, 105, 111, 110, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 112, 117, 116, 65, 99, 116, 105, 111, 110, 80, 114, 111, 112, 101, 114, 116, 121, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 109, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 83, 101, 99, 116, 111, 114, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 67, 97, 112, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 72, 97, 110, 100, 69, 120, 112, 114, 101, 115, 115, 105, 111, 110, 78, 97, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 72, 97, 110, 100, 115, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 97, 110, 100, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 83, 105, 109, 117, 108, 97, 116, 101, 100, 73, 110, 112, 117, 116, 76, 97, 121, 111, 117, 116, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 68, 101, 118, 105, 99, 101, 83, 105, 109, 117, 108, 97, 116, 111, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 77, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 109, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 92, 88, 82, 83, 105, 109, 117, 108, 97, 116, 101, 100, 72, 77, 68, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 72, 97, 110, 100, 83, 107, 101, 108, 101, 116, 111, 110, 80, 111, 107, 101, 68, 105, 115, 112, 108, 97, 99, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 73, 110, 112, 117, 116, 77, 111, 100, 97, 108, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 73, 110, 112, 117, 116, 84, 114, 97, 99, 107, 105, 110, 103, 65, 103, 103, 114, 101, 103, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 100, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 112, 117, 116, 115, 92, 88, 82, 84, 114, 97, 110, 115, 102, 111, 114, 109, 83, 116, 97, 98, 105, 108, 105, 122, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 97, 110, 70, 111, 99, 117, 115, 77, 117, 108, 116, 105, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 67, 97, 110, 83, 101, 108, 101, 99, 116, 77, 117, 108, 116, 105, 112, 108, 101, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115, 92, 88, 82, 84, 97, 114, 103, 101, 116, 69, 118, 97, 108, 117, 97, 116, 111, 114, 69, 110, 97, 98, 108, 101, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 65, 99, 116, 105, 111, 110, 66, 97, 115, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 65, 99, 116, 105, 111, 110, 66, 97, 115, 101, 100, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 73, 88, 82, 83, 99, 97, 108, 101, 86, 97, 108, 117, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 82, 101, 99, 111, 114, 100, 105, 110, 103, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 83, 116, 97, 116, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 115, 92, 88, 82, 83, 99, 114, 101, 101, 110, 83, 112, 97, 99, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 72, 111, 118, 101, 114, 92, 73, 88, 82, 72, 111, 118, 101, 114, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 142, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 73, 88, 82, 70, 105, 108, 116, 101, 114, 76, 105, 115, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 126, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 77, 117, 108, 116, 105, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 73, 88, 82, 80, 111, 107, 101, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 83, 116, 97, 116, 101, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 117, 109, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 80, 111, 107, 101, 84, 104, 114, 101, 115, 104, 111, 108, 100, 68, 97, 116, 117, 109, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 88, 82, 80, 111, 107, 101, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 80, 111, 107, 101, 92, 88, 82, 80, 111, 107, 101, 76, 111, 103, 105, 99, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 83, 101, 108, 101, 99, 116, 92, 73, 88, 82, 83, 101, 108, 101, 99, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 138, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 73, 88, 82, 84, 97, 114, 103, 101, 116, 69, 118, 97, 108, 117, 97, 116, 111, 114, 76, 105, 110, 107, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 65, 110, 103, 108, 101, 71, 97, 122, 101, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 131, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 68, 105, 115, 116, 97, 110, 99, 101, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 135, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 76, 97, 115, 116, 83, 101, 108, 101, 99, 116, 101, 100, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 69, 118, 97, 108, 117, 97, 116, 111, 114, 115, 92, 88, 82, 84, 97, 114, 103, 101, 116, 69, 118, 97, 108, 117, 97, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 124, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 70, 105, 108, 116, 101, 114, 115, 92, 73, 88, 82, 84, 97, 114, 103, 101, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 70, 105, 108, 116, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 84, 97, 114, 103, 101, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 70, 105, 108, 116, 101, 114, 105, 110, 103, 92, 84, 97, 114, 103, 101, 116, 92, 70, 105, 108, 116, 101, 114, 115, 92, 88, 82, 84, 97, 114, 103, 101, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 68, 105, 115, 116, 97, 110, 99, 101, 73, 110, 102, 111, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 65, 99, 116, 105, 118, 97, 116, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 70, 111, 99, 117, 115, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 72, 111, 118, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 113, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 132, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 119, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 73, 88, 82, 83, 101, 108, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 129, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 86, 105, 115, 117, 97, 108, 92, 88, 82, 84, 105, 110, 116, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 86, 105, 115, 117, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 71, 114, 97, 98, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 71, 114, 97, 98, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 83, 110, 97, 112, 86, 111, 108, 117, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 115, 92, 88, 82, 83, 105, 109, 112, 108, 101, 73, 110, 116, 101, 114, 97, 99, 116, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 117, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 65, 99, 116, 105, 118, 97, 116, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 71, 114, 111, 117, 112, 77, 101, 109, 98, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 72, 111, 118, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 79, 118, 101, 114, 114, 105, 100, 101, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 83, 116, 114, 101, 110, 103, 116, 104, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 109, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 82, 97, 121, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 83, 101, 108, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 73, 88, 82, 84, 97, 114, 103, 101, 116, 80, 114, 105, 111, 114, 105, 116, 121, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 127, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 73, 88, 82, 67, 117, 115, 116, 111, 109, 82, 101, 116, 105, 99, 108, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 130, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 73, 88, 82, 82, 101, 116, 105, 99, 108, 101, 68, 105, 114, 101, 99, 116, 105, 111, 110, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 76, 105, 110, 101, 86, 105, 115, 117, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 128, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 86, 105, 115, 117, 97, 108, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 82, 101, 116, 105, 99, 108, 101, 86, 105, 115, 117, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 133, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 123, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 66, 97, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 68, 105, 114, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 68, 105, 114, 101, 99, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 71, 114, 111, 117, 112, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 112, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 80, 111, 107, 101, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 82, 97, 121, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 82, 97, 121, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 83, 111, 99, 107, 101, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 125, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 115, 92, 88, 82, 83, 111, 99, 107, 101, 116, 73, 110, 116, 101, 114, 97, 99, 116, 111, 114, 46, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 111, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 76, 97, 121, 101, 114, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 76, 97, 121, 101, 114, 77, 97, 115, 107, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 76, 97, 121, 101, 114, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 76, 97, 121, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 79, 118, 101, 114, 114, 105, 100, 101, 115, 92, 73, 88, 82, 65, 105, 109, 65, 115, 115, 105, 115, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 79, 118, 101, 114, 114, 105, 100, 101, 115, 92, 73, 88, 82, 79, 118, 101, 114, 114, 105, 100, 101, 115, 71, 97, 122, 101, 65, 117, 116, 111, 83, 101, 108, 101, 99, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 79, 118, 101, 114, 114, 105, 100, 101, 115, 92, 88, 82, 71, 97, 122, 101, 65, 115, 115, 105, 115, 116, 97, 110, 99, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 115, 92, 73, 88, 82, 68, 114, 111, 112, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 115, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 115, 92, 73, 88, 82, 71, 114, 97, 98, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 118, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 115, 92, 88, 82, 66, 97, 115, 101, 71, 114, 97, 98, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 122, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 115, 92, 88, 82, 68, 117, 97, 108, 71, 114, 97, 98, 70, 114, 101, 101, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 121, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 116, 111, 111, 108, 107, 105, 116, 64, 50, 46, 53, 46, 52, 92, 82, 117, 110, 116, 105, 109, 101, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 92, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 115, 92, 88, 82, 71, 101, 110, 101, 114, 97, 108, 71, 114, 97, 98, 84, 114, 97, 110, 115, 102, 111, 114, 109, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 120, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 105, 1
BepInEx/plugins/RepoXR/RuntimeDeps/Unity.XR.Management.dll
Decompiled 3 months agousing System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using UnityEngine.Rendering; using UnityEngine.Serialization; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.Management.Editor")] [assembly: InternalsVisibleTo("Unity.XR.Management.Tests")] [assembly: InternalsVisibleTo("Unity.XR.Management.EditorTests")] [assembly: AssemblyVersion("0.0.0.0")] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[522] { 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 71, 101, 110, 101, 114, 97, 108, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 71, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 76, 111, 97, 100, 101, 114, 72, 101, 108, 112, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 84, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 64, 52, 46, 53, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 88, 82, 77, 97, 110, 97, 103, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115 }; result.TypesData = new byte[354] { 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 65, 116, 116, 114, 105, 98, 117, 116, 101, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 71, 101, 110, 101, 114, 97, 108, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 76, 111, 97, 100, 101, 114, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 76, 111, 97, 100, 101, 114, 72, 101, 108, 112, 101, 114, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 0, 0, 0, 0, 58, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 46, 88, 82, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 65, 110, 97, 108, 121, 116, 105, 99, 115, 124, 66, 117, 105, 108, 100, 69, 118, 101, 110, 116, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 77, 97, 110, 97, 103, 101, 109, 101, 110, 116, 124, 88, 82, 77, 97, 110, 97, 103, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115 }; result.TotalFiles = 6; result.TotalTypes = 7; result.IsEditorOnly = false; return result; } } namespace UnityEngine.XR.Management; [AttributeUsage(AttributeTargets.Class)] public sealed class XRConfigurationDataAttribute : Attribute { public string displayName { get; set; } public string buildSettingsKey { get; set; } private XRConfigurationDataAttribute() { } public XRConfigurationDataAttribute(string displayName, string buildSettingsKey) { this.displayName = displayName; this.buildSettingsKey = buildSettingsKey; } } public class XRGeneralSettings : ScriptableObject { public static string k_SettingsKey = "com.unity.xr.management.loader_settings"; internal static XRGeneralSettings s_RuntimeSettingsInstance = null; [SerializeField] internal XRManagerSettings m_LoaderManagerInstance; [SerializeField] [Tooltip("Toggling this on/off will enable/disable the automatic startup of XR at run time.")] internal bool m_InitManagerOnStart = true; private XRManagerSettings m_XRManager; private bool m_ProviderIntialized; private bool m_ProviderStarted; public XRManagerSettings Manager { get { return m_LoaderManagerInstance; } set { m_LoaderManagerInstance = value; } } public static XRGeneralSettings Instance => s_RuntimeSettingsInstance; public XRManagerSettings AssignedSettings => m_LoaderManagerInstance; public bool InitManagerOnStart => m_InitManagerOnStart; private void Awake() { Debug.Log((object)"XRGeneral Settings awakening..."); s_RuntimeSettingsInstance = this; Application.quitting += Quit; Object.DontDestroyOnLoad((Object)(object)s_RuntimeSettingsInstance); } private static void Quit() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null)) { instance.DeInitXRSDK(); } } private void Start() { StartXRSDK(); } private void OnDestroy() { DeInitXRSDK(); } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] internal static void AttemptInitializeXRSDKOnLoad() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null) && instance.InitManagerOnStart) { instance.InitXRSDK(); } } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] internal static void AttemptStartXRSDKOnBeforeSplashScreen() { XRGeneralSettings instance = Instance; if (!((Object)(object)instance == (Object)null) && instance.InitManagerOnStart) { instance.StartXRSDK(); } } private void InitXRSDK() { if (!((Object)(object)Instance == (Object)null) && !((Object)(object)Instance.m_LoaderManagerInstance == (Object)null) && Instance.m_InitManagerOnStart) { m_XRManager = Instance.m_LoaderManagerInstance; if ((Object)(object)m_XRManager == (Object)null) { Debug.LogError((object)"Assigned GameObject for XR Management loading is invalid. No XR Providers will be automatically loaded."); return; } m_XRManager.automaticLoading = false; m_XRManager.automaticRunning = false; m_XRManager.InitializeLoaderSync(); m_ProviderIntialized = true; } } private void StartXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.StartSubsystems(); m_ProviderStarted = true; } } private void StopXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.StopSubsystems(); m_ProviderStarted = false; } } private void DeInitXRSDK() { if ((Object)(object)m_XRManager != (Object)null && (Object)(object)m_XRManager.activeLoader != (Object)null) { m_XRManager.DeinitializeLoader(); m_XRManager = null; m_ProviderIntialized = false; } } } public abstract class XRLoader : ScriptableObject { public virtual bool Initialize() { return true; } public virtual bool Start() { return true; } public virtual bool Stop() { return true; } public virtual bool Deinitialize() { return true; } public abstract T GetLoadedSubsystem<T>() where T : class, ISubsystem; public virtual List<GraphicsDeviceType> GetSupportedGraphicsDeviceTypes(bool buildingPlayer) { return new List<GraphicsDeviceType>(); } } public abstract class XRLoaderHelper : XRLoader { protected Dictionary<Type, ISubsystem> m_SubsystemInstanceMap = new Dictionary<Type, ISubsystem>(); public override T GetLoadedSubsystem<T>() { Type typeFromHandle = typeof(T); m_SubsystemInstanceMap.TryGetValue(typeFromHandle, out var value); return value as T; } protected void StartSubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { ((ISubsystem)loadedSubsystem).Start(); } } protected void StopSubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { ((ISubsystem)loadedSubsystem).Stop(); } } protected void DestroySubsystem<T>() where T : class, ISubsystem { T loadedSubsystem = GetLoadedSubsystem<T>(); if (loadedSubsystem != null) { Type typeFromHandle = typeof(T); if (m_SubsystemInstanceMap.ContainsKey(typeFromHandle)) { m_SubsystemInstanceMap.Remove(typeFromHandle); } ((ISubsystem)loadedSubsystem).Destroy(); } } protected void CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : ISubsystemDescriptor where TSubsystem : ISubsystem { if (descriptors == null) { throw new ArgumentNullException("descriptors"); } SubsystemManager.GetSubsystemDescriptors<TDescriptor>(descriptors); if (descriptors.Count <= 0) { return; } foreach (TDescriptor descriptor in descriptors) { ISubsystem val = null; if (string.Compare(((ISubsystemDescriptor)descriptor).id, id, ignoreCase: true) == 0) { val = ((ISubsystemDescriptor)descriptor).Create(); } if (val != null) { m_SubsystemInstanceMap[typeof(TSubsystem)] = val; break; } } } [Obsolete("This method is obsolete. Please use the geenric CreateSubsystem method.", false)] protected void CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : IntegratedSubsystemDescriptor where TSubsystem : IntegratedSubsystem { CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } [Obsolete("This method is obsolete. Please use the generic CreateSubsystem method.", false)] protected void CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : SubsystemDescriptor where TSubsystem : Subsystem { CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } public override bool Deinitialize() { m_SubsystemInstanceMap.Clear(); return base.Deinitialize(); } } internal static class XRManagementAnalytics { [Serializable] private struct BuildEvent { public string buildGuid; public string buildTarget; public string buildTargetGroup; public string[] assigned_loaders; } private const int kMaxEventsPerHour = 1000; private const int kMaxNumberOfElements = 1000; private const string kVendorKey = "unity.xrmanagement"; private const string kEventBuild = "xrmanagment_build"; private static bool s_Initialized; private static bool Initialize() { return s_Initialized; } } public sealed class XRManagerSettings : ScriptableObject { [HideInInspector] private bool m_InitializationComplete; [HideInInspector] [SerializeField] private bool m_RequiresSettingsUpdate; [SerializeField] [Tooltip("Determines if the XR Manager instance is responsible for creating and destroying the appropriate loader instance.")] [FormerlySerializedAs("AutomaticLoading")] private bool m_AutomaticLoading; [SerializeField] [Tooltip("Determines if the XR Manager instance is responsible for starting and stopping subsystems for the active loader instance.")] [FormerlySerializedAs("AutomaticRunning")] private bool m_AutomaticRunning; [SerializeField] [Tooltip("List of XR Loader instances arranged in desired load order.")] [FormerlySerializedAs("Loaders")] private List<XRLoader> m_Loaders = new List<XRLoader>(); [SerializeField] [HideInInspector] private HashSet<XRLoader> m_RegisteredLoaders = new HashSet<XRLoader>(); public bool automaticLoading { get { return m_AutomaticLoading; } set { m_AutomaticLoading = value; } } public bool automaticRunning { get { return m_AutomaticRunning; } set { m_AutomaticRunning = value; } } [Obsolete("'XRManagerSettings.loaders' property is obsolete. Use 'XRManagerSettings.activeLoaders' instead to get a list of the current loaders.")] public List<XRLoader> loaders => m_Loaders; public IReadOnlyList<XRLoader> activeLoaders => m_Loaders; public bool isInitializationComplete => m_InitializationComplete; [HideInInspector] public XRLoader activeLoader { get; private set; } internal List<XRLoader> currentLoaders { get { return m_Loaders; } set { m_Loaders = value; } } internal HashSet<XRLoader> registeredLoaders => m_RegisteredLoaders; public T ActiveLoaderAs<T>() where T : XRLoader { return activeLoader as T; } public void InitializeLoaderSync() { if ((Object)(object)activeLoader != (Object)null) { Debug.LogWarning((object)"XR Management has already initialized an active loader in this scene. Please make sure to stop all subsystems and deinitialize the active loader before initializing a new one."); return; } foreach (XRLoader currentLoader in currentLoaders) { if ((Object)(object)currentLoader != (Object)null && CheckGraphicsAPICompatibility(currentLoader) && currentLoader.Initialize()) { activeLoader = currentLoader; m_InitializationComplete = true; return; } } activeLoader = null; } public IEnumerator InitializeLoader() { if ((Object)(object)activeLoader != (Object)null) { Debug.LogWarning((object)"XR Management has already initialized an active loader in this scene. Please make sure to stop all subsystems and deinitialize the active loader before initializing a new one."); yield break; } foreach (XRLoader currentLoader in currentLoaders) { if ((Object)(object)currentLoader != (Object)null && CheckGraphicsAPICompatibility(currentLoader) && currentLoader.Initialize()) { activeLoader = currentLoader; m_InitializationComplete = true; yield break; } yield return null; } activeLoader = null; } public bool TryAddLoader(XRLoader loader, int index = -1) { if ((Object)(object)loader == (Object)null || currentLoaders.Contains(loader)) { return false; } if (!m_RegisteredLoaders.Contains(loader)) { return false; } if (index < 0 || index >= currentLoaders.Count) { currentLoaders.Add(loader); } else { currentLoaders.Insert(index, loader); } return true; } public bool TryRemoveLoader(XRLoader loader) { bool result = true; if (currentLoaders.Contains(loader)) { result = currentLoaders.Remove(loader); } return result; } public bool TrySetLoaders(List<XRLoader> reorderedLoaders) { List<XRLoader> list = new List<XRLoader>(activeLoaders); currentLoaders.Clear(); foreach (XRLoader reorderedLoader in reorderedLoaders) { if (!TryAddLoader(reorderedLoader)) { currentLoaders = list; return false; } } return true; } private void Awake() { foreach (XRLoader currentLoader in currentLoaders) { if (!m_RegisteredLoaders.Contains(currentLoader)) { m_RegisteredLoaders.Add(currentLoader); } } } private bool CheckGraphicsAPICompatibility(XRLoader loader) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: 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) GraphicsDeviceType graphicsDeviceType = SystemInfo.graphicsDeviceType; List<GraphicsDeviceType> supportedGraphicsDeviceTypes = loader.GetSupportedGraphicsDeviceTypes(buildingPlayer: false); if (supportedGraphicsDeviceTypes.Count > 0 && !supportedGraphicsDeviceTypes.Contains(graphicsDeviceType)) { Debug.LogWarning((object)$"The {((Object)loader).name} does not support the initialized graphics device, {((object)(GraphicsDeviceType)(ref graphicsDeviceType)).ToString()}. Please change the preffered Graphics API in PlayerSettings. Attempting to start the next XR loader."); return false; } return true; } public void StartSubsystems() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to StartSubsystems without an initialized manager.Please make sure wait for initialization to complete before calling this API."); } else if ((Object)(object)activeLoader != (Object)null) { activeLoader.Start(); } } public void StopSubsystems() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to StopSubsystems without an initialized manager.Please make sure wait for initialization to complete before calling this API."); } else if ((Object)(object)activeLoader != (Object)null) { activeLoader.Stop(); } } public void DeinitializeLoader() { if (!m_InitializationComplete) { Debug.LogWarning((object)"Call to DeinitializeLoader without an initialized manager.Please make sure wait for initialization to complete before calling this API."); return; } StopSubsystems(); if ((Object)(object)activeLoader != (Object)null) { activeLoader.Deinitialize(); activeLoader = null; } m_InitializationComplete = false; } private void Start() { if (automaticLoading && automaticRunning) { StartSubsystems(); } } private void OnDisable() { if (automaticLoading && automaticRunning) { StopSubsystems(); } } private void OnDestroy() { if (automaticLoading) { DeinitializeLoader(); } } }
BepInEx/plugins/RepoXR/RuntimeDeps/Unity.XR.OpenXR.dll
Decompiled 3 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using AOT; using UnityEngine.Analytics; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Layouts; using UnityEngine.InputSystem.LowLevel; using UnityEngine.InputSystem.Utilities; using UnityEngine.InputSystem.XR; using UnityEngine.Scripting; using UnityEngine.Serialization; using UnityEngine.XR.Management; using UnityEngine.XR.OpenXR.Features; using UnityEngine.XR.OpenXR.Features.Interactions; using UnityEngine.XR.OpenXR.Input; using UnityEngine.XR.OpenXR.NativeTypes; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Editor")] [assembly: InternalsVisibleTo("UnityEditor.XR.OpenXR.Tests")] [assembly: Preserve] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.TestHelpers")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Tests")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Tests.Editor")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Features.MockRuntime")] [assembly: InternalsVisibleTo("Unity.XR.OpenXR.Features.ConformanceAutomation")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[3412] { 0, 0, 0, 2, 0, 0, 0, 97, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 3, 0, 0, 0, 100, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 104, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 109, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 108, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 116, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 114, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 110, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 101, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 109, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 92, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 73, 110, 116, 101, 114, 110, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 90, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 6, 0, 0, 0, 93, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 70, 101, 97, 116, 117, 114, 101, 115, 92, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 72, 97, 112, 116, 105, 99, 67, 111, 110, 116, 114, 111, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 78, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 68, 101, 118, 105, 99, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 72, 109, 100, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 105, 110, 112, 117, 116, 92, 80, 111, 115, 101, 67, 111, 110, 116, 114, 111, 108, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 65, 110, 97, 108, 121, 116, 105, 99, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 67, 111, 110, 115, 116, 97, 110, 116, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 82, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 82, 101, 112, 111, 114, 116, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 72, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 73, 110, 116, 101, 114, 110, 97, 108, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 81, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 78, 111, 80, 114, 101, 73, 110, 105, 116, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 77, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 101, 110, 100, 101, 114, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 75, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 101, 115, 116, 97, 114, 116, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 73, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 82, 117, 110, 116, 105, 109, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 74, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 79, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 79, 112, 101, 110, 88, 82, 83, 112, 97, 99, 101, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 80, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 111, 112, 101, 110, 120, 114, 64, 49, 46, 49, 48, 46, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 87, 97, 105, 116, 70, 111, 114, 82, 101, 115, 116, 97, 114, 116, 70, 105, 110, 105, 115, 104, 46, 99, 115 }; result.TypesData = new byte[4058] { 0, 0, 0, 0, 59, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 64, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 68, 80, 97, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 68, 80, 97, 100, 0, 0, 0, 0, 62, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 76, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 69, 121, 101, 71, 97, 122, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 69, 121, 101, 71, 97, 122, 101, 68, 101, 118, 105, 99, 101, 0, 0, 0, 0, 61, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 69, 121, 101, 84, 114, 97, 99, 107, 105, 110, 103, 85, 115, 97, 103, 101, 115, 0, 0, 0, 0, 70, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 91, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 97, 110, 100, 67, 111, 109, 109, 111, 110, 80, 111, 115, 101, 115, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 111, 115, 101, 115, 0, 0, 0, 0, 66, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 82, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 80, 114, 111, 102, 105, 108, 101, 124, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 80, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 82, 101, 118, 101, 114, 98, 71, 50, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 83, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 72, 84, 67, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 86, 105, 118, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 70, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 90, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 75, 72, 82, 83, 105, 109, 112, 108, 101, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 78, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 102, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 101, 116, 97, 81, 117, 101, 115, 116, 84, 111, 117, 99, 104, 80, 114, 111, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 81, 117, 101, 115, 116, 80, 114, 111, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 81, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 105, 99, 114, 111, 115, 111, 102, 116, 72, 97, 110, 100, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 72, 111, 108, 111, 76, 101, 110, 115, 72, 97, 110, 100, 0, 0, 0, 0, 76, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 97, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 77, 105, 99, 114, 111, 115, 111, 102, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 87, 77, 82, 83, 112, 97, 116, 105, 97, 108, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 72, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 94, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 79, 99, 117, 108, 117, 115, 84, 111, 117, 99, 104, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 0, 0, 0, 63, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 0, 0, 0, 0, 72, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 80, 97, 108, 109, 80, 111, 115, 101, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 80, 97, 108, 109, 80, 111, 115, 101, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 124, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 0, 0, 0, 0, 92, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 46, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 80, 114, 111, 102, 105, 108, 101, 124, 86, 97, 108, 118, 101, 73, 110, 100, 101, 120, 67, 111, 110, 116, 114, 111, 108, 108, 101, 114, 1, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 1, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 70, 101, 97, 116, 117, 114, 101, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 55, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 124, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 0, 0, 0, 0, 69, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 68, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 68, 101, 118, 105, 99, 101, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 71, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 65, 99, 116, 105, 111, 110, 77, 97, 112, 67, 111, 110, 102, 105, 103, 0, 0, 0, 0, 65, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 70, 101, 97, 116, 117, 114, 101, 115, 46, 79, 112, 101, 110, 88, 82, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 70, 101, 97, 116, 117, 114, 101, 124, 85, 115, 101, 114, 80, 97, 116, 104, 115, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 72, 97, 112, 116, 105, 99, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 72, 97, 112, 116, 105, 99, 67, 111, 110, 116, 114, 111, 108, 0, 0, 0, 0, 40, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 79, 112, 101, 110, 88, 82, 68, 101, 118, 105, 99, 101, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 79, 112, 101, 110, 88, 82, 72, 109, 100, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 0, 0, 0, 0, 54, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 46, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 124, 83, 101, 114, 105, 97, 108, 105, 122, 101, 100, 71, 117, 105, 100, 0, 0, 0, 0, 57, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 46, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 124, 83, 101, 114, 105, 97, 108, 105, 122, 101, 100, 66, 105, 110, 100, 105, 110, 103, 0, 0, 0, 0, 66, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 46, 79, 112, 101, 110, 88, 82, 73, 110, 112, 117, 116, 124, 71, 101, 116, 73, 110, 116, 101, 114, 110, 97, 108, 68, 101, 118, 105, 99, 101, 73, 100, 67, 111, 109, 109, 97, 110, 100, 0, 0, 0, 0, 32, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 80, 111, 115, 101, 0, 0, 0, 0, 39, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 73, 110, 112, 117, 116, 124, 80, 111, 115, 101, 67, 111, 110, 116, 114, 111, 108, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 65, 110, 97, 108, 121, 116, 105, 99, 115, 0, 0, 0, 0, 53, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 79, 112, 101, 110, 88, 82, 65, 110, 97, 108, 121, 116, 105, 99, 115, 124, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 69, 118, 101, 110, 116, 0, 0, 0, 0, 31, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 0, 0, 0, 38, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 82, 101, 112, 111, 114, 116, 0, 0, 0, 0, 34, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 1, 0, 0, 0, 38, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 66, 97, 115, 101, 1, 0, 0, 0, 38, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 66, 97, 115, 101, 0, 0, 0, 0, 43, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 76, 111, 97, 100, 101, 114, 78, 111, 80, 114, 101, 73, 110, 105, 116, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 86, 101, 99, 116, 111, 114, 50, 102, 0, 0, 0, 0, 44, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 86, 101, 99, 116, 111, 114, 51, 102, 0, 0, 0, 0, 47, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 81, 117, 97, 116, 101, 114, 110, 105, 111, 110, 102, 0, 0, 0, 0, 41, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 46, 78, 97, 116, 105, 118, 101, 84, 121, 112, 101, 115, 124, 88, 114, 80, 111, 115, 101, 102, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 37, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 82, 101, 115, 116, 97, 114, 116, 101, 114, 0, 0, 0, 0, 35, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 82, 117, 110, 116, 105, 109, 101, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 1, 0, 0, 0, 36, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 79, 112, 101, 110, 88, 82, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 88, 82, 46, 79, 112, 101, 110, 88, 82, 124, 87, 97, 105, 116, 70, 111, 114, 82, 101, 115, 116, 97, 114, 116, 70, 105, 110, 105, 115, 104 }; result.TotalFiles = 35; result.TotalTypes = 64; result.IsEditorOnly = false; return result; } } namespace UnityEngine.XR.OpenXR { [Serializable] public class OpenXRSettings : ScriptableObject { public enum RenderMode { MultiPass, SinglePassInstanced } public enum DepthSubmissionMode { None, Depth16Bit, Depth24Bit } [FormerlySerializedAs("extensions")] [HideInInspector] [SerializeField] internal OpenXRFeature[] features = new OpenXRFeature[0]; [SerializeField] private RenderMode m_renderMode = RenderMode.SinglePassInstanced; [SerializeField] private DepthSubmissionMode m_depthSubmissionMode; [SerializeField] private bool m_optimizeBufferDiscards; [SerializeField] private bool m_symmetricProjection; private const string LibraryName = "UnityOpenXR"; private static OpenXRSettings s_RuntimeInstance; public int featureCount => features.Length; public RenderMode renderMode { get { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { return Internal_GetRenderMode(); } return m_renderMode; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetRenderMode(value); } else { m_renderMode = value; } } } public DepthSubmissionMode depthSubmissionMode { get { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { return Internal_GetDepthSubmissionMode(); } return m_depthSubmissionMode; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetDepthSubmissionMode(value); } else { m_depthSubmissionMode = value; } } } public bool optimizeBufferDiscards { get { return m_optimizeBufferDiscards; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetOptimizeBufferDiscards(value); } else { m_optimizeBufferDiscards = value; } } } public bool symmetricProjection { get { return m_symmetricProjection; } set { if ((Object)(object)OpenXRLoaderBase.Instance != (Object)null) { Internal_SetSymmetricProjection(value); } else { m_symmetricProjection = value; } } } public static OpenXRSettings ActiveBuildTargetInstance => GetInstance(useActiveBuildTarget: true); public static OpenXRSettings Instance => GetInstance(useActiveBuildTarget: false); public static bool AllowRecentering => Internal_GetAllowRecentering(); public static float FloorOffset => Internal_GetFloorOffset(); public TFeature GetFeature<TFeature>() where TFeature : OpenXRFeature { return (TFeature)GetFeature(typeof(TFeature)); } public OpenXRFeature GetFeature(Type featureType) { OpenXRFeature[] array = features; foreach (OpenXRFeature openXRFeature in array) { if (featureType.IsInstanceOfType(openXRFeature)) { return openXRFeature; } } return null; } public OpenXRFeature[] GetFeatures<TFeature>() { return GetFeatures(typeof(TFeature)); } public OpenXRFeature[] GetFeatures(Type featureType) { List<OpenXRFeature> list = new List<OpenXRFeature>(); OpenXRFeature[] array = features; foreach (OpenXRFeature openXRFeature in array) { if (featureType.IsInstanceOfType(openXRFeature)) { list.Add(openXRFeature); } } return list.ToArray(); } public int GetFeatures<TFeature>(List<TFeature> featuresOut) where TFeature : OpenXRFeature { featuresOut.Clear(); OpenXRFeature[] array = features; for (int i = 0; i < array.Length; i++) { if (array[i] is TFeature item) { featuresOut.Add(item); } } return featuresOut.Count; } public int GetFeatures(Type featureType, List<OpenXRFeature> featuresOut) { featuresOut.Clear(); OpenXRFeature[] array = features; foreach (OpenXRFeature openXRFeature in array) { if (featureType.IsInstanceOfType(openXRFeature)) { featuresOut.Add(openXRFeature); } } return featuresOut.Count; } public OpenXRFeature[] GetFeatures() { return ((OpenXRFeature[])features?.Clone()) ?? new OpenXRFeature[0]; } public int GetFeatures(List<OpenXRFeature> featuresOut) { featuresOut.Clear(); featuresOut.AddRange(features); return featuresOut.Count; } private void ApplyRenderSettings() { Internal_SetSymmetricProjection(m_symmetricProjection); Internal_SetRenderMode(m_renderMode); Internal_SetDepthSubmissionMode(m_depthSubmissionMode); Internal_SetOptimizeBufferDiscards(m_optimizeBufferDiscards); } [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetRenderMode")] private static extern void Internal_SetRenderMode(RenderMode renderMode); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRenderMode")] private static extern RenderMode Internal_GetRenderMode(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetDepthSubmissionMode")] private static extern void Internal_SetDepthSubmissionMode(DepthSubmissionMode depthSubmissionMode); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetDepthSubmissionMode")] private static extern DepthSubmissionMode Internal_GetDepthSubmissionMode(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetSymmetricProjection")] private static extern void Internal_SetSymmetricProjection(bool enabled); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetOptimizeBufferDiscards")] private static extern void Internal_SetOptimizeBufferDiscards(bool enabled); private void Awake() { s_RuntimeInstance = this; } internal void ApplySettings() { ApplyRenderSettings(); } private static OpenXRSettings GetInstance(bool useActiveBuildTarget) { OpenXRSettings openXRSettings = null; openXRSettings = s_RuntimeInstance; if ((Object)(object)openXRSettings == (Object)null) { openXRSettings = ScriptableObject.CreateInstance<OpenXRSettings>(); } return openXRSettings; } public static void SetAllowRecentering(bool allowRecentering, float floorOffset = 1.5f) { Internal_SetAllowRecentering(allowRecentering, floorOffset); } [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetAllowRecentering")] private static extern void Internal_SetAllowRecentering(bool active, float height); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetAllowRecentering")] private static extern bool Internal_GetAllowRecentering(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetFloorOffsetHeight")] private static extern float Internal_GetFloorOffset(); } internal static class OpenXRAnalytics { [Serializable] private struct InitializeEvent { public bool success; public string runtime; public string runtime_version; public string plugin_version; public string api_version; public string[] available_extensions; public string[] enabled_extensions; public string[] enabled_features; public string[] failed_features; } private const int kMaxEventsPerHour = 1000; private const int kMaxNumberOfElements = 1000; private const string kVendorKey = "unity.openxr"; private const string kEventInitialize = "openxr_initialize"; private static bool s_Initialized; private static bool Initialize() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) if (s_Initialized) { return true; } if ((int)Analytics.RegisterEvent("openxr_initialize", 1000, 1000, "unity.openxr", "") != 0) { return false; } s_Initialized = true; return true; } public static void SendInitializeEvent(bool success) { if (s_Initialized || Initialize()) { SendPlayerAnalytics(CreateInitializeEvent(success)); } } private static InitializeEvent CreateInitializeEvent(bool success) { InitializeEvent result = default(InitializeEvent); result.success = success; result.runtime = OpenXRRuntime.name; result.runtime_version = OpenXRRuntime.version; result.plugin_version = OpenXRRuntime.pluginVersion; result.api_version = OpenXRRuntime.apiVersion; result.enabled_extensions = (from ext in OpenXRRuntime.GetEnabledExtensions() select $"{ext}_{OpenXRRuntime.GetExtensionVersion(ext)}").ToArray(); result.available_extensions = (from ext in OpenXRRuntime.GetAvailableExtensions() select $"{ext}_{OpenXRRuntime.GetExtensionVersion(ext)}").ToArray(); result.enabled_features = (from f in OpenXRSettings.Instance.features where (Object)(object)f != (Object)null && f.enabled select ((object)f).GetType().FullName + "_" + f.version).ToArray(); result.failed_features = (from f in OpenXRSettings.Instance.features where (Object)(object)f != (Object)null && f.failedInitialization select ((object)f).GetType().FullName + "_" + f.version).ToArray(); return result; } private static void SendPlayerAnalytics(InitializeEvent data) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) Analytics.SendEvent("openxr_initialize", (object)data, 1, ""); } } public static class Constants { public const string k_SettingsKey = "com.unity.xr.openxr.settings4"; } internal class DiagnosticReport { private const string LibraryName = "UnityOpenXR"; public static readonly ulong k_NullSection; [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_StartReport")] public static extern void StartReport(); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_GetSection")] public static extern ulong GetSection(string sectionName); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_AddSectionEntry")] public static extern void AddSectionEntry(ulong sectionHandle, string sectionEntry, string sectionBody); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_AddSectionBreak")] public static extern void AddSectionBreak(ulong sectionHandle); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "DiagnosticReport_AddEventEntry")] public static extern void AddEventEntry(string eventName, string eventData); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_DumpReport")] private static extern void Internal_DumpReport(); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_DumpReportWithReason")] private static extern void Internal_DumpReport(string reason); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_GenerateReport")] private static extern IntPtr Internal_GenerateReport(); [DllImport("UnityOpenXR", EntryPoint = "DiagnosticReport_ReleaseReport")] private static extern void Internal_ReleaseReport(IntPtr report); internal static string GenerateReport() { string result = ""; IntPtr intPtr = Internal_GenerateReport(); if (intPtr != IntPtr.Zero) { result = Marshal.PtrToStringAnsi(intPtr); Internal_ReleaseReport(intPtr); intPtr = IntPtr.Zero; } return result; } public static void DumpReport(string reason) { Internal_DumpReport(reason); } } public class OpenXRLoader : OpenXRLoaderBase { } public class OpenXRLoaderBase : XRLoaderHelper { internal enum LoaderState { Uninitialized, InitializeAttempted, Initialized, StartAttempted, Started, StopAttempted, Stopped, DeinitializeAttempted } internal delegate void ReceiveNativeEventDelegate(OpenXRFeature.NativeEvent e, ulong payload); private const double k_IdlePollingWaitTimeInSeconds = 0.1; private static List<XRDisplaySubsystemDescriptor> s_DisplaySubsystemDescriptors = new List<XRDisplaySubsystemDescriptor>(); private static List<XRInputSubsystemDescriptor> s_InputSubsystemDescriptors = new List<XRInputSubsystemDescriptor>(); private List<LoaderState> validLoaderInitStates = new List<LoaderState> { LoaderState.Uninitialized, LoaderState.InitializeAttempted }; private List<LoaderState> validLoaderStartStates = new List<LoaderState> { LoaderState.Initialized, LoaderState.StartAttempted, LoaderState.Stopped }; private List<LoaderState> validLoaderStopStates = new List<LoaderState> { LoaderState.StartAttempted, LoaderState.Started, LoaderState.StopAttempted }; private List<LoaderState> validLoaderDeinitStates = new List<LoaderState> { LoaderState.InitializeAttempted, LoaderState.Initialized, LoaderState.Stopped, LoaderState.DeinitializeAttempted }; private List<LoaderState> runningStates = new List<LoaderState> { LoaderState.Initialized, LoaderState.StartAttempted, LoaderState.Started }; private OpenXRFeature.NativeEvent currentOpenXRState; private bool actionSetsAttached; private UnhandledExceptionEventHandler unhandledExceptionHandler; internal bool DisableValidationChecksOnEnteringPlaymode; private double lastPollCheckTime; private const string LibraryName = "UnityOpenXR"; internal static OpenXRLoaderBase Instance { get; private set; } internal LoaderState currentLoaderState { get; private set; } internal XRDisplaySubsystem displaySubsystem => ((XRLoaderHelper)this).GetLoadedSubsystem<XRDisplaySubsystem>(); internal XRInputSubsystem inputSubsystem { get { OpenXRLoaderBase instance = Instance; if (instance == null) { return null; } return ((XRLoaderHelper)instance).GetLoadedSubsystem<XRInputSubsystem>(); } } private bool isInitialized { get { if (currentLoaderState != 0) { return currentLoaderState != LoaderState.DeinitializeAttempted; } return false; } } private bool isStarted => runningStates.Contains(currentLoaderState); private static void ExceptionHandler(object sender, UnhandledExceptionEventArgs args) { ulong section = DiagnosticReport.GetSection("Unhandled Exception Report"); DiagnosticReport.AddSectionEntry(section, "Is Terminating", $"{args.IsTerminating}"); Exception ex = (Exception)args.ExceptionObject; DiagnosticReport.AddSectionEntry(section, "Message", ex.Message ?? ""); DiagnosticReport.AddSectionEntry(section, "Source", ex.Source ?? ""); DiagnosticReport.AddSectionEntry(section, "Stack Trace", "\n" + ex.StackTrace); DiagnosticReport.DumpReport("Uncaught Exception"); } public override bool Initialize() { if (currentLoaderState == LoaderState.Initialized) { return true; } if (!validLoaderInitStates.Contains(currentLoaderState)) { return false; } if ((Object)(object)Instance != (Object)null) { Debug.LogError((object)"Only one OpenXRLoader can be initialized at any given time"); return false; } DiagnosticReport.StartReport(); try { if (InitializeInternal()) { return true; } } catch (Exception ex) { Debug.LogException(ex); } ((XRLoader)this).Deinitialize(); Instance = null; OpenXRAnalytics.SendInitializeEvent(success: false); return false; } private bool InitializeInternal() { //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Expected O, but got Unknown Instance = this; currentLoaderState = LoaderState.InitializeAttempted; Internal_SetSuccessfullyInitialized(value: false); OpenXRInput.RegisterLayouts(); OpenXRFeature.Initialize(); if (!LoadOpenXRSymbols()) { Debug.LogError((object)"Failed to load openxr runtime loader."); return false; } OpenXRSettings.Instance.features = (from f in OpenXRSettings.Instance.features where (Object)(object)f != (Object)null orderby f.priority descending, f.nameUi select f).ToArray(); OpenXRFeature.HookGetInstanceProcAddr(); if (!Internal_InitializeSession()) { return false; } SetApplicationInfo(); RequestOpenXRFeatures(); RegisterOpenXRCallbacks(); if ((Object)null != (Object)(object)OpenXRSettings.Instance) { OpenXRSettings.Instance.ApplySettings(); } if (!CreateSubsystems()) { return false; } if (OpenXRFeature.requiredFeatureFailed) { return false; } OpenXRAnalytics.SendInitializeEvent(success: true); OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemCreate); DebugLogEnabledSpecExtensions(); Application.onBeforeRender += new UnityAction(ProcessOpenXRMessageLoop); currentLoaderState = LoaderState.Initialized; return true; } private bool CreateSubsystems() { if (displaySubsystem == null) { this.CreateSubsystem<XRDisplaySubsystemDescriptor, XRDisplaySubsystem>(s_DisplaySubsystemDescriptors, "OpenXR Display"); if (displaySubsystem == null) { return false; } } if (inputSubsystem == null) { this.CreateSubsystem<XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, "OpenXR Input"); if (inputSubsystem == null) { return false; } } return true; } internal void ProcessOpenXRMessageLoop() { if (currentOpenXRState == OpenXRFeature.NativeEvent.XrIdle || currentOpenXRState == OpenXRFeature.NativeEvent.XrStopping || currentOpenXRState == OpenXRFeature.NativeEvent.XrExiting || currentOpenXRState == OpenXRFeature.NativeEvent.XrLossPending || currentOpenXRState == OpenXRFeature.NativeEvent.XrInstanceLossPending) { float realtimeSinceStartup = Time.realtimeSinceStartup; if ((double)realtimeSinceStartup - lastPollCheckTime < 0.1) { return; } lastPollCheckTime = realtimeSinceStartup; } Internal_PumpMessageLoop(); } public override bool Start() { if (currentLoaderState == LoaderState.Started) { return true; } if (!validLoaderStartStates.Contains(currentLoaderState)) { return false; } currentLoaderState = LoaderState.StartAttempted; if (!StartInternal()) { ((XRLoader)this).Stop(); return false; } currentLoaderState = LoaderState.Started; return true; } private bool StartInternal() { if (!Internal_CreateSessionIfNeeded()) { return false; } if (currentOpenXRState != OpenXRFeature.NativeEvent.XrReady || (currentLoaderState != LoaderState.StartAttempted && currentLoaderState != LoaderState.Started)) { return true; } this.StartSubsystem<XRDisplaySubsystem>(); XRDisplaySubsystem obj = displaySubsystem; if (obj != null && !((IntegratedSubsystem)obj).running) { return false; } Internal_BeginSession(); if (!actionSetsAttached) { OpenXRInput.AttachActionSets(); actionSetsAttached = true; } XRDisplaySubsystem obj2 = displaySubsystem; if (obj2 != null && !((IntegratedSubsystem)obj2).running) { this.StartSubsystem<XRDisplaySubsystem>(); } XRInputSubsystem obj3 = inputSubsystem; if (obj3 != null && !((IntegratedSubsystem)obj3).running) { this.StartSubsystem<XRInputSubsystem>(); } XRInputSubsystem obj4 = inputSubsystem; bool num = obj4 != null && ((IntegratedSubsystem)obj4).running; XRDisplaySubsystem obj5 = displaySubsystem; bool flag = obj5 != null && ((IntegratedSubsystem)obj5).running; if (num && flag) { OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemStart); return true; } return false; } public override bool Stop() { if (currentLoaderState == LoaderState.Stopped) { return true; } if (!validLoaderStopStates.Contains(currentLoaderState)) { return false; } currentLoaderState = LoaderState.StopAttempted; XRInputSubsystem obj = inputSubsystem; bool num = obj != null && ((IntegratedSubsystem)obj).running; XRDisplaySubsystem obj2 = displaySubsystem; bool flag = obj2 != null && ((IntegratedSubsystem)obj2).running; if (num || flag) { OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemStop); } if (num) { this.StopSubsystem<XRInputSubsystem>(); } if (flag) { this.StopSubsystem<XRDisplaySubsystem>(); } StopInternal(); currentLoaderState = LoaderState.Stopped; return true; } private void StopInternal() { Internal_EndSession(); ProcessOpenXRMessageLoop(); } public override bool Deinitialize() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown if (currentLoaderState == LoaderState.Uninitialized) { return true; } if (!validLoaderDeinitStates.Contains(currentLoaderState)) { return false; } currentLoaderState = LoaderState.DeinitializeAttempted; try { Internal_RequestExitSession(); Application.onBeforeRender -= new UnityAction(ProcessOpenXRMessageLoop); ProcessOpenXRMessageLoop(); OpenXRFeature.ReceiveLoaderEvent(this, OpenXRFeature.LoaderEvent.SubsystemDestroy); this.DestroySubsystem<XRInputSubsystem>(); this.DestroySubsystem<XRDisplaySubsystem>(); DiagnosticReport.DumpReport("System Shutdown"); Internal_DestroySession(); ProcessOpenXRMessageLoop(); Internal_UnloadOpenXRLibrary(); currentLoaderState = LoaderState.Uninitialized; actionSetsAttached = false; if (unhandledExceptionHandler != null) { AppDomain.CurrentDomain.UnhandledException -= unhandledExceptionHandler; unhandledExceptionHandler = null; } return ((XRLoaderHelper)this).Deinitialize(); } finally { Instance = null; } } internal void CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id) where TDescriptor : ISubsystemDescriptor where TSubsystem : ISubsystem { ((XRLoaderHelper)this).CreateSubsystem<TDescriptor, TSubsystem>(descriptors, id); } internal void StartSubsystem<T>() where T : class, ISubsystem { ((XRLoaderHelper)this).StartSubsystem<T>(); } internal void StopSubsystem<T>() where T : class, ISubsystem { ((XRLoaderHelper)this).StopSubsystem<T>(); } internal void DestroySubsystem<T>() where T : class, ISubsystem { ((XRLoaderHelper)this).DestroySubsystem<T>(); } private void SetApplicationInfo() { byte[] array = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(Application.version)); if (BitConverter.IsLittleEndian) { Array.Reverse(array); } uint applicationVersionHash = BitConverter.ToUInt32(array, 0); Internal_SetApplicationInfo(Application.productName, Application.version, applicationVersionHash, Application.unityVersion); } internal static byte[] StringToWCHAR_T(string s) { return ((Environment.OSVersion.Platform == PlatformID.Unix) ? Encoding.UTF32 : Encoding.Unicode).GetBytes(s + "\0"); } private bool LoadOpenXRSymbols() { if (!Internal_LoadOpenXRLibrary(StringToWCHAR_T("openxr_loader"))) { return false; } return true; } private void RequestOpenXRFeatures() { OpenXRSettings instance = OpenXRSettings.Instance; if ((Object)(object)instance == (Object)null || instance.features == null) { return; } StringBuilder stringBuilder = new StringBuilder(""); StringBuilder stringBuilder2 = new StringBuilder(""); uint num = 0u; uint num2 = 0u; OpenXRFeature[] features = instance.features; foreach (OpenXRFeature openXRFeature in features) { if ((Object)(object)openXRFeature == (Object)null || !openXRFeature.enabled) { continue; } num++; stringBuilder.Append(" " + openXRFeature.nameUi + ": Version=" + openXRFeature.version + ", Company=\"" + openXRFeature.company + "\""); if (!string.IsNullOrEmpty(openXRFeature.openxrExtensionStrings)) { stringBuilder.Append(", Extensions=\"" + openXRFeature.openxrExtensionStrings + "\""); string[] array = openXRFeature.openxrExtensionStrings.Split(' '); foreach (string text in array) { if (!string.IsNullOrWhiteSpace(text) && !Internal_RequestEnableExtensionString(text)) { num2++; stringBuilder2.Append(" " + text + ": Feature=\"" + openXRFeature.nameUi + "\": Version=" + openXRFeature.version + ", Company=\"" + openXRFeature.company + "\"\n"); } } } stringBuilder.Append("\n"); } ulong section = DiagnosticReport.GetSection("OpenXR Runtime Info"); DiagnosticReport.AddSectionBreak(section); DiagnosticReport.AddSectionEntry(section, "Features requested to be enabled", $"({num})\n{stringBuilder.ToString()}"); DiagnosticReport.AddSectionBreak(section); DiagnosticReport.AddSectionEntry(section, "Requested feature extensions not supported by runtime", $"({num2})\n{stringBuilder2.ToString()}"); } private static void DebugLogEnabledSpecExtensions() { ulong section = DiagnosticReport.GetSection("OpenXR Runtime Info"); DiagnosticReport.AddSectionBreak(section); string[] enabledExtensions = OpenXRRuntime.GetEnabledExtensions(); StringBuilder stringBuilder = new StringBuilder($"({enabledExtensions.Length})\n"); string[] array = enabledExtensions; foreach (string text in array) { stringBuilder.Append($" {text}: Version={OpenXRRuntime.GetExtensionVersion(text)}\n"); } DiagnosticReport.AddSectionEntry(section, "Runtime extensions enabled", stringBuilder.ToString()); } [MonoPInvokeCallback(typeof(ReceiveNativeEventDelegate))] private static void ReceiveNativeEvent(OpenXRFeature.NativeEvent e, ulong payload) { OpenXRLoaderBase instance = Instance; if ((Object)(object)instance != (Object)null) { instance.currentOpenXRState = e; } switch (e) { case OpenXRFeature.NativeEvent.XrRestartRequested: OpenXRRestarter.Instance.ShutdownAndRestart(); break; case OpenXRFeature.NativeEvent.XrReady: instance.StartInternal(); break; case OpenXRFeature.NativeEvent.XrFocused: DiagnosticReport.DumpReport("System Startup Completed"); break; case OpenXRFeature.NativeEvent.XrRequestRestartLoop: Debug.Log((object)"XR Initialization failed, will try to restart xr periodically."); OpenXRRestarter.Instance.PauseAndShutdownAndRestart(); break; case OpenXRFeature.NativeEvent.XrRequestGetSystemLoop: OpenXRRestarter.Instance.PauseAndRetryInitialization(); break; case OpenXRFeature.NativeEvent.XrStopping: instance.StopInternal(); break; } OpenXRFeature.ReceiveNativeEvent(e, payload); if ((!((Object)(object)instance == (Object)null) && instance.isStarted) || e == OpenXRFeature.NativeEvent.XrInstanceChanged) { switch (e) { case OpenXRFeature.NativeEvent.XrExiting: OpenXRRestarter.Instance.Shutdown(); break; case OpenXRFeature.NativeEvent.XrLossPending: OpenXRRestarter.Instance.ShutdownAndRestart(); break; case OpenXRFeature.NativeEvent.XrInstanceLossPending: OpenXRRestarter.Instance.Shutdown(); break; } } } internal static void RegisterOpenXRCallbacks() { Internal_SetCallbacks(ReceiveNativeEvent); } [DllImport("UnityOpenXR", EntryPoint = "main_LoadOpenXRLibrary")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_LoadOpenXRLibrary(byte[] loaderPath); [DllImport("UnityOpenXR", EntryPoint = "main_UnloadOpenXRLibrary")] internal static extern void Internal_UnloadOpenXRLibrary(); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_SetCallbacks")] private static extern void Internal_SetCallbacks(ReceiveNativeEventDelegate callback); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "NativeConfig_SetApplicationInfo")] private static extern void Internal_SetApplicationInfo(string applicationName, string applicationVersion, uint applicationVersionHash, string engineVersion); [DllImport("UnityOpenXR", EntryPoint = "session_RequestExitSession")] internal static extern void Internal_RequestExitSession(); [DllImport("UnityOpenXR", EntryPoint = "session_InitializeSession")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_InitializeSession(); [DllImport("UnityOpenXR", EntryPoint = "session_CreateSessionIfNeeded")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_CreateSessionIfNeeded(); [DllImport("UnityOpenXR", EntryPoint = "session_BeginSession")] internal static extern void Internal_BeginSession(); [DllImport("UnityOpenXR", EntryPoint = "session_EndSession")] internal static extern void Internal_EndSession(); [DllImport("UnityOpenXR", EntryPoint = "session_DestroySession")] internal static extern void Internal_DestroySession(); [DllImport("UnityOpenXR", EntryPoint = "messagepump_PumpMessageLoop")] private static extern void Internal_PumpMessageLoop(); [DllImport("UnityOpenXR", EntryPoint = "session_SetSuccessfullyInitialized")] internal static extern void Internal_SetSuccessfullyInitialized(bool value); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "unity_ext_RequestEnableExtensionString")] [return: MarshalAs(UnmanagedType.U1)] internal static extern bool Internal_RequestEnableExtensionString(string extensionString); } public class OpenXRLoaderNoPreInit : OpenXRLoaderBase { } internal class OpenXRRestarter : MonoBehaviour { internal Action onAfterRestart; internal Action onAfterShutdown; internal Action onQuit; internal Action onAfterCoroutine; internal Action onAfterSuccessfulRestart; private static OpenXRRestarter s_Instance; private Coroutine m_Coroutine; private static int m_pauseAndRestartCoroutineCount; private Object m_PauseAndRestartCoroutineCountLock = new Object(); private static int m_pauseAndRestartAttempts; public bool isRunning => m_Coroutine != null; public static float TimeBetweenRestartAttempts { get; set; } public static int PauseAndRestartAttempts => m_pauseAndRestartAttempts; internal static int PauseAndRestartCoroutineCount => m_pauseAndRestartCoroutineCount; public static OpenXRRestarter Instance { get { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown if ((Object)(object)s_Instance == (Object)null) { GameObject val = GameObject.Find("~oxrestarter"); if ((Object)(object)val == (Object)null) { val = new GameObject("~oxrestarter"); ((Object)val).hideFlags = (HideFlags)61; val.AddComponent<OpenXRRestarter>(); } s_Instance = val.GetComponent<OpenXRRestarter>(); } return s_Instance; } } internal static bool DisableApplicationQuit { get; set; } static OpenXRRestarter() { TimeBetweenRestartAttempts = 5f; DisableApplicationQuit = false; } public void ResetCallbacks() { onAfterRestart = null; onAfterSuccessfulRestart = null; onAfterShutdown = null; onAfterCoroutine = null; onQuit = null; m_pauseAndRestartAttempts = 0; } public void Shutdown() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { if (m_Coroutine != null) { Debug.LogError((object)"Only one shutdown or restart can be executed at a time"); } else { m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: false, shouldShutdown: true)); } } } public void ShutdownAndRestart() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { if (m_Coroutine != null) { Debug.LogError((object)"Only one shutdown or restart can be executed at a time"); } else { m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: true, shouldShutdown: true)); } } } public void PauseAndShutdownAndRestart() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { ((MonoBehaviour)this).StartCoroutine(PauseAndShutdownAndRestartCoroutine(TimeBetweenRestartAttempts)); } } public void PauseAndRetryInitialization() { if (!((Object)(object)OpenXRLoaderBase.Instance == (Object)null)) { ((MonoBehaviour)this).StartCoroutine(PauseAndRetryInitializationCoroutine(TimeBetweenRestartAttempts)); } } private void IncrementPauseAndRestartCoroutineCount() { lock (m_PauseAndRestartCoroutineCountLock) { m_pauseAndRestartCoroutineCount++; } } private void DecrementPauseAndRestartCoroutineCount() { lock (m_PauseAndRestartCoroutineCountLock) { m_pauseAndRestartCoroutineCount--; } } private IEnumerator PauseAndShutdownAndRestartCoroutine(float pauseTimeInSeconds) { IncrementPauseAndRestartCoroutineCount(); try { yield return (object)new WaitForSeconds(pauseTimeInSeconds); yield return new WaitForRestartFinish(); m_pauseAndRestartAttempts++; m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: true, shouldShutdown: true)); } finally { onAfterCoroutine?.Invoke(); } DecrementPauseAndRestartCoroutineCount(); } private IEnumerator PauseAndRetryInitializationCoroutine(float pauseTimeInSeconds) { IncrementPauseAndRestartCoroutineCount(); try { yield return (object)new WaitForSeconds(pauseTimeInSeconds); yield return new WaitForRestartFinish(); if (!((Object)(object)XRGeneralSettings.Instance.Manager.activeLoader != (Object)null)) { m_pauseAndRestartAttempts++; m_Coroutine = ((MonoBehaviour)this).StartCoroutine(RestartCoroutine(shouldRestart: true, shouldShutdown: false)); } } finally { onAfterCoroutine?.Invoke(); } DecrementPauseAndRestartCoroutineCount(); } private IEnumerator RestartCoroutine(bool shouldRestart, bool shouldShutdown) { try { if (shouldShutdown) { Debug.Log((object)"Shutting down OpenXR."); yield return null; XRGeneralSettings.Instance.Manager.DeinitializeLoader(); yield return null; onAfterShutdown?.Invoke(); } if (shouldRestart && OpenXRRuntime.ShouldRestart()) { Debug.Log((object)"Initializing OpenXR."); yield return XRGeneralSettings.Instance.Manager.InitializeLoader(); XRGeneralSettings.Instance.Manager.StartSubsystems(); if ((Object)(object)XRGeneralSettings.Instance.Manager.activeLoader != (Object)null) { m_pauseAndRestartAttempts = 0; onAfterSuccessfulRestart?.Invoke(); } onAfterRestart?.Invoke(); } else if (OpenXRRuntime.ShouldQuit()) { onQuit?.Invoke(); if (!DisableApplicationQuit) { Application.Quit(); } } } finally { OpenXRRestarter openXRRestarter = this; openXRRestarter.m_Coroutine = null; openXRRestarter.onAfterCoroutine?.Invoke(); } } } public static class OpenXRRuntime { private const string LibraryName = "UnityOpenXR"; public static string name { get { if (!Internal_GetRuntimeName(out var runtimeNamePtr)) { return ""; } return Marshal.PtrToStringAnsi(runtimeNamePtr); } } public static string version { get { if (!Internal_GetRuntimeVersion(out var major, out var minor, out var patch)) { return ""; } return $"{major}.{minor}.{patch}"; } } public static string apiVersion { get { if (!Internal_GetAPIVersion(out var major, out var minor, out var patch)) { return ""; } return $"{major}.{minor}.{patch}"; } } public static string pluginVersion { get { if (!Internal_GetPluginVersion(out var pluginVersionPtr)) { return ""; } return Marshal.PtrToStringAnsi(pluginVersionPtr); } } public static bool retryInitializationOnFormFactorErrors { get { return Internal_GetSoftRestartLoopAtInitialization(); } set { Internal_SetSoftRestartLoopAtInitialization(value); } } public static event Func<bool> wantsToQuit; public static event Func<bool> wantsToRestart; public static bool IsExtensionEnabled(string extensionName) { return Internal_IsExtensionEnabled(extensionName); } public static uint GetExtensionVersion(string extensionName) { return Internal_GetExtensionVersion(extensionName); } public static string[] GetEnabledExtensions() { string[] array = new string[Internal_GetEnabledExtensionCount()]; for (int i = 0; i < array.Length; i++) { Internal_GetEnabledExtensionName((uint)i, out var extensionName); array[i] = extensionName ?? ""; } return array; } public static string[] GetAvailableExtensions() { string[] array = new string[Internal_GetAvailableExtensionCount()]; for (int i = 0; i < array.Length; i++) { Internal_GetAvailableExtensionName((uint)i, out var extensionName); array[i] = extensionName ?? ""; } return array; } private static bool InvokeEvent(Func<bool> func) { if (func == null) { return true; } Delegate[] invocationList = func.GetInvocationList(); for (int i = 0; i < invocationList.Length; i++) { Func<bool> func2 = (Func<bool>)invocationList[i]; try { if (!func2()) { return false; } } catch (Exception ex) { Debug.LogException(ex); } } return true; } internal static bool ShouldQuit() { return InvokeEvent(OpenXRRuntime.wantsToQuit); } internal static bool ShouldRestart() { return InvokeEvent(OpenXRRuntime.wantsToRestart); } [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeName")] private static extern bool Internal_GetRuntimeName(out IntPtr runtimeNamePtr); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetRuntimeVersion")] private static extern bool Internal_GetRuntimeVersion(out ushort major, out ushort minor, out uint patch); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetAPIVersion")] private static extern bool Internal_GetAPIVersion(out ushort major, out ushort minor, out uint patch); [DllImport("UnityOpenXR", EntryPoint = "NativeConfig_GetPluginVersion")] private static extern bool Internal_GetPluginVersion(out IntPtr pluginVersionPtr); [DllImport("UnityOpenXR", EntryPoint = "unity_ext_IsExtensionEnabled")] private static extern bool Internal_IsExtensionEnabled(string extensionName); [DllImport("UnityOpenXR", EntryPoint = "unity_ext_GetExtensionVersion")] private static extern uint Internal_GetExtensionVersion(string extensionName); [DllImport("UnityOpenXR", EntryPoint = "unity_ext_GetEnabledExtensionCount")] private static extern uint Internal_GetEnabledExtensionCount(); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "unity_ext_GetEnabledExtensionName")] private static extern bool Internal_GetEnabledExtensionNamePtr(uint index, out IntPtr outName); [DllImport("UnityOpenXR", EntryPoint = "session_SetSoftRestartLoopAtInitialization")] private static extern void Internal_SetSoftRestartLoopAtInitialization(bool value); [DllImport("UnityOpenXR", EntryPoint = "session_GetSoftRestartLoopAtInitialization")] private static extern bool Internal_GetSoftRestartLoopAtInitialization(); private static bool Internal_GetEnabledExtensionName(uint index, out string extensionName) { if (!Internal_GetEnabledExtensionNamePtr(index, out var outName)) { extensionName = ""; return false; } extensionName = Marshal.PtrToStringAnsi(outName); return true; } [DllImport("UnityOpenXR", EntryPoint = "unity_ext_GetAvailableExtensionCount")] private static extern uint Internal_GetAvailableExtensionCount(); [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "unity_ext_GetAvailableExtensionName")] private static extern bool Internal_GetAvailableExtensionNamePtr(uint index, out IntPtr extensionName); private static bool Internal_GetAvailableExtensionName(uint index, out string extensionName) { if (!Internal_GetAvailableExtensionNamePtr(index, out var extensionName2)) { extensionName = ""; return false; } extensionName = Marshal.PtrToStringAnsi(extensionName2); return true; } [DllImport("UnityOpenXR", CharSet = CharSet.Ansi, EntryPoint = "session_GetLastError")] private static extern bool Internal_GetLastError(out IntPtr error); internal static bool GetLastError(out string error) { if (!Internal_GetLastError(out var error2)) { error = ""; return false; } error = Marshal.PtrToStringAnsi(error2); return true; } internal static void LogLastError() { if (GetLastError(out var error)) { Debug.LogError((object)error); } } } internal sealed class WaitForRestartFinish : CustomYieldInstruction { private float m_Timeout; public override bool keepWaiting { get { if (!OpenXRRestarter.Instance.isRunning) { return false; } if (Time.realtimeSinceStartup > m_Timeout) { Debug.LogError((object)"WaitForRestartFinish: Timeout"); return false; } return true; } } public WaitForRestartFinish(float timeout = 5f) { m_Timeout = Time.realtimeSinceStartup + timeout; } } } namespace UnityEngine.XR.OpenXR.NativeTypes { public enum XrEnvironmentBlendMode { Opaque = 1, Additive, AlphaBlend } public enum XrResult { Success = 0, TimeoutExpored = 1, LossPending = 3, EventUnavailable = 4, SpaceBoundsUnavailable = 7, SessionNotFocused = 8, FrameDiscarded = 9, ValidationFailure = -1, RuntimeFailure = -2, OutOfMemory = -3, ApiVersionUnsupported = -4, InitializationFailed = -6, FunctionUnsupported = -7, FeatureUnsupported = -8, ExtensionNotPresent = -9, LimitReached = -10, SizeInsufficient = -11, HandleInvalid = -12, InstanceLost = -13, SessionRunning = -14, SessionNotRunning = -16, SessionLost = -17, SystemInvalid = -18, PathInvalid = -19, PathCountExceeded = -20, PathFormatInvalid = -21, PathUnsupported = -22, LayerInvalid = -23, LayerLimitExceeded = -24, SwapchainRectInvalid = -25, SwapchainFormatUnsupported = -26, ActionTypeMismatch = -27, SessionNotReady = -28, SessionNotStopping = -29, TimeInvalid = -30, ReferenceSpaceUnsupported = -31, FileAccessError = -32, FileContentsInvalid = -33, FormFactorUnsupported = -34, FormFactorUnavailable = -35, ApiLayerNotPresent = -36, CallOrderInvalid = -37, GraphicsDeviceInvalid = -38, PoseInvalid = -39, IndexOutOfRange = -40, ViewConfigurationTypeUnsupported = -41, EnvironmentBlendModeUnsupported = -42, NameDuplicated = -44, NameInvalid = -45, ActionsetNotAttached = -46, ActionsetsAlreadyAttached = -47, LocalizedNameDuplicated = -48, LocalizedNameInvalid = -49, AndroidThreadSettingsIdInvalidKHR = -1000003000, AndroidThreadSettingsdFailureKHR = -1000003001, CreateSpatialAnchorFailedMSFT = -1000039001, SecondaryViewConfigurationTypeNotEnabledMSFT = -1000053000, MaxResult = int.MaxValue } public enum XrViewConfigurationType { PrimaryMono = 1, PrimaryStereo = 2, PrimaryQuadVarjo = 1000037000, SecondaryMonoFirstPersonObserver = 1000054000, SecondaryMonoThirdPersonObserver = 1000145000 } [Flags] public enum XrSpaceLocationFlags { None = 0, OrientationValid = 1, PositionValid = 2, OrientationTracked = 4, PositionTracked = 8 } [Flags] public enum XrViewStateFlags { None = 0, OrientationValid = 1, PositionValid = 2, OrientationTracked = 4, PositionTracked = 8 } [Flags] public enum XrReferenceSpaceType { View = 1, Local = 2, Stage = 3, UnboundedMsft = 0x3B9B5E70, CombinedEyeVarjo = 0x3B9CA2A8 } public enum XrSessionState { Unknown, Idle, Ready, Synchronized, Visible, Focused, Stopping, LossPending, Exiting } internal struct XrVector2f { private float x; private float y; public XrVector2f(float x, float y) { this.x = x; this.y = y; } public XrVector2f(Vector2 value) { //IL_0001: 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) x = value.x; y = value.y; } } internal struct XrVector3f { private float x; private float y; private float z; public XrVector3f(float x, float y, float z) { this.x = x; this.y = y; this.z = 0f - z; } public XrVector3f(Vector3 value) { //IL_0001: 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_0019: Unknown result type (might be due to invalid IL or missing references) x = value.x; y = value.y; z = 0f - value.z; } } internal struct XrQuaternionf { private float x; private float y; private float z; private float w; public XrQuaternionf(float x, float y, float z, float w) { this.x = 0f - x; this.y = 0f - y; this.z = z; this.w = w; } public XrQuaternionf(Quaternion quaternion) { //IL_0001: 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_001b: 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) x = 0f - quaternion.x; y = 0f - quaternion.y; z = quaternion.z; w = quaternion.w; } } internal struct XrPosef { private XrQuaternionf orientation; private XrVector3f position; public XrPosef(Vector3 vec3, Quaternion quaternion) { //IL_0001: 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) position = new XrVector3f(vec3); orientation = new XrQuaternionf(quaternion); } } } namespace UnityEngine.XR.OpenXR.Input { [StructLayout(LayoutKind.Sequential, Size = 1)] public struct Haptic { } [Preserve] public class HapticControl : InputControl<Haptic> { public HapticControl() { ((InputStateBlock)(ref ((InputControl)this).m_StateBlock)).sizeInBits = 1u; ((InputStateBlock)(ref ((InputControl)this).m_StateBlock)).bitOffset = 0u; ((InputStateBlock)(ref ((InputControl)this).m_StateBlock)).byteOffset = 0u; } public unsafe override Haptic ReadUnprocessedValueFromState(void* statePtr) { return default(Haptic); } } [Preserve] [InputControlLayout(displayName = "OpenXR Action Map")] public abstract class OpenXRDevice : InputDevice { protected override void FinishSetup() { //IL_0007: 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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: 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_0046: Unknown result type (might be due to invalid IL or missing references) ((InputControl)this).FinishSetup(); InputDeviceDescription description = ((InputDevice)this).description; XRDeviceDescriptor val = XRDeviceDescriptor.FromJson(((InputDeviceDescription)(ref description)).capabilities); if (val != null) { if ((val.characteristics & 0x100) != 0) { InputSystem.SetDeviceUsage((InputDevice)(object)this, CommonUsages.LeftHand); } else if ((val.characteristics & 0x200) != 0) { InputSystem.SetDeviceUsage((InputDevice)(object)this, CommonUsages.RightHand); } } } } [Preserve] [InputControlLayout(displayName = "OpenXR HMD")] internal class OpenXRHmd : XRHMD { [Preserve] [InputControl] private ButtonControl userPresence { get; set; } protected override void FinishSetup() { ((XRHMD)this).FinishSetup(); userPresence = ((InputControl)this).GetChildControl<ButtonControl>("UserPresence"); } } public static class OpenXRInput { [StructLayout(LayoutKind.Explicit)] private struct SerializedGuid { [FieldOffset(0)] public Guid guid; [FieldOffset(0)] public ulong ulong1; [FieldOffset(8)] public ulong ulong2; } internal struct SerializedBinding { public ulong actionId; public string path; } [Flags] public enum InputSourceNameFlags { UserPath = 1, InteractionProfile = 2, Component = 4, All = 7 } [StructLayout(LayoutKind.Explicit, Size = 12)] private struct GetInternalDeviceIdCommand : IInputDeviceCommandInfo { private const int k_BaseCommandSizeSize = 8; private const int k_Size = 12; [FieldOffset(0)] private InputDeviceCommand baseCommand; [FieldOffset(8)] public readonly uint deviceId; private static FourCC Type => new FourCC('X', 'R', 'D', 'I'); public FourCC typeStatic => Type; public static GetInternalDeviceIdCommand Create() { //IL_000a: 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_0016: Unknown result type (might be due to invalid IL or missing references) GetInternalDeviceIdCommand result = default(GetInternalDeviceIdCommand); result.baseCommand = new InputDeviceCommand(Type, 12); return result; } } private static readonly Dictionary<string, OpenXRInteractionFeature.ActionType> ExpectedControlTypeToActionType = new Dictionary<string, OpenXRInteractionFeature.ActionType> { ["Digital"] = OpenXRInteractionFeature.ActionType.Binary, ["Button"] = OpenXRInteractionFeature.ActionType.Binary, ["Axis"] = OpenXRInteractionFeature.ActionType.Axis1D, ["Integer"] = OpenXRInteractionFeature.ActionType.Axis1D, ["Analog"] = OpenXRInteractionFeature.ActionType.Axis1D, ["Vector2"] = OpenXRInteractionFeature.ActionType.Axis2D, ["Dpad"] = OpenXRInteractionFeature.ActionType.Axis2D, ["Stick"] = OpenXRInteractionFeature.ActionType.Axis2D, ["Pose"] = OpenXRInteractionFeature.ActionType.Pose, ["Vector3"] = OpenXRInteractionFeature.ActionType.Pose, ["Quaternion"] = OpenXRInteractionFeature.ActionType.Pose, ["Haptic"] = OpenXRInteractionFeature.ActionType.Vibrate }; private const string s_devicePoseActionName = "devicepose"; private const string s_pointerActionName = "pointer"; private static readonly Dictionary<string, string> kVirtualControlMap = new Dictionary<string, string> { ["deviceposition"] = "devicepose", ["devicerotation"] = "devicepose", ["trackingstate"] = "devicepose", ["istracked"] = "devicepose", ["pointerposition"] = "pointer", ["pointerrotation"] = "pointer" }; private const string Library = "UnityOpenXR"; internal static void RegisterLayouts() { //IL_0026: 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_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: 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) InputSystem.RegisterLayout<HapticControl>("Haptic", (InputDeviceMatcher?)null); InputSystem.RegisterLayout<OpenXRDevice>((string)null, (InputDeviceMatcher?)null); InputDeviceMatcher val = default(InputDeviceMatcher); val = ((InputDeviceMatcher)(ref val)).WithInterface("^(XRInput)", true); val = ((InputDeviceMatcher)(ref val)).WithProduct("Head Tracking - OpenXR", true); InputSystem.RegisterLayout<OpenXRHmd>((string)null, (InputDeviceMatcher?)((InputDeviceMatcher)(ref val)).WithManufacturer("OpenXR", true)); OpenXRInteractionFeature.RegisterLayouts(); } private static bool ValidateActionMapConfig(OpenXRInteractionFeature interactionFeature, OpenXRInteractionFeature.ActionMapConfig actionMapConfig) { bool result = true; if (actionMapConfig.deviceInfos == null || actionMapConfig.deviceInfos.Count == 0) { Debug.LogError((object)$"ActionMapConfig contains no `deviceInfos` in InteractionFeature '{((object)interactionFeature).GetType()}'"); result = false; } if (actionMapConfig.actions == null || actionMapConfig.actions.Count == 0) { Debug.LogError((object)$"ActionMapConfig contains no `actions` in InteractionFeature '{((object)interactionFeature).GetType()}'"); result = false; } return result; } internal static void AttachActionSets() { List<OpenXRInteractionFeature.ActionMapConfig> list = new List<OpenXRInteractionFeature.ActionMapConfig>(); List<OpenXRInteractionFeature.ActionMapConfig> list2 = new List<OpenXRInteractionFeature.ActionMapConfig>(); foreach (OpenXRInteractionFeature item in from f in OpenXRSettings.Instance.features.OfType<OpenXRInteractionFeature>() where f.enabled && !f.IsAdditive select f) { int count = list.Count; item.CreateActionMaps(list); for (int num = list.Count - 1; num >= count; num--) { if (!ValidateActionMapConfig(item, list[num])) { list.RemoveAt(num); } } } if (!RegisterDevices(list, isAdditive: false)) { return; } foreach (OpenXRInteractionFeature item2 in from f in OpenXRSettings.Instance.features.OfType<OpenXRInteractionFeature>() where f.enabled && f.IsAdditive select f) { item2.CreateActionMaps(list2); item2.AddAdditiveActions(list, list2[list2.Count - 1]); } Dictionary<string, List<SerializedBinding>> dictionary = new Dictionary<string, List<SerializedBinding>>(); if (!CreateActions(list, dictionary)) { return; } if (list2.Count > 0) { RegisterDevices(list2, isAdditive: true); CreateActions(list2, dictionary); } SetDpadBindingCustomValues(); foreach (KeyValuePair<string, List<SerializedBinding>> item3 in dictionary) { if (!Internal_SuggestBindings(item3.Key, item3.Value.ToArray(), (uint)item3.Value.Count)) { OpenXRRuntime.LogLastError(); } } if (!Internal_AttachActionSets()) { OpenXRRuntime.LogLastError(); } } private static bool RegisterDevices(List<OpenXRInteractionFeature.ActionMapConfig> actionMaps, bool isAdditive) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected I4, but got Unknown foreach (OpenXRInteractionFeature.ActionMapConfig actionMap in actionMaps) { foreach (OpenXRInteractionFeature.DeviceConfig deviceInfo in actionMap.deviceInfos) { string name = ((actionMap.desiredInteractionProfile == null) ? UserPathToDeviceName(deviceInfo.userPath) : actionMap.localizedName); if (Internal_RegisterDeviceDefinition(deviceInfo.userPath, actionMap.desiredInteractionProfile, isAdditive, (uint)(int)deviceInfo.characteristics, name, actionMap.manufacturer, actionMap.serialNumber) == 0L) { OpenXRRuntime.LogLastError(); return false; } } } return true; } private static bool CreateActions(List<OpenXRInteractionFeature.ActionMapConfig> actionMaps, Dictionary<string, List<SerializedBinding>> interactionProfiles) { foreach (OpenXRInteractionFeature.ActionMapConfig actionMap in actionMaps) { string localizedName = SanitizeStringForOpenXRPath(actionMap.localizedName); ulong num = Internal_CreateActionSet(SanitizeStringForOpenXRPath(actionMap.name), localizedName, default(SerializedGuid)); if (num == 0L) { OpenXRRuntime.LogLastError(); return false; } List<string> list = actionMap.deviceInfos.Select((OpenXRInteractionFeature.DeviceConfig d) => d.userPath).ToList(); foreach (OpenXRInteractionFeature.ActionConfig action in actionMap.actions) { string[] array = action.bindings.Where((OpenXRInteractionFeature.ActionBinding b) => b.userPaths != null).SelectMany((OpenXRInteractionFeature.ActionBinding b) => b.userPaths).Distinct() .ToList() .Union(list) .ToArray(); ulong num2 = Internal_CreateAction(num, SanitizeStringForOpenXRPath(action.name), action.localizedName, (uint)action.type, default(SerializedGuid), array, (uint)array.Length, action.isAdditive, action.usages?.ToArray(), (uint)(action.usages?.Count ?? 0)); if (num2 == 0L) { OpenXRRuntime.LogLastError(); return false; } foreach (OpenXRInteractionFeature.ActionBinding binding in action.bindings) { foreach (string item in binding.userPaths ?? list) { string key = (action.isAdditive ? actionMap.desiredInteractionProfile : (binding.interactionProfileName ?? actionMap.desiredInteractionProfile)); if (!interactionProfiles.TryGetValue(key, out var value)) { value = (interactionProfiles[key] = new List<SerializedBinding>()); } value.Add(new SerializedBinding { actionId = num2, path = item + binding.interactionPath }); } } } } return true; } private static void SetDpadBindingCustomValues() { DPadInteraction feature = OpenXRSettings.Instance.GetFeature<DPadInteraction>(); if ((Object)(object)feature != (Object)null && feature.enabled) { Internal_SetDpadBindingCustomValues(isLeft: true, feature.forceThresholdLeft, feature.forceThresholdReleaseLeft, feature.centerRegionLeft, feature.wedgeAngleLeft, feature.isStickyLeft); Internal_SetDpadBindingCustomValues(isLeft: false, feature.forceThresholdRight, feature.forceThresholdReleaseRight, feature.centerRegionRight, feature.wedgeAngleRight, feature.isStickyRight); } } private static char SanitizeCharForOpenXRPath(char c) { if (char.IsLower(c) || char.IsDigit(c)) { return c; } if (char.IsUpper(c)) { return char.ToLower(c); } if (c == '-' || c == '.' || c == '_' || c == '/') { return c; } return '\0'; } private static string SanitizeStringForOpenXRPath(string input) { if (string.IsNullOrEmpty(input)) { return ""; } int i; for (i = 0; i < input.Length && SanitizeCharForOpenXRPath(input[i]) == input[i]; i++) { } if (i == input.Length) { return input; } StringBuilder stringBuilder = new StringBuilder(input, 0, i, input.Length); for (; i < input.Length; i++) { char c = SanitizeCharForOpenXRPath(input[i]); if (c != 0) { stringBuilder.Append(c); } } return stringBuilder.ToString(); } private static string GetActionHandleName(InputControl control) { InputControl val = control; while (val.parent != null && val.parent.parent != null) { val = val.parent; } string text = SanitizeStringForOpenXRPath(val.name); if (kVirtualControlMap.TryGetValue(text, out var value)) { return value; } return text; } public static void SendHapticImpulse(InputActionReference actionRef, float amplitude, float duration, InputDevice inputDevice = null) { SendHapticImpulse(actionRef, amplitude, 0f, duration, inputDevice); } public static void SendHapticImpulse(InputActionReference actionRef, float amplitude, float frequency, float duration, InputDevice inputDevice = null) { SendHapticImpulse(actionRef.action, amplitude, frequency, duration, inputDevice); } public static void SendHapticImpulse(InputAction action, float amplitude, float duration, InputDevice inputDevice = null) { SendHapticImpulse(action, amplitude, 0f, duration, inputDevice); } public static void SendHapticImpulse(InputAction action, float amplitude, float frequency, float duration, InputDevice inputDevice = null) { if (action != null) { ulong actionHandle = GetActionHandle(action, inputDevice); if (actionHandle != 0L) { amplitude = Mathf.Clamp(amplitude, 0f, 1f); duration = Mathf.Max(duration, 0f); Internal_SendHapticImpulse(GetDeviceId(inputDevice), actionHandle, amplitude, frequency, duration); } } } public static void StopHaptics(InputActionReference actionRef, InputDevice inputDevice = null) { if (!((Object)(object)actionRef == (Object)null)) { StopHaptics(actionRef.action, inputDevice); } } public static void StopHaptics(InputAction inputAction, InputDevice inputDevice = null) { if (inputAction != null) { ulong actionHandle = GetActionHandle(inputAction, inputDevice); if (actionHandle != 0L) { Internal_StopHaptics(GetDeviceId(inputDevice), actionHandle); } } } public static bool TryGetInputSourceName(InputAction inputAction, int index, out string name, InputSourceNameFlags flags = InputSourceNameFlags.All, InputDevice inputDevice = null) { name = ""; if (index < 0) { return false; } ulong actionHandle = GetActionHandle(inputAction, inputDevice); if (actionHandle == 0L) { return false; } return Internal_TryGetInputSourceName(GetDeviceId(inputDevice), actionHandle, (uint)index, (uint)flags, out name); } public static bool GetActionIsActive(InputAction inputAction) { //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_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_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) if (inputAction != null && inputAction.controls.Count > 0 && inputAction.controls[0].device != null) { for (int i = 0; i < inputAction.controls.Count; i++) { uint deviceId = GetDeviceId(inputAction.controls[i].device); if (deviceId != 0) { string actionHandleName = GetActionHandleName(inputAction.controls[i]); if (Internal_GetActionIsActive(deviceId, actionHandleName)) { return true; } } } } return false; } public static bool TrySetControllerLateLatchAction(InputAction inputAction) { //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_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_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) if (inputAction == null || inputAction.controls.Count != 1) { return false; } if (inputAction.controls[0].device == null) { return false; } uint deviceId = GetDeviceId(inputAction.controls[0].device); if (deviceId == 0) { return false; } ulong actionHandle = GetActionHandle(inputAction); if (actionHandle == 0L) { return false; } return Internal_TrySetControllerLateLatchAction(deviceId, actionHandle); } public static ulong GetActionHandle(InputAction inputAction, InputDevice inputDevice = null) { //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_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due t
BepInEx/plugins/RepoXR/RuntimeDeps/UnityEngine.SpatialTracking.dll
Decompiled 3 months agousing System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using UnityEngine.Events; using UnityEngine.Experimental.XR.Interaction; using UnityEngine.SpatialTracking; using UnityEngine.XR; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("UnityEditor.XR.SpatialTracking")] [assembly: InternalsVisibleTo("UnityEditor.SpatialTracking")] [assembly: AssemblyVersion("0.0.0.0")] [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[229] { 0, 0, 0, 1, 0, 0, 0, 106, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 108, 101, 103, 97, 99, 121, 105, 110, 112, 117, 116, 104, 101, 108, 112, 101, 114, 115, 64, 50, 46, 49, 46, 49, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 92, 66, 97, 115, 101, 80, 111, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 107, 92, 76, 105, 98, 114, 97, 114, 121, 92, 80, 97, 99, 107, 97, 103, 101, 67, 97, 99, 104, 101, 92, 99, 111, 109, 46, 117, 110, 105, 116, 121, 46, 120, 114, 46, 108, 101, 103, 97, 99, 121, 105, 110, 112, 117, 116, 104, 101, 108, 112, 101, 114, 115, 64, 50, 46, 49, 46, 49, 48, 92, 82, 117, 110, 116, 105, 109, 101, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 92, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 46, 99, 115 }; result.TypesData = new byte[297] { 0, 0, 0, 0, 56, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 69, 120, 112, 101, 114, 105, 109, 101, 110, 116, 97, 108, 46, 88, 82, 46, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 124, 66, 97, 115, 101, 80, 111, 115, 101, 80, 114, 111, 118, 105, 100, 101, 114, 0, 0, 0, 0, 60, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 0, 0, 0, 0, 69, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 46, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114, 68, 97, 116, 97, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 124, 80, 111, 115, 101, 68, 97, 116, 97, 0, 0, 0, 0, 42, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 80, 111, 115, 101, 68, 97, 116, 97, 83, 111, 117, 114, 99, 101, 0, 0, 0, 0, 45, 85, 110, 105, 116, 121, 69, 110, 103, 105, 110, 101, 46, 83, 112, 97, 116, 105, 97, 108, 84, 114, 97, 99, 107, 105, 110, 103, 124, 84, 114, 97, 99, 107, 101, 100, 80, 111, 115, 101, 68, 114, 105, 118, 101, 114 }; result.TotalFiles = 2; result.TotalTypes = 5; result.IsEditorOnly = false; return result; } } namespace UnityEngine.SpatialTracking { internal class TrackedPoseDriverDataDescription { internal struct PoseData { public List<string> PoseNames; public List<TrackedPoseDriver.TrackedPose> Poses; } internal static List<PoseData> DeviceData = new List<PoseData> { new PoseData { PoseNames = new List<string> { "Left Eye", "Right Eye", "Center Eye - HMD Reference", "Head", "Color Camera" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.LeftEye, TrackedPoseDriver.TrackedPose.RightEye, TrackedPoseDriver.TrackedPose.Center, TrackedPoseDriver.TrackedPose.Head, TrackedPoseDriver.TrackedPose.ColorCamera } }, new PoseData { PoseNames = new List<string> { "Left Controller", "Right Controller" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.LeftPose, TrackedPoseDriver.TrackedPose.RightPose } }, new PoseData { PoseNames = new List<string> { "Device Pose" }, Poses = new List<TrackedPoseDriver.TrackedPose> { TrackedPoseDriver.TrackedPose.RemotePose } } }; } [Flags] public enum PoseDataFlags { NoData = 0, Position = 1, Rotation = 2 } public static class PoseDataSource { internal static List<XRNodeState> nodeStates = new List<XRNodeState>(); internal static PoseDataFlags GetNodePoseData(XRNode node, out Pose resultPose) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: 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_0028: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) PoseDataFlags poseDataFlags = PoseDataFlags.NoData; InputTracking.GetNodeStates(nodeStates); foreach (XRNodeState nodeState in nodeStates) { XRNodeState current = nodeState; if (((XRNodeState)(ref current)).nodeType == node) { if (((XRNodeState)(ref current)).TryGetPosition(ref resultPose.position)) { poseDataFlags |= PoseDataFlags.Position; } if (((XRNodeState)(ref current)).TryGetRotation(ref resultPose.rotation)) { poseDataFlags |= PoseDataFlags.Rotation; } return poseDataFlags; } } resultPose = Pose.identity; return poseDataFlags; } public static bool TryGetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose) { return GetDataFromSource(poseSource, out resultPose) == (PoseDataFlags.Position | PoseDataFlags.Rotation); } public static PoseDataFlags GetDataFromSource(TrackedPoseDriver.TrackedPose poseSource, out Pose resultPose) { //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) switch (poseSource) { case TrackedPoseDriver.TrackedPose.RemotePose: { PoseDataFlags nodePoseData = GetNodePoseData((XRNode)5, out resultPose); if (nodePoseData == PoseDataFlags.NoData) { return GetNodePoseData((XRNode)4, out resultPose); } return nodePoseData; } case TrackedPoseDriver.TrackedPose.LeftEye: return GetNodePoseData((XRNode)0, out resultPose); case TrackedPoseDriver.TrackedPose.RightEye: return GetNodePoseData((XRNode)1, out resultPose); case TrackedPoseDriver.TrackedPose.Head: return GetNodePoseData((XRNode)3, out resultPose); case TrackedPoseDriver.TrackedPose.Center: return GetNodePoseData((XRNode)2, out resultPose); case TrackedPoseDriver.TrackedPose.LeftPose: return GetNodePoseData((XRNode)4, out resultPose); case TrackedPoseDriver.TrackedPose.RightPose: return GetNodePoseData((XRNode)5, out resultPose); case TrackedPoseDriver.TrackedPose.ColorCamera: return GetNodePoseData((XRNode)2, out resultPose); default: Debug.LogWarningFormat("Unable to retrieve pose data for poseSource: {0}", new object[1] { poseSource.ToString() }); resultPose = Pose.identity; return PoseDataFlags.NoData; } } } [Serializable] [DefaultExecutionOrder(-30000)] [AddComponentMenu("XR/Tracked Pose Driver")] [HelpURL("https://docs.unity3d.com/Packages/[email protected]/manual/index.html")] public class TrackedPoseDriver : MonoBehaviour { public enum DeviceType { GenericXRDevice, GenericXRController, GenericXRRemote } public enum TrackedPose { LeftEye, RightEye, Center, Head, LeftPose, RightPose, ColorCamera, DepthCameraDeprecated, FisheyeCameraDeprected, DeviceDeprecated, RemotePose } public enum TrackingType { RotationAndPosition, RotationOnly, PositionOnly } public enum UpdateType { UpdateAndBeforeRender, Update, BeforeRender } [SerializeField] private DeviceType m_Device; [SerializeField] private TrackedPose m_PoseSource = TrackedPose.Center; [SerializeField] private BasePoseProvider m_PoseProviderComponent; [SerializeField] private TrackingType m_TrackingType; [SerializeField] private UpdateType m_UpdateType; [SerializeField] private bool m_UseRelativeTransform; protected Pose m_OriginPose; public DeviceType deviceType { get { return m_Device; } internal set { m_Device = value; } } public TrackedPose poseSource { get { return m_PoseSource; } internal set { m_PoseSource = value; } } public BasePoseProvider poseProviderComponent { get { return m_PoseProviderComponent; } set { m_PoseProviderComponent = value; } } public TrackingType trackingType { get { return m_TrackingType; } set { m_TrackingType = value; } } public UpdateType updateType { get { return m_UpdateType; } set { m_UpdateType = value; } } public bool UseRelativeTransform { get { return m_UseRelativeTransform; } set { m_UseRelativeTransform = value; } } public Pose originPose { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return m_OriginPose; } set { //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_OriginPose = value; } } public bool SetPoseSource(DeviceType deviceType, TrackedPose pose) { if ((int)deviceType < TrackedPoseDriverDataDescription.DeviceData.Count) { TrackedPoseDriverDataDescription.PoseData poseData = TrackedPoseDriverDataDescription.DeviceData[(int)deviceType]; for (int i = 0; i < poseData.Poses.Count; i++) { if (poseData.Poses[i] == pose) { this.deviceType = deviceType; poseSource = pose; return true; } } } return false; } private PoseDataFlags GetPoseData(DeviceType device, TrackedPose poseSource, out Pose resultPose) { if (!((Object)(object)m_PoseProviderComponent != (Object)null)) { return PoseDataSource.GetDataFromSource(poseSource, out resultPose); } return m_PoseProviderComponent.GetPoseFromProvider(out resultPose); } private void CacheLocalPosition() { //IL_000c: 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_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) m_OriginPose.position = ((Component)this).transform.localPosition; m_OriginPose.rotation = ((Component)this).transform.localRotation; } private void ResetToCachedLocalPosition() { //IL_0007: 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) SetLocalTransform(m_OriginPose.position, m_OriginPose.rotation, PoseDataFlags.Position | PoseDataFlags.Rotation); } protected virtual void Awake() { CacheLocalPosition(); } protected virtual void OnDestroy() { } protected virtual void OnEnable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown Application.onBeforeRender += new UnityAction(OnBeforeRender); } protected virtual void OnDisable() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown ResetToCachedLocalPosition(); Application.onBeforeRender -= new UnityAction(OnBeforeRender); } protected virtual void FixedUpdate() { if (m_UpdateType == UpdateType.Update || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } protected virtual void Update() { if (m_UpdateType == UpdateType.Update || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } [BeforeRenderOrder(-30000)] protected virtual void OnBeforeRender() { if (m_UpdateType == UpdateType.BeforeRender || m_UpdateType == UpdateType.UpdateAndBeforeRender) { PerformUpdate(); } } protected virtual void SetLocalTransform(Vector3 newPosition, Quaternion newRotation, PoseDataFlags poseFlags) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) if ((m_TrackingType == TrackingType.RotationAndPosition || m_TrackingType == TrackingType.RotationOnly) && (poseFlags & PoseDataFlags.Rotation) > PoseDataFlags.NoData) { ((Component)this).transform.localRotation = newRotation; } if ((m_TrackingType == TrackingType.RotationAndPosition || m_TrackingType == TrackingType.PositionOnly) && (poseFlags & PoseDataFlags.Position) > PoseDataFlags.NoData) { ((Component)this).transform.localPosition = newPosition; } } protected Pose TransformPoseByOriginIfNeeded(Pose pose) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //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) if (m_UseRelativeTransform) { return ((Pose)(ref pose)).GetTransformedBy(m_OriginPose); } return pose; } private bool HasStereoCamera() { Camera component = ((Component)this).GetComponent<Camera>(); if ((Object)(object)component != (Object)null) { return component.stereoEnabled; } return false; } protected virtual void PerformUpdate() { //IL_0022: 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_0028: 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_002b: 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) //IL_0031: Unknown result type (might be due to invalid IL or missing references) if (((Behaviour)this).enabled) { Pose resultPose; PoseDataFlags poseData = GetPoseData(m_Device, m_PoseSource, out resultPose); if (poseData != 0) { Pose val = TransformPoseByOriginIfNeeded(resultPose); SetLocalTransform(val.position, val.rotation, poseData); } } } } } namespace UnityEngine.Experimental.XR.Interaction { [Serializable] public abstract class BasePoseProvider : MonoBehaviour { public virtual PoseDataFlags GetPoseFromProvider(out Pose output) { if (TryGetPoseFromProvider(out output)) { return PoseDataFlags.Position | PoseDataFlags.Rotation; } return PoseDataFlags.NoData; } [Obsolete("This function is provided for backwards compatibility with the BasePoseProvider found in com.unity.xr.legacyinputhelpers v1.3.X. Please do not implement this function, instead use the new API via GetPoseFromProvider", false)] public virtual bool TryGetPoseFromProvider(out Pose output) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) output = Pose.identity; return false; } } }