1
0
Fork 0
forked from aly/qstbak
qstbak/Questionable/Questionable.Validation.Validators/JsonSchemaValidator.cs
2026-08-17 20:27:25 +10:00

1685 lines
78 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
using System.Text.Json.Serialization.Metadata;
using Json.Schema;
using Questionable.Model;
using Questionable.Model.Questing;
namespace Questionable.Validation.Validators;
internal sealed class JsonSchemaValidator : IQuestValidator
{
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), (byte? Sequence, int? Step)> _003C_003E9__4_1;
public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), string> _003C_003E9__4_2;
public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), (byte? Sequence, int? Step)> _003C_003E9__5_1;
public static Func<(byte? Sequence, int? Step, string PropertyPath, string Message), string> _003C_003E9__5_2;
public static Func<KeyValuePair<string, JsonNode>, bool> _003C_003E9__6_5;
public static Func<KeyValuePair<string, JsonNode>, string> _003C_003E9__6_6;
public static Predicate<string> _003C_003E9__6_0;
public static Predicate<string> _003C_003E9__6_1;
public static Predicate<string> _003C_003E9__6_2;
public static Predicate<string> _003C_003E9__6_3;
public static Predicate<string> _003C_003E9__6_4;
public static Func<object, object?, bool> _003C_003E9__15_0;
internal (byte? Sequence, int? Step) _003CValidate_003Eb__4_1((byte? Sequence, int? Step, string PropertyPath, string Message) e)
{
return (Sequence: e.Sequence, Step: e.Step);
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CValidate_003Eb__4_2((byte? Sequence, int? Step, string PropertyPath, string Message) e)
{
int num = (_202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1407445173 : 1407445172);
while (true)
{
int num2 = num;
int num3 = 1407445173;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
return e.Message;
case 1:
return _206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1545053118), e.Message);
case 2:
goto IL_006e;
}
continue;
IL_006e:
num = 1407445172;
}
}
internal (byte? Sequence, int? Step) _003CValidateImmediate_003Eb__5_1((byte? Sequence, int? Step, string PropertyPath, string Message) e)
{
return (Sequence: e.Sequence, Step: e.Step);
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CValidateImmediate_003Eb__5_2((byte? Sequence, int? Step, string PropertyPath, string Message) e)
{
int num = (_202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1703630483 : 1703630480);
while (true)
{
int num2 = num;
int num3 = 1703630482;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return e.Message;
case 2:
return _206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(2074665157), e.Message);
case 0:
goto IL_0070;
}
continue;
IL_0070:
num = 1703630480;
}
}
internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_5(KeyValuePair<string, JsonNode> x)
{
return x.Value != null;
}
internal string _003CSimplifyConditionalRequiredErrors_003Eb__6_6(KeyValuePair<string, JsonNode> x)
{
return x.Key;
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_0(string x)
{
int num = (IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1518164676)) ? (-2117687274) : (-2117687276));
while (true)
{
int num2 = num;
int num3 = -2117687275;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -2117687276;
break;
case 0:
return IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1372080508));
case 3:
return true;
case 1:
num = (IsRequiredPropertyError(x, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1316123041)) ? (-2117687274) : (-2117687275));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_1(string x)
{
return IsRequiredPropertyError(x, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1980697895));
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_2(string x)
{
int num = (IsRequiredPropertyError(x, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-332485666)) ? (-362335936) : (-362335935));
while (true)
{
int num2 = num;
int num3 = -362335936;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0052;
case 0:
return true;
case 1:
return IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1742329127));
}
continue;
IL_0052:
num = -362335935;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_3(string x)
{
return IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-301952118));
}
[MethodImpl(MethodImplOptions.NoInlining)]
internal bool _003CSimplifyConditionalRequiredErrors_003Eb__6_4(string x)
{
return IsRequiredPropertyError(x, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1768019597));
}
internal bool _003CNoEmptyCollectionModifier_003Eb__15_0(object _, object? val)
{
ICollection collection = val as ICollection;
int num = ((collection == null) ? (-1341388091) : (-1341388092));
while (true)
{
int num2 = num;
int num3 = -1341388091;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return false;
case 1:
return _206D_206E_206C_202B_206F_200B_200D_200C_206D_206F_200E_206B_206F_202C_206A_202D_206D_206C_200B_202E_200D_200C_206D_200B_202D_206C_200E_206E_206C_200C_200C_200E_202D_202D_200C_200D_202D_206A_206A_200F_202E(collection) > 0;
case 2:
goto IL_0056;
}
continue;
IL_0056:
num = -1341388092;
}
}
static bool _202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static string _206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static int _206D_206E_206C_202B_206F_200B_200D_200C_206D_206F_200E_206B_206F_202C_206A_202D_206D_206C_200B_202E_200D_200C_206D_200B_202D_206C_200E_206E_206C_200C_200C_200E_202D_202D_200C_200D_202D_206A_206A_200F_202E(ICollection P_0)
{
return P_0.Count;
}
}
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass4_0
{
public Dictionary<int, byte> sequenceMap;
internal (byte? Sequence, int? Step, string PropertyPath, string Message) _003CValidate_003Eb__0(SchemaValidationHelper.ParsedError e)
{
var (item, item2, rawPath) = ParseInstanceLocation(e.InstancePath, sequenceMap);
return (Sequence: item, Step: item2, PropertyPath: SchemaValidationHelper.FormatPath(rawPath), Message: e.Message);
}
}
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass8_0
{
public byte? sequence;
[MethodImpl(MethodImplOptions.NoInlining)]
internal bool _003CFindStepNode_003Eb__0(JsonObject x)
{
return _202C_200B_206E_202D_200D_202D_202A_200D_200B_200C_200E_206F_200B_200E_202C_202E_200F_206A_206A_200B_200B_200F_202D_206F_206C_206E_202E_200C_200C_200D_200D_206C_202A_206A_202C_206A_202A_206C_206A_206E_202E((JsonNode)x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(916692153))?.GetValue<int>() == sequence.Value;
}
static JsonNode _202C_200B_206E_202D_200D_202D_202A_200D_200B_200C_200E_206F_200B_200E_202C_202E_200F_206A_206A_200B_200B_200F_202D_206F_206C_206E_202E_200C_200C_200D_200D_206C_202A_206A_202C_206A_202A_206C_206A_206E_202E(JsonNode P_0, string P_1)
{
return P_0[P_1];
}
}
[CompilerGenerated]
private sealed class _003CValidate_003Ed__4 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
{
private int _003C_003E1__state;
private ValidationIssue _003C_003E2__current;
private int _003C_003El__initialThreadId;
public JsonSchemaValidator _003C_003E4__this;
private Quest quest;
public Quest _003C_003E3__quest;
private JsonNode _003CquestNode_003E5__2;
private IEnumerator<IGrouping<(byte? Sequence, int? Step), (byte? Sequence, int? Step, string PropertyPath, string Message)>> _003C_003E7__wrap2;
ValidationIssue IEnumerator<ValidationIssue>.Current
{
[DebuggerHidden]
get
{
return _003C_003E2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return _003C_003E2__current;
}
}
[DebuggerHidden]
public _003CValidate_003Ed__4(int _003C_003E1__state)
{
this._003C_003E1__state = _003C_003E1__state;
_003C_003El__initialThreadId = _200F_206E_200B_202A_206D_200D_206B_200F_200D_200B_200E_202C_202A_206D_200C_206A_206F_206E_200B_200E_200D_200F_200F_206B_202E_206A_202B_202C_200B_200E_200E_202D_206E_206F_202B_200C_206A_202A_200B_206C_202E();
}
[DebuggerHidden]
void IDisposable.Dispose()
{
int num = _003C_003E1__state;
int num2 = ((num == -3) ? (-1542116256) : (-1542116255));
while (true)
{
int num3 = num2;
int num4 = -1542116256;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
default:
continue;
case 2:
num2 = -1542116255;
continue;
case 1:
if (num == 2)
{
num2 = -1542116256;
continue;
}
break;
case 0:
try
{
}
finally
{
_003C_003Em__Finally1();
}
break;
}
break;
}
_003CquestNode_003E5__2 = null;
_003C_003E7__wrap2 = null;
_003C_003E1__state = -2;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool MoveNext()
{
try
{
int num = _003C_003E1__state;
JsonSchemaValidator jsonSchemaValidator = _003C_003E4__this;
int num2;
List<SchemaValidationHelper.ParsedError> list2 = default(List<SchemaValidationHelper.ParsedError>);
_003C_003Ec__DisplayClass4_0 _003C_003Ec__DisplayClass4_ = default(_003C_003Ec__DisplayClass4_0);
IGrouping<(byte?, int?), (byte?, int?, string, string)> current = default(IGrouping<(byte?, int?), (byte?, int?, string, string)>);
List<string> list = default(List<string>);
EvaluationResults evaluationResults = default(EvaluationResults);
switch (num)
{
default:
num2 = 1845948745;
goto IL_002c;
case 1:
break;
case 2:
_003C_003E1__state = -3;
num2 = 1845948750;
goto IL_002c;
case 0:
goto IL_028d;
IL_002c:
while (true)
{
int num3 = num2;
int num4 = 1845948743;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
case 3:
_003C_003E2__current = new ValidationIssue
{
PathType = EPathType.Quest,
Id = _202A_200D_200F_200C_200D_202D_206F_202A_200D_206A_202B_206A_206D_200C_206B_206D_206B_200B_200F_200E_202E_206B_206B_202C_200D_200C_200C_206E_206B_206B_202D_206E_200E_200D_206D_202A_200D_200C_202C_206E_202E((object)quest.Id),
Location = null,
Type = EIssueType.InvalidJsonSchema,
Severity = EIssueSeverity.Error,
Description = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(298877451)
};
_003C_003E1__state = 1;
return true;
case 12:
{
List<(byte?, int?, string, string)> source = list2.Select(_003C_003Ec__DisplayClass4_._003CValidate_003Eb__0).ToList();
_003C_003E7__wrap2 = (from e in source
group e by (Sequence: e.Sequence, Step: e.Step)).GetEnumerator();
_003C_003E1__state = -3;
num2 = 1845948750;
break;
}
case 10:
return false;
case 1:
goto end_IL_000f;
case 14:
return false;
case 11:
num2 = 1845948745;
break;
case 5:
return false;
case 16:
goto end_IL_002c;
case 8:
goto IL_01cc;
case 15:
goto IL_0220;
case 9:
goto IL_0265;
case 0:
goto IL_028d;
case 13:
jsonSchemaValidator._questSchema = jsonSchemaValidator._schemaRegistrar.Get(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1720677466));
num2 = 1845948751;
break;
case 4:
_003C_003E2__current = new ValidationIssue
{
PathType = EPathType.Quest,
Id = _202A_200D_200F_200C_200D_202D_206F_202A_200D_206A_202B_206A_206D_200C_206B_206D_206B_200B_200F_200E_202E_206B_206B_202C_200D_200C_200C_206E_206B_206B_202D_206E_200E_200D_206D_202A_200D_200C_202C_206E_202E((object)quest.Id),
Location = SchemaValidationHelper.FormatQuestLocation(current.Key.Item1, current.Key.Item2),
Type = EIssueType.InvalidJsonSchema,
Severity = EIssueSeverity.Error,
Description = _202E_202C_202C_206B_206B_200F_202C_200D_202A_202A_200B_202D_206A_206F_202B_206C_206E_200E_206E_200B_206F_206B_200E_200F_202D_206D_202B_206F_206F_202B_200C_200F_200C_206A_206D_206E_200B_206D_202D_206D_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-976057447), (IEnumerable<string>)list)
};
_003C_003E1__state = 2;
return true;
case 2:
goto IL_0384;
case 7:
goto IL_0414;
case 6:
_003C_003Em__Finally1();
_003C_003E7__wrap2 = null;
return false;
}
continue;
IL_0414:
num2 = ((jsonSchemaValidator._questSchema != null) ? 1845948751 : 1845948746);
continue;
IL_01cc:
JsonSchema? questSchema = jsonSchemaValidator._questSchema;
JsonElement jsonElement = JsonSerializer.SerializeToElement(_003CquestNode_003E5__2);
EvaluationOptions evaluationOptions = _206E_202D_206F_206C_200F_200B_200C_206C_206D_206F_202E_200E_206F_206F_202B_206C_202D_206A_202B_202A_200F_200C_200B_200B_206E_200F_200E_206F_206A_202C_206D_202D_200F_206C_206C_202B_206F_206B_206C_206B_202E();
_206B_206A_200F_202E_206D_200B_206E_200B_202E_202C_200D_200E_206B_202B_202B_206A_200D_200F_206C_206A_200E_202C_202A_206E_206B_206B_206C_200B_206F_200E_200D_206C_202A_200D_200F_206F_200B_202E_200C_206E_202E(evaluationOptions, _206D_200C_202A_202A_206A_206F_206D_206D_202B_200F_206B_206A_202D_202C_200D_206B_206D_202A_206A_200F_206A_206C_206C_200C_206C_200E_206E_200E_200C_202E_200D_200B_206E_206A_200C_206B_206F_206B_202B_200D_202E());
_206C_202B_200B_206B_202B_202D_202C_200D_206D_202D_206A_200D_200C_206C_202A_200B_202E_206F_200B_206A_206D_200B_202D_202D_206D_200F_206E_206F_206E_200D_202B_200B_206F_200C_200F_206D_202E_200F_200B_200D_202E(evaluationOptions, OutputFormat.Hierarchical);
evaluationResults = _206E_202C_206F_200E_200D_206D_206F_206A_202C_206D_202C_206E_206C_202A_202A_206E_206C_202E_202A_202A_206E_202A_206B_200E_202B_200F_202B_200F_200D_202A_200B_206D_206E_206C_206C_200F_202D_206C_202D_206E_202E(questSchema, jsonElement, evaluationOptions);
num2 = ((!_206D_206C_202C_206A_202D_202C_206E_200F_206E_206E_206F_206D_206B_206A_202D_206D_200B_202D_200C_202C_206C_206B_200D_206D_202D_202C_202C_206F_200D_202B_202B_206D_206A_206D_206C_202B_200D_202D_202B_206F_202E(evaluationResults)) ? 1845948744 : 1845948738);
continue;
IL_0220:
_003C_003Ec__DisplayClass4_.sequenceMap = BuildSequenceMap(_003CquestNode_003E5__2);
list2 = new List<SchemaValidationHelper.ParsedError>();
SchemaValidationHelper.CollectLeafErrors(evaluationResults, list2);
num2 = ((list2.Count != 0) ? 1845948747 : 1845948740);
continue;
IL_0384:
current = _003C_003E7__wrap2.Current;
list = current.Select<(byte?, int?, string, string), string>([MethodImpl(MethodImplOptions.NoInlining)] ((byte? Sequence, int? Step, string PropertyPath, string Message) e) =>
{
int num6 = (_003C_003Ec._202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1407445173 : 1407445172);
while (true)
{
int num7 = num6;
int num8 = 1407445173;
int num9 = num7;
switch ((num9 | num8) - (num9 & num8))
{
case 0:
return e.Message;
case 1:
return _003C_003Ec._206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1545053118), e.Message);
case 2:
goto IL_006e;
}
continue;
IL_006e:
num6 = 1407445172;
}
}).Distinct().ToList();
SimplifyConditionalRequiredErrors(list, FindStepNode(_003CquestNode_003E5__2, current.Key.Item1, current.Key.Item2));
num2 = ((list.Count == 0) ? 1845948750 : 1845948739);
continue;
IL_0265:
num2 = (_206A_202C_200B_202D_200E_206B_206A_200F_202E_200E_200D_202A_202B_202C_206A_200D_206B_202D_200C_200C_206C_206E_206C_200D_202C_206B_202C_200D_206B_206E_206C_200B_206D_206F_206C_206F_202B_206E_206C_202B_202E((IEnumerator)_003C_003E7__wrap2) ? 1845948741 : 1845948737);
continue;
end_IL_002c:
break;
}
goto case 2;
IL_028d:
_003C_003E1__state = -1;
_003C_003Ec__DisplayClass4_ = new _003C_003Ec__DisplayClass4_0();
num2 = (jsonSchemaValidator._questNodes.TryGetValue(quest.Id, out _003CquestNode_003E5__2) ? 1845948736 : 1845948749);
goto IL_002c;
end_IL_000f:
break;
}
_003C_003E1__state = -1;
return false;
}
catch
{
//try-fault
((IDisposable)this).Dispose();
throw;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
private void _003C_003Em__Finally1()
{
_003C_003E1__state = -1;
int num = ((_003C_003E7__wrap2 == null) ? (-232982781) : (-232982784));
while (true)
{
int num2 = num;
int num3 = -232982783;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return;
case 1:
_202E_202A_206F_200D_200C_202A_202E_200C_206F_200E_206F_202E_202A_200F_202E_200D_202E_202A_202B_202A_206B_200E_202D_200E_202E_206D_200E_200C_206B_200E_206C_202C_206B_200B_202C_206A_206D_206F_202D_202E_202E((IDisposable)_003C_003E7__wrap2);
num = -232982781;
break;
case 0:
num = -232982784;
break;
}
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw _202D_206F_206F_200F_202E_200D_200B_202A_202D_206B_206E_206F_200B_206C_202B_200C_200F_202B_200E_202B_202A_206A_200F_200C_202A_206B_200D_202A_206D_206A_200B_200F_206B_200C_206A_202C_202B_200F_206C_206A_202E();
}
[DebuggerHidden]
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
{
int num = ((_003C_003E1__state != -2) ? (-1444097586) : (-1444097592));
_003CValidate_003Ed__4 _003CValidate_003Ed__ = default(_003CValidate_003Ed__4);
while (true)
{
int num2 = num;
int num3 = -1444097588;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_003CValidate_003Ed__.quest = _003C_003E3__quest;
return _003CValidate_003Ed__;
case 4:
num = ((_003C_003El__initialThreadId != _200F_206E_200B_202A_206D_200D_206B_200F_200D_200B_200E_202C_202A_206D_200C_206A_206F_206E_200B_200E_200D_200F_200F_206B_202E_206A_202B_202C_200B_200E_200E_202D_206E_206F_202B_200C_206A_202A_200B_206C_202E()) ? (-1444097586) : (-1444097585));
break;
case 3:
_003C_003E1__state = 0;
_003CValidate_003Ed__ = this;
num = -1444097587;
break;
case 0:
num = -1444097592;
break;
case 2:
_003CValidate_003Ed__ = new _003CValidate_003Ed__4(0)
{
_003C_003E4__this = _003C_003E4__this
};
num = -1444097587;
break;
}
}
}
[DebuggerHidden]
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
}
static int _200F_206E_200B_202A_206D_200D_206B_200F_200D_200B_200E_202C_202A_206D_200C_206A_206F_206E_200B_200E_200D_200F_200F_206B_202E_206A_202B_202C_200B_200E_200E_202D_206E_206F_202B_200C_206A_202A_200B_206C_202E()
{
return Environment.CurrentManagedThreadId;
}
static EvaluationOptions _206E_202D_206F_206C_200F_200B_200C_206C_206D_206F_202E_200E_206F_206F_202B_206C_202D_206A_202B_202A_200F_200C_200B_200B_206E_200F_200E_206F_206A_202C_206D_202D_200F_206C_206C_202B_206F_206B_206C_206B_202E()
{
return new EvaluationOptions();
}
static CultureInfo _206D_200C_202A_202A_206A_206F_206D_206D_202B_200F_206B_206A_202D_202C_200D_206B_206D_202A_206A_200F_206A_206C_206C_200C_206C_200E_206E_200E_200C_202E_200D_200B_206E_206A_200C_206B_206F_206B_202B_200D_202E()
{
return CultureInfo.InvariantCulture;
}
static void _206B_206A_200F_202E_206D_200B_206E_200B_202E_202C_200D_200E_206B_202B_202B_206A_200D_200F_206C_206A_200E_202C_202A_206E_206B_206B_206C_200B_206F_200E_200D_206C_202A_200D_200F_206F_200B_202E_200C_206E_202E(EvaluationOptions P_0, CultureInfo P_1)
{
P_0.Culture = P_1;
}
static void _206C_202B_200B_206B_202B_202D_202C_200D_206D_202D_206A_200D_200C_206C_202A_200B_202E_206F_200B_206A_206D_200B_202D_202D_206D_200F_206E_206F_206E_200D_202B_200B_206F_200C_200F_206D_202E_200F_200B_200D_202E(EvaluationOptions P_0, OutputFormat P_1)
{
P_0.OutputFormat = P_1;
}
static EvaluationResults _206E_202C_206F_200E_200D_206D_206F_206A_202C_206D_202C_206E_206C_202A_202A_206E_206C_202E_202A_202A_206E_202A_206B_200E_202B_200F_202B_200F_200D_202A_200B_206D_206E_206C_206C_200F_202D_206C_202D_206E_202E(JsonSchema P_0, JsonElement P_1, EvaluationOptions P_2)
{
return P_0.Evaluate(P_1, P_2);
}
static bool _206D_206C_202C_206A_202D_202C_206E_200F_206E_206E_206F_206D_206B_206A_202D_206D_200B_202D_200C_202C_206C_206B_200D_206D_202D_202C_202C_206F_200D_202B_202B_206D_206A_206D_206C_202B_200D_202D_202B_206F_202E(EvaluationResults P_0)
{
return P_0.IsValid;
}
static string _202A_200D_200F_200C_200D_202D_206F_202A_200D_206A_202B_206A_206D_200C_206B_206D_206B_200B_200F_200E_202E_206B_206B_202C_200D_200C_200C_206E_206B_206B_202D_206E_200E_200D_206D_202A_200D_200C_202C_206E_202E(object P_0)
{
return P_0.ToString();
}
static string _202E_202C_202C_206B_206B_200F_202C_200D_202A_202A_200B_202D_206A_206F_202B_206C_206E_200E_206E_200B_206F_206B_200E_200F_202D_206D_202B_206F_206F_202B_200C_200F_200C_206A_206D_206E_200B_206D_202D_206D_202E(string P_0, IEnumerable<string> P_1)
{
return string.Join(P_0, P_1);
}
static bool _206A_202C_200B_202D_200E_206B_206A_200F_202E_200E_200D_202A_202B_202C_206A_200D_206B_202D_200C_200C_206C_206E_206C_200D_202C_206B_202C_200D_206B_206E_206C_200B_206D_206F_206C_206F_202B_206E_206C_202B_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202E_202A_206F_200D_200C_202A_202E_200C_206F_200E_206F_202E_202A_200F_202E_200D_202E_202A_202B_202A_206B_200E_202D_200E_202E_206D_200E_200C_206B_200E_206C_202C_206B_200B_202C_206A_206D_206F_202D_202E_202E(IDisposable P_0)
{
P_0.Dispose();
}
static NotSupportedException _202D_206F_206F_200F_202E_200D_200B_202A_202D_206B_206E_206F_200B_206C_202B_200C_200F_202B_200E_202B_202A_206A_200F_200C_202A_206B_200D_202A_206D_206A_200B_200F_206B_200C_206A_202C_202B_200F_206C_206A_202E()
{
return new NotSupportedException();
}
}
private readonly SchemaRegistrar _schemaRegistrar;
private readonly Dictionary<ElementId, JsonNode> _questNodes = new Dictionary<ElementId, JsonNode>();
private JsonSchema? _questSchema;
private const string QuestSchemaUri = "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/QuestPaths/quest-v1.json";
private static readonly JsonSerializerOptions ValidationSerializationOptions;
public JsonSchemaValidator(SchemaRegistrar schemaRegistrar)
{
_schemaRegistrar = schemaRegistrar;
}
[IteratorStateMachine(typeof(_003CValidate_003Ed__4))]
public IEnumerable<ValidationIssue> Validate(Quest quest)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new _003CValidate_003Ed__4(-2)
{
_003C_003E4__this = this,
_003C_003E3__quest = quest
};
}
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
{
//ILSpy generated this explicit interface implementation from .override directive in Validate
return this.Validate(quest);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public List<ValidationIssue> ValidateImmediate(ElementId elementId, JsonNode questNode)
{
int num = ((_questSchema != null) ? (-1183405652) : (-1183405653));
Dictionary<int, byte> sequenceMap = default(Dictionary<int, byte>);
List<SchemaValidationHelper.ParsedError> list2 = default(List<SchemaValidationHelper.ParsedError>);
EvaluationResults evaluationResults = default(EvaluationResults);
IGrouping<(byte?, int?), (byte?, int?, string, string)> current = default(IGrouping<(byte?, int?), (byte?, int?, string, string)>);
List<string> list3 = default(List<string>);
while (true)
{
int num2 = num;
int num3 = -1183405651;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
sequenceMap = BuildSequenceMap(questNode);
list2 = new List<SchemaValidationHelper.ParsedError>();
SchemaValidationHelper.CollectLeafErrors(evaluationResults, list2);
num = ((list2.Count != 0) ? (-1183405649) : (-1183405655));
break;
case 3:
return new List<ValidationIssue>();
case 0:
num = -1183405653;
break;
case 4:
{
int num9 = 1;
List<ValidationIssue> list4 = new List<ValidationIssue>(num9);
CollectionsMarshal.SetCount(list4, num9);
CollectionsMarshal.AsSpan(list4)[0] = new ValidationIssue
{
PathType = EPathType.Quest,
Id = _202A_206B_206D_200C_206A_206D_206A_202A_206F_200B_206F_200D_200E_202B_200F_202E_200D_206B_200F_206F_206D_200D_200D_200D_206F_200C_206F_206F_200D_206D_206B_206D_202B_206D_206D_200F_202C_206F_206C_202C_202E((object)elementId),
Location = null,
Type = EIssueType.InvalidJsonSchema,
Severity = EIssueSeverity.Error,
Description = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(955249200)
};
return list4;
}
case 1:
{
JsonSchema? questSchema = _questSchema;
JsonElement jsonElement = JsonSerializer.SerializeToElement(questNode);
EvaluationOptions evaluationOptions = _206D_206E_202B_200E_206A_202A_206B_206E_206F_202E_202D_206A_200D_202C_206B_200B_202A_202A_206F_206C_202D_200C_202C_202C_206D_200F_202D_206C_202D_202E_202C_200B_202C_202A_200B_206C_202C_202D_200B_200F_202E();
_206E_200B_202B_200E_206A_206A_200C_202B_206C_202B_200B_202E_202E_200D_202E_202D_200B_202C_200D_200E_206A_200D_202D_206B_200C_206D_200E_206B_200E_200E_202E_202E_202D_202E_200D_206B_206E_206F_206D_202C_202E(evaluationOptions, _202D_200C_206F_206F_200E_206B_206F_202E_206A_202D_206F_200F_206D_206A_202C_200E_202D_200D_206E_202D_206B_206D_200D_202E_202E_206F_200C_202B_200E_200F_206F_206D_206A_202C_200E_206E_200F_202A_200B_200D_202E());
_206A_202D_200F_200F_202A_202B_202B_200E_200D_202D_206D_202C_202C_206B_206F_200F_202C_202E_202A_202B_202D_200E_206C_200C_206B_202D_206A_200D_206C_200F_200F_202E_200B_200D_202E_202D_202C_200F_206C_202C_202E(evaluationOptions, OutputFormat.Hierarchical);
evaluationResults = _202B_206E_200D_200B_206D_206E_206B_206E_206C_202E_206C_200D_206F_206A_206F_202B_206A_200B_206A_202C_200B_200D_202E_206B_202C_200D_202E_202D_206B_200C_200D_206E_206F_202C_206B_206E_202C_200D_206B_200C_202E(questSchema, jsonElement, evaluationOptions);
num = ((!_200F_200B_206C_200D_202B_206F_200C_206A_202A_206C_206D_206F_200F_200F_202B_202C_206E_206A_202B_202C_202D_200E_202D_206F_200F_206E_202C_202E_206E_200F_200F_206B_200D_206D_206A_200F_202D_200C_206D_200D_202E(evaluationResults)) ? (-1183405656) : (-1183405650));
break;
}
case 6:
_questSchema = _schemaRegistrar.Get(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(751310152));
num = -1183405652;
break;
case 2:
{
List<ValidationIssue> list = new List<ValidationIssue>();
IEnumerator<IGrouping<(byte?, int?), (byte?, int?, string, string)>> enumerator = (from e in list2.Select(delegate(SchemaValidationHelper.ParsedError e)
{
var (item, item2, rawPath) = ParseInstanceLocation(e.InstancePath, sequenceMap);
return (Sequence: item, Step: item2, PropertyPath: SchemaValidationHelper.FormatPath(rawPath), Message: e.Message);
}).ToList()
group e by (Sequence: e.Sequence, Step: e.Step)).GetEnumerator();
try
{
num = -1597210039;
while (true)
{
int num5 = num;
num3 = -1597210038;
num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 0:
num = -1597210039;
break;
case 1:
current = enumerator.Current;
list3 = current.Select<(byte?, int?, string, string), string>([MethodImpl(MethodImplOptions.NoInlining)] ((byte? Sequence, int? Step, string PropertyPath, string Message) e) =>
{
int num10 = (_003C_003Ec._202E_200E_206E_206D_202B_206E_202D_202E_202A_206D_206F_202A_202B_200F_206F_206C_206D_202B_206F_206B_202B_206F_206D_206C_206E_200D_202B_206D_202E_206E_206F_202D_202E_200B_206B_200C_202E_200D_200E_202C_202E(e.PropertyPath) ? 1703630483 : 1703630480);
while (true)
{
int num11 = num10;
int num12 = 1703630482;
int num13 = num11;
int num14 = num13 + num12;
int num15 = num13 & num12;
switch (num14 - (num15 + num15))
{
case 1:
return e.Message;
case 2:
return _003C_003Ec._206A_206C_206A_206D_200D_206B_200B_200C_206F_200B_202D_206A_200F_206D_202C_202C_202D_202D_206E_206A_206A_202A_206B_200F_206E_200C_206E_206A_206F_206C_202B_206C_200E_206E_200E_206B_206F_202B_200D_202E(e.PropertyPath, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(2074665157), e.Message);
case 0:
goto IL_0070;
}
continue;
IL_0070:
num10 = 1703630480;
}
}).Distinct().ToList();
num = ((list3.Count == 0) ? (-1597210039) : (-1597210034));
break;
case 4:
list.Add(new ValidationIssue
{
PathType = EPathType.Quest,
Id = _202A_206B_206D_200C_206A_206D_206A_202A_206F_200B_206F_200D_200E_202B_200F_202E_200D_206B_200F_206F_206D_200D_200D_200D_206F_200C_206F_206F_200D_206D_206B_206D_202B_206D_206D_200F_202C_206F_206C_202C_202E((object)elementId),
Location = SchemaValidationHelper.FormatQuestLocation(current.Key.Item1, current.Key.Item2),
Type = EIssueType.InvalidJsonSchema,
Severity = EIssueSeverity.Error,
Description = _200E_200C_200C_202E_200B_200D_202E_202E_206A_202E_202D_206A_200C_206A_206D_202C_202C_206C_202C_206A_200C_200D_202E_206F_200F_206D_202A_206A_202E_200D_200D_200E_200E_206A_202C_202C_206C_202A_200E_202D_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(564459472), (IEnumerable<string>)list3)
});
num = -1597210039;
break;
case 3:
num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? (-1597210037) : (-1597210040));
break;
case 2:
return list;
}
}
}
finally
{
num = ((enumerator == null) ? (-994961268) : (-994961265));
while (true)
{
int num8 = num;
num3 = -994961266;
num4 = num8;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -994961265;
break;
case 1:
_200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator);
num = -994961268;
break;
case 2:
goto end_IL_033d;
}
continue;
end_IL_033d:
break;
}
}
}
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static void SimplifyConditionalRequiredErrors(List<string> lines, JsonObject? step)
{
int num = ((step != null) ? 335150382 : 335150381);
while (true)
{
int num2 = num;
int num3 = 335150383;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0049;
case 2:
return;
case 1:
{
IEnumerator<string> enumerator = (from x in step
where x.Value != null
select x.Key).GetEnumerator();
try
{
num = -365179251;
while (true)
{
int num7 = num;
num3 = -365179251;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = -365179251;
break;
case 0:
num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? (-365179252) : (-365179249));
break;
case 1:
{
string property = enumerator.Current;
lines.RemoveAll((string x) => IsRequiredPropertyError(x, property));
num = -365179251;
break;
}
case 2:
goto end_IL_00b5;
}
continue;
end_IL_00b5:
break;
}
}
finally
{
num = ((enumerator == null) ? 1444188635 : 1444188634);
while (true)
{
int num8 = num;
num3 = 1444188635;
num4 = num8;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 1444188634;
break;
case 0:
goto end_IL_0161;
case 1:
_200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator);
num = 1444188635;
break;
}
continue;
end_IL_0161:
break;
}
}
num = ((!_202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(_206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E((JsonNode)step, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-805703500))?.GetValue<string>(), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(562282663))) ? (-710204795) : (-710204793));
while (true)
{
int num9 = num;
num3 = -710204797;
num4 = num9;
int num10 = num4 + num3;
int num11 = num4 & num3;
switch (num10 - (num11 + num11))
{
case 1:
{
bool num12 = lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-301952118))) > 0;
bool flag = lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => IsRequiredPropertyError(x, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1768019597))) > 0;
num = ((!(num12 && flag)) ? (-710204799) : (-710204794));
break;
}
case 4:
lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) =>
{
int num13 = (IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1518164676)) ? (-2117687274) : (-2117687276));
while (true)
{
int num14 = num13;
int num15 = -2117687275;
int num16 = num14;
switch ((num16 | num15) - (num16 & num15))
{
case 2:
num13 = -2117687276;
break;
case 0:
return IsRequiredPropertyError(x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1372080508));
case 3:
return true;
case 1:
num13 = (IsRequiredPropertyError(x, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1316123041)) ? (-2117687274) : (-2117687275));
break;
}
}
});
return;
case 3:
lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) =>
{
int num13 = (IsRequiredPropertyError(x, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-332485666)) ? (-362335936) : (-362335935));
while (true)
{
int num14 = num13;
int num15 = -362335936;
int num16 = num14;
int num17 = num16 + num15;
int num18 = num16 & num15;
switch (num17 - (num18 + num18))
{
case 2:
goto IL_0052;
case 0:
return true;
case 1:
return IsRequiredPropertyError(x, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1742329127));
}
continue;
IL_0052:
num13 = -362335935;
}
});
return;
case 0:
num = -710204793;
break;
case 6:
{
string obj = _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E((JsonNode)step, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1518164676))?.GetValue<string>();
if (_202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(obj, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(168860559)))
{
lines.RemoveAll([MethodImpl(MethodImplOptions.NoInlining)] (string x) => IsRequiredPropertyError(x, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1980697895)));
}
num = ((!_206F_206D_206F_202C_200F_206D_206D_202B_202A_206A_202C_200F_206E_206C_206E_206A_206F_202A_202B_202C_202C_200C_200B_200C_202D_200B_200E_202C_206D_202A_206C_206E_206A_206E_200C_200D_206A_202D_206A_202B_202E(obj, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-531322598))) ? (-710204798) : (-710204800));
break;
}
case 5:
lines.Add(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-126206019));
num = -710204799;
break;
case 2:
return;
}
}
}
}
continue;
IL_0049:
num = 335150381;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static bool IsRequiredPropertyError(string message, string property)
{
return _202D_200D_200E_200F_200D_200F_202D_202B_202D_206D_206E_200E_200D_202D_202B_200C_202A_202E_200F_202A_200D_202D_206B_202E_206A_202E_202B_200C_200C_202D_206A_206E_202B_200B_206D_202D_202D_206B_202C_206F_202E(message, _202C_202D_200E_202D_202C_200D_202A_206E_202C_200C_200C_200F_200F_206A_200B_206C_202E_202B_202C_202D_200E_206B_206C_206A_206B_200E_206E_206A_206B_202C_202E_202A_206B_202A_202C_200F_202E_200F_200C_206C_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1903574135), property, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2102967249)), StringComparison.Ordinal);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static JsonObject? FindStepNode(JsonNode questNode, byte? sequence, int? step)
{
int num = ((!sequence.HasValue) ? 1010029165 : 1010029158);
JsonArray jsonArray = default(JsonArray);
JsonArray jsonArray2 = default(JsonArray);
while (true)
{
int num2 = num;
int num3 = 1010029166;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
return _206D_206F_202C_202D_202D_202E_202D_200C_200B_202E_202B_206A_200B_206B_206C_202B_202C_206C_202C_206D_202B_200D_200B_200C_200B_206F_200F_206A_202D_202C_202A_202B_206C_202D_206B_202D_206E_206C_200C_200D_202E((JsonNode)jsonArray, step.Value) as JsonObject;
case 5:
num = ((step.Value < 0) ? 1010029162 : 1010029161);
break;
case 3:
return null;
case 4:
return null;
case 0:
jsonArray2 = _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E(questNode, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1629153329)) as JsonArray;
num = ((jsonArray2 != null) ? 1010029167 : 1010029165);
break;
case 1:
jsonArray = ((JsonSchemaValidator)(object)jsonArray2.OfType<JsonObject>().FirstOrDefault([MethodImpl(MethodImplOptions.NoInlining)] (JsonObject x) => _003C_003Ec__DisplayClass8_0._202C_200B_206E_202D_200D_202D_202A_200D_200B_200C_200E_206F_200B_200E_202C_202E_200F_206A_206A_200B_200B_200F_202D_206F_206C_206E_202E_200C_200C_200D_200D_206C_202A_206A_202C_206A_202A_206C_206A_206E_202E((JsonNode)x, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(916692153))?.GetValue<int>() == sequence.Value))?._206B_206A_206B_200C_206B_206A_200D_206F_206A_200F_206F_200F_206A_202C_200B_200E_206D_202E_206E_202D_200B_202C_206B_202B_202C_200E_202B_206F_206F_206B_206B_202E_200C_202A_200C_202B_200B_202C_200F_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(789270299)) as JsonArray;
num = ((jsonArray == null) ? 1010029162 : 1010029163);
break;
case 2:
num = 1010029158;
break;
case 8:
num = ((!step.HasValue) ? 1010029165 : 1010029166);
break;
case 7:
num = ((step.Value < _202D_200F_200F_202A_200C_200E_206C_200E_200C_206C_206C_200D_200C_200F_206D_202B_206A_200E_202B_206E_206D_200E_200C_206C_206D_206F_200D_202B_200E_202A_206F_206C_200D_200C_202A_200E_202E_206F_200F_202E_202E(jsonArray)) ? 1010029160 : 1010029162);
break;
}
}
}
public void Enqueue(ElementId elementId, JsonNode questNode)
{
_questNodes[elementId] = questNode;
}
public void Reset()
{
_questNodes.Clear();
}
void IQuestValidator.Reset()
{
//ILSpy generated this explicit interface implementation from .override directive in Reset
this.Reset();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static Dictionary<int, byte> BuildSequenceMap(JsonNode questNode)
{
Dictionary<int, byte> dictionary = new Dictionary<int, byte>();
JsonArray jsonArray = _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E(questNode, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1629153329)) as JsonArray;
int num = ((jsonArray != null) ? (-2072185714) : (-2072185727));
JsonNode jsonNode = default(JsonNode);
int num7 = default(int);
while (true)
{
int num2 = num;
int num3 = -2072185719;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 6:
num = -2072185727;
break;
case 4:
jsonNode = ((JsonSchemaValidator)(object)_206D_206F_202C_202D_202D_202E_202D_200C_200B_202E_202B_206A_200B_206B_206C_202B_202C_206C_202C_206D_202B_200D_200B_200C_200B_206F_200F_206A_202D_202C_202A_202B_206C_202D_206B_202D_206E_206C_200C_200D_202E((JsonNode)jsonArray, num7))?._206B_206A_206B_200C_206B_206A_200D_206F_206A_200F_206F_200F_206A_202C_200B_200E_206D_202E_206E_202D_200B_202C_206B_202B_202C_200E_202B_206F_206F_206B_206B_202E_200C_202A_200C_202B_200B_202C_200F_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1807900671));
num = ((jsonNode == null) ? (-2072185719) : (-2072185717));
break;
case 8:
return dictionary;
case 3:
num = ((num7 < _202D_200F_200F_202A_200C_200E_206C_200E_200C_206C_206C_200D_200C_200F_206D_202B_206A_200E_202B_206E_206D_200E_200C_206C_206D_206F_200D_202B_200E_202A_206F_206C_200D_200C_202A_200E_202E_206F_200F_202E_202E(jsonArray)) ? (-2072185715) : (-2072185716));
break;
case 1:
dictionary[num7] = (byte)jsonNode.GetValue<int>();
num = -2072185719;
break;
case 2:
num = ((_202E_200F_202A_206F_200D_202A_202C_202A_206D_206E_206F_200C_206E_206B_206B_200C_200B_202E_202B_202B_202E_202B_200F_206A_200E_206B_200E_202D_206F_202C_206F_200D_202A_202E_206C_202A_206C_206A_206A_206C_202E(jsonNode) != JsonValueKind.Number) ? (-2072185719) : (-2072185720));
break;
case 5:
return dictionary;
case 0:
{
int num8 = num7;
num3 = 1;
num4 = num8;
num7 = (num4 | num3) + (num4 & num3);
num = -2072185718;
break;
}
case 7:
num7 = 0;
num = -2072185718;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static (byte? Sequence, int? Step, string Path) ParseInstanceLocation(string instancePath, Dictionary<int, byte> sequenceMap)
{
int num = ((!_202E_206D_206F_202B_202E_202B_206F_200B_206D_202C_202A_200D_200C_206E_206B_202B_206E_202D_206E_202B_200D_202A_206D_202E_202C_206C_206B_200E_206C_202A_206D_206D_202E_200C_200E_206E_200B_200C_206B_200F_202E(instancePath)) ? 1791406059 : 1791406061);
string[] array2 = default(string[]);
int num6 = default(int);
byte? item2 = default(byte?);
int? item3 = default(int?);
int num18 = default(int);
byte value = default(byte);
int result = default(int);
int result2 = default(int);
while (true)
{
int num2 = num;
int num3 = 1791406063;
int num4 = num2;
string text;
byte? obj;
string item;
int num20;
int num21;
int num22;
int num23;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
num = (_202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(array2[num6], global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1629153329)) ? 1791406054 : 1791406062);
break;
case 4:
array2 = _206A_206E_200C_202E_202D_202A_200D_206C_200D_206A_200E_206A_200F_206E_206F_206A_202A_206E_202C_200B_200D_200E_206A_202B_200F_200E_202C_200E_200E_206E_200B_206C_206C_202D_202D_206F_202A_206A_206F_200D_202E(instancePath, '/', StringSplitOptions.None);
item2 = null;
item3 = null;
num18 = 1;
num6 = 1;
num = 1791406052;
break;
case 12:
{
string text2 = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1680133376);
string[] array4 = array2;
int num17 = num18;
int num19 = array2.Length;
num3 = num18;
num4 = num19;
text = _202B_202A_202A_200E_206E_202B_206C_200E_206D_200E_200F_200D_202A_202A_202C_200D_202C_200E_200E_200C_206D_200C_206E_200E_202E_206F_200B_206E_200C_202E_206B_206E_200D_200D_200E_206A_200B_202C_200C_206D_202E(text2, array4, num17, ~(~num4 + num3));
goto IL_00fe;
}
case 3:
obj = null;
goto IL_0192;
case 11:
{
int num15 = num6;
int num16 = array2.Length;
num3 = 1;
num4 = num16;
num = ((num15 < ~(~num4 + num3)) ? 1791406057 : 1791406050);
break;
}
case 9:
{
int num12 = num6;
num3 = 1;
num4 = num12;
int num13 = num4 ^ num3;
int num14 = num4 & num3;
num6 = num13 + (num14 + num14);
num = 1791406052;
break;
}
case 15:
text = string.Empty;
goto IL_00fe;
case 8:
obj = value;
goto IL_0192;
case 10:
{
item3 = result;
int num25 = num6;
num3 = 4;
num4 = num25;
int num26 = num4 ^ num3;
int num27 = num4 & num3;
num18 = num26 + (num27 + num27);
num = 1791406050;
break;
}
case 1:
{
string[] array5 = array2;
int num24 = num6;
num3 = 1;
num4 = num24;
num = ((!int.TryParse(array5[(num4 | num3) + (num4 & num3)], out result2)) ? 1791406054 : 1791406063);
break;
}
case 13:
num = ((num18 < array2.Length) ? 1791406051 : 1791406048);
break;
case 0:
num = (sequenceMap.TryGetValue(result2, out value) ? 1791406055 : 1791406060);
break;
case 2:
return (Sequence: null, Step: null, Path: string.Empty);
case 5:
num = 1791406061;
break;
case 7:
{
string[] array3 = array2;
int num9 = num6;
num3 = 2;
num4 = num9;
int num10 = num4 ^ num3;
int num11 = num4 & num3;
num = ((!_206F_206D_206F_202C_200F_206D_206D_202B_202A_206A_202C_200F_206E_206C_206E_206A_206F_202A_202B_202C_202C_200C_200B_200C_202D_200B_200E_202C_206D_202A_206C_206E_206A_206E_200C_200D_206A_202D_206A_202B_202E(array3[num10 + (num11 + num11)], global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-487116266))) ? 1791406050 : 1791406049);
break;
}
case 14:
{
string[] array = array2;
int num5 = num6;
num3 = 3;
num4 = num5;
int num7 = num4 ^ num3;
int num8 = num4 & num3;
num = ((!int.TryParse(array[num7 + (num8 + num8)], out result)) ? 1791406050 : 1791406053);
break;
}
IL_00fe:
item = text;
return (Sequence: item2, Step: item3, Path: item);
IL_0192:
item2 = obj;
num20 = num6;
num3 = 2;
num4 = num20;
num18 = (num4 | num3) + (num4 & num3);
num21 = num6;
num3 = 3;
num4 = num21;
num22 = num4 ^ num3;
num23 = num4 & num3;
num = ((num22 + (num23 + num23) >= array2.Length) ? 1791406050 : 1791406056);
break;
}
}
}
private static void NoEmptyCollectionModifier(JsonTypeInfo typeInfo)
{
IEnumerator<JsonPropertyInfo> enumerator = _200C_200D_202A_206E_206E_202E_202C_200E_200C_206B_202C_206D_200D_202E_200B_206E_206C_200C_202E_202E_206D_200B_200D_206D_206E_200E_200F_200F_202E_206B_200E_200E_200D_206F_206E_202A_200F_200E_200B_200F_202E(typeInfo).GetEnumerator();
try
{
int num = 470311870;
JsonPropertyInfo current = default(JsonPropertyInfo);
while (true)
{
int num2 = num;
int num3 = 470311870;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 470311870;
break;
case 3:
_206D_202B_206C_202B_200E_206F_200E_202A_202C_200C_202E_200F_206F_206E_206B_202A_202D_206A_206C_202B_206A_206D_200C_202A_206B_206E_206F_200B_200E_206A_206B_200C_200E_202C_200C_206B_202B_200D_202D_206F_202E(current, (Func<object, object, bool>)delegate(object _, object? val)
{
ICollection collection = val as ICollection;
int num8 = ((collection == null) ? (-1341388091) : (-1341388092));
while (true)
{
int num9 = num8;
int num10 = -1341388091;
int num11 = num9;
int num12 = num11 + num10;
int num13 = num11 & num10;
switch (num12 - (num13 + num13))
{
case 0:
return false;
case 1:
return _003C_003Ec._206D_206E_206C_202B_206F_200B_200D_200C_206D_206F_200E_206B_206F_202C_206A_202D_206D_206C_200B_202E_200D_200C_206D_200B_202D_206C_200E_206E_206C_200C_200C_200E_202D_202D_200C_200D_202D_206A_206A_200F_202E(collection) > 0;
case 2:
goto IL_0056;
}
continue;
IL_0056:
num8 = -1341388092;
}
});
num = 470311870;
break;
case 0:
num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? 470311866 : 470311871);
break;
case 4:
current = enumerator.Current;
num = ((!_200D_206D_202B_202B_206B_202D_200F_200E_206F_200E_200F_200F_206C_200B_206E_200E_202E_206F_202B_200D_200F_206C_206E_200B_200E_202B_206A_200F_200F_202A_200E_202D_202E_200C_200F_206F_200D_200F_202E_202A_202E(_200F_200F_206E_200C_206C_206D_206D_206B_206B_206B_206B_202A_200F_200C_200D_200B_200B_200E_200E_200F_200F_202B_206E_202E_202C_202C_206D_200E_202C_206A_200D_206B_200C_200F_202D_202A_202C_206D_200E_202B_202E(typeof(ICollection).TypeHandle), _200E_206E_200F_202D_200D_200D_200B_202C_206F_200E_200B_200C_206D_206C_202B_200F_200D_202C_202B_200C_206E_200C_200F_202C_202B_202B_202C_200D_200F_206C_202C_202D_200D_200F_202C_206D_200F_206E_200F_206D_202E(current))) ? 470311870 : 470311869);
break;
case 1:
return;
}
}
}
finally
{
int num = ((enumerator == null) ? 1235521984 : 1235521987);
while (true)
{
int num7 = num;
int num3 = 1235521986;
int num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1235521987;
break;
case 2:
goto end_IL_0100;
case 1:
_200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator);
num = 1235521984;
break;
}
continue;
end_IL_0100:
break;
}
}
}
public IEnumerable<ValidationIssue> ValidateFromQuestRoot(Quest quest)
{
return ValidateFromQuestRoot(quest.Id, quest.Root);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ValidationIssue> ValidateFromQuestRoot(ElementId elementId, QuestRoot questRoot)
{
JsonObject jsonObject = JsonSerializer.SerializeToNode(questRoot, ValidationSerializationOptions) as JsonObject;
int num = ((jsonObject != null) ? (-662863464) : (-662863463));
while (true)
{
int num2 = num;
int num3 = -662863464;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_005d;
case 1:
return Array.Empty<ValidationIssue>();
case 0:
{
JsonObject jsonObject2 = _206B_206A_206B_202A_206C_206A_206E_200B_202E_206C_202A_206C_200C_202B_202E_206E_200E_206D_200E_206D_202D_200C_202D_202C_206D_200E_206F_206F_206B_202B_202E_202E_206F_202E_206F_200D_206B_200D_202E_200F_202E((JsonNodeOptions?)null);
_200D_202C_202E_206E_206B_200F_200E_202C_200C_206C_206F_206B_206E_206C_206D_206D_202D_206A_206F_200C_202A_200C_202E_202A_200D_206E_200E_200F_206B_200E_200E_200C_200F_202B_206F_200D_206D_206D_200C_206E_202E((JsonNode)jsonObject2, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-978893896), _202D_200D_200B_206D_200E_206E_206F_200D_202C_206C_202C_202C_200E_200D_200D_200C_202C_202D_206E_202A_206C_206B_202D_200F_202A_206B_206A_202E_206D_202A_206D_206E_206E_200F_200B_206E_200C_200E_200C_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-2134999905)));
JsonObject jsonObject3 = jsonObject2;
IEnumerator<KeyValuePair<string, JsonNode>> enumerator = _206A_200E_200B_202C_202A_200E_202A_202E_200E_206A_206E_200B_200C_206D_200F_202D_200D_200F_202B_206D_200E_206A_206B_202B_200D_206B_202E_202A_202B_202B_206D_200B_206D_206F_202D_206D_206C_200E_206F_206E_202E(jsonObject);
try
{
num = -387282071;
while (true)
{
int num7 = num;
num3 = -387282070;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -387282071;
break;
case 2:
var (text2, jsonNode2) = (KeyValuePair<string, JsonNode>)(ref enumerator.Current);
_200D_202C_202E_206E_206B_200F_200E_202C_200C_206C_206F_206B_206E_206C_206D_206D_202D_206A_206F_200C_202A_200C_202E_202A_200D_206E_200E_200F_206B_200E_200E_200C_200F_202B_206F_200D_206D_206D_200C_206E_202E((JsonNode)jsonObject3, text2, (jsonNode2 != null) ? _206C_200D_200F_200C_202D_200E_200F_206B_200E_206A_200C_200B_206D_200E_202C_206B_206E_206A_206D_206C_206D_200D_202D_202A_206E_202E_206F_202B_202D_200C_202D_206F_200C_202E_200D_206B_200F_202A_200D_200F_202E(jsonNode2) : null);
num = -387282071;
break;
case 3:
num = (_200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E((IEnumerator)enumerator) ? (-387282072) : (-387282069));
break;
case 1:
goto end_IL_00b0;
}
continue;
end_IL_00b0:
break;
}
}
finally
{
num = ((enumerator == null) ? 482344416 : 482344419);
while (true)
{
int num8 = num;
num3 = 482344417;
num4 = num8;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 482344419;
break;
case 2:
_200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E((IDisposable)enumerator);
num = 482344416;
break;
case 1:
goto end_IL_0175;
}
continue;
end_IL_0175:
break;
}
}
return ValidateImmediate(elementId, jsonObject3);
}
}
continue;
IL_005d:
num = -662863463;
}
}
static JsonSchemaValidator()
{
JsonSerializerOptions jsonSerializerOptions = _202E_200E_206C_206A_206B_206D_202C_200B_206C_200E_200F_206A_200D_206F_206D_202C_202E_206A_206A_200F_200D_206F_200F_202E_206E_202B_206F_202A_206A_200E_202C_206D_200B_206A_200C_202D_202D_200B_206D_202E();
_206D_200B_206E_200D_206D_202A_202D_206E_206A_206F_200F_200D_200F_200B_200E_200E_200E_206B_202A_200E_202B_202B_200F_200C_206B_202B_206C_202C_206F_200F_206A_200E_202C_206A_200C_206F_200E_200B_206C_206E_202E(jsonSerializerOptions, JsonIgnoreCondition.WhenWritingDefault);
_202B_200E_206B_206D_200E_200C_200F_206D_200E_206C_200D_206E_206E_206D_206E_206A_202C_202C_206B_202A_202A_206E_206F_202E_202E_206E_206B_202D_206B_206B_200F_202A_206A_206E_202A_200D_202C_206E_200C_202C_202E(jsonSerializerOptions, false);
_206E_202C_206B_202A_200D_206C_202C_206C_206E_200C_200E_206F_202C_206A_206F_206E_202A_202E_206B_206C_200E_206A_206A_206C_202E_206D_206F_202E_206B_206A_202D_200B_202C_202E_206C_206B_202A_202A_202C_202E(jsonSerializerOptions, false);
DefaultJsonTypeInfoResolver defaultJsonTypeInfoResolver = _200D_202A_202A_202C_202D_200D_202B_206E_202E_202C_206E_200C_200F_200F_202E_206F_200C_200D_202E_206A_202D_202A_206E_206B_202D_200F_206C_202D_206C_200E_200C_202C_206B_200F_202A_202E_202D_200B_202B_202E();
_200E_206C_206F_202E_200D_206A_206C_206E_200B_206B_202E_206A_200B_200B_202E_200B_206E_206A_206E_206F_200B_200E_202D_206D_206F_206E_200C_206F_202E_206A_206B_202A_202D_202D_206B_200C_200B_206F_202A_206D_202E(defaultJsonTypeInfoResolver).Add(NoEmptyCollectionModifier);
_202A_206A_206D_206A_200E_200B_202C_202B_200C_202B_206B_200E_202C_202E_206B_200D_202D_202A_202E_200B_200B_200E_202E_206C_202A_200E_200D_206D_202C_202D_206A_200D_206D_206A_202A_206D_202B_206D_202E_206F_202E(jsonSerializerOptions, (IJsonTypeInfoResolver)defaultJsonTypeInfoResolver);
ValidationSerializationOptions = jsonSerializerOptions;
}
static EvaluationOptions _206D_206E_202B_200E_206A_202A_206B_206E_206F_202E_202D_206A_200D_202C_206B_200B_202A_202A_206F_206C_202D_200C_202C_202C_206D_200F_202D_206C_202D_202E_202C_200B_202C_202A_200B_206C_202C_202D_200B_200F_202E()
{
return new EvaluationOptions();
}
static CultureInfo _202D_200C_206F_206F_200E_206B_206F_202E_206A_202D_206F_200F_206D_206A_202C_200E_202D_200D_206E_202D_206B_206D_200D_202E_202E_206F_200C_202B_200E_200F_206F_206D_206A_202C_200E_206E_200F_202A_200B_200D_202E()
{
return CultureInfo.InvariantCulture;
}
static void _206E_200B_202B_200E_206A_206A_200C_202B_206C_202B_200B_202E_202E_200D_202E_202D_200B_202C_200D_200E_206A_200D_202D_206B_200C_206D_200E_206B_200E_200E_202E_202E_202D_202E_200D_206B_206E_206F_206D_202C_202E(EvaluationOptions P_0, CultureInfo P_1)
{
P_0.Culture = P_1;
}
static void _206A_202D_200F_200F_202A_202B_202B_200E_200D_202D_206D_202C_202C_206B_206F_200F_202C_202E_202A_202B_202D_200E_206C_200C_206B_202D_206A_200D_206C_200F_200F_202E_200B_200D_202E_202D_202C_200F_206C_202C_202E(EvaluationOptions P_0, OutputFormat P_1)
{
P_0.OutputFormat = P_1;
}
static EvaluationResults _202B_206E_200D_200B_206D_206E_206B_206E_206C_202E_206C_200D_206F_206A_206F_202B_206A_200B_206A_202C_200B_200D_202E_206B_202C_200D_202E_202D_206B_200C_200D_206E_206F_202C_206B_206E_202C_200D_206B_200C_202E(JsonSchema P_0, JsonElement P_1, EvaluationOptions P_2)
{
return P_0.Evaluate(P_1, P_2);
}
static bool _200F_200B_206C_200D_202B_206F_200C_206A_202A_206C_206D_206F_200F_200F_202B_202C_206E_206A_202B_202C_202D_200E_202D_206F_200F_206E_202C_202E_206E_200F_200F_206B_200D_206D_206A_200F_202D_200C_206D_200D_202E(EvaluationResults P_0)
{
return P_0.IsValid;
}
static string _202A_206B_206D_200C_206A_206D_206A_202A_206F_200B_206F_200D_200E_202B_200F_202E_200D_206B_200F_206F_206D_200D_200D_200D_206F_200C_206F_206F_200D_206D_206B_206D_202B_206D_206D_200F_202C_206F_206C_202C_202E(object P_0)
{
return P_0.ToString();
}
static string _200E_200C_200C_202E_200B_200D_202E_202E_206A_202E_202D_206A_200C_206A_206D_202C_202C_206C_202C_206A_200C_200D_202E_206F_200F_206D_202A_206A_202E_200D_200D_200E_200E_206A_202C_202C_206C_202A_200E_202D_202E(string P_0, IEnumerable<string> P_1)
{
return string.Join(P_0, P_1);
}
static bool _200C_206A_202B_206B_206F_206C_206A_206A_200D_202C_200D_202D_202B_206B_200B_206B_206E_206A_206B_200C_206A_206D_202B_200F_206E_202E_206C_206E_206B_202B_200D_206A_200F_206D_202E_202C_202A_200B_206C_206A_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200E_206B_200C_202C_206A_200B_202B_202E_200C_206E_202D_202C_200D_200B_206D_200F_202A_200F_206E_206C_200F_200D_200E_200B_202D_202E_200C_202C_200F_206C_206F_202D_202A_202B_200C_206A_206B_200B_202A_200C_202E(IDisposable P_0)
{
P_0.Dispose();
}
static JsonNode _206B_206C_206F_200F_202E_206C_200F_202A_206A_206E_202A_202C_206C_206D_200C_202C_206C_206B_202D_206C_200B_206A_202A_206B_202A_202C_206F_206E_206F_206E_202E_200D_202D_206D_206C_200E_200E_202D_206C_200C_202E(JsonNode P_0, string P_1)
{
return P_0[P_1];
}
static bool _202A_202C_206D_200C_202E_202E_202D_206B_206C_200B_206C_200C_200D_206E_200E_206B_202A_200E_202B_200F_206F_202C_202B_206D_206A_200E_202C_206E_206B_202D_206F_206B_200B_202D_206D_202E_202A_202D_200D_206F_202E(string P_0, string P_1)
{
return P_0 != P_1;
}
static bool _206F_206D_206F_202C_200F_206D_206D_202B_202A_206A_202C_200F_206E_206C_206E_206A_206F_202A_202B_202C_202C_200C_200B_200C_202D_200B_200E_202C_206D_202A_206C_206E_206A_206E_200C_200D_206A_202D_206A_202B_202E(string P_0, string P_1)
{
return P_0 == P_1;
}
static string _202C_202D_200E_202D_202C_200D_202A_206E_202C_200C_200C_200F_200F_206A_200B_206C_202E_202B_202C_202D_200E_206B_206C_206A_206B_200E_206E_206A_206B_202C_202E_202A_206B_202A_202C_200F_202E_200F_200C_206C_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static bool _202D_200D_200E_200F_200D_200F_202D_202B_202D_206D_206E_200E_200D_202D_202B_200C_202A_202E_200F_202A_200D_202D_206B_202E_206A_202E_202B_200C_200C_202D_206A_206E_202B_200B_206D_202D_202D_206B_202C_206F_202E(string P_0, string P_1, StringComparison P_2)
{
return P_0.Contains(P_1, P_2);
}
JsonNode _206B_206A_206B_200C_206B_206A_200D_206F_206A_200F_206F_200F_206A_202C_200B_200E_206D_202E_206E_202D_200B_202C_206B_202B_202C_200E_202B_206F_206F_206B_206B_202E_200C_202A_200C_202B_200B_202C_200F_202E(string P_0)
{
return ((JsonNode)this)[P_0];
}
static int _202D_200F_200F_202A_200C_200E_206C_200E_200C_206C_206C_200D_200C_200F_206D_202B_206A_200E_202B_206E_206D_200E_200C_206C_206D_206F_200D_202B_200E_202A_206F_206C_200D_200C_202A_200E_202E_206F_200F_202E_202E(JsonArray P_0)
{
return P_0.Count;
}
static JsonNode _206D_206F_202C_202D_202D_202E_202D_200C_200B_202E_202B_206A_200B_206B_206C_202B_202C_206C_202C_206D_202B_200D_200B_200C_200B_206F_200F_206A_202D_202C_202A_202B_206C_202D_206B_202D_206E_206C_200C_200D_202E(JsonNode P_0, int P_1)
{
return P_0[P_1];
}
static JsonValueKind _202E_200F_202A_206F_200D_202A_202C_202A_206D_206E_206F_200C_206E_206B_206B_200C_200B_202E_202B_202B_202E_202B_200F_206A_200E_206B_200E_202D_206F_202C_206F_200D_202A_202E_206C_202A_206C_206A_206A_206C_202E(JsonNode P_0)
{
return P_0.GetValueKind();
}
static bool _202E_206D_206F_202B_202E_202B_206F_200B_206D_202C_202A_200D_200C_206E_206B_202B_206E_202D_206E_202B_200D_202A_206D_202E_202C_206C_206B_200E_206C_202A_206D_206D_202E_200C_200E_206E_200B_200C_206B_200F_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static string[] _206A_206E_200C_202E_202D_202A_200D_206C_200D_206A_200E_206A_200F_206E_206F_206A_202A_206E_202C_200B_200D_200E_206A_202B_200F_200E_202C_200E_200E_206E_200B_206C_206C_202D_202D_206F_202A_206A_206F_200D_202E(string P_0, char P_1, StringSplitOptions P_2)
{
return P_0.Split(P_1, P_2);
}
static string _202B_202A_202A_200E_206E_202B_206C_200E_206D_200E_200F_200D_202A_202A_202C_200D_202C_200E_200E_200C_206D_200C_206E_200E_202E_206F_200B_206E_200C_202E_206B_206E_200D_200D_200E_206A_200B_202C_200C_206D_202E(string P_0, string[] P_1, int P_2, int P_3)
{
return string.Join(P_0, P_1, P_2, P_3);
}
static IList<JsonPropertyInfo> _200C_200D_202A_206E_206E_202E_202C_200E_200C_206B_202C_206D_200D_202E_200B_206E_206C_200C_202E_202E_206D_200B_200D_206D_206E_200E_200F_200F_202E_206B_200E_200E_200D_206F_206E_202A_200F_200E_200B_200F_202E(JsonTypeInfo P_0)
{
return P_0.Properties;
}
static Type _200F_200F_206E_200C_206C_206D_206D_206B_206B_206B_206B_202A_200F_200C_200D_200B_200B_200E_200E_200F_200F_202B_206E_202E_202C_202C_206D_200E_202C_206A_200D_206B_200C_200F_202D_202A_202C_206D_200E_202B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static Type _200E_206E_200F_202D_200D_200D_200B_202C_206F_200E_200B_200C_206D_206C_202B_200F_200D_202C_202B_200C_206E_200C_200F_202C_202B_202B_202C_200D_200F_206C_202C_202D_200D_200F_202C_206D_200F_206E_200F_206D_202E(JsonPropertyInfo P_0)
{
return P_0.PropertyType;
}
static bool _200D_206D_202B_202B_206B_202D_200F_200E_206F_200E_200F_200F_206C_200B_206E_200E_202E_206F_202B_200D_200F_206C_206E_200B_200E_202B_206A_200F_200F_202A_200E_202D_202E_200C_200F_206F_200D_200F_202E_202A_202E(Type P_0, Type P_1)
{
return P_0.IsAssignableFrom(P_1);
}
static void _206D_202B_206C_202B_200E_206F_200E_202A_202C_200C_202E_200F_206F_206E_206B_202A_202D_206A_206C_202B_206A_206D_200C_202A_206B_206E_206F_200B_200E_206A_206B_200C_200E_202C_200C_206B_202B_200D_202D_206F_202E(JsonPropertyInfo P_0, Func<object, object, bool> P_1)
{
P_0.ShouldSerialize = P_1;
}
static JsonObject _206B_206A_206B_202A_206C_206A_206E_200B_202E_206C_202A_206C_200C_202B_202E_206E_200E_206D_200E_206D_202D_200C_202D_202C_206D_200E_206F_206F_206B_202B_202E_202E_206F_202E_206F_200D_206B_200D_202E_200F_202E(JsonNodeOptions? P_0)
{
return new JsonObject(P_0);
}
static JsonNode _202D_200D_200B_206D_200E_206E_206F_200D_202C_206C_202C_202C_200E_200D_200D_200C_202C_202D_206E_202A_206C_206B_202D_200F_202A_206B_206A_202E_206D_202A_206D_206E_206E_200F_200B_206E_200C_200E_200C_202A_202E(string P_0)
{
return P_0;
}
static void _200D_202C_202E_206E_206B_200F_200E_202C_200C_206C_206F_206B_206E_206C_206D_206D_202D_206A_206F_200C_202A_200C_202E_202A_200D_206E_200E_200F_206B_200E_200E_200C_200F_202B_206F_200D_206D_206D_200C_206E_202E(JsonNode P_0, string P_1, JsonNode P_2)
{
P_0[P_1] = P_2;
}
static IEnumerator<KeyValuePair<string, JsonNode>> _206A_200E_200B_202C_202A_200E_202A_202E_200E_206A_206E_200B_200C_206D_200F_202D_200D_200F_202B_206D_200E_206A_206B_202B_200D_206B_202E_202A_202B_202B_206D_200B_206D_206F_202D_206D_206C_200E_206F_206E_202E(JsonObject P_0)
{
return P_0.GetEnumerator();
}
static JsonNode _206C_200D_200F_200C_202D_200E_200F_206B_200E_206A_200C_200B_206D_200E_202C_206B_206E_206A_206D_206C_206D_200D_202D_202A_206E_202E_206F_202B_202D_200C_202D_206F_200C_202E_200D_206B_200F_202A_200D_200F_202E(JsonNode P_0)
{
return P_0.DeepClone();
}
static JsonSerializerOptions _202E_200E_206C_206A_206B_206D_202C_200B_206C_200E_200F_206A_200D_206F_206D_202C_202E_206A_206A_200F_200D_206F_200F_202E_206E_202B_206F_202A_206A_200E_202C_206D_200B_206A_200C_202D_202D_200B_206D_202E()
{
return new JsonSerializerOptions();
}
static void _206D_200B_206E_200D_206D_202A_202D_206E_206A_206F_200F_200D_200F_200B_200E_200E_200E_206B_202A_200E_202B_202B_200F_200C_206B_202B_206C_202C_206F_200F_206A_200E_202C_206A_200C_206F_200E_200B_206C_206E_202E(JsonSerializerOptions P_0, JsonIgnoreCondition P_1)
{
P_0.DefaultIgnoreCondition = P_1;
}
static void _202B_200E_206B_206D_200E_200C_200F_206D_200E_206C_200D_206E_206E_206D_206E_206A_202C_202C_206B_202A_202A_206E_206F_202E_202E_206E_206B_202D_206B_206B_200F_202A_206A_206E_202A_200D_202C_206E_200C_202C_202E(JsonSerializerOptions P_0, bool P_1)
{
P_0.IncludeFields = P_1;
}
static void _206E_202C_206B_202A_200D_206C_202C_206C_206E_200C_200E_206F_202C_206A_206F_206E_202A_202E_206B_206C_200E_206A_206A_206C_202E_206D_206F_202E_206B_206A_202D_200B_202C_202E_206C_206B_202A_202A_202C_202E(JsonSerializerOptions P_0, bool P_1)
{
P_0.WriteIndented = P_1;
}
static DefaultJsonTypeInfoResolver _200D_202A_202A_202C_202D_200D_202B_206E_202E_202C_206E_200C_200F_200F_202E_206F_200C_200D_202E_206A_202D_202A_206E_206B_202D_200F_206C_202D_206C_200E_200C_202C_206B_200F_202A_202E_202D_200B_202B_202E()
{
return new DefaultJsonTypeInfoResolver();
}
static IList<Action<JsonTypeInfo>> _200E_206C_206F_202E_200D_206A_206C_206E_200B_206B_202E_206A_200B_200B_202E_200B_206E_206A_206E_206F_200B_200E_202D_206D_206F_206E_200C_206F_202E_206A_206B_202A_202D_202D_206B_200C_200B_206F_202A_206D_202E(DefaultJsonTypeInfoResolver P_0)
{
return P_0.Modifiers;
}
static void _202A_206A_206D_206A_200E_200B_202C_202B_200C_202B_206B_200E_202C_202E_206B_200D_202D_202A_202E_200B_200B_200E_202E_206C_202A_200E_200D_206D_202C_202D_206A_200D_206D_206A_202A_206D_202B_206D_202E_206F_202E(JsonSerializerOptions P_0, IJsonTypeInfoResolver P_1)
{
P_0.TypeInfoResolver = P_1;
}
}