<?xml version="1.0"?>
<doc>
    <assembly>
        <name>BepInEx.Core</name>
    </assembly>
    <members>
        <member name="M:BepInEx.Bootstrap.BaseChainloader`1.ToPluginInfo(Mono.Cecil.TypeDefinition,System.String)">
            <summary>
                Analyzes the given type definition and attempts to convert it to a valid <see cref="T:BepInEx.PluginInfo" />
            </summary>
            <param name="type">Type definition to analyze.</param>
            <param name="assemblyLocation">The filepath of the assembly, to keep as metadata.</param>
            <returns>If the type represent a valid plugin, returns a <see cref="T:BepInEx.PluginInfo" /> instance. Otherwise, return null.</returns>
        </member>
        <member name="P:BepInEx.Bootstrap.BaseChainloader`1.Plugins">
            <summary>
                List of all <see cref="T:BepInEx.PluginInfo" /> instances loaded via the chainloader.
            </summary>
        </member>
        <member name="P:BepInEx.Bootstrap.BaseChainloader`1.DependencyErrors">
            <summary>
                Collection of error chainloader messages that occured during plugin loading.
                Contains information about what certain plugins were not loaded.
            </summary>
        </member>
        <member name="E:BepInEx.Bootstrap.BaseChainloader`1.PluginLoaded">
            <summary>
                Occurs after a plugin is loaded.
            </summary>
        </member>
        <member name="E:BepInEx.Bootstrap.BaseChainloader`1.Finished">
            <summary>
                Occurs after all plugins are loaded.
            </summary>
        </member>
        <member name="M:BepInEx.Bootstrap.BaseChainloader`1.DiscoverPluginsFrom(System.String,System.String)">
            <summary>
            Discovers all plugins in the plugin directory without loading them.
            </summary>
            <remarks>
            This is useful for discovering BepInEx plugin metadata.
            </remarks>
            <param name="path">Path from which to search the plugins.</param>
            <param name="cacheName">Cache name to use. If null, results are not cached.</param>
            <returns>List of discovered plugins and their metadata.</returns>
        </member>
        <member name="M:BepInEx.Bootstrap.BaseChainloader`1.DiscoverPlugins">
            <summary>
            Discovers plugins to load.
            </summary>
            <returns>List of plugins to be loaded.</returns>
        </member>
        <member name="M:BepInEx.Bootstrap.BaseChainloader`1.ModifyLoadOrder(System.Collections.Generic.IList{BepInEx.PluginInfo})">
            <summary>
            Preprocess the plugins and modify the load order.
            </summary>
            <remarks>Some plugins may be skipped if they cannot be loaded (wrong metadata, etc).</remarks>
            <param name="plugins">Plugins to process.</param>
            <returns>List of plugins to load in the correct load order.</returns>
        </member>
        <member name="M:BepInEx.Bootstrap.BaseChainloader`1.Execute">
            <summary>
            Run the chainloader and load all plugins from the plugins folder.
            </summary>
        </member>
        <member name="M:BepInEx.Bootstrap.BaseChainloader`1.LoadPlugins(System.String[])">
            <summary>
            Detects and loads all plugins in the specified directories.
            </summary>
            <remarks>
            It is better to collect all paths at once and use a single call to LoadPlugins than multiple calls.
            This allows to run proper dependency resolving and to load all plugins in one go.
            </remarks>
            <param name="pluginsPaths">Directories to search the plugins from.</param>
            <returns>List of loaded plugin infos.</returns>
        </member>
        <member name="T:BepInEx.Bootstrap.ICacheable">
            <summary>
                A cacheable metadata item. Can be used with <see cref="M:BepInEx.Bootstrap.TypeLoader.LoadAssemblyCache``1(System.String)" /> and
                <see cref="M:BepInEx.Bootstrap.TypeLoader.SaveAssemblyCache``1(System.String,System.Collections.Generic.Dictionary{System.String,System.Collections.Generic.List{``0}},System.Collections.Generic.Dictionary{System.String,System.String})" /> to cache plugin metadata.
            </summary>
        </member>
        <member name="M:BepInEx.Bootstrap.ICacheable.Save(System.IO.BinaryWriter)">
            <summary>
                Serialize the object into a binary format.
            </summary>
            <param name="bw"></param>
        </member>
        <member name="M:BepInEx.Bootstrap.ICacheable.Load(System.IO.BinaryReader)">
            <summary>
                Loads the object from binary format.
            </summary>
            <param name="br"></param>
        </member>
        <member name="T:BepInEx.Bootstrap.CachedAssembly`1">
            <summary>
                A cached assembly.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:BepInEx.Bootstrap.CachedAssembly`1.CacheItems">
            <summary>
                List of cached items inside the assembly.
            </summary>
        </member>
        <member name="P:BepInEx.Bootstrap.CachedAssembly`1.Hash">
            <summary>
                Hash of the assembly. Used to verify that the assembly hasn't been changed.
            </summary>
        </member>
        <member name="T:BepInEx.Bootstrap.TypeLoader">
            <summary>
                Provides methods for loading specified types from an assembly.
            </summary>
        </member>
        <member name="F:BepInEx.Bootstrap.TypeLoader.CecilResolver">
            <summary>
                Default assembly resolved used by the <see cref="T:BepInEx.Bootstrap.TypeLoader" />
            </summary>
        </member>
        <member name="F:BepInEx.Bootstrap.TypeLoader.ReaderParameters">
            <summary>
                Default reader parameters used by <see cref="T:BepInEx.Bootstrap.TypeLoader" />
            </summary>
        </member>
        <member name="E:BepInEx.Bootstrap.TypeLoader.AssemblyResolve">
            <summary>
                Event fired when <see cref="T:BepInEx.Bootstrap.TypeLoader" /> fails to resolve a type during type loading.
            </summary>
        </member>
        <member name="M:BepInEx.Bootstrap.TypeLoader.FindPluginTypes``1(System.String,System.Func{Mono.Cecil.TypeDefinition,System.String,``0},System.Func{Mono.Cecil.AssemblyDefinition,System.Boolean},System.String)">
            <summary>
                Looks up assemblies in the given directory and locates all types that can be loaded and collects their metadata.
            </summary>
            <typeparam name="T">The specific base type to search for.</typeparam>
            <param name="directory">The directory to search for assemblies.</param>
            <param name="typeSelector">A function to check if a type should be selected and to build the type metadata.</param>
            <param name="assemblyFilter">A filter function to quickly determine if the assembly can be loaded.</param>
            <param name="cacheName">The name of the cache to get cached types from.</param>
            <returns>
                A dictionary of all assemblies in the directory and the list of type metadatas of types that match the
                selector.
            </returns>
        </member>
        <member name="M:BepInEx.Bootstrap.TypeLoader.LoadAssemblyCache``1(System.String)">
            <summary>
                Loads an index of type metadatas from a cache.
            </summary>
            <param name="cacheName">Name of the cache</param>
            <typeparam name="T">Cacheable item</typeparam>
            <returns>
                Cached type metadatas indexed by the path of the assembly that defines the type. If no cache is defined,
                return null.
            </returns>
        </member>
        <member name="M:BepInEx.Bootstrap.TypeLoader.SaveAssemblyCache``1(System.String,System.Collections.Generic.Dictionary{System.String,System.Collections.Generic.List{``0}},System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
                Saves indexed type metadata into a cache.
            </summary>
            <param name="cacheName">Name of the cache</param>
            <param name="entries">List of plugin metadatas indexed by the path to the assembly that contains the types</param>
            <param name="hashes">Hash values that can be used for checking similarity between cached and live assembly</param>
            <typeparam name="T">Cacheable item</typeparam>
        </member>
        <member name="M:BepInEx.Bootstrap.TypeLoader.TypeLoadExceptionToString(System.Reflection.ReflectionTypeLoadException)">
            <summary>
                Converts TypeLoadException to a readable string.
            </summary>
            <param name="ex">TypeLoadException</param>
            <returns>Readable representation of the exception</returns>
        </member>
        <member name="T:BepInEx.Configuration.AcceptableValueBase">
            <summary>
                Base type of all classes representing and enforcing acceptable values of config settings.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueBase.#ctor(System.Type)">
            <param name="valueType">Type of values that this class can Clamp.</param>
        </member>
        <member name="P:BepInEx.Configuration.AcceptableValueBase.ValueType">
            <summary>
                Type of the supported values.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueBase.Clamp(System.Object)">
            <summary>
                Change the value to be acceptable, if it's not already.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueBase.IsValid(System.Object)">
            <summary>
                Check if the value is an acceptable value.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueBase.ToDescriptionString">
            <summary>
                Get the string for use in config files.
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.AcceptableValueList`1">
            <summary>
                Specify the list of acceptable values for a setting.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueList`1.#ctor(`0[])">
            <summary>
                Specify the list of acceptable values for a setting.
                If the setting does not equal any of the values, it will be set to the first one.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.AcceptableValueList`1.AcceptableValues">
            <summary>
                List of values that a setting can take.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueList`1.Clamp(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueList`1.IsValid(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueList`1.ToDescriptionString">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Configuration.AcceptableValueRange`1">
            <summary>
                Specify the range of acceptable values for a setting.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueRange`1.#ctor(`0,`0)">
            <param name="minValue">Lowest acceptable value</param>
            <param name="maxValue">Highest acceptable value</param>
        </member>
        <member name="P:BepInEx.Configuration.AcceptableValueRange`1.MinValue">
            <summary>
                Lowest acceptable value
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.AcceptableValueRange`1.MaxValue">
            <summary>
                Highest acceptable value
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueRange`1.Clamp(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueRange`1.IsValid(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.AcceptableValueRange`1.ToDescriptionString">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Configuration.ConfigDefinition">
            <summary>
                Section and key of a setting. Used as a unique key for identification within a
                <see cref="T:BepInEx.Configuration.ConfigFile" />.
                The same definition can be used in multiple config files, it will point to different settings then.
            </summary>
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.#ctor(System.String,System.String)">
            <summary>
                Create a new definition. Definitions with same section and key are equal.
            </summary>
            <param name="section">Group of the setting, case sensitive.</param>
            <param name="key">Name of the setting, case sensitive.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.#ctor(System.String,System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="P:BepInEx.Configuration.ConfigDefinition.Section">
            <summary>
                Group of the setting. All settings within a config file are grouped by this.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigDefinition.Key">
            <summary>
                Name of the setting.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.Equals(BepInEx.Configuration.ConfigDefinition)">
            <summary>
                Check if the definitions are the same.
            </summary>
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.Equals(System.Object)">
            <summary>
                Check if the definitions are the same.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.op_Equality(BepInEx.Configuration.ConfigDefinition,BepInEx.Configuration.ConfigDefinition)">
            <summary>
                Check if the definitions are the same.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.op_Inequality(BepInEx.Configuration.ConfigDefinition,BepInEx.Configuration.ConfigDefinition)">
            <summary>
                Check if the definitions are the same.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigDefinition.ToString">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Configuration.ConfigDescription">
            <summary>
                Metadata of a <see cref="T:BepInEx.Configuration.ConfigEntryBase" />.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigDescription.#ctor(System.String,BepInEx.Configuration.AcceptableValueBase,System.Object[])">
            <summary>
                Create a new description.
            </summary>
            <param name="description">Text describing the function of the setting and any notes or warnings.</param>
            <param name="acceptableValues">
                Range of values that this setting can take. The setting's value will be automatically
                clamped.
            </param>
            <param name="tags">Objects that can be used by user-made classes to add functionality.</param>
        </member>
        <member name="P:BepInEx.Configuration.ConfigDescription.Description">
            <summary>
                Text describing the function of the setting and any notes or warnings.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigDescription.AcceptableValues">
            <summary>
                Range of acceptable values for a setting.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigDescription.Tags">
            <summary>
                Objects that can be used by user-made classes to add functionality.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigDescription.Empty">
            <summary>
                An empty description.
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.ConfigEntry`1">
            <summary>
                Provides access to a single setting inside of a <see cref="T:BepInEx.Configuration.ConfigFile" />.
            </summary>
            <typeparam name="T">Type of the setting.</typeparam>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntry`1.Value">
            <summary>
                Value of this setting.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntry`1.BoxedValue">
            <inheritdoc />
        </member>
        <member name="E:BepInEx.Configuration.ConfigEntry`1.SettingChanged">
            <summary>
                Fired when the setting is changed. Does not detect changes made outside from this object.
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.ConfigEntryBase">
            <summary>
                Container for a single setting of a <see cref="T:BepInEx.Configuration.ConfigFile" />.
                Each config entry is linked to one config file.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigEntryBase.#ctor(BepInEx.Configuration.ConfigFile,BepInEx.Configuration.ConfigDefinition,System.Type,System.Object,BepInEx.Configuration.ConfigDescription)">
            <summary>
                Types of defaultValue and definition.AcceptableValues have to be the same as settingType.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntryBase.ConfigFile">
            <summary>
                Config file this entry is a part of.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntryBase.Definition">
            <summary>
                Category and name of this setting. Used as a unique key for identification within a
                <see cref="T:BepInEx.Configuration.ConfigFile" />.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntryBase.Description">
            <summary>
                Description / metadata of this setting.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntryBase.SettingType">
            <summary>
                Type of the <see cref="P:BepInEx.Configuration.ConfigEntryBase.BoxedValue" /> that this setting holds.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntryBase.DefaultValue">
            <summary>
                Default value of this setting (set only if the setting was not changed before).
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigEntryBase.BoxedValue">
            <summary>
                Get or set the value of the setting.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigEntryBase.GetSerializedValue">
            <summary>
                Get the serialized representation of the value.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigEntryBase.SetSerializedValue(System.String)">
            <summary>
                Set the value by using its serialized form.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigEntryBase.ClampValue``1(``0)">
            <summary>
                If necessary, clamp the value to acceptable value range. T has to be equal to settingType.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigEntryBase.OnSettingChanged(System.Object)">
            <summary>
                Trigger setting changed event.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigEntryBase.WriteDescription(System.IO.StreamWriter)">
            <summary>
                Write a description of this setting using all available metadata.
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.ConfigFile">
            <summary>
                A helper class to handle persistent data. All public methods are thread-safe.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.#ctor(System.String,System.Boolean)">
            <inheritdoc cref="M:BepInEx.Configuration.ConfigFile.#ctor(System.String,System.Boolean,BepInEx.BepInPlugin)" />
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.#ctor(System.String,System.Boolean,BepInEx.BepInPlugin)">
            <summary>
                Create a new config file at the specified config path.
            </summary>
            <param name="configPath">Full path to a file that contains settings. The file will be created as needed.</param>
            <param name="saveOnInit">If the config file/directory doesn't exist, create it immediately.</param>
            <param name="ownerMetadata">Information about the plugin that owns this setting file.</param>
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.Entries">
            <summary>
                All config entries inside
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.ConfigDefinitions">
            <summary>
                Create a list with all config entries inside of this config file.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.ConfigFilePath">
            <summary>
                Full path to the config file. The file might not exist until a setting is added and changed, or <see cref="M:BepInEx.Configuration.ConfigFile.Save" />
                is called.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.SaveOnConfigSet">
            <summary>
                If enabled, writes the config to disk every time a value is set.
                If disabled, you have to manually use <see cref="M:BepInEx.Configuration.ConfigFile.Save" /> or the changes will be lost!
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.Item(BepInEx.Configuration.ConfigDefinition)">
            <inheritdoc />
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.Item(System.String,System.String)">
            <summary>
            </summary>
            <param name="section"></param>
            <param name="key"></param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Contains(System.Collections.Generic.KeyValuePair{BepInEx.Configuration.ConfigDefinition,BepInEx.Configuration.ConfigEntryBase})">
            <inheritdoc />
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.Count">
            <inheritdoc />
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.IsReadOnly">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.ContainsKey(BepInEx.Configuration.ConfigDefinition)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Add(BepInEx.Configuration.ConfigDefinition,BepInEx.Configuration.ConfigEntryBase)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Remove(BepInEx.Configuration.ConfigDefinition)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Clear">
            <inheritdoc />
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.System#Collections#Generic#IDictionary{BepInEx#Configuration#ConfigDefinition,BepInEx#Configuration#ConfigEntryBase}#Item(BepInEx.Configuration.ConfigDefinition)">
            <inheritdoc />
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.Keys">
            <summary>
                Returns the ConfigDefinitions that the ConfigFile contains.
                <para>Creates a new array when the property is accessed. Thread-safe.</para>
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.Values">
            <summary>
                Returns the ConfigEntryBase values that the ConfigFile contains.
                <para>Creates a new array when the property is accessed. Thread-safe.</para>
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.GetConfigEntries">
            <summary>
                Create an array with all config entries inside of this config file. Should be only used for metadata purposes.
                If you want to access and modify an existing setting then use
                <see cref="M:BepInEx.Configuration.ConfigFile.AddSetting``1(BepInEx.Configuration.ConfigDefinition,``0,BepInEx.Configuration.ConfigDescription)" />
                instead with no description.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigFile.GenerateSettingDescriptions">
            <summary>
                Generate user-readable comments for each of the settings in the saved .cfg file.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Reload">
            <summary>
                Reloads the config from disk. Unsaved changes are lost.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Save">
            <summary>
                Writes the config to disk.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.TrySave">
            <summary>
                Writes the config to disk like <see cref="M:BepInEx.Configuration.ConfigFile.Save" />, but logs and swallows I/O failures (e.g. a read-only
                or locked config file) instead of throwing. Used only for the creation-time saves (initial file write and
                new-entry binds), which can run before logging is up; explicit saves and setting changes still throw.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.GetSetting``1(BepInEx.Configuration.ConfigDefinition)">
            <summary>
                Access one of the existing settings. If the setting has not been added yet, null is returned.
                If the setting exists but has a different type than T, an exception is thrown.
                New settings should be added with <see cref="M:BepInEx.Configuration.ConfigFile.AddSetting``1(BepInEx.Configuration.ConfigDefinition,``0,BepInEx.Configuration.ConfigDescription)" />.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="configDefinition">Section and Key of the setting.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.GetSetting``1(System.String,System.String)">
            <summary>
                Access one of the existing settings. If the setting has not been added yet, null is returned.
                If the setting exists but has a different type than T, an exception is thrown.
                New settings should be added with <see cref="M:BepInEx.Configuration.ConfigFile.AddSetting``1(BepInEx.Configuration.ConfigDefinition,``0,BepInEx.Configuration.ConfigDescription)" />.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="section">Section/category/group of the setting. Settings are grouped by this.</param>
            <param name="key">Name of the setting.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.TryGetEntry``1(BepInEx.Configuration.ConfigDefinition,BepInEx.Configuration.ConfigEntry{``0}@)">
            <summary>
                Access one of the existing settings. If the setting has not been added yet, false is returned. Otherwise, true.
                If the setting exists but has a different type than T, an exception is thrown.
                New settings should be added with
                <see cref="M:BepInEx.Configuration.ConfigFile.Bind``1(BepInEx.Configuration.ConfigDefinition,``0,BepInEx.Configuration.ConfigDescription)" />.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="configDefinition">Section and Key of the setting.</param>
            <param name="entry">The ConfigEntry value to return.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.TryGetEntry``1(System.String,System.String,BepInEx.Configuration.ConfigEntry{``0}@)">
            <summary>
                Access one of the existing settings. If the setting has not been added yet, null is returned.
                If the setting exists but has a different type than T, an exception is thrown.
                New settings should be added with
                <see cref="M:BepInEx.Configuration.ConfigFile.Bind``1(BepInEx.Configuration.ConfigDefinition,``0,BepInEx.Configuration.ConfigDescription)" />.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="section">Section/category/group of the setting. Settings are grouped by this.</param>
            <param name="key">Name of the setting.</param>
            <param name="entry">The ConfigEntry value to return.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Bind``1(BepInEx.Configuration.ConfigDefinition,``0,BepInEx.Configuration.ConfigDescription)">
            <summary>
                Create a new setting. The setting is saved to drive and loaded automatically.
                Each definition can be used to add only one setting, trying to add a second setting will throw an exception.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="configDefinition">Section and Key of the setting.</param>
            <param name="defaultValue">Value of the setting if the setting was not created yet.</param>
            <param name="configDescription">Description of the setting shown to the user and other metadata.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Bind``1(System.String,System.String,``0,BepInEx.Configuration.ConfigDescription)">
            <summary>
                Create a new setting. The setting is saved to drive and loaded automatically.
                Each section and key pair can be used to add only one setting, trying to add a second setting will throw an
                exception.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="section">Section/category/group of the setting. Settings are grouped by this.</param>
            <param name="key">Name of the setting.</param>
            <param name="defaultValue">Value of the setting if the setting was not created yet.</param>
            <param name="configDescription">Description of the setting shown to the user and other metadata.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Bind``1(System.String,System.String,``0,System.String)">
            <summary>
                Create a new setting. The setting is saved to drive and loaded automatically.
                Each section and key pair can be used to add only one setting, trying to add a second setting will throw an
                exception.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="section">Section/category/group of the setting. Settings are grouped by this.</param>
            <param name="key">Name of the setting.</param>
            <param name="defaultValue">Value of the setting if the setting was not created yet.</param>
            <param name="description">Simple description of the setting shown to the user.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.AddSetting``1(BepInEx.Configuration.ConfigDefinition,``0,BepInEx.Configuration.ConfigDescription)">
            <summary>
                Create a new setting. The setting is saved to drive and loaded automatically.
                Each definition can be used to add only one setting, trying to add a second setting will throw an exception.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="configDefinition">Section and Key of the setting.</param>
            <param name="defaultValue">Value of the setting if the setting was not created yet.</param>
            <param name="configDescription">Description of the setting shown to the user and other metadata.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.AddSetting``1(System.String,System.String,``0,BepInEx.Configuration.ConfigDescription)">
            <summary>
                Create a new setting. The setting is saved to drive and loaded automatically.
                Each section and key pair can be used to add only one setting, trying to add a second setting will throw an
                exception.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="section">Section/category/group of the setting. Settings are grouped by this.</param>
            <param name="key">Name of the setting.</param>
            <param name="defaultValue">Value of the setting if the setting was not created yet.</param>
            <param name="configDescription">Description of the setting shown to the user and other metadata.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.AddSetting``1(System.String,System.String,``0,System.String)">
            <summary>
                Create a new setting. The setting is saved to drive and loaded automatically.
                Each section and key pair can be used to add only one setting, trying to add a second setting will throw an
                exception.
            </summary>
            <typeparam name="T">Type of the value contained in this setting.</typeparam>
            <param name="section">Section/category/group of the setting. Settings are grouped by this.</param>
            <param name="key">Name of the setting.</param>
            <param name="defaultValue">Value of the setting if the setting was not created yet.</param>
            <param name="description">Simple description of the setting shown to the user.</param>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Wrap``1(System.String,System.String,System.String,``0)">
            <summary>
                Access a setting. Use Bind instead.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.ConfigFile.Wrap``1(BepInEx.Configuration.ConfigDefinition,``0)">
            <summary>
                Access a setting. Use Bind instead.
            </summary>
        </member>
        <member name="E:BepInEx.Configuration.ConfigFile.ConfigReloaded">
            <summary>
                An event that is fired every time the config is reloaded.
            </summary>
        </member>
        <member name="E:BepInEx.Configuration.ConfigFile.SettingChanged">
            <summary>
                Fired when one of the settings is changed.
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.ConfigWrapper`1">
            <summary>
                Provides access to a single setting inside of a <see cref="T:BepInEx.Configuration.ConfigFile" />.
            </summary>
            <typeparam name="T">Type of the setting.</typeparam>
        </member>
        <member name="P:BepInEx.Configuration.ConfigWrapper`1.ConfigEntry">
            <summary>
                Entry of this setting in the <see cref="T:BepInEx.Configuration.ConfigFile" />.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigWrapper`1.Definition">
            <summary>
                Unique definition of this setting.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigWrapper`1.ConfigFile">
            <summary>
                Config file this setting is inside of.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.ConfigWrapper`1.Value">
            <summary>
                Value of this setting.
            </summary>
        </member>
        <member name="E:BepInEx.Configuration.ConfigWrapper`1.SettingChanged">
            <summary>
                Fired when the setting is changed. Does not detect changes made outside from this object.
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.SettingChangedEventArgs">
            <summary>
                Arguments for events concerning a change of a setting.
            </summary>
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Configuration.SettingChangedEventArgs.#ctor(BepInEx.Configuration.ConfigEntryBase)">
            <inheritdoc />
        </member>
        <member name="P:BepInEx.Configuration.SettingChangedEventArgs.ChangedSetting">
            <summary>
                Setting that was changed
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.TomlTypeConverter">
            <summary>
                Serializer/deserializer used by the config system.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.TomlTypeConverter.ConvertToString(System.Object,System.Type)">
            <summary>
                Convert object of a given type to a string using available converters.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.TomlTypeConverter.ConvertToValue``1(System.String)">
            <summary>
                Convert string to an object of a given type using available converters.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.TomlTypeConverter.ConvertToValue(System.String,System.Type)">
            <summary>
                Convert string to an object of a given type using available converters.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.TomlTypeConverter.GetConverter(System.Type)">
            <summary>
                Get a converter for a given type if there is any.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.TomlTypeConverter.AddConverter(System.Type,BepInEx.Configuration.TypeConverter)">
            <summary>
                Add a new type converter for a given type.
                If a different converter is already added, this call is ignored and false is returned.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.TomlTypeConverter.CanConvert(System.Type)">
            <summary>
                Check if a given type can be converted to and from string.
            </summary>
        </member>
        <member name="M:BepInEx.Configuration.TomlTypeConverter.GetSupportedTypes">
            <summary>
                Give a list of types with registered converters.
            </summary>
        </member>
        <member name="T:BepInEx.Configuration.TypeConverter">
            <summary>
                A serializer/deserializer combo for some type(s). Used by the config system.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.TypeConverter.ConvertToString">
            <summary>
                Used to serialize the type into a (hopefully) human-readable string.
                Object is the instance to serialize, Type is the object's type.
            </summary>
        </member>
        <member name="P:BepInEx.Configuration.TypeConverter.ConvertToObject">
            <summary>
                Used to deserialize the type from a string.
                String is the data to deserialize, Type is the object's type, should return instance to an object of Type.
            </summary>
        </member>
        <member name="P:BepInEx.ConsoleManager.ConsoleActive">
            <summary>
                True if an external console has been started, false otherwise.
            </summary>
        </member>
        <member name="P:BepInEx.ConsoleManager.StandardOutStream">
            <summary>
                The stream that writes to the standard out stream of the process. Should never be null.
            </summary>
        </member>
        <member name="P:BepInEx.ConsoleManager.ConsoleStream">
            <summary>
                The stream that writes to an external console. Null if no such console exists
            </summary>
        </member>
        <member name="T:BepInEx.BepInPlugin">
            <summary>
                This attribute denotes that a class is a plugin, and specifies the required metadata.
            </summary>
        </member>
        <member name="M:BepInEx.BepInPlugin.#ctor(System.String,System.String,System.String)">
            <param name="GUID">The unique identifier of the plugin. Should not change between plugin versions.</param>
            <param name="Name">The user friendly name of the plugin. Is able to be changed between versions.</param>
            <param name="Version">The specific version of the plugin.</param>
        </member>
        <member name="P:BepInEx.BepInPlugin.GUID">
            <summary>
                The unique identifier of the plugin. Should not change between plugin versions.
            </summary>
        </member>
        <member name="P:BepInEx.BepInPlugin.Name">
            <summary>
                The user friendly name of the plugin. Is able to be changed between versions.
            </summary>
        </member>
        <member name="P:BepInEx.BepInPlugin.Version">
            <summary>
                The specific version of the plugin.
            </summary>
        </member>
        <member name="T:BepInEx.BepInDependency">
            <summary>
                This attribute specifies any dependencies that this plugin has on other plugins.
            </summary>
        </member>
        <member name="T:BepInEx.BepInDependency.DependencyFlags">
            <summary>
                Flags that are applied to a dependency
            </summary>
        </member>
        <member name="F:BepInEx.BepInDependency.DependencyFlags.HardDependency">
            <summary>
                The plugin has a hard dependency on the referenced plugin, and will not run without it.
            </summary>
        </member>
        <member name="F:BepInEx.BepInDependency.DependencyFlags.SoftDependency">
            <summary>
                This plugin has a soft dependency on the referenced plugin, and is able to run without it.
            </summary>
        </member>
        <member name="M:BepInEx.BepInDependency.#ctor(System.String,BepInEx.BepInDependency.DependencyFlags)">
            <summary>
                Marks this <see cref="!:BaseUnityPlugin" /> as dependent on another plugin. The other plugin will be loaded before
                this one.
                If the other plugin doesn't exist, what happens depends on the <see cref="P:BepInEx.BepInDependency.Flags" /> parameter.
            </summary>
            <param name="DependencyGUID">The GUID of the referenced plugin.</param>
            <param name="Flags">The flags associated with this dependency definition.</param>
        </member>
        <member name="M:BepInEx.BepInDependency.#ctor(System.String,System.String)">
            <summary>
                Marks this <see cref="!:BaseUnityPlugin" /> as dependent on another plugin. The other plugin will be loaded before
                this one.
                If the other plugin doesn't exist or is of a version not satisfying <see cref="P:BepInEx.BepInDependency.VersionRange" />, this plugin will
                not load and an error will be logged instead.
            </summary>
            <param name="guid">The GUID of the referenced plugin.</param>
            <param name="version">
                The version requirement of the referenced plugin, parsed as a SemVer range
                (see <see href="https://github.com/adamreeve/semver.net#ranges" />). A plain version such as
                <c>1.2.0</c> requires that exact version; use a range such as <c>&gt;=1.2.0</c>, <c>1.2.*</c>,
                <c>~1.2.0</c> or <c>^1.2.0</c> to accept more than one version.
            </param>
            <remarks>
                When a version is supplied the dependency is always treated as a hard dependency.
                Plugins migrating from BepInEx 5 should note a behaviour change: a bare version was previously
                treated as a minimum (<c>&gt;=</c>), whereas in BepInEx 6 it is an exact match. Use
                <c>&gt;=1.2.0</c> to keep the old behaviour.
            </remarks>
        </member>
        <member name="P:BepInEx.BepInDependency.DependencyGUID">
            <summary>
                The GUID of the referenced plugin.
            </summary>
        </member>
        <member name="P:BepInEx.BepInDependency.Flags">
            <summary>
                The flags associated with this dependency definition.
            </summary>
        </member>
        <member name="P:BepInEx.BepInDependency.VersionRange">
            <summary>
                The version <see cref="!:SemVer.Range">range</see> of the referenced plugin.
            </summary>
        </member>
        <member name="T:BepInEx.BepInIncompatibility">
            <summary>
                This attribute specifies other plugins that are incompatible with this plugin.
            </summary>
        </member>
        <member name="M:BepInEx.BepInIncompatibility.#ctor(System.String)">
            <summary>
                Marks this <see cref="!:BaseUnityPlugin" /> as incompatible with another plugin.
                If the other plugin exists, this plugin will not be loaded and a warning will be shown.
            </summary>
            <param name="IncompatibilityGUID">The GUID of the referenced plugin.</param>
        </member>
        <member name="P:BepInEx.BepInIncompatibility.IncompatibilityGUID">
            <summary>
                The GUID of the referenced plugin.
            </summary>
        </member>
        <member name="T:BepInEx.BepInProcess">
            <summary>
                This attribute specifies which processes this plugin should be run for. Not specifying this attribute will load the
                plugin under every process.
            </summary>
        </member>
        <member name="M:BepInEx.BepInProcess.#ctor(System.String)">
            <param name="ProcessName">The name of the process that this plugin will run under.</param>
        </member>
        <member name="P:BepInEx.BepInProcess.ProcessName">
            <summary>
                The name of the process that this plugin will run under.
            </summary>
        </member>
        <member name="T:BepInEx.MetadataHelper">
            <summary>
                Helper class to use for retrieving metadata about a plugin, defined as attributes.
            </summary>
        </member>
        <member name="M:BepInEx.MetadataHelper.GetMetadata(System.Type)">
            <summary>
                Retrieves the BepInPlugin metadata from a plugin type.
            </summary>
            <param name="pluginType">The plugin type.</param>
            <returns>The BepInPlugin metadata of the plugin type.</returns>
        </member>
        <member name="M:BepInEx.MetadataHelper.GetMetadata(System.Object)">
            <summary>
                Retrieves the BepInPlugin metadata from a plugin instance.
            </summary>
            <param name="plugin">The plugin instance.</param>
            <returns>The BepInPlugin metadata of the plugin instance.</returns>
        </member>
        <member name="M:BepInEx.MetadataHelper.GetAttributes``1(System.Type)">
            <summary>
                Gets the specified attributes of a type, if they exist.
            </summary>
            <typeparam name="T">The attribute type to retrieve.</typeparam>
            <param name="pluginType">The plugin type.</param>
            <returns>The attributes of the type, if existing.</returns>
        </member>
        <member name="M:BepInEx.MetadataHelper.GetAttributes``1(System.Reflection.Assembly)">
            <summary>
                Gets the specified attributes of an assembly, if they exist.
            </summary>
            <param name="assembly">The assembly.</param>
            <typeparam name="T">The attribute type to retrieve.</typeparam>
            <returns>The attributes of the type, if existing.</returns>
        </member>
        <member name="M:BepInEx.MetadataHelper.GetAttributes``1(System.Object)">
            <summary>
                Gets the specified attributes of an instance, if they exist.
            </summary>
            <typeparam name="T">The attribute type to retrieve.</typeparam>
            <param name="plugin">The plugin instance.</param>
            <returns>The attributes of the instance, if existing.</returns>
        </member>
        <member name="M:BepInEx.MetadataHelper.GetAttributes``1(System.Reflection.MemberInfo)">
            <summary>
                Gets the specified attributes of a reflection metadata type, if they exist.
            </summary>
            <typeparam name="T">The attribute type to retrieve.</typeparam>
            <param name="member">The reflection metadata instance.</param>
            <returns>The attributes of the instance, if existing.</returns>
        </member>
        <member name="M:BepInEx.MetadataHelper.GetDependencies(System.Type)">
            <summary>
                Retrieves the dependencies of the specified plugin type.
            </summary>
            <param name="plugin">The plugin type.</param>
            <returns>A list of all plugin types that the specified plugin type depends upon.</returns>
        </member>
        <member name="T:BepInEx.PluginInfo">
            <summary>
                Data class that represents information about a loadable BepInEx plugin.
                Contains all metadata and additional info required for plugin loading by <see cref="!:Chainloader" />.
            </summary>
        </member>
        <member name="P:BepInEx.PluginInfo.Metadata">
            <summary>
                General metadata about a plugin.
            </summary>
        </member>
        <member name="P:BepInEx.PluginInfo.Processes">
            <summary>
                Collection of <see cref="T:BepInEx.BepInProcess" /> attributes that describe what processes the plugin can run on.
            </summary>
        </member>
        <member name="P:BepInEx.PluginInfo.Dependencies">
            <summary>
                Collection of <see cref="T:BepInEx.BepInDependency" /> attributes that describe what plugins this plugin depends on.
            </summary>
        </member>
        <member name="P:BepInEx.PluginInfo.Incompatibilities">
            <summary>
                Collection of <see cref="T:BepInEx.BepInIncompatibility" /> attributes that describe what plugins this plugin
                is incompatible with.
            </summary>
        </member>
        <member name="P:BepInEx.PluginInfo.Location">
            <summary>
                File path to the plugin DLL
            </summary>
        </member>
        <member name="P:BepInEx.PluginInfo.Instance">
            <summary>
                Instance of the plugin that represents this info. NULL if no plugin is instantiated from info (yet)
            </summary>
        </member>
        <member name="M:BepInEx.PluginInfo.ToString">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler">
            <summary>
                Interpolated string handler for BepInEx <see cref="T:BepInEx.Logging.Logger" />. This allows to conditionally skip logging certain
                messages and speed up logging in certain places.
            </summary>
            <remarks>
                The class isn't meant to be constructed manually.
                Instead, use <see cref="M:BepInEx.Logging.ManualLogSource.Log(BepInEx.Logging.LogLevel,BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler)" /> with
                string interpolation.
            </remarks>
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler.#ctor(System.Int32,System.Int32,BepInEx.Logging.LogLevel,System.Boolean@)">
            <summary>
                Constructs a log handler.
            </summary>
            <param name="literalLength">Length of the literal string.</param>
            <param name="formattedCount">Number for formatted items.</param>
            <param name="logLevel">Log level the message belongs to.</param>
            <param name="isEnabled">Whether this string should be logged.</param>
        </member>
        <member name="P:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler.Enabled">
            <summary>
                Whether the interpolation is enabled and string will be logged.
            </summary>
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler.AppendLiteral(System.String)">
            <summary>
                Appends a literal string to the interpolation.
            </summary>
            <param name="s">String to append.</param>
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler.AppendFormatted``1(``0)">
            <summary>
                Appends a value to the interpolation.
            </summary>
            <param name="t">Value to append.</param>
            <typeparam name="T">Type of the value to append.</typeparam>
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler.AppendFormatted``1(``0,System.String)">
            <summary>
                Append a formattable item.
            </summary>
            <param name="t">Item to append.</param>
            <param name="format">Format to append with.</param>
            <typeparam name="T">Item type.</typeparam>
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler.AppendFormatted(System.IntPtr,System.String)">
            <summary>
                Append an IntPtr.
            </summary>
            <param name="t">Item to append.</param>
            <param name="format">Format to append with.</param>
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler.ToString">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Core.Logging.Interpolation.BepInExFatalLogInterpolatedStringHandler">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExFatalLogInterpolatedStringHandler.#ctor(System.Int32,System.Int32,System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Core.Logging.Interpolation.BepInExErrorLogInterpolatedStringHandler">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExErrorLogInterpolatedStringHandler.#ctor(System.Int32,System.Int32,System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Core.Logging.Interpolation.BepInExWarningLogInterpolatedStringHandler">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExWarningLogInterpolatedStringHandler.#ctor(System.Int32,System.Int32,System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Core.Logging.Interpolation.BepInExMessageLogInterpolatedStringHandler">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExMessageLogInterpolatedStringHandler.#ctor(System.Int32,System.Int32,System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Core.Logging.Interpolation.BepInExInfoLogInterpolatedStringHandler">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExInfoLogInterpolatedStringHandler.#ctor(System.Int32,System.Int32,System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Core.Logging.Interpolation.BepInExDebugLogInterpolatedStringHandler">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Core.Logging.Interpolation.BepInExDebugLogInterpolatedStringHandler.#ctor(System.Int32,System.Int32,System.Boolean@)">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Logging.ConsoleLogListener">
            <summary>
                Logs entries using a console spawned by BepInEx.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.ConsoleLogListener.LogLevelFilter">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.ConsoleLogListener.LogEvent(System.Object,BepInEx.Logging.LogEventArgs)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.ConsoleLogListener.Dispose">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Logging.DiskLogListener">
            <summary>
                Logs entries using Unity specific outputs.
            </summary>
        </member>
        <member name="M:BepInEx.Logging.DiskLogListener.#ctor(System.String,BepInEx.Logging.LogLevel,System.Boolean,System.Boolean,System.Int32)">
            <summary>
                Creates a new disk log listener.
            </summary>
            <param name="localPath">Path to the log.</param>
            <param name="displayedLogLevel">Log levels to display.</param>
            <param name="appendLog">Whether to append logs to an already existing log file.</param>
            <param name="delayedFlushing">
                Whether to delay flushing to disk to improve performance. Useful to set this to false
                when debugging crashes.
            </param>
            <param name="fileLimit">Maximum amount of concurrently opened log files. Can help with infinite game boot loops.</param>
        </member>
        <member name="P:BepInEx.Logging.DiskLogListener.DisplayedLogLevel">
            <summary>
                Log levels to display.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.DiskLogListener.LogWriter">
            <summary>
                Writer for the disk log.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.DiskLogListener.FlushTimer">
            <summary>
                Timer for flushing the logs to a file.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.DiskLogListener.LogLevelFilter">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.DiskLogListener.LogEvent(System.Object,BepInEx.Logging.LogEventArgs)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.DiskLogListener.Dispose">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Logging.ILogListener">
            <summary>
                A generic log listener that receives log events and can route them to some output (e.g. file, console, socket).
            </summary>
        </member>
        <member name="P:BepInEx.Logging.ILogListener.LogLevelFilter">
            <summary>
                What log levels the listener preliminarily wants.
            </summary>
            <remarks>
                The filter is used to more efficiently discard log messages that aren't being listened to.
                As such, the filter should represent the log levels that the listener will always want to process.
                It is up to the the implementation of <see cref="M:BepInEx.Logging.ILogListener.LogEvent(System.Object,BepInEx.Logging.LogEventArgs)" /> whether the messages are going to be processed or
                discarded.
            </remarks>
            TODO: Right now the filter cannot be updated after the log listener has been attached to the logger.
        </member>
        <member name="M:BepInEx.Logging.ILogListener.LogEvent(System.Object,BepInEx.Logging.LogEventArgs)">
            <summary>
                Handle an incoming log event.
            </summary>
            <param name="sender">Log source that sent the event. Don't use; instead use <see cref="P:BepInEx.Logging.LogEventArgs.Source" /></param>
            <param name="eventArgs">Information about the log message.</param>
        </member>
        <member name="T:BepInEx.Logging.ILogSource">
            <summary>
                Log source that can output log messages.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.ILogSource.SourceName">
            <summary>
                Name of the log source.
            </summary>
        </member>
        <member name="E:BepInEx.Logging.ILogSource.LogEvent">
            <summary>
                Event that sends the log message. Call <see cref="M:System.EventHandler.Invoke(System.Object,System.EventArgs)" /> to send a log message.
            </summary>
        </member>
        <member name="T:BepInEx.Logging.LogEventArgs">
            <summary>
                Log event arguments. Contains info about the log message.
            </summary>
        </member>
        <member name="M:BepInEx.Logging.LogEventArgs.#ctor(System.Object,BepInEx.Logging.LogLevel,BepInEx.Logging.ILogSource)">
            <summary>
                Creates the log event args-
            </summary>
            <param name="data">Logged data.</param>
            <param name="level">Log level of the data.</param>
            <param name="source">Log source that emits these args.</param>
        </member>
        <member name="P:BepInEx.Logging.LogEventArgs.Data">
            <summary>
                Logged data.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.LogEventArgs.Level">
            <summary>
                Log levels for the data.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.LogEventArgs.Source">
            <summary>
                Log source that emitted the log event.
            </summary>
        </member>
        <member name="M:BepInEx.Logging.LogEventArgs.ToString">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.LogEventArgs.ToStringLine">
            <summary>
                Like <see cref="M:BepInEx.Logging.LogEventArgs.ToString" /> but appends newline at the end.
            </summary>
            <returns>Same output as <see cref="M:BepInEx.Logging.LogEventArgs.ToString" /> but with new line.</returns>
        </member>
        <member name="T:BepInEx.Logging.Logger">
            <summary>
                Handles pub-sub event marshalling across all log listeners and sources.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.Logger.ListenedLogLevels">
            <summary>
                Log levels that are currently listened to by at least one listener.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.Logger.Listeners">
            <summary>
                Collection of all log listeners that receive log events.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.Logger.Sources">
            <summary>
                Collection of all log source that output log events.
            </summary>
        </member>
        <member name="M:BepInEx.Logging.Logger.Log(BepInEx.Logging.LogLevel,System.Object)">
            <summary>
                Logs an entry to the internal logger instance.
            </summary>
            <param name="level">The level of the entry.</param>
            <param name="data">The data of the entry.</param>
        </member>
        <member name="M:BepInEx.Logging.Logger.Log(BepInEx.Logging.LogLevel,BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler)">
            <summary>
                Logs an entry to the internal logger instance if any log listener wants the message.
            </summary>
            <param name="level">The level of the entry.</param>
            <param name="logHandler">Log handler to resolve log from.</param>
        </member>
        <member name="M:BepInEx.Logging.Logger.CreateLogSource(System.String)">
            <summary>
                Creates a new log source with a name and attaches it to <see cref="P:BepInEx.Logging.Logger.Sources" />.
            </summary>
            <param name="sourceName">Name of the log source to create.</param>
            <returns>An instance of <see cref="T:BepInEx.Logging.ManualLogSource" /> that allows to write logs.</returns>
        </member>
        <member name="T:BepInEx.Logging.Logger.ThreadSafeCollection`1">
            <summary>
            Simple thread safe list that prioritizes read speed over write speed.
            Read is the same as a normal list, while write locks and allocates a copy of the list.
            Logger lists are rarely updated so this tradeoff should be fine.
            </summary>
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Logging.LogLevel">
            <summary>
                The level, or severity of a log entry.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.None">
            <summary>
                No level selected.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.Fatal">
            <summary>
                A fatal error has occurred, which cannot be recovered from.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.Error">
            <summary>
                An error has occured, but can be recovered from.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.Warning">
            <summary>
                A warning has been produced, but does not necessarily mean that something wrong has happened.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.Message">
            <summary>
                An important message that should be displayed to the user.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.Info">
            <summary>
                A message of low importance.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.Debug">
            <summary>
                A message that would likely only interest a developer.
            </summary>
        </member>
        <member name="F:BepInEx.Logging.LogLevel.All">
            <summary>
                All log levels.
            </summary>
        </member>
        <member name="T:BepInEx.Logging.LogLevelExtensions">
            <summary>
                Helper methods for log level handling.
            </summary>
        </member>
        <member name="M:BepInEx.Logging.LogLevelExtensions.GetHighestLevel(BepInEx.Logging.LogLevel)">
            <summary>
                Gets the highest log level when there could potentially be multiple levels provided.
            </summary>
            <param name="levels">The log level(s).</param>
            <returns>The highest log level supplied.</returns>
        </member>
        <member name="M:BepInEx.Logging.LogLevelExtensions.GetConsoleColor(BepInEx.Logging.LogLevel)">
            <summary>
                Returns a translation of a log level to it's associated console colour.
            </summary>
            <param name="level">The log level(s).</param>
            <returns>A console color associated with the highest log level supplied.</returns>
        </member>
        <member name="T:BepInEx.Logging.ManualLogSource">
            <summary>
                A generic, multi-purpose log source. Exposes simple API to manually emit logs.
            </summary>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.#ctor(System.String)">
            <summary>
                Creates a manual log source.
            </summary>
            <param name="sourceName">Name of the log source.</param>
        </member>
        <member name="P:BepInEx.Logging.ManualLogSource.SourceName">
            <inheritdoc />
        </member>
        <member name="E:BepInEx.Logging.ManualLogSource.LogEvent">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.Dispose">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.Log(BepInEx.Logging.LogLevel,System.Object)">
            <summary>
                Logs a message with the specified log level.
            </summary>
            <param name="level">Log levels to attach to the message. Multiple can be used with bitwise ORing.</param>
            <param name="data">Data to log.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.Log(BepInEx.Logging.LogLevel,BepInEx.Core.Logging.Interpolation.BepInExLogInterpolatedStringHandler)">
            <summary>
                Logs an interpolated string with the specified log level.
            </summary>
            <param name="level">Log levels to attach to the message. Multiple can be used with bitwise ORing.</param>
            <param name="logHandler">Handler for the interpolated string.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogFatal(System.Object)">
            <summary>
                Logs a message with <see cref="F:BepInEx.Logging.LogLevel.Fatal" /> level.
            </summary>
            <param name="data">Data to log.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogFatal(BepInEx.Core.Logging.Interpolation.BepInExFatalLogInterpolatedStringHandler)">
            <summary>
                Logs an interpolated string with <see cref="F:BepInEx.Logging.LogLevel.Fatal" /> level.
            </summary>
            <param name="logHandler">Handler for the interpolated string.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogError(System.Object)">
            <summary>
                Logs a message with <see cref="F:BepInEx.Logging.LogLevel.Error" /> level.
            </summary>
            <param name="data">Data to log.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogError(BepInEx.Core.Logging.Interpolation.BepInExErrorLogInterpolatedStringHandler)">
            <summary>
                Logs an interpolated string with <see cref="F:BepInEx.Logging.LogLevel.Error" /> level.
            </summary>
            <param name="logHandler">Handler for the interpolated string.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogWarning(System.Object)">
            <summary>
                Logs a message with <see cref="F:BepInEx.Logging.LogLevel.Warning" /> level.
            </summary>
            <param name="data">Data to log.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogWarning(BepInEx.Core.Logging.Interpolation.BepInExWarningLogInterpolatedStringHandler)">
            <summary>
                Logs an interpolated string with <see cref="F:BepInEx.Logging.LogLevel.Warning" /> level.
            </summary>
            <param name="logHandler">Handler for the interpolated string.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogMessage(System.Object)">
            <summary>
                Logs a message with <see cref="F:BepInEx.Logging.LogLevel.Message" /> level.
            </summary>
            <param name="data">Data to log.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogMessage(BepInEx.Core.Logging.Interpolation.BepInExMessageLogInterpolatedStringHandler)">
            <summary>
                Logs an interpolated string with <see cref="F:BepInEx.Logging.LogLevel.Message" /> level.
            </summary>
            <param name="logHandler">Handler for the interpolated string.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogInfo(System.Object)">
            <summary>
                Logs a message with <see cref="F:BepInEx.Logging.LogLevel.Info" /> level.
            </summary>
            <param name="data">Data to log.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogInfo(BepInEx.Core.Logging.Interpolation.BepInExInfoLogInterpolatedStringHandler)">
            <summary>
                Logs an interpolated string with <see cref="F:BepInEx.Logging.LogLevel.Info" /> level.
            </summary>
            <param name="logHandler">Handler for the interpolated string.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogDebug(System.Object)">
            <summary>
                Logs a message with <see cref="F:BepInEx.Logging.LogLevel.Debug" /> level.
            </summary>
            <param name="data">Data to log.</param>
        </member>
        <member name="M:BepInEx.Logging.ManualLogSource.LogDebug(BepInEx.Core.Logging.Interpolation.BepInExDebugLogInterpolatedStringHandler)">
            <summary>
                Logs an interpolated string with <see cref="F:BepInEx.Logging.LogLevel.Debug" /> level.
            </summary>
            <param name="logHandler">Handler for the interpolated string.</param>
        </member>
        <member name="T:BepInEx.Logging.TraceLogSource">
            <summary>
                A source that routes all logs from the inbuilt .NET <see cref="T:System.Diagnostics.Trace" /> API to the BepInEx logging system.
            </summary>
            <inheritdoc cref="T:System.Diagnostics.TraceListener" />
        </member>
        <member name="M:BepInEx.Logging.TraceLogSource.#ctor">
            <summary>
                Creates a new trace log source.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.TraceLogSource.IsListening">
            <summary>
                Whether Trace logs are currently being rerouted.
            </summary>
        </member>
        <member name="P:BepInEx.Logging.TraceLogSource.LogSource">
            <summary>
                Internal log source.
            </summary>
        </member>
        <member name="M:BepInEx.Logging.TraceLogSource.CreateSource">
            <summary>
                Creates a new trace log source.
            </summary>
            <returns>New log source (or already existing one).</returns>
        </member>
        <member name="M:BepInEx.Logging.TraceLogSource.Write(System.String)">
            <summary>
                Writes a message to the underlying <see cref="T:BepInEx.Logging.ManualLogSource" /> instance.
            </summary>
            <param name="message">The message to write.</param>
        </member>
        <member name="M:BepInEx.Logging.TraceLogSource.WriteLine(System.String)">
            <summary>
                Writes a message and a newline to the underlying <see cref="T:BepInEx.Logging.ManualLogSource" /> instance.
            </summary>
            <param name="message">The message to write.</param>
        </member>
        <member name="M:BepInEx.Logging.TraceLogSource.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String,System.Object[])">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Logging.TraceLogSource.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String)">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Paths">
            <summary>
                Paths used by BepInEx
            </summary>
        </member>
        <member name="P:BepInEx.Paths.BepInExVersion">
            <summary>
               BepInEx version.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.DisplayBepInExVersion">
            <summary>
               BepInEx version without the build suffix.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.ManagedPath">
            <summary>
                The path to the Managed folder that contains the main managed assemblies.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.GameDataPath">
            <summary>
                The path to the game data folder of the currently running Unity game.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.BepInExAssemblyDirectory">
            <summary>
                The directory that the core BepInEx DLLs reside in.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.BepInExAssemblyPath">
            <summary>
                The path to the core BepInEx DLL.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.BepInExRootPath">
            <summary>
                The path to the main BepInEx folder.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.ExecutablePath">
            <summary>
                The path of the currently executing program BepInEx is encapsulated in.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.GameRootPath">
            <summary>
                The directory that the currently executing process resides in.
                <para>On OSX however, this is the parent directory of the game.app folder.</para>
            </summary>
        </member>
        <member name="P:BepInEx.Paths.ConfigPath">
            <summary>
                The path to the config directory.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.BepInExConfigPath">
            <summary>
                The path to the global BepInEx configuration file.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.CachePath">
            <summary>
                The path to temporary cache files.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.PatcherPluginPath">
            <summary>
                The path to the patcher plugin folder which resides in the BepInEx folder.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.PluginPath">
            <summary>
                The path to the plugin folder which resides in the BepInEx folder.
                <para>
                    This is ONLY guaranteed to be set correctly when Chainloader has been initialized.
                </para>
            </summary>
        </member>
        <member name="P:BepInEx.Paths.ProcessName">
            <summary>
                The name of the currently executing process.
            </summary>
        </member>
        <member name="P:BepInEx.Paths.DllSearchPaths">
            <summary>
                List of directories from where Mono will search assemblies before assembly resolving is invoked.
            </summary>
        </member>
        <member name="T:BepInEx.Utility">
            <summary>
                Generic helper properties and methods.
            </summary>
        </member>
        <member name="P:BepInEx.Utility.CLRSupportsDynamicAssemblies">
            <summary>
                Whether current Common Language Runtime supports dynamic method generation using
                <see cref="N:System.Reflection.Emit" /> namespace.
            </summary>
        </member>
        <member name="P:BepInEx.Utility.UTF8NoBom">
            <summary>
                An encoding for UTF-8 which does not emit a byte order mark (BOM).
            </summary>
        </member>
        <member name="M:BepInEx.Utility.TryDo(System.Action,System.Exception@)">
            <summary>
                Try to perform an action.
            </summary>
            <param name="action">Action to perform.</param>
            <param name="exception">Possible exception that gets returned.</param>
            <returns>True, if action succeeded, false if an exception occured.</returns>
        </member>
        <member name="M:BepInEx.Utility.CombinePaths(System.String[])">
            <summary>
                Combines multiple paths together, as the specific method is not available in .NET 3.5.
            </summary>
            <param name="parts">The multiple paths to combine together.</param>
            <returns>A combined path.</returns>
        </member>
        <member name="M:BepInEx.Utility.ParentDirectory(System.String,System.Int32)">
            <summary>
                Returns the parent directory of a path, optionally specifying the amount of levels.
            </summary>
            <param name="path">The path to get the parent directory of.</param>
            <param name="levels">The amount of levels to traverse. Defaults to 1</param>
            <returns>The parent directory.</returns>
        </member>
        <member name="M:BepInEx.Utility.SafeParseBool(System.String,System.Boolean)">
            <summary>
                Tries to parse a bool, with a default value if unable to parse.
            </summary>
            <param name="input">The string to parse</param>
            <param name="defaultValue">The value to return if parsing is unsuccessful.</param>
            <returns>Boolean value of input if able to be parsed, otherwise default value.</returns>
        </member>
        <member name="M:BepInEx.Utility.ConvertToWWWFormat(System.String)">
            <summary>
                Converts a file path into a UnityEngine.WWW format.
            </summary>
            <param name="path">The file path to convert.</param>
            <returns>A converted file path.</returns>
        </member>
        <member name="M:BepInEx.Utility.IsNullOrWhiteSpace(System.String)">
            <summary>
                Indicates whether a specified string is null, empty, or consists only of white-space characters.
            </summary>
            <param name="self">The string to test.</param>
            <returns>True if the value parameter is null or empty, or if value consists exclusively of white-space characters.</returns>
        </member>
        <member name="M:BepInEx.Utility.TopologicalSort``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">
            <summary>
                Sorts a given dependency graph using a direct toposort, reporting possible cyclic dependencies.
            </summary>
            <param name="nodes">Nodes to sort</param>
            <param name="dependencySelector">Function that maps a node to a collection of its dependencies.</param>
            <typeparam name="TNode">Type of the node in a dependency graph.</typeparam>
            <returns>Collection of nodes sorted in the order of least dependencies to the most.</returns>
            <exception cref="T:System.Exception">Thrown when a cyclic dependency occurs.</exception>
        </member>
        <member name="M:BepInEx.Utility.TryResolveDllAssembly``1(System.Reflection.AssemblyName,System.String,System.Func{System.String,``0},``0@)">
            <summary>
                Try to resolve and load the given assembly DLL.
            </summary>
            <param name="assemblyName">Name of the assembly, of the type <see cref="T:System.Reflection.AssemblyName" />.</param>
            <param name="directory">Directory to search the assembly from.</param>
            <param name="assembly">The loaded assembly.</param>
            <returns>True, if the assembly was found and loaded. Otherwise, false.</returns>
        </member>
        <member name="M:BepInEx.Utility.IsSubtypeOf(Mono.Cecil.TypeDefinition,System.Type)">
            <summary>
                Checks whether a given cecil type definition is a subtype of a provided type.
            </summary>
            <param name="self">Cecil type definition</param>
            <param name="td">Type to check against</param>
            <returns>Whether the given cecil type is a subtype of the type.</returns>
        </member>
        <member name="M:BepInEx.Utility.TryResolveDllAssembly(System.Reflection.AssemblyName,System.String,System.Reflection.Assembly@)">
            <summary>
                Try to resolve and load the given assembly DLL.
            </summary>
            <param name="assemblyName">Name of the assembly, of the type <see cref="T:System.Reflection.AssemblyName" />.</param>
            <param name="directory">Directory to search the assembly from.</param>
            <param name="assembly">The loaded assembly.</param>
            <returns>True, if the assembly was found and loaded. Otherwise, false.</returns>
        </member>
        <member name="M:BepInEx.Utility.TryResolveDllAssembly(System.Reflection.AssemblyName,System.String,Mono.Cecil.ReaderParameters,Mono.Cecil.AssemblyDefinition@)">
            <summary>
                Try to resolve and load the given assembly DLL.
            </summary>
            <param name="assemblyName">Name of the assembly, of the type <see cref="T:System.Reflection.AssemblyName" />.</param>
            <param name="directory">Directory to search the assembly from.</param>
            <param name="readerParameters">Reader parameters that contain possible custom assembly resolver.</param>
            <param name="assembly">The loaded assembly.</param>
            <returns>True, if the assembly was found and loaded. Otherwise, false.</returns>
        </member>
        <member name="M:BepInEx.Utility.TryOpenFileStream(System.String,System.IO.FileMode,System.IO.FileStream@,System.IO.FileAccess,System.IO.FileShare)">
            <summary>
                Tries to create a file with the given name
            </summary>
            <param name="path">Path of the file to create</param>
            <param name="mode">File open mode</param>
            <param name="fileStream">Resulting filestream</param>
            <param name="access">File access options</param>
            <param name="share">File share options</param>
            <returns></returns>
        </member>
        <member name="M:BepInEx.Utility.HashStream(System.IO.Stream)">
            <summary>
                Compute a MD5 hash of the given stream.
            </summary>
            <param name="stream">Stream to hash</param>
            <returns>MD5 hash as a hex string</returns>
        </member>
        <member name="M:BepInEx.Utility.HashStrings(System.String[])">
            <summary>
            Hash a list of strings using MD5
            </summary>
            <param name="strings">Strings to hash</param>
            <returns>MD5 of the strings</returns>
        </member>
        <member name="M:BepInEx.Utility.ByteArrayToString(System.Byte[])">
            <summary>
                Convert the given array to a hex string.
            </summary>
            <param name="data">Bytes to convert.</param>
            <returns>Bytes reinterpreted as a hex number.</returns>
        </member>
        <member name="M:BepInEx.Utility.GetCommandLineArgValue(System.String)">
            <summary>
            Get a value of a command line argument
            </summary>
            <param name="arg">Argument name</param>
            <returns>Next argument after the given argument name. If not found, returns null.</returns>
        </member>
        <member name="M:BepInEx.Utility.TryParseAssemblyName(System.String,System.Reflection.AssemblyName@)">
            <summary>
                Try to parse given string as an assembly name
            </summary>
            <param name="fullName">Fully qualified assembly name</param>
            <param name="assemblyName">Resulting <see cref="T:System.Reflection.AssemblyName" /> instance</param>
            <returns><c>true</c>, if parsing was successful, otherwise <c>false</c></returns>
            <remarks>
                On some versions of mono, using <see cref="M:System.Reflection.Assembly.GetName" /> fails because it runs on unmanaged side
                which has problems with encoding.
                Using <see cref="T:System.Reflection.AssemblyName" /> solves this by doing parsing on managed side instead.
            </remarks>
        </member>
        <member name="M:BepInEx.Utility.GetUniqueFilesInDirectories(System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
                Gets unique files in all given directories. If the file with the same name exists in multiple directories,
                only the first occurrence is returned.
            </summary>
            <param name="directories">Directories to search from.</param>
            <param name="pattern">File pattern to search.</param>
            <returns>Collection of all files in the directories.</returns>
        </member>
        <member name="T:UnityInjector.ConsoleUtil.SafeConsole">
            <summary>
                Console class with safe handlers for Unity 4.x, which does not have a proper Console implementation
            </summary>
        </member>
    </members>
</doc>
