qstbak/LLib/LLib.Shop/NpcPositionCache.cs
2026-08-17 20:27:25 +10:00

1147 lines
47 KiB
C#

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<string>(-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<string>(-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<string>(-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<string>(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<NpcPositionCache> _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<uint, (ushort TerritoryId, Vector3 Position, bool FestivalOnly)>? _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<string>(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<NpcPositionCache> logger, NpcPositionCacheOptions? options = null)
{
_dataManager = dataManager;
_logger = logger;
_options = options ?? new NpcPositionCacheOptions();
}
public (ushort TerritoryId, Vector3 Position)? TryGetPosition(uint npcId)
{
Dictionary<uint, (ushort, Vector3, bool)> 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<uint, (ushort, Vector3, bool)> 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<uint> GetAllNpcIds()
{
EnsureBuilt();
return _cache.Keys;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void EnsureBuilt(CancellationToken cancellationToken = default(CancellationToken))
{
int num = ((_cache == null) ? 699426378 : 699426379);
Dictionary<uint, (ushort, Vector3, bool)> dictionary = default(Dictionary<uint, (ushort, Vector3, bool)>);
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<string>(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<uint, (ushort TerritoryId, Vector3 Position, bool FestivalOnly)>? LoadFromDisk()
{
string cacheFilePath = CacheFilePath;
int num = ((cacheFilePath == null) ? 923324017 : 923324018);
int num10 = default(int);
int num11 = default(int);
Dictionary<uint, (ushort, Vector3, bool)> dictionary = default(Dictionary<uint, (ushort, Vector3, bool)>);
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<string>(-1352529546), Array.Empty<object>());
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<uint, (ushort, Vector3, bool)>(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<string>(-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<string>(-691142266), Array.Empty<object>());
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<string>(1077656609), Array.Empty<object>());
}
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<uint, (ushort TerritoryId, Vector3 Position, bool FestivalOnly)> 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<string>(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<uint, (ushort, Vector3, bool)>.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<uint, (ushort, Vector3, bool)>)(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<string>(-1457796029), Array.Empty<object>());
return;
}
}
continue;
IL_0053:
num = -1878126125;
}
}
private Dictionary<uint, (ushort TerritoryId, Vector3 Position, bool FestivalOnly)> BuildNpcPositionCache(CancellationToken cancellationToken)
{
Dictionary<uint, (ushort, Vector3, bool)> dictionary = new Dictionary<uint, (ushort, Vector3, bool)>();
HashSet<uint> hashSet = new HashSet<uint>();
using (ExcelSheet<Aetheryte>.Enumerator enumerator = _dataManager.GetExcelSheet<Aetheryte>().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<TerritoryType> excelSheet = _dataManager.GetExcelSheet<TerritoryType>();
HashSet<string> visitedLgbPaths = new HashSet<string>();
using (ExcelSheet<TerritoryType>.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<TerritoryType>.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<ENpcBase> excelSheet2 = _dataManager.GetExcelSheet<ENpcBase>();
ExcelSheet<EObj> excelSheet3 = _dataManager.GetExcelSheet<EObj>();
using ExcelSheet<Level>.Enumerator enumerator3 = _dataManager.GetExcelSheet<Level>().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<uint, (ushort TerritoryId, Vector3 Position, bool FestivalOnly)> cache, HashSet<string> 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<string>(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<string>(-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<string>(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<string>(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<LgbFile>(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<string>(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);
}
}