* Use new Lock objects
* Fix CA1513: Use ObjectDisposedException.ThrowIf
* Fix CA1860: Avoid using 'Enumerable.Any()' extension method
* Fix IDE0028: Use collection initializers or expressions
* Fix CA2263: Prefer generic overload when type is known
* Fix CA1862: Use the 'StringComparison' method overloads to perform case-insensitive string comparisons
* Fix IDE0270: Null check can be simplified
* Fix IDE0280: Use 'nameof'
* Fix IDE0009: Add '.this'
* Fix IDE0007: Use 'var' instead of explicit type
* Fix IDE0062: Make local function static
* Fix CA1859: Use concrete types when possible for improved performance
* Fix IDE0066: Use switch expression
Only applied to where it doesn't look horrendous.
* Use is over switch
* Fix CA1847: Use String.Contains(char) instead of String.Contains(string) with single characters
* Fix SYSLIB1045: Use 'GeneratedRegexAttribute' to generate the regular expression implementation at compile-time.
* Fix CA1866: Use 'string.EndsWith(char)' instead of 'string.EndsWith(string)' when you have a string with a single char
* Fix IDE0057: Substring can be simplified
* Fix IDE0059: Remove unnecessary value assignment
* Fix CA1510: Use ArgumentNullException throw helper
* Fix IDE0300: Use collection expression for array
* Fix IDE0250: Struct can be made 'readonly'
* Fix IDE0018: Inline variable declaration
* Fix CA1850: Prefer static HashData method over ComputeHash
* Fi CA1872: Prefer 'Convert.ToHexString' and 'Convert.ToHexStringLower' over call chains based on 'BitConverter.ToString'
* Update ModuleLog instantiations
* Organize usings
* Add additional dtr click events
* Let's just break things and make them really nice
* Add additional dtr click events
* Let's just break things and make them really nice
* Add additional dtr click events
* Let's just break things and make them really nice
* git is stupid
* Documentation fixing
* wip
* hacky fix for overlapping event text in profiler
* move IsResumeGameAfterPluginLoad logic to PluginManager
* fix some warnings
* handle exceptions properly
* remove ability to cancel, rename button to "hide" instead
* undo Dalamud.Service refactor for now
* warnings
* add explainer, show which plugins are still loading
* add some text if loading takes more than 3 minutes
* undo wrong CS merge
* Actually make AddonEventManager thread safe
* Ensure AddonEventHandlers are also thread safe
Additionally, use Guid instead of strings
* Make DalamudInternalKey readonly
* Properly use ConcurrentDict features
Fixes GUID not working