using System; using System.Collections.Generic; using System.IO; using System.Numerics; using System.Runtime.CompilerServices; using System.Threading; using Dalamud.Plugin.Services; using Lumina.Data.Files; using Lumina.Data.Parsing.Layer; using Lumina.Excel; using Lumina.Excel.Sheets; using Microsoft.Extensions.Logging; namespace LLib.Shop; public sealed class NpcPositionCache { private static readonly string[] LgbFileNames = new string[4] { global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E(-1908634427), global::_003CModule_003E._200E_206F_206C_206C_200E_202A_206D_206B_200B_202D_202B_200F_200F_206B_206C_206F_202D_206F_206A_202D_206A_200B_200B_202B_202D_202C_200F_200D_202E_200E_200D_202A_202B_206F_202E_200E_200B_206B_200E_202E_202E(-2021484130), global::_003CModule_003E._200E_206F_206C_206C_200E_202A_206D_206B_200B_202D_202B_200F_200F_206B_206C_206F_202D_206F_206A_202D_206A_200B_200B_202B_202D_202C_200F_200D_202E_200E_200D_202A_202B_206F_202E_200E_200B_206B_200E_202E_202E(-418261511), global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E(280692179) }; private const uint FileMagic = 1129336401u; private const int FileFormatVersion = 1; private const string FileName = "npc-position-cache.bin"; private readonly IDataManager _dataManager; private readonly ILogger _logger; private readonly NpcPositionCacheOptions _options; private readonly object _buildLock = _202C_200B_202B_202C_206D_206E_202B_202C_200B_206B_200C_206C_202A_200B_200F_202C_206B_200E_206A_206D_200F_200D_206B_206D_200B_200C_206D_200D_206F_202E_202A_206E_202B_206C_206D_200F_206C_200D_206A_206B_202E(); private volatile Dictionary? _cache; public bool IsBuilt => _cache != null; private string? CacheFilePath { [MethodImpl(MethodImplOptions.NoInlining)] get { int num = (_206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(_options.CacheDirectory) ? (-1379965594) : (-1379965593)); while (true) { int num2 = num; int num3 = -1379965594; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return _202A_206E_206D_202D_206F_200F_206B_206D_206F_202C_206A_202B_200B_206F_206C_206B_200E_206A_206A_202B_206F_200D_200F_202C_206D_202B_200F_200E_200C_202B_206A_206F_206D_202B_206B_202B_206A_206D_206E_202A_202E(_options.CacheDirectory, global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(1995757655)); case 1: num = ((!_206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(_options.GameVersion)) ? (-1379965596) : (-1379965594)); break; case 0: return null; case 3: num = -1379965593; break; } } } } public NpcPositionCache(IDataManager dataManager, ILogger logger, NpcPositionCacheOptions? options = null) { _dataManager = dataManager; _logger = logger; _options = options ?? new NpcPositionCacheOptions(); } public (ushort TerritoryId, Vector3 Position)? TryGetPosition(uint npcId) { Dictionary cache = _cache; int num = ((cache == null) ? (-89260434) : (-89260433)); (ushort, Vector3, bool) value = default((ushort, Vector3, bool)); while (true) { int num2 = num; int num3 = -89260436; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return (value.Item1, value.Item2); case 2: return null; case 3: num = (cache.TryGetValue(npcId, out value) ? (-89260435) : (-89260434)); break; case 0: num = -89260433; break; } } } public (ushort TerritoryId, Vector3 Position, bool FestivalOnly)? TryGetPlacement(uint npcId) { Dictionary cache = _cache; int num = ((cache == null) ? 704628277 : 704628279); (ushort, Vector3, bool) value = default((ushort, Vector3, bool)); while (true) { int num2 = num; int num3 = 704628276; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return value; case 1: return null; case 3: num = (cache.TryGetValue(npcId, out value) ? 704628278 : 704628277); break; case 0: num = 704628279; break; } } } public bool TryLoadFromDisk() { int num = ((_cache == null) ? (-139769747) : (-139769746)); while (true) { int num2 = num; int num3 = -139769748; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_0050; case 2: return true; case 1: { object buildLock = _buildLock; bool flag = false; try { _200B_206A_200F_200D_200E_202A_200C_200E_206E_206B_206E_206A_202E_206E_206B_206F_200E_206B_206E_206D_202B_200D_202C_202A_206D_202A_202C_200C_206F_200F_206A_202D_206C_202A_200B_206A_202B_200E_206C_206D_202E(buildLock, ref flag); num = ((_cache != null) ? (-1432120080) : (-1432120079)); while (true) { int num7 = num; num3 = -1432120080; num4 = num7; int num8 = num4 + num3; int num9 = num4 & num3; switch (num8 - (num9 + num9)) { case 2: num = -1432120079; break; case 1: _cache = LoadFromDisk(); num = -1432120080; break; case 0: return _cache != null; } } } finally { num = ((!flag) ? 1654086869 : 1654086870); while (true) { int num10 = num; num3 = 1654086868; num4 = num10; int num11 = num4 + num3; int num12 = num4 & num3; switch (num11 - (num12 + num12)) { case 1: goto end_IL_010f; case 2: _200D_200C_206C_202E_206E_206F_206F_202E_206A_200D_206B_202A_206D_200F_202D_206D_200E_200C_200D_202B_202B_206F_202C_202E_200B_206D_202E_206E_202E_202B_202B_200D_202D_206D_202E_200C_206A_206C_200F_202E_202E(buildLock); num = 1654086869; break; case 0: num = 1654086870; break; } continue; end_IL_010f: break; } } } } continue; IL_0050: num = -139769746; } } public void WarmUp(CancellationToken cancellationToken = default(CancellationToken)) { EnsureBuilt(cancellationToken); } public (ushort TerritoryId, Vector3 Position)? GetPosition(uint npcId) { EnsureBuilt(); (ushort, Vector3, bool) value; int num = (_cache.TryGetValue(npcId, out value) ? (-2002474753) : (-2002474754)); while (true) { int num2 = num; int num3 = -2002474753; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_0067; case 1: return null; case 0: return (value.Item1, value.Item2); } continue; IL_0067: num = -2002474754; } } public (ushort TerritoryId, Vector3 Position, bool FestivalOnly)? GetPlacement(uint npcId) { EnsureBuilt(); (ushort, Vector3, bool) value; int num = (_cache.TryGetValue(npcId, out value) ? 1062147025 : 1062147024); while (true) { int num2 = num; int num3 = 1062147025; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_0067; case 0: return value; case 1: return null; } continue; IL_0067: num = 1062147024; } } public IReadOnlyCollection GetAllNpcIds() { EnsureBuilt(); return _cache.Keys; } [MethodImpl(MethodImplOptions.NoInlining)] private void EnsureBuilt(CancellationToken cancellationToken = default(CancellationToken)) { int num = ((_cache == null) ? 699426378 : 699426379); Dictionary dictionary = default(Dictionary); while (true) { int num2 = num; int num3 = 699426378; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_0050; case 1: return; case 0: { object buildLock = _buildLock; bool flag = false; try { _200B_206A_200F_200D_200E_202A_200C_200E_206E_206B_206E_206A_202E_206E_206B_206F_200E_206B_206E_206D_202B_200D_202C_202A_206D_202A_202C_200C_206F_200F_206A_202D_206C_202A_200B_206A_202B_200E_206C_206D_202E(buildLock, ref flag); num = ((_cache == null) ? 563419148 : 563419149); while (true) { int num7 = num; num3 = 563419150; num4 = num7; switch ((num4 | num3) - (num4 & num3)) { case 0: num = 563419149; break; case 2: dictionary = LoadFromDisk(); num = ((dictionary != null) ? 563419151 : 563419146); break; case 3: return; case 4: dictionary = BuildNpcPositionCache(cancellationToken); SaveToDisk(dictionary); _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(955007798), new object[1] { dictionary.Count }); num = 563419151; break; case 1: _cache = dictionary; return; } } } finally { num = ((!flag) ? (-2036326357) : (-2036326358)); while (true) { int num8 = num; num3 = -2036326357; num4 = num8; int num9 = num4 + num3; int num10 = num4 & num3; switch (num9 - (num10 + num10)) { case 0: goto end_IL_016e; case 1: _200D_200C_206C_202E_206E_206F_206F_202E_206A_200D_206B_202A_206D_200F_202D_206D_200E_200C_200D_202B_202B_206F_202C_202E_200B_206D_202E_206E_202E_202B_202B_200D_202D_206D_202E_200C_206A_206C_200F_202E_202E(buildLock); num = -2036326357; break; case 2: num = -2036326358; break; } continue; end_IL_016e: break; } } } } continue; IL_0050: num = 699426379; } } [MethodImpl(MethodImplOptions.NoInlining)] private Dictionary? LoadFromDisk() { string cacheFilePath = CacheFilePath; int num = ((cacheFilePath == null) ? 923324017 : 923324018); int num10 = default(int); int num11 = default(int); Dictionary dictionary = default(Dictionary); while (true) { int num2 = num; int num3 = 923324017; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: num = 923324018; break; case 3: num = (_202E_202B_206B_202B_202C_200E_206A_200B_200E_202C_202C_202A_202A_206A_202B_202C_202B_206A_206D_206F_200F_206E_206A_206B_202D_200E_202B_206E_202B_202B_200D_200F_202A_206C_200F_200F_200F_206E_200E_200F_202E(cacheFilePath) ? 923324016 : 923324017); break; case 0: return null; case 1: try { BinaryReader binaryReader = _202C_206B_202E_200D_206B_202A_202D_202D_202D_202A_206A_200D_206C_200F_206B_200D_202B_206D_202C_202D_200E_200D_202A_206B_202B_200B_202B_202E_206F_206C_206D_200F_202D_200B_202E_202C_202D_200D_202D_206B_202E((Stream)_202C_206E_200B_206F_200F_202B_202A_206E_200D_206A_200F_200F_206D_206F_200F_206D_200C_202B_202C_202A_200F_202C_200D_200F_202B_200F_206F_202E_206D_200D_206C_200B_206E_202A_202E_202B_206F_200C_202A_200F_202E(cacheFilePath)); try { num = ((_202B_202B_202D_202B_202B_202C_200F_202A_206F_202B_206C_206E_200D_206F_202C_202A_202C_202C_206D_206D_206B_202C_206C_202B_206B_202A_202A_206F_202E_206A_206D_200E_206C_200E_202B_200B_200C_202C_202A_200F_202E(binaryReader) != 1129336401) ? 1097724439 : 1097724435); while (true) { int num7 = num; num3 = 1097724436; num4 = num7; int num8 = num4 + num3; int num9 = num4 & num3; switch (num8 - (num9 + num9)) { case 4: num = ((num10 < num11) ? 1097724433 : 1097724434); break; case 3: _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E(-1352529546), Array.Empty()); num = 1097724444; break; case 9: num11 = _206F_200B_200D_206A_200E_200E_200F_200D_206E_206A_200D_206E_206B_200B_200F_206D_200B_200C_202C_200C_200C_202D_206D_202D_202D_206A_200F_200C_200C_200C_200C_202B_200E_200C_202A_206D_202E_206B_206E_200F_202E(binaryReader); dictionary = new Dictionary(num11); num10 = 0; num = 1097724432; break; case 2: num = ((!_206D_202D_202D_206C_206E_206B_206E_206A_200B_202B_202A_202B_202E_202D_202A_200C_202D_202A_206F_206F_200D_202C_200E_202A_200C_206A_202E_202B_206A_202E_202C_206A_202E_206B_202A_202B_206F_206D_200E_200C_202E(_206D_202A_202D_200F_202E_202C_200C_200E_200D_202E_206F_202D_202A_200B_206B_206D_206B_202C_206B_206D_206F_206C_206B_200E_206E_206C_206C_200E_206F_200C_200B_206E_202A_200C_202C_200B_202E_200C_206E_200E_202E(binaryReader), _options.GameVersion)) ? 1097724445 : 1097724437); break; case 6: _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(-922037796), new object[1] { dictionary.Count }); return dictionary; case 5: { uint key = _202B_202B_202D_202B_202B_202C_200F_202A_206F_202B_206C_206E_200D_206F_202C_202A_202C_202C_206D_206D_206B_202C_206C_202B_206B_202A_202A_206F_202E_206A_206D_200E_206C_200E_202B_200B_200C_202C_202A_200F_202E(binaryReader); ushort item = _202C_200B_202A_202E_206C_200E_200F_206C_200E_202E_202A_206C_202B_202C_202D_202A_202B_206D_202C_202C_200E_202E_202A_202D_200C_200F_200F_202C_206C_206A_202B_206F_202A_202C_202A_202D_202C_200B_206F_202E_202E(binaryReader); Vector3 item2 = new Vector3(_206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(binaryReader), _206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(binaryReader), _206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(binaryReader)); bool item3 = _206A_200B_200D_200D_202C_202A_200B_206F_206D_202C_206C_202C_202B_202D_202C_202D_206F_200C_206E_200C_206E_200B_200F_202D_202A_200F_202E_202C_202B_206D_206A_206D_200B_200C_200B_200F_200F_202B_200C_206F_202E(binaryReader); dictionary[key] = (item, item2, item3); int num12 = num10; num3 = 1; num4 = num12; int num13 = num4 ^ num3; int num14 = num4 & num3; num10 = num13 + (num14 + num14); num = 1097724432; break; } case 1: _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E((ILogger)_logger, global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E(-691142266), Array.Empty()); num = 1097724444; break; case 0: num = 1097724435; break; case 7: num = ((_206F_200B_200D_206A_200E_200E_200F_200D_206E_206A_200D_206E_206B_200B_200F_206D_200B_200C_202C_200C_200C_202D_206D_202D_202D_206A_200F_200C_200C_200C_200C_202B_200E_200C_202A_206D_202E_206B_206E_200F_202E(binaryReader) == 1) ? 1097724438 : 1097724439); break; case 8: goto end_IL_00bd; } continue; end_IL_00bd: break; } } finally { num = ((binaryReader == null) ? (-215914217) : (-215914220)); while (true) { int num15 = num; num3 = -215914218; num4 = num15; int num16 = num4 + num3; int num17 = num4 & num3; switch (num16 - (num17 + num17)) { case 1: goto end_IL_02b9; case 2: _206D_202C_200F_202A_200D_202A_206B_206D_202E_202D_200D_206B_202B_202D_200E_206F_202D_202A_202C_200D_202E_202D_206A_206E_206B_202D_200B_202C_206B_206A_202D_206E_202D_206A_206A_206F_206C_202B_200C_206A_202E((IDisposable)binaryReader); num = -215914217; break; case 0: num = -215914220; break; } continue; end_IL_02b9: break; } } } catch (Exception ex) { _200F_202C_202E_206C_206C_202B_206C_202D_202D_206E_202B_202D_200E_206B_206B_200B_206B_202B_206B_200B_202E_202C_206A_206B_206E_202A_200D_202C_202A_200F_202C_202A_202A_206F_206F_200E_202C_202B_200D_206D_202E((ILogger)_logger, ex, global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(1077656609), Array.Empty()); } try { _202B_202E_202C_206C_206B_206F_202C_200E_206E_200B_202A_206F_202A_200D_206C_206B_200F_200B_200E_200F_206B_202A_202C_206D_202E_206B_206E_200F_206C_200B_202B_206A_202B_206E_206D_202A_200C_206A_202B_202B_202E(cacheFilePath); } catch (Exception) { } return null; } } } [MethodImpl(MethodImplOptions.NoInlining)] private void SaveToDisk(Dictionary cache) { string cacheFilePath = CacheFilePath; int num = ((cacheFilePath != null) ? (-1878126128) : (-1878126125)); while (true) { int num2 = num; int num3 = -1878126126; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_0053; case 1: return; case 2: try { _206A_200D_206F_206D_200C_202A_200C_202D_206E_206C_206D_206E_206D_202D_206B_202D_206C_202B_200F_202E_206C_206D_200F_202D_202E_206E_200B_202B_200F_200B_206C_200D_206B_200D_202A_202E_206C_206B_200F_202A_202E(_options.CacheDirectory); string text = _200D_200D_206D_206D_206E_200C_200E_202B_206F_200B_200C_200E_200D_202B_206E_206C_200F_202E_206B_200F_206D_206B_200C_200F_200F_206D_202B_202E_202D_206D_200C_200E_200E_206A_202A_206C_200E_206F_202D_206C_202E(cacheFilePath, global::_003CModule_003E._200E_206F_206C_206C_200E_202A_206D_206B_200B_202D_202B_200F_200F_206B_206C_206F_202D_206F_206A_202D_206A_200B_200B_202B_202D_202C_200F_200D_202E_200E_200D_202A_202B_206F_202E_200E_200B_206B_200E_202E_202E(236937827)); BinaryWriter binaryWriter = _202E_206F_200E_206B_206A_206D_206D_200F_206A_202A_200D_200F_200D_202C_200C_200F_206F_202A_202E_202E_202C_202B_206E_206F_200F_200C_200F_200B_200F_206F_202E_200B_200E_206C_206A_202C_206F_202D_202B_206C_202E((Stream)_206D_206E_202B_200B_200B_202A_202D_206F_206C_206F_206F_202B_200F_200E_206E_206D_206A_202C_202E_200E_206F_202C_200F_200E_200B_202A_202A_200E_200F_202C_202A_200C_202E_206C_202C_200C_206C_202B_202A_206D_202E(text)); try { _206F_202A_202B_206C_202E_200C_200B_200F_206D_200E_202D_202B_202D_206D_206B_206F_202D_200E_200C_200B_202E_200C_206E_200E_200E_200E_206E_206F_206F_206C_206F_200B_206E_206C_200E_202B_200F_200B_200D_206B_202E(binaryWriter, 1129336401u); _200E_206C_202B_202B_200C_200B_200E_200D_200B_200D_206B_206E_202D_202A_206D_202D_200F_202A_200E_206E_200B_202C_206C_200C_200F_206B_202A_206D_206B_202C_206C_202B_206C_202A_202D_200F_206E_206D_206E_200F_202E(binaryWriter, 1); _202A_202A_206F_206B_206A_200F_202D_206E_202D_206D_206D_202E_206A_202B_202D_202C_206E_202A_202A_202D_202E_202D_200C_202B_202A_206E_200C_200D_206B_206B_202A_200F_202B_202A_206C_202A_206B_202C_202B_206A_202E(binaryWriter, _options.GameVersion); _200E_206C_202B_202B_200C_200B_200E_200D_200B_200D_206B_206E_202D_202A_206D_202D_200F_202A_200E_206E_200B_202C_206C_200C_200F_206B_202A_206D_206B_202C_206C_202B_206C_202A_202D_200F_206E_206D_206E_200F_202E(binaryWriter, cache.Count); using Dictionary.Enumerator enumerator = cache.GetEnumerator(); num = 177392188; while (true) { int num7 = num; num3 = 177392188; num4 = num7; int num8 = num4 + num3; int num9 = num4 & num3; switch (num8 - (num9 + num9)) { case 0: num = (enumerator.MoveNext() ? 177392189 : 177392190); break; case 1: var (num11, tuple2) = (KeyValuePair)(ref enumerator.Current); _206F_202A_202B_206C_202E_200C_200B_200F_206D_200E_202D_202B_202D_206D_206B_206F_202D_200E_200C_200B_202E_200C_206E_200E_200E_200E_206E_206F_206F_206C_206F_200B_206E_206C_200E_202B_200F_200B_200D_206B_202E(binaryWriter, num11); _206E_200B_200E_200C_200B_206E_206A_200D_202D_202D_200E_202A_202A_202E_202D_206E_206B_206F_202B_206C_202B_202C_206C_206E_202C_206E_200D_200C_206A_206F_200F_206E_206A_202B_202C_200C_200D_202B_202A_200E_202E(binaryWriter, tuple2.Item1); _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(binaryWriter, tuple2.Item2.X); _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(binaryWriter, tuple2.Item2.Y); _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(binaryWriter, tuple2.Item2.Z); _200F_206E_202A_202E_200C_202D_206D_202B_206B_200B_200B_202A_200C_206D_206E_200B_206F_202D_200C_206E_206C_202D_206A_206A_206F_202C_200B_200F_206F_202C_200D_200E_202C_206C_202B_202A_206B_200B_202E_202E_202E(binaryWriter, tuple2.Item3); num = 177392188; break; case 3: num = 177392188; break; case 2: goto end_IL_00d1; } continue; end_IL_00d1: break; } } finally { num = ((binaryWriter == null) ? (-2116583790) : (-2116583791)); while (true) { int num12 = num; num3 = -2116583789; num4 = num12; switch ((num4 | num3) - (num4 & num3)) { case 0: num = -2116583791; break; case 1: goto end_IL_01e9; case 2: _206D_202C_200F_202A_200D_202A_206B_206D_202E_202D_200D_206B_202B_202D_200E_206F_202D_202A_202C_200D_202E_202D_206A_206E_206B_202D_200B_202C_206B_206A_202D_206E_202D_206A_206A_206F_206C_202B_200C_206A_202E((IDisposable)binaryWriter); num = -2116583790; break; } continue; end_IL_01e9: break; } } _206C_206F_200E_206B_200F_202E_206D_206F_202D_206B_202B_202C_200B_200B_206C_200F_202D_202B_202B_202B_200E_206A_200E_206E_206E_200D_206C_200E_202B_202A_206F_200E_202B_202C_202B_206C_200D_200E_206D_202B_202E(text, cacheFilePath, true); return; } catch (Exception ex) { _200F_202C_202E_206C_206C_202B_206C_202D_202D_206E_202B_202D_200E_206B_206B_200B_206B_202B_206B_200B_202E_202C_206A_206B_206E_202A_200D_202C_202A_200F_202C_202A_202A_206F_206F_200E_202C_202B_200D_206D_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(-1457796029), Array.Empty()); return; } } continue; IL_0053: num = -1878126125; } } private Dictionary BuildNpcPositionCache(CancellationToken cancellationToken) { Dictionary dictionary = new Dictionary(); HashSet hashSet = new HashSet(); using (ExcelSheet.Enumerator enumerator = _dataManager.GetExcelSheet().GetEnumerator()) { int num = -1281480948; while (true) { int num2 = num; int num3 = -1281480948; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: num = -1281480948; break; case 0: num = (enumerator.MoveNext() ? (-1281480945) : (-1281480947)); break; case 3: hashSet.Add(enumerator.Current.Territory.RowId); num = -1281480948; break; case 1: goto end_IL_0035; } continue; end_IL_0035: break; } } ExcelSheet excelSheet = _dataManager.GetExcelSheet(); HashSet visitedLgbPaths = new HashSet(); using (ExcelSheet.Enumerator enumerator2 = excelSheet.GetEnumerator()) { int num = 1492955023; TerritoryType current = default(TerritoryType); while (true) { int num5 = num; int num3 = 1492955023; int num4 = num5; int num6 = num4 + num3; int num7 = num4 & num3; switch (num6 - (num7 + num7)) { case 0: num = (enumerator2.MoveNext() ? 1492955019 : 1492955022); break; case 3: ScanLgbFiles(dictionary, visitedLgbPaths, current, cancellationToken); num = 1492955023; break; case 4: current = enumerator2.Current; num = ((!hashSet.Contains(current.RowId)) ? 1492955023 : 1492955020); break; case 2: num = 1492955023; break; case 1: goto end_IL_0105; } continue; end_IL_0105: break; } } using (ExcelSheet.Enumerator enumerator2 = excelSheet.GetEnumerator()) { int num = -1441158644; while (true) { int num8 = num; int num3 = -1441158642; int num4 = num8; switch ((num4 | num3) - (num4 & num3)) { case 3: num = -1441158644; break; case 2: num = (enumerator2.MoveNext() ? (-1441158641) : (-1441158642)); break; case 1: { TerritoryType current2 = enumerator2.Current; ScanLgbFiles(dictionary, visitedLgbPaths, current2, cancellationToken); num = -1441158644; break; } case 0: goto end_IL_01dc; } continue; end_IL_01dc: break; } } ExcelSheet excelSheet2 = _dataManager.GetExcelSheet(); ExcelSheet excelSheet3 = _dataManager.GetExcelSheet(); using ExcelSheet.Enumerator enumerator3 = _dataManager.GetExcelSheet().GetEnumerator(); int num = -1886979544; Level current3 = default(Level); while (true) { int num9 = num; int num3 = -1886979543; int num4 = num9; switch ((num4 | num3) - (num4 & num3)) { case 3: num = ((!excelSheet3.HasRow(current3.Object.RowId)) ? (-1886979544) : (-1886979537)); break; case 5: num = ((!current3.Territory.IsValid) ? (-1886979544) : (-1886979551)); break; case 2: num = ((current3.Object.RowId == 0) ? (-1886979544) : (-1886979540)); break; case 7: current3 = enumerator3.Current; num = ((current3.RowId == 0) ? (-1886979544) : (-1886979541)); break; case 6: dictionary.TryAdd(current3.Object.RowId, ((ushort)current3.Territory.RowId, new Vector3(current3.X, current3.Y, current3.Z), false)); num = -1886979544; break; case 8: num = (excelSheet2.HasRow(current3.Object.RowId) ? (-1886979537) : (-1886979542)); break; case 0: num = -1886979544; break; case 1: num = (enumerator3.MoveNext() ? (-1886979538) : (-1886979539)); break; case 4: return dictionary; } } } [MethodImpl(MethodImplOptions.NoInlining)] private void ScanLgbFiles(Dictionary cache, HashSet visitedLgbPaths, TerritoryType territory, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); string text = territory.Bg.ExtractText(); int num = ((!_206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(text)) ? (-1877077488) : (-1877077481)); int num10 = default(int); LgbFile file = default(LgbFile); (ushort, Vector3, bool) value = default((ushort, Vector3, bool)); bool flag = default(bool); uint baseId = default(uint); LayerCommon.InstanceObject instanceObject = default(LayerCommon.InstanceObject); LayerCommon.InstanceObject[] instanceObjects = default(LayerCommon.InstanceObject[]); int num17 = default(int); LayerCommon.Layer[] array = default(LayerCommon.Layer[]); int num14 = default(int); LayerCommon.Layer layer = default(LayerCommon.Layer); while (true) { int num2 = num; int num3 = -1877077484; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: num = -1877077481; break; case 3: return; case 4: num10 = _206A_200D_206A_200C_202E_202A_202C_202C_202E_206C_206B_200F_202A_200B_202A_206D_206C_202D_200F_200B_200C_206A_200C_206A_202E_200D_206C_206B_206D_200E_200F_206A_202D_202D_200E_206A_200D_202C_206D_200C_202E(text, global::_003CModule_003E._206E_202B_206C_202A_202A_200E_202B_202B_206D_200B_200C_206B_200B_206D_202E_202D_206C_202B_200B_206A_202D_206C_202A_200F_202D_200C_200B_200B_200B_200D_202C_206E_206D_202E_200C_206B_206A_206D_202D_202C_202E(507453428), StringComparison.Ordinal); num = ((num10 >= 0) ? (-1877077482) : (-1877077483)); break; case 1: return; case 2: { int num7 = 0; string[] lgbFileNames = LgbFileNames; int num8 = 0; while (true) { if (num8 < lgbFileNames.Length) { string text2 = lgbFileNames[num8]; string[] obj = new string[5] { global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(-849387939), null, null, null, null }; int num9 = num10; num3 = 1; num4 = num9; obj[1] = _202D_202D_200D_206A_206D_202D_200B_202A_200B_202B_202D_206C_206C_202B_202E_206F_200C_206A_202D_206C_200B_200E_202E_200E_200B_206C_200D_202B_206F_202A_200E_202D_202D_202B_200C_200E_200C_202E_202A_206C_202E(text, 0, (num4 | num3) + (num4 & num3)); obj[2] = global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(993927731); obj[3] = text2; obj[4] = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(2127002196); string text3 = _202D_202D_206A_206E_200C_200E_200D_206C_200D_206E_200C_200D_202E_202A_206D_206D_200E_202B_206E_206A_206E_206E_206B_202E_206C_202D_206F_200B_206D_206A_206A_206C_202D_206B_206F_200C_202C_200B_202D_206E_202E(obj); if (!visitedLgbPaths.Add(text3)) { goto IL_0458; } try { file = _dataManager.GetFile(text3); } catch (Exception ex) { _206D_206F_200F_202C_200C_206A_206A_206C_200F_202B_206F_206D_200E_200D_202C_202D_200D_200D_202A_200E_200E_206E_202B_200F_202D_206C_206F_206B_202D_206E_202B_202A_206C_206B_200B_206A_200C_202E_206D_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(1684031378), new object[1] { text3 }); goto IL_0458; } num = ((file == null) ? (-959666391) : (-959666381)); } else { num = -959666382; } while (true) { int num11 = num; num3 = -959666372; num4 = num11; int num12; switch ((num4 | num3) - (num4 & num3)) { default: continue; case 3: num = ((!(_options.ScanThrottle > TimeSpan.Zero)) ? (-959666387) : (-959666380)); continue; case 0: { bool num18 = !value.Item3; num3 = (flag ? 1 : 0); num4 = (num18 ? 1 : 0); num = ((num4 + num3 - (num4 & num3) != 0) ? (-959666376) : (-959666373)); continue; } case 19: num = -959666381; continue; case 13: baseId = ((LayerCommon.EventInstanceObject)instanceObject.Object).ParentData.BaseId; num = -959666386; continue; case 11: instanceObject = instanceObjects[num17]; num = ((instanceObject.AssetType != LayerEntryType.EventNPC) ? (-959666374) : (-959666379)); continue; case 6: num = ((instanceObject.AssetType != LayerEntryType.EventObject) ? (-959666376) : (-959666383)); continue; case 17: return; case 7: cache[baseId] = ((ushort)territory.RowId, new Vector3(instanceObject.Transform.Translation.X, instanceObject.Transform.Translation.Y, instanceObject.Transform.Translation.Z), flag); num = -959666376; continue; case 15: { int num19 = num7; num3 = 1; num4 = num19; num7 = (num4 | num3) + (num4 & num3); array = _202B_202E_206F_206F_202B_200B_206B_202A_206E_206D_206F_202E_202E_200D_200C_206D_206F_202A_200D_206F_206E_206C_202A_200B_202D_206B_202D_200B_206E_200C_206E_206B_206F_206F_200C_206E_202A_202A_200C_200C_202E(file); num14 = 0; num = -959666384; continue; } case 14: num = ((num7 <= 0) ? (-959666387) : (-959666369)); continue; case 2: num12 = ((layer.IsTemporary != 0) ? 1 : 0); goto IL_051b; case 8: _206C_200B_206C_206F_206E_206A_206C_206A_206F_200D_206A_202E_206F_206B_200B_200C_206E_206E_206D_202D_200B_202B_202A_200D_206A_206C_206C_200D_200C_202A_202C_202B_206A_206D_200B_200B_202B_206C_202E_206A_202E(_options.ScanThrottle); num = -959666387; continue; case 4: { int num20 = num17; num3 = 1; num4 = num20; num17 = (num4 | num3) + (num4 & num3); num = -959666371; continue; } case 9: baseId = ((LayerCommon.ENPCInstanceObject)instanceObject.Object).ParentData.ParentData.BaseId; num = -959666386; continue; case 18: num = ((baseId == 0) ? (-959666376) : (-959666388)); continue; case 16: num = ((!cache.TryGetValue(baseId, out value)) ? (-959666373) : (-959666372)); continue; case 21: break; case 5: layer = array[num14]; num = ((layer.FestivalID != 0) ? (-959666378) : (-959666370)); continue; case 1: num = ((num17 < instanceObjects.Length) ? (-959666377) : (-959666392)); continue; case 12: num = ((num14 < array.Length) ? (-959666375) : (-959666391)); continue; case 20: { int num13 = num14; num3 = 1; num4 = num13; int num15 = num4 ^ num3; int num16 = num4 & num3; num14 = num15 + (num16 + num16); num = -959666384; continue; } case 10: { num12 = 1; goto IL_051b; } IL_051b: flag = (byte)num12 != 0; instanceObjects = layer.InstanceObjects; num17 = 0; num = -959666371; continue; } break; } goto IL_0458; IL_0458: int num21 = num8; num3 = 1; num4 = num21; num8 = (num4 | num3) + (num4 & num3); } } } } } static object _202C_200B_202B_202C_206D_206E_202B_202C_200B_206B_200C_206C_202A_200B_200F_202C_206B_200E_206A_206D_200F_200D_206B_206D_200B_200C_206D_200D_206F_202E_202A_206E_202B_206C_206D_200F_206C_200D_206A_206B_202E() { return new object(); } static void _200B_206A_200F_200D_200E_202A_200C_200E_206E_206B_206E_206A_202E_206E_206B_206F_200E_206B_206E_206D_202B_200D_202C_202A_206D_202A_202C_200C_206F_200F_206A_202D_206C_202A_200B_206A_202B_200E_206C_206D_202E(object P_0, ref bool P_1) { Monitor.Enter(P_0, ref P_1); } static void _200D_200C_206C_202E_206E_206F_206F_202E_206A_200D_206B_202A_206D_200F_202D_206D_200E_200C_200D_202B_202B_206F_202C_202E_200B_206D_202E_206E_202E_202B_202B_200D_202D_206D_202E_200C_206A_206C_200F_202E_202E(object P_0) { Monitor.Exit(P_0); } static void _202D_206F_206E_200E_200F_206F_206B_206A_202A_206E_206F_202B_206E_206E_202C_200F_202D_206B_206A_200F_206C_202D_202E_202C_200E_206A_200F_206B_202A_200D_202D_206D_206E_206B_200B_202C_206A_206B_202B_202A_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogDebug(P_1, P_2); } static bool _206B_202C_200C_202A_200C_202B_200D_206B_206D_206C_200C_206E_200D_202E_202C_206E_206F_200E_202B_200E_202A_206C_202E_200E_202E_202D_206A_206B_206B_200B_200B_202B_200D_202E_202E_206E_200F_202B_206A_202E(string P_0) { return string.IsNullOrEmpty(P_0); } static string _202A_206E_206D_202D_206F_200F_206B_206D_206F_202C_206A_202B_200B_206F_206C_206B_200E_206A_206A_202B_206F_200D_200F_202C_206D_202B_200F_200E_200C_202B_206A_206F_206D_202B_206B_202B_206A_206D_206E_202A_202E(string P_0, string P_1) { return Path.Combine(P_0, P_1); } static bool _202E_202B_206B_202B_202C_200E_206A_200B_200E_202C_202C_202A_202A_206A_202B_202C_202B_206A_206D_206F_200F_206E_206A_206B_202D_200E_202B_206E_202B_202B_200D_200F_202A_206C_200F_200F_200F_206E_200E_200F_202E(string P_0) { return File.Exists(P_0); } static FileStream _202C_206E_200B_206F_200F_202B_202A_206E_200D_206A_200F_200F_206D_206F_200F_206D_200C_202B_202C_202A_200F_202C_200D_200F_202B_200F_206F_202E_206D_200D_206C_200B_206E_202A_202E_202B_206F_200C_202A_200F_202E(string P_0) { return File.OpenRead(P_0); } static BinaryReader _202C_206B_202E_200D_206B_202A_202D_202D_202D_202A_206A_200D_206C_200F_206B_200D_202B_206D_202C_202D_200E_200D_202A_206B_202B_200B_202B_202E_206F_206C_206D_200F_202D_200B_202E_202C_202D_200D_202D_206B_202E(Stream P_0) { return new BinaryReader(P_0); } static uint _202B_202B_202D_202B_202B_202C_200F_202A_206F_202B_206C_206E_200D_206F_202C_202A_202C_202C_206D_206D_206B_202C_206C_202B_206B_202A_202A_206F_202E_206A_206D_200E_206C_200E_202B_200B_200C_202C_202A_200F_202E(BinaryReader P_0) { return P_0.ReadUInt32(); } static int _206F_200B_200D_206A_200E_200E_200F_200D_206E_206A_200D_206E_206B_200B_200F_206D_200B_200C_202C_200C_200C_202D_206D_202D_202D_206A_200F_200C_200C_200C_200C_202B_200E_200C_202A_206D_202E_206B_206E_200F_202E(BinaryReader P_0) { return P_0.ReadInt32(); } static string _206D_202A_202D_200F_202E_202C_200C_200E_200D_202E_206F_202D_202A_200B_206B_206D_206B_202C_206B_206D_206F_206C_206B_200E_206E_206C_206C_200E_206F_200C_200B_206E_202A_200C_202C_200B_202E_200C_206E_200E_202E(BinaryReader P_0) { return P_0.ReadString(); } static bool _206D_202D_202D_206C_206E_206B_206E_206A_200B_202B_202A_202B_202E_202D_202A_200C_202D_202A_206F_206F_200D_202C_200E_202A_200C_206A_202E_202B_206A_202E_202C_206A_202E_206B_202A_202B_206F_206D_200E_200C_202E(string P_0, string P_1) { return P_0 != P_1; } static ushort _202C_200B_202A_202E_206C_200E_200F_206C_200E_202E_202A_206C_202B_202C_202D_202A_202B_206D_202C_202C_200E_202E_202A_202D_200C_200F_200F_202C_206C_206A_202B_206F_202A_202C_202A_202D_202C_200B_206F_202E_202E(BinaryReader P_0) { return P_0.ReadUInt16(); } static float _206F_200B_202B_206A_206B_206A_200B_202C_202D_200D_206B_200B_206B_202B_202D_206A_206F_200B_206A_200B_206F_202C_202A_200E_206E_206D_206E_202D_206B_200F_202E_202E_200B_206B_206F_202E_206D_200D_206A_200E_202E(BinaryReader P_0) { return P_0.ReadSingle(); } static bool _206A_200B_200D_200D_202C_202A_200B_206F_206D_202C_206C_202C_202B_202D_202C_202D_206F_200C_206E_200C_206E_200B_200F_202D_202A_200F_202E_202C_202B_206D_206A_206D_200B_200C_200B_200F_200F_202B_200C_206F_202E(BinaryReader P_0) { return P_0.ReadBoolean(); } static void _206D_202C_200F_202A_200D_202A_206B_206D_202E_202D_200D_206B_202B_202D_200E_206F_202D_202A_202C_200D_202E_202D_206A_206E_206B_202D_200B_202C_206B_206A_202D_206E_202D_206A_206A_206F_206C_202B_200C_206A_202E(IDisposable P_0) { P_0.Dispose(); } static void _200F_202C_202E_206C_206C_202B_206C_202D_202D_206E_202B_202D_200E_206B_206B_200B_206B_202B_206B_200B_202E_202C_206A_206B_206E_202A_200D_202C_202A_200F_202C_202A_202A_206F_206F_200E_202C_202B_200D_206D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) { P_0.LogWarning(P_1, P_2, P_3); } static void _202B_202E_202C_206C_206B_206F_202C_200E_206E_200B_202A_206F_202A_200D_206C_206B_200F_200B_200E_200F_206B_202A_202C_206D_202E_206B_206E_200F_206C_200B_202B_206A_202B_206E_206D_202A_200C_206A_202B_202B_202E(string P_0) { File.Delete(P_0); } static DirectoryInfo _206A_200D_206F_206D_200C_202A_200C_202D_206E_206C_206D_206E_206D_202D_206B_202D_206C_202B_200F_202E_206C_206D_200F_202D_202E_206E_200B_202B_200F_200B_206C_200D_206B_200D_202A_202E_206C_206B_200F_202A_202E(string P_0) { return Directory.CreateDirectory(P_0); } static string _200D_200D_206D_206D_206E_200C_200E_202B_206F_200B_200C_200E_200D_202B_206E_206C_200F_202E_206B_200F_206D_206B_200C_200F_200F_206D_202B_202E_202D_206D_200C_200E_200E_206A_202A_206C_200E_206F_202D_206C_202E(string P_0, string P_1) { return P_0 + P_1; } static FileStream _206D_206E_202B_200B_200B_202A_202D_206F_206C_206F_206F_202B_200F_200E_206E_206D_206A_202C_202E_200E_206F_202C_200F_200E_200B_202A_202A_200E_200F_202C_202A_200C_202E_206C_202C_200C_206C_202B_202A_206D_202E(string P_0) { return File.Create(P_0); } static BinaryWriter _202E_206F_200E_206B_206A_206D_206D_200F_206A_202A_200D_200F_200D_202C_200C_200F_206F_202A_202E_202E_202C_202B_206E_206F_200F_200C_200F_200B_200F_206F_202E_200B_200E_206C_206A_202C_206F_202D_202B_206C_202E(Stream P_0) { return new BinaryWriter(P_0); } static void _206F_202A_202B_206C_202E_200C_200B_200F_206D_200E_202D_202B_202D_206D_206B_206F_202D_200E_200C_200B_202E_200C_206E_200E_200E_200E_206E_206F_206F_206C_206F_200B_206E_206C_200E_202B_200F_200B_200D_206B_202E(BinaryWriter P_0, uint P_1) { P_0.Write(P_1); } static void _200E_206C_202B_202B_200C_200B_200E_200D_200B_200D_206B_206E_202D_202A_206D_202D_200F_202A_200E_206E_200B_202C_206C_200C_200F_206B_202A_206D_206B_202C_206C_202B_206C_202A_202D_200F_206E_206D_206E_200F_202E(BinaryWriter P_0, int P_1) { P_0.Write(P_1); } static void _202A_202A_206F_206B_206A_200F_202D_206E_202D_206D_206D_202E_206A_202B_202D_202C_206E_202A_202A_202D_202E_202D_200C_202B_202A_206E_200C_200D_206B_206B_202A_200F_202B_202A_206C_202A_206B_202C_202B_206A_202E(BinaryWriter P_0, string P_1) { P_0.Write(P_1); } static void _206E_200B_200E_200C_200B_206E_206A_200D_202D_202D_200E_202A_202A_202E_202D_206E_206B_206F_202B_206C_202B_202C_206C_206E_202C_206E_200D_200C_206A_206F_200F_206E_206A_202B_202C_200C_200D_202B_202A_200E_202E(BinaryWriter P_0, ushort P_1) { P_0.Write(P_1); } static void _200E_202D_206C_202B_202A_206B_200D_202D_200B_206F_202C_202A_200E_202A_202B_200B_200D_202E_206F_200C_202A_202C_202E_206C_206B_202D_202E_202E_200D_206B_200B_206E_200C_206C_200F_202A_200C_202D_206D_200F_202E(BinaryWriter P_0, float P_1) { P_0.Write(P_1); } static void _200F_206E_202A_202E_200C_202D_206D_202B_206B_200B_200B_202A_200C_206D_206E_200B_206F_202D_200C_206E_206C_202D_206A_206A_206F_202C_200B_200F_206F_202C_200D_200E_202C_206C_202B_202A_206B_200B_202E_202E_202E(BinaryWriter P_0, bool P_1) { P_0.Write(P_1); } static void _206C_206F_200E_206B_200F_202E_206D_206F_202D_206B_202B_202C_200B_200B_206C_200F_202D_202B_202B_202B_200E_206A_200E_206E_206E_200D_206C_200E_202B_202A_206F_200E_202B_202C_202B_206C_200D_200E_206D_202B_202E(string P_0, string P_1, bool P_2) { File.Move(P_0, P_1, P_2); } static int _206A_200D_206A_200C_202E_202A_202C_202C_202E_206C_206B_200F_202A_200B_202A_206D_206C_202D_200F_200B_200C_206A_200C_206A_202E_200D_206C_206B_206D_200E_200F_206A_202D_202D_200E_206A_200D_202C_206D_200C_202E(string P_0, string P_1, StringComparison P_2) { return P_0.IndexOf(P_1, P_2); } static string _202D_202D_200D_206A_206D_202D_200B_202A_200B_202B_202D_206C_206C_202B_202E_206F_200C_206A_202D_206C_200B_200E_202E_200E_200B_206C_200D_202B_206F_202A_200E_202D_202D_202B_200C_200E_200C_202E_202A_206C_202E(string P_0, int P_1, int P_2) { return P_0.Substring(P_1, P_2); } static string _202D_202D_206A_206E_200C_200E_200D_206C_200D_206E_200C_200D_202E_202A_206D_206D_200E_202B_206E_206A_206E_206E_206B_202E_206C_202D_206F_200B_206D_206A_206A_206C_202D_206B_206F_200C_202C_200B_202D_206E_202E(string[] P_0) { return string.Concat(P_0); } static void _206D_206F_200F_202C_200C_206A_206A_206C_200F_202B_206F_206D_200E_200D_202C_202D_200D_200D_202A_200E_200E_206E_202B_200F_202D_206C_206F_206B_202D_206E_202B_202A_206C_206B_200B_206A_200C_202E_206D_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) { P_0.LogTrace(P_1, P_2, P_3); } static LayerCommon.Layer[] _202B_202E_206F_206F_202B_200B_206B_202A_206E_206D_206F_202E_202E_200D_200C_206D_206F_202A_200D_206F_206E_206C_202A_200B_202D_206B_202D_200B_206E_200C_206E_206B_206F_206F_200C_206E_202A_202A_200C_200C_202E(LgbFile P_0) { return P_0.Layers; } static void _206C_200B_206C_206F_206E_206A_206C_206A_206F_200D_206A_202E_206F_206B_200B_200C_206E_206E_206D_202D_200B_202B_202A_200D_206A_206C_206C_200D_200C_202A_202C_202B_206A_206D_200B_200B_202B_206C_202E_206A_202E(TimeSpan P_0) { Thread.Sleep(P_0); } }