From dba2a5f679d4d7798559cf58d763e680e3262b33 Mon Sep 17 00:00:00 2001 From: James Kuszmaul Date: Mon, 17 Oct 2022 08:58:52 -0700 Subject: [PATCH] Fix handling of +/-inf defaults in TS/rust/go/dart codegen +/-inf were not being handled, and so invalid typescript was being generated when a float/double had an infinite default value. NaN was being handled correctly. --- dart/test/flat_buffers_test.dart | 15 +- include/flatbuffers/util.h | 12 + src/bfbs_gen_nim.cpp | 7 + src/idl_gen_dart.cpp | 20 +- src/idl_gen_go.cpp | 27 + src/idl_gen_rust.cpp | 15 +- src/idl_gen_ts.cpp | 12 +- tests/MyGame/Example/Monster.cs | 88 +- tests/MyGame/Example/Monster.go | 148 +- tests/MyGame/Example/Monster.java | 50 +- tests/MyGame/Example/Monster.kt | 122 +- tests/MyGame/Example/Monster.lua | 98 +- tests/MyGame/Example/Monster.nim | 74 +- tests/MyGame/Example/Monster.php | 166 +- tests/MyGame/Example/Monster.py | 106 +- tests/MyGame/Example/MonsterT.java | 48 + .../generated_cpp17/monster_test_generated.h | 222 +- tests/cpp17/test_cpp17.cpp | 8 + tests/go_test.go | 8 + tests/monster_test.afb | 7062 +++++++++-------- tests/monster_test.bfbs | Bin 14784 -> 15736 bytes tests/monster_test.fbs | 9 + tests/monster_test.schema.json | 24 + .../my_game/example/monster_generated.rs | 184 + tests/monster_test_bfbs_generated.h | 1231 +-- tests/monster_test_generated.h | 212 +- tests/monster_test_generated.lobster | 42 +- tests/monster_test_generated.py | 90 +- ...onster_test_my_game.example_generated.dart | 120 +- .../my_game/example/monster_generated.rs | 194 +- .../ext_only/monster_test_generated.hpp | 212 +- .../filesuffix_only/monster_test_suffix.h | 212 +- .../monster_test_suffix.hpp | 212 +- tests/reflection_test.cpp | 17 +- .../rust_usage_test/tests/integration_test.rs | 24 +- .../monster_test_generated.swift | 124 +- tests/test.cpp | 15 + tests/ts/monsterdata_javascript_wire.mon | Bin 720 -> 744 bytes tests/ts/my-game/example/monster.js | 132 +- tests/ts/my-game/example/monster.ts | 198 +- tests/ts/reflection/enum-val.js | 32 +- tests/ts/reflection/enum-val.ts | 38 +- tests/ts/reflection_generated.js | 31 +- tests/ts/reflection_generated.ts | 37 +- .../ts-flat-files/monster_test_generated.ts | 74 +- 45 files changed, 7728 insertions(+), 4044 deletions(-) diff --git a/dart/test/flat_buffers_test.dart b/dart/test/flat_buffers_test.dart index 5298b17088c..000ccff68ca 100644 --- a/dart/test/flat_buffers_test.dart +++ b/dart/test/flat_buffers_test.dart @@ -87,7 +87,10 @@ class CheckOtherLangaugesData { 'testrequirednestedflatbuffer: null, scalarKeySortedTables: null, ' 'nativeInline: null, ' 'longEnumNonEnumDefault: LongEnum{value: 0}, ' - 'longEnumNormalDefault: LongEnum{value: 2}}, ' + 'longEnumNormalDefault: LongEnum{value: 2}, nanDefault: NaN, ' + 'infDefault: Infinity, positiveInfDefault: Infinity, infinityDefault: ' + 'Infinity, positiveInfinityDefault: Infinity, negativeInfDefault: ' + '-Infinity, negativeInfinityDefault: -Infinity, doubleInfDefault: Infinity}, ' 'test4: [Test{a: 10, b: 20}, Test{a: 30, b: 40}], ' 'testarrayofstring: [test1, test2], testarrayoftables: null, ' 'enemy: Monster{pos: null, mana: 150, hp: 100, name: Fred, ' @@ -110,7 +113,10 @@ class CheckOtherLangaugesData { 'testrequirednestedflatbuffer: null, scalarKeySortedTables: null, ' 'nativeInline: null, ' 'longEnumNonEnumDefault: LongEnum{value: 0}, ' - 'longEnumNormalDefault: LongEnum{value: 2}}, ' + 'longEnumNormalDefault: LongEnum{value: 2}, nanDefault: NaN, ' + 'infDefault: Infinity, positiveInfDefault: Infinity, infinityDefault: ' + 'Infinity, positiveInfinityDefault: Infinity, negativeInfDefault: ' + '-Infinity, negativeInfinityDefault: -Infinity, doubleInfDefault: Infinity}, ' 'testnestedflatbuffer: null, testempty: null, testbool: true, ' 'testhashs32Fnv1: -579221183, testhashu32Fnv1: 3715746113, ' 'testhashs64Fnv1: 7930699090847568257, ' @@ -137,7 +143,10 @@ class CheckOtherLangaugesData { 'miss, val: 0, count: 0}, Stat{id: hit, val: 10, count: 1}], ' 'nativeInline: Test{a: 1, b: 2}, ' 'longEnumNonEnumDefault: LongEnum{value: 0}, ' - 'longEnumNormalDefault: LongEnum{value: 2}}', + 'longEnumNormalDefault: LongEnum{value: 2}, nanDefault: NaN, ' + 'infDefault: Infinity, positiveInfDefault: Infinity, infinityDefault: ' + 'Infinity, positiveInfinityDefault: Infinity, negativeInfDefault: ' + '-Infinity, negativeInfinityDefault: -Infinity, doubleInfDefault: Infinity}' ); } } diff --git a/include/flatbuffers/util.h b/include/flatbuffers/util.h index 73a3ab786b2..aeb0d91eb78 100644 --- a/include/flatbuffers/util.h +++ b/include/flatbuffers/util.h @@ -392,6 +392,18 @@ inline uint64_t StringToUInt(const char *s, int base = 10) { return StringToIntegerImpl(&val, s, base) ? val : 0; } +inline bool StringIsFlatbufferNan(const std::string &s) { + return s == "nan" || s == "+nan" || s == "-nan"; +} + +inline bool StringIsFlatbufferPositiveInfinity(const std::string &s) { + return s == "inf" || s == "+inf" || s == "infinity" || s == "+infinity"; +} + +inline bool StringIsFlatbufferNegativeInfinity(const std::string &s) { + return s == "-inf" || s == "-infinity"; +} + typedef bool (*LoadFileFunction)(const char *filename, bool binary, std::string *dest); typedef bool (*FileExistsFunction)(const char *filename); diff --git a/src/bfbs_gen_nim.cpp b/src/bfbs_gen_nim.cpp index b74d148301e..6b2c130f956 100644 --- a/src/bfbs_gen_nim.cpp +++ b/src/bfbs_gen_nim.cpp @@ -470,6 +470,13 @@ class NimBfbsGenerator : public BaseBfbsGenerator { std::string DefaultValue(const r::Field *field) const { const r::BaseType base_type = field->type()->base_type(); if (IsFloatingPoint(base_type)) { + if (field->default_real() != field->default_real()) { + return "NaN"; + } else if (field->default_real() == std::numeric_limits::infinity()) { + return "Inf"; + } else if (field->default_real() == -std::numeric_limits::infinity()) { + return "-Inf"; + } return NumToString(field->default_real()); } if (IsBool(base_type)) { diff --git a/src/idl_gen_dart.cpp b/src/idl_gen_dart.cpp index 0bf230ddded..ada59560818 100644 --- a/src/idl_gen_dart.cpp +++ b/src/idl_gen_dart.cpp @@ -16,6 +16,7 @@ // independent from idl_parser, since this code is not needed for most clients #include +#include #include "flatbuffers/code_generators.h" #include "flatbuffers/flatbuffers.h" @@ -721,16 +722,17 @@ class DartGenerator : public BaseGenerator { if (!value.constant.empty() && value.constant != "0") { if (IsBool(value.type.base_type)) { return "true"; - } else if (value.constant == "nan" || value.constant == "+nan" || - value.constant == "-nan") { - return "double.nan"; - } else if (value.constant == "inf" || value.constant == "+inf") { - return "double.infinity"; - } else if (value.constant == "-inf") { - return "double.negativeInfinity"; - } else { - return value.constant; } + if (IsScalar(value.type.base_type)) { + if (StringIsFlatbufferNan(value.constant)) { + return "double.nan"; + } else if (StringIsFlatbufferPositiveInfinity(value.constant)) { + return "double.infinity"; + } else if (StringIsFlatbufferNegativeInfinity(value.constant)) { + return "double.negativeInfinity"; + } + } + return value.constant; } else if (IsBool(value.type.base_type)) { return "false"; } else if (IsScalar(value.type.base_type) && !IsUnion(value.type)) { diff --git a/src/idl_gen_go.cpp b/src/idl_gen_go.cpp index 51e018a0093..ed804b685a8 100644 --- a/src/idl_gen_go.cpp +++ b/src/idl_gen_go.cpp @@ -16,6 +16,7 @@ // independent from idl_parser, since this code is not needed for most clients +#include #include #include @@ -101,6 +102,7 @@ class GoGenerator : public BaseGenerator { for (auto it = parser_.enums_.vec.begin(); it != parser_.enums_.vec.end(); ++it) { tracked_imported_namespaces_.clear(); + needs_math_import_ = false; needs_imports = false; std::string enumcode; GenEnum(**it, &enumcode); @@ -120,6 +122,7 @@ class GoGenerator : public BaseGenerator { for (auto it = parser_.structs_.vec.begin(); it != parser_.structs_.vec.end(); ++it) { tracked_imported_namespaces_.clear(); + needs_math_import_ = false; std::string declcode; GenStruct(**it, &declcode); if (parser_.opts.one_file) { @@ -153,6 +156,7 @@ class GoGenerator : public BaseGenerator { } }; std::set tracked_imported_namespaces_; + bool needs_math_import_ = false; // Most field accessors need to retrieve and test the field offset first, // this is the prefix code for that. @@ -1276,6 +1280,23 @@ class GoGenerator : public BaseGenerator { switch (field.value.type.base_type) { case BASE_TYPE_BOOL: return field.value.constant == "0" ? "false" : "true"; + case BASE_TYPE_FLOAT: + case BASE_TYPE_DOUBLE: { + const std::string float_type = + field.value.type.base_type == BASE_TYPE_FLOAT ? "float32" + : "float64"; + if (StringIsFlatbufferNan(field.value.constant)) { + needs_math_import_ = true; + return float_type + "(math.NaN())"; + } else if (StringIsFlatbufferPositiveInfinity(field.value.constant)) { + needs_math_import_ = true; + return float_type + "(math.Inf(1))"; + } else if (StringIsFlatbufferNegativeInfinity(field.value.constant)) { + needs_math_import_ = true; + return float_type + "(math.Inf(-1))"; + } + return field.value.constant; + } default: return field.value.constant; } } @@ -1329,6 +1350,8 @@ class GoGenerator : public BaseGenerator { if (needs_imports) { code += "import (\n"; if (is_enum) { code += "\t\"strconv\"\n\n"; } + // math is needed to support non-finite scalar default values. + if (needs_math_import_) { code += "\t\"math\"\n\n"; } if (!parser_.opts.go_import.empty()) { code += "\tflatbuffers \"" + parser_.opts.go_import + "\"\n"; } else { @@ -1345,6 +1368,10 @@ class GoGenerator : public BaseGenerator { code += ")\n\n"; } else { if (is_enum) { code += "import \"strconv\"\n\n"; } + if (needs_math_import_) { + // math is needed to support non-finite scalar default values. + code += "import \"math\"\n\n"; + } } } diff --git a/src/idl_gen_rust.cpp b/src/idl_gen_rust.cpp index a60046ef459..c01410a6498 100644 --- a/src/idl_gen_rust.cpp +++ b/src/idl_gen_rust.cpp @@ -16,6 +16,8 @@ // independent from idl_parser, since this code is not needed for most clients +#include + #include "flatbuffers/code_generators.h" #include "flatbuffers/flatbuffers.h" #include "flatbuffers/idl.h" @@ -1046,8 +1048,19 @@ class RustGenerator : public BaseGenerator { if (field.IsOptional() && !IsUnion(field.value.type)) { return "None"; } } switch (GetFullType(field.value.type)) { - case ftInteger: + case ftInteger: { + return field.value.constant; + } case ftFloat: { + const std::string float_prefix = + (field.value.type.base_type == BASE_TYPE_FLOAT) ? "f32::" : "f64::"; + if (StringIsFlatbufferNan(field.value.constant)) { + return float_prefix + "NAN"; + } else if (StringIsFlatbufferPositiveInfinity(field.value.constant)) { + return float_prefix + "INFINITY"; + } else if (StringIsFlatbufferNegativeInfinity(field.value.constant)) { + return float_prefix + "NEG_INFINITY"; + } return field.value.constant; } case ftBool: { diff --git a/src/idl_gen_ts.cpp b/src/idl_gen_ts.cpp index 44e8cb6cbf0..62c2531ddf9 100644 --- a/src/idl_gen_ts.cpp +++ b/src/idl_gen_ts.cpp @@ -16,6 +16,7 @@ #include #include +#include #include #include @@ -439,9 +440,16 @@ class TsGenerator : public BaseGenerator { return "BigInt('" + value.constant + "')"; } - default: - if (value.constant == "nan") { return "NaN"; } + default: { + if (StringIsFlatbufferNan(value.constant)) { + return "NaN"; + } else if (StringIsFlatbufferPositiveInfinity(value.constant)) { + return "Infinity"; + } else if (StringIsFlatbufferNegativeInfinity(value.constant)) { + return "-Infinity"; + } return value.constant; + } } } diff --git a/tests/MyGame/Example/Monster.cs b/tests/MyGame/Example/Monster.cs index dfcf53fedf5..433b4073d0e 100644 --- a/tests/MyGame/Example/Monster.cs +++ b/tests/MyGame/Example/Monster.cs @@ -215,6 +215,22 @@ public struct Monster : IFlatbufferObject public bool MutateLongEnumNonEnumDefault(MyGame.Example.LongEnum long_enum_non_enum_default) { int o = __p.__offset(108); if (o != 0) { __p.bb.PutUlong(o + __p.bb_pos, (ulong)long_enum_non_enum_default); return true; } else { return false; } } public MyGame.Example.LongEnum LongEnumNormalDefault { get { int o = __p.__offset(110); return o != 0 ? (MyGame.Example.LongEnum)__p.bb.GetUlong(o + __p.bb_pos) : MyGame.Example.LongEnum.LongOne; } } public bool MutateLongEnumNormalDefault(MyGame.Example.LongEnum long_enum_normal_default) { int o = __p.__offset(110); if (o != 0) { __p.bb.PutUlong(o + __p.bb_pos, (ulong)long_enum_normal_default); return true; } else { return false; } } + public float NanDefault { get { int o = __p.__offset(112); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.NaN; } } + public bool MutateNanDefault(float nan_default) { int o = __p.__offset(112); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, nan_default); return true; } else { return false; } } + public float InfDefault { get { int o = __p.__offset(114); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } } + public bool MutateInfDefault(float inf_default) { int o = __p.__offset(114); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, inf_default); return true; } else { return false; } } + public float PositiveInfDefault { get { int o = __p.__offset(116); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } } + public bool MutatePositiveInfDefault(float positive_inf_default) { int o = __p.__offset(116); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, positive_inf_default); return true; } else { return false; } } + public float InfinityDefault { get { int o = __p.__offset(118); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } } + public bool MutateInfinityDefault(float infinity_default) { int o = __p.__offset(118); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, infinity_default); return true; } else { return false; } } + public float PositiveInfinityDefault { get { int o = __p.__offset(120); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } } + public bool MutatePositiveInfinityDefault(float positive_infinity_default) { int o = __p.__offset(120); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, positive_infinity_default); return true; } else { return false; } } + public float NegativeInfDefault { get { int o = __p.__offset(122); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.NegativeInfinity; } } + public bool MutateNegativeInfDefault(float negative_inf_default) { int o = __p.__offset(122); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, negative_inf_default); return true; } else { return false; } } + public float NegativeInfinityDefault { get { int o = __p.__offset(124); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.NegativeInfinity; } } + public bool MutateNegativeInfinityDefault(float negative_infinity_default) { int o = __p.__offset(124); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, negative_infinity_default); return true; } else { return false; } } + public double DoubleInfDefault { get { int o = __p.__offset(126); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)Double.PositiveInfinity; } } + public bool MutateDoubleInfDefault(double double_inf_default) { int o = __p.__offset(126); if (o != 0) { __p.bb.PutDouble(o + __p.bb_pos, double_inf_default); return true; } else { return false; } } public static Offset CreateMonster(FlatBufferBuilder builder, MyGame.Example.Vec3T pos = null, @@ -269,8 +285,17 @@ public struct Monster : IFlatbufferObject VectorOffset scalar_key_sorted_tablesOffset = default(VectorOffset), MyGame.Example.TestT native_inline = null, MyGame.Example.LongEnum long_enum_non_enum_default = 0, - MyGame.Example.LongEnum long_enum_normal_default = MyGame.Example.LongEnum.LongOne) { - builder.StartTable(54); + MyGame.Example.LongEnum long_enum_normal_default = MyGame.Example.LongEnum.LongOne, + float nan_default = Single.NaN, + float inf_default = Single.PositiveInfinity, + float positive_inf_default = Single.PositiveInfinity, + float infinity_default = Single.PositiveInfinity, + float positive_infinity_default = Single.PositiveInfinity, + float negative_inf_default = Single.NegativeInfinity, + float negative_infinity_default = Single.NegativeInfinity, + double double_inf_default = Double.PositiveInfinity) { + builder.StartTable(62); + Monster.AddDoubleInfDefault(builder, double_inf_default); Monster.AddLongEnumNormalDefault(builder, long_enum_normal_default); Monster.AddLongEnumNonEnumDefault(builder, long_enum_non_enum_default); Monster.AddNonOwningReference(builder, non_owning_reference); @@ -280,6 +305,13 @@ public struct Monster : IFlatbufferObject Monster.AddTesthashs64Fnv1a(builder, testhashs64_fnv1a); Monster.AddTesthashu64Fnv1(builder, testhashu64_fnv1); Monster.AddTesthashs64Fnv1(builder, testhashs64_fnv1); + Monster.AddNegativeInfinityDefault(builder, negative_infinity_default); + Monster.AddNegativeInfDefault(builder, negative_inf_default); + Monster.AddPositiveInfinityDefault(builder, positive_infinity_default); + Monster.AddInfinityDefault(builder, infinity_default); + Monster.AddPositiveInfDefault(builder, positive_inf_default); + Monster.AddInfDefault(builder, inf_default); + Monster.AddNanDefault(builder, nan_default); Monster.AddNativeInline(builder, MyGame.Example.Test.Pack(builder, native_inline)); Monster.AddScalarKeySortedTables(builder, scalar_key_sorted_tablesOffset); Monster.AddTestrequirednestedflatbuffer(builder, testrequirednestedflatbufferOffset); @@ -327,7 +359,7 @@ public struct Monster : IFlatbufferObject return Monster.EndMonster(builder); } - public static void StartMonster(FlatBufferBuilder builder) { builder.StartTable(54); } + public static void StartMonster(FlatBufferBuilder builder) { builder.StartTable(62); } public static void AddPos(FlatBufferBuilder builder, Offset posOffset) { builder.AddStruct(0, posOffset.Value, 0); } public static void AddMana(FlatBufferBuilder builder, short mana) { builder.AddShort(1, mana, 150); } public static void AddHp(FlatBufferBuilder builder, short hp) { builder.AddShort(2, hp, 100); } @@ -469,6 +501,14 @@ public struct Monster : IFlatbufferObject public static void AddNativeInline(FlatBufferBuilder builder, Offset nativeInlineOffset) { builder.AddStruct(51, nativeInlineOffset.Value, 0); } public static void AddLongEnumNonEnumDefault(FlatBufferBuilder builder, MyGame.Example.LongEnum longEnumNonEnumDefault) { builder.AddUlong(52, (ulong)longEnumNonEnumDefault, 0); } public static void AddLongEnumNormalDefault(FlatBufferBuilder builder, MyGame.Example.LongEnum longEnumNormalDefault) { builder.AddUlong(53, (ulong)longEnumNormalDefault, 2); } + public static void AddNanDefault(FlatBufferBuilder builder, float nanDefault) { builder.AddFloat(54, nanDefault, Single.NaN); } + public static void AddInfDefault(FlatBufferBuilder builder, float infDefault) { builder.AddFloat(55, infDefault, Single.PositiveInfinity); } + public static void AddPositiveInfDefault(FlatBufferBuilder builder, float positiveInfDefault) { builder.AddFloat(56, positiveInfDefault, Single.PositiveInfinity); } + public static void AddInfinityDefault(FlatBufferBuilder builder, float infinityDefault) { builder.AddFloat(57, infinityDefault, Single.PositiveInfinity); } + public static void AddPositiveInfinityDefault(FlatBufferBuilder builder, float positiveInfinityDefault) { builder.AddFloat(58, positiveInfinityDefault, Single.PositiveInfinity); } + public static void AddNegativeInfDefault(FlatBufferBuilder builder, float negativeInfDefault) { builder.AddFloat(59, negativeInfDefault, Single.NegativeInfinity); } + public static void AddNegativeInfinityDefault(FlatBufferBuilder builder, float negativeInfinityDefault) { builder.AddFloat(60, negativeInfinityDefault, Single.NegativeInfinity); } + public static void AddDoubleInfDefault(FlatBufferBuilder builder, double doubleInfDefault) { builder.AddDouble(61, doubleInfDefault, Double.PositiveInfinity); } public static Offset EndMonster(FlatBufferBuilder builder) { int o = builder.EndTable(); builder.Required(o, 10); // name @@ -620,6 +660,14 @@ public void UnPackTo(MonsterT _o) { _o.NativeInline = this.NativeInline.HasValue ? this.NativeInline.Value.UnPack() : null; _o.LongEnumNonEnumDefault = this.LongEnumNonEnumDefault; _o.LongEnumNormalDefault = this.LongEnumNormalDefault; + _o.NanDefault = this.NanDefault; + _o.InfDefault = this.InfDefault; + _o.PositiveInfDefault = this.PositiveInfDefault; + _o.InfinityDefault = this.InfinityDefault; + _o.PositiveInfinityDefault = this.PositiveInfinityDefault; + _o.NegativeInfDefault = this.NegativeInfDefault; + _o.NegativeInfinityDefault = this.NegativeInfinityDefault; + _o.DoubleInfDefault = this.DoubleInfDefault; } public static Offset Pack(FlatBufferBuilder builder, MonsterT _o) { if (_o == null) return default(Offset); @@ -796,7 +844,15 @@ public void UnPackTo(MonsterT _o) { _scalar_key_sorted_tables, _o.NativeInline, _o.LongEnumNonEnumDefault, - _o.LongEnumNormalDefault); + _o.LongEnumNormalDefault, + _o.NanDefault, + _o.InfDefault, + _o.PositiveInfDefault, + _o.InfinityDefault, + _o.PositiveInfinityDefault, + _o.NegativeInfDefault, + _o.NegativeInfinityDefault, + _o.DoubleInfDefault); } } @@ -949,6 +1005,22 @@ private MyGame.Example.AnyAmbiguousAliases AnyAmbiguousType { public MyGame.Example.LongEnum LongEnumNonEnumDefault { get; set; } [Newtonsoft.Json.JsonProperty("long_enum_normal_default")] public MyGame.Example.LongEnum LongEnumNormalDefault { get; set; } + [Newtonsoft.Json.JsonProperty("nan_default")] + public float NanDefault { get; set; } + [Newtonsoft.Json.JsonProperty("inf_default")] + public float InfDefault { get; set; } + [Newtonsoft.Json.JsonProperty("positive_inf_default")] + public float PositiveInfDefault { get; set; } + [Newtonsoft.Json.JsonProperty("infinity_default")] + public float InfinityDefault { get; set; } + [Newtonsoft.Json.JsonProperty("positive_infinity_default")] + public float PositiveInfinityDefault { get; set; } + [Newtonsoft.Json.JsonProperty("negative_inf_default")] + public float NegativeInfDefault { get; set; } + [Newtonsoft.Json.JsonProperty("negative_infinity_default")] + public float NegativeInfinityDefault { get; set; } + [Newtonsoft.Json.JsonProperty("double_inf_default")] + public double DoubleInfDefault { get; set; } public MonsterT() { this.Pos = new MyGame.Example.Vec3T(); @@ -1001,6 +1073,14 @@ public MonsterT() { this.NativeInline = new MyGame.Example.TestT(); this.LongEnumNonEnumDefault = 0; this.LongEnumNormalDefault = MyGame.Example.LongEnum.LongOne; + this.NanDefault = Single.NaN; + this.InfDefault = Single.PositiveInfinity; + this.PositiveInfDefault = Single.PositiveInfinity; + this.InfinityDefault = Single.PositiveInfinity; + this.PositiveInfinityDefault = Single.PositiveInfinity; + this.NegativeInfDefault = Single.NegativeInfinity; + this.NegativeInfinityDefault = Single.NegativeInfinity; + this.DoubleInfDefault = Double.PositiveInfinity; } public static MonsterT DeserializeFromJson(string jsonText) { diff --git a/tests/MyGame/Example/Monster.go b/tests/MyGame/Example/Monster.go index 237896c9b89..b64ced7dab0 100644 --- a/tests/MyGame/Example/Monster.go +++ b/tests/MyGame/Example/Monster.go @@ -3,6 +3,8 @@ package Example import ( + "math" + flatbuffers "github.com/google/flatbuffers/go" MyGame "MyGame" @@ -60,6 +62,14 @@ type MonsterT struct { NativeInline *TestT `json:"native_inline"` LongEnumNonEnumDefault LongEnum `json:"long_enum_non_enum_default"` LongEnumNormalDefault LongEnum `json:"long_enum_normal_default"` + NanDefault float32 `json:"nan_default"` + InfDefault float32 `json:"inf_default"` + PositiveInfDefault float32 `json:"positive_inf_default"` + InfinityDefault float32 `json:"infinity_default"` + PositiveInfinityDefault float32 `json:"positive_infinity_default"` + NegativeInfDefault float32 `json:"negative_inf_default"` + NegativeInfinityDefault float32 `json:"negative_infinity_default"` + DoubleInfDefault float64 `json:"double_inf_default"` } func (t *MonsterT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT { @@ -320,6 +330,14 @@ func (t *MonsterT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT { MonsterAddNativeInline(builder, nativeInlineOffset) MonsterAddLongEnumNonEnumDefault(builder, t.LongEnumNonEnumDefault) MonsterAddLongEnumNormalDefault(builder, t.LongEnumNormalDefault) + MonsterAddNanDefault(builder, t.NanDefault) + MonsterAddInfDefault(builder, t.InfDefault) + MonsterAddPositiveInfDefault(builder, t.PositiveInfDefault) + MonsterAddInfinityDefault(builder, t.InfinityDefault) + MonsterAddPositiveInfinityDefault(builder, t.PositiveInfinityDefault) + MonsterAddNegativeInfDefault(builder, t.NegativeInfDefault) + MonsterAddNegativeInfinityDefault(builder, t.NegativeInfinityDefault) + MonsterAddDoubleInfDefault(builder, t.DoubleInfDefault) return MonsterEnd(builder) } @@ -461,6 +479,14 @@ func (rcv *Monster) UnPackTo(t *MonsterT) { t.NativeInline = rcv.NativeInline(nil).UnPack() t.LongEnumNonEnumDefault = rcv.LongEnumNonEnumDefault() t.LongEnumNormalDefault = rcv.LongEnumNormalDefault() + t.NanDefault = rcv.NanDefault() + t.InfDefault = rcv.InfDefault() + t.PositiveInfDefault = rcv.PositiveInfDefault() + t.InfinityDefault = rcv.InfinityDefault() + t.PositiveInfinityDefault = rcv.PositiveInfinityDefault() + t.NegativeInfDefault = rcv.NegativeInfDefault() + t.NegativeInfinityDefault = rcv.NegativeInfinityDefault() + t.DoubleInfDefault = rcv.DoubleInfDefault() } func (rcv *Monster) UnPack() *MonsterT { @@ -1386,8 +1412,104 @@ func (rcv *Monster) MutateLongEnumNormalDefault(n LongEnum) bool { return rcv._tab.MutateUint64Slot(110, uint64(n)) } +func (rcv *Monster) NanDefault() float32 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(112)) + if o != 0 { + return rcv._tab.GetFloat32(o + rcv._tab.Pos) + } + return float32(math.NaN()) +} + +func (rcv *Monster) MutateNanDefault(n float32) bool { + return rcv._tab.MutateFloat32Slot(112, n) +} + +func (rcv *Monster) InfDefault() float32 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(114)) + if o != 0 { + return rcv._tab.GetFloat32(o + rcv._tab.Pos) + } + return float32(math.Inf(1)) +} + +func (rcv *Monster) MutateInfDefault(n float32) bool { + return rcv._tab.MutateFloat32Slot(114, n) +} + +func (rcv *Monster) PositiveInfDefault() float32 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(116)) + if o != 0 { + return rcv._tab.GetFloat32(o + rcv._tab.Pos) + } + return float32(math.Inf(1)) +} + +func (rcv *Monster) MutatePositiveInfDefault(n float32) bool { + return rcv._tab.MutateFloat32Slot(116, n) +} + +func (rcv *Monster) InfinityDefault() float32 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(118)) + if o != 0 { + return rcv._tab.GetFloat32(o + rcv._tab.Pos) + } + return float32(math.Inf(1)) +} + +func (rcv *Monster) MutateInfinityDefault(n float32) bool { + return rcv._tab.MutateFloat32Slot(118, n) +} + +func (rcv *Monster) PositiveInfinityDefault() float32 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(120)) + if o != 0 { + return rcv._tab.GetFloat32(o + rcv._tab.Pos) + } + return float32(math.Inf(1)) +} + +func (rcv *Monster) MutatePositiveInfinityDefault(n float32) bool { + return rcv._tab.MutateFloat32Slot(120, n) +} + +func (rcv *Monster) NegativeInfDefault() float32 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(122)) + if o != 0 { + return rcv._tab.GetFloat32(o + rcv._tab.Pos) + } + return float32(math.Inf(-1)) +} + +func (rcv *Monster) MutateNegativeInfDefault(n float32) bool { + return rcv._tab.MutateFloat32Slot(122, n) +} + +func (rcv *Monster) NegativeInfinityDefault() float32 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(124)) + if o != 0 { + return rcv._tab.GetFloat32(o + rcv._tab.Pos) + } + return float32(math.Inf(-1)) +} + +func (rcv *Monster) MutateNegativeInfinityDefault(n float32) bool { + return rcv._tab.MutateFloat32Slot(124, n) +} + +func (rcv *Monster) DoubleInfDefault() float64 { + o := flatbuffers.UOffsetT(rcv._tab.Offset(126)) + if o != 0 { + return rcv._tab.GetFloat64(o + rcv._tab.Pos) + } + return float64(math.Inf(1)) +} + +func (rcv *Monster) MutateDoubleInfDefault(n float64) bool { + return rcv._tab.MutateFloat64Slot(126, n) +} + func MonsterStart(builder *flatbuffers.Builder) { - builder.StartObject(54) + builder.StartObject(62) } func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) { builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0) @@ -1608,6 +1730,30 @@ func MonsterAddLongEnumNonEnumDefault(builder *flatbuffers.Builder, longEnumNonE func MonsterAddLongEnumNormalDefault(builder *flatbuffers.Builder, longEnumNormalDefault LongEnum) { builder.PrependUint64Slot(53, uint64(longEnumNormalDefault), 2) } +func MonsterAddNanDefault(builder *flatbuffers.Builder, nanDefault float32) { + builder.PrependFloat32Slot(54, nanDefault, float32(math.NaN())) +} +func MonsterAddInfDefault(builder *flatbuffers.Builder, infDefault float32) { + builder.PrependFloat32Slot(55, infDefault, float32(math.Inf(1))) +} +func MonsterAddPositiveInfDefault(builder *flatbuffers.Builder, positiveInfDefault float32) { + builder.PrependFloat32Slot(56, positiveInfDefault, float32(math.Inf(1))) +} +func MonsterAddInfinityDefault(builder *flatbuffers.Builder, infinityDefault float32) { + builder.PrependFloat32Slot(57, infinityDefault, float32(math.Inf(1))) +} +func MonsterAddPositiveInfinityDefault(builder *flatbuffers.Builder, positiveInfinityDefault float32) { + builder.PrependFloat32Slot(58, positiveInfinityDefault, float32(math.Inf(1))) +} +func MonsterAddNegativeInfDefault(builder *flatbuffers.Builder, negativeInfDefault float32) { + builder.PrependFloat32Slot(59, negativeInfDefault, float32(math.Inf(-1))) +} +func MonsterAddNegativeInfinityDefault(builder *flatbuffers.Builder, negativeInfinityDefault float32) { + builder.PrependFloat32Slot(60, negativeInfinityDefault, float32(math.Inf(-1))) +} +func MonsterAddDoubleInfDefault(builder *flatbuffers.Builder, doubleInfDefault float64) { + builder.PrependFloat64Slot(61, doubleInfDefault, float64(math.Inf(1))) +} func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } diff --git a/tests/MyGame/Example/Monster.java b/tests/MyGame/Example/Monster.java index e172f1e0505..c6b866fcd98 100644 --- a/tests/MyGame/Example/Monster.java +++ b/tests/MyGame/Example/Monster.java @@ -216,8 +216,24 @@ public final class Monster extends Table { public boolean mutateLongEnumNonEnumDefault(long long_enum_non_enum_default) { int o = __offset(108); if (o != 0) { bb.putLong(o + bb_pos, long_enum_non_enum_default); return true; } else { return false; } } public long longEnumNormalDefault() { int o = __offset(110); return o != 0 ? bb.getLong(o + bb_pos) : 2L; } public boolean mutateLongEnumNormalDefault(long long_enum_normal_default) { int o = __offset(110); if (o != 0) { bb.putLong(o + bb_pos, long_enum_normal_default); return true; } else { return false; } } + public float nanDefault() { int o = __offset(112); return o != 0 ? bb.getFloat(o + bb_pos) : Float.NaN; } + public boolean mutateNanDefault(float nan_default) { int o = __offset(112); if (o != 0) { bb.putFloat(o + bb_pos, nan_default); return true; } else { return false; } } + public float infDefault() { int o = __offset(114); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; } + public boolean mutateInfDefault(float inf_default) { int o = __offset(114); if (o != 0) { bb.putFloat(o + bb_pos, inf_default); return true; } else { return false; } } + public float positiveInfDefault() { int o = __offset(116); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; } + public boolean mutatePositiveInfDefault(float positive_inf_default) { int o = __offset(116); if (o != 0) { bb.putFloat(o + bb_pos, positive_inf_default); return true; } else { return false; } } + public float infinityDefault() { int o = __offset(118); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; } + public boolean mutateInfinityDefault(float infinity_default) { int o = __offset(118); if (o != 0) { bb.putFloat(o + bb_pos, infinity_default); return true; } else { return false; } } + public float positiveInfinityDefault() { int o = __offset(120); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; } + public boolean mutatePositiveInfinityDefault(float positive_infinity_default) { int o = __offset(120); if (o != 0) { bb.putFloat(o + bb_pos, positive_infinity_default); return true; } else { return false; } } + public float negativeInfDefault() { int o = __offset(122); return o != 0 ? bb.getFloat(o + bb_pos) : Float.NEGATIVE_INFINITY; } + public boolean mutateNegativeInfDefault(float negative_inf_default) { int o = __offset(122); if (o != 0) { bb.putFloat(o + bb_pos, negative_inf_default); return true; } else { return false; } } + public float negativeInfinityDefault() { int o = __offset(124); return o != 0 ? bb.getFloat(o + bb_pos) : Float.NEGATIVE_INFINITY; } + public boolean mutateNegativeInfinityDefault(float negative_infinity_default) { int o = __offset(124); if (o != 0) { bb.putFloat(o + bb_pos, negative_infinity_default); return true; } else { return false; } } + public double doubleInfDefault() { int o = __offset(126); return o != 0 ? bb.getDouble(o + bb_pos) : Double.POSITIVE_INFINITY; } + public boolean mutateDoubleInfDefault(double double_inf_default) { int o = __offset(126); if (o != 0) { bb.putDouble(o + bb_pos, double_inf_default); return true; } else { return false; } } - public static void startMonster(FlatBufferBuilder builder) { builder.startTable(54); } + public static void startMonster(FlatBufferBuilder builder) { builder.startTable(62); } public static void addPos(FlatBufferBuilder builder, int posOffset) { builder.addStruct(0, posOffset, 0); } public static void addMana(FlatBufferBuilder builder, short mana) { builder.addShort(1, mana, 150); } public static void addHp(FlatBufferBuilder builder, short hp) { builder.addShort(2, hp, 100); } @@ -313,6 +329,14 @@ public final class Monster extends Table { public static void addNativeInline(FlatBufferBuilder builder, int nativeInlineOffset) { builder.addStruct(51, nativeInlineOffset, 0); } public static void addLongEnumNonEnumDefault(FlatBufferBuilder builder, long longEnumNonEnumDefault) { builder.addLong(52, longEnumNonEnumDefault, 0L); } public static void addLongEnumNormalDefault(FlatBufferBuilder builder, long longEnumNormalDefault) { builder.addLong(53, longEnumNormalDefault, 2L); } + public static void addNanDefault(FlatBufferBuilder builder, float nanDefault) { builder.addFloat(54, nanDefault, Float.NaN); } + public static void addInfDefault(FlatBufferBuilder builder, float infDefault) { builder.addFloat(55, infDefault, Float.POSITIVE_INFINITY); } + public static void addPositiveInfDefault(FlatBufferBuilder builder, float positiveInfDefault) { builder.addFloat(56, positiveInfDefault, Float.POSITIVE_INFINITY); } + public static void addInfinityDefault(FlatBufferBuilder builder, float infinityDefault) { builder.addFloat(57, infinityDefault, Float.POSITIVE_INFINITY); } + public static void addPositiveInfinityDefault(FlatBufferBuilder builder, float positiveInfinityDefault) { builder.addFloat(58, positiveInfinityDefault, Float.POSITIVE_INFINITY); } + public static void addNegativeInfDefault(FlatBufferBuilder builder, float negativeInfDefault) { builder.addFloat(59, negativeInfDefault, Float.NEGATIVE_INFINITY); } + public static void addNegativeInfinityDefault(FlatBufferBuilder builder, float negativeInfinityDefault) { builder.addFloat(60, negativeInfinityDefault, Float.NEGATIVE_INFINITY); } + public static void addDoubleInfDefault(FlatBufferBuilder builder, double doubleInfDefault) { builder.addDouble(61, doubleInfDefault, Double.POSITIVE_INFINITY); } public static int endMonster(FlatBufferBuilder builder) { int o = builder.endTable(); builder.required(o, 10); // name @@ -533,6 +557,22 @@ public void unpackTo(MonsterT _o) { _o.setLongEnumNonEnumDefault(_oLongEnumNonEnumDefault); long _oLongEnumNormalDefault = longEnumNormalDefault(); _o.setLongEnumNormalDefault(_oLongEnumNormalDefault); + float _oNanDefault = nanDefault(); + _o.setNanDefault(_oNanDefault); + float _oInfDefault = infDefault(); + _o.setInfDefault(_oInfDefault); + float _oPositiveInfDefault = positiveInfDefault(); + _o.setPositiveInfDefault(_oPositiveInfDefault); + float _oInfinityDefault = infinityDefault(); + _o.setInfinityDefault(_oInfinityDefault); + float _oPositiveInfinityDefault = positiveInfinityDefault(); + _o.setPositiveInfinityDefault(_oPositiveInfinityDefault); + float _oNegativeInfDefault = negativeInfDefault(); + _o.setNegativeInfDefault(_oNegativeInfDefault); + float _oNegativeInfinityDefault = negativeInfinityDefault(); + _o.setNegativeInfinityDefault(_oNegativeInfinityDefault); + double _oDoubleInfDefault = doubleInfDefault(); + _o.setDoubleInfDefault(_oDoubleInfDefault); } public static int pack(FlatBufferBuilder builder, MonsterT _o) { if (_o == null) return 0; @@ -725,6 +765,14 @@ public static int pack(FlatBufferBuilder builder, MonsterT _o) { addNativeInline(builder, MyGame.Example.Test.pack(builder, _o.getNativeInline())); addLongEnumNonEnumDefault(builder, _o.getLongEnumNonEnumDefault()); addLongEnumNormalDefault(builder, _o.getLongEnumNormalDefault()); + addNanDefault(builder, _o.getNanDefault()); + addInfDefault(builder, _o.getInfDefault()); + addPositiveInfDefault(builder, _o.getPositiveInfDefault()); + addInfinityDefault(builder, _o.getInfinityDefault()); + addPositiveInfinityDefault(builder, _o.getPositiveInfinityDefault()); + addNegativeInfDefault(builder, _o.getNegativeInfDefault()); + addNegativeInfinityDefault(builder, _o.getNegativeInfinityDefault()); + addDoubleInfDefault(builder, _o.getDoubleInfDefault()); return endMonster(builder); } } diff --git a/tests/MyGame/Example/Monster.kt b/tests/MyGame/Example/Monster.kt index 38f09a8c24a..156b9f6b593 100644 --- a/tests/MyGame/Example/Monster.kt +++ b/tests/MyGame/Example/Monster.kt @@ -870,6 +870,118 @@ class Monster : Table() { false } } + val nanDefault : Float + get() { + val o = __offset(112) + return if(o != 0) bb.getFloat(o + bb_pos) else Float.NaN + } + fun mutateNanDefault(nanDefault: Float) : Boolean { + val o = __offset(112) + return if (o != 0) { + bb.putFloat(o + bb_pos, nanDefault) + true + } else { + false + } + } + val infDefault : Float + get() { + val o = __offset(114) + return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY + } + fun mutateInfDefault(infDefault: Float) : Boolean { + val o = __offset(114) + return if (o != 0) { + bb.putFloat(o + bb_pos, infDefault) + true + } else { + false + } + } + val positiveInfDefault : Float + get() { + val o = __offset(116) + return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY + } + fun mutatePositiveInfDefault(positiveInfDefault: Float) : Boolean { + val o = __offset(116) + return if (o != 0) { + bb.putFloat(o + bb_pos, positiveInfDefault) + true + } else { + false + } + } + val infinityDefault : Float + get() { + val o = __offset(118) + return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY + } + fun mutateInfinityDefault(infinityDefault: Float) : Boolean { + val o = __offset(118) + return if (o != 0) { + bb.putFloat(o + bb_pos, infinityDefault) + true + } else { + false + } + } + val positiveInfinityDefault : Float + get() { + val o = __offset(120) + return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY + } + fun mutatePositiveInfinityDefault(positiveInfinityDefault: Float) : Boolean { + val o = __offset(120) + return if (o != 0) { + bb.putFloat(o + bb_pos, positiveInfinityDefault) + true + } else { + false + } + } + val negativeInfDefault : Float + get() { + val o = __offset(122) + return if(o != 0) bb.getFloat(o + bb_pos) else Float.NEGATIVE_INFINITY + } + fun mutateNegativeInfDefault(negativeInfDefault: Float) : Boolean { + val o = __offset(122) + return if (o != 0) { + bb.putFloat(o + bb_pos, negativeInfDefault) + true + } else { + false + } + } + val negativeInfinityDefault : Float + get() { + val o = __offset(124) + return if(o != 0) bb.getFloat(o + bb_pos) else Float.NEGATIVE_INFINITY + } + fun mutateNegativeInfinityDefault(negativeInfinityDefault: Float) : Boolean { + val o = __offset(124) + return if (o != 0) { + bb.putFloat(o + bb_pos, negativeInfinityDefault) + true + } else { + false + } + } + val doubleInfDefault : Double + get() { + val o = __offset(126) + return if(o != 0) bb.getDouble(o + bb_pos) else Double.POSITIVE_INFINITY + } + fun mutateDoubleInfDefault(doubleInfDefault: Double) : Boolean { + val o = __offset(126) + return if (o != 0) { + bb.putDouble(o + bb_pos, doubleInfDefault) + true + } else { + false + } + } override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int { return compareStrings(__offset(10, o1, _bb), __offset(10, o2, _bb), _bb) } @@ -881,7 +993,7 @@ class Monster : Table() { return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)) } fun MonsterBufferHasIdentifier(_bb: ByteBuffer) : Boolean = __has_identifier(_bb, "MONS") - fun startMonster(builder: FlatBufferBuilder) = builder.startTable(54) + fun startMonster(builder: FlatBufferBuilder) = builder.startTable(62) fun addPos(builder: FlatBufferBuilder, pos: Int) = builder.addStruct(0, pos, 0) fun addMana(builder: FlatBufferBuilder, mana: Short) = builder.addShort(1, mana, 150) fun addHp(builder: FlatBufferBuilder, hp: Short) = builder.addShort(2, hp, 100) @@ -1077,6 +1189,14 @@ class Monster : Table() { fun addNativeInline(builder: FlatBufferBuilder, nativeInline: Int) = builder.addStruct(51, nativeInline, 0) fun addLongEnumNonEnumDefault(builder: FlatBufferBuilder, longEnumNonEnumDefault: ULong) = builder.addLong(52, longEnumNonEnumDefault.toLong(), 0) fun addLongEnumNormalDefault(builder: FlatBufferBuilder, longEnumNormalDefault: ULong) = builder.addLong(53, longEnumNormalDefault.toLong(), 2) + fun addNanDefault(builder: FlatBufferBuilder, nanDefault: Float) = builder.addFloat(54, nanDefault, Double.NaN) + fun addInfDefault(builder: FlatBufferBuilder, infDefault: Float) = builder.addFloat(55, infDefault, Double.POSITIVE_INFINITY) + fun addPositiveInfDefault(builder: FlatBufferBuilder, positiveInfDefault: Float) = builder.addFloat(56, positiveInfDefault, Double.POSITIVE_INFINITY) + fun addInfinityDefault(builder: FlatBufferBuilder, infinityDefault: Float) = builder.addFloat(57, infinityDefault, Double.POSITIVE_INFINITY) + fun addPositiveInfinityDefault(builder: FlatBufferBuilder, positiveInfinityDefault: Float) = builder.addFloat(58, positiveInfinityDefault, Double.POSITIVE_INFINITY) + fun addNegativeInfDefault(builder: FlatBufferBuilder, negativeInfDefault: Float) = builder.addFloat(59, negativeInfDefault, Double.NEGATIVE_INFINITY) + fun addNegativeInfinityDefault(builder: FlatBufferBuilder, negativeInfinityDefault: Float) = builder.addFloat(60, negativeInfinityDefault, Double.NEGATIVE_INFINITY) + fun addDoubleInfDefault(builder: FlatBufferBuilder, doubleInfDefault: Double) = builder.addDouble(61, doubleInfDefault, Double.POSITIVE_INFINITY) fun endMonster(builder: FlatBufferBuilder) : Int { val o = builder.endTable() builder.required(o, 10) diff --git a/tests/MyGame/Example/Monster.lua b/tests/MyGame/Example/Monster.lua index cbd41b2a255..2adeeec2abb 100644 --- a/tests/MyGame/Example/Monster.lua +++ b/tests/MyGame/Example/Monster.lua @@ -703,8 +703,72 @@ function mt:LongEnumNormalDefault() return 2 end +function mt:NanDefault() + local o = self.view:Offset(112) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float32, self.view.pos + o) + end + return nan +end + +function mt:InfDefault() + local o = self.view:Offset(114) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float32, self.view.pos + o) + end + return inf +end + +function mt:PositiveInfDefault() + local o = self.view:Offset(116) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float32, self.view.pos + o) + end + return inf +end + +function mt:InfinityDefault() + local o = self.view:Offset(118) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float32, self.view.pos + o) + end + return inf +end + +function mt:PositiveInfinityDefault() + local o = self.view:Offset(120) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float32, self.view.pos + o) + end + return inf +end + +function mt:NegativeInfDefault() + local o = self.view:Offset(122) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float32, self.view.pos + o) + end + return -inf +end + +function mt:NegativeInfinityDefault() + local o = self.view:Offset(124) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float32, self.view.pos + o) + end + return -inf +end + +function mt:DoubleInfDefault() + local o = self.view:Offset(126) + if o ~= 0 then + return self.view:Get(flatbuffers.N.Float64, self.view.pos + o) + end + return inf +end + function Monster.Start(builder) - builder:StartObject(54) + builder:StartObject(62) end function Monster.AddPos(builder, pos) @@ -999,6 +1063,38 @@ function Monster.AddLongEnumNormalDefault(builder, longEnumNormalDefault) builder:PrependUint64Slot(53, longEnumNormalDefault, 2) end +function Monster.AddNanDefault(builder, nanDefault) + builder:PrependFloat32Slot(54, nanDefault, nan) +end + +function Monster.AddInfDefault(builder, infDefault) + builder:PrependFloat32Slot(55, infDefault, inf) +end + +function Monster.AddPositiveInfDefault(builder, positiveInfDefault) + builder:PrependFloat32Slot(56, positiveInfDefault, inf) +end + +function Monster.AddInfinityDefault(builder, infinityDefault) + builder:PrependFloat32Slot(57, infinityDefault, inf) +end + +function Monster.AddPositiveInfinityDefault(builder, positiveInfinityDefault) + builder:PrependFloat32Slot(58, positiveInfinityDefault, inf) +end + +function Monster.AddNegativeInfDefault(builder, negativeInfDefault) + builder:PrependFloat32Slot(59, negativeInfDefault, -inf) +end + +function Monster.AddNegativeInfinityDefault(builder, negativeInfinityDefault) + builder:PrependFloat32Slot(60, negativeInfinityDefault, -inf) +end + +function Monster.AddDoubleInfDefault(builder, doubleInfDefault) + builder:PrependFloat64Slot(61, doubleInfDefault, inf) +end + function Monster.End(builder) return builder:EndObject() end diff --git a/tests/MyGame/Example/Monster.nim b/tests/MyGame/Example/Monster.nim index 7c4cb6f2ddb..28649e81e7c 100644 --- a/tests/MyGame/Example/Monster.nim +++ b/tests/MyGame/Example/Monster.nim @@ -510,8 +510,64 @@ func longEnumNormalDefault*(self: Monster): MyGame_Example_LongEnum.LongEnum = return type(result)(2) func `longEnumNormalDefault=`*(self: var Monster, n: MyGame_Example_LongEnum.LongEnum): bool = return self.tab.MutateSlot(110, n) +func nanDefault*(self: Monster): float32 = + let o = self.tab.Offset(112) + if o != 0: + return Get[float32](self.tab, self.tab.Pos + o) + return NaN +func `nanDefault=`*(self: var Monster, n: float32): bool = + return self.tab.MutateSlot(112, n) +func infDefault*(self: Monster): float32 = + let o = self.tab.Offset(114) + if o != 0: + return Get[float32](self.tab, self.tab.Pos + o) + return Inf +func `infDefault=`*(self: var Monster, n: float32): bool = + return self.tab.MutateSlot(114, n) +func positiveInfDefault*(self: Monster): float32 = + let o = self.tab.Offset(116) + if o != 0: + return Get[float32](self.tab, self.tab.Pos + o) + return Inf +func `positiveInfDefault=`*(self: var Monster, n: float32): bool = + return self.tab.MutateSlot(116, n) +func infinityDefault*(self: Monster): float32 = + let o = self.tab.Offset(118) + if o != 0: + return Get[float32](self.tab, self.tab.Pos + o) + return Inf +func `infinityDefault=`*(self: var Monster, n: float32): bool = + return self.tab.MutateSlot(118, n) +func positiveInfinityDefault*(self: Monster): float32 = + let o = self.tab.Offset(120) + if o != 0: + return Get[float32](self.tab, self.tab.Pos + o) + return Inf +func `positiveInfinityDefault=`*(self: var Monster, n: float32): bool = + return self.tab.MutateSlot(120, n) +func negativeInfDefault*(self: Monster): float32 = + let o = self.tab.Offset(122) + if o != 0: + return Get[float32](self.tab, self.tab.Pos + o) + return -Inf +func `negativeInfDefault=`*(self: var Monster, n: float32): bool = + return self.tab.MutateSlot(122, n) +func negativeInfinityDefault*(self: Monster): float32 = + let o = self.tab.Offset(124) + if o != 0: + return Get[float32](self.tab, self.tab.Pos + o) + return -Inf +func `negativeInfinityDefault=`*(self: var Monster, n: float32): bool = + return self.tab.MutateSlot(124, n) +func doubleInfDefault*(self: Monster): float64 = + let o = self.tab.Offset(126) + if o != 0: + return Get[float64](self.tab, self.tab.Pos + o) + return Inf +func `doubleInfDefault=`*(self: var Monster, n: float64): bool = + return self.tab.MutateSlot(126, n) proc MonsterStart*(builder: var Builder) = - builder.StartObject(54) + builder.StartObject(62) proc MonsterAddpos*(builder: var Builder, pos: uoffset) = builder.PrependStructSlot(0, pos, default(uoffset)) proc MonsterAddmana*(builder: var Builder, mana: int16) = @@ -658,5 +714,21 @@ proc MonsterAddlongEnumNonEnumDefault*(builder: var Builder, longEnumNonEnumDefa builder.PrependSlot(52, longEnumNonEnumDefault, default(uint64)) proc MonsterAddlongEnumNormalDefault*(builder: var Builder, longEnumNormalDefault: uint64) = builder.PrependSlot(53, longEnumNormalDefault, default(uint64)) +proc MonsterAddnanDefault*(builder: var Builder, nanDefault: float32) = + builder.PrependSlot(54, nanDefault, default(float32)) +proc MonsterAddinfDefault*(builder: var Builder, infDefault: float32) = + builder.PrependSlot(55, infDefault, default(float32)) +proc MonsterAddpositiveInfDefault*(builder: var Builder, positiveInfDefault: float32) = + builder.PrependSlot(56, positiveInfDefault, default(float32)) +proc MonsterAddinfinityDefault*(builder: var Builder, infinityDefault: float32) = + builder.PrependSlot(57, infinityDefault, default(float32)) +proc MonsterAddpositiveInfinityDefault*(builder: var Builder, positiveInfinityDefault: float32) = + builder.PrependSlot(58, positiveInfinityDefault, default(float32)) +proc MonsterAddnegativeInfDefault*(builder: var Builder, negativeInfDefault: float32) = + builder.PrependSlot(59, negativeInfDefault, default(float32)) +proc MonsterAddnegativeInfinityDefault*(builder: var Builder, negativeInfinityDefault: float32) = + builder.PrependSlot(60, negativeInfinityDefault, default(float32)) +proc MonsterAdddoubleInfDefault*(builder: var Builder, doubleInfDefault: float64) = + builder.PrependSlot(61, doubleInfDefault, default(float64)) proc MonsterEnd*(builder: var Builder): uoffset = return builder.EndObject() diff --git a/tests/MyGame/Example/Monster.php b/tests/MyGame/Example/Monster.php index 5f8ad5af556..29976e4aa12 100644 --- a/tests/MyGame/Example/Monster.php +++ b/tests/MyGame/Example/Monster.php @@ -754,22 +754,94 @@ public function getLongEnumNormalDefault() return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : \MyGame\Example\LongEnum::LongOne; } + /** + * @return float + */ + public function getNanDefault() + { + $o = $this->__offset(112); + return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : nan; + } + + /** + * @return float + */ + public function getInfDefault() + { + $o = $this->__offset(114); + return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : inf; + } + + /** + * @return float + */ + public function getPositiveInfDefault() + { + $o = $this->__offset(116); + return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : +inf; + } + + /** + * @return float + */ + public function getInfinityDefault() + { + $o = $this->__offset(118); + return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : infinity; + } + + /** + * @return float + */ + public function getPositiveInfinityDefault() + { + $o = $this->__offset(120); + return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : +infinity; + } + + /** + * @return float + */ + public function getNegativeInfDefault() + { + $o = $this->__offset(122); + return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : -inf; + } + + /** + * @return float + */ + public function getNegativeInfinityDefault() + { + $o = $this->__offset(124); + return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : -infinity; + } + + /** + * @return double + */ + public function getDoubleInfDefault() + { + $o = $this->__offset(126); + return $o != 0 ? $this->bb->getDouble($o + $this->bb_pos) : inf; + } + /** * @param FlatBufferBuilder $builder * @return void */ public static function startMonster(FlatBufferBuilder $builder) { - $builder->StartObject(54); + $builder->StartObject(62); } /** * @param FlatBufferBuilder $builder * @return Monster */ - public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $hp, $name, $inventory, $color, $test_type, $test, $test4, $testarrayofstring, $testarrayoftables, $enemy, $testnestedflatbuffer, $testempty, $testbool, $testhashs32_fnv1, $testhashu32_fnv1, $testhashs64_fnv1, $testhashu64_fnv1, $testhashs32_fnv1a, $testhashu32_fnv1a, $testhashs64_fnv1a, $testhashu64_fnv1a, $testarrayofbools, $testf, $testf2, $testf3, $testarrayofstring2, $testarrayofsortedstruct, $flex, $test5, $vector_of_longs, $vector_of_doubles, $parent_namespace_test, $vector_of_referrables, $single_weak_reference, $vector_of_weak_references, $vector_of_strong_referrables, $co_owning_reference, $vector_of_co_owning_references, $non_owning_reference, $vector_of_non_owning_references, $any_unique_type, $any_unique, $any_ambiguous_type, $any_ambiguous, $vector_of_enums, $signed_enum, $testrequirednestedflatbuffer, $scalar_key_sorted_tables, $native_inline, $long_enum_non_enum_default, $long_enum_normal_default) + public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $hp, $name, $inventory, $color, $test_type, $test, $test4, $testarrayofstring, $testarrayoftables, $enemy, $testnestedflatbuffer, $testempty, $testbool, $testhashs32_fnv1, $testhashu32_fnv1, $testhashs64_fnv1, $testhashu64_fnv1, $testhashs32_fnv1a, $testhashu32_fnv1a, $testhashs64_fnv1a, $testhashu64_fnv1a, $testarrayofbools, $testf, $testf2, $testf3, $testarrayofstring2, $testarrayofsortedstruct, $flex, $test5, $vector_of_longs, $vector_of_doubles, $parent_namespace_test, $vector_of_referrables, $single_weak_reference, $vector_of_weak_references, $vector_of_strong_referrables, $co_owning_reference, $vector_of_co_owning_references, $non_owning_reference, $vector_of_non_owning_references, $any_unique_type, $any_unique, $any_ambiguous_type, $any_ambiguous, $vector_of_enums, $signed_enum, $testrequirednestedflatbuffer, $scalar_key_sorted_tables, $native_inline, $long_enum_non_enum_default, $long_enum_normal_default, $nan_default, $inf_default, $positive_inf_default, $infinity_default, $positive_infinity_default, $negative_inf_default, $negative_infinity_default, $double_inf_default) { - $builder->startObject(54); + $builder->startObject(62); self::addPos($builder, $pos); self::addMana($builder, $mana); self::addHp($builder, $hp); @@ -823,6 +895,14 @@ public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $h self::addNativeInline($builder, $native_inline); self::addLongEnumNonEnumDefault($builder, $long_enum_non_enum_default); self::addLongEnumNormalDefault($builder, $long_enum_normal_default); + self::addNanDefault($builder, $nan_default); + self::addInfDefault($builder, $inf_default); + self::addPositiveInfDefault($builder, $positive_inf_default); + self::addInfinityDefault($builder, $infinity_default); + self::addPositiveInfinityDefault($builder, $positive_infinity_default); + self::addNegativeInfDefault($builder, $negative_inf_default); + self::addNegativeInfinityDefault($builder, $negative_infinity_default); + self::addDoubleInfDefault($builder, $double_inf_default); $o = $builder->endObject(); $builder->required($o, 10); // name return $o; @@ -1823,6 +1903,86 @@ public static function addLongEnumNormalDefault(FlatBufferBuilder $builder, $lon $builder->addUlongX(53, $longEnumNormalDefault, 2); } + /** + * @param FlatBufferBuilder $builder + * @param float + * @return void + */ + public static function addNanDefault(FlatBufferBuilder $builder, $nanDefault) + { + $builder->addFloatX(54, $nanDefault, nan); + } + + /** + * @param FlatBufferBuilder $builder + * @param float + * @return void + */ + public static function addInfDefault(FlatBufferBuilder $builder, $infDefault) + { + $builder->addFloatX(55, $infDefault, inf); + } + + /** + * @param FlatBufferBuilder $builder + * @param float + * @return void + */ + public static function addPositiveInfDefault(FlatBufferBuilder $builder, $positiveInfDefault) + { + $builder->addFloatX(56, $positiveInfDefault, +inf); + } + + /** + * @param FlatBufferBuilder $builder + * @param float + * @return void + */ + public static function addInfinityDefault(FlatBufferBuilder $builder, $infinityDefault) + { + $builder->addFloatX(57, $infinityDefault, infinity); + } + + /** + * @param FlatBufferBuilder $builder + * @param float + * @return void + */ + public static function addPositiveInfinityDefault(FlatBufferBuilder $builder, $positiveInfinityDefault) + { + $builder->addFloatX(58, $positiveInfinityDefault, +infinity); + } + + /** + * @param FlatBufferBuilder $builder + * @param float + * @return void + */ + public static function addNegativeInfDefault(FlatBufferBuilder $builder, $negativeInfDefault) + { + $builder->addFloatX(59, $negativeInfDefault, -inf); + } + + /** + * @param FlatBufferBuilder $builder + * @param float + * @return void + */ + public static function addNegativeInfinityDefault(FlatBufferBuilder $builder, $negativeInfinityDefault) + { + $builder->addFloatX(60, $negativeInfinityDefault, -infinity); + } + + /** + * @param FlatBufferBuilder $builder + * @param double + * @return void + */ + public static function addDoubleInfDefault(FlatBufferBuilder $builder, $doubleInfDefault) + { + $builder->addDoubleX(61, $doubleInfDefault, inf); + } + /** * @param FlatBufferBuilder $builder * @return int table offset diff --git a/tests/MyGame/Example/Monster.py b/tests/MyGame/Example/Monster.py index 654fdcbe3b5..de55ac5eca9 100644 --- a/tests/MyGame/Example/Monster.py +++ b/tests/MyGame/Example/Monster.py @@ -816,7 +816,63 @@ def LongEnumNormalDefault(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos) return 2 -def MonsterStart(builder): builder.StartObject(54) + # Monster + def NanDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(112)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('nan') + + # Monster + def InfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(114)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def PositiveInfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(116)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def InfinityDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(118)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def PositiveInfinityDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(120)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def NegativeInfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(122)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('-inf') + + # Monster + def NegativeInfinityDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(124)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('-inf') + + # Monster + def DoubleInfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(126)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos) + return float('inf') + +def MonsterStart(builder): builder.StartObject(62) def Start(builder): return MonsterStart(builder) def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0) @@ -1052,6 +1108,30 @@ def AddLongEnumNonEnumDefault(builder, longEnumNonEnumDefault): def MonsterAddLongEnumNormalDefault(builder, longEnumNormalDefault): builder.PrependUint64Slot(53, longEnumNormalDefault, 2) def AddLongEnumNormalDefault(builder, longEnumNormalDefault): return MonsterAddLongEnumNormalDefault(builder, longEnumNormalDefault) +def MonsterAddNanDefault(builder, nanDefault): builder.PrependFloat32Slot(54, nanDefault, float('nan')) +def AddNanDefault(builder, nanDefault): + return MonsterAddNanDefault(builder, nanDefault) +def MonsterAddInfDefault(builder, infDefault): builder.PrependFloat32Slot(55, infDefault, float('inf')) +def AddInfDefault(builder, infDefault): + return MonsterAddInfDefault(builder, infDefault) +def MonsterAddPositiveInfDefault(builder, positiveInfDefault): builder.PrependFloat32Slot(56, positiveInfDefault, float('inf')) +def AddPositiveInfDefault(builder, positiveInfDefault): + return MonsterAddPositiveInfDefault(builder, positiveInfDefault) +def MonsterAddInfinityDefault(builder, infinityDefault): builder.PrependFloat32Slot(57, infinityDefault, float('inf')) +def AddInfinityDefault(builder, infinityDefault): + return MonsterAddInfinityDefault(builder, infinityDefault) +def MonsterAddPositiveInfinityDefault(builder, positiveInfinityDefault): builder.PrependFloat32Slot(58, positiveInfinityDefault, float('inf')) +def AddPositiveInfinityDefault(builder, positiveInfinityDefault): + return MonsterAddPositiveInfinityDefault(builder, positiveInfinityDefault) +def MonsterAddNegativeInfDefault(builder, negativeInfDefault): builder.PrependFloat32Slot(59, negativeInfDefault, float('-inf')) +def AddNegativeInfDefault(builder, negativeInfDefault): + return MonsterAddNegativeInfDefault(builder, negativeInfDefault) +def MonsterAddNegativeInfinityDefault(builder, negativeInfinityDefault): builder.PrependFloat32Slot(60, negativeInfinityDefault, float('-inf')) +def AddNegativeInfinityDefault(builder, negativeInfinityDefault): + return MonsterAddNegativeInfinityDefault(builder, negativeInfinityDefault) +def MonsterAddDoubleInfDefault(builder, doubleInfDefault): builder.PrependFloat64Slot(61, doubleInfDefault, float('inf')) +def AddDoubleInfDefault(builder, doubleInfDefault): + return MonsterAddDoubleInfDefault(builder, doubleInfDefault) def MonsterEnd(builder): return builder.EndObject() def End(builder): return MonsterEnd(builder) @@ -1128,6 +1208,14 @@ def __init__(self): self.nativeInline = None # type: Optional[MyGame.Example.Test.TestT] self.longEnumNonEnumDefault = 0 # type: int self.longEnumNormalDefault = 2 # type: int + self.nanDefault = float('nan') # type: float + self.infDefault = float('inf') # type: float + self.positiveInfDefault = float('inf') # type: float + self.infinityDefault = float('inf') # type: float + self.positiveInfinityDefault = float('inf') # type: float + self.negativeInfDefault = float('-inf') # type: float + self.negativeInfinityDefault = float('-inf') # type: float + self.doubleInfDefault = float('inf') # type: float @classmethod def InitFromBuf(cls, buf, pos): @@ -1325,6 +1413,14 @@ def _UnPack(self, monster): self.nativeInline = MyGame.Example.Test.TestT.InitFromObj(monster.NativeInline()) self.longEnumNonEnumDefault = monster.LongEnumNonEnumDefault() self.longEnumNormalDefault = monster.LongEnumNormalDefault() + self.nanDefault = monster.NanDefault() + self.infDefault = monster.InfDefault() + self.positiveInfDefault = monster.PositiveInfDefault() + self.infinityDefault = monster.InfinityDefault() + self.positiveInfinityDefault = monster.PositiveInfinityDefault() + self.negativeInfDefault = monster.NegativeInfDefault() + self.negativeInfinityDefault = monster.NegativeInfinityDefault() + self.doubleInfDefault = monster.DoubleInfDefault() # MonsterT def Pack(self, builder): @@ -1578,5 +1674,13 @@ def Pack(self, builder): MonsterAddNativeInline(builder, nativeInline) MonsterAddLongEnumNonEnumDefault(builder, self.longEnumNonEnumDefault) MonsterAddLongEnumNormalDefault(builder, self.longEnumNormalDefault) + MonsterAddNanDefault(builder, self.nanDefault) + MonsterAddInfDefault(builder, self.infDefault) + MonsterAddPositiveInfDefault(builder, self.positiveInfDefault) + MonsterAddInfinityDefault(builder, self.infinityDefault) + MonsterAddPositiveInfinityDefault(builder, self.positiveInfinityDefault) + MonsterAddNegativeInfDefault(builder, self.negativeInfDefault) + MonsterAddNegativeInfinityDefault(builder, self.negativeInfinityDefault) + MonsterAddDoubleInfDefault(builder, self.doubleInfDefault) monster = MonsterEnd(builder) return monster diff --git a/tests/MyGame/Example/MonsterT.java b/tests/MyGame/Example/MonsterT.java index 06804c78a3d..d4a65259a5f 100644 --- a/tests/MyGame/Example/MonsterT.java +++ b/tests/MyGame/Example/MonsterT.java @@ -58,6 +58,14 @@ public class MonsterT { private MyGame.Example.TestT nativeInline; private long longEnumNonEnumDefault; private long longEnumNormalDefault; + private float nanDefault; + private float infDefault; + private float positiveInfDefault; + private float infinityDefault; + private float positiveInfinityDefault; + private float negativeInfDefault; + private float negativeInfinityDefault; + private double doubleInfDefault; public MyGame.Example.Vec3T getPos() { return pos; } @@ -259,6 +267,38 @@ public class MonsterT { public void setLongEnumNormalDefault(long longEnumNormalDefault) { this.longEnumNormalDefault = longEnumNormalDefault; } + public float getNanDefault() { return nanDefault; } + + public void setNanDefault(float nanDefault) { this.nanDefault = nanDefault; } + + public float getInfDefault() { return infDefault; } + + public void setInfDefault(float infDefault) { this.infDefault = infDefault; } + + public float getPositiveInfDefault() { return positiveInfDefault; } + + public void setPositiveInfDefault(float positiveInfDefault) { this.positiveInfDefault = positiveInfDefault; } + + public float getInfinityDefault() { return infinityDefault; } + + public void setInfinityDefault(float infinityDefault) { this.infinityDefault = infinityDefault; } + + public float getPositiveInfinityDefault() { return positiveInfinityDefault; } + + public void setPositiveInfinityDefault(float positiveInfinityDefault) { this.positiveInfinityDefault = positiveInfinityDefault; } + + public float getNegativeInfDefault() { return negativeInfDefault; } + + public void setNegativeInfDefault(float negativeInfDefault) { this.negativeInfDefault = negativeInfDefault; } + + public float getNegativeInfinityDefault() { return negativeInfinityDefault; } + + public void setNegativeInfinityDefault(float negativeInfinityDefault) { this.negativeInfinityDefault = negativeInfinityDefault; } + + public double getDoubleInfDefault() { return doubleInfDefault; } + + public void setDoubleInfDefault(double doubleInfDefault) { this.doubleInfDefault = doubleInfDefault; } + public MonsterT() { this.pos = new MyGame.Example.Vec3T(); @@ -311,6 +351,14 @@ public MonsterT() { this.nativeInline = new MyGame.Example.TestT(); this.longEnumNonEnumDefault = 0L; this.longEnumNormalDefault = 2L; + this.nanDefault = Float.NaN; + this.infDefault = Float.POSITIVE_INFINITY; + this.positiveInfDefault = Float.POSITIVE_INFINITY; + this.infinityDefault = Float.POSITIVE_INFINITY; + this.positiveInfinityDefault = Float.POSITIVE_INFINITY; + this.negativeInfDefault = Float.NEGATIVE_INFINITY; + this.negativeInfinityDefault = Float.NEGATIVE_INFINITY; + this.doubleInfDefault = Double.POSITIVE_INFINITY; } public static MonsterT deserializeFromBinary(byte[] fbBuffer) { return Monster.getRootAsMonster(ByteBuffer.wrap(fbBuffer)).unpack(); diff --git a/tests/cpp17/generated_cpp17/monster_test_generated.h b/tests/cpp17/generated_cpp17/monster_test_generated.h index d8b4d955b78..90eb549985b 100644 --- a/tests/cpp17/generated_cpp17/monster_test_generated.h +++ b/tests/cpp17/generated_cpp17/monster_test_generated.h @@ -1321,6 +1321,14 @@ struct MonsterT : public flatbuffers::NativeTable { MyGame::Example::Test native_inline{}; MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0); MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum::LongOne; + float nan_default = std::numeric_limits::quiet_NaN(); + float inf_default = std::numeric_limits::infinity(); + float positive_inf_default = std::numeric_limits::infinity(); + float infinity_default = std::numeric_limits::infinity(); + float positive_infinity_default = std::numeric_limits::infinity(); + float negative_inf_default = -std::numeric_limits::infinity(); + float negative_infinity_default = -std::numeric_limits::infinity(); + double double_inf_default = std::numeric_limits::infinity(); MonsterT() = default; MonsterT(const MonsterT &o); MonsterT(MonsterT&&) FLATBUFFERS_NOEXCEPT = default; @@ -1388,7 +1396,15 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VT_SCALAR_KEY_SORTED_TABLES = 104, VT_NATIVE_INLINE = 106, VT_LONG_ENUM_NON_ENUM_DEFAULT = 108, - VT_LONG_ENUM_NORMAL_DEFAULT = 110 + VT_LONG_ENUM_NORMAL_DEFAULT = 110, + VT_NAN_DEFAULT = 112, + VT_INF_DEFAULT = 114, + VT_POSITIVE_INF_DEFAULT = 116, + VT_INFINITY_DEFAULT = 118, + VT_POSITIVE_INFINITY_DEFAULT = 120, + VT_NEGATIVE_INF_DEFAULT = 122, + VT_NEGATIVE_INFINITY_DEFAULT = 124, + VT_DOUBLE_INF_DEFAULT = 126 }; const MyGame::Example::Vec3 *pos() const { return GetStruct(VT_POS); @@ -1745,6 +1761,54 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool mutate_long_enum_normal_default(MyGame::Example::LongEnum _long_enum_normal_default = static_cast(2ULL)) { return SetField(VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(_long_enum_normal_default), 2ULL); } + float nan_default() const { + return GetField(VT_NAN_DEFAULT, std::numeric_limits::quiet_NaN()); + } + bool mutate_nan_default(float _nan_default = std::numeric_limits::quiet_NaN()) { + return SetField(VT_NAN_DEFAULT, _nan_default, std::numeric_limits::quiet_NaN()); + } + float inf_default() const { + return GetField(VT_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_inf_default(float _inf_default = std::numeric_limits::infinity()) { + return SetField(VT_INF_DEFAULT, _inf_default, std::numeric_limits::infinity()); + } + float positive_inf_default() const { + return GetField(VT_POSITIVE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_inf_default(float _positive_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INF_DEFAULT, _positive_inf_default, std::numeric_limits::infinity()); + } + float infinity_default() const { + return GetField(VT_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_infinity_default(float _infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_INFINITY_DEFAULT, _infinity_default, std::numeric_limits::infinity()); + } + float positive_infinity_default() const { + return GetField(VT_POSITIVE_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_infinity_default(float _positive_infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INFINITY_DEFAULT, _positive_infinity_default, std::numeric_limits::infinity()); + } + float negative_inf_default() const { + return GetField(VT_NEGATIVE_INF_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_inf_default(float _negative_inf_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INF_DEFAULT, _negative_inf_default, -std::numeric_limits::infinity()); + } + float negative_infinity_default() const { + return GetField(VT_NEGATIVE_INFINITY_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_infinity_default(float _negative_infinity_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INFINITY_DEFAULT, _negative_infinity_default, -std::numeric_limits::infinity()); + } + double double_inf_default() const { + return GetField(VT_DOUBLE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_double_inf_default(double _double_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_DOUBLE_INF_DEFAULT, _double_inf_default, std::numeric_limits::infinity()); + } template auto get_field() const { if constexpr (Index == 0) return pos(); @@ -1800,6 +1864,14 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { else if constexpr (Index == 50) return native_inline(); else if constexpr (Index == 51) return long_enum_non_enum_default(); else if constexpr (Index == 52) return long_enum_normal_default(); + else if constexpr (Index == 53) return nan_default(); + else if constexpr (Index == 54) return inf_default(); + else if constexpr (Index == 55) return positive_inf_default(); + else if constexpr (Index == 56) return infinity_default(); + else if constexpr (Index == 57) return positive_infinity_default(); + else if constexpr (Index == 58) return negative_inf_default(); + else if constexpr (Index == 59) return negative_infinity_default(); + else if constexpr (Index == 60) return double_inf_default(); else static_assert(Index != Index, "Invalid Field Index"); } bool Verify(flatbuffers::Verifier &verifier) const { @@ -1893,6 +1965,14 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VerifyField(verifier, VT_NATIVE_INLINE, 2) && VerifyField(verifier, VT_LONG_ENUM_NON_ENUM_DEFAULT, 8) && VerifyField(verifier, VT_LONG_ENUM_NORMAL_DEFAULT, 8) && + VerifyField(verifier, VT_NAN_DEFAULT, 4) && + VerifyField(verifier, VT_INF_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_DOUBLE_INF_DEFAULT, 8) && verifier.EndTable(); } MonsterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; @@ -2087,6 +2167,30 @@ struct MonsterBuilder { void add_long_enum_normal_default(MyGame::Example::LongEnum long_enum_normal_default) { fbb_.AddElement(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(long_enum_normal_default), 2ULL); } + void add_nan_default(float nan_default) { + fbb_.AddElement(Monster::VT_NAN_DEFAULT, nan_default, std::numeric_limits::quiet_NaN()); + } + void add_inf_default(float inf_default) { + fbb_.AddElement(Monster::VT_INF_DEFAULT, inf_default, std::numeric_limits::infinity()); + } + void add_positive_inf_default(float positive_inf_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INF_DEFAULT, positive_inf_default, std::numeric_limits::infinity()); + } + void add_infinity_default(float infinity_default) { + fbb_.AddElement(Monster::VT_INFINITY_DEFAULT, infinity_default, std::numeric_limits::infinity()); + } + void add_positive_infinity_default(float positive_infinity_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INFINITY_DEFAULT, positive_infinity_default, std::numeric_limits::infinity()); + } + void add_negative_inf_default(float negative_inf_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INF_DEFAULT, negative_inf_default, -std::numeric_limits::infinity()); + } + void add_negative_infinity_default(float negative_infinity_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INFINITY_DEFAULT, negative_infinity_default, -std::numeric_limits::infinity()); + } + void add_double_inf_default(double double_inf_default) { + fbb_.AddElement(Monster::VT_DOUBLE_INF_DEFAULT, double_inf_default, std::numeric_limits::infinity()); + } explicit MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -2153,8 +2257,17 @@ inline flatbuffers::Offset CreateMonster( flatbuffers::Offset>> scalar_key_sorted_tables = 0, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum::LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum::LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { MonsterBuilder builder_(_fbb); + builder_.add_double_inf_default(double_inf_default); builder_.add_long_enum_normal_default(long_enum_normal_default); builder_.add_long_enum_non_enum_default(long_enum_non_enum_default); builder_.add_non_owning_reference(non_owning_reference); @@ -2164,6 +2277,13 @@ inline flatbuffers::Offset CreateMonster( builder_.add_testhashs64_fnv1a(testhashs64_fnv1a); builder_.add_testhashu64_fnv1(testhashu64_fnv1); builder_.add_testhashs64_fnv1(testhashs64_fnv1); + builder_.add_negative_infinity_default(negative_infinity_default); + builder_.add_negative_inf_default(negative_inf_default); + builder_.add_positive_infinity_default(positive_infinity_default); + builder_.add_infinity_default(infinity_default); + builder_.add_positive_inf_default(positive_inf_default); + builder_.add_inf_default(inf_default); + builder_.add_nan_default(nan_default); builder_.add_native_inline(native_inline); builder_.add_scalar_key_sorted_tables(scalar_key_sorted_tables); builder_.add_testrequirednestedflatbuffer(testrequirednestedflatbuffer); @@ -2216,7 +2336,7 @@ struct Monster::Traits { static auto constexpr Create = CreateMonster; static constexpr auto name = "Monster"; static constexpr auto fully_qualified_name = "MyGame.Example.Monster"; - static constexpr size_t fields_number = 53; + static constexpr size_t fields_number = 61; static constexpr std::array field_names = { "pos", "mana", @@ -2270,7 +2390,15 @@ struct Monster::Traits { "scalar_key_sorted_tables", "native_inline", "long_enum_non_enum_default", - "long_enum_normal_default" + "long_enum_normal_default", + "nan_default", + "inf_default", + "positive_inf_default", + "infinity_default", + "positive_infinity_default", + "negative_inf_default", + "negative_infinity_default", + "double_inf_default" }; template using FieldType = decltype(std::declval().get_field()); @@ -2330,7 +2458,15 @@ inline flatbuffers::Offset CreateMonsterDirect( std::vector> *scalar_key_sorted_tables = nullptr, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum::LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum::LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { auto name__ = name ? _fbb.CreateString(name) : 0; auto inventory__ = inventory ? _fbb.CreateVector(*inventory) : 0; auto test4__ = test4 ? _fbb.CreateVectorOfStructs(*test4) : 0; @@ -2406,7 +2542,15 @@ inline flatbuffers::Offset CreateMonsterDirect( scalar_key_sorted_tables__, native_inline, long_enum_non_enum_default, - long_enum_normal_default); + long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default); } flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); @@ -2881,7 +3025,15 @@ inline MonsterT::MonsterT(const MonsterT &o) testrequirednestedflatbuffer(o.testrequirednestedflatbuffer), native_inline(o.native_inline), long_enum_non_enum_default(o.long_enum_non_enum_default), - long_enum_normal_default(o.long_enum_normal_default) { + long_enum_normal_default(o.long_enum_normal_default), + nan_default(o.nan_default), + inf_default(o.inf_default), + positive_inf_default(o.positive_inf_default), + infinity_default(o.infinity_default), + positive_infinity_default(o.positive_infinity_default), + negative_inf_default(o.negative_inf_default), + negative_infinity_default(o.negative_infinity_default), + double_inf_default(o.double_inf_default) { testarrayoftables.reserve(o.testarrayoftables.size()); for (const auto &testarrayoftables_ : o.testarrayoftables) { testarrayoftables.emplace_back((testarrayoftables_) ? new MyGame::Example::MonsterT(*testarrayoftables_) : nullptr); } vector_of_referrables.reserve(o.vector_of_referrables.size()); @@ -2945,6 +3097,14 @@ inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT { std::swap(native_inline, o.native_inline); std::swap(long_enum_non_enum_default, o.long_enum_non_enum_default); std::swap(long_enum_normal_default, o.long_enum_normal_default); + std::swap(nan_default, o.nan_default); + std::swap(inf_default, o.inf_default); + std::swap(positive_inf_default, o.positive_inf_default); + std::swap(infinity_default, o.infinity_default); + std::swap(positive_infinity_default, o.positive_infinity_default); + std::swap(negative_inf_default, o.negative_inf_default); + std::swap(negative_infinity_default, o.negative_infinity_default); + std::swap(double_inf_default, o.double_inf_default); return *this; } @@ -3010,6 +3170,14 @@ inline void Monster::UnPackTo(MonsterT *_o, const flatbuffers::resolver_function { auto _e = native_inline(); if (_e) _o->native_inline = *_e; } { auto _e = long_enum_non_enum_default(); _o->long_enum_non_enum_default = _e; } { auto _e = long_enum_normal_default(); _o->long_enum_normal_default = _e; } + { auto _e = nan_default(); _o->nan_default = _e; } + { auto _e = inf_default(); _o->inf_default = _e; } + { auto _e = positive_inf_default(); _o->positive_inf_default = _e; } + { auto _e = infinity_default(); _o->infinity_default = _e; } + { auto _e = positive_infinity_default(); _o->positive_infinity_default = _e; } + { auto _e = negative_inf_default(); _o->negative_inf_default = _e; } + { auto _e = negative_infinity_default(); _o->negative_infinity_default = _e; } + { auto _e = double_inf_default(); _o->double_inf_default = _e; } } inline flatbuffers::Offset Monster::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT* _o, const flatbuffers::rehasher_function_t *_rehasher) { @@ -3073,6 +3241,14 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder auto _native_inline = &_o->native_inline; auto _long_enum_non_enum_default = _o->long_enum_non_enum_default; auto _long_enum_normal_default = _o->long_enum_normal_default; + auto _nan_default = _o->nan_default; + auto _inf_default = _o->inf_default; + auto _positive_inf_default = _o->positive_inf_default; + auto _infinity_default = _o->infinity_default; + auto _positive_infinity_default = _o->positive_infinity_default; + auto _negative_inf_default = _o->negative_inf_default; + auto _negative_infinity_default = _o->negative_infinity_default; + auto _double_inf_default = _o->double_inf_default; return MyGame::Example::CreateMonster( _fbb, _pos, @@ -3127,7 +3303,15 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder _scalar_key_sorted_tables, _native_inline, _long_enum_non_enum_default, - _long_enum_normal_default); + _long_enum_normal_default, + _nan_default, + _inf_default, + _positive_inf_default, + _infinity_default, + _positive_infinity_default, + _negative_inf_default, + _negative_infinity_default, + _double_inf_default); } inline TypeAliasesT *TypeAliases::UnPack(const flatbuffers::resolver_function_t *_resolver) const { @@ -3885,7 +4069,15 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { { flatbuffers::ET_SEQUENCE, 1, 5 }, { flatbuffers::ET_SEQUENCE, 0, 3 }, { flatbuffers::ET_ULONG, 0, 12 }, - { flatbuffers::ET_ULONG, 0, 12 } + { flatbuffers::ET_ULONG, 0, 12 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_DOUBLE, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { MyGame::Example::Vec3TypeTable, @@ -3956,10 +4148,18 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { "scalar_key_sorted_tables", "native_inline", "long_enum_non_enum_default", - "long_enum_normal_default" + "long_enum_normal_default", + "nan_default", + "inf_default", + "positive_inf_default", + "infinity_default", + "positive_infinity_default", + "negative_inf_default", + "negative_infinity_default", + "double_inf_default" }; static const flatbuffers::TypeTable tt = { - flatbuffers::ST_TABLE, 54, type_codes, type_refs, nullptr, nullptr, names + flatbuffers::ST_TABLE, 62, type_codes, type_refs, nullptr, nullptr, names }; return &tt; } diff --git a/tests/cpp17/test_cpp17.cpp b/tests/cpp17/test_cpp17.cpp index cfba2b6b735..6c1929120e3 100644 --- a/tests/cpp17/test_cpp17.cpp +++ b/tests/cpp17/test_cpp17.cpp @@ -148,6 +148,14 @@ void StringifyAnyFlatbuffersTypeTest() { signed_enum = -1 long_enum_non_enum_default = 0 long_enum_normal_default = 2 + nan_default = nan + inf_default = inf + positive_inf_default = inf + infinity_default = inf + positive_infinity_default = inf + negative_inf_default = -inf + negative_infinity_default = -inf + double_inf_default = inf })"; // Call a generic function that has no specific knowledge of the flatbuffer we diff --git a/tests/go_test.go b/tests/go_test.go index 8cb7b97f36b..a04ef2c9b16 100644 --- a/tests/go_test.go +++ b/tests/go_test.go @@ -533,6 +533,14 @@ func CheckObjectAPI(buf []byte, offset flatbuffers.UOffsetT, sizePrefix bool, fa fail(FailString("mana", 150, got)) } + if monster.Test != nil && monster.Test.Type == example.AnyMonster { + monster.Test.Value.(*example.MonsterT).NanDefault = 0.0 + } + if monster.Enemy != nil { + monster.Enemy.NanDefault = 0.0 + } + monster.NanDefault = 0.0 + builder := flatbuffers.NewBuilder(0) builder.Finish(monster.Pack(builder)) monster2 := example.GetRootAsMonster(builder.FinishedBytes(), 0).UnPack() diff --git a/tests/monster_test.afb b/tests/monster_test.afb index 07cb352b418..b77de7b77cf 100644 --- a/tests/monster_test.afb +++ b/tests/monster_test.afb @@ -58,21 +58,21 @@ vector (reflection.Schema.enums): vector (reflection.Schema.objects): +0x0078 | 0F 00 00 00 | uint32_t | 0x0000000F (15) | length of vector (# items) - +0x007C | 9C 31 00 00 | UOffset32 | 0x0000319C (12700) Loc: +0x3218 | offset to table[0] + +0x007C | 54 35 00 00 | UOffset32 | 0x00003554 (13652) Loc: +0x35D0 | offset to table[0] +0x0080 | 50 0E 00 00 | UOffset32 | 0x00000E50 (3664) Loc: +0x0ED0 | offset to table[1] - +0x0084 | E8 2D 00 00 | UOffset32 | 0x00002DE8 (11752) Loc: +0x2E6C | offset to table[2] - +0x0088 | C4 2E 00 00 | UOffset32 | 0x00002EC4 (11972) Loc: +0x2F4C | offset to table[3] - +0x008C | 64 30 00 00 | UOffset32 | 0x00003064 (12388) Loc: +0x30F0 | offset to table[4] - +0x0090 | D8 2F 00 00 | UOffset32 | 0x00002FD8 (12248) Loc: +0x3068 | offset to table[5] - +0x0094 | A0 35 00 00 | UOffset32 | 0x000035A0 (13728) Loc: +0x3634 | offset to table[6] - +0x0098 | 80 34 00 00 | UOffset32 | 0x00003480 (13440) Loc: +0x3518 | offset to table[7] + +0x0084 | A0 31 00 00 | UOffset32 | 0x000031A0 (12704) Loc: +0x3224 | offset to table[2] + +0x0088 | 7C 32 00 00 | UOffset32 | 0x0000327C (12924) Loc: +0x3304 | offset to table[3] + +0x008C | 1C 34 00 00 | UOffset32 | 0x0000341C (13340) Loc: +0x34A8 | offset to table[4] + +0x0090 | 90 33 00 00 | UOffset32 | 0x00003390 (13200) Loc: +0x3420 | offset to table[5] + +0x0094 | 58 39 00 00 | UOffset32 | 0x00003958 (14680) Loc: +0x39EC | offset to table[6] + +0x0098 | 38 38 00 00 | UOffset32 | 0x00003838 (14392) Loc: +0x38D0 | offset to table[7] +0x009C | 70 0B 00 00 | UOffset32 | 0x00000B70 (2928) Loc: +0x0C0C | offset to table[8] - +0x00A0 | 78 32 00 00 | UOffset32 | 0x00003278 (12920) Loc: +0x3318 | offset to table[9] - +0x00A4 | 68 36 00 00 | UOffset32 | 0x00003668 (13928) Loc: +0x370C | offset to table[10] - +0x00A8 | A0 36 00 00 | UOffset32 | 0x000036A0 (13984) Loc: +0x3748 | offset to table[11] - +0x00AC | 90 37 00 00 | UOffset32 | 0x00003790 (14224) Loc: +0x383C | offset to table[12] - +0x00B0 | 44 38 00 00 | UOffset32 | 0x00003844 (14404) Loc: +0x38F4 | offset to table[13] - +0x00B4 | EC 36 00 00 | UOffset32 | 0x000036EC (14060) Loc: +0x37A0 | offset to table[14] + +0x00A0 | 30 36 00 00 | UOffset32 | 0x00003630 (13872) Loc: +0x36D0 | offset to table[9] + +0x00A4 | 20 3A 00 00 | UOffset32 | 0x00003A20 (14880) Loc: +0x3AC4 | offset to table[10] + +0x00A8 | 58 3A 00 00 | UOffset32 | 0x00003A58 (14936) Loc: +0x3B00 | offset to table[11] + +0x00AC | 48 3B 00 00 | UOffset32 | 0x00003B48 (15176) Loc: +0x3BF4 | offset to table[12] + +0x00B0 | FC 3B 00 00 | UOffset32 | 0x00003BFC (15356) Loc: +0x3CAC | offset to table[13] + +0x00B4 | A4 3A 00 00 | UOffset32 | 0x00003AA4 (15012) Loc: +0x3B58 | offset to table[14] vector (reflection.Schema.fbs_files): +0x00B8 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) @@ -81,43 +81,43 @@ vector (reflection.Schema.fbs_files): +0x00C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x00C8 | offset to table[2] table (reflection.SchemaFile): - +0x00C8 | 64 CB FF FF | SOffset32 | 0xFFFFCB64 (-13468) Loc: +0x3564 | offset to vtable - +0x00CC | 94 36 00 00 | UOffset32 | 0x00003694 (13972) Loc: +0x3760 | offset to field `key` (string) + +0x00C8 | AC C7 FF FF | SOffset32 | 0xFFFFC7AC (-14420) Loc: +0x391C | offset to vtable + +0x00CC | 4C 3A 00 00 | UOffset32 | 0x00003A4C (14924) Loc: +0x3B18 | offset to field `key` (string) +0x00D0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x00D4 | offset to field `value` (string) string (reflection.SchemaFile.value): +0x00D4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x00D8 | E0 | char[1] | à | string literal - +0x00D9 | 36 | char | 0x36 (54) | string terminator + +0x00D8 | 98 | char[1] | ˜ | string literal + +0x00D9 | 3A | char | 0x3A (58) | string terminator padding: +0x00DA | 00 00 | uint8_t[2] | .. | padding table (reflection.SchemaFile): - +0x00DC | 78 CB FF FF | SOffset32 | 0xFFFFCB78 (-13448) Loc: +0x3564 | offset to vtable - +0x00E0 | 34 38 00 00 | UOffset32 | 0x00003834 (14388) Loc: +0x3914 | offset to field `key` (string) + +0x00DC | C0 C7 FF FF | SOffset32 | 0xFFFFC7C0 (-14400) Loc: +0x391C | offset to vtable + +0x00E0 | EC 3B 00 00 | UOffset32 | 0x00003BEC (15340) Loc: +0x3CCC | offset to field `key` (string) +0x00E4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x00E8 | offset to field `value` (string) string (reflection.SchemaFile.value): +0x00E8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x00EC | CC 36 | char[2] | Ì6 | string literal + +0x00EC | 84 3A | char[2] | „: | string literal +0x00EE | 00 | char | 0x00 (0) | string terminator unknown (no known references): - +0x00EF | 00 24 38 00 00 | ?uint8_t[5] | .$8.. | WARN: could be corrupted padding region. + +0x00EF | 00 DC 3B 00 00 | ?uint8_t[5] | ..;.. | WARN: could be corrupted padding region. table (reflection.SchemaFile): - +0x00F4 | 90 CB FF FF | SOffset32 | 0xFFFFCB90 (-13424) Loc: +0x3564 | offset to vtable - +0x00F8 | C0 36 00 00 | UOffset32 | 0x000036C0 (14016) Loc: +0x37B8 | offset to field `key` (string) + +0x00F4 | D8 C7 FF FF | SOffset32 | 0xFFFFC7D8 (-14376) Loc: +0x391C | offset to vtable + +0x00F8 | 78 3A 00 00 | UOffset32 | 0x00003A78 (14968) Loc: +0x3B70 | offset to field `key` (string) +0x00FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0100 | offset to field `value` (string) string (reflection.SchemaFile.value): +0x0100 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x0104 | B4 36 | char[2] | ´6 | string literal + +0x0104 | 6C 3A | char[2] | l: | string literal +0x0106 | 00 | char | 0x00 (0) | string terminator unknown (no known references): - +0x0107 | 00 0C 38 00 00 00 00 | ?uint8_t[7] | ..8.... | WARN: could be corrupted padding region. + +0x0107 | 00 C4 3B 00 00 00 00 | ?uint8_t[7] | ..;.... | WARN: could be corrupted padding region. vtable (reflection.Service): +0x010E | 0E 00 | uint16_t | 0x000E (14) | size of this vtable @@ -133,7 +133,7 @@ table (reflection.Service): +0x0120 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x0148 | offset to field `name` (string) +0x0124 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x0134 | offset to field `calls` (vector) +0x0128 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0130 | offset to field `documentation` (vector) - +0x012C | 34 36 00 00 | UOffset32 | 0x00003634 (13876) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x012C | EC 39 00 00 | UOffset32 | 0x000039EC (14828) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Service.documentation): +0x0130 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) @@ -160,7 +160,7 @@ table (reflection.RPCCall): +0x016C | BA FE FF FF | SOffset32 | 0xFFFFFEBA (-326) Loc: +0x02B2 | offset to vtable +0x0170 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x01B8 | offset to field `name` (string) +0x0174 | 5C 0D 00 00 | UOffset32 | 0x00000D5C (3420) Loc: +0x0ED0 | offset to field `request` (table) - +0x0178 | D4 2D 00 00 | UOffset32 | 0x00002DD4 (11732) Loc: +0x2F4C | offset to field `response` (table) + +0x0178 | 8C 31 00 00 | UOffset32 | 0x0000318C (12684) Loc: +0x3304 | offset to field `response` (table) +0x017C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x0188 | offset to field `attributes` (vector) +0x0180 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0184 | offset to field `documentation` (vector) @@ -172,7 +172,7 @@ vector (reflection.RPCCall.attributes): +0x018C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0190 | offset to table[0] table (reflection.KeyValue): - +0x0190 | 2C CC FF FF | SOffset32 | 0xFFFFCC2C (-13268) Loc: +0x3564 | offset to vtable + +0x0190 | 74 C8 FF FF | SOffset32 | 0xFFFFC874 (-14220) Loc: +0x391C | offset to vtable +0x0194 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x01A8 | offset to field `key` (string) +0x0198 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x019C | offset to field `value` (string) @@ -204,7 +204,7 @@ table (reflection.RPCCall): +0x01D0 | 1E FF FF FF | SOffset32 | 0xFFFFFF1E (-226) Loc: +0x02B2 | offset to vtable +0x01D4 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x021C | offset to field `name` (string) +0x01D8 | F8 0C 00 00 | UOffset32 | 0x00000CF8 (3320) Loc: +0x0ED0 | offset to field `request` (table) - +0x01DC | 70 2D 00 00 | UOffset32 | 0x00002D70 (11632) Loc: +0x2F4C | offset to field `response` (table) + +0x01DC | 28 31 00 00 | UOffset32 | 0x00003128 (12584) Loc: +0x3304 | offset to field `response` (table) +0x01E0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x01EC | offset to field `attributes` (vector) +0x01E4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x01E8 | offset to field `documentation` (vector) @@ -216,7 +216,7 @@ vector (reflection.RPCCall.attributes): +0x01F0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x01F4 | offset to table[0] table (reflection.KeyValue): - +0x01F4 | 90 CC FF FF | SOffset32 | 0xFFFFCC90 (-13168) Loc: +0x3564 | offset to vtable + +0x01F4 | D8 C8 FF FF | SOffset32 | 0xFFFFC8D8 (-14120) Loc: +0x391C | offset to vtable +0x01F8 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x020C | offset to field `key` (string) +0x01FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0200 | offset to field `value` (string) @@ -243,7 +243,7 @@ string (reflection.RPCCall.name): table (reflection.RPCCall): +0x0230 | 7E FF FF FF | SOffset32 | 0xFFFFFF7E (-130) Loc: +0x02B2 | offset to vtable +0x0234 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x02A4 | offset to field `name` (string) - +0x0238 | 14 2D 00 00 | UOffset32 | 0x00002D14 (11540) Loc: +0x2F4C | offset to field `request` (table) + +0x0238 | CC 30 00 00 | UOffset32 | 0x000030CC (12492) Loc: +0x3304 | offset to field `request` (table) +0x023C | 94 0C 00 00 | UOffset32 | 0x00000C94 (3220) Loc: +0x0ED0 | offset to field `response` (table) +0x0240 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x024C | offset to field `attributes` (vector) +0x0244 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0248 | offset to field `documentation` (vector) @@ -257,7 +257,7 @@ vector (reflection.RPCCall.attributes): +0x0254 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0258 | offset to table[1] table (reflection.KeyValue): - +0x0258 | F4 CC FF FF | SOffset32 | 0xFFFFCCF4 (-13068) Loc: +0x3564 | offset to vtable + +0x0258 | 3C C9 FF FF | SOffset32 | 0xFFFFC93C (-14020) Loc: +0x391C | offset to vtable +0x025C | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x0270 | offset to field `key` (string) +0x0260 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0264 | offset to field `value` (string) @@ -276,7 +276,7 @@ padding: +0x027E | 00 00 | uint8_t[2] | .. | padding table (reflection.KeyValue): - +0x0280 | 1C CD FF FF | SOffset32 | 0xFFFFCD1C (-13028) Loc: +0x3564 | offset to vtable + +0x0280 | 64 C9 FF FF | SOffset32 | 0xFFFFC964 (-13980) Loc: +0x391C | offset to vtable +0x0284 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x0294 | offset to field `key` (string) +0x0288 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x028C | offset to field `value` (string) @@ -312,7 +312,7 @@ table (reflection.RPCCall): +0x02C0 | 0E 00 00 00 | SOffset32 | 0x0000000E (14) Loc: +0x02B2 | offset to vtable +0x02C4 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x030C | offset to field `name` (string) +0x02C8 | 08 0C 00 00 | UOffset32 | 0x00000C08 (3080) Loc: +0x0ED0 | offset to field `request` (table) - +0x02CC | 80 2C 00 00 | UOffset32 | 0x00002C80 (11392) Loc: +0x2F4C | offset to field `response` (table) + +0x02CC | 38 30 00 00 | UOffset32 | 0x00003038 (12344) Loc: +0x3304 | offset to field `response` (table) +0x02D0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x02DC | offset to field `attributes` (vector) +0x02D4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x02D8 | offset to field `documentation` (vector) @@ -324,7 +324,7 @@ vector (reflection.RPCCall.attributes): +0x02E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x02E4 | offset to table[0] table (reflection.KeyValue): - +0x02E4 | 80 CD FF FF | SOffset32 | 0xFFFFCD80 (-12928) Loc: +0x3564 | offset to vtable + +0x02E4 | C8 C9 FF FF | SOffset32 | 0xFFFFC9C8 (-13880) Loc: +0x391C | offset to vtable +0x02E8 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x02FC | offset to field `key` (string) +0x02EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x02F0 | offset to field `value` (string) @@ -361,13 +361,13 @@ table (reflection.Enum): +0x0324 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x034C | offset to field `values` (vector) +0x0328 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x0338 | offset to field `underlying_type` (table) +0x032C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0334 | offset to field `documentation` (vector) - +0x0330 | 30 34 00 00 | UOffset32 | 0x00003430 (13360) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x0330 | E8 37 00 00 | UOffset32 | 0x000037E8 (14312) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Enum.documentation): +0x0334 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0338 | 34 CD FF FF | SOffset32 | 0xFFFFCD34 (-13004) Loc: +0x3604 | offset to vtable + +0x0338 | 7C C9 FF FF | SOffset32 | 0xFFFFC97C (-13956) Loc: +0x39BC | offset to vtable +0x033C | 00 00 00 | uint8_t[3] | ... | padding +0x033F | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) +0x0340 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) @@ -402,7 +402,7 @@ vector (reflection.EnumVal.documentation): +0x03A4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x03A8 | F0 CA FF FF | SOffset32 | 0xFFFFCAF0 (-13584) Loc: +0x38B8 | offset to vtable + +0x03A8 | 38 C7 FF FF | SOffset32 | 0xFFFFC738 (-14536) Loc: +0x3C70 | offset to vtable +0x03AC | 00 00 00 | uint8_t[3] | ... | padding +0x03AF | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x03B0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) @@ -425,7 +425,7 @@ vector (reflection.EnumVal.documentation): +0x03DC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x03E0 | 28 CB FF FF | SOffset32 | 0xFFFFCB28 (-13528) Loc: +0x38B8 | offset to vtable + +0x03E0 | 70 C7 FF FF | SOffset32 | 0xFFFFC770 (-14480) Loc: +0x3C70 | offset to vtable +0x03E4 | 00 00 00 | uint8_t[3] | ... | padding +0x03E7 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x03E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) @@ -448,7 +448,7 @@ vector (reflection.EnumVal.documentation): +0x0414 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0418 | 60 CB FF FF | SOffset32 | 0xFFFFCB60 (-13472) Loc: +0x38B8 | offset to vtable + +0x0418 | A8 C7 FF FF | SOffset32 | 0xFFFFC7A8 (-14424) Loc: +0x3C70 | offset to vtable +0x041C | 00 00 00 | uint8_t[3] | ... | padding +0x041F | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x0420 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) @@ -489,13 +489,13 @@ table (reflection.Enum): +0x0468 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x0490 | offset to field `values` (vector) +0x046C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x047C | offset to field `underlying_type` (table) +0x0470 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0478 | offset to field `documentation` (vector) - +0x0474 | EC 32 00 00 | UOffset32 | 0x000032EC (13036) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x0474 | A4 36 00 00 | UOffset32 | 0x000036A4 (13988) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Enum.documentation): +0x0478 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x047C | 78 CE FF FF | SOffset32 | 0xFFFFCE78 (-12680) Loc: +0x3604 | offset to vtable + +0x047C | C0 CA FF FF | SOffset32 | 0xFFFFCAC0 (-13632) Loc: +0x39BC | offset to vtable +0x0480 | 00 00 00 | uint8_t[3] | ... | padding +0x0483 | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) +0x0484 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) @@ -529,7 +529,7 @@ vector (reflection.EnumVal.documentation): +0x04E4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x04E8 | 30 CC FF FF | SOffset32 | 0xFFFFCC30 (-13264) Loc: +0x38B8 | offset to vtable + +0x04E8 | 78 C8 FF FF | SOffset32 | 0xFFFFC878 (-14216) Loc: +0x3C70 | offset to vtable +0x04EC | 00 00 00 | uint8_t[3] | ... | padding +0x04EF | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x04F0 | 0A 00 00 00 | uint32_t | 0x0000000A (10) | table field `index` (Int) @@ -552,7 +552,7 @@ vector (reflection.EnumVal.documentation): +0x051C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0520 | 68 CC FF FF | SOffset32 | 0xFFFFCC68 (-13208) Loc: +0x38B8 | offset to vtable + +0x0520 | B0 C8 FF FF | SOffset32 | 0xFFFFC8B0 (-14160) Loc: +0x3C70 | offset to vtable +0x0524 | 00 00 00 | uint8_t[3] | ... | padding +0x0527 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x0528 | 07 00 00 00 | uint32_t | 0x00000007 (7) | table field `index` (Int) @@ -574,7 +574,7 @@ vector (reflection.EnumVal.documentation): +0x0550 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0554 | 9C CC FF FF | SOffset32 | 0xFFFFCC9C (-13156) Loc: +0x38B8 | offset to vtable + +0x0554 | E4 C8 FF FF | SOffset32 | 0xFFFFC8E4 (-14108) Loc: +0x3C70 | offset to vtable +0x0558 | 00 00 00 | uint8_t[3] | ... | padding +0x055B | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x055C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) @@ -626,13 +626,13 @@ table (reflection.Enum): +0x05B4 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x05DC | offset to field `values` (vector) +0x05B8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x05C8 | offset to field `underlying_type` (table) +0x05BC | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x05C4 | offset to field `documentation` (vector) - +0x05C0 | A0 31 00 00 | UOffset32 | 0x000031A0 (12704) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x05C0 | 58 35 00 00 | UOffset32 | 0x00003558 (13656) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Enum.documentation): +0x05C4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x05C8 | C4 CF FF FF | SOffset32 | 0xFFFFCFC4 (-12348) Loc: +0x3604 | offset to vtable + +0x05C8 | 0C CC FF FF | SOffset32 | 0xFFFFCC0C (-13300) Loc: +0x39BC | offset to vtable +0x05CC | 00 00 00 | uint8_t[3] | ... | padding +0x05CF | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) +0x05D0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) @@ -664,7 +664,7 @@ vector (reflection.EnumVal.documentation): +0x0620 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0624 | 6C CD FF FF | SOffset32 | 0xFFFFCD6C (-12948) Loc: +0x38B8 | offset to vtable + +0x0624 | B4 C9 FF FF | SOffset32 | 0xFFFFC9B4 (-13900) Loc: +0x3C70 | offset to vtable +0x0628 | 00 00 00 | uint8_t[3] | ... | padding +0x062B | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x062C | 0A 00 00 00 | uint32_t | 0x0000000A (10) | table field `index` (Int) @@ -688,7 +688,7 @@ vector (reflection.EnumVal.documentation): +0x0668 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x066C | B4 CD FF FF | SOffset32 | 0xFFFFCDB4 (-12876) Loc: +0x38B8 | offset to vtable + +0x066C | FC C9 FF FF | SOffset32 | 0xFFFFC9FC (-13828) Loc: +0x3C70 | offset to vtable +0x0670 | 00 00 00 | uint8_t[3] | ... | padding +0x0673 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x0674 | 07 00 00 00 | uint32_t | 0x00000007 (7) | table field `index` (Int) @@ -712,7 +712,7 @@ vector (reflection.EnumVal.documentation): +0x06B0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x06B4 | FC CD FF FF | SOffset32 | 0xFFFFCDFC (-12804) Loc: +0x38B8 | offset to vtable + +0x06B4 | 44 CA FF FF | SOffset32 | 0xFFFFCA44 (-13756) Loc: +0x3C70 | offset to vtable +0x06B8 | 00 00 00 | uint8_t[3] | ... | padding +0x06BB | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) +0x06BC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) @@ -752,7 +752,7 @@ table (reflection.Enum): +0x0708 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x0748 | offset to field `underlying_type` (table) +0x070C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x071C | offset to field `attributes` (vector) +0x0710 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0718 | offset to field `documentation` (vector) - +0x0714 | 4C 30 00 00 | UOffset32 | 0x0000304C (12364) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x0714 | 04 34 00 00 | UOffset32 | 0x00003404 (13316) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Enum.documentation): +0x0718 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) @@ -762,7 +762,7 @@ vector (reflection.Enum.attributes): +0x0720 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0724 | offset to table[0] table (reflection.KeyValue): - +0x0724 | C0 D1 FF FF | SOffset32 | 0xFFFFD1C0 (-11840) Loc: +0x3564 | offset to vtable + +0x0724 | 08 CE FF FF | SOffset32 | 0xFFFFCE08 (-12792) Loc: +0x391C | offset to vtable +0x0728 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x0738 | offset to field `key` (string) +0x072C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x0730 | offset to field `value` (string) @@ -784,7 +784,7 @@ padding: +0x0746 | 00 00 | uint8_t[2] | .. | padding table (reflection.Type): - +0x0748 | 44 D1 FF FF | SOffset32 | 0xFFFFD144 (-11964) Loc: +0x3604 | offset to vtable + +0x0748 | 8C CD FF FF | SOffset32 | 0xFFFFCD8C (-12916) Loc: +0x39BC | offset to vtable +0x074C | 00 00 00 | uint8_t[3] | ... | padding +0x074F | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) +0x0750 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `index` (Int) @@ -872,13 +872,13 @@ table (reflection.Enum): +0x0834 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x085C | offset to field `values` (vector) +0x0838 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x0848 | offset to field `underlying_type` (table) +0x083C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0844 | offset to field `documentation` (vector) - +0x0840 | 20 2F 00 00 | UOffset32 | 0x00002F20 (12064) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x0840 | D8 32 00 00 | UOffset32 | 0x000032D8 (13016) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Enum.documentation): +0x0844 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0848 | 44 D2 FF FF | SOffset32 | 0xFFFFD244 (-11708) Loc: +0x3604 | offset to vtable + +0x0848 | 8C CE FF FF | SOffset32 | 0xFFFFCE8C (-12660) Loc: +0x39BC | offset to vtable +0x084C | 00 00 00 | uint8_t[3] | ... | padding +0x084F | 03 | uint8_t | 0x03 (3) | table field `base_type` (Byte) +0x0850 | 05 00 00 00 | uint32_t | 0x00000005 (5) | table field `index` (Int) @@ -1009,7 +1009,7 @@ table (reflection.Enum): +0x0978 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x09E8 | offset to field `underlying_type` (table) +0x097C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x09BC | offset to field `attributes` (vector) +0x0980 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0988 | offset to field `documentation` (vector) - +0x0984 | DC 2D 00 00 | UOffset32 | 0x00002DDC (11740) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x0984 | 94 31 00 00 | UOffset32 | 0x00003194 (12692) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Enum.documentation): +0x0988 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) @@ -1029,7 +1029,7 @@ vector (reflection.Enum.attributes): +0x09C0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x09C4 | offset to table[0] table (reflection.KeyValue): - +0x09C4 | 60 D4 FF FF | SOffset32 | 0xFFFFD460 (-11168) Loc: +0x3564 | offset to vtable + +0x09C4 | A8 D0 FF FF | SOffset32 | 0xFFFFD0A8 (-12120) Loc: +0x391C | offset to vtable +0x09C8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x09D8 | offset to field `key` (string) +0x09CC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x09D0 | offset to field `value` (string) @@ -1051,7 +1051,7 @@ padding: +0x09E6 | 00 00 | uint8_t[2] | .. | padding table (reflection.Type): - +0x09E8 | E4 D3 FF FF | SOffset32 | 0xFFFFD3E4 (-11292) Loc: +0x3604 | offset to vtable + +0x09E8 | 2C D0 FF FF | SOffset32 | 0xFFFFD02C (-12244) Loc: +0x39BC | offset to vtable +0x09EC | 00 00 00 | uint8_t[3] | ... | padding +0x09EF | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) +0x09F0 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) @@ -1199,13 +1199,13 @@ table (reflection.Enum): +0x0B68 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x0B90 | offset to field `values` (vector) +0x0B6C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x0B7C | offset to field `underlying_type` (table) +0x0B70 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0B78 | offset to field `documentation` (vector) - +0x0B74 | A0 2D 00 00 | UOffset32 | 0x00002DA0 (11680) Loc: +0x3914 | offset to field `declaration_file` (string) + +0x0B74 | 58 31 00 00 | UOffset32 | 0x00003158 (12632) Loc: +0x3CCC | offset to field `declaration_file` (string) vector (reflection.Enum.documentation): +0x0B78 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0B7C | 78 D5 FF FF | SOffset32 | 0xFFFFD578 (-10888) Loc: +0x3604 | offset to vtable + +0x0B7C | C0 D1 FF FF | SOffset32 | 0xFFFFD1C0 (-11840) Loc: +0x39BC | offset to vtable +0x0B80 | 00 00 00 | uint8_t[3] | ... | padding +0x0B83 | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) +0x0B84 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) @@ -1265,12 +1265,12 @@ string (reflection.EnumVal.name): +0x0C0A | 00 | char | 0x00 (0) | string terminator table (reflection.Object): - +0x0C0C | E4 D3 FF FF | SOffset32 | 0xFFFFD3E4 (-11292) Loc: +0x3828 | offset to vtable + +0x0C0C | 2C D0 FF FF | SOffset32 | 0xFFFFD02C (-12244) Loc: +0x3BE0 | offset to vtable +0x0C10 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x0C5C | offset to field `name` (string) +0x0C14 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x0C28 | offset to field `fields` (vector) +0x0C18 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) +0x0C1C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0C24 | offset to field `documentation` (vector) - +0x0C20 | 40 2B 00 00 | UOffset32 | 0x00002B40 (11072) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x0C20 | F8 2E 00 00 | UOffset32 | 0x00002EF8 (12024) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): +0x0C24 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) @@ -1299,7 +1299,7 @@ string (reflection.Object.name): +0x0C7A | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0C7C | 00 DB FF FF | SOffset32 | 0xFFFFDB00 (-9472) Loc: +0x317C | offset to vtable + +0x0C7C | 48 D7 FF FF | SOffset32 | 0xFFFFD748 (-10424) Loc: +0x3534 | offset to vtable +0x0C80 | 00 00 00 | uint8_t[3] | ... | padding +0x0C83 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) +0x0C84 | 0B 00 | uint16_t | 0x000B (11) | table field `id` (UShort) @@ -1312,7 +1312,7 @@ vector (reflection.Field.documentation): +0x0C94 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0C98 | 14 E1 FF FF | SOffset32 | 0xFFFFE114 (-7916) Loc: +0x2B84 | offset to vtable + +0x0C98 | 5C DD FF FF | SOffset32 | 0xFFFFDD5C (-8868) Loc: +0x2F3C | offset to vtable +0x0C9C | 00 00 | uint8_t[2] | .. | padding +0x0C9E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) +0x0C9F | 0C | uint8_t | 0x0C (12) | table field `element` (Byte) @@ -1327,7 +1327,7 @@ padding: +0x0CAD | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x0CB0 | 34 DB FF FF | SOffset32 | 0xFFFFDB34 (-9420) Loc: +0x317C | offset to vtable + +0x0CB0 | 7C D7 FF FF | SOffset32 | 0xFFFFD77C (-10372) Loc: +0x3534 | offset to vtable +0x0CB4 | 00 00 00 | uint8_t[3] | ... | padding +0x0CB7 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) +0x0CB8 | 0A 00 | uint16_t | 0x000A (10) | table field `id` (UShort) @@ -1340,7 +1340,7 @@ vector (reflection.Field.documentation): +0x0CC8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0CCC | 48 E1 FF FF | SOffset32 | 0xFFFFE148 (-7864) Loc: +0x2B84 | offset to vtable + +0x0CCC | 90 DD FF FF | SOffset32 | 0xFFFFDD90 (-8816) Loc: +0x2F3C | offset to vtable +0x0CD0 | 00 00 | uint8_t[2] | .. | padding +0x0CD2 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) +0x0CD3 | 03 | uint8_t | 0x03 (3) | table field `element` (Byte) @@ -1352,7 +1352,7 @@ string (reflection.Field.name): +0x0CDE | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0CE0 | 4A D8 FF FF | SOffset32 | 0xFFFFD84A (-10166) Loc: +0x3496 | offset to vtable + +0x0CE0 | 92 D4 FF FF | SOffset32 | 0xFFFFD492 (-11118) Loc: +0x384E | offset to vtable +0x0CE4 | 09 00 | uint16_t | 0x0009 (9) | table field `id` (UShort) +0x0CE6 | 16 00 | uint16_t | 0x0016 (22) | table field `offset` (UShort) +0x0CE8 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x0D08 | offset to field `name` (string) @@ -1363,7 +1363,7 @@ vector (reflection.Field.documentation): +0x0CF4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0CF8 | 14 D6 FF FF | SOffset32 | 0xFFFFD614 (-10732) Loc: +0x36E4 | offset to vtable + +0x0CF8 | 5C D2 FF FF | SOffset32 | 0xFFFFD25C (-11684) Loc: +0x3A9C | offset to vtable +0x0CFC | 00 00 00 | uint8_t[3] | ... | padding +0x0CFF | 0C | uint8_t | 0x0C (12) | table field `base_type` (Byte) +0x0D00 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) @@ -1375,7 +1375,7 @@ string (reflection.Field.name): +0x0D0F | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0D10 | 7A D8 FF FF | SOffset32 | 0xFFFFD87A (-10118) Loc: +0x3496 | offset to vtable + +0x0D10 | C2 D4 FF FF | SOffset32 | 0xFFFFD4C2 (-11070) Loc: +0x384E | offset to vtable +0x0D14 | 08 00 | uint16_t | 0x0008 (8) | table field `id` (UShort) +0x0D16 | 14 00 | uint16_t | 0x0014 (20) | table field `offset` (UShort) +0x0D18 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x0D34 | offset to field `name` (string) @@ -1386,7 +1386,7 @@ vector (reflection.Field.documentation): +0x0D24 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0D28 | 8C D3 FF FF | SOffset32 | 0xFFFFD38C (-11380) Loc: +0x399C | offset to vtable + +0x0D28 | D4 CF FF FF | SOffset32 | 0xFFFFCFD4 (-12332) Loc: +0x3D54 | offset to vtable +0x0D2C | 00 00 00 | uint8_t[3] | ... | padding +0x0D2F | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) +0x0D30 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) @@ -1397,7 +1397,7 @@ string (reflection.Field.name): +0x0D3B | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0D3C | A6 D8 FF FF | SOffset32 | 0xFFFFD8A6 (-10074) Loc: +0x3496 | offset to vtable + +0x0D3C | EE D4 FF FF | SOffset32 | 0xFFFFD4EE (-11026) Loc: +0x384E | offset to vtable +0x0D40 | 07 00 | uint16_t | 0x0007 (7) | table field `id` (UShort) +0x0D42 | 12 00 | uint16_t | 0x0012 (18) | table field `offset` (UShort) +0x0D44 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x0D64 | offset to field `name` (string) @@ -1408,7 +1408,7 @@ vector (reflection.Field.documentation): +0x0D50 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0D54 | 70 D6 FF FF | SOffset32 | 0xFFFFD670 (-10640) Loc: +0x36E4 | offset to vtable + +0x0D54 | B8 D2 FF FF | SOffset32 | 0xFFFFD2B8 (-11592) Loc: +0x3A9C | offset to vtable +0x0D58 | 00 00 00 | uint8_t[3] | ... | padding +0x0D5B | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) +0x0D5C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) @@ -1420,7 +1420,7 @@ string (reflection.Field.name): +0x0D6B | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0D6C | D6 D8 FF FF | SOffset32 | 0xFFFFD8D6 (-10026) Loc: +0x3496 | offset to vtable + +0x0D6C | 1E D5 FF FF | SOffset32 | 0xFFFFD51E (-10978) Loc: +0x384E | offset to vtable +0x0D70 | 06 00 | uint16_t | 0x0006 (6) | table field `id` (UShort) +0x0D72 | 10 00 | uint16_t | 0x0010 (16) | table field `offset` (UShort) +0x0D74 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x0D94 | offset to field `name` (string) @@ -1431,7 +1431,7 @@ vector (reflection.Field.documentation): +0x0D80 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0D84 | A0 D6 FF FF | SOffset32 | 0xFFFFD6A0 (-10592) Loc: +0x36E4 | offset to vtable + +0x0D84 | E8 D2 FF FF | SOffset32 | 0xFFFFD2E8 (-11544) Loc: +0x3A9C | offset to vtable +0x0D88 | 00 00 00 | uint8_t[3] | ... | padding +0x0D8B | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) +0x0D8C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) @@ -1443,7 +1443,7 @@ string (reflection.Field.name): +0x0D9B | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0D9C | 06 D9 FF FF | SOffset32 | 0xFFFFD906 (-9978) Loc: +0x3496 | offset to vtable + +0x0D9C | 4E D5 FF FF | SOffset32 | 0xFFFFD54E (-10930) Loc: +0x384E | offset to vtable +0x0DA0 | 05 00 | uint16_t | 0x0005 (5) | table field `id` (UShort) +0x0DA2 | 0E 00 | uint16_t | 0x000E (14) | table field `offset` (UShort) +0x0DA4 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x0DC0 | offset to field `name` (string) @@ -1454,7 +1454,7 @@ vector (reflection.Field.documentation): +0x0DB0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0DB4 | 18 D4 FF FF | SOffset32 | 0xFFFFD418 (-11240) Loc: +0x399C | offset to vtable + +0x0DB4 | 60 D0 FF FF | SOffset32 | 0xFFFFD060 (-12192) Loc: +0x3D54 | offset to vtable +0x0DB8 | 00 00 00 | uint8_t[3] | ... | padding +0x0DBB | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) +0x0DBC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) @@ -1465,7 +1465,7 @@ string (reflection.Field.name): +0x0DC7 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0DC8 | 32 D9 FF FF | SOffset32 | 0xFFFFD932 (-9934) Loc: +0x3496 | offset to vtable + +0x0DC8 | 7A D5 FF FF | SOffset32 | 0xFFFFD57A (-10886) Loc: +0x384E | offset to vtable +0x0DCC | 04 00 | uint16_t | 0x0004 (4) | table field `id` (UShort) +0x0DCE | 0C 00 | uint16_t | 0x000C (12) | table field `offset` (UShort) +0x0DD0 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x0DEC | offset to field `name` (string) @@ -1476,7 +1476,7 @@ vector (reflection.Field.documentation): +0x0DDC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0DE0 | 44 D4 FF FF | SOffset32 | 0xFFFFD444 (-11196) Loc: +0x399C | offset to vtable + +0x0DE0 | 8C D0 FF FF | SOffset32 | 0xFFFFD08C (-12148) Loc: +0x3D54 | offset to vtable +0x0DE4 | 00 00 00 | uint8_t[3] | ... | padding +0x0DE7 | 07 | uint8_t | 0x07 (7) | table field `base_type` (Byte) +0x0DE8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) @@ -1487,7 +1487,7 @@ string (reflection.Field.name): +0x0DF3 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0DF4 | 5E D9 FF FF | SOffset32 | 0xFFFFD95E (-9890) Loc: +0x3496 | offset to vtable + +0x0DF4 | A6 D5 FF FF | SOffset32 | 0xFFFFD5A6 (-10842) Loc: +0x384E | offset to vtable +0x0DF8 | 03 00 | uint16_t | 0x0003 (3) | table field `id` (UShort) +0x0DFA | 0A 00 | uint16_t | 0x000A (10) | table field `offset` (UShort) +0x0DFC | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x0E1C | offset to field `name` (string) @@ -1498,7 +1498,7 @@ vector (reflection.Field.documentation): +0x0E08 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0E0C | 28 D7 FF FF | SOffset32 | 0xFFFFD728 (-10456) Loc: +0x36E4 | offset to vtable + +0x0E0C | 70 D3 FF FF | SOffset32 | 0xFFFFD370 (-11408) Loc: +0x3A9C | offset to vtable +0x0E10 | 00 00 00 | uint8_t[3] | ... | padding +0x0E13 | 06 | uint8_t | 0x06 (6) | table field `base_type` (Byte) +0x0E14 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) @@ -1510,7 +1510,7 @@ string (reflection.Field.name): +0x0E23 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0E24 | 8E D9 FF FF | SOffset32 | 0xFFFFD98E (-9842) Loc: +0x3496 | offset to vtable + +0x0E24 | D6 D5 FF FF | SOffset32 | 0xFFFFD5D6 (-10794) Loc: +0x384E | offset to vtable +0x0E28 | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) +0x0E2A | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) +0x0E2C | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x0E4C | offset to field `name` (string) @@ -1521,7 +1521,7 @@ vector (reflection.Field.documentation): +0x0E38 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0E3C | 58 D7 FF FF | SOffset32 | 0xFFFFD758 (-10408) Loc: +0x36E4 | offset to vtable + +0x0E3C | A0 D3 FF FF | SOffset32 | 0xFFFFD3A0 (-11360) Loc: +0x3A9C | offset to vtable +0x0E40 | 00 00 00 | uint8_t[3] | ... | padding +0x0E43 | 05 | uint8_t | 0x05 (5) | table field `base_type` (Byte) +0x0E44 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) @@ -1533,7 +1533,7 @@ string (reflection.Field.name): +0x0E53 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x0E54 | BE D9 FF FF | SOffset32 | 0xFFFFD9BE (-9794) Loc: +0x3496 | offset to vtable + +0x0E54 | 06 D6 FF FF | SOffset32 | 0xFFFFD606 (-10746) Loc: +0x384E | offset to vtable +0x0E58 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) +0x0E5A | 06 00 | uint16_t | 0x0006 (6) | table field `offset` (UShort) +0x0E5C | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x0E7C | offset to field `name` (string) @@ -1544,7 +1544,7 @@ vector (reflection.Field.documentation): +0x0E68 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0E6C | 88 D7 FF FF | SOffset32 | 0xFFFFD788 (-10360) Loc: +0x36E4 | offset to vtable + +0x0E6C | D0 D3 FF FF | SOffset32 | 0xFFFFD3D0 (-11312) Loc: +0x3A9C | offset to vtable +0x0E70 | 00 00 00 | uint8_t[3] | ... | padding +0x0E73 | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) +0x0E74 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) @@ -1585,7 +1585,7 @@ vector (reflection.Field.documentation): +0x0EB4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x0EB8 | D4 D7 FF FF | SOffset32 | 0xFFFFD7D4 (-10284) Loc: +0x36E4 | offset to vtable + +0x0EB8 | 1C D4 FF FF | SOffset32 | 0xFFFFD41C (-11236) Loc: +0x3A9C | offset to vtable +0x0EBC | 00 00 00 | uint8_t[3] | ... | padding +0x0EBF | 03 | uint8_t | 0x03 (3) | table field `base_type` (Byte) +0x0EC0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) @@ -1597,12 +1597,12 @@ string (reflection.Field.name): +0x0ECE | 00 | char | 0x00 (0) | string terminator table (reflection.Object): - +0x0ED0 | A8 D6 FF FF | SOffset32 | 0xFFFFD6A8 (-10584) Loc: +0x3828 | offset to vtable - +0x0ED4 | 30 01 00 00 | UOffset32 | 0x00000130 (304) Loc: +0x1004 | offset to field `name` (string) + +0x0ED0 | F0 D2 FF FF | SOffset32 | 0xFFFFD2F0 (-11536) Loc: +0x3BE0 | offset to vtable + +0x0ED4 | 50 01 00 00 | UOffset32 | 0x00000150 (336) Loc: +0x1024 | offset to field `name` (string) +0x0ED8 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x0F28 | offset to field `fields` (vector) +0x0EDC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) +0x0EE0 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x0EE8 | offset to field `documentation` (vector) - +0x0EE4 | 7C 28 00 00 | UOffset32 | 0x0000287C (10364) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x0EE4 | 34 2C 00 00 | UOffset32 | 0x00002C34 (11316) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): +0x0EE8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) @@ -1620,5028 +1620,5428 @@ string (reflection.Object.documentation): +0x0F27 | 00 | char | 0x00 (0) | string terminator vector (reflection.Object.fields): - +0x0F28 | 36 00 00 00 | uint32_t | 0x00000036 (54) | length of vector (# items) - +0x0F2C | 80 04 00 00 | UOffset32 | 0x00000480 (1152) Loc: +0x13AC | offset to table[0] - +0x0F30 | E4 04 00 00 | UOffset32 | 0x000004E4 (1252) Loc: +0x1414 | offset to table[1] - +0x0F34 | 4C 05 00 00 | UOffset32 | 0x0000054C (1356) Loc: +0x1480 | offset to table[2] - +0x0F38 | AC 05 00 00 | UOffset32 | 0x000005AC (1452) Loc: +0x14E4 | offset to table[3] - +0x0F3C | A8 09 00 00 | UOffset32 | 0x000009A8 (2472) Loc: +0x18E4 | offset to table[4] - +0x0F40 | 78 1B 00 00 | UOffset32 | 0x00001B78 (7032) Loc: +0x2AB8 | offset to table[5] - +0x0F44 | 88 18 00 00 | UOffset32 | 0x00001888 (6280) Loc: +0x27CC | offset to table[6] - +0x0F48 | 44 0F 00 00 | UOffset32 | 0x00000F44 (3908) Loc: +0x1E8C | offset to table[7] - +0x0F4C | 7C 1C 00 00 | UOffset32 | 0x00001C7C (7292) Loc: +0x2BC8 | offset to table[8] - +0x0F50 | C0 1D 00 00 | UOffset32 | 0x00001DC0 (7616) Loc: +0x2D10 | offset to table[9] - +0x0F54 | EC 1B 00 00 | UOffset32 | 0x00001BEC (7148) Loc: +0x2B40 | offset to table[10] - +0x0F58 | 44 01 00 00 | UOffset32 | 0x00000144 (324) Loc: +0x109C | offset to table[11] - +0x0F5C | C4 00 00 00 | UOffset32 | 0x000000C4 (196) Loc: +0x1020 | offset to table[12] - +0x0F60 | 30 1E 00 00 | UOffset32 | 0x00001E30 (7728) Loc: +0x2D90 | offset to table[13] - +0x0F64 | 30 1D 00 00 | UOffset32 | 0x00001D30 (7472) Loc: +0x2C94 | offset to table[14] - +0x0F68 | A8 01 00 00 | UOffset32 | 0x000001A8 (424) Loc: +0x1110 | offset to table[15] - +0x0F6C | 10 07 00 00 | UOffset32 | 0x00000710 (1808) Loc: +0x167C | offset to table[16] - +0x0F70 | 80 0D 00 00 | UOffset32 | 0x00000D80 (3456) Loc: +0x1CF0 | offset to table[17] - +0x0F74 | A0 1E 00 00 | UOffset32 | 0x00001EA0 (7840) Loc: +0x2E14 | offset to table[18] - +0x0F78 | 2C 02 00 00 | UOffset32 | 0x0000022C (556) Loc: +0x11A4 | offset to table[19] - +0x0F7C | 5C 03 00 00 | UOffset32 | 0x0000035C (860) Loc: +0x12D8 | offset to table[20] - +0x0F80 | 08 0C 00 00 | UOffset32 | 0x00000C08 (3080) Loc: +0x1B88 | offset to table[21] - +0x0F84 | 58 1A 00 00 | UOffset32 | 0x00001A58 (6744) Loc: +0x29DC | offset to table[22] - +0x0F88 | E4 19 00 00 | UOffset32 | 0x000019E4 (6628) Loc: +0x296C | offset to table[23] - +0x0F8C | A0 0E 00 00 | UOffset32 | 0x00000EA0 (3744) Loc: +0x1E2C | offset to table[24] - +0x0F90 | C4 1A 00 00 | UOffset32 | 0x00001AC4 (6852) Loc: +0x2A54 | offset to table[25] - +0x0F94 | 90 11 00 00 | UOffset32 | 0x00001190 (4496) Loc: +0x2124 | offset to table[26] - +0x0F98 | 78 0F 00 00 | UOffset32 | 0x00000F78 (3960) Loc: +0x1F10 | offset to table[27] - +0x0F9C | 68 19 00 00 | UOffset32 | 0x00001968 (6504) Loc: +0x2904 | offset to table[28] - +0x0FA0 | E0 0F 00 00 | UOffset32 | 0x00000FE0 (4064) Loc: +0x1F80 | offset to table[29] - +0x0FA4 | 88 18 00 00 | UOffset32 | 0x00001888 (6280) Loc: +0x282C | offset to table[30] - +0x0FA8 | C0 16 00 00 | UOffset32 | 0x000016C0 (5824) Loc: +0x2668 | offset to table[31] - +0x0FAC | 1C 17 00 00 | UOffset32 | 0x0000171C (5916) Loc: +0x26C8 | offset to table[32] - +0x0FB0 | 10 11 00 00 | UOffset32 | 0x00001110 (4368) Loc: +0x20C0 | offset to table[33] - +0x0FB4 | 8C 10 00 00 | UOffset32 | 0x0000108C (4236) Loc: +0x2040 | offset to table[34] - +0x0FB8 | 30 10 00 00 | UOffset32 | 0x00001030 (4144) Loc: +0x1FE8 | offset to table[35] - +0x0FBC | 20 16 00 00 | UOffset32 | 0x00001620 (5664) Loc: +0x25DC | offset to table[36] - +0x0FC0 | E0 13 00 00 | UOffset32 | 0x000013E0 (5088) Loc: +0x23A0 | offset to table[37] - +0x0FC4 | FC 14 00 00 | UOffset32 | 0x000014FC (5372) Loc: +0x24C0 | offset to table[38] - +0x0FC8 | 58 12 00 00 | UOffset32 | 0x00001258 (4696) Loc: +0x2220 | offset to table[39] - +0x0FCC | 84 15 00 00 | UOffset32 | 0x00001584 (5508) Loc: +0x2550 | offset to table[40] - +0x0FD0 | E4 12 00 00 | UOffset32 | 0x000012E4 (4836) Loc: +0x22B4 | offset to table[41] - +0x0FD4 | 5C 14 00 00 | UOffset32 | 0x0000145C (5212) Loc: +0x2430 | offset to table[42] - +0x0FD8 | B4 11 00 00 | UOffset32 | 0x000011B4 (4532) Loc: +0x218C | offset to table[43] - +0x0FDC | 50 17 00 00 | UOffset32 | 0x00001750 (5968) Loc: +0x272C | offset to table[44] - +0x0FE0 | 38 02 00 00 | UOffset32 | 0x00000238 (568) Loc: +0x1218 | offset to table[45] - +0x0FE4 | C0 07 00 00 | UOffset32 | 0x000007C0 (1984) Loc: +0x17A4 | offset to table[46] - +0x0FE8 | 78 0D 00 00 | UOffset32 | 0x00000D78 (3448) Loc: +0x1D60 | offset to table[47] - +0x0FEC | 58 03 00 00 | UOffset32 | 0x00000358 (856) Loc: +0x1344 | offset to table[48] - +0x0FF0 | D8 0D 00 00 | UOffset32 | 0x00000DD8 (3544) Loc: +0x1DC8 | offset to table[49] - +0x0FF4 | 58 05 00 00 | UOffset32 | 0x00000558 (1368) Loc: +0x154C | offset to table[50] - +0x0FF8 | 88 0C 00 00 | UOffset32 | 0x00000C88 (3208) Loc: +0x1C80 | offset to table[51] - +0x0FFC | DC 09 00 00 | UOffset32 | 0x000009DC (2524) Loc: +0x19D8 | offset to table[52] - +0x1000 | 8C 0A 00 00 | UOffset32 | 0x00000A8C (2700) Loc: +0x1A8C | offset to table[53] + +0x0F28 | 3E 00 00 00 | uint32_t | 0x0000003E (62) | length of vector (# items) + +0x0F2C | 38 08 00 00 | UOffset32 | 0x00000838 (2104) Loc: +0x1764 | offset to table[0] + +0x0F30 | 9C 08 00 00 | UOffset32 | 0x0000089C (2204) Loc: +0x17CC | offset to table[1] + +0x0F34 | 04 09 00 00 | UOffset32 | 0x00000904 (2308) Loc: +0x1838 | offset to table[2] + +0x0F38 | 64 09 00 00 | UOffset32 | 0x00000964 (2404) Loc: +0x189C | offset to table[3] + +0x0F3C | 60 0D 00 00 | UOffset32 | 0x00000D60 (3424) Loc: +0x1C9C | offset to table[4] + +0x0F40 | 30 1F 00 00 | UOffset32 | 0x00001F30 (7984) Loc: +0x2E70 | offset to table[5] + +0x0F44 | FC 00 00 00 | UOffset32 | 0x000000FC (252) Loc: +0x1040 | offset to table[6] + +0x0F48 | 3C 1C 00 00 | UOffset32 | 0x00001C3C (7228) Loc: +0x2B84 | offset to table[7] + +0x0F4C | F8 12 00 00 | UOffset32 | 0x000012F8 (4856) Loc: +0x2244 | offset to table[8] + +0x0F50 | 30 20 00 00 | UOffset32 | 0x00002030 (8240) Loc: +0x2F80 | offset to table[9] + +0x0F54 | 74 21 00 00 | UOffset32 | 0x00002174 (8564) Loc: +0x30C8 | offset to table[10] + +0x0F58 | B0 03 00 00 | UOffset32 | 0x000003B0 (944) Loc: +0x1308 | offset to table[11] + +0x0F5C | B4 02 00 00 | UOffset32 | 0x000002B4 (692) Loc: +0x1210 | offset to table[12] + +0x0F60 | 98 1F 00 00 | UOffset32 | 0x00001F98 (8088) Loc: +0x2EF8 | offset to table[13] + +0x0F64 | F0 04 00 00 | UOffset32 | 0x000004F0 (1264) Loc: +0x1454 | offset to table[14] + +0x0F68 | 70 04 00 00 | UOffset32 | 0x00000470 (1136) Loc: +0x13D8 | offset to table[15] + +0x0F6C | DC 21 00 00 | UOffset32 | 0x000021DC (8668) Loc: +0x3148 | offset to table[16] + +0x0F70 | DC 20 00 00 | UOffset32 | 0x000020DC (8412) Loc: +0x304C | offset to table[17] + +0x0F74 | FC 03 00 00 | UOffset32 | 0x000003FC (1020) Loc: +0x1370 | offset to table[18] + +0x0F78 | 50 05 00 00 | UOffset32 | 0x00000550 (1360) Loc: +0x14C8 | offset to table[19] + +0x0F7C | AC 01 00 00 | UOffset32 | 0x000001AC (428) Loc: +0x1128 | offset to table[20] + +0x0F80 | 30 01 00 00 | UOffset32 | 0x00000130 (304) Loc: +0x10B0 | offset to table[21] + +0x0F84 | B0 0A 00 00 | UOffset32 | 0x00000AB0 (2736) Loc: +0x1A34 | offset to table[22] + +0x0F88 | 20 11 00 00 | UOffset32 | 0x00001120 (4384) Loc: +0x20A8 | offset to table[23] + +0x0F8C | 40 22 00 00 | UOffset32 | 0x00002240 (8768) Loc: +0x31CC | offset to table[24] + +0x0F90 | 08 03 00 00 | UOffset32 | 0x00000308 (776) Loc: +0x1298 | offset to table[25] + +0x0F94 | 04 02 00 00 | UOffset32 | 0x00000204 (516) Loc: +0x1198 | offset to table[26] + +0x0F98 | C4 05 00 00 | UOffset32 | 0x000005C4 (1476) Loc: +0x155C | offset to table[27] + +0x0F9C | F4 06 00 00 | UOffset32 | 0x000006F4 (1780) Loc: +0x1690 | offset to table[28] + +0x0FA0 | A0 0F 00 00 | UOffset32 | 0x00000FA0 (4000) Loc: +0x1F40 | offset to table[29] + +0x0FA4 | F0 1D 00 00 | UOffset32 | 0x00001DF0 (7664) Loc: +0x2D94 | offset to table[30] + +0x0FA8 | 7C 1D 00 00 | UOffset32 | 0x00001D7C (7548) Loc: +0x2D24 | offset to table[31] + +0x0FAC | 38 12 00 00 | UOffset32 | 0x00001238 (4664) Loc: +0x21E4 | offset to table[32] + +0x0FB0 | 5C 1E 00 00 | UOffset32 | 0x00001E5C (7772) Loc: +0x2E0C | offset to table[33] + +0x0FB4 | 28 15 00 00 | UOffset32 | 0x00001528 (5416) Loc: +0x24DC | offset to table[34] + +0x0FB8 | 10 13 00 00 | UOffset32 | 0x00001310 (4880) Loc: +0x22C8 | offset to table[35] + +0x0FBC | 00 1D 00 00 | UOffset32 | 0x00001D00 (7424) Loc: +0x2CBC | offset to table[36] + +0x0FC0 | 78 13 00 00 | UOffset32 | 0x00001378 (4984) Loc: +0x2338 | offset to table[37] + +0x0FC4 | 20 1C 00 00 | UOffset32 | 0x00001C20 (7200) Loc: +0x2BE4 | offset to table[38] + +0x0FC8 | 58 1A 00 00 | UOffset32 | 0x00001A58 (6744) Loc: +0x2A20 | offset to table[39] + +0x0FCC | B4 1A 00 00 | UOffset32 | 0x00001AB4 (6836) Loc: +0x2A80 | offset to table[40] + +0x0FD0 | A8 14 00 00 | UOffset32 | 0x000014A8 (5288) Loc: +0x2478 | offset to table[41] + +0x0FD4 | 24 14 00 00 | UOffset32 | 0x00001424 (5156) Loc: +0x23F8 | offset to table[42] + +0x0FD8 | C8 13 00 00 | UOffset32 | 0x000013C8 (5064) Loc: +0x23A0 | offset to table[43] + +0x0FDC | B8 19 00 00 | UOffset32 | 0x000019B8 (6584) Loc: +0x2994 | offset to table[44] + +0x0FE0 | 78 17 00 00 | UOffset32 | 0x00001778 (6008) Loc: +0x2758 | offset to table[45] + +0x0FE4 | 94 18 00 00 | UOffset32 | 0x00001894 (6292) Loc: +0x2878 | offset to table[46] + +0x0FE8 | F0 15 00 00 | UOffset32 | 0x000015F0 (5616) Loc: +0x25D8 | offset to table[47] + +0x0FEC | 1C 19 00 00 | UOffset32 | 0x0000191C (6428) Loc: +0x2908 | offset to table[48] + +0x0FF0 | 7C 16 00 00 | UOffset32 | 0x0000167C (5756) Loc: +0x266C | offset to table[49] + +0x0FF4 | F4 17 00 00 | UOffset32 | 0x000017F4 (6132) Loc: +0x27E8 | offset to table[50] + +0x0FF8 | 4C 15 00 00 | UOffset32 | 0x0000154C (5452) Loc: +0x2544 | offset to table[51] + +0x0FFC | E8 1A 00 00 | UOffset32 | 0x00001AE8 (6888) Loc: +0x2AE4 | offset to table[52] + +0x1000 | D0 05 00 00 | UOffset32 | 0x000005D0 (1488) Loc: +0x15D0 | offset to table[53] + +0x1004 | 58 0B 00 00 | UOffset32 | 0x00000B58 (2904) Loc: +0x1B5C | offset to table[54] + +0x1008 | 10 11 00 00 | UOffset32 | 0x00001110 (4368) Loc: +0x2118 | offset to table[55] + +0x100C | F0 06 00 00 | UOffset32 | 0x000006F0 (1776) Loc: +0x16FC | offset to table[56] + +0x1010 | 70 11 00 00 | UOffset32 | 0x00001170 (4464) Loc: +0x2180 | offset to table[57] + +0x1014 | F0 08 00 00 | UOffset32 | 0x000008F0 (2288) Loc: +0x1904 | offset to table[58] + +0x1018 | 20 10 00 00 | UOffset32 | 0x00001020 (4128) Loc: +0x2038 | offset to table[59] + +0x101C | 74 0D 00 00 | UOffset32 | 0x00000D74 (3444) Loc: +0x1D90 | offset to table[60] + +0x1020 | 24 0E 00 00 | UOffset32 | 0x00000E24 (3620) Loc: +0x1E44 | offset to table[61] string (reflection.Object.name): - +0x1004 | 16 00 00 00 | uint32_t | 0x00000016 (22) | length of string - +0x1008 | 4D 79 47 61 6D 65 2E 45 | char[22] | MyGame.E | string literal - +0x1010 | 78 61 6D 70 6C 65 2E 4D | | xample.M - +0x1018 | 6F 6E 73 74 65 72 | | onster - +0x101E | 00 | char | 0x00 (0) | string terminator + +0x1024 | 16 00 00 00 | uint32_t | 0x00000016 (22) | length of string + +0x1028 | 4D 79 47 61 6D 65 2E 45 | char[22] | MyGame.E | string literal + +0x1030 | 78 61 6D 70 6C 65 2E 4D | | xample.M + +0x1038 | 6F 6E 73 74 65 72 | | onster + +0x103E | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x1020 | 62 FD FF FF | SOffset32 | 0xFFFFFD62 (-670) Loc: +0x12BE | offset to vtable - +0x1024 | 35 00 | uint16_t | 0x0035 (53) | table field `id` (UShort) - +0x1026 | 6E 00 | uint16_t | 0x006E (110) | table field `offset` (UShort) - +0x1028 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x107C | offset to field `name` (string) - +0x102C | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x1068 | offset to field `type` (table) - +0x1030 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1044 | offset to field `attributes` (vector) - +0x1034 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1040 | offset to field `documentation` (vector) - +0x1038 | 02 00 00 00 00 00 00 00 | int64_t | 0x0000000000000002 (2) | table field `default_integer` (Long) + +0x1040 | C2 FD FF FF | SOffset32 | 0xFFFFFDC2 (-574) Loc: +0x127E | offset to vtable + +0x1044 | 3D 00 | uint16_t | 0x003D (61) | table field `id` (UShort) + +0x1046 | 7E 00 | uint16_t | 0x007E (126) | table field `offset` (UShort) + +0x1048 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1098 | offset to field `name` (string) + +0x104C | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x1088 | offset to field `type` (table) + +0x1050 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1064 | offset to field `attributes` (vector) + +0x1054 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1060 | offset to field `documentation` (vector) + +0x1058 | 00 00 00 00 00 00 F0 7F | double | 0x7FF0000000000000 (inf) | table field `default_real` (Double) vector (reflection.Field.documentation): - +0x1040 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1060 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1044 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1048 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x104C | offset to table[0] + +0x1064 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1068 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x106C | offset to table[0] table (reflection.KeyValue): - +0x104C | E8 DA FF FF | SOffset32 | 0xFFFFDAE8 (-9496) Loc: +0x3564 | offset to vtable - +0x1050 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1060 | offset to field `key` (string) - +0x1054 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1058 | offset to field `value` (string) + +0x106C | 50 D7 FF FF | SOffset32 | 0xFFFFD750 (-10416) Loc: +0x391C | offset to vtable + +0x1070 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1080 | offset to field `key` (string) + +0x1074 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1078 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1058 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x105C | 35 33 | char[2] | 53 | string literal - +0x105E | 00 | char | 0x00 (0) | string terminator + +0x1078 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x107C | 36 31 | char[2] | 61 | string literal + +0x107E | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1060 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1064 | 69 64 | char[2] | id | string literal - +0x1066 | 00 | char | 0x00 (0) | string terminator + +0x1080 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1084 | 69 64 | char[2] | id | string literal + +0x1086 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1068 | 64 DA FF FF | SOffset32 | 0xFFFFDA64 (-9628) Loc: +0x3604 | offset to vtable - +0x106C | 00 00 00 | uint8_t[3] | ... | padding - +0x106F | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x1070 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `index` (Int) - +0x1074 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x1078 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x1088 | EC D5 FF FF | SOffset32 | 0xFFFFD5EC (-10772) Loc: +0x3A9C | offset to vtable + +0x108C | 00 00 00 | uint8_t[3] | ... | padding + +0x108F | 0C | uint8_t | 0x0C (12) | table field `base_type` (Byte) + +0x1090 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x1094 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x107C | 18 00 00 00 | uint32_t | 0x00000018 (24) | length of string - +0x1080 | 6C 6F 6E 67 5F 65 6E 75 | char[24] | long_enu | string literal - +0x1088 | 6D 5F 6E 6F 72 6D 61 6C | | m_normal - +0x1090 | 5F 64 65 66 61 75 6C 74 | | _default - +0x1098 | 00 | char | 0x00 (0) | string terminator + +0x1098 | 12 00 00 00 | uint32_t | 0x00000012 (18) | length of string + +0x109C | 64 6F 75 62 6C 65 5F 69 | char[18] | double_i | string literal + +0x10A4 | 6E 66 5F 64 65 66 61 75 | | nf_defau + +0x10AC | 6C 74 | | lt + +0x10AE | 00 | char | 0x00 (0) | string terminator + +table (reflection.Field): + +0x10B0 | 52 EC FF FF | SOffset32 | 0xFFFFEC52 (-5038) Loc: +0x245E | offset to vtable + +0x10B4 | 3C 00 | uint16_t | 0x003C (60) | table field `id` (UShort) + +0x10B6 | 7C 00 | uint16_t | 0x007C (124) | table field `offset` (UShort) + +0x10B8 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1108 | offset to field `name` (string) + +0x10BC | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x10FC | offset to field `type` (table) + +0x10C0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x10D8 | offset to field `attributes` (vector) + +0x10C4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x10D4 | offset to field `documentation` (vector) + +0x10C8 | 00 00 00 00 00 00 F0 FF | double | 0xFFF0000000000000 (-inf) | table field `default_real` (Double) + +0x10D0 | 00 00 00 00 | uint8_t[4] | .... | padding + +vector (reflection.Field.documentation): + +0x10D4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x10D8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x10DC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x10E0 | offset to table[0] + +table (reflection.KeyValue): + +0x10E0 | C4 D7 FF FF | SOffset32 | 0xFFFFD7C4 (-10300) Loc: +0x391C | offset to vtable + +0x10E4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x10F4 | offset to field `key` (string) + +0x10E8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x10EC | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x10EC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x10F0 | 36 30 | char[2] | 60 | string literal + +0x10F2 | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x10F4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x10F8 | 69 64 | char[2] | id | string literal + +0x10FA | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x10FC | A8 D3 FF FF | SOffset32 | 0xFFFFD3A8 (-11352) Loc: +0x3D54 | offset to vtable + +0x1100 | 00 00 00 | uint8_t[3] | ... | padding + +0x1103 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x1104 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x1108 | 19 00 00 00 | uint32_t | 0x00000019 (25) | length of string + +0x110C | 6E 65 67 61 74 69 76 65 | char[25] | negative | string literal + +0x1114 | 5F 69 6E 66 69 6E 69 74 | | _infinit + +0x111C | 79 5F 64 65 66 61 75 6C | | y_defaul + +0x1124 | 74 | | t + +0x1125 | 00 | char | 0x00 (0) | string terminator + +padding: + +0x1126 | 00 00 | uint8_t[2] | .. | padding + +table (reflection.Field): + +0x1128 | AA FE FF FF | SOffset32 | 0xFFFFFEAA (-342) Loc: +0x127E | offset to vtable + +0x112C | 3B 00 | uint16_t | 0x003B (59) | table field `id` (UShort) + +0x112E | 7A 00 | uint16_t | 0x007A (122) | table field `offset` (UShort) + +0x1130 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x117C | offset to field `name` (string) + +0x1134 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x1170 | offset to field `type` (table) + +0x1138 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x114C | offset to field `attributes` (vector) + +0x113C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1148 | offset to field `documentation` (vector) + +0x1140 | 00 00 00 00 00 00 F0 FF | double | 0xFFF0000000000000 (-inf) | table field `default_real` (Double) + +vector (reflection.Field.documentation): + +0x1148 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x114C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1150 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1154 | offset to table[0] + +table (reflection.KeyValue): + +0x1154 | 38 D8 FF FF | SOffset32 | 0xFFFFD838 (-10184) Loc: +0x391C | offset to vtable + +0x1158 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1168 | offset to field `key` (string) + +0x115C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1160 | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x1160 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1164 | 35 39 | char[2] | 59 | string literal + +0x1166 | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x1168 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x116C | 69 64 | char[2] | id | string literal + +0x116E | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x1170 | 1C D4 FF FF | SOffset32 | 0xFFFFD41C (-11236) Loc: +0x3D54 | offset to vtable + +0x1174 | 00 00 00 | uint8_t[3] | ... | padding + +0x1177 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x1178 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x117C | 14 00 00 00 | uint32_t | 0x00000014 (20) | length of string + +0x1180 | 6E 65 67 61 74 69 76 65 | char[20] | negative | string literal + +0x1188 | 5F 69 6E 66 5F 64 65 66 | | _inf_def + +0x1190 | 61 75 6C 74 | | ault + +0x1194 | 00 | char | 0x00 (0) | string terminator + +padding: + +0x1195 | 00 00 00 | uint8_t[3] | ... | padding + +table (reflection.Field): + +0x1198 | 3A ED FF FF | SOffset32 | 0xFFFFED3A (-4806) Loc: +0x245E | offset to vtable + +0x119C | 3A 00 | uint16_t | 0x003A (58) | table field `id` (UShort) + +0x119E | 78 00 | uint16_t | 0x0078 (120) | table field `offset` (UShort) + +0x11A0 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x11F0 | offset to field `name` (string) + +0x11A4 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x11E4 | offset to field `type` (table) + +0x11A8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x11C0 | offset to field `attributes` (vector) + +0x11AC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x11BC | offset to field `documentation` (vector) + +0x11B0 | 00 00 00 00 00 00 F0 7F | double | 0x7FF0000000000000 (inf) | table field `default_real` (Double) + +0x11B8 | 00 00 00 00 | uint8_t[4] | .... | padding + +vector (reflection.Field.documentation): + +0x11BC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x11C0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x11C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x11C8 | offset to table[0] + +table (reflection.KeyValue): + +0x11C8 | AC D8 FF FF | SOffset32 | 0xFFFFD8AC (-10068) Loc: +0x391C | offset to vtable + +0x11CC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x11DC | offset to field `key` (string) + +0x11D0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x11D4 | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x11D4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x11D8 | 35 38 | char[2] | 58 | string literal + +0x11DA | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x11DC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x11E0 | 69 64 | char[2] | id | string literal + +0x11E2 | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x11E4 | 90 D4 FF FF | SOffset32 | 0xFFFFD490 (-11120) Loc: +0x3D54 | offset to vtable + +0x11E8 | 00 00 00 | uint8_t[3] | ... | padding + +0x11EB | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x11EC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x11F0 | 19 00 00 00 | uint32_t | 0x00000019 (25) | length of string + +0x11F4 | 70 6F 73 69 74 69 76 65 | char[25] | positive | string literal + +0x11FC | 5F 69 6E 66 69 6E 69 74 | | _infinit + +0x1204 | 79 5F 64 65 66 61 75 6C | | y_defaul + +0x120C | 74 | | t + +0x120D | 00 | char | 0x00 (0) | string terminator + +padding: + +0x120E | 00 00 | uint8_t[2] | .. | padding + +table (reflection.Field): + +0x1210 | B2 ED FF FF | SOffset32 | 0xFFFFEDB2 (-4686) Loc: +0x245E | offset to vtable + +0x1214 | 39 00 | uint16_t | 0x0039 (57) | table field `id` (UShort) + +0x1216 | 76 00 | uint16_t | 0x0076 (118) | table field `offset` (UShort) + +0x1218 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1268 | offset to field `name` (string) + +0x121C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x125C | offset to field `type` (table) + +0x1220 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1238 | offset to field `attributes` (vector) + +0x1224 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1234 | offset to field `documentation` (vector) + +0x1228 | 00 00 00 00 00 00 F0 7F | double | 0x7FF0000000000000 (inf) | table field `default_real` (Double) + +0x1230 | 00 00 00 00 | uint8_t[4] | .... | padding + +vector (reflection.Field.documentation): + +0x1234 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x1238 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x123C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1240 | offset to table[0] + +table (reflection.KeyValue): + +0x1240 | 24 D9 FF FF | SOffset32 | 0xFFFFD924 (-9948) Loc: +0x391C | offset to vtable + +0x1244 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1254 | offset to field `key` (string) + +0x1248 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x124C | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x124C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1250 | 35 37 | char[2] | 57 | string literal + +0x1252 | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x1254 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1258 | 69 64 | char[2] | id | string literal + +0x125A | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x125C | 08 D5 FF FF | SOffset32 | 0xFFFFD508 (-11000) Loc: +0x3D54 | offset to vtable + +0x1260 | 00 00 00 | uint8_t[3] | ... | padding + +0x1263 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x1264 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x1268 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x126C | 69 6E 66 69 6E 69 74 79 | char[16] | infinity | string literal + +0x1274 | 5F 64 65 66 61 75 6C 74 | | _default + +0x127C | 00 | char | 0x00 (0) | string terminator + +vtable (reflection.Field): + +0x127E | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x1280 | 20 00 | uint16_t | 0x0020 (32) | size of referring table + +0x1282 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x1284 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x1286 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) + +0x1288 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x128A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x128C | 18 00 | VOffset16 | 0x0018 (24) | offset to field `default_real` (id: 5) + +0x128E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x1290 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x1292 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x1294 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x1296 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +table (reflection.Field): + +0x1298 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x127E | offset to vtable + +0x129C | 38 00 | uint16_t | 0x0038 (56) | table field `id` (UShort) + +0x129E | 74 00 | uint16_t | 0x0074 (116) | table field `offset` (UShort) + +0x12A0 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x12EC | offset to field `name` (string) + +0x12A4 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x12E0 | offset to field `type` (table) + +0x12A8 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x12BC | offset to field `attributes` (vector) + +0x12AC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x12B8 | offset to field `documentation` (vector) + +0x12B0 | 00 00 00 00 00 00 F0 7F | double | 0x7FF0000000000000 (inf) | table field `default_real` (Double) + +vector (reflection.Field.documentation): + +0x12B8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x12BC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x12C0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x12C4 | offset to table[0] + +table (reflection.KeyValue): + +0x12C4 | A8 D9 FF FF | SOffset32 | 0xFFFFD9A8 (-9816) Loc: +0x391C | offset to vtable + +0x12C8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x12D8 | offset to field `key` (string) + +0x12CC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x12D0 | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x12D0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x12D4 | 35 36 | char[2] | 56 | string literal + +0x12D6 | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x12D8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x12DC | 69 64 | char[2] | id | string literal + +0x12DE | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x12E0 | 8C D5 FF FF | SOffset32 | 0xFFFFD58C (-10868) Loc: +0x3D54 | offset to vtable + +0x12E4 | 00 00 00 | uint8_t[3] | ... | padding + +0x12E7 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x12E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x12EC | 14 00 00 00 | uint32_t | 0x00000014 (20) | length of string + +0x12F0 | 70 6F 73 69 74 69 76 65 | char[20] | positive | string literal + +0x12F8 | 5F 69 6E 66 5F 64 65 66 | | _inf_def + +0x1300 | 61 75 6C 74 | | ault + +0x1304 | 00 | char | 0x00 (0) | string terminator + +padding: + +0x1305 | 00 00 00 | uint8_t[3] | ... | padding + +table (reflection.Field): + +0x1308 | AA EE FF FF | SOffset32 | 0xFFFFEEAA (-4438) Loc: +0x245E | offset to vtable + +0x130C | 37 00 | uint16_t | 0x0037 (55) | table field `id` (UShort) + +0x130E | 72 00 | uint16_t | 0x0072 (114) | table field `offset` (UShort) + +0x1310 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1360 | offset to field `name` (string) + +0x1314 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x1354 | offset to field `type` (table) + +0x1318 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1330 | offset to field `attributes` (vector) + +0x131C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x132C | offset to field `documentation` (vector) + +0x1320 | 00 00 00 00 00 00 F0 7F | double | 0x7FF0000000000000 (inf) | table field `default_real` (Double) + +0x1328 | 00 00 00 00 | uint8_t[4] | .... | padding + +vector (reflection.Field.documentation): + +0x132C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x1330 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1334 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1338 | offset to table[0] + +table (reflection.KeyValue): + +0x1338 | 1C DA FF FF | SOffset32 | 0xFFFFDA1C (-9700) Loc: +0x391C | offset to vtable + +0x133C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x134C | offset to field `key` (string) + +0x1340 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1344 | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x1344 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1348 | 35 35 | char[2] | 55 | string literal + +0x134A | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x134C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1350 | 69 64 | char[2] | id | string literal + +0x1352 | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x1354 | 00 D6 FF FF | SOffset32 | 0xFFFFD600 (-10752) Loc: +0x3D54 | offset to vtable + +0x1358 | 00 00 00 | uint8_t[3] | ... | padding + +0x135B | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x135C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x1360 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x1364 | 69 6E 66 5F 64 65 66 61 | char[11] | inf_defa | string literal + +0x136C | 75 6C 74 | | ult + +0x136F | 00 | char | 0x00 (0) | string terminator + +table (reflection.Field): + +0x1370 | 12 EF FF FF | SOffset32 | 0xFFFFEF12 (-4334) Loc: +0x245E | offset to vtable + +0x1374 | 36 00 | uint16_t | 0x0036 (54) | table field `id` (UShort) + +0x1376 | 70 00 | uint16_t | 0x0070 (112) | table field `offset` (UShort) + +0x1378 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x13C8 | offset to field `name` (string) + +0x137C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x13BC | offset to field `type` (table) + +0x1380 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1398 | offset to field `attributes` (vector) + +0x1384 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1394 | offset to field `documentation` (vector) + +0x1388 | 00 00 00 00 00 00 F8 7F | double | 0x7FF8000000000000 (nan) | table field `default_real` (Double) + +0x1390 | 00 00 00 00 | uint8_t[4] | .... | padding + +vector (reflection.Field.documentation): + +0x1394 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x1398 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x139C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x13A0 | offset to table[0] + +table (reflection.KeyValue): + +0x13A0 | 84 DA FF FF | SOffset32 | 0xFFFFDA84 (-9596) Loc: +0x391C | offset to vtable + +0x13A4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x13B4 | offset to field `key` (string) + +0x13A8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x13AC | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x13AC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x13B0 | 35 34 | char[2] | 54 | string literal + +0x13B2 | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x13B4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x13B8 | 69 64 | char[2] | id | string literal + +0x13BA | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x13BC | 68 D6 FF FF | SOffset32 | 0xFFFFD668 (-10648) Loc: +0x3D54 | offset to vtable + +0x13C0 | 00 00 00 | uint8_t[3] | ... | padding + +0x13C3 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x13C4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x13C8 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x13CC | 6E 61 6E 5F 64 65 66 61 | char[11] | nan_defa | string literal + +0x13D4 | 75 6C 74 | | ult + +0x13D7 | 00 | char | 0x00 (0) | string terminator + +table (reflection.Field): + +0x13D8 | 62 FD FF FF | SOffset32 | 0xFFFFFD62 (-670) Loc: +0x1676 | offset to vtable + +0x13DC | 35 00 | uint16_t | 0x0035 (53) | table field `id` (UShort) + +0x13DE | 6E 00 | uint16_t | 0x006E (110) | table field `offset` (UShort) + +0x13E0 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x1434 | offset to field `name` (string) + +0x13E4 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x1420 | offset to field `type` (table) + +0x13E8 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x13FC | offset to field `attributes` (vector) + +0x13EC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x13F8 | offset to field `documentation` (vector) + +0x13F0 | 02 00 00 00 00 00 00 00 | int64_t | 0x0000000000000002 (2) | table field `default_integer` (Long) + +vector (reflection.Field.documentation): + +0x13F8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +vector (reflection.Field.attributes): + +0x13FC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1400 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1404 | offset to table[0] + +table (reflection.KeyValue): + +0x1404 | E8 DA FF FF | SOffset32 | 0xFFFFDAE8 (-9496) Loc: +0x391C | offset to vtable + +0x1408 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1418 | offset to field `key` (string) + +0x140C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1410 | offset to field `value` (string) + +string (reflection.KeyValue.value): + +0x1410 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1414 | 35 33 | char[2] | 53 | string literal + +0x1416 | 00 | char | 0x00 (0) | string terminator + +string (reflection.KeyValue.key): + +0x1418 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x141C | 69 64 | char[2] | id | string literal + +0x141E | 00 | char | 0x00 (0) | string terminator + +table (reflection.Type): + +0x1420 | 64 DA FF FF | SOffset32 | 0xFFFFDA64 (-9628) Loc: +0x39BC | offset to vtable + +0x1424 | 00 00 00 | uint8_t[3] | ... | padding + +0x1427 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x1428 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `index` (Int) + +0x142C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x1430 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +string (reflection.Field.name): + +0x1434 | 18 00 00 00 | uint32_t | 0x00000018 (24) | length of string + +0x1438 | 6C 6F 6E 67 5F 65 6E 75 | char[24] | long_enu | string literal + +0x1440 | 6D 5F 6E 6F 72 6D 61 6C | | m_normal + +0x1448 | 5F 64 65 66 61 75 6C 74 | | _default + +0x1450 | 00 | char | 0x00 (0) | string terminator padding: - +0x1099 | 00 00 00 | uint8_t[3] | ... | padding + +0x1451 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x109C | 62 E6 FF FF | SOffset32 | 0xFFFFE662 (-6558) Loc: +0x2A3A | offset to vtable - +0x10A0 | 34 00 | uint16_t | 0x0034 (52) | table field `id` (UShort) - +0x10A2 | 6C 00 | uint16_t | 0x006C (108) | table field `offset` (UShort) - +0x10A4 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x10F0 | offset to field `name` (string) - +0x10A8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x10DC | offset to field `type` (table) - +0x10AC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x10B8 | offset to field `attributes` (vector) - +0x10B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x10B4 | offset to field `documentation` (vector) + +0x1454 | 62 E6 FF FF | SOffset32 | 0xFFFFE662 (-6558) Loc: +0x2DF2 | offset to vtable + +0x1458 | 34 00 | uint16_t | 0x0034 (52) | table field `id` (UShort) + +0x145A | 6C 00 | uint16_t | 0x006C (108) | table field `offset` (UShort) + +0x145C | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x14A8 | offset to field `name` (string) + +0x1460 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1494 | offset to field `type` (table) + +0x1464 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1470 | offset to field `attributes` (vector) + +0x1468 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x146C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x10B4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x146C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x10B8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x10BC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x10C0 | offset to table[0] + +0x1470 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1474 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1478 | offset to table[0] table (reflection.KeyValue): - +0x10C0 | 5C DB FF FF | SOffset32 | 0xFFFFDB5C (-9380) Loc: +0x3564 | offset to vtable - +0x10C4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x10D4 | offset to field `key` (string) - +0x10C8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x10CC | offset to field `value` (string) + +0x1478 | 5C DB FF FF | SOffset32 | 0xFFFFDB5C (-9380) Loc: +0x391C | offset to vtable + +0x147C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x148C | offset to field `key` (string) + +0x1480 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1484 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x10CC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x10D0 | 35 32 | char[2] | 52 | string literal - +0x10D2 | 00 | char | 0x00 (0) | string terminator + +0x1484 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1488 | 35 32 | char[2] | 52 | string literal + +0x148A | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x10D4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x10D8 | 69 64 | char[2] | id | string literal - +0x10DA | 00 | char | 0x00 (0) | string terminator + +0x148C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1490 | 69 64 | char[2] | id | string literal + +0x1492 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x10DC | D8 DA FF FF | SOffset32 | 0xFFFFDAD8 (-9512) Loc: +0x3604 | offset to vtable - +0x10E0 | 00 00 00 | uint8_t[3] | ... | padding - +0x10E3 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x10E4 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `index` (Int) - +0x10E8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x10EC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x1494 | D8 DA FF FF | SOffset32 | 0xFFFFDAD8 (-9512) Loc: +0x39BC | offset to vtable + +0x1498 | 00 00 00 | uint8_t[3] | ... | padding + +0x149B | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x149C | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `index` (Int) + +0x14A0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x14A4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x10F0 | 1A 00 00 00 | uint32_t | 0x0000001A (26) | length of string - +0x10F4 | 6C 6F 6E 67 5F 65 6E 75 | char[26] | long_enu | string literal - +0x10FC | 6D 5F 6E 6F 6E 5F 65 6E | | m_non_en - +0x1104 | 75 6D 5F 64 65 66 61 75 | | um_defau - +0x110C | 6C 74 | | lt - +0x110E | 00 | char | 0x00 (0) | string terminator + +0x14A8 | 1A 00 00 00 | uint32_t | 0x0000001A (26) | length of string + +0x14AC | 6C 6F 6E 67 5F 65 6E 75 | char[26] | long_enu | string literal + +0x14B4 | 6D 5F 6E 6F 6E 5F 65 6E | | m_non_en + +0x14BC | 75 6D 5F 64 65 66 61 75 | | um_defau + +0x14C4 | 6C 74 | | lt + +0x14C6 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x1110 | EC E5 FF FF | SOffset32 | 0xFFFFE5EC (-6676) Loc: +0x2B24 | offset to vtable - +0x1114 | 00 00 00 | uint8_t[3] | ... | padding - +0x1117 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1118 | 33 00 | uint16_t | 0x0033 (51) | table field `id` (UShort) - +0x111A | 6A 00 | uint16_t | 0x006A (106) | table field `offset` (UShort) - +0x111C | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x1190 | offset to field `name` (string) - +0x1120 | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x1180 | offset to field `type` (table) - +0x1124 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1130 | offset to field `attributes` (vector) - +0x1128 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x112C | offset to field `documentation` (vector) + +0x14C8 | EC E5 FF FF | SOffset32 | 0xFFFFE5EC (-6676) Loc: +0x2EDC | offset to vtable + +0x14CC | 00 00 00 | uint8_t[3] | ... | padding + +0x14CF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x14D0 | 33 00 | uint16_t | 0x0033 (51) | table field `id` (UShort) + +0x14D2 | 6A 00 | uint16_t | 0x006A (106) | table field `offset` (UShort) + +0x14D4 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x1548 | offset to field `name` (string) + +0x14D8 | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x1538 | offset to field `type` (table) + +0x14DC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x14E8 | offset to field `attributes` (vector) + +0x14E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x14E4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x112C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x14E4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1130 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x1134 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x1164 | offset to table[0] - +0x1138 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x113C | offset to table[1] + +0x14E8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x14EC | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x151C | offset to table[0] + +0x14F0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x14F4 | offset to table[1] table (reflection.KeyValue): - +0x113C | D8 DB FF FF | SOffset32 | 0xFFFFDBD8 (-9256) Loc: +0x3564 | offset to vtable - +0x1140 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1150 | offset to field `key` (string) - +0x1144 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1148 | offset to field `value` (string) + +0x14F4 | D8 DB FF FF | SOffset32 | 0xFFFFDBD8 (-9256) Loc: +0x391C | offset to vtable + +0x14F8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1508 | offset to field `key` (string) + +0x14FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1500 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1148 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x114C | 30 | char[1] | 0 | string literal - +0x114D | 00 | char | 0x00 (0) | string terminator + +0x1500 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x1504 | 30 | char[1] | 0 | string literal + +0x1505 | 00 | char | 0x00 (0) | string terminator padding: - +0x114E | 00 00 | uint8_t[2] | .. | padding + +0x1506 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x1150 | 0D 00 00 00 | uint32_t | 0x0000000D (13) | length of string - +0x1154 | 6E 61 74 69 76 65 5F 69 | char[13] | native_i | string literal - +0x115C | 6E 6C 69 6E 65 | | nline - +0x1161 | 00 | char | 0x00 (0) | string terminator + +0x1508 | 0D 00 00 00 | uint32_t | 0x0000000D (13) | length of string + +0x150C | 6E 61 74 69 76 65 5F 69 | char[13] | native_i | string literal + +0x1514 | 6E 6C 69 6E 65 | | nline + +0x1519 | 00 | char | 0x00 (0) | string terminator padding: - +0x1162 | 00 00 | uint8_t[2] | .. | padding + +0x151A | 00 00 | uint8_t[2] | .. | padding table (reflection.KeyValue): - +0x1164 | 00 DC FF FF | SOffset32 | 0xFFFFDC00 (-9216) Loc: +0x3564 | offset to vtable - +0x1168 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1178 | offset to field `key` (string) - +0x116C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1170 | offset to field `value` (string) + +0x151C | 00 DC FF FF | SOffset32 | 0xFFFFDC00 (-9216) Loc: +0x391C | offset to vtable + +0x1520 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1530 | offset to field `key` (string) + +0x1524 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1528 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1170 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1174 | 35 31 | char[2] | 51 | string literal - +0x1176 | 00 | char | 0x00 (0) | string terminator + +0x1528 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x152C | 35 31 | char[2] | 51 | string literal + +0x152E | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1178 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x117C | 69 64 | char[2] | id | string literal - +0x117E | 00 | char | 0x00 (0) | string terminator + +0x1530 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1534 | 69 64 | char[2] | id | string literal + +0x1536 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1180 | C8 D8 FF FF | SOffset32 | 0xFFFFD8C8 (-10040) Loc: +0x38B8 | offset to vtable - +0x1184 | 00 00 00 | uint8_t[3] | ... | padding - +0x1187 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x1188 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) - +0x118C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x1538 | C8 D8 FF FF | SOffset32 | 0xFFFFD8C8 (-10040) Loc: +0x3C70 | offset to vtable + +0x153C | 00 00 00 | uint8_t[3] | ... | padding + +0x153F | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x1540 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) + +0x1544 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1190 | 0D 00 00 00 | uint32_t | 0x0000000D (13) | length of string - +0x1194 | 6E 61 74 69 76 65 5F 69 | char[13] | native_i | string literal - +0x119C | 6E 6C 69 6E 65 | | nline - +0x11A1 | 00 | char | 0x00 (0) | string terminator + +0x1548 | 0D 00 00 00 | uint32_t | 0x0000000D (13) | length of string + +0x154C | 6E 61 74 69 76 65 5F 69 | char[13] | native_i | string literal + +0x1554 | 6E 6C 69 6E 65 | | nline + +0x1559 | 00 | char | 0x00 (0) | string terminator padding: - +0x11A2 | 00 00 | uint8_t[2] | .. | padding + +0x155A | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x11A4 | 80 E6 FF FF | SOffset32 | 0xFFFFE680 (-6528) Loc: +0x2B24 | offset to vtable - +0x11A8 | 00 00 00 | uint8_t[3] | ... | padding - +0x11AB | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x11AC | 32 00 | uint16_t | 0x0032 (50) | table field `id` (UShort) - +0x11AE | 68 00 | uint16_t | 0x0068 (104) | table field `offset` (UShort) - +0x11B0 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x11F8 | offset to field `name` (string) - +0x11B4 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x11E8 | offset to field `type` (table) - +0x11B8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x11C4 | offset to field `attributes` (vector) - +0x11BC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x11C0 | offset to field `documentation` (vector) + +0x155C | 80 E6 FF FF | SOffset32 | 0xFFFFE680 (-6528) Loc: +0x2EDC | offset to vtable + +0x1560 | 00 00 00 | uint8_t[3] | ... | padding + +0x1563 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x1564 | 32 00 | uint16_t | 0x0032 (50) | table field `id` (UShort) + +0x1566 | 68 00 | uint16_t | 0x0068 (104) | table field `offset` (UShort) + +0x1568 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x15B0 | offset to field `name` (string) + +0x156C | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x15A0 | offset to field `type` (table) + +0x1570 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x157C | offset to field `attributes` (vector) + +0x1574 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1578 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x11C0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1578 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x11C4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x11C8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x11CC | offset to table[0] + +0x157C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1580 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1584 | offset to table[0] table (reflection.KeyValue): - +0x11CC | 68 DC FF FF | SOffset32 | 0xFFFFDC68 (-9112) Loc: +0x3564 | offset to vtable - +0x11D0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x11E0 | offset to field `key` (string) - +0x11D4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x11D8 | offset to field `value` (string) + +0x1584 | 68 DC FF FF | SOffset32 | 0xFFFFDC68 (-9112) Loc: +0x391C | offset to vtable + +0x1588 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1598 | offset to field `key` (string) + +0x158C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1590 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x11D8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x11DC | 35 30 | char[2] | 50 | string literal - +0x11DE | 00 | char | 0x00 (0) | string terminator + +0x1590 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1594 | 35 30 | char[2] | 50 | string literal + +0x1596 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x11E0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x11E4 | 69 64 | char[2] | id | string literal - +0x11E6 | 00 | char | 0x00 (0) | string terminator + +0x1598 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x159C | 69 64 | char[2] | id | string literal + +0x159E | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x11E8 | 38 E8 FF FF | SOffset32 | 0xFFFFE838 (-6088) Loc: +0x29B0 | offset to vtable - +0x11EC | 00 00 | uint8_t[2] | .. | padding - +0x11EE | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x11EF | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) - +0x11F0 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) - +0x11F4 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x15A0 | 38 E8 FF FF | SOffset32 | 0xFFFFE838 (-6088) Loc: +0x2D68 | offset to vtable + +0x15A4 | 00 00 | uint8_t[2] | .. | padding + +0x15A6 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x15A7 | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) + +0x15A8 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) + +0x15AC | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x11F8 | 18 00 00 00 | uint32_t | 0x00000018 (24) | length of string - +0x11FC | 73 63 61 6C 61 72 5F 6B | char[24] | scalar_k | string literal - +0x1204 | 65 79 5F 73 6F 72 74 65 | | ey_sorte - +0x120C | 64 5F 74 61 62 6C 65 73 | | d_tables - +0x1214 | 00 | char | 0x00 (0) | string terminator + +0x15B0 | 18 00 00 00 | uint32_t | 0x00000018 (24) | length of string + +0x15B4 | 73 63 61 6C 61 72 5F 6B | char[24] | scalar_k | string literal + +0x15BC | 65 79 5F 73 6F 72 74 65 | | ey_sorte + +0x15C4 | 64 5F 74 61 62 6C 65 73 | | d_tables + +0x15CC | 00 | char | 0x00 (0) | string terminator padding: - +0x1215 | 00 00 00 | uint8_t[3] | ... | padding + +0x15CD | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x1218 | F4 E6 FF FF | SOffset32 | 0xFFFFE6F4 (-6412) Loc: +0x2B24 | offset to vtable - +0x121C | 00 00 00 | uint8_t[3] | ... | padding - +0x121F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1220 | 31 00 | uint16_t | 0x0031 (49) | table field `id` (UShort) - +0x1222 | 66 00 | uint16_t | 0x0066 (102) | table field `offset` (UShort) - +0x1224 | 78 00 00 00 | UOffset32 | 0x00000078 (120) Loc: +0x129C | offset to field `name` (string) - +0x1228 | 68 00 00 00 | UOffset32 | 0x00000068 (104) Loc: +0x1290 | offset to field `type` (table) - +0x122C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1238 | offset to field `attributes` (vector) - +0x1230 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1234 | offset to field `documentation` (vector) + +0x15D0 | F4 E6 FF FF | SOffset32 | 0xFFFFE6F4 (-6412) Loc: +0x2EDC | offset to vtable + +0x15D4 | 00 00 00 | uint8_t[3] | ... | padding + +0x15D7 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x15D8 | 31 00 | uint16_t | 0x0031 (49) | table field `id` (UShort) + +0x15DA | 66 00 | uint16_t | 0x0066 (102) | table field `offset` (UShort) + +0x15DC | 78 00 00 00 | UOffset32 | 0x00000078 (120) Loc: +0x1654 | offset to field `name` (string) + +0x15E0 | 68 00 00 00 | UOffset32 | 0x00000068 (104) Loc: +0x1648 | offset to field `type` (table) + +0x15E4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x15F0 | offset to field `attributes` (vector) + +0x15E8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x15EC | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1234 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x15EC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1238 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x123C | 38 00 00 00 | UOffset32 | 0x00000038 (56) Loc: +0x1274 | offset to table[0] - +0x1240 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1244 | offset to table[1] + +0x15F0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x15F4 | 38 00 00 00 | UOffset32 | 0x00000038 (56) Loc: +0x162C | offset to table[0] + +0x15F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x15FC | offset to table[1] table (reflection.KeyValue): - +0x1244 | E0 DC FF FF | SOffset32 | 0xFFFFDCE0 (-8992) Loc: +0x3564 | offset to vtable - +0x1248 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x125C | offset to field `key` (string) - +0x124C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1250 | offset to field `value` (string) + +0x15FC | E0 DC FF FF | SOffset32 | 0xFFFFDCE0 (-8992) Loc: +0x391C | offset to vtable + +0x1600 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1614 | offset to field `key` (string) + +0x1604 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1608 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1250 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string - +0x1254 | 4D 6F 6E 73 74 65 72 | char[7] | Monster | string literal - +0x125B | 00 | char | 0x00 (0) | string terminator + +0x1608 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string + +0x160C | 4D 6F 6E 73 74 65 72 | char[7] | Monster | string literal + +0x1613 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x125C | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x1260 | 6E 65 73 74 65 64 5F 66 | char[17] | nested_f | string literal - +0x1268 | 6C 61 74 62 75 66 66 65 | | latbuffe - +0x1270 | 72 | | r - +0x1271 | 00 | char | 0x00 (0) | string terminator + +0x1614 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x1618 | 6E 65 73 74 65 64 5F 66 | char[17] | nested_f | string literal + +0x1620 | 6C 61 74 62 75 66 66 65 | | latbuffe + +0x1628 | 72 | | r + +0x1629 | 00 | char | 0x00 (0) | string terminator padding: - +0x1272 | 00 00 | uint8_t[2] | .. | padding + +0x162A | 00 00 | uint8_t[2] | .. | padding table (reflection.KeyValue): - +0x1274 | 10 DD FF FF | SOffset32 | 0xFFFFDD10 (-8944) Loc: +0x3564 | offset to vtable - +0x1278 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1288 | offset to field `key` (string) - +0x127C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1280 | offset to field `value` (string) + +0x162C | 10 DD FF FF | SOffset32 | 0xFFFFDD10 (-8944) Loc: +0x391C | offset to vtable + +0x1630 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1640 | offset to field `key` (string) + +0x1634 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1638 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1280 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1284 | 34 39 | char[2] | 49 | string literal - +0x1286 | 00 | char | 0x00 (0) | string terminator + +0x1638 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x163C | 34 39 | char[2] | 49 | string literal + +0x163E | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1288 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x128C | 69 64 | char[2] | id | string literal - +0x128E | 00 | char | 0x00 (0) | string terminator + +0x1640 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1644 | 69 64 | char[2] | id | string literal + +0x1646 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1290 | 0C E7 FF FF | SOffset32 | 0xFFFFE70C (-6388) Loc: +0x2B84 | offset to vtable - +0x1294 | 00 00 | uint8_t[2] | .. | padding - +0x1296 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1297 | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) - +0x1298 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x1648 | 0C E7 FF FF | SOffset32 | 0xFFFFE70C (-6388) Loc: +0x2F3C | offset to vtable + +0x164C | 00 00 | uint8_t[2] | .. | padding + +0x164E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x164F | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) + +0x1650 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x129C | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string - +0x12A0 | 74 65 73 74 72 65 71 75 | char[28] | testrequ | string literal - +0x12A8 | 69 72 65 64 6E 65 73 74 | | irednest - +0x12B0 | 65 64 66 6C 61 74 62 75 | | edflatbu - +0x12B8 | 66 66 65 72 | | ffer - +0x12BC | 00 | char | 0x00 (0) | string terminator + +0x1654 | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string + +0x1658 | 74 65 73 74 72 65 71 75 | char[28] | testrequ | string literal + +0x1660 | 69 72 65 64 6E 65 73 74 | | irednest + +0x1668 | 65 64 66 6C 61 74 62 75 | | edflatbu + +0x1670 | 66 66 65 72 | | ffer + +0x1674 | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x12BE | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x12C0 | 20 00 | uint16_t | 0x0020 (32) | size of referring table - +0x12C2 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x12C4 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x12C6 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) - +0x12C8 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x12CA | 18 00 | VOffset16 | 0x0018 (24) | offset to field `default_integer` (id: 4) - +0x12CC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x12CE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x12D0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x12D2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x12D4 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) - +0x12D6 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x1676 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x1678 | 20 00 | uint16_t | 0x0020 (32) | size of referring table + +0x167A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x167C | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x167E | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) + +0x1680 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x1682 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `default_integer` (id: 4) + +0x1684 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x1686 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x1688 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x168A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x168C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x168E | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x12D8 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x12BE | offset to vtable - +0x12DC | 30 00 | uint16_t | 0x0030 (48) | table field `id` (UShort) - +0x12DE | 64 00 | uint16_t | 0x0064 (100) | table field `offset` (UShort) - +0x12E0 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x1334 | offset to field `name` (string) - +0x12E4 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x1320 | offset to field `type` (table) - +0x12E8 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x12FC | offset to field `attributes` (vector) - +0x12EC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x12F8 | offset to field `documentation` (vector) - +0x12F0 | FF FF FF FF FF FF FF FF | int64_t | 0xFFFFFFFFFFFFFFFF (-1) | table field `default_integer` (Long) + +0x1690 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x1676 | offset to vtable + +0x1694 | 30 00 | uint16_t | 0x0030 (48) | table field `id` (UShort) + +0x1696 | 64 00 | uint16_t | 0x0064 (100) | table field `offset` (UShort) + +0x1698 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x16EC | offset to field `name` (string) + +0x169C | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x16D8 | offset to field `type` (table) + +0x16A0 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x16B4 | offset to field `attributes` (vector) + +0x16A4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x16B0 | offset to field `documentation` (vector) + +0x16A8 | FF FF FF FF FF FF FF FF | int64_t | 0xFFFFFFFFFFFFFFFF (-1) | table field `default_integer` (Long) vector (reflection.Field.documentation): - +0x12F8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x16B0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x12FC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1300 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1304 | offset to table[0] + +0x16B4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x16B8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x16BC | offset to table[0] table (reflection.KeyValue): - +0x1304 | A0 DD FF FF | SOffset32 | 0xFFFFDDA0 (-8800) Loc: +0x3564 | offset to vtable - +0x1308 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1318 | offset to field `key` (string) - +0x130C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1310 | offset to field `value` (string) + +0x16BC | A0 DD FF FF | SOffset32 | 0xFFFFDDA0 (-8800) Loc: +0x391C | offset to vtable + +0x16C0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x16D0 | offset to field `key` (string) + +0x16C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x16C8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1310 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1314 | 34 38 | char[2] | 48 | string literal - +0x1316 | 00 | char | 0x00 (0) | string terminator + +0x16C8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x16CC | 34 38 | char[2] | 48 | string literal + +0x16CE | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1318 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x131C | 69 64 | char[2] | id | string literal - +0x131E | 00 | char | 0x00 (0) | string terminator + +0x16D0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x16D4 | 69 64 | char[2] | id | string literal + +0x16D6 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1320 | 1C DD FF FF | SOffset32 | 0xFFFFDD1C (-8932) Loc: +0x3604 | offset to vtable - +0x1324 | 00 00 00 | uint8_t[3] | ... | padding - +0x1327 | 03 | uint8_t | 0x03 (3) | table field `base_type` (Byte) - +0x1328 | 05 00 00 00 | uint32_t | 0x00000005 (5) | table field `index` (Int) - +0x132C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x1330 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x16D8 | 1C DD FF FF | SOffset32 | 0xFFFFDD1C (-8932) Loc: +0x39BC | offset to vtable + +0x16DC | 00 00 00 | uint8_t[3] | ... | padding + +0x16DF | 03 | uint8_t | 0x03 (3) | table field `base_type` (Byte) + +0x16E0 | 05 00 00 00 | uint32_t | 0x00000005 (5) | table field `index` (Int) + +0x16E4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x16E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1334 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x1338 | 73 69 67 6E 65 64 5F 65 | char[11] | signed_e | string literal - +0x1340 | 6E 75 6D | | num - +0x1343 | 00 | char | 0x00 (0) | string terminator + +0x16EC | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x16F0 | 73 69 67 6E 65 64 5F 65 | char[11] | signed_e | string literal + +0x16F8 | 6E 75 6D | | num + +0x16FB | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x1344 | 20 E8 FF FF | SOffset32 | 0xFFFFE820 (-6112) Loc: +0x2B24 | offset to vtable - +0x1348 | 00 00 00 | uint8_t[3] | ... | padding - +0x134B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x134C | 2F 00 | uint16_t | 0x002F (47) | table field `id` (UShort) - +0x134E | 62 00 | uint16_t | 0x0062 (98) | table field `offset` (UShort) - +0x1350 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x1398 | offset to field `name` (string) - +0x1354 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1388 | offset to field `type` (table) - +0x1358 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1364 | offset to field `attributes` (vector) - +0x135C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1360 | offset to field `documentation` (vector) + +0x16FC | 20 E8 FF FF | SOffset32 | 0xFFFFE820 (-6112) Loc: +0x2EDC | offset to vtable + +0x1700 | 00 00 00 | uint8_t[3] | ... | padding + +0x1703 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x1704 | 2F 00 | uint16_t | 0x002F (47) | table field `id` (UShort) + +0x1706 | 62 00 | uint16_t | 0x0062 (98) | table field `offset` (UShort) + +0x1708 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x1750 | offset to field `name` (string) + +0x170C | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1740 | offset to field `type` (table) + +0x1710 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x171C | offset to field `attributes` (vector) + +0x1714 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1718 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1360 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1718 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1364 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1368 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x136C | offset to table[0] + +0x171C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1720 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1724 | offset to table[0] table (reflection.KeyValue): - +0x136C | 08 DE FF FF | SOffset32 | 0xFFFFDE08 (-8696) Loc: +0x3564 | offset to vtable - +0x1370 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1380 | offset to field `key` (string) - +0x1374 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1378 | offset to field `value` (string) + +0x1724 | 08 DE FF FF | SOffset32 | 0xFFFFDE08 (-8696) Loc: +0x391C | offset to vtable + +0x1728 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1738 | offset to field `key` (string) + +0x172C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1730 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1378 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x137C | 34 37 | char[2] | 47 | string literal - +0x137E | 00 | char | 0x00 (0) | string terminator + +0x1730 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1734 | 34 37 | char[2] | 47 | string literal + +0x1736 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1380 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1384 | 69 64 | char[2] | id | string literal - +0x1386 | 00 | char | 0x00 (0) | string terminator + +0x1738 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x173C | 69 64 | char[2] | id | string literal + +0x173E | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1388 | D8 E9 FF FF | SOffset32 | 0xFFFFE9D8 (-5672) Loc: +0x29B0 | offset to vtable - +0x138C | 00 00 | uint8_t[2] | .. | padding - +0x138E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x138F | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) - +0x1390 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) - +0x1394 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x1740 | D8 E9 FF FF | SOffset32 | 0xFFFFE9D8 (-5672) Loc: +0x2D68 | offset to vtable + +0x1744 | 00 00 | uint8_t[2] | .. | padding + +0x1746 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x1747 | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) + +0x1748 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) + +0x174C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1398 | 0F 00 00 00 | uint32_t | 0x0000000F (15) | length of string - +0x139C | 76 65 63 74 6F 72 5F 6F | char[15] | vector_o | string literal - +0x13A4 | 66 5F 65 6E 75 6D 73 | | f_enums - +0x13AB | 00 | char | 0x00 (0) | string terminator + +0x1750 | 0F 00 00 00 | uint32_t | 0x0000000F (15) | length of string + +0x1754 | 76 65 63 74 6F 72 5F 6F | char[15] | vector_o | string literal + +0x175C | 66 5F 65 6E 75 6D 73 | | f_enums + +0x1763 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x13AC | 88 E8 FF FF | SOffset32 | 0xFFFFE888 (-6008) Loc: +0x2B24 | offset to vtable - +0x13B0 | 00 00 00 | uint8_t[3] | ... | padding - +0x13B3 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x13B4 | 2E 00 | uint16_t | 0x002E (46) | table field `id` (UShort) - +0x13B6 | 60 00 | uint16_t | 0x0060 (96) | table field `offset` (UShort) - +0x13B8 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x1400 | offset to field `name` (string) - +0x13BC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x13F0 | offset to field `type` (table) - +0x13C0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x13CC | offset to field `attributes` (vector) - +0x13C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x13C8 | offset to field `documentation` (vector) + +0x1764 | 88 E8 FF FF | SOffset32 | 0xFFFFE888 (-6008) Loc: +0x2EDC | offset to vtable + +0x1768 | 00 00 00 | uint8_t[3] | ... | padding + +0x176B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x176C | 2E 00 | uint16_t | 0x002E (46) | table field `id` (UShort) + +0x176E | 60 00 | uint16_t | 0x0060 (96) | table field `offset` (UShort) + +0x1770 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x17B8 | offset to field `name` (string) + +0x1774 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x17A8 | offset to field `type` (table) + +0x1778 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1784 | offset to field `attributes` (vector) + +0x177C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1780 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x13C8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1780 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x13CC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x13D0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x13D4 | offset to table[0] + +0x1784 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x1788 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x178C | offset to table[0] table (reflection.KeyValue): - +0x13D4 | 70 DE FF FF | SOffset32 | 0xFFFFDE70 (-8592) Loc: +0x3564 | offset to vtable - +0x13D8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x13E8 | offset to field `key` (string) - +0x13DC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x13E0 | offset to field `value` (string) + +0x178C | 70 DE FF FF | SOffset32 | 0xFFFFDE70 (-8592) Loc: +0x391C | offset to vtable + +0x1790 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x17A0 | offset to field `key` (string) + +0x1794 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1798 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x13E0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x13E4 | 34 36 | char[2] | 46 | string literal - +0x13E6 | 00 | char | 0x00 (0) | string terminator + +0x1798 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x179C | 34 36 | char[2] | 46 | string literal + +0x179E | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x13E8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x13EC | 69 64 | char[2] | id | string literal - +0x13EE | 00 | char | 0x00 (0) | string terminator + +0x17A0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x17A4 | 69 64 | char[2] | id | string literal + +0x17A6 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x13F0 | 38 DB FF FF | SOffset32 | 0xFFFFDB38 (-9416) Loc: +0x38B8 | offset to vtable - +0x13F4 | 00 00 00 | uint8_t[3] | ... | padding - +0x13F7 | 10 | uint8_t | 0x10 (16) | table field `base_type` (Byte) - +0x13F8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) - +0x13FC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x17A8 | 38 DB FF FF | SOffset32 | 0xFFFFDB38 (-9416) Loc: +0x3C70 | offset to vtable + +0x17AC | 00 00 00 | uint8_t[3] | ... | padding + +0x17AF | 10 | uint8_t | 0x10 (16) | table field `base_type` (Byte) + +0x17B0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) + +0x17B4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1400 | 0D 00 00 00 | uint32_t | 0x0000000D (13) | length of string - +0x1404 | 61 6E 79 5F 61 6D 62 69 | char[13] | any_ambi | string literal - +0x140C | 67 75 6F 75 73 | | guous - +0x1411 | 00 | char | 0x00 (0) | string terminator + +0x17B8 | 0D 00 00 00 | uint32_t | 0x0000000D (13) | length of string + +0x17BC | 61 6E 79 5F 61 6D 62 69 | char[13] | any_ambi | string literal + +0x17C4 | 67 75 6F 75 73 | | guous + +0x17C9 | 00 | char | 0x00 (0) | string terminator padding: - +0x1412 | 00 00 | uint8_t[2] | .. | padding + +0x17CA | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x1414 | DA E9 FF FF | SOffset32 | 0xFFFFE9DA (-5670) Loc: +0x2A3A | offset to vtable - +0x1418 | 2D 00 | uint16_t | 0x002D (45) | table field `id` (UShort) - +0x141A | 5E 00 | uint16_t | 0x005E (94) | table field `offset` (UShort) - +0x141C | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x1468 | offset to field `name` (string) - +0x1420 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1454 | offset to field `type` (table) - +0x1424 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1430 | offset to field `attributes` (vector) - +0x1428 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x142C | offset to field `documentation` (vector) + +0x17CC | DA E9 FF FF | SOffset32 | 0xFFFFE9DA (-5670) Loc: +0x2DF2 | offset to vtable + +0x17D0 | 2D 00 | uint16_t | 0x002D (45) | table field `id` (UShort) + +0x17D2 | 5E 00 | uint16_t | 0x005E (94) | table field `offset` (UShort) + +0x17D4 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x1820 | offset to field `name` (string) + +0x17D8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x180C | offset to field `type` (table) + +0x17DC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x17E8 | offset to field `attributes` (vector) + +0x17E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x17E4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x142C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x17E4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1430 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1434 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1438 | offset to table[0] + +0x17E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x17EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x17F0 | offset to table[0] table (reflection.KeyValue): - +0x1438 | D4 DE FF FF | SOffset32 | 0xFFFFDED4 (-8492) Loc: +0x3564 | offset to vtable - +0x143C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x144C | offset to field `key` (string) - +0x1440 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1444 | offset to field `value` (string) + +0x17F0 | D4 DE FF FF | SOffset32 | 0xFFFFDED4 (-8492) Loc: +0x391C | offset to vtable + +0x17F4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1804 | offset to field `key` (string) + +0x17F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x17FC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1444 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1448 | 34 35 | char[2] | 45 | string literal - +0x144A | 00 | char | 0x00 (0) | string terminator + +0x17FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1800 | 34 35 | char[2] | 45 | string literal + +0x1802 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x144C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1450 | 69 64 | char[2] | id | string literal - +0x1452 | 00 | char | 0x00 (0) | string terminator + +0x1804 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1808 | 69 64 | char[2] | id | string literal + +0x180A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1454 | 50 DE FF FF | SOffset32 | 0xFFFFDE50 (-8624) Loc: +0x3604 | offset to vtable - +0x1458 | 00 00 00 | uint8_t[3] | ... | padding - +0x145B | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) - +0x145C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) - +0x1460 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x1464 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x180C | 50 DE FF FF | SOffset32 | 0xFFFFDE50 (-8624) Loc: +0x39BC | offset to vtable + +0x1810 | 00 00 00 | uint8_t[3] | ... | padding + +0x1813 | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) + +0x1814 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) + +0x1818 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x181C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1468 | 12 00 00 00 | uint32_t | 0x00000012 (18) | length of string - +0x146C | 61 6E 79 5F 61 6D 62 69 | char[18] | any_ambi | string literal - +0x1474 | 67 75 6F 75 73 5F 74 79 | | guous_ty - +0x147C | 70 65 | | pe - +0x147E | 00 | char | 0x00 (0) | string terminator + +0x1820 | 12 00 00 00 | uint32_t | 0x00000012 (18) | length of string + +0x1824 | 61 6E 79 5F 61 6D 62 69 | char[18] | any_ambi | string literal + +0x182C | 67 75 6F 75 73 5F 74 79 | | guous_ty + +0x1834 | 70 65 | | pe + +0x1836 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x1480 | 5C E9 FF FF | SOffset32 | 0xFFFFE95C (-5796) Loc: +0x2B24 | offset to vtable - +0x1484 | 00 00 00 | uint8_t[3] | ... | padding - +0x1487 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1488 | 2C 00 | uint16_t | 0x002C (44) | table field `id` (UShort) - +0x148A | 5C 00 | uint16_t | 0x005C (92) | table field `offset` (UShort) - +0x148C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x14D4 | offset to field `name` (string) - +0x1490 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x14C4 | offset to field `type` (table) - +0x1494 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x14A0 | offset to field `attributes` (vector) - +0x1498 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x149C | offset to field `documentation` (vector) + +0x1838 | 5C E9 FF FF | SOffset32 | 0xFFFFE95C (-5796) Loc: +0x2EDC | offset to vtable + +0x183C | 00 00 00 | uint8_t[3] | ... | padding + +0x183F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x1840 | 2C 00 | uint16_t | 0x002C (44) | table field `id` (UShort) + +0x1842 | 5C 00 | uint16_t | 0x005C (92) | table field `offset` (UShort) + +0x1844 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x188C | offset to field `name` (string) + +0x1848 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x187C | offset to field `type` (table) + +0x184C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1858 | offset to field `attributes` (vector) + +0x1850 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1854 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x149C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1854 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x14A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x14A4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x14A8 | offset to table[0] + +0x1858 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x185C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1860 | offset to table[0] table (reflection.KeyValue): - +0x14A8 | 44 DF FF FF | SOffset32 | 0xFFFFDF44 (-8380) Loc: +0x3564 | offset to vtable - +0x14AC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x14BC | offset to field `key` (string) - +0x14B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x14B4 | offset to field `value` (string) + +0x1860 | 44 DF FF FF | SOffset32 | 0xFFFFDF44 (-8380) Loc: +0x391C | offset to vtable + +0x1864 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1874 | offset to field `key` (string) + +0x1868 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x186C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x14B4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x14B8 | 34 34 | char[2] | 44 | string literal - +0x14BA | 00 | char | 0x00 (0) | string terminator + +0x186C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1870 | 34 34 | char[2] | 44 | string literal + +0x1872 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x14BC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x14C0 | 69 64 | char[2] | id | string literal - +0x14C2 | 00 | char | 0x00 (0) | string terminator + +0x1874 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1878 | 69 64 | char[2] | id | string literal + +0x187A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x14C4 | 0C DC FF FF | SOffset32 | 0xFFFFDC0C (-9204) Loc: +0x38B8 | offset to vtable - +0x14C8 | 00 00 00 | uint8_t[3] | ... | padding - +0x14CB | 10 | uint8_t | 0x10 (16) | table field `base_type` (Byte) - +0x14CC | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) - +0x14D0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x187C | 0C DC FF FF | SOffset32 | 0xFFFFDC0C (-9204) Loc: +0x3C70 | offset to vtable + +0x1880 | 00 00 00 | uint8_t[3] | ... | padding + +0x1883 | 10 | uint8_t | 0x10 (16) | table field `base_type` (Byte) + +0x1884 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) + +0x1888 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x14D4 | 0A 00 00 00 | uint32_t | 0x0000000A (10) | length of string - +0x14D8 | 61 6E 79 5F 75 6E 69 71 | char[10] | any_uniq | string literal - +0x14E0 | 75 65 | | ue - +0x14E2 | 00 | char | 0x00 (0) | string terminator + +0x188C | 0A 00 00 00 | uint32_t | 0x0000000A (10) | length of string + +0x1890 | 61 6E 79 5F 75 6E 69 71 | char[10] | any_uniq | string literal + +0x1898 | 75 65 | | ue + +0x189A | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x14E4 | AA EA FF FF | SOffset32 | 0xFFFFEAAA (-5462) Loc: +0x2A3A | offset to vtable - +0x14E8 | 2B 00 | uint16_t | 0x002B (43) | table field `id` (UShort) - +0x14EA | 5A 00 | uint16_t | 0x005A (90) | table field `offset` (UShort) - +0x14EC | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x1538 | offset to field `name` (string) - +0x14F0 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1524 | offset to field `type` (table) - +0x14F4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1500 | offset to field `attributes` (vector) - +0x14F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x14FC | offset to field `documentation` (vector) + +0x189C | AA EA FF FF | SOffset32 | 0xFFFFEAAA (-5462) Loc: +0x2DF2 | offset to vtable + +0x18A0 | 2B 00 | uint16_t | 0x002B (43) | table field `id` (UShort) + +0x18A2 | 5A 00 | uint16_t | 0x005A (90) | table field `offset` (UShort) + +0x18A4 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x18F0 | offset to field `name` (string) + +0x18A8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x18DC | offset to field `type` (table) + +0x18AC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x18B8 | offset to field `attributes` (vector) + +0x18B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x18B4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x14FC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x18B4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1500 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1504 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1508 | offset to table[0] + +0x18B8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x18BC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x18C0 | offset to table[0] table (reflection.KeyValue): - +0x1508 | A4 DF FF FF | SOffset32 | 0xFFFFDFA4 (-8284) Loc: +0x3564 | offset to vtable - +0x150C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x151C | offset to field `key` (string) - +0x1510 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1514 | offset to field `value` (string) + +0x18C0 | A4 DF FF FF | SOffset32 | 0xFFFFDFA4 (-8284) Loc: +0x391C | offset to vtable + +0x18C4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x18D4 | offset to field `key` (string) + +0x18C8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x18CC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1514 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1518 | 34 33 | char[2] | 43 | string literal - +0x151A | 00 | char | 0x00 (0) | string terminator + +0x18CC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x18D0 | 34 33 | char[2] | 43 | string literal + +0x18D2 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x151C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1520 | 69 64 | char[2] | id | string literal - +0x1522 | 00 | char | 0x00 (0) | string terminator + +0x18D4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x18D8 | 69 64 | char[2] | id | string literal + +0x18DA | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1524 | 20 DF FF FF | SOffset32 | 0xFFFFDF20 (-8416) Loc: +0x3604 | offset to vtable - +0x1528 | 00 00 00 | uint8_t[3] | ... | padding - +0x152B | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) - +0x152C | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) - +0x1530 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x1534 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x18DC | 20 DF FF FF | SOffset32 | 0xFFFFDF20 (-8416) Loc: +0x39BC | offset to vtable + +0x18E0 | 00 00 00 | uint8_t[3] | ... | padding + +0x18E3 | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) + +0x18E4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) + +0x18E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x18EC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1538 | 0F 00 00 00 | uint32_t | 0x0000000F (15) | length of string - +0x153C | 61 6E 79 5F 75 6E 69 71 | char[15] | any_uniq | string literal - +0x1544 | 75 65 5F 74 79 70 65 | | ue_type - +0x154B | 00 | char | 0x00 (0) | string terminator + +0x18F0 | 0F 00 00 00 | uint32_t | 0x0000000F (15) | length of string + +0x18F4 | 61 6E 79 5F 75 6E 69 71 | char[15] | any_uniq | string literal + +0x18FC | 75 65 5F 74 79 70 65 | | ue_type + +0x1903 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x154C | 28 EA FF FF | SOffset32 | 0xFFFFEA28 (-5592) Loc: +0x2B24 | offset to vtable - +0x1550 | 00 00 00 | uint8_t[3] | ... | padding - +0x1553 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1554 | 2A 00 | uint16_t | 0x002A (42) | table field `id` (UShort) - +0x1556 | 58 00 | uint16_t | 0x0058 (88) | table field `offset` (UShort) - +0x1558 | 00 01 00 00 | UOffset32 | 0x00000100 (256) Loc: +0x1658 | offset to field `name` (string) - +0x155C | F0 00 00 00 | UOffset32 | 0x000000F0 (240) Loc: +0x164C | offset to field `type` (table) - +0x1560 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x156C | offset to field `attributes` (vector) - +0x1564 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1568 | offset to field `documentation` (vector) + +0x1904 | 28 EA FF FF | SOffset32 | 0xFFFFEA28 (-5592) Loc: +0x2EDC | offset to vtable + +0x1908 | 00 00 00 | uint8_t[3] | ... | padding + +0x190B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x190C | 2A 00 | uint16_t | 0x002A (42) | table field `id` (UShort) + +0x190E | 58 00 | uint16_t | 0x0058 (88) | table field `offset` (UShort) + +0x1910 | 00 01 00 00 | UOffset32 | 0x00000100 (256) Loc: +0x1A10 | offset to field `name` (string) + +0x1914 | F0 00 00 00 | UOffset32 | 0x000000F0 (240) Loc: +0x1A04 | offset to field `type` (table) + +0x1918 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1924 | offset to field `attributes` (vector) + +0x191C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1920 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1568 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1920 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x156C | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of vector (# items) - +0x1570 | B0 00 00 00 | UOffset32 | 0x000000B0 (176) Loc: +0x1620 | offset to table[0] - +0x1574 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x15F4 | offset to table[1] - +0x1578 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x15C8 | offset to table[2] - +0x157C | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x15A0 | offset to table[3] - +0x1580 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1584 | offset to table[4] + +0x1924 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of vector (# items) + +0x1928 | B0 00 00 00 | UOffset32 | 0x000000B0 (176) Loc: +0x19D8 | offset to table[0] + +0x192C | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x19AC | offset to table[1] + +0x1930 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1980 | offset to table[2] + +0x1934 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1958 | offset to table[3] + +0x1938 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x193C | offset to table[4] table (reflection.KeyValue): - +0x1584 | 20 E0 FF FF | SOffset32 | 0xFFFFE020 (-8160) Loc: +0x3564 | offset to vtable - +0x1588 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1598 | offset to field `key` (string) - +0x158C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1590 | offset to field `value` (string) + +0x193C | 20 E0 FF FF | SOffset32 | 0xFFFFE020 (-8160) Loc: +0x391C | offset to vtable + +0x1940 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1950 | offset to field `key` (string) + +0x1944 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1948 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1590 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1594 | 34 32 | char[2] | 42 | string literal - +0x1596 | 00 | char | 0x00 (0) | string terminator + +0x1948 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x194C | 34 32 | char[2] | 42 | string literal + +0x194E | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1598 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x159C | 69 64 | char[2] | id | string literal - +0x159E | 00 | char | 0x00 (0) | string terminator + +0x1950 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1954 | 69 64 | char[2] | id | string literal + +0x1956 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x15A0 | 3C E0 FF FF | SOffset32 | 0xFFFFE03C (-8132) Loc: +0x3564 | offset to vtable - +0x15A4 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x15BC | offset to field `key` (string) - +0x15A8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x15AC | offset to field `value` (string) + +0x1958 | 3C E0 FF FF | SOffset32 | 0xFFFFE03C (-8132) Loc: +0x391C | offset to vtable + +0x195C | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1974 | offset to field `key` (string) + +0x1960 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1964 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x15AC | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x15B0 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x15B8 | 00 | char | 0x00 (0) | string terminator + +0x1964 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1968 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x1970 | 00 | char | 0x00 (0) | string terminator padding: - +0x15B9 | 00 00 00 | uint8_t[3] | ... | padding + +0x1971 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x15BC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x15C0 | 68 61 73 68 | char[4] | hash | string literal - +0x15C4 | 00 | char | 0x00 (0) | string terminator + +0x1974 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x1978 | 68 61 73 68 | char[4] | hash | string literal + +0x197C | 00 | char | 0x00 (0) | string terminator padding: - +0x15C5 | 00 00 00 | uint8_t[3] | ... | padding + +0x197D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x15C8 | 64 E0 FF FF | SOffset32 | 0xFFFFE064 (-8092) Loc: +0x3564 | offset to vtable - +0x15CC | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x15E4 | offset to field `key` (string) - +0x15D0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x15D4 | offset to field `value` (string) + +0x1980 | 64 E0 FF FF | SOffset32 | 0xFFFFE064 (-8092) Loc: +0x391C | offset to vtable + +0x1984 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x199C | offset to field `key` (string) + +0x1988 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x198C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x15D4 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x15D8 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal - +0x15E0 | 6C 65 54 | | leT - +0x15E3 | 00 | char | 0x00 (0) | string terminator + +0x198C | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x1990 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal + +0x1998 | 6C 65 54 | | leT + +0x199B | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x15E4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x15E8 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal - +0x15F0 | 00 | char | 0x00 (0) | string terminator + +0x199C | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x19A0 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal + +0x19A8 | 00 | char | 0x00 (0) | string terminator padding: - +0x15F1 | 00 00 00 | uint8_t[3] | ... | padding + +0x19A9 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x15F4 | 90 E0 FF FF | SOffset32 | 0xFFFFE090 (-8048) Loc: +0x3564 | offset to vtable - +0x15F8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1608 | offset to field `key` (string) - +0x15FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1600 | offset to field `value` (string) + +0x19AC | 90 E0 FF FF | SOffset32 | 0xFFFFE090 (-8048) Loc: +0x391C | offset to vtable + +0x19B0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x19C0 | offset to field `key` (string) + +0x19B4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x19B8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1600 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of string - +0x1604 | 00 | char | 0x00 (0) | string terminator + +0x19B8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of string + +0x19BC | 00 | char | 0x00 (0) | string terminator padding: - +0x1605 | 00 00 00 | uint8_t[3] | ... | padding + +0x19BD | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x1608 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x160C | 63 70 70 5F 70 74 72 5F | char[16] | cpp_ptr_ | string literal - +0x1614 | 74 79 70 65 5F 67 65 74 | | type_get - +0x161C | 00 | char | 0x00 (0) | string terminator + +0x19C0 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x19C4 | 63 70 70 5F 70 74 72 5F | char[16] | cpp_ptr_ | string literal + +0x19CC | 74 79 70 65 5F 67 65 74 | | type_get + +0x19D4 | 00 | char | 0x00 (0) | string terminator padding: - +0x161D | 00 00 00 | uint8_t[3] | ... | padding + +0x19D5 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1620 | BC E0 FF FF | SOffset32 | 0xFFFFE0BC (-8004) Loc: +0x3564 | offset to vtable - +0x1624 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1638 | offset to field `key` (string) - +0x1628 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x162C | offset to field `value` (string) + +0x19D8 | BC E0 FF FF | SOffset32 | 0xFFFFE0BC (-8004) Loc: +0x391C | offset to vtable + +0x19DC | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x19F0 | offset to field `key` (string) + +0x19E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x19E4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x162C | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x1630 | 6E 61 6B 65 64 | char[5] | naked | string literal - +0x1635 | 00 | char | 0x00 (0) | string terminator + +0x19E4 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x19E8 | 6E 61 6B 65 64 | char[5] | naked | string literal + +0x19ED | 00 | char | 0x00 (0) | string terminator padding: - +0x1636 | 00 00 | uint8_t[2] | .. | padding + +0x19EE | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x1638 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x163C | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x1644 | 74 79 70 65 | | type - +0x1648 | 00 | char | 0x00 (0) | string terminator + +0x19F0 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x19F4 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x19FC | 74 79 70 65 | | type + +0x1A00 | 00 | char | 0x00 (0) | string terminator padding: - +0x1649 | 00 00 00 | uint8_t[3] | ... | padding + +0x1A01 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x164C | C8 EA FF FF | SOffset32 | 0xFFFFEAC8 (-5432) Loc: +0x2B84 | offset to vtable - +0x1650 | 00 00 | uint8_t[2] | .. | padding - +0x1652 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1653 | 0A | uint8_t | 0x0A (10) | table field `element` (Byte) - +0x1654 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) + +0x1A04 | C8 EA FF FF | SOffset32 | 0xFFFFEAC8 (-5432) Loc: +0x2F3C | offset to vtable + +0x1A08 | 00 00 | uint8_t[2] | .. | padding + +0x1A0A | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x1A0B | 0A | uint8_t | 0x0A (10) | table field `element` (Byte) + +0x1A0C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1658 | 1F 00 00 00 | uint32_t | 0x0000001F (31) | length of string - +0x165C | 76 65 63 74 6F 72 5F 6F | char[31] | vector_o | string literal - +0x1664 | 66 5F 6E 6F 6E 5F 6F 77 | | f_non_ow - +0x166C | 6E 69 6E 67 5F 72 65 66 | | ning_ref - +0x1674 | 65 72 65 6E 63 65 73 | | erences - +0x167B | 00 | char | 0x00 (0) | string terminator + +0x1A10 | 1F 00 00 00 | uint32_t | 0x0000001F (31) | length of string + +0x1A14 | 76 65 63 74 6F 72 5F 6F | char[31] | vector_o | string literal + +0x1A1C | 66 5F 6E 6F 6E 5F 6F 77 | | f_non_ow + +0x1A24 | 6E 69 6E 67 5F 72 65 66 | | ning_ref + +0x1A2C | 65 72 65 6E 63 65 73 | | erences + +0x1A33 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x167C | 42 EC FF FF | SOffset32 | 0xFFFFEC42 (-5054) Loc: +0x2A3A | offset to vtable - +0x1680 | 29 00 | uint16_t | 0x0029 (41) | table field `id` (UShort) - +0x1682 | 56 00 | uint16_t | 0x0056 (86) | table field `offset` (UShort) - +0x1684 | 04 01 00 00 | UOffset32 | 0x00000104 (260) Loc: +0x1788 | offset to field `name` (string) - +0x1688 | F0 00 00 00 | UOffset32 | 0x000000F0 (240) Loc: +0x1778 | offset to field `type` (table) - +0x168C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1698 | offset to field `attributes` (vector) - +0x1690 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1694 | offset to field `documentation` (vector) + +0x1A34 | 42 EC FF FF | SOffset32 | 0xFFFFEC42 (-5054) Loc: +0x2DF2 | offset to vtable + +0x1A38 | 29 00 | uint16_t | 0x0029 (41) | table field `id` (UShort) + +0x1A3A | 56 00 | uint16_t | 0x0056 (86) | table field `offset` (UShort) + +0x1A3C | 04 01 00 00 | UOffset32 | 0x00000104 (260) Loc: +0x1B40 | offset to field `name` (string) + +0x1A40 | F0 00 00 00 | UOffset32 | 0x000000F0 (240) Loc: +0x1B30 | offset to field `type` (table) + +0x1A44 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1A50 | offset to field `attributes` (vector) + +0x1A48 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1A4C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1694 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1A4C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1698 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of vector (# items) - +0x169C | B0 00 00 00 | UOffset32 | 0x000000B0 (176) Loc: +0x174C | offset to table[0] - +0x16A0 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1720 | offset to table[1] - +0x16A4 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x16F4 | offset to table[2] - +0x16A8 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x16CC | offset to table[3] - +0x16AC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x16B0 | offset to table[4] + +0x1A50 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of vector (# items) + +0x1A54 | B0 00 00 00 | UOffset32 | 0x000000B0 (176) Loc: +0x1B04 | offset to table[0] + +0x1A58 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1AD8 | offset to table[1] + +0x1A5C | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1AAC | offset to table[2] + +0x1A60 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1A84 | offset to table[3] + +0x1A64 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1A68 | offset to table[4] table (reflection.KeyValue): - +0x16B0 | 4C E1 FF FF | SOffset32 | 0xFFFFE14C (-7860) Loc: +0x3564 | offset to vtable - +0x16B4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x16C4 | offset to field `key` (string) - +0x16B8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x16BC | offset to field `value` (string) + +0x1A68 | 4C E1 FF FF | SOffset32 | 0xFFFFE14C (-7860) Loc: +0x391C | offset to vtable + +0x1A6C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1A7C | offset to field `key` (string) + +0x1A70 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1A74 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x16BC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x16C0 | 34 31 | char[2] | 41 | string literal - +0x16C2 | 00 | char | 0x00 (0) | string terminator + +0x1A74 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1A78 | 34 31 | char[2] | 41 | string literal + +0x1A7A | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x16C4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x16C8 | 69 64 | char[2] | id | string literal - +0x16CA | 00 | char | 0x00 (0) | string terminator + +0x1A7C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1A80 | 69 64 | char[2] | id | string literal + +0x1A82 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x16CC | 68 E1 FF FF | SOffset32 | 0xFFFFE168 (-7832) Loc: +0x3564 | offset to vtable - +0x16D0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x16E8 | offset to field `key` (string) - +0x16D4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x16D8 | offset to field `value` (string) + +0x1A84 | 68 E1 FF FF | SOffset32 | 0xFFFFE168 (-7832) Loc: +0x391C | offset to vtable + +0x1A88 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1AA0 | offset to field `key` (string) + +0x1A8C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1A90 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x16D8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x16DC | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x16E4 | 00 | char | 0x00 (0) | string terminator + +0x1A90 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1A94 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x1A9C | 00 | char | 0x00 (0) | string terminator padding: - +0x16E5 | 00 00 00 | uint8_t[3] | ... | padding + +0x1A9D | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x16E8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x16EC | 68 61 73 68 | char[4] | hash | string literal - +0x16F0 | 00 | char | 0x00 (0) | string terminator + +0x1AA0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x1AA4 | 68 61 73 68 | char[4] | hash | string literal + +0x1AA8 | 00 | char | 0x00 (0) | string terminator padding: - +0x16F1 | 00 00 00 | uint8_t[3] | ... | padding + +0x1AA9 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x16F4 | 90 E1 FF FF | SOffset32 | 0xFFFFE190 (-7792) Loc: +0x3564 | offset to vtable - +0x16F8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1710 | offset to field `key` (string) - +0x16FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1700 | offset to field `value` (string) + +0x1AAC | 90 E1 FF FF | SOffset32 | 0xFFFFE190 (-7792) Loc: +0x391C | offset to vtable + +0x1AB0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1AC8 | offset to field `key` (string) + +0x1AB4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1AB8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1700 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x1704 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal - +0x170C | 6C 65 54 | | leT - +0x170F | 00 | char | 0x00 (0) | string terminator + +0x1AB8 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x1ABC | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal + +0x1AC4 | 6C 65 54 | | leT + +0x1AC7 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1710 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1714 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal - +0x171C | 00 | char | 0x00 (0) | string terminator + +0x1AC8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1ACC | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal + +0x1AD4 | 00 | char | 0x00 (0) | string terminator padding: - +0x171D | 00 00 00 | uint8_t[3] | ... | padding + +0x1AD5 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1720 | BC E1 FF FF | SOffset32 | 0xFFFFE1BC (-7748) Loc: +0x3564 | offset to vtable - +0x1724 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1734 | offset to field `key` (string) - +0x1728 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x172C | offset to field `value` (string) + +0x1AD8 | BC E1 FF FF | SOffset32 | 0xFFFFE1BC (-7748) Loc: +0x391C | offset to vtable + +0x1ADC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1AEC | offset to field `key` (string) + +0x1AE0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1AE4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x172C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of string - +0x1730 | 00 | char | 0x00 (0) | string terminator + +0x1AE4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of string + +0x1AE8 | 00 | char | 0x00 (0) | string terminator padding: - +0x1731 | 00 00 00 | uint8_t[3] | ... | padding + +0x1AE9 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x1734 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x1738 | 63 70 70 5F 70 74 72 5F | char[16] | cpp_ptr_ | string literal - +0x1740 | 74 79 70 65 5F 67 65 74 | | type_get - +0x1748 | 00 | char | 0x00 (0) | string terminator + +0x1AEC | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x1AF0 | 63 70 70 5F 70 74 72 5F | char[16] | cpp_ptr_ | string literal + +0x1AF8 | 74 79 70 65 5F 67 65 74 | | type_get + +0x1B00 | 00 | char | 0x00 (0) | string terminator padding: - +0x1749 | 00 00 00 | uint8_t[3] | ... | padding + +0x1B01 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x174C | E8 E1 FF FF | SOffset32 | 0xFFFFE1E8 (-7704) Loc: +0x3564 | offset to vtable - +0x1750 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1764 | offset to field `key` (string) - +0x1754 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1758 | offset to field `value` (string) + +0x1B04 | E8 E1 FF FF | SOffset32 | 0xFFFFE1E8 (-7704) Loc: +0x391C | offset to vtable + +0x1B08 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1B1C | offset to field `key` (string) + +0x1B0C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1B10 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1758 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x175C | 6E 61 6B 65 64 | char[5] | naked | string literal - +0x1761 | 00 | char | 0x00 (0) | string terminator + +0x1B10 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x1B14 | 6E 61 6B 65 64 | char[5] | naked | string literal + +0x1B19 | 00 | char | 0x00 (0) | string terminator padding: - +0x1762 | 00 00 | uint8_t[2] | .. | padding + +0x1B1A | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x1764 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x1768 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x1770 | 74 79 70 65 | | type - +0x1774 | 00 | char | 0x00 (0) | string terminator + +0x1B1C | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x1B20 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x1B28 | 74 79 70 65 | | type + +0x1B2C | 00 | char | 0x00 (0) | string terminator padding: - +0x1775 | 00 00 00 | uint8_t[3] | ... | padding + +0x1B2D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x1778 | 94 E0 FF FF | SOffset32 | 0xFFFFE094 (-8044) Loc: +0x36E4 | offset to vtable - +0x177C | 00 00 00 | uint8_t[3] | ... | padding - +0x177F | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x1780 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x1784 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x1B30 | 94 E0 FF FF | SOffset32 | 0xFFFFE094 (-8044) Loc: +0x3A9C | offset to vtable + +0x1B34 | 00 00 00 | uint8_t[3] | ... | padding + +0x1B37 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x1B38 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x1B3C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1788 | 14 00 00 00 | uint32_t | 0x00000014 (20) | length of string - +0x178C | 6E 6F 6E 5F 6F 77 6E 69 | char[20] | non_owni | string literal - +0x1794 | 6E 67 5F 72 65 66 65 72 | | ng_refer - +0x179C | 65 6E 63 65 | | ence - +0x17A0 | 00 | char | 0x00 (0) | string terminator + +0x1B40 | 14 00 00 00 | uint32_t | 0x00000014 (20) | length of string + +0x1B44 | 6E 6F 6E 5F 6F 77 6E 69 | char[20] | non_owni | string literal + +0x1B4C | 6E 67 5F 72 65 66 65 72 | | ng_refer + +0x1B54 | 65 6E 63 65 | | ence + +0x1B58 | 00 | char | 0x00 (0) | string terminator padding: - +0x17A1 | 00 00 00 | uint8_t[3] | ... | padding + +0x1B59 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x17A4 | 80 EC FF FF | SOffset32 | 0xFFFFEC80 (-4992) Loc: +0x2B24 | offset to vtable - +0x17A8 | 00 00 00 | uint8_t[3] | ... | padding - +0x17AB | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x17AC | 28 00 | uint16_t | 0x0028 (40) | table field `id` (UShort) - +0x17AE | 54 00 | uint16_t | 0x0054 (84) | table field `offset` (UShort) - +0x17B0 | 10 01 00 00 | UOffset32 | 0x00000110 (272) Loc: +0x18C0 | offset to field `name` (string) - +0x17B4 | 00 01 00 00 | UOffset32 | 0x00000100 (256) Loc: +0x18B4 | offset to field `type` (table) - +0x17B8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x17C4 | offset to field `attributes` (vector) - +0x17BC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x17C0 | offset to field `documentation` (vector) + +0x1B5C | 80 EC FF FF | SOffset32 | 0xFFFFEC80 (-4992) Loc: +0x2EDC | offset to vtable + +0x1B60 | 00 00 00 | uint8_t[3] | ... | padding + +0x1B63 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x1B64 | 28 00 | uint16_t | 0x0028 (40) | table field `id` (UShort) + +0x1B66 | 54 00 | uint16_t | 0x0054 (84) | table field `offset` (UShort) + +0x1B68 | 10 01 00 00 | UOffset32 | 0x00000110 (272) Loc: +0x1C78 | offset to field `name` (string) + +0x1B6C | 00 01 00 00 | UOffset32 | 0x00000100 (256) Loc: +0x1C6C | offset to field `type` (table) + +0x1B70 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1B7C | offset to field `attributes` (vector) + +0x1B74 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1B78 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x17C0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1B78 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x17C4 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of vector (# items) - +0x17C8 | B4 00 00 00 | UOffset32 | 0x000000B4 (180) Loc: +0x187C | offset to table[0] - +0x17CC | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x184C | offset to table[1] - +0x17D0 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1820 | offset to table[2] - +0x17D4 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x17F8 | offset to table[3] - +0x17D8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x17DC | offset to table[4] + +0x1B7C | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of vector (# items) + +0x1B80 | B4 00 00 00 | UOffset32 | 0x000000B4 (180) Loc: +0x1C34 | offset to table[0] + +0x1B84 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1C04 | offset to table[1] + +0x1B88 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1BD8 | offset to table[2] + +0x1B8C | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1BB0 | offset to table[3] + +0x1B90 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1B94 | offset to table[4] table (reflection.KeyValue): - +0x17DC | 78 E2 FF FF | SOffset32 | 0xFFFFE278 (-7560) Loc: +0x3564 | offset to vtable - +0x17E0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x17F0 | offset to field `key` (string) - +0x17E4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x17E8 | offset to field `value` (string) + +0x1B94 | 78 E2 FF FF | SOffset32 | 0xFFFFE278 (-7560) Loc: +0x391C | offset to vtable + +0x1B98 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1BA8 | offset to field `key` (string) + +0x1B9C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1BA0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x17E8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x17EC | 34 30 | char[2] | 40 | string literal - +0x17EE | 00 | char | 0x00 (0) | string terminator + +0x1BA0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1BA4 | 34 30 | char[2] | 40 | string literal + +0x1BA6 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x17F0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x17F4 | 69 64 | char[2] | id | string literal - +0x17F6 | 00 | char | 0x00 (0) | string terminator + +0x1BA8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1BAC | 69 64 | char[2] | id | string literal + +0x1BAE | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x17F8 | 94 E2 FF FF | SOffset32 | 0xFFFFE294 (-7532) Loc: +0x3564 | offset to vtable - +0x17FC | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1814 | offset to field `key` (string) - +0x1800 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1804 | offset to field `value` (string) + +0x1BB0 | 94 E2 FF FF | SOffset32 | 0xFFFFE294 (-7532) Loc: +0x391C | offset to vtable + +0x1BB4 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1BCC | offset to field `key` (string) + +0x1BB8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1BBC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1804 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1808 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x1810 | 00 | char | 0x00 (0) | string terminator + +0x1BBC | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1BC0 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x1BC8 | 00 | char | 0x00 (0) | string terminator padding: - +0x1811 | 00 00 00 | uint8_t[3] | ... | padding + +0x1BC9 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x1814 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x1818 | 68 61 73 68 | char[4] | hash | string literal - +0x181C | 00 | char | 0x00 (0) | string terminator + +0x1BCC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x1BD0 | 68 61 73 68 | char[4] | hash | string literal + +0x1BD4 | 00 | char | 0x00 (0) | string terminator padding: - +0x181D | 00 00 00 | uint8_t[3] | ... | padding + +0x1BD5 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1820 | BC E2 FF FF | SOffset32 | 0xFFFFE2BC (-7492) Loc: +0x3564 | offset to vtable - +0x1824 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x183C | offset to field `key` (string) - +0x1828 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x182C | offset to field `value` (string) + +0x1BD8 | BC E2 FF FF | SOffset32 | 0xFFFFE2BC (-7492) Loc: +0x391C | offset to vtable + +0x1BDC | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1BF4 | offset to field `key` (string) + +0x1BE0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1BE4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x182C | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x1830 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal - +0x1838 | 6C 65 54 | | leT - +0x183B | 00 | char | 0x00 (0) | string terminator + +0x1BE4 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x1BE8 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal + +0x1BF0 | 6C 65 54 | | leT + +0x1BF3 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x183C | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1840 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal - +0x1848 | 00 | char | 0x00 (0) | string terminator + +0x1BF4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1BF8 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal + +0x1C00 | 00 | char | 0x00 (0) | string terminator padding: - +0x1849 | 00 00 00 | uint8_t[3] | ... | padding + +0x1C01 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x184C | E8 E2 FF FF | SOffset32 | 0xFFFFE2E8 (-7448) Loc: +0x3564 | offset to vtable - +0x1850 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1864 | offset to field `key` (string) - +0x1854 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1858 | offset to field `value` (string) + +0x1C04 | E8 E2 FF FF | SOffset32 | 0xFFFFE2E8 (-7448) Loc: +0x391C | offset to vtable + +0x1C08 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1C1C | offset to field `key` (string) + +0x1C0C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1C10 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1858 | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string - +0x185C | 2E 67 65 74 28 29 | char[6] | .get() | string literal - +0x1862 | 00 | char | 0x00 (0) | string terminator + +0x1C10 | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string + +0x1C14 | 2E 67 65 74 28 29 | char[6] | .get() | string literal + +0x1C1A | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1864 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x1868 | 63 70 70 5F 70 74 72 5F | char[16] | cpp_ptr_ | string literal - +0x1870 | 74 79 70 65 5F 67 65 74 | | type_get - +0x1878 | 00 | char | 0x00 (0) | string terminator + +0x1C1C | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x1C20 | 63 70 70 5F 70 74 72 5F | char[16] | cpp_ptr_ | string literal + +0x1C28 | 74 79 70 65 5F 67 65 74 | | type_get + +0x1C30 | 00 | char | 0x00 (0) | string terminator padding: - +0x1879 | 00 00 00 | uint8_t[3] | ... | padding + +0x1C31 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x187C | 18 E3 FF FF | SOffset32 | 0xFFFFE318 (-7400) Loc: +0x3564 | offset to vtable - +0x1880 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x18A0 | offset to field `key` (string) - +0x1884 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1888 | offset to field `value` (string) + +0x1C34 | 18 E3 FF FF | SOffset32 | 0xFFFFE318 (-7400) Loc: +0x391C | offset to vtable + +0x1C38 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x1C58 | offset to field `key` (string) + +0x1C3C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1C40 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1888 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x188C | 64 65 66 61 75 6C 74 5F | char[16] | default_ | string literal - +0x1894 | 70 74 72 5F 74 79 70 65 | | ptr_type - +0x189C | 00 | char | 0x00 (0) | string terminator + +0x1C40 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x1C44 | 64 65 66 61 75 6C 74 5F | char[16] | default_ | string literal + +0x1C4C | 70 74 72 5F 74 79 70 65 | | ptr_type + +0x1C54 | 00 | char | 0x00 (0) | string terminator padding: - +0x189D | 00 00 00 | uint8_t[3] | ... | padding + +0x1C55 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x18A0 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x18A4 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x18AC | 74 79 70 65 | | type - +0x18B0 | 00 | char | 0x00 (0) | string terminator + +0x1C58 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x1C5C | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x1C64 | 74 79 70 65 | | type + +0x1C68 | 00 | char | 0x00 (0) | string terminator padding: - +0x18B1 | 00 00 00 | uint8_t[3] | ... | padding + +0x1C69 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x18B4 | 30 ED FF FF | SOffset32 | 0xFFFFED30 (-4816) Loc: +0x2B84 | offset to vtable - +0x18B8 | 00 00 | uint8_t[2] | .. | padding - +0x18BA | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x18BB | 0A | uint8_t | 0x0A (10) | table field `element` (Byte) - +0x18BC | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) + +0x1C6C | 30 ED FF FF | SOffset32 | 0xFFFFED30 (-4816) Loc: +0x2F3C | offset to vtable + +0x1C70 | 00 00 | uint8_t[2] | .. | padding + +0x1C72 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x1C73 | 0A | uint8_t | 0x0A (10) | table field `element` (Byte) + +0x1C74 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) string (reflection.Field.name): - +0x18C0 | 1E 00 00 00 | uint32_t | 0x0000001E (30) | length of string - +0x18C4 | 76 65 63 74 6F 72 5F 6F | char[30] | vector_o | string literal - +0x18CC | 66 5F 63 6F 5F 6F 77 6E | | f_co_own - +0x18D4 | 69 6E 67 5F 72 65 66 65 | | ing_refe - +0x18DC | 72 65 6E 63 65 73 | | rences - +0x18E2 | 00 | char | 0x00 (0) | string terminator + +0x1C78 | 1E 00 00 00 | uint32_t | 0x0000001E (30) | length of string + +0x1C7C | 76 65 63 74 6F 72 5F 6F | char[30] | vector_o | string literal + +0x1C84 | 66 5F 63 6F 5F 6F 77 6E | | f_co_own + +0x1C8C | 69 6E 67 5F 72 65 66 65 | | ing_refe + +0x1C94 | 72 65 6E 63 65 73 | | rences + +0x1C9A | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x18E4 | AA EE FF FF | SOffset32 | 0xFFFFEEAA (-4438) Loc: +0x2A3A | offset to vtable - +0x18E8 | 27 00 | uint16_t | 0x0027 (39) | table field `id` (UShort) - +0x18EA | 52 00 | uint16_t | 0x0052 (82) | table field `offset` (UShort) - +0x18EC | D4 00 00 00 | UOffset32 | 0x000000D4 (212) Loc: +0x19C0 | offset to field `name` (string) - +0x18F0 | C0 00 00 00 | UOffset32 | 0x000000C0 (192) Loc: +0x19B0 | offset to field `type` (table) - +0x18F4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1900 | offset to field `attributes` (vector) - +0x18F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x18FC | offset to field `documentation` (vector) + +0x1C9C | AA EE FF FF | SOffset32 | 0xFFFFEEAA (-4438) Loc: +0x2DF2 | offset to vtable + +0x1CA0 | 27 00 | uint16_t | 0x0027 (39) | table field `id` (UShort) + +0x1CA2 | 52 00 | uint16_t | 0x0052 (82) | table field `offset` (UShort) + +0x1CA4 | D4 00 00 00 | UOffset32 | 0x000000D4 (212) Loc: +0x1D78 | offset to field `name` (string) + +0x1CA8 | C0 00 00 00 | UOffset32 | 0x000000C0 (192) Loc: +0x1D68 | offset to field `type` (table) + +0x1CAC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1CB8 | offset to field `attributes` (vector) + +0x1CB0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1CB4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x18FC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1CB4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1900 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) - +0x1904 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1984 | offset to table[0] - +0x1908 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1958 | offset to table[1] - +0x190C | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1930 | offset to table[2] - +0x1910 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1914 | offset to table[3] + +0x1CB8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) + +0x1CBC | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1D3C | offset to table[0] + +0x1CC0 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1D10 | offset to table[1] + +0x1CC4 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1CE8 | offset to table[2] + +0x1CC8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1CCC | offset to table[3] table (reflection.KeyValue): - +0x1914 | B0 E3 FF FF | SOffset32 | 0xFFFFE3B0 (-7248) Loc: +0x3564 | offset to vtable - +0x1918 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1928 | offset to field `key` (string) - +0x191C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1920 | offset to field `value` (string) + +0x1CCC | B0 E3 FF FF | SOffset32 | 0xFFFFE3B0 (-7248) Loc: +0x391C | offset to vtable + +0x1CD0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1CE0 | offset to field `key` (string) + +0x1CD4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1CD8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1920 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1924 | 33 39 | char[2] | 39 | string literal - +0x1926 | 00 | char | 0x00 (0) | string terminator + +0x1CD8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1CDC | 33 39 | char[2] | 39 | string literal + +0x1CDE | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1928 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x192C | 69 64 | char[2] | id | string literal - +0x192E | 00 | char | 0x00 (0) | string terminator + +0x1CE0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1CE4 | 69 64 | char[2] | id | string literal + +0x1CE6 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x1930 | CC E3 FF FF | SOffset32 | 0xFFFFE3CC (-7220) Loc: +0x3564 | offset to vtable - +0x1934 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x194C | offset to field `key` (string) - +0x1938 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x193C | offset to field `value` (string) + +0x1CE8 | CC E3 FF FF | SOffset32 | 0xFFFFE3CC (-7220) Loc: +0x391C | offset to vtable + +0x1CEC | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1D04 | offset to field `key` (string) + +0x1CF0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1CF4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x193C | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1940 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x1948 | 00 | char | 0x00 (0) | string terminator + +0x1CF4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1CF8 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x1D00 | 00 | char | 0x00 (0) | string terminator padding: - +0x1949 | 00 00 00 | uint8_t[3] | ... | padding + +0x1D01 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x194C | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x1950 | 68 61 73 68 | char[4] | hash | string literal - +0x1954 | 00 | char | 0x00 (0) | string terminator + +0x1D04 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x1D08 | 68 61 73 68 | char[4] | hash | string literal + +0x1D0C | 00 | char | 0x00 (0) | string terminator padding: - +0x1955 | 00 00 00 | uint8_t[3] | ... | padding + +0x1D0D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1958 | F4 E3 FF FF | SOffset32 | 0xFFFFE3F4 (-7180) Loc: +0x3564 | offset to vtable - +0x195C | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1974 | offset to field `key` (string) - +0x1960 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1964 | offset to field `value` (string) + +0x1D10 | F4 E3 FF FF | SOffset32 | 0xFFFFE3F4 (-7180) Loc: +0x391C | offset to vtable + +0x1D14 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1D2C | offset to field `key` (string) + +0x1D18 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D1C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1964 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x1968 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal - +0x1970 | 6C 65 54 | | leT - +0x1973 | 00 | char | 0x00 (0) | string terminator + +0x1D1C | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x1D20 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal + +0x1D28 | 6C 65 54 | | leT + +0x1D2B | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1974 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1978 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal - +0x1980 | 00 | char | 0x00 (0) | string terminator + +0x1D2C | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1D30 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal + +0x1D38 | 00 | char | 0x00 (0) | string terminator padding: - +0x1981 | 00 00 00 | uint8_t[3] | ... | padding + +0x1D39 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1984 | 20 E4 FF FF | SOffset32 | 0xFFFFE420 (-7136) Loc: +0x3564 | offset to vtable - +0x1988 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x199C | offset to field `key` (string) - +0x198C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1990 | offset to field `value` (string) + +0x1D3C | 20 E4 FF FF | SOffset32 | 0xFFFFE420 (-7136) Loc: +0x391C | offset to vtable + +0x1D40 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1D54 | offset to field `key` (string) + +0x1D44 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D48 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1990 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x1994 | 6E 61 6B 65 64 | char[5] | naked | string literal - +0x1999 | 00 | char | 0x00 (0) | string terminator + +0x1D48 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x1D4C | 6E 61 6B 65 64 | char[5] | naked | string literal + +0x1D51 | 00 | char | 0x00 (0) | string terminator padding: - +0x199A | 00 00 | uint8_t[2] | .. | padding + +0x1D52 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x199C | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x19A0 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x19A8 | 74 79 70 65 | | type - +0x19AC | 00 | char | 0x00 (0) | string terminator + +0x1D54 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x1D58 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x1D60 | 74 79 70 65 | | type + +0x1D64 | 00 | char | 0x00 (0) | string terminator padding: - +0x19AD | 00 00 00 | uint8_t[3] | ... | padding + +0x1D65 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x19B0 | CC E2 FF FF | SOffset32 | 0xFFFFE2CC (-7476) Loc: +0x36E4 | offset to vtable - +0x19B4 | 00 00 00 | uint8_t[3] | ... | padding - +0x19B7 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x19B8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x19BC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x1D68 | CC E2 FF FF | SOffset32 | 0xFFFFE2CC (-7476) Loc: +0x3A9C | offset to vtable + +0x1D6C | 00 00 00 | uint8_t[3] | ... | padding + +0x1D6F | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x1D70 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x1D74 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x19C0 | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string - +0x19C4 | 63 6F 5F 6F 77 6E 69 6E | char[19] | co_ownin | string literal - +0x19CC | 67 5F 72 65 66 65 72 65 | | g_refere - +0x19D4 | 6E 63 65 | | nce - +0x19D7 | 00 | char | 0x00 (0) | string terminator + +0x1D78 | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string + +0x1D7C | 63 6F 5F 6F 77 6E 69 6E | char[19] | co_ownin | string literal + +0x1D84 | 67 5F 72 65 66 65 72 65 | | g_refere + +0x1D8C | 6E 63 65 | | nce + +0x1D8F | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x19D8 | B4 EE FF FF | SOffset32 | 0xFFFFEEB4 (-4428) Loc: +0x2B24 | offset to vtable - +0x19DC | 00 00 00 | uint8_t[3] | ... | padding - +0x19DF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x19E0 | 26 00 | uint16_t | 0x0026 (38) | table field `id` (UShort) - +0x19E2 | 50 00 | uint16_t | 0x0050 (80) | table field `offset` (UShort) - +0x19E4 | 84 00 00 00 | UOffset32 | 0x00000084 (132) Loc: +0x1A68 | offset to field `name` (string) - +0x19E8 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x1A58 | offset to field `type` (table) - +0x19EC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x19F8 | offset to field `attributes` (vector) - +0x19F0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x19F4 | offset to field `documentation` (vector) + +0x1D90 | B4 EE FF FF | SOffset32 | 0xFFFFEEB4 (-4428) Loc: +0x2EDC | offset to vtable + +0x1D94 | 00 00 00 | uint8_t[3] | ... | padding + +0x1D97 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x1D98 | 26 00 | uint16_t | 0x0026 (38) | table field `id` (UShort) + +0x1D9A | 50 00 | uint16_t | 0x0050 (80) | table field `offset` (UShort) + +0x1D9C | 84 00 00 00 | UOffset32 | 0x00000084 (132) Loc: +0x1E20 | offset to field `name` (string) + +0x1DA0 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x1E10 | offset to field `type` (table) + +0x1DA4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1DB0 | offset to field `attributes` (vector) + +0x1DA8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1DAC | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x19F4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1DAC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x19F8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x19FC | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1A20 | offset to table[0] - +0x1A00 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1A04 | offset to table[1] + +0x1DB0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x1DB4 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1DD8 | offset to table[0] + +0x1DB8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1DBC | offset to table[1] table (reflection.KeyValue): - +0x1A04 | A0 E4 FF FF | SOffset32 | 0xFFFFE4A0 (-7008) Loc: +0x3564 | offset to vtable - +0x1A08 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1A18 | offset to field `key` (string) - +0x1A0C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1A10 | offset to field `value` (string) + +0x1DBC | A0 E4 FF FF | SOffset32 | 0xFFFFE4A0 (-7008) Loc: +0x391C | offset to vtable + +0x1DC0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1DD0 | offset to field `key` (string) + +0x1DC4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1DC8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1A10 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1A14 | 33 38 | char[2] | 38 | string literal - +0x1A16 | 00 | char | 0x00 (0) | string terminator + +0x1DC8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1DCC | 33 38 | char[2] | 38 | string literal + +0x1DCE | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1A18 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1A1C | 69 64 | char[2] | id | string literal - +0x1A1E | 00 | char | 0x00 (0) | string terminator + +0x1DD0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1DD4 | 69 64 | char[2] | id | string literal + +0x1DD6 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x1A20 | BC E4 FF FF | SOffset32 | 0xFFFFE4BC (-6980) Loc: +0x3564 | offset to vtable - +0x1A24 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x1A44 | offset to field `key` (string) - +0x1A28 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1A2C | offset to field `value` (string) + +0x1DD8 | BC E4 FF FF | SOffset32 | 0xFFFFE4BC (-6980) Loc: +0x391C | offset to vtable + +0x1DDC | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x1DFC | offset to field `key` (string) + +0x1DE0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1DE4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1A2C | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x1A30 | 64 65 66 61 75 6C 74 5F | char[16] | default_ | string literal - +0x1A38 | 70 74 72 5F 74 79 70 65 | | ptr_type - +0x1A40 | 00 | char | 0x00 (0) | string terminator + +0x1DE4 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x1DE8 | 64 65 66 61 75 6C 74 5F | char[16] | default_ | string literal + +0x1DF0 | 70 74 72 5F 74 79 70 65 | | ptr_type + +0x1DF8 | 00 | char | 0x00 (0) | string terminator padding: - +0x1A41 | 00 00 00 | uint8_t[3] | ... | padding + +0x1DF9 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x1A44 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x1A48 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x1A50 | 74 79 70 65 | | type - +0x1A54 | 00 | char | 0x00 (0) | string terminator + +0x1DFC | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x1E00 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x1E08 | 74 79 70 65 | | type + +0x1E0C | 00 | char | 0x00 (0) | string terminator padding: - +0x1A55 | 00 00 00 | uint8_t[3] | ... | padding + +0x1E0D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x1A58 | A8 F0 FF FF | SOffset32 | 0xFFFFF0A8 (-3928) Loc: +0x29B0 | offset to vtable - +0x1A5C | 00 00 | uint8_t[2] | .. | padding - +0x1A5E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1A5F | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) - +0x1A60 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) - +0x1A64 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x1E10 | A8 F0 FF FF | SOffset32 | 0xFFFFF0A8 (-3928) Loc: +0x2D68 | offset to vtable + +0x1E14 | 00 00 | uint8_t[2] | .. | padding + +0x1E16 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x1E17 | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) + +0x1E18 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) + +0x1E1C | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1A68 | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string - +0x1A6C | 76 65 63 74 6F 72 5F 6F | char[28] | vector_o | string literal - +0x1A74 | 66 5F 73 74 72 6F 6E 67 | | f_strong - +0x1A7C | 5F 72 65 66 65 72 72 61 | | _referra - +0x1A84 | 62 6C 65 73 | | bles - +0x1A88 | 00 | char | 0x00 (0) | string terminator + +0x1E20 | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string + +0x1E24 | 76 65 63 74 6F 72 5F 6F | char[28] | vector_o | string literal + +0x1E2C | 66 5F 73 74 72 6F 6E 67 | | f_strong + +0x1E34 | 5F 72 65 66 65 72 72 61 | | _referra + +0x1E3C | 62 6C 65 73 | | bles + +0x1E40 | 00 | char | 0x00 (0) | string terminator padding: - +0x1A89 | 00 00 00 | uint8_t[3] | ... | padding + +0x1E41 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x1A8C | 68 EF FF FF | SOffset32 | 0xFFFFEF68 (-4248) Loc: +0x2B24 | offset to vtable - +0x1A90 | 00 00 00 | uint8_t[3] | ... | padding - +0x1A93 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1A94 | 25 00 | uint16_t | 0x0025 (37) | table field `id` (UShort) - +0x1A96 | 4E 00 | uint16_t | 0x004E (78) | table field `offset` (UShort) - +0x1A98 | D0 00 00 00 | UOffset32 | 0x000000D0 (208) Loc: +0x1B68 | offset to field `name` (string) - +0x1A9C | C0 00 00 00 | UOffset32 | 0x000000C0 (192) Loc: +0x1B5C | offset to field `type` (table) - +0x1AA0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1AAC | offset to field `attributes` (vector) - +0x1AA4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1AA8 | offset to field `documentation` (vector) + +0x1E44 | 68 EF FF FF | SOffset32 | 0xFFFFEF68 (-4248) Loc: +0x2EDC | offset to vtable + +0x1E48 | 00 00 00 | uint8_t[3] | ... | padding + +0x1E4B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x1E4C | 25 00 | uint16_t | 0x0025 (37) | table field `id` (UShort) + +0x1E4E | 4E 00 | uint16_t | 0x004E (78) | table field `offset` (UShort) + +0x1E50 | D0 00 00 00 | UOffset32 | 0x000000D0 (208) Loc: +0x1F20 | offset to field `name` (string) + +0x1E54 | C0 00 00 00 | UOffset32 | 0x000000C0 (192) Loc: +0x1F14 | offset to field `type` (table) + +0x1E58 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1E64 | offset to field `attributes` (vector) + +0x1E5C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1E60 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1AA8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1E60 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1AAC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) - +0x1AB0 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1B30 | offset to table[0] - +0x1AB4 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1B04 | offset to table[1] - +0x1AB8 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1ADC | offset to table[2] - +0x1ABC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1AC0 | offset to table[3] + +0x1E64 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) + +0x1E68 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1EE8 | offset to table[0] + +0x1E6C | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1EBC | offset to table[1] + +0x1E70 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1E94 | offset to table[2] + +0x1E74 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1E78 | offset to table[3] table (reflection.KeyValue): - +0x1AC0 | 5C E5 FF FF | SOffset32 | 0xFFFFE55C (-6820) Loc: +0x3564 | offset to vtable - +0x1AC4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1AD4 | offset to field `key` (string) - +0x1AC8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1ACC | offset to field `value` (string) + +0x1E78 | 5C E5 FF FF | SOffset32 | 0xFFFFE55C (-6820) Loc: +0x391C | offset to vtable + +0x1E7C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1E8C | offset to field `key` (string) + +0x1E80 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1E84 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1ACC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1AD0 | 33 37 | char[2] | 37 | string literal - +0x1AD2 | 00 | char | 0x00 (0) | string terminator + +0x1E84 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1E88 | 33 37 | char[2] | 37 | string literal + +0x1E8A | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1AD4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1AD8 | 69 64 | char[2] | id | string literal - +0x1ADA | 00 | char | 0x00 (0) | string terminator + +0x1E8C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1E90 | 69 64 | char[2] | id | string literal + +0x1E92 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x1ADC | 78 E5 FF FF | SOffset32 | 0xFFFFE578 (-6792) Loc: +0x3564 | offset to vtable - +0x1AE0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1AF8 | offset to field `key` (string) - +0x1AE4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1AE8 | offset to field `value` (string) + +0x1E94 | 78 E5 FF FF | SOffset32 | 0xFFFFE578 (-6792) Loc: +0x391C | offset to vtable + +0x1E98 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1EB0 | offset to field `key` (string) + +0x1E9C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1EA0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1AE8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1AEC | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x1AF4 | 00 | char | 0x00 (0) | string terminator + +0x1EA0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1EA4 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x1EAC | 00 | char | 0x00 (0) | string terminator padding: - +0x1AF5 | 00 00 00 | uint8_t[3] | ... | padding + +0x1EAD | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x1AF8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x1AFC | 68 61 73 68 | char[4] | hash | string literal - +0x1B00 | 00 | char | 0x00 (0) | string terminator + +0x1EB0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x1EB4 | 68 61 73 68 | char[4] | hash | string literal + +0x1EB8 | 00 | char | 0x00 (0) | string terminator padding: - +0x1B01 | 00 00 00 | uint8_t[3] | ... | padding + +0x1EB9 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1B04 | A0 E5 FF FF | SOffset32 | 0xFFFFE5A0 (-6752) Loc: +0x3564 | offset to vtable - +0x1B08 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1B20 | offset to field `key` (string) - +0x1B0C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1B10 | offset to field `value` (string) + +0x1EBC | A0 E5 FF FF | SOffset32 | 0xFFFFE5A0 (-6752) Loc: +0x391C | offset to vtable + +0x1EC0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1ED8 | offset to field `key` (string) + +0x1EC4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1EC8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1B10 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x1B14 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal - +0x1B1C | 6C 65 54 | | leT - +0x1B1F | 00 | char | 0x00 (0) | string terminator + +0x1EC8 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x1ECC | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal + +0x1ED4 | 6C 65 54 | | leT + +0x1ED7 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1B20 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1B24 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal - +0x1B2C | 00 | char | 0x00 (0) | string terminator + +0x1ED8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1EDC | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal + +0x1EE4 | 00 | char | 0x00 (0) | string terminator padding: - +0x1B2D | 00 00 00 | uint8_t[3] | ... | padding + +0x1EE5 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1B30 | CC E5 FF FF | SOffset32 | 0xFFFFE5CC (-6708) Loc: +0x3564 | offset to vtable - +0x1B34 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1B48 | offset to field `key` (string) - +0x1B38 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1B3C | offset to field `value` (string) + +0x1EE8 | CC E5 FF FF | SOffset32 | 0xFFFFE5CC (-6708) Loc: +0x391C | offset to vtable + +0x1EEC | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1F00 | offset to field `key` (string) + +0x1EF0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1EF4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1B3C | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x1B40 | 6E 61 6B 65 64 | char[5] | naked | string literal - +0x1B45 | 00 | char | 0x00 (0) | string terminator + +0x1EF4 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x1EF8 | 6E 61 6B 65 64 | char[5] | naked | string literal + +0x1EFD | 00 | char | 0x00 (0) | string terminator padding: - +0x1B46 | 00 00 | uint8_t[2] | .. | padding + +0x1EFE | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x1B48 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x1B4C | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x1B54 | 74 79 70 65 | | type - +0x1B58 | 00 | char | 0x00 (0) | string terminator + +0x1F00 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x1F04 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x1F0C | 74 79 70 65 | | type + +0x1F10 | 00 | char | 0x00 (0) | string terminator padding: - +0x1B59 | 00 00 00 | uint8_t[3] | ... | padding + +0x1F11 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x1B5C | D8 EF FF FF | SOffset32 | 0xFFFFEFD8 (-4136) Loc: +0x2B84 | offset to vtable - +0x1B60 | 00 00 | uint8_t[2] | .. | padding - +0x1B62 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1B63 | 0A | uint8_t | 0x0A (10) | table field `element` (Byte) - +0x1B64 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) + +0x1F14 | D8 EF FF FF | SOffset32 | 0xFFFFEFD8 (-4136) Loc: +0x2F3C | offset to vtable + +0x1F18 | 00 00 | uint8_t[2] | .. | padding + +0x1F1A | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x1F1B | 0A | uint8_t | 0x0A (10) | table field `element` (Byte) + +0x1F1C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1B68 | 19 00 00 00 | uint32_t | 0x00000019 (25) | length of string - +0x1B6C | 76 65 63 74 6F 72 5F 6F | char[25] | vector_o | string literal - +0x1B74 | 66 5F 77 65 61 6B 5F 72 | | f_weak_r - +0x1B7C | 65 66 65 72 65 6E 63 65 | | eference - +0x1B84 | 73 | | s - +0x1B85 | 00 | char | 0x00 (0) | string terminator + +0x1F20 | 19 00 00 00 | uint32_t | 0x00000019 (25) | length of string + +0x1F24 | 76 65 63 74 6F 72 5F 6F | char[25] | vector_o | string literal + +0x1F2C | 66 5F 77 65 61 6B 5F 72 | | f_weak_r + +0x1F34 | 65 66 65 72 65 6E 63 65 | | eference + +0x1F3C | 73 | | s + +0x1F3D | 00 | char | 0x00 (0) | string terminator padding: - +0x1B86 | 00 00 | uint8_t[2] | .. | padding + +0x1F3E | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x1B88 | 4E F1 FF FF | SOffset32 | 0xFFFFF14E (-3762) Loc: +0x2A3A | offset to vtable - +0x1B8C | 24 00 | uint16_t | 0x0024 (36) | table field `id` (UShort) - +0x1B8E | 4C 00 | uint16_t | 0x004C (76) | table field `offset` (UShort) - +0x1B90 | D4 00 00 00 | UOffset32 | 0x000000D4 (212) Loc: +0x1C64 | offset to field `name` (string) - +0x1B94 | C0 00 00 00 | UOffset32 | 0x000000C0 (192) Loc: +0x1C54 | offset to field `type` (table) - +0x1B98 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1BA4 | offset to field `attributes` (vector) - +0x1B9C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1BA0 | offset to field `documentation` (vector) + +0x1F40 | 4E F1 FF FF | SOffset32 | 0xFFFFF14E (-3762) Loc: +0x2DF2 | offset to vtable + +0x1F44 | 24 00 | uint16_t | 0x0024 (36) | table field `id` (UShort) + +0x1F46 | 4C 00 | uint16_t | 0x004C (76) | table field `offset` (UShort) + +0x1F48 | D4 00 00 00 | UOffset32 | 0x000000D4 (212) Loc: +0x201C | offset to field `name` (string) + +0x1F4C | C0 00 00 00 | UOffset32 | 0x000000C0 (192) Loc: +0x200C | offset to field `type` (table) + +0x1F50 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1F5C | offset to field `attributes` (vector) + +0x1F54 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F58 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1BA0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x1F58 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1BA4 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) - +0x1BA8 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1C28 | offset to table[0] - +0x1BAC | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1BFC | offset to table[1] - +0x1BB0 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1BD4 | offset to table[2] - +0x1BB4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1BB8 | offset to table[3] + +0x1F5C | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) + +0x1F60 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x1FE0 | offset to table[0] + +0x1F64 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x1FB4 | offset to table[1] + +0x1F68 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1F8C | offset to table[2] + +0x1F6C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F70 | offset to table[3] table (reflection.KeyValue): - +0x1BB8 | 54 E6 FF FF | SOffset32 | 0xFFFFE654 (-6572) Loc: +0x3564 | offset to vtable - +0x1BBC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1BCC | offset to field `key` (string) - +0x1BC0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1BC4 | offset to field `value` (string) + +0x1F70 | 54 E6 FF FF | SOffset32 | 0xFFFFE654 (-6572) Loc: +0x391C | offset to vtable + +0x1F74 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1F84 | offset to field `key` (string) + +0x1F78 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F7C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1BC4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1BC8 | 33 36 | char[2] | 36 | string literal - +0x1BCA | 00 | char | 0x00 (0) | string terminator + +0x1F7C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1F80 | 33 36 | char[2] | 36 | string literal + +0x1F82 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1BCC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1BD0 | 69 64 | char[2] | id | string literal - +0x1BD2 | 00 | char | 0x00 (0) | string terminator + +0x1F84 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x1F88 | 69 64 | char[2] | id | string literal + +0x1F8A | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x1BD4 | 70 E6 FF FF | SOffset32 | 0xFFFFE670 (-6544) Loc: +0x3564 | offset to vtable - +0x1BD8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1BF0 | offset to field `key` (string) - +0x1BDC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1BE0 | offset to field `value` (string) + +0x1F8C | 70 E6 FF FF | SOffset32 | 0xFFFFE670 (-6544) Loc: +0x391C | offset to vtable + +0x1F90 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1FA8 | offset to field `key` (string) + +0x1F94 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F98 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1BE0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1BE4 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x1BEC | 00 | char | 0x00 (0) | string terminator + +0x1F98 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1F9C | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x1FA4 | 00 | char | 0x00 (0) | string terminator padding: - +0x1BED | 00 00 00 | uint8_t[3] | ... | padding + +0x1FA5 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x1BF0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x1BF4 | 68 61 73 68 | char[4] | hash | string literal - +0x1BF8 | 00 | char | 0x00 (0) | string terminator + +0x1FA8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x1FAC | 68 61 73 68 | char[4] | hash | string literal + +0x1FB0 | 00 | char | 0x00 (0) | string terminator padding: - +0x1BF9 | 00 00 00 | uint8_t[3] | ... | padding + +0x1FB1 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1BFC | 98 E6 FF FF | SOffset32 | 0xFFFFE698 (-6504) Loc: +0x3564 | offset to vtable - +0x1C00 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1C18 | offset to field `key` (string) - +0x1C04 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1C08 | offset to field `value` (string) + +0x1FB4 | 98 E6 FF FF | SOffset32 | 0xFFFFE698 (-6504) Loc: +0x391C | offset to vtable + +0x1FB8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x1FD0 | offset to field `key` (string) + +0x1FBC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1FC0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1C08 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x1C0C | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal - +0x1C14 | 6C 65 54 | | leT - +0x1C17 | 00 | char | 0x00 (0) | string terminator + +0x1FC0 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x1FC4 | 52 65 66 65 72 72 61 62 | char[11] | Referrab | string literal + +0x1FCC | 6C 65 54 | | leT + +0x1FCF | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1C18 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x1C1C | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal - +0x1C24 | 00 | char | 0x00 (0) | string terminator + +0x1FD0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x1FD4 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal + +0x1FDC | 00 | char | 0x00 (0) | string terminator padding: - +0x1C25 | 00 00 00 | uint8_t[3] | ... | padding + +0x1FDD | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x1C28 | C4 E6 FF FF | SOffset32 | 0xFFFFE6C4 (-6460) Loc: +0x3564 | offset to vtable - +0x1C2C | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1C40 | offset to field `key` (string) - +0x1C30 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1C34 | offset to field `value` (string) + +0x1FE0 | C4 E6 FF FF | SOffset32 | 0xFFFFE6C4 (-6460) Loc: +0x391C | offset to vtable + +0x1FE4 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x1FF8 | offset to field `key` (string) + +0x1FE8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1FEC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1C34 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x1C38 | 6E 61 6B 65 64 | char[5] | naked | string literal - +0x1C3D | 00 | char | 0x00 (0) | string terminator + +0x1FEC | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x1FF0 | 6E 61 6B 65 64 | char[5] | naked | string literal + +0x1FF5 | 00 | char | 0x00 (0) | string terminator padding: - +0x1C3E | 00 00 | uint8_t[2] | .. | padding + +0x1FF6 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x1C40 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x1C44 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x1C4C | 74 79 70 65 | | type - +0x1C50 | 00 | char | 0x00 (0) | string terminator + +0x1FF8 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x1FFC | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x2004 | 74 79 70 65 | | type + +0x2008 | 00 | char | 0x00 (0) | string terminator padding: - +0x1C51 | 00 00 00 | uint8_t[3] | ... | padding + +0x2009 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x1C54 | 70 E5 FF FF | SOffset32 | 0xFFFFE570 (-6800) Loc: +0x36E4 | offset to vtable - +0x1C58 | 00 00 00 | uint8_t[3] | ... | padding - +0x1C5B | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x1C5C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x1C60 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x200C | 70 E5 FF FF | SOffset32 | 0xFFFFE570 (-6800) Loc: +0x3A9C | offset to vtable + +0x2010 | 00 00 00 | uint8_t[3] | ... | padding + +0x2013 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x2014 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x2018 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1C64 | 15 00 00 00 | uint32_t | 0x00000015 (21) | length of string - +0x1C68 | 73 69 6E 67 6C 65 5F 77 | char[21] | single_w | string literal - +0x1C70 | 65 61 6B 5F 72 65 66 65 | | eak_refe - +0x1C78 | 72 65 6E 63 65 | | rence - +0x1C7D | 00 | char | 0x00 (0) | string terminator + +0x201C | 15 00 00 00 | uint32_t | 0x00000015 (21) | length of string + +0x2020 | 73 69 6E 67 6C 65 5F 77 | char[21] | single_w | string literal + +0x2028 | 65 61 6B 5F 72 65 66 65 | | eak_refe + +0x2030 | 72 65 6E 63 65 | | rence + +0x2035 | 00 | char | 0x00 (0) | string terminator padding: - +0x1C7E | 00 00 | uint8_t[2] | .. | padding + +0x2036 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x1C80 | 5C F1 FF FF | SOffset32 | 0xFFFFF15C (-3748) Loc: +0x2B24 | offset to vtable - +0x1C84 | 00 00 00 | uint8_t[3] | ... | padding - +0x1C87 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1C88 | 23 00 | uint16_t | 0x0023 (35) | table field `id` (UShort) - +0x1C8A | 4A 00 | uint16_t | 0x004A (74) | table field `offset` (UShort) - +0x1C8C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x1CD4 | offset to field `name` (string) - +0x1C90 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1CC4 | offset to field `type` (table) - +0x1C94 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1CA0 | offset to field `attributes` (vector) - +0x1C98 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1C9C | offset to field `documentation` (vector) + +0x2038 | 5C F1 FF FF | SOffset32 | 0xFFFFF15C (-3748) Loc: +0x2EDC | offset to vtable + +0x203C | 00 00 00 | uint8_t[3] | ... | padding + +0x203F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2040 | 23 00 | uint16_t | 0x0023 (35) | table field `id` (UShort) + +0x2042 | 4A 00 | uint16_t | 0x004A (74) | table field `offset` (UShort) + +0x2044 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x208C | offset to field `name` (string) + +0x2048 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x207C | offset to field `type` (table) + +0x204C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2058 | offset to field `attributes` (vector) + +0x2050 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2054 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1C9C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2054 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1CA0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1CA4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1CA8 | offset to table[0] + +0x2058 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x205C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2060 | offset to table[0] table (reflection.KeyValue): - +0x1CA8 | 44 E7 FF FF | SOffset32 | 0xFFFFE744 (-6332) Loc: +0x3564 | offset to vtable - +0x1CAC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1CBC | offset to field `key` (string) - +0x1CB0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1CB4 | offset to field `value` (string) + +0x2060 | 44 E7 FF FF | SOffset32 | 0xFFFFE744 (-6332) Loc: +0x391C | offset to vtable + +0x2064 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2074 | offset to field `key` (string) + +0x2068 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x206C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1CB4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1CB8 | 33 35 | char[2] | 35 | string literal - +0x1CBA | 00 | char | 0x00 (0) | string terminator + +0x206C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2070 | 33 35 | char[2] | 35 | string literal + +0x2072 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1CBC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1CC0 | 69 64 | char[2] | id | string literal - +0x1CC2 | 00 | char | 0x00 (0) | string terminator + +0x2074 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2078 | 69 64 | char[2] | id | string literal + +0x207A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1CC4 | 14 F3 FF FF | SOffset32 | 0xFFFFF314 (-3308) Loc: +0x29B0 | offset to vtable - +0x1CC8 | 00 00 | uint8_t[2] | .. | padding - +0x1CCA | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1CCB | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) - +0x1CCC | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) - +0x1CD0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x207C | 14 F3 FF FF | SOffset32 | 0xFFFFF314 (-3308) Loc: +0x2D68 | offset to vtable + +0x2080 | 00 00 | uint8_t[2] | .. | padding + +0x2082 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2083 | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) + +0x2084 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `index` (Int) + +0x2088 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1CD4 | 15 00 00 00 | uint32_t | 0x00000015 (21) | length of string - +0x1CD8 | 76 65 63 74 6F 72 5F 6F | char[21] | vector_o | string literal - +0x1CE0 | 66 5F 72 65 66 65 72 72 | | f_referr - +0x1CE8 | 61 62 6C 65 73 | | ables - +0x1CED | 00 | char | 0x00 (0) | string terminator + +0x208C | 15 00 00 00 | uint32_t | 0x00000015 (21) | length of string + +0x2090 | 76 65 63 74 6F 72 5F 6F | char[21] | vector_o | string literal + +0x2098 | 66 5F 72 65 66 65 72 72 | | f_referr + +0x20A0 | 61 62 6C 65 73 | | ables + +0x20A5 | 00 | char | 0x00 (0) | string terminator padding: - +0x1CEE | 00 00 | uint8_t[2] | .. | padding + +0x20A6 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x1CF0 | CC F1 FF FF | SOffset32 | 0xFFFFF1CC (-3636) Loc: +0x2B24 | offset to vtable - +0x1CF4 | 00 00 00 | uint8_t[3] | ... | padding - +0x1CF7 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1CF8 | 22 00 | uint16_t | 0x0022 (34) | table field `id` (UShort) - +0x1CFA | 48 00 | uint16_t | 0x0048 (72) | table field `offset` (UShort) - +0x1CFC | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x1D44 | offset to field `name` (string) - +0x1D00 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1D34 | offset to field `type` (table) - +0x1D04 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1D10 | offset to field `attributes` (vector) - +0x1D08 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D0C | offset to field `documentation` (vector) + +0x20A8 | CC F1 FF FF | SOffset32 | 0xFFFFF1CC (-3636) Loc: +0x2EDC | offset to vtable + +0x20AC | 00 00 00 | uint8_t[3] | ... | padding + +0x20AF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x20B0 | 22 00 | uint16_t | 0x0022 (34) | table field `id` (UShort) + +0x20B2 | 48 00 | uint16_t | 0x0048 (72) | table field `offset` (UShort) + +0x20B4 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x20FC | offset to field `name` (string) + +0x20B8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x20EC | offset to field `type` (table) + +0x20BC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x20C8 | offset to field `attributes` (vector) + +0x20C0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x20C4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1D0C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x20C4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1D10 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1D14 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D18 | offset to table[0] + +0x20C8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x20CC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x20D0 | offset to table[0] table (reflection.KeyValue): - +0x1D18 | B4 E7 FF FF | SOffset32 | 0xFFFFE7B4 (-6220) Loc: +0x3564 | offset to vtable - +0x1D1C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1D2C | offset to field `key` (string) - +0x1D20 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D24 | offset to field `value` (string) + +0x20D0 | B4 E7 FF FF | SOffset32 | 0xFFFFE7B4 (-6220) Loc: +0x391C | offset to vtable + +0x20D4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x20E4 | offset to field `key` (string) + +0x20D8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x20DC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1D24 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1D28 | 33 34 | char[2] | 34 | string literal - +0x1D2A | 00 | char | 0x00 (0) | string terminator + +0x20DC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x20E0 | 33 34 | char[2] | 34 | string literal + +0x20E2 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1D2C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1D30 | 69 64 | char[2] | id | string literal - +0x1D32 | 00 | char | 0x00 (0) | string terminator + +0x20E4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x20E8 | 69 64 | char[2] | id | string literal + +0x20EA | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1D34 | 7C E4 FF FF | SOffset32 | 0xFFFFE47C (-7044) Loc: +0x38B8 | offset to vtable - +0x1D38 | 00 00 00 | uint8_t[3] | ... | padding - +0x1D3B | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x1D3C | 0B 00 00 00 | uint32_t | 0x0000000B (11) | table field `index` (Int) - +0x1D40 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x20EC | 7C E4 FF FF | SOffset32 | 0xFFFFE47C (-7044) Loc: +0x3C70 | offset to vtable + +0x20F0 | 00 00 00 | uint8_t[3] | ... | padding + +0x20F3 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x20F4 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | table field `index` (Int) + +0x20F8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1D44 | 15 00 00 00 | uint32_t | 0x00000015 (21) | length of string - +0x1D48 | 70 61 72 65 6E 74 5F 6E | char[21] | parent_n | string literal - +0x1D50 | 61 6D 65 73 70 61 63 65 | | amespace - +0x1D58 | 5F 74 65 73 74 | | _test - +0x1D5D | 00 | char | 0x00 (0) | string terminator + +0x20FC | 15 00 00 00 | uint32_t | 0x00000015 (21) | length of string + +0x2100 | 70 61 72 65 6E 74 5F 6E | char[21] | parent_n | string literal + +0x2108 | 61 6D 65 73 70 61 63 65 | | amespace + +0x2110 | 5F 74 65 73 74 | | _test + +0x2115 | 00 | char | 0x00 (0) | string terminator padding: - +0x1D5E | 00 00 | uint8_t[2] | .. | padding + +0x2116 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x1D60 | 3C F2 FF FF | SOffset32 | 0xFFFFF23C (-3524) Loc: +0x2B24 | offset to vtable - +0x1D64 | 00 00 00 | uint8_t[3] | ... | padding - +0x1D67 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1D68 | 21 00 | uint16_t | 0x0021 (33) | table field `id` (UShort) - +0x1D6A | 46 00 | uint16_t | 0x0046 (70) | table field `offset` (UShort) - +0x1D6C | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x1DB0 | offset to field `name` (string) - +0x1D70 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1DA4 | offset to field `type` (table) - +0x1D74 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1D80 | offset to field `attributes` (vector) - +0x1D78 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D7C | offset to field `documentation` (vector) + +0x2118 | 3C F2 FF FF | SOffset32 | 0xFFFFF23C (-3524) Loc: +0x2EDC | offset to vtable + +0x211C | 00 00 00 | uint8_t[3] | ... | padding + +0x211F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2120 | 21 00 | uint16_t | 0x0021 (33) | table field `id` (UShort) + +0x2122 | 46 00 | uint16_t | 0x0046 (70) | table field `offset` (UShort) + +0x2124 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2168 | offset to field `name` (string) + +0x2128 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x215C | offset to field `type` (table) + +0x212C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2138 | offset to field `attributes` (vector) + +0x2130 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2134 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1D7C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2134 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1D80 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1D84 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D88 | offset to table[0] + +0x2138 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x213C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2140 | offset to table[0] table (reflection.KeyValue): - +0x1D88 | 24 E8 FF FF | SOffset32 | 0xFFFFE824 (-6108) Loc: +0x3564 | offset to vtable - +0x1D8C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1D9C | offset to field `key` (string) - +0x1D90 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1D94 | offset to field `value` (string) + +0x2140 | 24 E8 FF FF | SOffset32 | 0xFFFFE824 (-6108) Loc: +0x391C | offset to vtable + +0x2144 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2154 | offset to field `key` (string) + +0x2148 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x214C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1D94 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1D98 | 33 33 | char[2] | 33 | string literal - +0x1D9A | 00 | char | 0x00 (0) | string terminator + +0x214C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2150 | 33 33 | char[2] | 33 | string literal + +0x2152 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1D9C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1DA0 | 69 64 | char[2] | id | string literal - +0x1DA2 | 00 | char | 0x00 (0) | string terminator + +0x2154 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2158 | 69 64 | char[2] | id | string literal + +0x215A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1DA4 | 20 F2 FF FF | SOffset32 | 0xFFFFF220 (-3552) Loc: +0x2B84 | offset to vtable - +0x1DA8 | 00 00 | uint8_t[2] | .. | padding - +0x1DAA | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1DAB | 0C | uint8_t | 0x0C (12) | table field `element` (Byte) - +0x1DAC | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) + +0x215C | 20 F2 FF FF | SOffset32 | 0xFFFFF220 (-3552) Loc: +0x2F3C | offset to vtable + +0x2160 | 00 00 | uint8_t[2] | .. | padding + +0x2162 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2163 | 0C | uint8_t | 0x0C (12) | table field `element` (Byte) + +0x2164 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1DB0 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x1DB4 | 76 65 63 74 6F 72 5F 6F | char[17] | vector_o | string literal - +0x1DBC | 66 5F 64 6F 75 62 6C 65 | | f_double - +0x1DC4 | 73 | | s - +0x1DC5 | 00 | char | 0x00 (0) | string terminator + +0x2168 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x216C | 76 65 63 74 6F 72 5F 6F | char[17] | vector_o | string literal + +0x2174 | 66 5F 64 6F 75 62 6C 65 | | f_double + +0x217C | 73 | | s + +0x217D | 00 | char | 0x00 (0) | string terminator padding: - +0x1DC6 | 00 00 | uint8_t[2] | .. | padding + +0x217E | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x1DC8 | A4 F2 FF FF | SOffset32 | 0xFFFFF2A4 (-3420) Loc: +0x2B24 | offset to vtable - +0x1DCC | 00 00 00 | uint8_t[3] | ... | padding - +0x1DCF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1DD0 | 20 00 | uint16_t | 0x0020 (32) | table field `id` (UShort) - +0x1DD2 | 44 00 | uint16_t | 0x0044 (68) | table field `offset` (UShort) - +0x1DD4 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x1E18 | offset to field `name` (string) - +0x1DD8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1E0C | offset to field `type` (table) - +0x1DDC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1DE8 | offset to field `attributes` (vector) - +0x1DE0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1DE4 | offset to field `documentation` (vector) + +0x2180 | A4 F2 FF FF | SOffset32 | 0xFFFFF2A4 (-3420) Loc: +0x2EDC | offset to vtable + +0x2184 | 00 00 00 | uint8_t[3] | ... | padding + +0x2187 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2188 | 20 00 | uint16_t | 0x0020 (32) | table field `id` (UShort) + +0x218A | 44 00 | uint16_t | 0x0044 (68) | table field `offset` (UShort) + +0x218C | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x21D0 | offset to field `name` (string) + +0x2190 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x21C4 | offset to field `type` (table) + +0x2194 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x21A0 | offset to field `attributes` (vector) + +0x2198 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x219C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1DE4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x219C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1DE8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1DEC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1DF0 | offset to table[0] + +0x21A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x21A4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x21A8 | offset to table[0] table (reflection.KeyValue): - +0x1DF0 | 8C E8 FF FF | SOffset32 | 0xFFFFE88C (-6004) Loc: +0x3564 | offset to vtable - +0x1DF4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1E04 | offset to field `key` (string) - +0x1DF8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1DFC | offset to field `value` (string) + +0x21A8 | 8C E8 FF FF | SOffset32 | 0xFFFFE88C (-6004) Loc: +0x391C | offset to vtable + +0x21AC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x21BC | offset to field `key` (string) + +0x21B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x21B4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1DFC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1E00 | 33 32 | char[2] | 32 | string literal - +0x1E02 | 00 | char | 0x00 (0) | string terminator + +0x21B4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x21B8 | 33 32 | char[2] | 32 | string literal + +0x21BA | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1E04 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1E08 | 69 64 | char[2] | id | string literal - +0x1E0A | 00 | char | 0x00 (0) | string terminator + +0x21BC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x21C0 | 69 64 | char[2] | id | string literal + +0x21C2 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1E0C | 88 F2 FF FF | SOffset32 | 0xFFFFF288 (-3448) Loc: +0x2B84 | offset to vtable - +0x1E10 | 00 00 | uint8_t[2] | .. | padding - +0x1E12 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1E13 | 09 | uint8_t | 0x09 (9) | table field `element` (Byte) - +0x1E14 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) + +0x21C4 | 88 F2 FF FF | SOffset32 | 0xFFFFF288 (-3448) Loc: +0x2F3C | offset to vtable + +0x21C8 | 00 00 | uint8_t[2] | .. | padding + +0x21CA | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x21CB | 09 | uint8_t | 0x09 (9) | table field `element` (Byte) + +0x21CC | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1E18 | 0F 00 00 00 | uint32_t | 0x0000000F (15) | length of string - +0x1E1C | 76 65 63 74 6F 72 5F 6F | char[15] | vector_o | string literal - +0x1E24 | 66 5F 6C 6F 6E 67 73 | | f_longs - +0x1E2B | 00 | char | 0x00 (0) | string terminator + +0x21D0 | 0F 00 00 00 | uint32_t | 0x0000000F (15) | length of string + +0x21D4 | 76 65 63 74 6F 72 5F 6F | char[15] | vector_o | string literal + +0x21DC | 66 5F 6C 6F 6E 67 73 | | f_longs + +0x21E3 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x1E2C | 08 F3 FF FF | SOffset32 | 0xFFFFF308 (-3320) Loc: +0x2B24 | offset to vtable - +0x1E30 | 00 00 00 | uint8_t[3] | ... | padding - +0x1E33 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1E34 | 1F 00 | uint16_t | 0x001F (31) | table field `id` (UShort) - +0x1E36 | 42 00 | uint16_t | 0x0042 (66) | table field `offset` (UShort) - +0x1E38 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x1E80 | offset to field `name` (string) - +0x1E3C | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1E70 | offset to field `type` (table) - +0x1E40 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1E4C | offset to field `attributes` (vector) - +0x1E44 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1E48 | offset to field `documentation` (vector) + +0x21E4 | 08 F3 FF FF | SOffset32 | 0xFFFFF308 (-3320) Loc: +0x2EDC | offset to vtable + +0x21E8 | 00 00 00 | uint8_t[3] | ... | padding + +0x21EB | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x21EC | 1F 00 | uint16_t | 0x001F (31) | table field `id` (UShort) + +0x21EE | 42 00 | uint16_t | 0x0042 (66) | table field `offset` (UShort) + +0x21F0 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2238 | offset to field `name` (string) + +0x21F4 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2228 | offset to field `type` (table) + +0x21F8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2204 | offset to field `attributes` (vector) + +0x21FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2200 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1E48 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2200 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1E4C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1E50 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1E54 | offset to table[0] + +0x2204 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2208 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x220C | offset to table[0] table (reflection.KeyValue): - +0x1E54 | F0 E8 FF FF | SOffset32 | 0xFFFFE8F0 (-5904) Loc: +0x3564 | offset to vtable - +0x1E58 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1E68 | offset to field `key` (string) - +0x1E5C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1E60 | offset to field `value` (string) + +0x220C | F0 E8 FF FF | SOffset32 | 0xFFFFE8F0 (-5904) Loc: +0x391C | offset to vtable + +0x2210 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2220 | offset to field `key` (string) + +0x2214 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2218 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1E60 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1E64 | 33 31 | char[2] | 31 | string literal - +0x1E66 | 00 | char | 0x00 (0) | string terminator + +0x2218 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x221C | 33 31 | char[2] | 31 | string literal + +0x221E | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1E68 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1E6C | 69 64 | char[2] | id | string literal - +0x1E6E | 00 | char | 0x00 (0) | string terminator + +0x2220 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2224 | 69 64 | char[2] | id | string literal + +0x2226 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1E70 | C0 F4 FF FF | SOffset32 | 0xFFFFF4C0 (-2880) Loc: +0x29B0 | offset to vtable - +0x1E74 | 00 00 | uint8_t[2] | .. | padding - +0x1E76 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1E77 | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) - +0x1E78 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) - +0x1E7C | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x2228 | C0 F4 FF FF | SOffset32 | 0xFFFFF4C0 (-2880) Loc: +0x2D68 | offset to vtable + +0x222C | 00 00 | uint8_t[2] | .. | padding + +0x222E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x222F | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) + +0x2230 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) + +0x2234 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1E80 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x1E84 | 74 65 73 74 35 | char[5] | test5 | string literal - +0x1E89 | 00 | char | 0x00 (0) | string terminator + +0x2238 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x223C | 74 65 73 74 35 | char[5] | test5 | string literal + +0x2241 | 00 | char | 0x00 (0) | string terminator padding: - +0x1E8A | 00 00 | uint8_t[2] | .. | padding + +0x2242 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x1E8C | 68 F3 FF FF | SOffset32 | 0xFFFFF368 (-3224) Loc: +0x2B24 | offset to vtable - +0x1E90 | 00 00 00 | uint8_t[3] | ... | padding - +0x1E93 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1E94 | 1E 00 | uint16_t | 0x001E (30) | table field `id` (UShort) - +0x1E96 | 40 00 | uint16_t | 0x0040 (64) | table field `offset` (UShort) - +0x1E98 | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x1F04 | offset to field `name` (string) - +0x1E9C | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x1EF8 | offset to field `type` (table) - +0x1EA0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1EAC | offset to field `attributes` (vector) - +0x1EA4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1EA8 | offset to field `documentation` (vector) + +0x2244 | 68 F3 FF FF | SOffset32 | 0xFFFFF368 (-3224) Loc: +0x2EDC | offset to vtable + +0x2248 | 00 00 00 | uint8_t[3] | ... | padding + +0x224B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x224C | 1E 00 | uint16_t | 0x001E (30) | table field `id` (UShort) + +0x224E | 40 00 | uint16_t | 0x0040 (64) | table field `offset` (UShort) + +0x2250 | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x22BC | offset to field `name` (string) + +0x2254 | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x22B0 | offset to field `type` (table) + +0x2258 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2264 | offset to field `attributes` (vector) + +0x225C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2260 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1EA8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2260 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1EAC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x1EB0 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x1ED4 | offset to table[0] - +0x1EB4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1EB8 | offset to table[1] + +0x2264 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2268 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x228C | offset to table[0] + +0x226C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2270 | offset to table[1] table (reflection.KeyValue): - +0x1EB8 | 54 E9 FF FF | SOffset32 | 0xFFFFE954 (-5804) Loc: +0x3564 | offset to vtable - +0x1EBC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1ECC | offset to field `key` (string) - +0x1EC0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1EC4 | offset to field `value` (string) + +0x2270 | 54 E9 FF FF | SOffset32 | 0xFFFFE954 (-5804) Loc: +0x391C | offset to vtable + +0x2274 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2284 | offset to field `key` (string) + +0x2278 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x227C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1EC4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1EC8 | 33 30 | char[2] | 30 | string literal - +0x1ECA | 00 | char | 0x00 (0) | string terminator + +0x227C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2280 | 33 30 | char[2] | 30 | string literal + +0x2282 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1ECC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1ED0 | 69 64 | char[2] | id | string literal - +0x1ED2 | 00 | char | 0x00 (0) | string terminator + +0x2284 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2288 | 69 64 | char[2] | id | string literal + +0x228A | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x1ED4 | 70 E9 FF FF | SOffset32 | 0xFFFFE970 (-5776) Loc: +0x3564 | offset to vtable - +0x1ED8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1EE8 | offset to field `key` (string) - +0x1EDC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1EE0 | offset to field `value` (string) + +0x228C | 70 E9 FF FF | SOffset32 | 0xFFFFE970 (-5776) Loc: +0x391C | offset to vtable + +0x2290 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x22A0 | offset to field `key` (string) + +0x2294 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2298 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1EE0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x1EE4 | 30 | char[1] | 0 | string literal - +0x1EE5 | 00 | char | 0x00 (0) | string terminator + +0x2298 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x229C | 30 | char[1] | 0 | string literal + +0x229D | 00 | char | 0x00 (0) | string terminator padding: - +0x1EE6 | 00 00 | uint8_t[2] | .. | padding + +0x229E | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x1EE8 | 0A 00 00 00 | uint32_t | 0x0000000A (10) | length of string - +0x1EEC | 66 6C 65 78 62 75 66 66 | char[10] | flexbuff | string literal - +0x1EF4 | 65 72 | | er - +0x1EF6 | 00 | char | 0x00 (0) | string terminator + +0x22A0 | 0A 00 00 00 | uint32_t | 0x0000000A (10) | length of string + +0x22A4 | 66 6C 65 78 62 75 66 66 | char[10] | flexbuff | string literal + +0x22AC | 65 72 | | er + +0x22AE | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1EF8 | 74 F3 FF FF | SOffset32 | 0xFFFFF374 (-3212) Loc: +0x2B84 | offset to vtable - +0x1EFC | 00 00 | uint8_t[2] | .. | padding - +0x1EFE | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1EFF | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) - +0x1F00 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x22B0 | 74 F3 FF FF | SOffset32 | 0xFFFFF374 (-3212) Loc: +0x2F3C | offset to vtable + +0x22B4 | 00 00 | uint8_t[2] | .. | padding + +0x22B6 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x22B7 | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) + +0x22B8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1F04 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x1F08 | 66 6C 65 78 | char[4] | flex | string literal - +0x1F0C | 00 | char | 0x00 (0) | string terminator + +0x22BC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x22C0 | 66 6C 65 78 | char[4] | flex | string literal + +0x22C4 | 00 | char | 0x00 (0) | string terminator padding: - +0x1F0D | 00 00 00 | uint8_t[3] | ... | padding + +0x22C5 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x1F10 | EC F3 FF FF | SOffset32 | 0xFFFFF3EC (-3092) Loc: +0x2B24 | offset to vtable - +0x1F14 | 00 00 00 | uint8_t[3] | ... | padding - +0x1F17 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1F18 | 1D 00 | uint16_t | 0x001D (29) | table field `id` (UShort) - +0x1F1A | 3E 00 | uint16_t | 0x003E (62) | table field `offset` (UShort) - +0x1F1C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x1F64 | offset to field `name` (string) - +0x1F20 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1F54 | offset to field `type` (table) - +0x1F24 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1F30 | offset to field `attributes` (vector) - +0x1F28 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F2C | offset to field `documentation` (vector) + +0x22C8 | EC F3 FF FF | SOffset32 | 0xFFFFF3EC (-3092) Loc: +0x2EDC | offset to vtable + +0x22CC | 00 00 00 | uint8_t[3] | ... | padding + +0x22CF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x22D0 | 1D 00 | uint16_t | 0x001D (29) | table field `id` (UShort) + +0x22D2 | 3E 00 | uint16_t | 0x003E (62) | table field `offset` (UShort) + +0x22D4 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x231C | offset to field `name` (string) + +0x22D8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x230C | offset to field `type` (table) + +0x22DC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x22E8 | offset to field `attributes` (vector) + +0x22E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x22E4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1F2C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x22E4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1F30 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1F34 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F38 | offset to table[0] + +0x22E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x22EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x22F0 | offset to table[0] table (reflection.KeyValue): - +0x1F38 | D4 E9 FF FF | SOffset32 | 0xFFFFE9D4 (-5676) Loc: +0x3564 | offset to vtable - +0x1F3C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1F4C | offset to field `key` (string) - +0x1F40 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F44 | offset to field `value` (string) + +0x22F0 | D4 E9 FF FF | SOffset32 | 0xFFFFE9D4 (-5676) Loc: +0x391C | offset to vtable + +0x22F4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2304 | offset to field `key` (string) + +0x22F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x22FC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1F44 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1F48 | 32 39 | char[2] | 29 | string literal - +0x1F4A | 00 | char | 0x00 (0) | string terminator + +0x22FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2300 | 32 39 | char[2] | 29 | string literal + +0x2302 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1F4C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1F50 | 69 64 | char[2] | id | string literal - +0x1F52 | 00 | char | 0x00 (0) | string terminator + +0x2304 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2308 | 69 64 | char[2] | id | string literal + +0x230A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1F54 | A4 F5 FF FF | SOffset32 | 0xFFFFF5A4 (-2652) Loc: +0x29B0 | offset to vtable - +0x1F58 | 00 00 | uint8_t[2] | .. | padding - +0x1F5A | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1F5B | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) - +0x1F5C | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) - +0x1F60 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) + +0x230C | A4 F5 FF FF | SOffset32 | 0xFFFFF5A4 (-2652) Loc: +0x2D68 | offset to vtable + +0x2310 | 00 00 | uint8_t[2] | .. | padding + +0x2312 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2313 | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) + +0x2314 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) + +0x2318 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1F64 | 17 00 00 00 | uint32_t | 0x00000017 (23) | length of string - +0x1F68 | 74 65 73 74 61 72 72 61 | char[23] | testarra | string literal - +0x1F70 | 79 6F 66 73 6F 72 74 65 | | yofsorte - +0x1F78 | 64 73 74 72 75 63 74 | | dstruct - +0x1F7F | 00 | char | 0x00 (0) | string terminator + +0x231C | 17 00 00 00 | uint32_t | 0x00000017 (23) | length of string + +0x2320 | 74 65 73 74 61 72 72 61 | char[23] | testarra | string literal + +0x2328 | 79 6F 66 73 6F 72 74 65 | | yofsorte + +0x2330 | 64 73 74 72 75 63 74 | | dstruct + +0x2337 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x1F80 | 5C F4 FF FF | SOffset32 | 0xFFFFF45C (-2980) Loc: +0x2B24 | offset to vtable - +0x1F84 | 00 00 00 | uint8_t[3] | ... | padding - +0x1F87 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x1F88 | 1C 00 | uint16_t | 0x001C (28) | table field `id` (UShort) - +0x1F8A | 3C 00 | uint16_t | 0x003C (60) | table field `offset` (UShort) - +0x1F8C | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x1FD0 | offset to field `name` (string) - +0x1F90 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x1FC4 | offset to field `type` (table) - +0x1F94 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x1FA0 | offset to field `attributes` (vector) - +0x1F98 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1F9C | offset to field `documentation` (vector) + +0x2338 | 5C F4 FF FF | SOffset32 | 0xFFFFF45C (-2980) Loc: +0x2EDC | offset to vtable + +0x233C | 00 00 00 | uint8_t[3] | ... | padding + +0x233F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2340 | 1C 00 | uint16_t | 0x001C (28) | table field `id` (UShort) + +0x2342 | 3C 00 | uint16_t | 0x003C (60) | table field `offset` (UShort) + +0x2344 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2388 | offset to field `name` (string) + +0x2348 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x237C | offset to field `type` (table) + +0x234C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2358 | offset to field `attributes` (vector) + +0x2350 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2354 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x1F9C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2354 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x1FA0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x1FA4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1FA8 | offset to table[0] + +0x2358 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x235C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2360 | offset to table[0] table (reflection.KeyValue): - +0x1FA8 | 44 EA FF FF | SOffset32 | 0xFFFFEA44 (-5564) Loc: +0x3564 | offset to vtable - +0x1FAC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x1FBC | offset to field `key` (string) - +0x1FB0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x1FB4 | offset to field `value` (string) + +0x2360 | 44 EA FF FF | SOffset32 | 0xFFFFEA44 (-5564) Loc: +0x391C | offset to vtable + +0x2364 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2374 | offset to field `key` (string) + +0x2368 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x236C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x1FB4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1FB8 | 32 38 | char[2] | 28 | string literal - +0x1FBA | 00 | char | 0x00 (0) | string terminator + +0x236C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2370 | 32 38 | char[2] | 28 | string literal + +0x2372 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x1FBC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x1FC0 | 69 64 | char[2] | id | string literal - +0x1FC2 | 00 | char | 0x00 (0) | string terminator + +0x2374 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2378 | 69 64 | char[2] | id | string literal + +0x237A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x1FC4 | 40 F4 FF FF | SOffset32 | 0xFFFFF440 (-3008) Loc: +0x2B84 | offset to vtable - +0x1FC8 | 00 00 | uint8_t[2] | .. | padding - +0x1FCA | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x1FCB | 0D | uint8_t | 0x0D (13) | table field `element` (Byte) - +0x1FCC | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x237C | 40 F4 FF FF | SOffset32 | 0xFFFFF440 (-3008) Loc: +0x2F3C | offset to vtable + +0x2380 | 00 00 | uint8_t[2] | .. | padding + +0x2382 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2383 | 0D | uint8_t | 0x0D (13) | table field `element` (Byte) + +0x2384 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x1FD0 | 12 00 00 00 | uint32_t | 0x00000012 (18) | length of string - +0x1FD4 | 74 65 73 74 61 72 72 61 | char[18] | testarra | string literal - +0x1FDC | 79 6F 66 73 74 72 69 6E | | yofstrin - +0x1FE4 | 67 32 | | g2 - +0x1FE6 | 00 | char | 0x00 (0) | string terminator + +0x2388 | 12 00 00 00 | uint32_t | 0x00000012 (18) | length of string + +0x238C | 74 65 73 74 61 72 72 61 | char[18] | testarra | string literal + +0x2394 | 79 6F 66 73 74 72 69 6E | | yofstrin + +0x239C | 67 32 | | g2 + +0x239E | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x1FE8 | AE F5 FF FF | SOffset32 | 0xFFFFF5AE (-2642) Loc: +0x2A3A | offset to vtable - +0x1FEC | 1B 00 | uint16_t | 0x001B (27) | table field `id` (UShort) - +0x1FEE | 3A 00 | uint16_t | 0x003A (58) | table field `offset` (UShort) - +0x1FF0 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2034 | offset to field `name` (string) - +0x1FF4 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2028 | offset to field `type` (table) - +0x1FF8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2004 | offset to field `attributes` (vector) - +0x1FFC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2000 | offset to field `documentation` (vector) + +0x23A0 | AE F5 FF FF | SOffset32 | 0xFFFFF5AE (-2642) Loc: +0x2DF2 | offset to vtable + +0x23A4 | 1B 00 | uint16_t | 0x001B (27) | table field `id` (UShort) + +0x23A6 | 3A 00 | uint16_t | 0x003A (58) | table field `offset` (UShort) + +0x23A8 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x23EC | offset to field `name` (string) + +0x23AC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x23E0 | offset to field `type` (table) + +0x23B0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x23BC | offset to field `attributes` (vector) + +0x23B4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x23B8 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2000 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x23B8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2004 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2008 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x200C | offset to table[0] + +0x23BC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x23C0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x23C4 | offset to table[0] table (reflection.KeyValue): - +0x200C | A8 EA FF FF | SOffset32 | 0xFFFFEAA8 (-5464) Loc: +0x3564 | offset to vtable - +0x2010 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2020 | offset to field `key` (string) - +0x2014 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2018 | offset to field `value` (string) + +0x23C4 | A8 EA FF FF | SOffset32 | 0xFFFFEAA8 (-5464) Loc: +0x391C | offset to vtable + +0x23C8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x23D8 | offset to field `key` (string) + +0x23CC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x23D0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2018 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x201C | 32 37 | char[2] | 27 | string literal - +0x201E | 00 | char | 0x00 (0) | string terminator + +0x23D0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x23D4 | 32 37 | char[2] | 27 | string literal + +0x23D6 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2020 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2024 | 69 64 | char[2] | id | string literal - +0x2026 | 00 | char | 0x00 (0) | string terminator + +0x23D8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x23DC | 69 64 | char[2] | id | string literal + +0x23DE | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2028 | 8C E6 FF FF | SOffset32 | 0xFFFFE68C (-6516) Loc: +0x399C | offset to vtable - +0x202C | 00 00 00 | uint8_t[3] | ... | padding - +0x202F | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) - +0x2030 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x23E0 | 8C E6 FF FF | SOffset32 | 0xFFFFE68C (-6516) Loc: +0x3D54 | offset to vtable + +0x23E4 | 00 00 00 | uint8_t[3] | ... | padding + +0x23E7 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x23E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2034 | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string - +0x2038 | 74 65 73 74 66 33 | char[6] | testf3 | string literal - +0x203E | 00 | char | 0x00 (0) | string terminator + +0x23EC | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string + +0x23F0 | 74 65 73 74 66 33 | char[6] | testf3 | string literal + +0x23F6 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x2040 | 9A FF FF FF | SOffset32 | 0xFFFFFF9A (-102) Loc: +0x20A6 | offset to vtable - +0x2044 | 1A 00 | uint16_t | 0x001A (26) | table field `id` (UShort) - +0x2046 | 38 00 | uint16_t | 0x0038 (56) | table field `offset` (UShort) - +0x2048 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x2098 | offset to field `name` (string) - +0x204C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x208C | offset to field `type` (table) - +0x2050 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2068 | offset to field `attributes` (vector) - +0x2054 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2064 | offset to field `documentation` (vector) - +0x2058 | 00 00 00 00 00 00 08 40 | double | 0x4008000000000000 (3) | table field `default_real` (Double) - +0x2060 | 00 00 00 00 | uint8_t[4] | .... | padding + +0x23F8 | 9A FF FF FF | SOffset32 | 0xFFFFFF9A (-102) Loc: +0x245E | offset to vtable + +0x23FC | 1A 00 | uint16_t | 0x001A (26) | table field `id` (UShort) + +0x23FE | 38 00 | uint16_t | 0x0038 (56) | table field `offset` (UShort) + +0x2400 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x2450 | offset to field `name` (string) + +0x2404 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x2444 | offset to field `type` (table) + +0x2408 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2420 | offset to field `attributes` (vector) + +0x240C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x241C | offset to field `documentation` (vector) + +0x2410 | 00 00 00 00 00 00 08 40 | double | 0x4008000000000000 (3) | table field `default_real` (Double) + +0x2418 | 00 00 00 00 | uint8_t[4] | .... | padding vector (reflection.Field.documentation): - +0x2064 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x241C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2068 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x206C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2070 | offset to table[0] + +0x2420 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2424 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2428 | offset to table[0] table (reflection.KeyValue): - +0x2070 | 0C EB FF FF | SOffset32 | 0xFFFFEB0C (-5364) Loc: +0x3564 | offset to vtable - +0x2074 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2084 | offset to field `key` (string) - +0x2078 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x207C | offset to field `value` (string) + +0x2428 | 0C EB FF FF | SOffset32 | 0xFFFFEB0C (-5364) Loc: +0x391C | offset to vtable + +0x242C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x243C | offset to field `key` (string) + +0x2430 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2434 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x207C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2080 | 32 36 | char[2] | 26 | string literal - +0x2082 | 00 | char | 0x00 (0) | string terminator + +0x2434 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2438 | 32 36 | char[2] | 26 | string literal + +0x243A | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2084 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2088 | 69 64 | char[2] | id | string literal - +0x208A | 00 | char | 0x00 (0) | string terminator + +0x243C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2440 | 69 64 | char[2] | id | string literal + +0x2442 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x208C | F0 E6 FF FF | SOffset32 | 0xFFFFE6F0 (-6416) Loc: +0x399C | offset to vtable - +0x2090 | 00 00 00 | uint8_t[3] | ... | padding - +0x2093 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) - +0x2094 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2444 | F0 E6 FF FF | SOffset32 | 0xFFFFE6F0 (-6416) Loc: +0x3D54 | offset to vtable + +0x2448 | 00 00 00 | uint8_t[3] | ... | padding + +0x244B | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x244C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2098 | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string - +0x209C | 74 65 73 74 66 32 | char[6] | testf2 | string literal - +0x20A2 | 00 | char | 0x00 (0) | string terminator + +0x2450 | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string + +0x2454 | 74 65 73 74 66 32 | char[6] | testf2 | string literal + +0x245A | 00 | char | 0x00 (0) | string terminator padding: - +0x20A3 | 00 00 00 | uint8_t[3] | ... | padding + +0x245B | 00 00 00 | uint8_t[3] | ... | padding vtable (reflection.Field): - +0x20A6 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x20A8 | 24 00 | uint16_t | 0x0024 (36) | size of referring table - +0x20AA | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x20AC | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x20AE | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) - +0x20B0 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x20B2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x20B4 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `default_real` (id: 5) - +0x20B6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x20B8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x20BA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x20BC | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) - +0x20BE | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x245E | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x2460 | 24 00 | uint16_t | 0x0024 (36) | size of referring table + +0x2462 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x2464 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x2466 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) + +0x2468 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x246A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x246C | 18 00 | VOffset16 | 0x0018 (24) | offset to field `default_real` (id: 5) + +0x246E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x2470 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x2472 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x2474 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x2476 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x20C0 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x20A6 | offset to vtable - +0x20C4 | 19 00 | uint16_t | 0x0019 (25) | table field `id` (UShort) - +0x20C6 | 36 00 | uint16_t | 0x0036 (54) | table field `offset` (UShort) - +0x20C8 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x2118 | offset to field `name` (string) - +0x20CC | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x210C | offset to field `type` (table) - +0x20D0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x20E8 | offset to field `attributes` (vector) - +0x20D4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x20E4 | offset to field `documentation` (vector) - +0x20D8 | 6E 86 1B F0 F9 21 09 40 | double | 0x400921F9F01B866E (3.14159) | table field `default_real` (Double) - +0x20E0 | 00 00 00 00 | uint8_t[4] | .... | padding + +0x2478 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x245E | offset to vtable + +0x247C | 19 00 | uint16_t | 0x0019 (25) | table field `id` (UShort) + +0x247E | 36 00 | uint16_t | 0x0036 (54) | table field `offset` (UShort) + +0x2480 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x24D0 | offset to field `name` (string) + +0x2484 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x24C4 | offset to field `type` (table) + +0x2488 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x24A0 | offset to field `attributes` (vector) + +0x248C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x249C | offset to field `documentation` (vector) + +0x2490 | 6E 86 1B F0 F9 21 09 40 | double | 0x400921F9F01B866E (3.14159) | table field `default_real` (Double) + +0x2498 | 00 00 00 00 | uint8_t[4] | .... | padding vector (reflection.Field.documentation): - +0x20E4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x249C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x20E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x20EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x20F0 | offset to table[0] + +0x24A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x24A4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x24A8 | offset to table[0] table (reflection.KeyValue): - +0x20F0 | 8C EB FF FF | SOffset32 | 0xFFFFEB8C (-5236) Loc: +0x3564 | offset to vtable - +0x20F4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2104 | offset to field `key` (string) - +0x20F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x20FC | offset to field `value` (string) + +0x24A8 | 8C EB FF FF | SOffset32 | 0xFFFFEB8C (-5236) Loc: +0x391C | offset to vtable + +0x24AC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x24BC | offset to field `key` (string) + +0x24B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x24B4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x20FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2100 | 32 35 | char[2] | 25 | string literal - +0x2102 | 00 | char | 0x00 (0) | string terminator + +0x24B4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x24B8 | 32 35 | char[2] | 25 | string literal + +0x24BA | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2104 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2108 | 69 64 | char[2] | id | string literal - +0x210A | 00 | char | 0x00 (0) | string terminator + +0x24BC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x24C0 | 69 64 | char[2] | id | string literal + +0x24C2 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x210C | 70 E7 FF FF | SOffset32 | 0xFFFFE770 (-6288) Loc: +0x399C | offset to vtable - +0x2110 | 00 00 00 | uint8_t[3] | ... | padding - +0x2113 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) - +0x2114 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x24C4 | 70 E7 FF FF | SOffset32 | 0xFFFFE770 (-6288) Loc: +0x3D54 | offset to vtable + +0x24C8 | 00 00 00 | uint8_t[3] | ... | padding + +0x24CB | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x24CC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2118 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x211C | 74 65 73 74 66 | char[5] | testf | string literal - +0x2121 | 00 | char | 0x00 (0) | string terminator + +0x24D0 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x24D4 | 74 65 73 74 66 | char[5] | testf | string literal + +0x24D9 | 00 | char | 0x00 (0) | string terminator padding: - +0x2122 | 00 00 | uint8_t[2] | .. | padding + +0x24DA | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x2124 | 00 F6 FF FF | SOffset32 | 0xFFFFF600 (-2560) Loc: +0x2B24 | offset to vtable - +0x2128 | 00 00 00 | uint8_t[3] | ... | padding - +0x212B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x212C | 18 00 | uint16_t | 0x0018 (24) | table field `id` (UShort) - +0x212E | 34 00 | uint16_t | 0x0034 (52) | table field `offset` (UShort) - +0x2130 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2174 | offset to field `name` (string) - +0x2134 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2168 | offset to field `type` (table) - +0x2138 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2144 | offset to field `attributes` (vector) - +0x213C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2140 | offset to field `documentation` (vector) + +0x24DC | 00 F6 FF FF | SOffset32 | 0xFFFFF600 (-2560) Loc: +0x2EDC | offset to vtable + +0x24E0 | 00 00 00 | uint8_t[3] | ... | padding + +0x24E3 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x24E4 | 18 00 | uint16_t | 0x0018 (24) | table field `id` (UShort) + +0x24E6 | 34 00 | uint16_t | 0x0034 (52) | table field `offset` (UShort) + +0x24E8 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x252C | offset to field `name` (string) + +0x24EC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2520 | offset to field `type` (table) + +0x24F0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x24FC | offset to field `attributes` (vector) + +0x24F4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x24F8 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2140 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x24F8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2144 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2148 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x214C | offset to table[0] + +0x24FC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2500 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2504 | offset to table[0] table (reflection.KeyValue): - +0x214C | E8 EB FF FF | SOffset32 | 0xFFFFEBE8 (-5144) Loc: +0x3564 | offset to vtable - +0x2150 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2160 | offset to field `key` (string) - +0x2154 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2158 | offset to field `value` (string) + +0x2504 | E8 EB FF FF | SOffset32 | 0xFFFFEBE8 (-5144) Loc: +0x391C | offset to vtable + +0x2508 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2518 | offset to field `key` (string) + +0x250C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2510 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2158 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x215C | 32 34 | char[2] | 24 | string literal - +0x215E | 00 | char | 0x00 (0) | string terminator + +0x2510 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2514 | 32 34 | char[2] | 24 | string literal + +0x2516 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2160 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2164 | 69 64 | char[2] | id | string literal - +0x2166 | 00 | char | 0x00 (0) | string terminator + +0x2518 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x251C | 69 64 | char[2] | id | string literal + +0x251E | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2168 | E4 F5 FF FF | SOffset32 | 0xFFFFF5E4 (-2588) Loc: +0x2B84 | offset to vtable - +0x216C | 00 00 | uint8_t[2] | .. | padding - +0x216E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x216F | 02 | uint8_t | 0x02 (2) | table field `element` (Byte) - +0x2170 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2520 | E4 F5 FF FF | SOffset32 | 0xFFFFF5E4 (-2588) Loc: +0x2F3C | offset to vtable + +0x2524 | 00 00 | uint8_t[2] | .. | padding + +0x2526 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2527 | 02 | uint8_t | 0x02 (2) | table field `element` (Byte) + +0x2528 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2174 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x2178 | 74 65 73 74 61 72 72 61 | char[16] | testarra | string literal - +0x2180 | 79 6F 66 62 6F 6F 6C 73 | | yofbools - +0x2188 | 00 | char | 0x00 (0) | string terminator + +0x252C | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x2530 | 74 65 73 74 61 72 72 61 | char[16] | testarra | string literal + +0x2538 | 79 6F 66 62 6F 6F 6C 73 | | yofbools + +0x2540 | 00 | char | 0x00 (0) | string terminator padding: - +0x2189 | 00 00 00 | uint8_t[3] | ... | padding + +0x2541 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x218C | 52 F7 FF FF | SOffset32 | 0xFFFFF752 (-2222) Loc: +0x2A3A | offset to vtable - +0x2190 | 17 00 | uint16_t | 0x0017 (23) | table field `id` (UShort) - +0x2192 | 32 00 | uint16_t | 0x0032 (50) | table field `offset` (UShort) - +0x2194 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x2208 | offset to field `name` (string) - +0x2198 | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x21F8 | offset to field `type` (table) - +0x219C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x21A8 | offset to field `attributes` (vector) - +0x21A0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x21A4 | offset to field `documentation` (vector) + +0x2544 | 52 F7 FF FF | SOffset32 | 0xFFFFF752 (-2222) Loc: +0x2DF2 | offset to vtable + +0x2548 | 17 00 | uint16_t | 0x0017 (23) | table field `id` (UShort) + +0x254A | 32 00 | uint16_t | 0x0032 (50) | table field `offset` (UShort) + +0x254C | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x25C0 | offset to field `name` (string) + +0x2550 | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x25B0 | offset to field `type` (table) + +0x2554 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2560 | offset to field `attributes` (vector) + +0x2558 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x255C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x21A4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x255C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x21A8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x21AC | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x21D0 | offset to table[0] - +0x21B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x21B4 | offset to table[1] + +0x2560 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2564 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2588 | offset to table[0] + +0x2568 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x256C | offset to table[1] table (reflection.KeyValue): - +0x21B4 | 50 EC FF FF | SOffset32 | 0xFFFFEC50 (-5040) Loc: +0x3564 | offset to vtable - +0x21B8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x21C8 | offset to field `key` (string) - +0x21BC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x21C0 | offset to field `value` (string) + +0x256C | 50 EC FF FF | SOffset32 | 0xFFFFEC50 (-5040) Loc: +0x391C | offset to vtable + +0x2570 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2580 | offset to field `key` (string) + +0x2574 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2578 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x21C0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x21C4 | 32 33 | char[2] | 23 | string literal - +0x21C6 | 00 | char | 0x00 (0) | string terminator + +0x2578 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x257C | 32 33 | char[2] | 23 | string literal + +0x257E | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x21C8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x21CC | 69 64 | char[2] | id | string literal - +0x21CE | 00 | char | 0x00 (0) | string terminator + +0x2580 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2584 | 69 64 | char[2] | id | string literal + +0x2586 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x21D0 | 6C EC FF FF | SOffset32 | 0xFFFFEC6C (-5012) Loc: +0x3564 | offset to vtable - +0x21D4 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x21EC | offset to field `key` (string) - +0x21D8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x21DC | offset to field `value` (string) + +0x2588 | 6C EC FF FF | SOffset32 | 0xFFFFEC6C (-5012) Loc: +0x391C | offset to vtable + +0x258C | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x25A4 | offset to field `key` (string) + +0x2590 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2594 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x21DC | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x21E0 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x21E8 | 00 | char | 0x00 (0) | string terminator + +0x2594 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x2598 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x25A0 | 00 | char | 0x00 (0) | string terminator padding: - +0x21E9 | 00 00 00 | uint8_t[3] | ... | padding + +0x25A1 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x21EC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x21F0 | 68 61 73 68 | char[4] | hash | string literal - +0x21F4 | 00 | char | 0x00 (0) | string terminator + +0x25A4 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x25A8 | 68 61 73 68 | char[4] | hash | string literal + +0x25AC | 00 | char | 0x00 (0) | string terminator padding: - +0x21F5 | 00 00 00 | uint8_t[3] | ... | padding + +0x25AD | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x21F8 | 14 EB FF FF | SOffset32 | 0xFFFFEB14 (-5356) Loc: +0x36E4 | offset to vtable - +0x21FC | 00 00 00 | uint8_t[3] | ... | padding - +0x21FF | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x2200 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x2204 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x25B0 | 14 EB FF FF | SOffset32 | 0xFFFFEB14 (-5356) Loc: +0x3A9C | offset to vtable + +0x25B4 | 00 00 00 | uint8_t[3] | ... | padding + +0x25B7 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x25B8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x25BC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2208 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x220C | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal - +0x2214 | 75 36 34 5F 66 6E 76 31 | | u64_fnv1 - +0x221C | 61 | | a - +0x221D | 00 | char | 0x00 (0) | string terminator + +0x25C0 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x25C4 | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal + +0x25CC | 75 36 34 5F 66 6E 76 31 | | u64_fnv1 + +0x25D4 | 61 | | a + +0x25D5 | 00 | char | 0x00 (0) | string terminator padding: - +0x221E | 00 00 | uint8_t[2] | .. | padding + +0x25D6 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x2220 | E6 F7 FF FF | SOffset32 | 0xFFFFF7E6 (-2074) Loc: +0x2A3A | offset to vtable - +0x2224 | 16 00 | uint16_t | 0x0016 (22) | table field `id` (UShort) - +0x2226 | 30 00 | uint16_t | 0x0030 (48) | table field `offset` (UShort) - +0x2228 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x229C | offset to field `name` (string) - +0x222C | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x228C | offset to field `type` (table) - +0x2230 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x223C | offset to field `attributes` (vector) - +0x2234 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2238 | offset to field `documentation` (vector) + +0x25D8 | E6 F7 FF FF | SOffset32 | 0xFFFFF7E6 (-2074) Loc: +0x2DF2 | offset to vtable + +0x25DC | 16 00 | uint16_t | 0x0016 (22) | table field `id` (UShort) + +0x25DE | 30 00 | uint16_t | 0x0030 (48) | table field `offset` (UShort) + +0x25E0 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x2654 | offset to field `name` (string) + +0x25E4 | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x2644 | offset to field `type` (table) + +0x25E8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x25F4 | offset to field `attributes` (vector) + +0x25EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x25F0 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2238 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x25F0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x223C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x2240 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2264 | offset to table[0] - +0x2244 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2248 | offset to table[1] + +0x25F4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x25F8 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x261C | offset to table[0] + +0x25FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2600 | offset to table[1] table (reflection.KeyValue): - +0x2248 | E4 EC FF FF | SOffset32 | 0xFFFFECE4 (-4892) Loc: +0x3564 | offset to vtable - +0x224C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x225C | offset to field `key` (string) - +0x2250 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2254 | offset to field `value` (string) + +0x2600 | E4 EC FF FF | SOffset32 | 0xFFFFECE4 (-4892) Loc: +0x391C | offset to vtable + +0x2604 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2614 | offset to field `key` (string) + +0x2608 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x260C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2254 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2258 | 32 32 | char[2] | 22 | string literal - +0x225A | 00 | char | 0x00 (0) | string terminator + +0x260C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2610 | 32 32 | char[2] | 22 | string literal + +0x2612 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x225C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2260 | 69 64 | char[2] | id | string literal - +0x2262 | 00 | char | 0x00 (0) | string terminator + +0x2614 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2618 | 69 64 | char[2] | id | string literal + +0x261A | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2264 | 00 ED FF FF | SOffset32 | 0xFFFFED00 (-4864) Loc: +0x3564 | offset to vtable - +0x2268 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2280 | offset to field `key` (string) - +0x226C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2270 | offset to field `value` (string) + +0x261C | 00 ED FF FF | SOffset32 | 0xFFFFED00 (-4864) Loc: +0x391C | offset to vtable + +0x2620 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2638 | offset to field `key` (string) + +0x2624 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2628 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2270 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x2274 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x227C | 00 | char | 0x00 (0) | string terminator + +0x2628 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x262C | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x2634 | 00 | char | 0x00 (0) | string terminator padding: - +0x227D | 00 00 00 | uint8_t[3] | ... | padding + +0x2635 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x2280 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2284 | 68 61 73 68 | char[4] | hash | string literal - +0x2288 | 00 | char | 0x00 (0) | string terminator + +0x2638 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x263C | 68 61 73 68 | char[4] | hash | string literal + +0x2640 | 00 | char | 0x00 (0) | string terminator padding: - +0x2289 | 00 00 00 | uint8_t[3] | ... | padding + +0x2641 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x228C | A8 EB FF FF | SOffset32 | 0xFFFFEBA8 (-5208) Loc: +0x36E4 | offset to vtable - +0x2290 | 00 00 00 | uint8_t[3] | ... | padding - +0x2293 | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) - +0x2294 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x2298 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2644 | A8 EB FF FF | SOffset32 | 0xFFFFEBA8 (-5208) Loc: +0x3A9C | offset to vtable + +0x2648 | 00 00 00 | uint8_t[3] | ... | padding + +0x264B | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) + +0x264C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x2650 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x229C | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x22A0 | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal - +0x22A8 | 73 36 34 5F 66 6E 76 31 | | s64_fnv1 - +0x22B0 | 61 | | a - +0x22B1 | 00 | char | 0x00 (0) | string terminator + +0x2654 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x2658 | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal + +0x2660 | 73 36 34 5F 66 6E 76 31 | | s64_fnv1 + +0x2668 | 61 | | a + +0x2669 | 00 | char | 0x00 (0) | string terminator padding: - +0x22B2 | 00 00 | uint8_t[2] | .. | padding + +0x266A | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x22B4 | 7A F8 FF FF | SOffset32 | 0xFFFFF87A (-1926) Loc: +0x2A3A | offset to vtable - +0x22B8 | 15 00 | uint16_t | 0x0015 (21) | table field `id` (UShort) - +0x22BA | 2E 00 | uint16_t | 0x002E (46) | table field `offset` (UShort) - +0x22BC | CC 00 00 00 | UOffset32 | 0x000000CC (204) Loc: +0x2388 | offset to field `name` (string) - +0x22C0 | BC 00 00 00 | UOffset32 | 0x000000BC (188) Loc: +0x237C | offset to field `type` (table) - +0x22C4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x22D0 | offset to field `attributes` (vector) - +0x22C8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x22CC | offset to field `documentation` (vector) + +0x266C | 7A F8 FF FF | SOffset32 | 0xFFFFF87A (-1926) Loc: +0x2DF2 | offset to vtable + +0x2670 | 15 00 | uint16_t | 0x0015 (21) | table field `id` (UShort) + +0x2672 | 2E 00 | uint16_t | 0x002E (46) | table field `offset` (UShort) + +0x2674 | CC 00 00 00 | UOffset32 | 0x000000CC (204) Loc: +0x2740 | offset to field `name` (string) + +0x2678 | BC 00 00 00 | UOffset32 | 0x000000BC (188) Loc: +0x2734 | offset to field `type` (table) + +0x267C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2688 | offset to field `attributes` (vector) + +0x2680 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2684 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x22CC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2684 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x22D0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) - +0x22D4 | 7C 00 00 00 | UOffset32 | 0x0000007C (124) Loc: +0x2350 | offset to table[0] - +0x22D8 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x2328 | offset to table[1] - +0x22DC | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2300 | offset to table[2] - +0x22E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x22E4 | offset to table[3] + +0x2688 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of vector (# items) + +0x268C | 7C 00 00 00 | UOffset32 | 0x0000007C (124) Loc: +0x2708 | offset to table[0] + +0x2690 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x26E0 | offset to table[1] + +0x2694 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x26B8 | offset to table[2] + +0x2698 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x269C | offset to table[3] table (reflection.KeyValue): - +0x22E4 | 80 ED FF FF | SOffset32 | 0xFFFFED80 (-4736) Loc: +0x3564 | offset to vtable - +0x22E8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x22F8 | offset to field `key` (string) - +0x22EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x22F0 | offset to field `value` (string) + +0x269C | 80 ED FF FF | SOffset32 | 0xFFFFED80 (-4736) Loc: +0x391C | offset to vtable + +0x26A0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x26B0 | offset to field `key` (string) + +0x26A4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x26A8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x22F0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x22F4 | 32 31 | char[2] | 21 | string literal - +0x22F6 | 00 | char | 0x00 (0) | string terminator + +0x26A8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x26AC | 32 31 | char[2] | 21 | string literal + +0x26AE | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x22F8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x22FC | 69 64 | char[2] | id | string literal - +0x22FE | 00 | char | 0x00 (0) | string terminator + +0x26B0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x26B4 | 69 64 | char[2] | id | string literal + +0x26B6 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2300 | 9C ED FF FF | SOffset32 | 0xFFFFED9C (-4708) Loc: +0x3564 | offset to vtable - +0x2304 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x231C | offset to field `key` (string) - +0x2308 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x230C | offset to field `value` (string) + +0x26B8 | 9C ED FF FF | SOffset32 | 0xFFFFED9C (-4708) Loc: +0x391C | offset to vtable + +0x26BC | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x26D4 | offset to field `key` (string) + +0x26C0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x26C4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x230C | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x2310 | 66 6E 76 31 61 5F 33 32 | char[8] | fnv1a_32 | string literal - +0x2318 | 00 | char | 0x00 (0) | string terminator + +0x26C4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x26C8 | 66 6E 76 31 61 5F 33 32 | char[8] | fnv1a_32 | string literal + +0x26D0 | 00 | char | 0x00 (0) | string terminator padding: - +0x2319 | 00 00 00 | uint8_t[3] | ... | padding + +0x26D1 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x231C | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2320 | 68 61 73 68 | char[4] | hash | string literal - +0x2324 | 00 | char | 0x00 (0) | string terminator + +0x26D4 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x26D8 | 68 61 73 68 | char[4] | hash | string literal + +0x26DC | 00 | char | 0x00 (0) | string terminator padding: - +0x2325 | 00 00 00 | uint8_t[3] | ... | padding + +0x26DD | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x2328 | C4 ED FF FF | SOffset32 | 0xFFFFEDC4 (-4668) Loc: +0x3564 | offset to vtable - +0x232C | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2340 | offset to field `key` (string) - +0x2330 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2334 | offset to field `value` (string) + +0x26E0 | C4 ED FF FF | SOffset32 | 0xFFFFEDC4 (-4668) Loc: +0x391C | offset to vtable + +0x26E4 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x26F8 | offset to field `key` (string) + +0x26E8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x26EC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2334 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2338 | 53 74 61 74 | char[4] | Stat | string literal - +0x233C | 00 | char | 0x00 (0) | string terminator + +0x26EC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x26F0 | 53 74 61 74 | char[4] | Stat | string literal + +0x26F4 | 00 | char | 0x00 (0) | string terminator padding: - +0x233D | 00 00 00 | uint8_t[3] | ... | padding + +0x26F5 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x2340 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x2344 | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal - +0x234C | 00 | char | 0x00 (0) | string terminator + +0x26F8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x26FC | 63 70 70 5F 74 79 70 65 | char[8] | cpp_type | string literal + +0x2704 | 00 | char | 0x00 (0) | string terminator padding: - +0x234D | 00 00 00 | uint8_t[3] | ... | padding + +0x2705 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x2350 | EC ED FF FF | SOffset32 | 0xFFFFEDEC (-4628) Loc: +0x3564 | offset to vtable - +0x2354 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2368 | offset to field `key` (string) - +0x2358 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x235C | offset to field `value` (string) + +0x2708 | EC ED FF FF | SOffset32 | 0xFFFFEDEC (-4628) Loc: +0x391C | offset to vtable + +0x270C | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2720 | offset to field `key` (string) + +0x2710 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2714 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x235C | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x2360 | 6E 61 6B 65 64 | char[5] | naked | string literal - +0x2365 | 00 | char | 0x00 (0) | string terminator + +0x2714 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x2718 | 6E 61 6B 65 64 | char[5] | naked | string literal + +0x271D | 00 | char | 0x00 (0) | string terminator padding: - +0x2366 | 00 00 | uint8_t[2] | .. | padding + +0x271E | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2368 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string - +0x236C | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal - +0x2374 | 74 79 70 65 | | type - +0x2378 | 00 | char | 0x00 (0) | string terminator + +0x2720 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | length of string + +0x2724 | 63 70 70 5F 70 74 72 5F | char[12] | cpp_ptr_ | string literal + +0x272C | 74 79 70 65 | | type + +0x2730 | 00 | char | 0x00 (0) | string terminator padding: - +0x2379 | 00 00 00 | uint8_t[3] | ... | padding + +0x2731 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x237C | E0 E9 FF FF | SOffset32 | 0xFFFFE9E0 (-5664) Loc: +0x399C | offset to vtable - +0x2380 | 00 00 00 | uint8_t[3] | ... | padding - +0x2383 | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) - +0x2384 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2734 | E0 E9 FF FF | SOffset32 | 0xFFFFE9E0 (-5664) Loc: +0x3D54 | offset to vtable + +0x2738 | 00 00 00 | uint8_t[3] | ... | padding + +0x273B | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) + +0x273C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2388 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x238C | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal - +0x2394 | 75 33 32 5F 66 6E 76 31 | | u32_fnv1 - +0x239C | 61 | | a - +0x239D | 00 | char | 0x00 (0) | string terminator + +0x2740 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x2744 | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal + +0x274C | 75 33 32 5F 66 6E 76 31 | | u32_fnv1 + +0x2754 | 61 | | a + +0x2755 | 00 | char | 0x00 (0) | string terminator padding: - +0x239E | 00 00 | uint8_t[2] | .. | padding + +0x2756 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x23A0 | 66 F9 FF FF | SOffset32 | 0xFFFFF966 (-1690) Loc: +0x2A3A | offset to vtable - +0x23A4 | 14 00 | uint16_t | 0x0014 (20) | table field `id` (UShort) - +0x23A6 | 2C 00 | uint16_t | 0x002C (44) | table field `offset` (UShort) - +0x23A8 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x2418 | offset to field `name` (string) - +0x23AC | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x240C | offset to field `type` (table) - +0x23B0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x23BC | offset to field `attributes` (vector) - +0x23B4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x23B8 | offset to field `documentation` (vector) + +0x2758 | 66 F9 FF FF | SOffset32 | 0xFFFFF966 (-1690) Loc: +0x2DF2 | offset to vtable + +0x275C | 14 00 | uint16_t | 0x0014 (20) | table field `id` (UShort) + +0x275E | 2C 00 | uint16_t | 0x002C (44) | table field `offset` (UShort) + +0x2760 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x27D0 | offset to field `name` (string) + +0x2764 | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x27C4 | offset to field `type` (table) + +0x2768 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2774 | offset to field `attributes` (vector) + +0x276C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2770 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x23B8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2770 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x23BC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x23C0 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x23E4 | offset to table[0] - +0x23C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x23C8 | offset to table[1] + +0x2774 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2778 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x279C | offset to table[0] + +0x277C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2780 | offset to table[1] table (reflection.KeyValue): - +0x23C8 | 64 EE FF FF | SOffset32 | 0xFFFFEE64 (-4508) Loc: +0x3564 | offset to vtable - +0x23CC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x23DC | offset to field `key` (string) - +0x23D0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x23D4 | offset to field `value` (string) + +0x2780 | 64 EE FF FF | SOffset32 | 0xFFFFEE64 (-4508) Loc: +0x391C | offset to vtable + +0x2784 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2794 | offset to field `key` (string) + +0x2788 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x278C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x23D4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x23D8 | 32 30 | char[2] | 20 | string literal - +0x23DA | 00 | char | 0x00 (0) | string terminator + +0x278C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2790 | 32 30 | char[2] | 20 | string literal + +0x2792 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x23DC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x23E0 | 69 64 | char[2] | id | string literal - +0x23E2 | 00 | char | 0x00 (0) | string terminator + +0x2794 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2798 | 69 64 | char[2] | id | string literal + +0x279A | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x23E4 | 80 EE FF FF | SOffset32 | 0xFFFFEE80 (-4480) Loc: +0x3564 | offset to vtable - +0x23E8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2400 | offset to field `key` (string) - +0x23EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x23F0 | offset to field `value` (string) + +0x279C | 80 EE FF FF | SOffset32 | 0xFFFFEE80 (-4480) Loc: +0x391C | offset to vtable + +0x27A0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x27B8 | offset to field `key` (string) + +0x27A4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x27A8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x23F0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x23F4 | 66 6E 76 31 61 5F 33 32 | char[8] | fnv1a_32 | string literal - +0x23FC | 00 | char | 0x00 (0) | string terminator + +0x27A8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x27AC | 66 6E 76 31 61 5F 33 32 | char[8] | fnv1a_32 | string literal + +0x27B4 | 00 | char | 0x00 (0) | string terminator padding: - +0x23FD | 00 00 00 | uint8_t[3] | ... | padding + +0x27B5 | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x2400 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2404 | 68 61 73 68 | char[4] | hash | string literal - +0x2408 | 00 | char | 0x00 (0) | string terminator + +0x27B8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x27BC | 68 61 73 68 | char[4] | hash | string literal + +0x27C0 | 00 | char | 0x00 (0) | string terminator padding: - +0x2409 | 00 00 00 | uint8_t[3] | ... | padding + +0x27C1 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x240C | 70 EA FF FF | SOffset32 | 0xFFFFEA70 (-5520) Loc: +0x399C | offset to vtable - +0x2410 | 00 00 00 | uint8_t[3] | ... | padding - +0x2413 | 07 | uint8_t | 0x07 (7) | table field `base_type` (Byte) - +0x2414 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x27C4 | 70 EA FF FF | SOffset32 | 0xFFFFEA70 (-5520) Loc: +0x3D54 | offset to vtable + +0x27C8 | 00 00 00 | uint8_t[3] | ... | padding + +0x27CB | 07 | uint8_t | 0x07 (7) | table field `base_type` (Byte) + +0x27CC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2418 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x241C | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal - +0x2424 | 73 33 32 5F 66 6E 76 31 | | s32_fnv1 - +0x242C | 61 | | a - +0x242D | 00 | char | 0x00 (0) | string terminator + +0x27D0 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x27D4 | 74 65 73 74 68 61 73 68 | char[17] | testhash | string literal + +0x27DC | 73 33 32 5F 66 6E 76 31 | | s32_fnv1 + +0x27E4 | 61 | | a + +0x27E5 | 00 | char | 0x00 (0) | string terminator padding: - +0x242E | 00 00 | uint8_t[2] | .. | padding + +0x27E6 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x2430 | F6 F9 FF FF | SOffset32 | 0xFFFFF9F6 (-1546) Loc: +0x2A3A | offset to vtable - +0x2434 | 13 00 | uint16_t | 0x0013 (19) | table field `id` (UShort) - +0x2436 | 2A 00 | uint16_t | 0x002A (42) | table field `offset` (UShort) - +0x2438 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x24A8 | offset to field `name` (string) - +0x243C | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x2498 | offset to field `type` (table) - +0x2440 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x244C | offset to field `attributes` (vector) - +0x2444 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2448 | offset to field `documentation` (vector) + +0x27E8 | F6 F9 FF FF | SOffset32 | 0xFFFFF9F6 (-1546) Loc: +0x2DF2 | offset to vtable + +0x27EC | 13 00 | uint16_t | 0x0013 (19) | table field `id` (UShort) + +0x27EE | 2A 00 | uint16_t | 0x002A (42) | table field `offset` (UShort) + +0x27F0 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x2860 | offset to field `name` (string) + +0x27F4 | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x2850 | offset to field `type` (table) + +0x27F8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2804 | offset to field `attributes` (vector) + +0x27FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2800 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2448 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2800 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x244C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x2450 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2474 | offset to table[0] - +0x2454 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2458 | offset to table[1] + +0x2804 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2808 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x282C | offset to table[0] + +0x280C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2810 | offset to table[1] table (reflection.KeyValue): - +0x2458 | F4 EE FF FF | SOffset32 | 0xFFFFEEF4 (-4364) Loc: +0x3564 | offset to vtable - +0x245C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x246C | offset to field `key` (string) - +0x2460 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2464 | offset to field `value` (string) + +0x2810 | F4 EE FF FF | SOffset32 | 0xFFFFEEF4 (-4364) Loc: +0x391C | offset to vtable + +0x2814 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2824 | offset to field `key` (string) + +0x2818 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x281C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2464 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2468 | 31 39 | char[2] | 19 | string literal - +0x246A | 00 | char | 0x00 (0) | string terminator + +0x281C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2820 | 31 39 | char[2] | 19 | string literal + +0x2822 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x246C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2470 | 69 64 | char[2] | id | string literal - +0x2472 | 00 | char | 0x00 (0) | string terminator + +0x2824 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2828 | 69 64 | char[2] | id | string literal + +0x282A | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2474 | 10 EF FF FF | SOffset32 | 0xFFFFEF10 (-4336) Loc: +0x3564 | offset to vtable - +0x2478 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x248C | offset to field `key` (string) - +0x247C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2480 | offset to field `value` (string) + +0x282C | 10 EF FF FF | SOffset32 | 0xFFFFEF10 (-4336) Loc: +0x391C | offset to vtable + +0x2830 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2844 | offset to field `key` (string) + +0x2834 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2838 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2480 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string - +0x2484 | 66 6E 76 31 5F 36 34 | char[7] | fnv1_64 | string literal - +0x248B | 00 | char | 0x00 (0) | string terminator + +0x2838 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string + +0x283C | 66 6E 76 31 5F 36 34 | char[7] | fnv1_64 | string literal + +0x2843 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x248C | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2490 | 68 61 73 68 | char[4] | hash | string literal - +0x2494 | 00 | char | 0x00 (0) | string terminator + +0x2844 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x2848 | 68 61 73 68 | char[4] | hash | string literal + +0x284C | 00 | char | 0x00 (0) | string terminator padding: - +0x2495 | 00 00 00 | uint8_t[3] | ... | padding + +0x284D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x2498 | B4 ED FF FF | SOffset32 | 0xFFFFEDB4 (-4684) Loc: +0x36E4 | offset to vtable - +0x249C | 00 00 00 | uint8_t[3] | ... | padding - +0x249F | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x24A0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x24A4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2850 | B4 ED FF FF | SOffset32 | 0xFFFFEDB4 (-4684) Loc: +0x3A9C | offset to vtable + +0x2854 | 00 00 00 | uint8_t[3] | ... | padding + +0x2857 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x2858 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x285C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x24A8 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x24AC | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal - +0x24B4 | 75 36 34 5F 66 6E 76 31 | | u64_fnv1 - +0x24BC | 00 | char | 0x00 (0) | string terminator + +0x2860 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x2864 | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal + +0x286C | 75 36 34 5F 66 6E 76 31 | | u64_fnv1 + +0x2874 | 00 | char | 0x00 (0) | string terminator padding: - +0x24BD | 00 00 00 | uint8_t[3] | ... | padding + +0x2875 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x24C0 | 86 FA FF FF | SOffset32 | 0xFFFFFA86 (-1402) Loc: +0x2A3A | offset to vtable - +0x24C4 | 12 00 | uint16_t | 0x0012 (18) | table field `id` (UShort) - +0x24C6 | 28 00 | uint16_t | 0x0028 (40) | table field `offset` (UShort) - +0x24C8 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x2538 | offset to field `name` (string) - +0x24CC | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x2528 | offset to field `type` (table) - +0x24D0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x24DC | offset to field `attributes` (vector) - +0x24D4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x24D8 | offset to field `documentation` (vector) + +0x2878 | 86 FA FF FF | SOffset32 | 0xFFFFFA86 (-1402) Loc: +0x2DF2 | offset to vtable + +0x287C | 12 00 | uint16_t | 0x0012 (18) | table field `id` (UShort) + +0x287E | 28 00 | uint16_t | 0x0028 (40) | table field `offset` (UShort) + +0x2880 | 70 00 00 00 | UOffset32 | 0x00000070 (112) Loc: +0x28F0 | offset to field `name` (string) + +0x2884 | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x28E0 | offset to field `type` (table) + +0x2888 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2894 | offset to field `attributes` (vector) + +0x288C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2890 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x24D8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2890 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x24DC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x24E0 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2504 | offset to table[0] - +0x24E4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x24E8 | offset to table[1] + +0x2894 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2898 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x28BC | offset to table[0] + +0x289C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x28A0 | offset to table[1] table (reflection.KeyValue): - +0x24E8 | 84 EF FF FF | SOffset32 | 0xFFFFEF84 (-4220) Loc: +0x3564 | offset to vtable - +0x24EC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x24FC | offset to field `key` (string) - +0x24F0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x24F4 | offset to field `value` (string) + +0x28A0 | 84 EF FF FF | SOffset32 | 0xFFFFEF84 (-4220) Loc: +0x391C | offset to vtable + +0x28A4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x28B4 | offset to field `key` (string) + +0x28A8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x28AC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x24F4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x24F8 | 31 38 | char[2] | 18 | string literal - +0x24FA | 00 | char | 0x00 (0) | string terminator + +0x28AC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x28B0 | 31 38 | char[2] | 18 | string literal + +0x28B2 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x24FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2500 | 69 64 | char[2] | id | string literal - +0x2502 | 00 | char | 0x00 (0) | string terminator + +0x28B4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x28B8 | 69 64 | char[2] | id | string literal + +0x28BA | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2504 | A0 EF FF FF | SOffset32 | 0xFFFFEFA0 (-4192) Loc: +0x3564 | offset to vtable - +0x2508 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x251C | offset to field `key` (string) - +0x250C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2510 | offset to field `value` (string) + +0x28BC | A0 EF FF FF | SOffset32 | 0xFFFFEFA0 (-4192) Loc: +0x391C | offset to vtable + +0x28C0 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x28D4 | offset to field `key` (string) + +0x28C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x28C8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2510 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string - +0x2514 | 66 6E 76 31 5F 36 34 | char[7] | fnv1_64 | string literal - +0x251B | 00 | char | 0x00 (0) | string terminator + +0x28C8 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string + +0x28CC | 66 6E 76 31 5F 36 34 | char[7] | fnv1_64 | string literal + +0x28D3 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x251C | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2520 | 68 61 73 68 | char[4] | hash | string literal - +0x2524 | 00 | char | 0x00 (0) | string terminator + +0x28D4 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x28D8 | 68 61 73 68 | char[4] | hash | string literal + +0x28DC | 00 | char | 0x00 (0) | string terminator padding: - +0x2525 | 00 00 00 | uint8_t[3] | ... | padding + +0x28DD | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x2528 | 44 EE FF FF | SOffset32 | 0xFFFFEE44 (-4540) Loc: +0x36E4 | offset to vtable - +0x252C | 00 00 00 | uint8_t[3] | ... | padding - +0x252F | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) - +0x2530 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x2534 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x28E0 | 44 EE FF FF | SOffset32 | 0xFFFFEE44 (-4540) Loc: +0x3A9C | offset to vtable + +0x28E4 | 00 00 00 | uint8_t[3] | ... | padding + +0x28E7 | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) + +0x28E8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x28EC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2538 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x253C | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal - +0x2544 | 73 36 34 5F 66 6E 76 31 | | s64_fnv1 - +0x254C | 00 | char | 0x00 (0) | string terminator + +0x28F0 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x28F4 | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal + +0x28FC | 73 36 34 5F 66 6E 76 31 | | s64_fnv1 + +0x2904 | 00 | char | 0x00 (0) | string terminator padding: - +0x254D | 00 00 00 | uint8_t[3] | ... | padding + +0x2905 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x2550 | 16 FB FF FF | SOffset32 | 0xFFFFFB16 (-1258) Loc: +0x2A3A | offset to vtable - +0x2554 | 11 00 | uint16_t | 0x0011 (17) | table field `id` (UShort) - +0x2556 | 26 00 | uint16_t | 0x0026 (38) | table field `offset` (UShort) - +0x2558 | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x25C4 | offset to field `name` (string) - +0x255C | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x25B8 | offset to field `type` (table) - +0x2560 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x256C | offset to field `attributes` (vector) - +0x2564 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2568 | offset to field `documentation` (vector) + +0x2908 | 16 FB FF FF | SOffset32 | 0xFFFFFB16 (-1258) Loc: +0x2DF2 | offset to vtable + +0x290C | 11 00 | uint16_t | 0x0011 (17) | table field `id` (UShort) + +0x290E | 26 00 | uint16_t | 0x0026 (38) | table field `offset` (UShort) + +0x2910 | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x297C | offset to field `name` (string) + +0x2914 | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x2970 | offset to field `type` (table) + +0x2918 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2924 | offset to field `attributes` (vector) + +0x291C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2920 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2568 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2920 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x256C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x2570 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2594 | offset to table[0] - +0x2574 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2578 | offset to table[1] + +0x2924 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2928 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x294C | offset to table[0] + +0x292C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2930 | offset to table[1] table (reflection.KeyValue): - +0x2578 | 14 F0 FF FF | SOffset32 | 0xFFFFF014 (-4076) Loc: +0x3564 | offset to vtable - +0x257C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x258C | offset to field `key` (string) - +0x2580 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2584 | offset to field `value` (string) + +0x2930 | 14 F0 FF FF | SOffset32 | 0xFFFFF014 (-4076) Loc: +0x391C | offset to vtable + +0x2934 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2944 | offset to field `key` (string) + +0x2938 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x293C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2584 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2588 | 31 37 | char[2] | 17 | string literal - +0x258A | 00 | char | 0x00 (0) | string terminator + +0x293C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2940 | 31 37 | char[2] | 17 | string literal + +0x2942 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x258C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2590 | 69 64 | char[2] | id | string literal - +0x2592 | 00 | char | 0x00 (0) | string terminator + +0x2944 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2948 | 69 64 | char[2] | id | string literal + +0x294A | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2594 | 30 F0 FF FF | SOffset32 | 0xFFFFF030 (-4048) Loc: +0x3564 | offset to vtable - +0x2598 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x25AC | offset to field `key` (string) - +0x259C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x25A0 | offset to field `value` (string) + +0x294C | 30 F0 FF FF | SOffset32 | 0xFFFFF030 (-4048) Loc: +0x391C | offset to vtable + +0x2950 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2964 | offset to field `key` (string) + +0x2954 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2958 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x25A0 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string - +0x25A4 | 66 6E 76 31 5F 33 32 | char[7] | fnv1_32 | string literal - +0x25AB | 00 | char | 0x00 (0) | string terminator + +0x2958 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string + +0x295C | 66 6E 76 31 5F 33 32 | char[7] | fnv1_32 | string literal + +0x2963 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x25AC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x25B0 | 68 61 73 68 | char[4] | hash | string literal - +0x25B4 | 00 | char | 0x00 (0) | string terminator + +0x2964 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x2968 | 68 61 73 68 | char[4] | hash | string literal + +0x296C | 00 | char | 0x00 (0) | string terminator padding: - +0x25B5 | 00 00 00 | uint8_t[3] | ... | padding + +0x296D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x25B8 | 1C EC FF FF | SOffset32 | 0xFFFFEC1C (-5092) Loc: +0x399C | offset to vtable - +0x25BC | 00 00 00 | uint8_t[3] | ... | padding - +0x25BF | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) - +0x25C0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2970 | 1C EC FF FF | SOffset32 | 0xFFFFEC1C (-5092) Loc: +0x3D54 | offset to vtable + +0x2974 | 00 00 00 | uint8_t[3] | ... | padding + +0x2977 | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) + +0x2978 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x25C4 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x25C8 | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal - +0x25D0 | 75 33 32 5F 66 6E 76 31 | | u32_fnv1 - +0x25D8 | 00 | char | 0x00 (0) | string terminator + +0x297C | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x2980 | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal + +0x2988 | 75 33 32 5F 66 6E 76 31 | | u32_fnv1 + +0x2990 | 00 | char | 0x00 (0) | string terminator padding: - +0x25D9 | 00 00 00 | uint8_t[3] | ... | padding + +0x2991 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x25DC | A2 FB FF FF | SOffset32 | 0xFFFFFBA2 (-1118) Loc: +0x2A3A | offset to vtable - +0x25E0 | 10 00 | uint16_t | 0x0010 (16) | table field `id` (UShort) - +0x25E2 | 24 00 | uint16_t | 0x0024 (36) | table field `offset` (UShort) - +0x25E4 | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x2650 | offset to field `name` (string) - +0x25E8 | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x2644 | offset to field `type` (table) - +0x25EC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x25F8 | offset to field `attributes` (vector) - +0x25F0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x25F4 | offset to field `documentation` (vector) + +0x2994 | A2 FB FF FF | SOffset32 | 0xFFFFFBA2 (-1118) Loc: +0x2DF2 | offset to vtable + +0x2998 | 10 00 | uint16_t | 0x0010 (16) | table field `id` (UShort) + +0x299A | 24 00 | uint16_t | 0x0024 (36) | table field `offset` (UShort) + +0x299C | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x2A08 | offset to field `name` (string) + +0x29A0 | 5C 00 00 00 | UOffset32 | 0x0000005C (92) Loc: +0x29FC | offset to field `type` (table) + +0x29A4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x29B0 | offset to field `attributes` (vector) + +0x29A8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x29AC | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x25F4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x29AC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x25F8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x25FC | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2620 | offset to table[0] - +0x2600 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2604 | offset to table[1] + +0x29B0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x29B4 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x29D8 | offset to table[0] + +0x29B8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x29BC | offset to table[1] table (reflection.KeyValue): - +0x2604 | A0 F0 FF FF | SOffset32 | 0xFFFFF0A0 (-3936) Loc: +0x3564 | offset to vtable - +0x2608 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2618 | offset to field `key` (string) - +0x260C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2610 | offset to field `value` (string) + +0x29BC | A0 F0 FF FF | SOffset32 | 0xFFFFF0A0 (-3936) Loc: +0x391C | offset to vtable + +0x29C0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x29D0 | offset to field `key` (string) + +0x29C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x29C8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2610 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2614 | 31 36 | char[2] | 16 | string literal - +0x2616 | 00 | char | 0x00 (0) | string terminator + +0x29C8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x29CC | 31 36 | char[2] | 16 | string literal + +0x29CE | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2618 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x261C | 69 64 | char[2] | id | string literal - +0x261E | 00 | char | 0x00 (0) | string terminator + +0x29D0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x29D4 | 69 64 | char[2] | id | string literal + +0x29D6 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2620 | BC F0 FF FF | SOffset32 | 0xFFFFF0BC (-3908) Loc: +0x3564 | offset to vtable - +0x2624 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2638 | offset to field `key` (string) - +0x2628 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x262C | offset to field `value` (string) + +0x29D8 | BC F0 FF FF | SOffset32 | 0xFFFFF0BC (-3908) Loc: +0x391C | offset to vtable + +0x29DC | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x29F0 | offset to field `key` (string) + +0x29E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x29E4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x262C | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string - +0x2630 | 66 6E 76 31 5F 33 32 | char[7] | fnv1_32 | string literal - +0x2637 | 00 | char | 0x00 (0) | string terminator + +0x29E4 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string + +0x29E8 | 66 6E 76 31 5F 33 32 | char[7] | fnv1_32 | string literal + +0x29EF | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2638 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x263C | 68 61 73 68 | char[4] | hash | string literal - +0x2640 | 00 | char | 0x00 (0) | string terminator + +0x29F0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x29F4 | 68 61 73 68 | char[4] | hash | string literal + +0x29F8 | 00 | char | 0x00 (0) | string terminator padding: - +0x2641 | 00 00 00 | uint8_t[3] | ... | padding + +0x29F9 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x2644 | A8 EC FF FF | SOffset32 | 0xFFFFECA8 (-4952) Loc: +0x399C | offset to vtable - +0x2648 | 00 00 00 | uint8_t[3] | ... | padding - +0x264B | 07 | uint8_t | 0x07 (7) | table field `base_type` (Byte) - +0x264C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x29FC | A8 EC FF FF | SOffset32 | 0xFFFFECA8 (-4952) Loc: +0x3D54 | offset to vtable + +0x2A00 | 00 00 00 | uint8_t[3] | ... | padding + +0x2A03 | 07 | uint8_t | 0x07 (7) | table field `base_type` (Byte) + +0x2A04 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2650 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string - +0x2654 | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal - +0x265C | 73 33 32 5F 66 6E 76 31 | | s32_fnv1 - +0x2664 | 00 | char | 0x00 (0) | string terminator + +0x2A08 | 10 00 00 00 | uint32_t | 0x00000010 (16) | length of string + +0x2A0C | 74 65 73 74 68 61 73 68 | char[16] | testhash | string literal + +0x2A14 | 73 33 32 5F 66 6E 76 31 | | s32_fnv1 + +0x2A1C | 00 | char | 0x00 (0) | string terminator padding: - +0x2665 | 00 00 00 | uint8_t[3] | ... | padding + +0x2A1D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x2668 | 2E FC FF FF | SOffset32 | 0xFFFFFC2E (-978) Loc: +0x2A3A | offset to vtable - +0x266C | 0F 00 | uint16_t | 0x000F (15) | table field `id` (UShort) - +0x266E | 22 00 | uint16_t | 0x0022 (34) | table field `offset` (UShort) - +0x2670 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x26B8 | offset to field `name` (string) - +0x2674 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x26A8 | offset to field `type` (table) - +0x2678 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2684 | offset to field `attributes` (vector) - +0x267C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2680 | offset to field `documentation` (vector) + +0x2A20 | 2E FC FF FF | SOffset32 | 0xFFFFFC2E (-978) Loc: +0x2DF2 | offset to vtable + +0x2A24 | 0F 00 | uint16_t | 0x000F (15) | table field `id` (UShort) + +0x2A26 | 22 00 | uint16_t | 0x0022 (34) | table field `offset` (UShort) + +0x2A28 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2A70 | offset to field `name` (string) + +0x2A2C | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2A60 | offset to field `type` (table) + +0x2A30 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2A3C | offset to field `attributes` (vector) + +0x2A34 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A38 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2680 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2A38 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2684 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2688 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x268C | offset to table[0] + +0x2A3C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2A40 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A44 | offset to table[0] table (reflection.KeyValue): - +0x268C | 28 F1 FF FF | SOffset32 | 0xFFFFF128 (-3800) Loc: +0x3564 | offset to vtable - +0x2690 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x26A0 | offset to field `key` (string) - +0x2694 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2698 | offset to field `value` (string) + +0x2A44 | 28 F1 FF FF | SOffset32 | 0xFFFFF128 (-3800) Loc: +0x391C | offset to vtable + +0x2A48 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2A58 | offset to field `key` (string) + +0x2A4C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A50 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2698 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x269C | 31 35 | char[2] | 15 | string literal - +0x269E | 00 | char | 0x00 (0) | string terminator + +0x2A50 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2A54 | 31 35 | char[2] | 15 | string literal + +0x2A56 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x26A0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x26A4 | 69 64 | char[2] | id | string literal - +0x26A6 | 00 | char | 0x00 (0) | string terminator + +0x2A58 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2A5C | 69 64 | char[2] | id | string literal + +0x2A5E | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x26A8 | C4 EF FF FF | SOffset32 | 0xFFFFEFC4 (-4156) Loc: +0x36E4 | offset to vtable - +0x26AC | 00 00 00 | uint8_t[3] | ... | padding - +0x26AF | 02 | uint8_t | 0x02 (2) | table field `base_type` (Byte) - +0x26B0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x26B4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2A60 | C4 EF FF FF | SOffset32 | 0xFFFFEFC4 (-4156) Loc: +0x3A9C | offset to vtable + +0x2A64 | 00 00 00 | uint8_t[3] | ... | padding + +0x2A67 | 02 | uint8_t | 0x02 (2) | table field `base_type` (Byte) + +0x2A68 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x2A6C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x26B8 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x26BC | 74 65 73 74 62 6F 6F 6C | char[8] | testbool | string literal - +0x26C4 | 00 | char | 0x00 (0) | string terminator + +0x2A70 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x2A74 | 74 65 73 74 62 6F 6F 6C | char[8] | testbool | string literal + +0x2A7C | 00 | char | 0x00 (0) | string terminator padding: - +0x26C5 | 00 00 00 | uint8_t[3] | ... | padding + +0x2A7D | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x26C8 | A4 FB FF FF | SOffset32 | 0xFFFFFBA4 (-1116) Loc: +0x2B24 | offset to vtable - +0x26CC | 00 00 00 | uint8_t[3] | ... | padding - +0x26CF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x26D0 | 0E 00 | uint16_t | 0x000E (14) | table field `id` (UShort) - +0x26D2 | 20 00 | uint16_t | 0x0020 (32) | table field `offset` (UShort) - +0x26D4 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x271C | offset to field `name` (string) - +0x26D8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x270C | offset to field `type` (table) - +0x26DC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x26E8 | offset to field `attributes` (vector) - +0x26E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x26E4 | offset to field `documentation` (vector) + +0x2A80 | A4 FB FF FF | SOffset32 | 0xFFFFFBA4 (-1116) Loc: +0x2EDC | offset to vtable + +0x2A84 | 00 00 00 | uint8_t[3] | ... | padding + +0x2A87 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2A88 | 0E 00 | uint16_t | 0x000E (14) | table field `id` (UShort) + +0x2A8A | 20 00 | uint16_t | 0x0020 (32) | table field `offset` (UShort) + +0x2A8C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2AD4 | offset to field `name` (string) + +0x2A90 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2AC4 | offset to field `type` (table) + +0x2A94 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2AA0 | offset to field `attributes` (vector) + +0x2A98 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A9C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x26E4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2A9C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x26E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x26EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x26F0 | offset to table[0] + +0x2AA0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2AA4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2AA8 | offset to table[0] table (reflection.KeyValue): - +0x26F0 | 8C F1 FF FF | SOffset32 | 0xFFFFF18C (-3700) Loc: +0x3564 | offset to vtable - +0x26F4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2704 | offset to field `key` (string) - +0x26F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x26FC | offset to field `value` (string) + +0x2AA8 | 8C F1 FF FF | SOffset32 | 0xFFFFF18C (-3700) Loc: +0x391C | offset to vtable + +0x2AAC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2ABC | offset to field `key` (string) + +0x2AB0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2AB4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x26FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2700 | 31 34 | char[2] | 14 | string literal - +0x2702 | 00 | char | 0x00 (0) | string terminator + +0x2AB4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2AB8 | 31 34 | char[2] | 14 | string literal + +0x2ABA | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2704 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2708 | 69 64 | char[2] | id | string literal - +0x270A | 00 | char | 0x00 (0) | string terminator + +0x2ABC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2AC0 | 69 64 | char[2] | id | string literal + +0x2AC2 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x270C | 54 EE FF FF | SOffset32 | 0xFFFFEE54 (-4524) Loc: +0x38B8 | offset to vtable - +0x2710 | 00 00 00 | uint8_t[3] | ... | padding - +0x2713 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x2714 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) - +0x2718 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2AC4 | 54 EE FF FF | SOffset32 | 0xFFFFEE54 (-4524) Loc: +0x3C70 | offset to vtable + +0x2AC8 | 00 00 00 | uint8_t[3] | ... | padding + +0x2ACB | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x2ACC | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) + +0x2AD0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x271C | 09 00 00 00 | uint32_t | 0x00000009 (9) | length of string - +0x2720 | 74 65 73 74 65 6D 70 74 | char[9] | testempt | string literal - +0x2728 | 79 | | y - +0x2729 | 00 | char | 0x00 (0) | string terminator + +0x2AD4 | 09 00 00 00 | uint32_t | 0x00000009 (9) | length of string + +0x2AD8 | 74 65 73 74 65 6D 70 74 | char[9] | testempt | string literal + +0x2AE0 | 79 | | y + +0x2AE1 | 00 | char | 0x00 (0) | string terminator padding: - +0x272A | 00 00 | uint8_t[2] | .. | padding + +0x2AE2 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x272C | 08 FC FF FF | SOffset32 | 0xFFFFFC08 (-1016) Loc: +0x2B24 | offset to vtable - +0x2730 | 00 00 00 | uint8_t[3] | ... | padding - +0x2733 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x2734 | 0D 00 | uint16_t | 0x000D (13) | table field `id` (UShort) - +0x2736 | 1E 00 | uint16_t | 0x001E (30) | table field `offset` (UShort) - +0x2738 | 78 00 00 00 | UOffset32 | 0x00000078 (120) Loc: +0x27B0 | offset to field `name` (string) - +0x273C | 68 00 00 00 | UOffset32 | 0x00000068 (104) Loc: +0x27A4 | offset to field `type` (table) - +0x2740 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x274C | offset to field `attributes` (vector) - +0x2744 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2748 | offset to field `documentation` (vector) + +0x2AE4 | 08 FC FF FF | SOffset32 | 0xFFFFFC08 (-1016) Loc: +0x2EDC | offset to vtable + +0x2AE8 | 00 00 00 | uint8_t[3] | ... | padding + +0x2AEB | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2AEC | 0D 00 | uint16_t | 0x000D (13) | table field `id` (UShort) + +0x2AEE | 1E 00 | uint16_t | 0x001E (30) | table field `offset` (UShort) + +0x2AF0 | 78 00 00 00 | UOffset32 | 0x00000078 (120) Loc: +0x2B68 | offset to field `name` (string) + +0x2AF4 | 68 00 00 00 | UOffset32 | 0x00000068 (104) Loc: +0x2B5C | offset to field `type` (table) + +0x2AF8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2B04 | offset to field `attributes` (vector) + +0x2AFC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2B00 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2748 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2B00 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x274C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x2750 | 38 00 00 00 | UOffset32 | 0x00000038 (56) Loc: +0x2788 | offset to table[0] - +0x2754 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2758 | offset to table[1] + +0x2B04 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2B08 | 38 00 00 00 | UOffset32 | 0x00000038 (56) Loc: +0x2B40 | offset to table[0] + +0x2B0C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2B10 | offset to table[1] table (reflection.KeyValue): - +0x2758 | F4 F1 FF FF | SOffset32 | 0xFFFFF1F4 (-3596) Loc: +0x3564 | offset to vtable - +0x275C | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2770 | offset to field `key` (string) - +0x2760 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2764 | offset to field `value` (string) + +0x2B10 | F4 F1 FF FF | SOffset32 | 0xFFFFF1F4 (-3596) Loc: +0x391C | offset to vtable + +0x2B14 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2B28 | offset to field `key` (string) + +0x2B18 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2B1C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2764 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string - +0x2768 | 4D 6F 6E 73 74 65 72 | char[7] | Monster | string literal - +0x276F | 00 | char | 0x00 (0) | string terminator + +0x2B1C | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string + +0x2B20 | 4D 6F 6E 73 74 65 72 | char[7] | Monster | string literal + +0x2B27 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2770 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x2774 | 6E 65 73 74 65 64 5F 66 | char[17] | nested_f | string literal - +0x277C | 6C 61 74 62 75 66 66 65 | | latbuffe - +0x2784 | 72 | | r - +0x2785 | 00 | char | 0x00 (0) | string terminator + +0x2B28 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x2B2C | 6E 65 73 74 65 64 5F 66 | char[17] | nested_f | string literal + +0x2B34 | 6C 61 74 62 75 66 66 65 | | latbuffe + +0x2B3C | 72 | | r + +0x2B3D | 00 | char | 0x00 (0) | string terminator padding: - +0x2786 | 00 00 | uint8_t[2] | .. | padding + +0x2B3E | 00 00 | uint8_t[2] | .. | padding table (reflection.KeyValue): - +0x2788 | 24 F2 FF FF | SOffset32 | 0xFFFFF224 (-3548) Loc: +0x3564 | offset to vtable - +0x278C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x279C | offset to field `key` (string) - +0x2790 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2794 | offset to field `value` (string) + +0x2B40 | 24 F2 FF FF | SOffset32 | 0xFFFFF224 (-3548) Loc: +0x391C | offset to vtable + +0x2B44 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2B54 | offset to field `key` (string) + +0x2B48 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2B4C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2794 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2798 | 31 33 | char[2] | 13 | string literal - +0x279A | 00 | char | 0x00 (0) | string terminator + +0x2B4C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2B50 | 31 33 | char[2] | 13 | string literal + +0x2B52 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x279C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x27A0 | 69 64 | char[2] | id | string literal - +0x27A2 | 00 | char | 0x00 (0) | string terminator + +0x2B54 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2B58 | 69 64 | char[2] | id | string literal + +0x2B5A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x27A4 | 20 FC FF FF | SOffset32 | 0xFFFFFC20 (-992) Loc: +0x2B84 | offset to vtable - +0x27A8 | 00 00 | uint8_t[2] | .. | padding - +0x27AA | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x27AB | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) - +0x27AC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2B5C | 20 FC FF FF | SOffset32 | 0xFFFFFC20 (-992) Loc: +0x2F3C | offset to vtable + +0x2B60 | 00 00 | uint8_t[2] | .. | padding + +0x2B62 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2B63 | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) + +0x2B64 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x27B0 | 14 00 00 00 | uint32_t | 0x00000014 (20) | length of string - +0x27B4 | 74 65 73 74 6E 65 73 74 | char[20] | testnest | string literal - +0x27BC | 65 64 66 6C 61 74 62 75 | | edflatbu - +0x27C4 | 66 66 65 72 | | ffer - +0x27C8 | 00 | char | 0x00 (0) | string terminator + +0x2B68 | 14 00 00 00 | uint32_t | 0x00000014 (20) | length of string + +0x2B6C | 74 65 73 74 6E 65 73 74 | char[20] | testnest | string literal + +0x2B74 | 65 64 66 6C 61 74 62 75 | | edflatbu + +0x2B7C | 66 66 65 72 | | ffer + +0x2B80 | 00 | char | 0x00 (0) | string terminator padding: - +0x27C9 | 00 00 00 | uint8_t[3] | ... | padding + +0x2B81 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x27CC | A8 FC FF FF | SOffset32 | 0xFFFFFCA8 (-856) Loc: +0x2B24 | offset to vtable - +0x27D0 | 00 00 00 | uint8_t[3] | ... | padding - +0x27D3 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x27D4 | 0C 00 | uint16_t | 0x000C (12) | table field `id` (UShort) - +0x27D6 | 1C 00 | uint16_t | 0x001C (28) | table field `offset` (UShort) - +0x27D8 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2820 | offset to field `name` (string) - +0x27DC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2810 | offset to field `type` (table) - +0x27E0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x27EC | offset to field `attributes` (vector) - +0x27E4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x27E8 | offset to field `documentation` (vector) + +0x2B84 | A8 FC FF FF | SOffset32 | 0xFFFFFCA8 (-856) Loc: +0x2EDC | offset to vtable + +0x2B88 | 00 00 00 | uint8_t[3] | ... | padding + +0x2B8B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2B8C | 0C 00 | uint16_t | 0x000C (12) | table field `id` (UShort) + +0x2B8E | 1C 00 | uint16_t | 0x001C (28) | table field `offset` (UShort) + +0x2B90 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2BD8 | offset to field `name` (string) + +0x2B94 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2BC8 | offset to field `type` (table) + +0x2B98 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2BA4 | offset to field `attributes` (vector) + +0x2B9C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2BA0 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x27E8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2BA0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x27EC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x27F0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x27F4 | offset to table[0] + +0x2BA4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2BA8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2BAC | offset to table[0] table (reflection.KeyValue): - +0x27F4 | 90 F2 FF FF | SOffset32 | 0xFFFFF290 (-3440) Loc: +0x3564 | offset to vtable - +0x27F8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2808 | offset to field `key` (string) - +0x27FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2800 | offset to field `value` (string) + +0x2BAC | 90 F2 FF FF | SOffset32 | 0xFFFFF290 (-3440) Loc: +0x391C | offset to vtable + +0x2BB0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2BC0 | offset to field `key` (string) + +0x2BB4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2BB8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2800 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2804 | 31 32 | char[2] | 12 | string literal - +0x2806 | 00 | char | 0x00 (0) | string terminator + +0x2BB8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2BBC | 31 32 | char[2] | 12 | string literal + +0x2BBE | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2808 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x280C | 69 64 | char[2] | id | string literal - +0x280E | 00 | char | 0x00 (0) | string terminator + +0x2BC0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2BC4 | 69 64 | char[2] | id | string literal + +0x2BC6 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2810 | 58 EF FF FF | SOffset32 | 0xFFFFEF58 (-4264) Loc: +0x38B8 | offset to vtable - +0x2814 | 00 00 00 | uint8_t[3] | ... | padding - +0x2817 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x2818 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) - +0x281C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2BC8 | 58 EF FF FF | SOffset32 | 0xFFFFEF58 (-4264) Loc: +0x3C70 | offset to vtable + +0x2BCC | 00 00 00 | uint8_t[3] | ... | padding + +0x2BCF | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x2BD0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) + +0x2BD4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2820 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x2824 | 65 6E 65 6D 79 | char[5] | enemy | string literal - +0x2829 | 00 | char | 0x00 (0) | string terminator + +0x2BD8 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x2BDC | 65 6E 65 6D 79 | char[5] | enemy | string literal + +0x2BE1 | 00 | char | 0x00 (0) | string terminator padding: - +0x282A | 00 00 | uint8_t[2] | .. | padding + +0x2BE2 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x282C | 08 FD FF FF | SOffset32 | 0xFFFFFD08 (-760) Loc: +0x2B24 | offset to vtable - +0x2830 | 00 00 00 | uint8_t[3] | ... | padding - +0x2833 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x2834 | 0B 00 | uint16_t | 0x000B (11) | table field `id` (UShort) - +0x2836 | 1A 00 | uint16_t | 0x001A (26) | table field `offset` (UShort) - +0x2838 | B4 00 00 00 | UOffset32 | 0x000000B4 (180) Loc: +0x28EC | offset to field `name` (string) - +0x283C | A0 00 00 00 | UOffset32 | 0x000000A0 (160) Loc: +0x28DC | offset to field `type` (table) - +0x2840 | 78 00 00 00 | UOffset32 | 0x00000078 (120) Loc: +0x28B8 | offset to field `attributes` (vector) - +0x2844 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2848 | offset to field `documentation` (vector) + +0x2BE4 | 08 FD FF FF | SOffset32 | 0xFFFFFD08 (-760) Loc: +0x2EDC | offset to vtable + +0x2BE8 | 00 00 00 | uint8_t[3] | ... | padding + +0x2BEB | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2BEC | 0B 00 | uint16_t | 0x000B (11) | table field `id` (UShort) + +0x2BEE | 1A 00 | uint16_t | 0x001A (26) | table field `offset` (UShort) + +0x2BF0 | B4 00 00 00 | UOffset32 | 0x000000B4 (180) Loc: +0x2CA4 | offset to field `name` (string) + +0x2BF4 | A0 00 00 00 | UOffset32 | 0x000000A0 (160) Loc: +0x2C94 | offset to field `type` (table) + +0x2BF8 | 78 00 00 00 | UOffset32 | 0x00000078 (120) Loc: +0x2C70 | offset to field `attributes` (vector) + +0x2BFC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2C00 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2848 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x284C | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x2868 | offset to string[0] - +0x2850 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2854 | offset to string[1] + +0x2C00 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x2C04 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x2C20 | offset to string[0] + +0x2C08 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2C0C | offset to string[1] string (reflection.Field.documentation): - +0x2854 | 0E 00 00 00 | uint32_t | 0x0000000E (14) | length of string - +0x2858 | 20 6D 75 6C 74 69 6C 69 | char[14] | multili | string literal - +0x2860 | 6E 65 20 74 6F 6F | | ne too - +0x2866 | 00 | char | 0x00 (0) | string terminator + +0x2C0C | 0E 00 00 00 | uint32_t | 0x0000000E (14) | length of string + +0x2C10 | 20 6D 75 6C 74 69 6C 69 | char[14] | multili | string literal + +0x2C18 | 6E 65 20 74 6F 6F | | ne too + +0x2C1E | 00 | char | 0x00 (0) | string terminator string (reflection.Field.documentation): - +0x2868 | 49 00 00 00 | uint32_t | 0x00000049 (73) | length of string - +0x286C | 20 61 6E 20 65 78 61 6D | char[73] | an exam | string literal - +0x2874 | 70 6C 65 20 64 6F 63 75 | | ple docu - +0x287C | 6D 65 6E 74 61 74 69 6F | | mentatio - +0x2884 | 6E 20 63 6F 6D 6D 65 6E | | n commen - +0x288C | 74 3A 20 74 68 69 73 20 | | t: this - +0x2894 | 77 69 6C 6C 20 65 6E 64 | | will end - +0x289C | 20 75 70 20 69 6E 20 74 | | up in t - +0x28A4 | 68 65 20 67 65 6E 65 72 | | he gener - +0x28AC | 61 74 65 64 20 63 6F 64 | | ated cod - +0x28B4 | 65 | | e - +0x28B5 | 00 | char | 0x00 (0) | string terminator - -padding: - +0x28B6 | 00 00 | uint8_t[2] | .. | padding + +0x2C20 | 49 00 00 00 | uint32_t | 0x00000049 (73) | length of string + +0x2C24 | 20 61 6E 20 65 78 61 6D | char[73] | an exam | string literal + +0x2C2C | 70 6C 65 20 64 6F 63 75 | | ple docu + +0x2C34 | 6D 65 6E 74 61 74 69 6F | | mentatio + +0x2C3C | 6E 20 63 6F 6D 6D 65 6E | | n commen + +0x2C44 | 74 3A 20 74 68 69 73 20 | | t: this + +0x2C4C | 77 69 6C 6C 20 65 6E 64 | | will end + +0x2C54 | 20 75 70 20 69 6E 20 74 | | up in t + +0x2C5C | 68 65 20 67 65 6E 65 72 | | he gener + +0x2C64 | 61 74 65 64 20 63 6F 64 | | ated cod + +0x2C6C | 65 | | e + +0x2C6D | 00 | char | 0x00 (0) | string terminator + +padding: + +0x2C6E | 00 00 | uint8_t[2] | .. | padding vector (reflection.Field.attributes): - +0x28B8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x28BC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x28C0 | offset to table[0] + +0x2C70 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2C74 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2C78 | offset to table[0] table (reflection.KeyValue): - +0x28C0 | 5C F3 FF FF | SOffset32 | 0xFFFFF35C (-3236) Loc: +0x3564 | offset to vtable - +0x28C4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x28D4 | offset to field `key` (string) - +0x28C8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x28CC | offset to field `value` (string) + +0x2C78 | 5C F3 FF FF | SOffset32 | 0xFFFFF35C (-3236) Loc: +0x391C | offset to vtable + +0x2C7C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2C8C | offset to field `key` (string) + +0x2C80 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2C84 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x28CC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x28D0 | 31 31 | char[2] | 11 | string literal - +0x28D2 | 00 | char | 0x00 (0) | string terminator + +0x2C84 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2C88 | 31 31 | char[2] | 11 | string literal + +0x2C8A | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x28D4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x28D8 | 69 64 | char[2] | id | string literal - +0x28DA | 00 | char | 0x00 (0) | string terminator + +0x2C8C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2C90 | 69 64 | char[2] | id | string literal + +0x2C92 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x28DC | 2C FF FF FF | SOffset32 | 0xFFFFFF2C (-212) Loc: +0x29B0 | offset to vtable - +0x28E0 | 00 00 | uint8_t[2] | .. | padding - +0x28E2 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x28E3 | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) - +0x28E4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) - +0x28E8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x2C94 | 2C FF FF FF | SOffset32 | 0xFFFFFF2C (-212) Loc: +0x2D68 | offset to vtable + +0x2C98 | 00 00 | uint8_t[2] | .. | padding + +0x2C9A | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2C9B | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) + +0x2C9C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `index` (Int) + +0x2CA0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x28EC | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x28F0 | 74 65 73 74 61 72 72 61 | char[17] | testarra | string literal - +0x28F8 | 79 6F 66 74 61 62 6C 65 | | yoftable - +0x2900 | 73 | | s - +0x2901 | 00 | char | 0x00 (0) | string terminator + +0x2CA4 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x2CA8 | 74 65 73 74 61 72 72 61 | char[17] | testarra | string literal + +0x2CB0 | 79 6F 66 74 61 62 6C 65 | | yoftable + +0x2CB8 | 73 | | s + +0x2CB9 | 00 | char | 0x00 (0) | string terminator padding: - +0x2902 | 00 00 | uint8_t[2] | .. | padding + +0x2CBA | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x2904 | E0 FD FF FF | SOffset32 | 0xFFFFFDE0 (-544) Loc: +0x2B24 | offset to vtable - +0x2908 | 00 00 00 | uint8_t[3] | ... | padding - +0x290B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x290C | 0A 00 | uint16_t | 0x000A (10) | table field `id` (UShort) - +0x290E | 18 00 | uint16_t | 0x0018 (24) | table field `offset` (UShort) - +0x2910 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2954 | offset to field `name` (string) - +0x2914 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2948 | offset to field `type` (table) - +0x2918 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2924 | offset to field `attributes` (vector) - +0x291C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2920 | offset to field `documentation` (vector) + +0x2CBC | E0 FD FF FF | SOffset32 | 0xFFFFFDE0 (-544) Loc: +0x2EDC | offset to vtable + +0x2CC0 | 00 00 00 | uint8_t[3] | ... | padding + +0x2CC3 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2CC4 | 0A 00 | uint16_t | 0x000A (10) | table field `id` (UShort) + +0x2CC6 | 18 00 | uint16_t | 0x0018 (24) | table field `offset` (UShort) + +0x2CC8 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2D0C | offset to field `name` (string) + +0x2CCC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2D00 | offset to field `type` (table) + +0x2CD0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2CDC | offset to field `attributes` (vector) + +0x2CD4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2CD8 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2920 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2CD8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2924 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2928 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x292C | offset to table[0] + +0x2CDC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2CE0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2CE4 | offset to table[0] table (reflection.KeyValue): - +0x292C | C8 F3 FF FF | SOffset32 | 0xFFFFF3C8 (-3128) Loc: +0x3564 | offset to vtable - +0x2930 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2940 | offset to field `key` (string) - +0x2934 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2938 | offset to field `value` (string) + +0x2CE4 | C8 F3 FF FF | SOffset32 | 0xFFFFF3C8 (-3128) Loc: +0x391C | offset to vtable + +0x2CE8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2CF8 | offset to field `key` (string) + +0x2CEC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2CF0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2938 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x293C | 31 30 | char[2] | 10 | string literal - +0x293E | 00 | char | 0x00 (0) | string terminator + +0x2CF0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2CF4 | 31 30 | char[2] | 10 | string literal + +0x2CF6 | 00 | char | 0x00 (0) | string terminator string (reflection.KeyValue.key): - +0x2940 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2944 | 69 64 | char[2] | id | string literal - +0x2946 | 00 | char | 0x00 (0) | string terminator + +0x2CF8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2CFC | 69 64 | char[2] | id | string literal + +0x2CFE | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2948 | C4 FD FF FF | SOffset32 | 0xFFFFFDC4 (-572) Loc: +0x2B84 | offset to vtable - +0x294C | 00 00 | uint8_t[2] | .. | padding - +0x294E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x294F | 0D | uint8_t | 0x0D (13) | table field `element` (Byte) - +0x2950 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x2D00 | C4 FD FF FF | SOffset32 | 0xFFFFFDC4 (-572) Loc: +0x2F3C | offset to vtable + +0x2D04 | 00 00 | uint8_t[2] | .. | padding + +0x2D06 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2D07 | 0D | uint8_t | 0x0D (13) | table field `element` (Byte) + +0x2D08 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2954 | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string - +0x2958 | 74 65 73 74 61 72 72 61 | char[17] | testarra | string literal - +0x2960 | 79 6F 66 73 74 72 69 6E | | yofstrin - +0x2968 | 67 | | g - +0x2969 | 00 | char | 0x00 (0) | string terminator + +0x2D0C | 11 00 00 00 | uint32_t | 0x00000011 (17) | length of string + +0x2D10 | 74 65 73 74 61 72 72 61 | char[17] | testarra | string literal + +0x2D18 | 79 6F 66 73 74 72 69 6E | | yofstrin + +0x2D20 | 67 | | g + +0x2D21 | 00 | char | 0x00 (0) | string terminator padding: - +0x296A | 00 00 | uint8_t[2] | .. | padding + +0x2D22 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x296C | 48 FE FF FF | SOffset32 | 0xFFFFFE48 (-440) Loc: +0x2B24 | offset to vtable - +0x2970 | 00 00 00 | uint8_t[3] | ... | padding - +0x2973 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x2974 | 09 00 | uint16_t | 0x0009 (9) | table field `id` (UShort) - +0x2976 | 16 00 | uint16_t | 0x0016 (22) | table field `offset` (UShort) - +0x2978 | 58 00 00 00 | UOffset32 | 0x00000058 (88) Loc: +0x29D0 | offset to field `name` (string) - +0x297C | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x29C0 | offset to field `type` (table) - +0x2980 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x298C | offset to field `attributes` (vector) - +0x2984 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2988 | offset to field `documentation` (vector) + +0x2D24 | 48 FE FF FF | SOffset32 | 0xFFFFFE48 (-440) Loc: +0x2EDC | offset to vtable + +0x2D28 | 00 00 00 | uint8_t[3] | ... | padding + +0x2D2B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2D2C | 09 00 | uint16_t | 0x0009 (9) | table field `id` (UShort) + +0x2D2E | 16 00 | uint16_t | 0x0016 (22) | table field `offset` (UShort) + +0x2D30 | 58 00 00 00 | UOffset32 | 0x00000058 (88) Loc: +0x2D88 | offset to field `name` (string) + +0x2D34 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2D78 | offset to field `type` (table) + +0x2D38 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2D44 | offset to field `attributes` (vector) + +0x2D3C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2D40 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2988 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2D40 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x298C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2990 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2994 | offset to table[0] + +0x2D44 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2D48 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2D4C | offset to table[0] table (reflection.KeyValue): - +0x2994 | 30 F4 FF FF | SOffset32 | 0xFFFFF430 (-3024) Loc: +0x3564 | offset to vtable - +0x2998 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x29A8 | offset to field `key` (string) - +0x299C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x29A0 | offset to field `value` (string) + +0x2D4C | 30 F4 FF FF | SOffset32 | 0xFFFFF430 (-3024) Loc: +0x391C | offset to vtable + +0x2D50 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2D60 | offset to field `key` (string) + +0x2D54 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2D58 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x29A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x29A4 | 39 | char[1] | 9 | string literal - +0x29A5 | 00 | char | 0x00 (0) | string terminator + +0x2D58 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x2D5C | 39 | char[1] | 9 | string literal + +0x2D5D | 00 | char | 0x00 (0) | string terminator padding: - +0x29A6 | 00 00 | uint8_t[2] | .. | padding + +0x2D5E | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x29A8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x29AC | 69 64 | char[2] | id | string literal - +0x29AE | 00 | char | 0x00 (0) | string terminator + +0x2D60 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2D64 | 69 64 | char[2] | id | string literal + +0x2D66 | 00 | char | 0x00 (0) | string terminator vtable (reflection.Type): - +0x29B0 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable - +0x29B2 | 10 00 | uint16_t | 0x0010 (16) | size of referring table - +0x29B4 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `base_type` (id: 0) - +0x29B6 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `element` (id: 1) - +0x29B8 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `index` (id: 2) - +0x29BA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) - +0x29BC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) - +0x29BE | 0C 00 | VOffset16 | 0x000C (12) | offset to field `element_size` (id: 5) + +0x2D68 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable + +0x2D6A | 10 00 | uint16_t | 0x0010 (16) | size of referring table + +0x2D6C | 06 00 | VOffset16 | 0x0006 (6) | offset to field `base_type` (id: 0) + +0x2D6E | 07 00 | VOffset16 | 0x0007 (7) | offset to field `element` (id: 1) + +0x2D70 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `index` (id: 2) + +0x2D72 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) + +0x2D74 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) + +0x2D76 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `element_size` (id: 5) table (reflection.Type): - +0x29C0 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x29B0 | offset to vtable - +0x29C4 | 00 00 | uint8_t[2] | .. | padding - +0x29C6 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x29C7 | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) - +0x29C8 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) - +0x29CC | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) + +0x2D78 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x2D68 | offset to vtable + +0x2D7C | 00 00 | uint8_t[2] | .. | padding + +0x2D7E | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2D7F | 0F | uint8_t | 0x0F (15) | table field `element` (Byte) + +0x2D80 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) + +0x2D84 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt) string (reflection.Field.name): - +0x29D0 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x29D4 | 74 65 73 74 34 | char[5] | test4 | string literal - +0x29D9 | 00 | char | 0x00 (0) | string terminator + +0x2D88 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x2D8C | 74 65 73 74 34 | char[5] | test4 | string literal + +0x2D91 | 00 | char | 0x00 (0) | string terminator padding: - +0x29DA | 00 00 | uint8_t[2] | .. | padding + +0x2D92 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x29DC | B8 FE FF FF | SOffset32 | 0xFFFFFEB8 (-328) Loc: +0x2B24 | offset to vtable - +0x29E0 | 00 00 00 | uint8_t[3] | ... | padding - +0x29E3 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x29E4 | 08 00 | uint16_t | 0x0008 (8) | table field `id` (UShort) - +0x29E6 | 14 00 | uint16_t | 0x0014 (20) | table field `offset` (UShort) - +0x29E8 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2A30 | offset to field `name` (string) - +0x29EC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2A20 | offset to field `type` (table) - +0x29F0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x29FC | offset to field `attributes` (vector) - +0x29F4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x29F8 | offset to field `documentation` (vector) + +0x2D94 | B8 FE FF FF | SOffset32 | 0xFFFFFEB8 (-328) Loc: +0x2EDC | offset to vtable + +0x2D98 | 00 00 00 | uint8_t[3] | ... | padding + +0x2D9B | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2D9C | 08 00 | uint16_t | 0x0008 (8) | table field `id` (UShort) + +0x2D9E | 14 00 | uint16_t | 0x0014 (20) | table field `offset` (UShort) + +0x2DA0 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2DE8 | offset to field `name` (string) + +0x2DA4 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2DD8 | offset to field `type` (table) + +0x2DA8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2DB4 | offset to field `attributes` (vector) + +0x2DAC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2DB0 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x29F8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2DB0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x29FC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2A00 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A04 | offset to table[0] + +0x2DB4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2DB8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2DBC | offset to table[0] table (reflection.KeyValue): - +0x2A04 | A0 F4 FF FF | SOffset32 | 0xFFFFF4A0 (-2912) Loc: +0x3564 | offset to vtable - +0x2A08 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2A18 | offset to field `key` (string) - +0x2A0C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A10 | offset to field `value` (string) + +0x2DBC | A0 F4 FF FF | SOffset32 | 0xFFFFF4A0 (-2912) Loc: +0x391C | offset to vtable + +0x2DC0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2DD0 | offset to field `key` (string) + +0x2DC4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2DC8 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2A10 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2A14 | 38 | char[1] | 8 | string literal - +0x2A15 | 00 | char | 0x00 (0) | string terminator + +0x2DC8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x2DCC | 38 | char[1] | 8 | string literal + +0x2DCD | 00 | char | 0x00 (0) | string terminator padding: - +0x2A16 | 00 00 | uint8_t[2] | .. | padding + +0x2DCE | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2A18 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2A1C | 69 64 | char[2] | id | string literal - +0x2A1E | 00 | char | 0x00 (0) | string terminator + +0x2DD0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2DD4 | 69 64 | char[2] | id | string literal + +0x2DD6 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2A20 | 68 F1 FF FF | SOffset32 | 0xFFFFF168 (-3736) Loc: +0x38B8 | offset to vtable - +0x2A24 | 00 00 00 | uint8_t[3] | ... | padding - +0x2A27 | 10 | uint8_t | 0x10 (16) | table field `base_type` (Byte) - +0x2A28 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) - +0x2A2C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2DD8 | 68 F1 FF FF | SOffset32 | 0xFFFFF168 (-3736) Loc: +0x3C70 | offset to vtable + +0x2DDC | 00 00 00 | uint8_t[3] | ... | padding + +0x2DDF | 10 | uint8_t | 0x10 (16) | table field `base_type` (Byte) + +0x2DE0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) + +0x2DE4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2A30 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2A34 | 74 65 73 74 | char[4] | test | string literal - +0x2A38 | 00 | char | 0x00 (0) | string terminator + +0x2DE8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x2DEC | 74 65 73 74 | char[4] | test | string literal + +0x2DF0 | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x2A3A | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x2A3C | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x2A3E | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x2A40 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x2A42 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) - +0x2A44 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x2A46 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x2A48 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2A4A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x2A4C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x2A4E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x2A50 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) - +0x2A52 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x2DF2 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x2DF4 | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x2DF6 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x2DF8 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x2DFA | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) + +0x2DFC | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x2DFE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x2E00 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x2E02 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x2E04 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x2E06 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x2E08 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x2E0A | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x2A54 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2A3A | offset to vtable - +0x2A58 | 07 00 | uint16_t | 0x0007 (7) | table field `id` (UShort) - +0x2A5A | 12 00 | uint16_t | 0x0012 (18) | table field `offset` (UShort) - +0x2A5C | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x2AA8 | offset to field `name` (string) - +0x2A60 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2A94 | offset to field `type` (table) - +0x2A64 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2A70 | offset to field `attributes` (vector) - +0x2A68 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A6C | offset to field `documentation` (vector) + +0x2E0C | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2DF2 | offset to vtable + +0x2E10 | 07 00 | uint16_t | 0x0007 (7) | table field `id` (UShort) + +0x2E12 | 12 00 | uint16_t | 0x0012 (18) | table field `offset` (UShort) + +0x2E14 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x2E60 | offset to field `name` (string) + +0x2E18 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2E4C | offset to field `type` (table) + +0x2E1C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2E28 | offset to field `attributes` (vector) + +0x2E20 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2E24 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2A6C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2E24 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2A70 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2A74 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A78 | offset to table[0] + +0x2E28 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2E2C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2E30 | offset to table[0] table (reflection.KeyValue): - +0x2A78 | 14 F5 FF FF | SOffset32 | 0xFFFFF514 (-2796) Loc: +0x3564 | offset to vtable - +0x2A7C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2A8C | offset to field `key` (string) - +0x2A80 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2A84 | offset to field `value` (string) + +0x2E30 | 14 F5 FF FF | SOffset32 | 0xFFFFF514 (-2796) Loc: +0x391C | offset to vtable + +0x2E34 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2E44 | offset to field `key` (string) + +0x2E38 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2E3C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2A84 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2A88 | 37 | char[1] | 7 | string literal - +0x2A89 | 00 | char | 0x00 (0) | string terminator + +0x2E3C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x2E40 | 37 | char[1] | 7 | string literal + +0x2E41 | 00 | char | 0x00 (0) | string terminator padding: - +0x2A8A | 00 00 | uint8_t[2] | .. | padding + +0x2E42 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2A8C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2A90 | 69 64 | char[2] | id | string literal - +0x2A92 | 00 | char | 0x00 (0) | string terminator + +0x2E44 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2E48 | 69 64 | char[2] | id | string literal + +0x2E4A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2A94 | 90 F4 FF FF | SOffset32 | 0xFFFFF490 (-2928) Loc: +0x3604 | offset to vtable - +0x2A98 | 00 00 00 | uint8_t[3] | ... | padding - +0x2A9B | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) - +0x2A9C | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) - +0x2AA0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x2AA4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2E4C | 90 F4 FF FF | SOffset32 | 0xFFFFF490 (-2928) Loc: +0x39BC | offset to vtable + +0x2E50 | 00 00 00 | uint8_t[3] | ... | padding + +0x2E53 | 01 | uint8_t | 0x01 (1) | table field `base_type` (Byte) + +0x2E54 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) + +0x2E58 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x2E5C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2AA8 | 09 00 00 00 | uint32_t | 0x00000009 (9) | length of string - +0x2AAC | 74 65 73 74 5F 74 79 70 | char[9] | test_typ | string literal - +0x2AB4 | 65 | | e - +0x2AB5 | 00 | char | 0x00 (0) | string terminator + +0x2E60 | 09 00 00 00 | uint32_t | 0x00000009 (9) | length of string + +0x2E64 | 74 65 73 74 5F 74 79 70 | char[9] | test_typ | string literal + +0x2E6C | 65 | | e + +0x2E6D | 00 | char | 0x00 (0) | string terminator padding: - +0x2AB6 | 00 00 | uint8_t[2] | .. | padding + +0x2E6E | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x2AB8 | 42 FD FF FF | SOffset32 | 0xFFFFFD42 (-702) Loc: +0x2D76 | offset to vtable - +0x2ABC | 06 00 | uint16_t | 0x0006 (6) | table field `id` (UShort) - +0x2ABE | 10 00 | uint16_t | 0x0010 (16) | table field `offset` (UShort) - +0x2AC0 | 58 00 00 00 | UOffset32 | 0x00000058 (88) Loc: +0x2B18 | offset to field `name` (string) - +0x2AC4 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x2B04 | offset to field `type` (table) - +0x2AC8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2AE0 | offset to field `attributes` (vector) - +0x2ACC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2ADC | offset to field `documentation` (vector) - +0x2AD0 | 08 00 00 00 00 00 00 00 | int64_t | 0x0000000000000008 (8) | table field `default_integer` (Long) - +0x2AD8 | 00 00 00 00 | uint8_t[4] | .... | padding + +0x2E70 | 42 FD FF FF | SOffset32 | 0xFFFFFD42 (-702) Loc: +0x312E | offset to vtable + +0x2E74 | 06 00 | uint16_t | 0x0006 (6) | table field `id` (UShort) + +0x2E76 | 10 00 | uint16_t | 0x0010 (16) | table field `offset` (UShort) + +0x2E78 | 58 00 00 00 | UOffset32 | 0x00000058 (88) Loc: +0x2ED0 | offset to field `name` (string) + +0x2E7C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x2EBC | offset to field `type` (table) + +0x2E80 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2E98 | offset to field `attributes` (vector) + +0x2E84 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2E94 | offset to field `documentation` (vector) + +0x2E88 | 08 00 00 00 00 00 00 00 | int64_t | 0x0000000000000008 (8) | table field `default_integer` (Long) + +0x2E90 | 00 00 00 00 | uint8_t[4] | .... | padding vector (reflection.Field.documentation): - +0x2ADC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2E94 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2AE0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2AE4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2AE8 | offset to table[0] + +0x2E98 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2E9C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2EA0 | offset to table[0] table (reflection.KeyValue): - +0x2AE8 | 84 F5 FF FF | SOffset32 | 0xFFFFF584 (-2684) Loc: +0x3564 | offset to vtable - +0x2AEC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2AFC | offset to field `key` (string) - +0x2AF0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2AF4 | offset to field `value` (string) + +0x2EA0 | 84 F5 FF FF | SOffset32 | 0xFFFFF584 (-2684) Loc: +0x391C | offset to vtable + +0x2EA4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2EB4 | offset to field `key` (string) + +0x2EA8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2EAC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2AF4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2AF8 | 36 | char[1] | 6 | string literal - +0x2AF9 | 00 | char | 0x00 (0) | string terminator + +0x2EAC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x2EB0 | 36 | char[1] | 6 | string literal + +0x2EB1 | 00 | char | 0x00 (0) | string terminator padding: - +0x2AFA | 00 00 | uint8_t[2] | .. | padding + +0x2EB2 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2AFC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2B00 | 69 64 | char[2] | id | string literal - +0x2B02 | 00 | char | 0x00 (0) | string terminator + +0x2EB4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2EB8 | 69 64 | char[2] | id | string literal + +0x2EBA | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2B04 | 00 F5 FF FF | SOffset32 | 0xFFFFF500 (-2816) Loc: +0x3604 | offset to vtable - +0x2B08 | 00 00 00 | uint8_t[3] | ... | padding - +0x2B0B | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) - +0x2B0C | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) - +0x2B10 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x2B14 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2EBC | 00 F5 FF FF | SOffset32 | 0xFFFFF500 (-2816) Loc: +0x39BC | offset to vtable + +0x2EC0 | 00 00 00 | uint8_t[3] | ... | padding + +0x2EC3 | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) + +0x2EC4 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) + +0x2EC8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x2ECC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2B18 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x2B1C | 63 6F 6C 6F 72 | char[5] | color | string literal - +0x2B21 | 00 | char | 0x00 (0) | string terminator + +0x2ED0 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x2ED4 | 63 6F 6C 6F 72 | char[5] | color | string literal + +0x2ED9 | 00 | char | 0x00 (0) | string terminator padding: - +0x2B22 | 00 00 | uint8_t[2] | .. | padding + +0x2EDA | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Field): - +0x2B24 | 1C 00 | uint16_t | 0x001C (28) | size of this vtable - +0x2B26 | 1C 00 | uint16_t | 0x001C (28) | size of referring table - +0x2B28 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) - +0x2B2A | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) - +0x2B2C | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) - +0x2B2E | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) - +0x2B30 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x2B32 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2B34 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x2B36 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x2B38 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x2B3A | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) - +0x2B3C | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) - +0x2B3E | 07 00 | VOffset16 | 0x0007 (7) | offset to field `optional` (id: 11) + +0x2EDC | 1C 00 | uint16_t | 0x001C (28) | size of this vtable + +0x2EDE | 1C 00 | uint16_t | 0x001C (28) | size of referring table + +0x2EE0 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) + +0x2EE2 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) + +0x2EE4 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) + +0x2EE6 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) + +0x2EE8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x2EEA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x2EEC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x2EEE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x2EF0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x2EF2 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) + +0x2EF4 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) + +0x2EF6 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `optional` (id: 11) table (reflection.Field): - +0x2B40 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x2B24 | offset to vtable - +0x2B44 | 00 00 00 | uint8_t[3] | ... | padding - +0x2B47 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x2B48 | 05 00 | uint16_t | 0x0005 (5) | table field `id` (UShort) - +0x2B4A | 0E 00 | uint16_t | 0x000E (14) | table field `offset` (UShort) - +0x2B4C | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x2BA0 | offset to field `name` (string) - +0x2B50 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2B94 | offset to field `type` (table) - +0x2B54 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2B60 | offset to field `attributes` (vector) - +0x2B58 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2B5C | offset to field `documentation` (vector) + +0x2EF8 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x2EDC | offset to vtable + +0x2EFC | 00 00 00 | uint8_t[3] | ... | padding + +0x2EFF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x2F00 | 05 00 | uint16_t | 0x0005 (5) | table field `id` (UShort) + +0x2F02 | 0E 00 | uint16_t | 0x000E (14) | table field `offset` (UShort) + +0x2F04 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x2F58 | offset to field `name` (string) + +0x2F08 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x2F4C | offset to field `type` (table) + +0x2F0C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2F18 | offset to field `attributes` (vector) + +0x2F10 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2F14 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2B5C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2F14 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2B60 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2B64 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2B68 | offset to table[0] + +0x2F18 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x2F1C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2F20 | offset to table[0] table (reflection.KeyValue): - +0x2B68 | 04 F6 FF FF | SOffset32 | 0xFFFFF604 (-2556) Loc: +0x3564 | offset to vtable - +0x2B6C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2B7C | offset to field `key` (string) - +0x2B70 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2B74 | offset to field `value` (string) + +0x2F20 | 04 F6 FF FF | SOffset32 | 0xFFFFF604 (-2556) Loc: +0x391C | offset to vtable + +0x2F24 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2F34 | offset to field `key` (string) + +0x2F28 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2F2C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2B74 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2B78 | 35 | char[1] | 5 | string literal - +0x2B79 | 00 | char | 0x00 (0) | string terminator + +0x2F2C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x2F30 | 35 | char[1] | 5 | string literal + +0x2F31 | 00 | char | 0x00 (0) | string terminator padding: - +0x2B7A | 00 00 | uint8_t[2] | .. | padding + +0x2F32 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2B7C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2B80 | 69 64 | char[2] | id | string literal - +0x2B82 | 00 | char | 0x00 (0) | string terminator + +0x2F34 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2F38 | 69 64 | char[2] | id | string literal + +0x2F3A | 00 | char | 0x00 (0) | string terminator vtable (reflection.Type): - +0x2B84 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable - +0x2B86 | 0C 00 | uint16_t | 0x000C (12) | size of referring table - +0x2B88 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `base_type` (id: 0) - +0x2B8A | 07 00 | VOffset16 | 0x0007 (7) | offset to field `element` (id: 1) - +0x2B8C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `index` (id: 2) (Int) - +0x2B8E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) - +0x2B90 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) - +0x2B92 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `element_size` (id: 5) + +0x2F3C | 10 00 | uint16_t | 0x0010 (16) | size of this vtable + +0x2F3E | 0C 00 | uint16_t | 0x000C (12) | size of referring table + +0x2F40 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `base_type` (id: 0) + +0x2F42 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `element` (id: 1) + +0x2F44 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `index` (id: 2) (Int) + +0x2F46 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) + +0x2F48 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) + +0x2F4A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `element_size` (id: 5) table (reflection.Type): - +0x2B94 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x2B84 | offset to vtable - +0x2B98 | 00 00 | uint8_t[2] | .. | padding - +0x2B9A | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) - +0x2B9B | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) - +0x2B9C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x2F4C | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x2F3C | offset to vtable + +0x2F50 | 00 00 | uint8_t[2] | .. | padding + +0x2F52 | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte) + +0x2F53 | 04 | uint8_t | 0x04 (4) | table field `element` (Byte) + +0x2F54 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2BA0 | 09 00 00 00 | uint32_t | 0x00000009 (9) | length of string - +0x2BA4 | 69 6E 76 65 6E 74 6F 72 | char[9] | inventor | string literal - +0x2BAC | 79 | | y - +0x2BAD | 00 | char | 0x00 (0) | string terminator + +0x2F58 | 09 00 00 00 | uint32_t | 0x00000009 (9) | length of string + +0x2F5C | 69 6E 76 65 6E 74 6F 72 | char[9] | inventor | string literal + +0x2F64 | 79 | | y + +0x2F65 | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x2BAE | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x2BB0 | 1C 00 | uint16_t | 0x001C (28) | size of referring table - +0x2BB2 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) - +0x2BB4 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) - +0x2BB6 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) - +0x2BB8 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) - +0x2BBA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x2BBC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2BBE | 07 00 | VOffset16 | 0x0007 (7) | offset to field `deprecated` (id: 6) - +0x2BC0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x2BC2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x2BC4 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) - +0x2BC6 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) + +0x2F66 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x2F68 | 1C 00 | uint16_t | 0x001C (28) | size of referring table + +0x2F6A | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) + +0x2F6C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) + +0x2F6E | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) + +0x2F70 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) + +0x2F72 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x2F74 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x2F76 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `deprecated` (id: 6) + +0x2F78 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x2F7A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x2F7C | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) + +0x2F7E | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x2BC8 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2BAE | offset to vtable - +0x2BCC | 00 00 00 | uint8_t[3] | ... | padding - +0x2BCF | 01 | uint8_t | 0x01 (1) | table field `deprecated` (Bool) - +0x2BD0 | 04 00 | uint16_t | 0x0004 (4) | table field `id` (UShort) - +0x2BD2 | 0C 00 | uint16_t | 0x000C (12) | table field `offset` (UShort) - +0x2BD4 | 98 00 00 00 | UOffset32 | 0x00000098 (152) Loc: +0x2C6C | offset to field `name` (string) - +0x2BD8 | 84 00 00 00 | UOffset32 | 0x00000084 (132) Loc: +0x2C5C | offset to field `type` (table) - +0x2BDC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2BE8 | offset to field `attributes` (vector) - +0x2BE0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2BE4 | offset to field `documentation` (vector) + +0x2F80 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2F66 | offset to vtable + +0x2F84 | 00 00 00 | uint8_t[3] | ... | padding + +0x2F87 | 01 | uint8_t | 0x01 (1) | table field `deprecated` (Bool) + +0x2F88 | 04 00 | uint16_t | 0x0004 (4) | table field `id` (UShort) + +0x2F8A | 0C 00 | uint16_t | 0x000C (12) | table field `offset` (UShort) + +0x2F8C | 98 00 00 00 | UOffset32 | 0x00000098 (152) Loc: +0x3024 | offset to field `name` (string) + +0x2F90 | 84 00 00 00 | UOffset32 | 0x00000084 (132) Loc: +0x3014 | offset to field `type` (table) + +0x2F94 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2FA0 | offset to field `attributes` (vector) + +0x2F98 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2F9C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2BE4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x2F9C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2BE8 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) - +0x2BEC | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x2C38 | offset to table[0] - +0x2BF0 | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x2C1C | offset to table[1] - +0x2BF4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2BF8 | offset to table[2] + +0x2FA0 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) + +0x2FA4 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x2FF0 | offset to table[0] + +0x2FA8 | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x2FD4 | offset to table[1] + +0x2FAC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2FB0 | offset to table[2] table (reflection.KeyValue): - +0x2BF8 | 94 F6 FF FF | SOffset32 | 0xFFFFF694 (-2412) Loc: +0x3564 | offset to vtable - +0x2BFC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2C0C | offset to field `key` (string) - +0x2C00 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2C04 | offset to field `value` (string) + +0x2FB0 | 94 F6 FF FF | SOffset32 | 0xFFFFF694 (-2412) Loc: +0x391C | offset to vtable + +0x2FB4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2FC4 | offset to field `key` (string) + +0x2FB8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2FBC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2C04 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2C08 | 31 | char[1] | 1 | string literal - +0x2C09 | 00 | char | 0x00 (0) | string terminator + +0x2FBC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x2FC0 | 31 | char[1] | 1 | string literal + +0x2FC1 | 00 | char | 0x00 (0) | string terminator padding: - +0x2C0A | 00 00 | uint8_t[2] | .. | padding + +0x2FC2 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2C0C | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x2C10 | 70 72 69 6F 72 69 74 79 | char[8] | priority | string literal - +0x2C18 | 00 | char | 0x00 (0) | string terminator + +0x2FC4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x2FC8 | 70 72 69 6F 72 69 74 79 | char[8] | priority | string literal + +0x2FD0 | 00 | char | 0x00 (0) | string terminator padding: - +0x2C19 | 00 00 00 | uint8_t[3] | ... | padding + +0x2FD1 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.KeyValue): - +0x2C1C | B8 F6 FF FF | SOffset32 | 0xFFFFF6B8 (-2376) Loc: +0x3564 | offset to vtable - +0x2C20 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2C30 | offset to field `key` (string) - +0x2C24 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2C28 | offset to field `value` (string) + +0x2FD4 | B8 F6 FF FF | SOffset32 | 0xFFFFF6B8 (-2376) Loc: +0x391C | offset to vtable + +0x2FD8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2FE8 | offset to field `key` (string) + +0x2FDC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2FE0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2C28 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2C2C | 34 | char[1] | 4 | string literal - +0x2C2D | 00 | char | 0x00 (0) | string terminator + +0x2FE0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x2FE4 | 34 | char[1] | 4 | string literal + +0x2FE5 | 00 | char | 0x00 (0) | string terminator padding: - +0x2C2E | 00 00 | uint8_t[2] | .. | padding + +0x2FE6 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2C30 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2C34 | 69 64 | char[2] | id | string literal - +0x2C36 | 00 | char | 0x00 (0) | string terminator + +0x2FE8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x2FEC | 69 64 | char[2] | id | string literal + +0x2FEE | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2C38 | D4 F6 FF FF | SOffset32 | 0xFFFFF6D4 (-2348) Loc: +0x3564 | offset to vtable - +0x2C3C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2C4C | offset to field `key` (string) - +0x2C40 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2C44 | offset to field `value` (string) + +0x2FF0 | D4 F6 FF FF | SOffset32 | 0xFFFFF6D4 (-2348) Loc: +0x391C | offset to vtable + +0x2FF4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3004 | offset to field `key` (string) + +0x2FF8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2FFC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2C44 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2C48 | 30 | char[1] | 0 | string literal - +0x2C49 | 00 | char | 0x00 (0) | string terminator + +0x2FFC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3000 | 30 | char[1] | 0 | string literal + +0x3001 | 00 | char | 0x00 (0) | string terminator padding: - +0x2C4A | 00 00 | uint8_t[2] | .. | padding + +0x3002 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2C4C | 0A 00 00 00 | uint32_t | 0x0000000A (10) | length of string - +0x2C50 | 64 65 70 72 65 63 61 74 | char[10] | deprecat | string literal - +0x2C58 | 65 64 | | ed - +0x2C5A | 00 | char | 0x00 (0) | string terminator + +0x3004 | 0A 00 00 00 | uint32_t | 0x0000000A (10) | length of string + +0x3008 | 64 65 70 72 65 63 61 74 | char[10] | deprecat | string literal + +0x3010 | 65 64 | | ed + +0x3012 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2C5C | 78 F5 FF FF | SOffset32 | 0xFFFFF578 (-2696) Loc: +0x36E4 | offset to vtable - +0x2C60 | 00 00 00 | uint8_t[3] | ... | padding - +0x2C63 | 02 | uint8_t | 0x02 (2) | table field `base_type` (Byte) - +0x2C64 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x2C68 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3014 | 78 F5 FF FF | SOffset32 | 0xFFFFF578 (-2696) Loc: +0x3A9C | offset to vtable + +0x3018 | 00 00 00 | uint8_t[3] | ... | padding + +0x301B | 02 | uint8_t | 0x02 (2) | table field `base_type` (Byte) + +0x301C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x3020 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2C6C | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x2C70 | 66 72 69 65 6E 64 6C 79 | char[8] | friendly | string literal - +0x2C78 | 00 | char | 0x00 (0) | string terminator + +0x3024 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x3028 | 66 72 69 65 6E 64 6C 79 | char[8] | friendly | string literal + +0x3030 | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x2C7A | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x2C7C | 1C 00 | uint16_t | 0x001C (28) | size of referring table - +0x2C7E | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) - +0x2C80 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) - +0x2C82 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) - +0x2C84 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) - +0x2C86 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x2C88 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2C8A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x2C8C | 06 00 | VOffset16 | 0x0006 (6) | offset to field `required` (id: 7) - +0x2C8E | 07 00 | VOffset16 | 0x0007 (7) | offset to field `key` (id: 8) - +0x2C90 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) - +0x2C92 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) + +0x3032 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x3034 | 1C 00 | uint16_t | 0x001C (28) | size of referring table + +0x3036 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) + +0x3038 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) + +0x303A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) + +0x303C | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) + +0x303E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3040 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3042 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3044 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `required` (id: 7) + +0x3046 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `key` (id: 8) + +0x3048 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) + +0x304A | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x2C94 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2C7A | offset to vtable - +0x2C98 | 00 00 | uint8_t[2] | .. | padding - +0x2C9A | 01 | uint8_t | 0x01 (1) | table field `required` (Bool) - +0x2C9B | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) - +0x2C9C | 03 00 | uint16_t | 0x0003 (3) | table field `id` (UShort) - +0x2C9E | 0A 00 | uint16_t | 0x000A (10) | table field `offset` (UShort) - +0x2CA0 | 64 00 00 00 | UOffset32 | 0x00000064 (100) Loc: +0x2D04 | offset to field `name` (string) - +0x2CA4 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x2CF8 | offset to field `type` (table) - +0x2CA8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2CB4 | offset to field `attributes` (vector) - +0x2CAC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2CB0 | offset to field `documentation` (vector) + +0x304C | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x3032 | offset to vtable + +0x3050 | 00 00 | uint8_t[2] | .. | padding + +0x3052 | 01 | uint8_t | 0x01 (1) | table field `required` (Bool) + +0x3053 | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) + +0x3054 | 03 00 | uint16_t | 0x0003 (3) | table field `id` (UShort) + +0x3056 | 0A 00 | uint16_t | 0x000A (10) | table field `offset` (UShort) + +0x3058 | 64 00 00 00 | UOffset32 | 0x00000064 (100) Loc: +0x30BC | offset to field `name` (string) + +0x305C | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x30B0 | offset to field `type` (table) + +0x3060 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x306C | offset to field `attributes` (vector) + +0x3064 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3068 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2CB0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3068 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2CB4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x2CB8 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2CDC | offset to table[0] - +0x2CBC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2CC0 | offset to table[1] + +0x306C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x3070 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x3094 | offset to table[0] + +0x3074 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3078 | offset to table[1] table (reflection.KeyValue): - +0x2CC0 | 5C F7 FF FF | SOffset32 | 0xFFFFF75C (-2212) Loc: +0x3564 | offset to vtable - +0x2CC4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2CD4 | offset to field `key` (string) - +0x2CC8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2CCC | offset to field `value` (string) + +0x3078 | 5C F7 FF FF | SOffset32 | 0xFFFFF75C (-2212) Loc: +0x391C | offset to vtable + +0x307C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x308C | offset to field `key` (string) + +0x3080 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3084 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2CCC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2CD0 | 30 | char[1] | 0 | string literal - +0x2CD1 | 00 | char | 0x00 (0) | string terminator + +0x3084 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3088 | 30 | char[1] | 0 | string literal + +0x3089 | 00 | char | 0x00 (0) | string terminator padding: - +0x2CD2 | 00 00 | uint8_t[2] | .. | padding + +0x308A | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2CD4 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string - +0x2CD8 | 6B 65 79 | char[3] | key | string literal - +0x2CDB | 00 | char | 0x00 (0) | string terminator + +0x308C | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string + +0x3090 | 6B 65 79 | char[3] | key | string literal + +0x3093 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2CDC | 78 F7 FF FF | SOffset32 | 0xFFFFF778 (-2184) Loc: +0x3564 | offset to vtable - +0x2CE0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2CF0 | offset to field `key` (string) - +0x2CE4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2CE8 | offset to field `value` (string) + +0x3094 | 78 F7 FF FF | SOffset32 | 0xFFFFF778 (-2184) Loc: +0x391C | offset to vtable + +0x3098 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x30A8 | offset to field `key` (string) + +0x309C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x30A0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2CE8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2CEC | 33 | char[1] | 3 | string literal - +0x2CED | 00 | char | 0x00 (0) | string terminator + +0x30A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x30A4 | 33 | char[1] | 3 | string literal + +0x30A5 | 00 | char | 0x00 (0) | string terminator padding: - +0x2CEE | 00 00 | uint8_t[2] | .. | padding + +0x30A6 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2CF0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2CF4 | 69 64 | char[2] | id | string literal - +0x2CF6 | 00 | char | 0x00 (0) | string terminator + +0x30A8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x30AC | 69 64 | char[2] | id | string literal + +0x30AE | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2CF8 | 5C F3 FF FF | SOffset32 | 0xFFFFF35C (-3236) Loc: +0x399C | offset to vtable - +0x2CFC | 00 00 00 | uint8_t[3] | ... | padding - +0x2CFF | 0D | uint8_t | 0x0D (13) | table field `base_type` (Byte) - +0x2D00 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x30B0 | 5C F3 FF FF | SOffset32 | 0xFFFFF35C (-3236) Loc: +0x3D54 | offset to vtable + +0x30B4 | 00 00 00 | uint8_t[3] | ... | padding + +0x30B7 | 0D | uint8_t | 0x0D (13) | table field `base_type` (Byte) + +0x30B8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2D04 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2D08 | 6E 61 6D 65 | char[4] | name | string literal - +0x2D0C | 00 | char | 0x00 (0) | string terminator + +0x30BC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x30C0 | 6E 61 6D 65 | char[4] | name | string literal + +0x30C4 | 00 | char | 0x00 (0) | string terminator padding: - +0x2D0D | 00 00 00 | uint8_t[3] | ... | padding + +0x30C5 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Field): - +0x2D10 | 9A FF FF FF | SOffset32 | 0xFFFFFF9A (-102) Loc: +0x2D76 | offset to vtable - +0x2D14 | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) - +0x2D16 | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) - +0x2D18 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x2D6C | offset to field `name` (string) - +0x2D1C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x2D5C | offset to field `type` (table) - +0x2D20 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2D38 | offset to field `attributes` (vector) - +0x2D24 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2D34 | offset to field `documentation` (vector) - +0x2D28 | 64 00 00 00 00 00 00 00 | int64_t | 0x0000000000000064 (100) | table field `default_integer` (Long) - +0x2D30 | 00 00 00 00 | uint8_t[4] | .... | padding + +0x30C8 | 9A FF FF FF | SOffset32 | 0xFFFFFF9A (-102) Loc: +0x312E | offset to vtable + +0x30CC | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) + +0x30CE | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) + +0x30D0 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x3124 | offset to field `name` (string) + +0x30D4 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x3114 | offset to field `type` (table) + +0x30D8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x30F0 | offset to field `attributes` (vector) + +0x30DC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x30EC | offset to field `documentation` (vector) + +0x30E0 | 64 00 00 00 00 00 00 00 | int64_t | 0x0000000000000064 (100) | table field `default_integer` (Long) + +0x30E8 | 00 00 00 00 | uint8_t[4] | .... | padding vector (reflection.Field.documentation): - +0x2D34 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x30EC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2D38 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2D3C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2D40 | offset to table[0] + +0x30F0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x30F4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x30F8 | offset to table[0] table (reflection.KeyValue): - +0x2D40 | DC F7 FF FF | SOffset32 | 0xFFFFF7DC (-2084) Loc: +0x3564 | offset to vtable - +0x2D44 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2D54 | offset to field `key` (string) - +0x2D48 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2D4C | offset to field `value` (string) + +0x30F8 | DC F7 FF FF | SOffset32 | 0xFFFFF7DC (-2084) Loc: +0x391C | offset to vtable + +0x30FC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x310C | offset to field `key` (string) + +0x3100 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3104 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2D4C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2D50 | 32 | char[1] | 2 | string literal - +0x2D51 | 00 | char | 0x00 (0) | string terminator + +0x3104 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3108 | 32 | char[1] | 2 | string literal + +0x3109 | 00 | char | 0x00 (0) | string terminator padding: - +0x2D52 | 00 00 | uint8_t[2] | .. | padding + +0x310A | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2D54 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2D58 | 69 64 | char[2] | id | string literal - +0x2D5A | 00 | char | 0x00 (0) | string terminator + +0x310C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x3110 | 69 64 | char[2] | id | string literal + +0x3112 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2D5C | 78 F6 FF FF | SOffset32 | 0xFFFFF678 (-2440) Loc: +0x36E4 | offset to vtable - +0x2D60 | 00 00 00 | uint8_t[3] | ... | padding - +0x2D63 | 05 | uint8_t | 0x05 (5) | table field `base_type` (Byte) - +0x2D64 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) - +0x2D68 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3114 | 78 F6 FF FF | SOffset32 | 0xFFFFF678 (-2440) Loc: +0x3A9C | offset to vtable + +0x3118 | 00 00 00 | uint8_t[3] | ... | padding + +0x311B | 05 | uint8_t | 0x05 (5) | table field `base_type` (Byte) + +0x311C | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) + +0x3120 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2D6C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2D70 | 68 70 | char[2] | hp | string literal - +0x2D72 | 00 | char | 0x00 (0) | string terminator + +0x3124 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x3128 | 68 70 | char[2] | hp | string literal + +0x312A | 00 | char | 0x00 (0) | string terminator padding: - +0x2D73 | 00 00 00 | uint8_t[3] | ... | padding + +0x312B | 00 00 00 | uint8_t[3] | ... | padding vtable (reflection.Field): - +0x2D76 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x2D78 | 24 00 | uint16_t | 0x0024 (36) | size of referring table - +0x2D7A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x2D7C | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x2D7E | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) - +0x2D80 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x2D82 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `default_integer` (id: 4) - +0x2D84 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2D86 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x2D88 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x2D8A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x2D8C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) - +0x2D8E | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x312E | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x3130 | 24 00 | uint16_t | 0x0024 (36) | size of referring table + +0x3132 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x3134 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x3136 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) + +0x3138 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x313A | 18 00 | VOffset16 | 0x0018 (24) | offset to field `default_integer` (id: 4) + +0x313C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x313E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3140 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3142 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x3144 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x3146 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x2D90 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2D76 | offset to vtable - +0x2D94 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) - +0x2D96 | 06 00 | uint16_t | 0x0006 (6) | table field `offset` (UShort) - +0x2D98 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x2DEC | offset to field `name` (string) - +0x2D9C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x2DDC | offset to field `type` (table) - +0x2DA0 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2DB8 | offset to field `attributes` (vector) - +0x2DA4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2DB4 | offset to field `documentation` (vector) - +0x2DA8 | 96 00 00 00 00 00 00 00 | int64_t | 0x0000000000000096 (150) | table field `default_integer` (Long) - +0x2DB0 | 00 00 00 00 | uint8_t[4] | .... | padding + +0x3148 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x312E | offset to vtable + +0x314C | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) + +0x314E | 06 00 | uint16_t | 0x0006 (6) | table field `offset` (UShort) + +0x3150 | 54 00 00 00 | UOffset32 | 0x00000054 (84) Loc: +0x31A4 | offset to field `name` (string) + +0x3154 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x3194 | offset to field `type` (table) + +0x3158 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x3170 | offset to field `attributes` (vector) + +0x315C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x316C | offset to field `documentation` (vector) + +0x3160 | 96 00 00 00 00 00 00 00 | int64_t | 0x0000000000000096 (150) | table field `default_integer` (Long) + +0x3168 | 00 00 00 00 | uint8_t[4] | .... | padding vector (reflection.Field.documentation): - +0x2DB4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x316C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2DB8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2DBC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2DC0 | offset to table[0] + +0x3170 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3174 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3178 | offset to table[0] table (reflection.KeyValue): - +0x2DC0 | 5C F8 FF FF | SOffset32 | 0xFFFFF85C (-1956) Loc: +0x3564 | offset to vtable - +0x2DC4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2DD4 | offset to field `key` (string) - +0x2DC8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2DCC | offset to field `value` (string) + +0x3178 | 5C F8 FF FF | SOffset32 | 0xFFFFF85C (-1956) Loc: +0x391C | offset to vtable + +0x317C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x318C | offset to field `key` (string) + +0x3180 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3184 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2DCC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2DD0 | 31 | char[1] | 1 | string literal - +0x2DD1 | 00 | char | 0x00 (0) | string terminator + +0x3184 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3188 | 31 | char[1] | 1 | string literal + +0x3189 | 00 | char | 0x00 (0) | string terminator padding: - +0x2DD2 | 00 00 | uint8_t[2] | .. | padding + +0x318A | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2DD4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2DD8 | 69 64 | char[2] | id | string literal - +0x2DDA | 00 | char | 0x00 (0) | string terminator + +0x318C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x3190 | 69 64 | char[2] | id | string literal + +0x3192 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2DDC | F8 F6 FF FF | SOffset32 | 0xFFFFF6F8 (-2312) Loc: +0x36E4 | offset to vtable - +0x2DE0 | 00 00 00 | uint8_t[3] | ... | padding - +0x2DE3 | 05 | uint8_t | 0x05 (5) | table field `base_type` (Byte) - +0x2DE4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) - +0x2DE8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3194 | F8 F6 FF FF | SOffset32 | 0xFFFFF6F8 (-2312) Loc: +0x3A9C | offset to vtable + +0x3198 | 00 00 00 | uint8_t[3] | ... | padding + +0x319B | 05 | uint8_t | 0x05 (5) | table field `base_type` (Byte) + +0x319C | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) + +0x31A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2DEC | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2DF0 | 6D 61 6E 61 | char[4] | mana | string literal - +0x2DF4 | 00 | char | 0x00 (0) | string terminator + +0x31A4 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x31A8 | 6D 61 6E 61 | char[4] | mana | string literal + +0x31AC | 00 | char | 0x00 (0) | string terminator padding: - +0x2DF5 | 00 00 00 | uint8_t[3] | ... | padding + +0x31AD | 00 00 00 | uint8_t[3] | ... | padding vtable (reflection.Field): - +0x2DF8 | 1C 00 | uint16_t | 0x001C (28) | size of this vtable - +0x2DFA | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x2DFC | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x2DFE | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x2E00 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) - +0x2E02 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x2E04 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x2E06 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2E08 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x2E0A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x2E0C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x2E0E | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) - +0x2E10 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) - +0x2E12 | 05 00 | VOffset16 | 0x0005 (5) | offset to field `optional` (id: 11) + +0x31B0 | 1C 00 | uint16_t | 0x001C (28) | size of this vtable + +0x31B2 | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x31B4 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x31B6 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x31B8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) + +0x31BA | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x31BC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x31BE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x31C0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x31C2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x31C4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x31C6 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x31C8 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x31CA | 05 00 | VOffset16 | 0x0005 (5) | offset to field `optional` (id: 11) table (reflection.Field): - +0x2E14 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x2DF8 | offset to vtable - +0x2E18 | 00 | uint8_t[1] | . | padding - +0x2E19 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x2E1A | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x2E1C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x2E64 | offset to field `name` (string) - +0x2E20 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2E54 | offset to field `type` (table) - +0x2E24 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2E30 | offset to field `attributes` (vector) - +0x2E28 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2E2C | offset to field `documentation` (vector) + +0x31CC | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x31B0 | offset to vtable + +0x31D0 | 00 | uint8_t[1] | . | padding + +0x31D1 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x31D2 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x31D4 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x321C | offset to field `name` (string) + +0x31D8 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x320C | offset to field `type` (table) + +0x31DC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x31E8 | offset to field `attributes` (vector) + +0x31E0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x31E4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2E2C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x31E4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2E30 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2E34 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2E38 | offset to table[0] + +0x31E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x31EC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x31F0 | offset to table[0] table (reflection.KeyValue): - +0x2E38 | D4 F8 FF FF | SOffset32 | 0xFFFFF8D4 (-1836) Loc: +0x3564 | offset to vtable - +0x2E3C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2E4C | offset to field `key` (string) - +0x2E40 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2E44 | offset to field `value` (string) + +0x31F0 | D4 F8 FF FF | SOffset32 | 0xFFFFF8D4 (-1836) Loc: +0x391C | offset to vtable + +0x31F4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3204 | offset to field `key` (string) + +0x31F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x31FC | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2E44 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2E48 | 30 | char[1] | 0 | string literal - +0x2E49 | 00 | char | 0x00 (0) | string terminator + +0x31FC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3200 | 30 | char[1] | 0 | string literal + +0x3201 | 00 | char | 0x00 (0) | string terminator padding: - +0x2E4A | 00 00 | uint8_t[2] | .. | padding + +0x3202 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2E4C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2E50 | 69 64 | char[2] | id | string literal - +0x2E52 | 00 | char | 0x00 (0) | string terminator + +0x3204 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x3208 | 69 64 | char[2] | id | string literal + +0x320A | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2E54 | 9C F5 FF FF | SOffset32 | 0xFFFFF59C (-2660) Loc: +0x38B8 | offset to vtable - +0x2E58 | 00 00 00 | uint8_t[3] | ... | padding - +0x2E5B | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x2E5C | 09 00 00 00 | uint32_t | 0x00000009 (9) | table field `index` (Int) - +0x2E60 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x320C | 9C F5 FF FF | SOffset32 | 0xFFFFF59C (-2660) Loc: +0x3C70 | offset to vtable + +0x3210 | 00 00 00 | uint8_t[3] | ... | padding + +0x3213 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x3214 | 09 00 00 00 | uint32_t | 0x00000009 (9) | table field `index` (Int) + +0x3218 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2E64 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string - +0x2E68 | 70 6F 73 | char[3] | pos | string literal - +0x2E6B | 00 | char | 0x00 (0) | string terminator + +0x321C | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string + +0x3220 | 70 6F 73 | char[3] | pos | string literal + +0x3223 | 00 | char | 0x00 (0) | string terminator table (reflection.Object): - +0x2E6C | 44 F6 FF FF | SOffset32 | 0xFFFFF644 (-2492) Loc: +0x3828 | offset to vtable - +0x2E70 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x2E90 | offset to field `name` (string) - +0x2E74 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2E88 | offset to field `fields` (vector) - +0x2E78 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) - +0x2E7C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x2E84 | offset to field `documentation` (vector) - +0x2E80 | E0 08 00 00 | UOffset32 | 0x000008E0 (2272) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x3224 | 44 F6 FF FF | SOffset32 | 0xFFFFF644 (-2492) Loc: +0x3BE0 | offset to vtable + +0x3228 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3248 | offset to field `name` (string) + +0x322C | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x3240 | offset to field `fields` (vector) + +0x3230 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) + +0x3234 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x323C | offset to field `documentation` (vector) + +0x3238 | E0 08 00 00 | UOffset32 | 0x000008E0 (2272) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x2E84 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x323C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x2E88 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2E8C | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x2EC8 | offset to table[0] + +0x3240 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3244 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x3280 | offset to table[0] string (reflection.Object.name): - +0x2E90 | 19 00 00 00 | uint32_t | 0x00000019 (25) | length of string - +0x2E94 | 4D 79 47 61 6D 65 2E 45 | char[25] | MyGame.E | string literal - +0x2E9C | 78 61 6D 70 6C 65 2E 52 | | xample.R - +0x2EA4 | 65 66 65 72 72 61 62 6C | | eferrabl - +0x2EAC | 65 | | e - +0x2EAD | 00 | char | 0x00 (0) | string terminator + +0x3248 | 19 00 00 00 | uint32_t | 0x00000019 (25) | length of string + +0x324C | 4D 79 47 61 6D 65 2E 45 | char[25] | MyGame.E | string literal + +0x3254 | 78 61 6D 70 6C 65 2E 52 | | xample.R + +0x325C | 65 66 65 72 72 61 62 6C | | eferrabl + +0x3264 | 65 | | e + +0x3265 | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x2EAE | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x2EB0 | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x2EB2 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x2EB4 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x2EB6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) - +0x2EB8 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x2EBA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x2EBC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2EBE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x2EC0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x2EC2 | 05 00 | VOffset16 | 0x0005 (5) | offset to field `key` (id: 8) - +0x2EC4 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) - +0x2EC6 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x3266 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x3268 | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x326A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x326C | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x326E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) + +0x3270 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x3272 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3274 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3276 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3278 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x327A | 05 00 | VOffset16 | 0x0005 (5) | offset to field `key` (id: 8) + +0x327C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x327E | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x2EC8 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2EAE | offset to vtable - +0x2ECC | 00 | uint8_t[1] | . | padding - +0x2ECD | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) - +0x2ECE | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x2ED0 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x2F44 | offset to field `name` (string) - +0x2ED4 | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x2F34 | offset to field `type` (table) - +0x2ED8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2EE4 | offset to field `attributes` (vector) - +0x2EDC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2EE0 | offset to field `documentation` (vector) + +0x3280 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x3266 | offset to vtable + +0x3284 | 00 | uint8_t[1] | . | padding + +0x3285 | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) + +0x3286 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x3288 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x32FC | offset to field `name` (string) + +0x328C | 60 00 00 00 | UOffset32 | 0x00000060 (96) Loc: +0x32EC | offset to field `type` (table) + +0x3290 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x329C | offset to field `attributes` (vector) + +0x3294 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3298 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2EE0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3298 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2EE4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x2EE8 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x2F0C | offset to table[0] - +0x2EEC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2EF0 | offset to table[1] + +0x329C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x32A0 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x32C4 | offset to table[0] + +0x32A4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x32A8 | offset to table[1] table (reflection.KeyValue): - +0x2EF0 | 8C F9 FF FF | SOffset32 | 0xFFFFF98C (-1652) Loc: +0x3564 | offset to vtable - +0x2EF4 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2F04 | offset to field `key` (string) - +0x2EF8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2EFC | offset to field `value` (string) + +0x32A8 | 8C F9 FF FF | SOffset32 | 0xFFFFF98C (-1652) Loc: +0x391C | offset to vtable + +0x32AC | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x32BC | offset to field `key` (string) + +0x32B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x32B4 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2EFC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2F00 | 30 | char[1] | 0 | string literal - +0x2F01 | 00 | char | 0x00 (0) | string terminator + +0x32B4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x32B8 | 30 | char[1] | 0 | string literal + +0x32B9 | 00 | char | 0x00 (0) | string terminator padding: - +0x2F02 | 00 00 | uint8_t[2] | .. | padding + +0x32BA | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2F04 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string - +0x2F08 | 6B 65 79 | char[3] | key | string literal - +0x2F0B | 00 | char | 0x00 (0) | string terminator + +0x32BC | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string + +0x32C0 | 6B 65 79 | char[3] | key | string literal + +0x32C3 | 00 | char | 0x00 (0) | string terminator table (reflection.KeyValue): - +0x2F0C | A8 F9 FF FF | SOffset32 | 0xFFFFF9A8 (-1624) Loc: +0x3564 | offset to vtable - +0x2F10 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x2F28 | offset to field `key` (string) - +0x2F14 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2F18 | offset to field `value` (string) + +0x32C4 | A8 F9 FF FF | SOffset32 | 0xFFFFF9A8 (-1624) Loc: +0x391C | offset to vtable + +0x32C8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x32E0 | offset to field `key` (string) + +0x32CC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x32D0 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2F18 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x2F1C | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal - +0x2F24 | 00 | char | 0x00 (0) | string terminator + +0x32D0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x32D4 | 66 6E 76 31 61 5F 36 34 | char[8] | fnv1a_64 | string literal + +0x32DC | 00 | char | 0x00 (0) | string terminator padding: - +0x2F25 | 00 00 00 | uint8_t[3] | ... | padding + +0x32DD | 00 00 00 | uint8_t[3] | ... | padding string (reflection.KeyValue.key): - +0x2F28 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string - +0x2F2C | 68 61 73 68 | char[4] | hash | string literal - +0x2F30 | 00 | char | 0x00 (0) | string terminator + +0x32E0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | length of string + +0x32E4 | 68 61 73 68 | char[4] | hash | string literal + +0x32E8 | 00 | char | 0x00 (0) | string terminator padding: - +0x2F31 | 00 00 00 | uint8_t[3] | ... | padding + +0x32E9 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Type): - +0x2F34 | 50 F8 FF FF | SOffset32 | 0xFFFFF850 (-1968) Loc: +0x36E4 | offset to vtable - +0x2F38 | 00 00 00 | uint8_t[3] | ... | padding - +0x2F3B | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) - +0x2F3C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x2F40 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x32EC | 50 F8 FF FF | SOffset32 | 0xFFFFF850 (-1968) Loc: +0x3A9C | offset to vtable + +0x32F0 | 00 00 00 | uint8_t[3] | ... | padding + +0x32F3 | 0A | uint8_t | 0x0A (10) | table field `base_type` (Byte) + +0x32F4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x32F8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x2F44 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x2F48 | 69 64 | char[2] | id | string literal - +0x2F4A | 00 | char | 0x00 (0) | string terminator + +0x32FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x3300 | 69 64 | char[2] | id | string literal + +0x3302 | 00 | char | 0x00 (0) | string terminator table (reflection.Object): - +0x2F4C | 24 F7 FF FF | SOffset32 | 0xFFFFF724 (-2268) Loc: +0x3828 | offset to vtable - +0x2F50 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x2F78 | offset to field `name` (string) - +0x2F54 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x2F68 | offset to field `fields` (vector) - +0x2F58 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) - +0x2F5C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x2F64 | offset to field `documentation` (vector) - +0x2F60 | 00 08 00 00 | UOffset32 | 0x00000800 (2048) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x3304 | 24 F7 FF FF | SOffset32 | 0xFFFFF724 (-2268) Loc: +0x3BE0 | offset to vtable + +0x3308 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x3330 | offset to field `name` (string) + +0x330C | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x3320 | offset to field `fields` (vector) + +0x3310 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) + +0x3314 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x331C | offset to field `documentation` (vector) + +0x3318 | 00 08 00 00 | UOffset32 | 0x00000800 (2048) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x2F64 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x331C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x2F68 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) - +0x2F6C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x2FAC | offset to table[0] - +0x2F70 | CC 00 00 00 | UOffset32 | 0x000000CC (204) Loc: +0x303C | offset to table[1] - +0x2F74 | 98 00 00 00 | UOffset32 | 0x00000098 (152) Loc: +0x300C | offset to table[2] + +0x3320 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) + +0x3324 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x3364 | offset to table[0] + +0x3328 | CC 00 00 00 | UOffset32 | 0x000000CC (204) Loc: +0x33F4 | offset to table[1] + +0x332C | 98 00 00 00 | UOffset32 | 0x00000098 (152) Loc: +0x33C4 | offset to table[2] string (reflection.Object.name): - +0x2F78 | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string - +0x2F7C | 4D 79 47 61 6D 65 2E 45 | char[19] | MyGame.E | string literal - +0x2F84 | 78 61 6D 70 6C 65 2E 53 | | xample.S - +0x2F8C | 74 61 74 | | tat - +0x2F8F | 00 | char | 0x00 (0) | string terminator + +0x3330 | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string + +0x3334 | 4D 79 47 61 6D 65 2E 45 | char[19] | MyGame.E | string literal + +0x333C | 78 61 6D 70 6C 65 2E 53 | | xample.S + +0x3344 | 74 61 74 | | tat + +0x3347 | 00 | char | 0x00 (0) | string terminator padding: - +0x2F90 | 00 00 | uint8_t[2] | .. | padding + +0x3348 | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Field): - +0x2F92 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x2F94 | 1C 00 | uint16_t | 0x001C (28) | size of referring table - +0x2F96 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) - +0x2F98 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) - +0x2F9A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) - +0x2F9C | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) - +0x2F9E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x2FA0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x2FA2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x2FA4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x2FA6 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `key` (id: 8) - +0x2FA8 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) - +0x2FAA | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) + +0x334A | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x334C | 1C 00 | uint16_t | 0x001C (28) | size of referring table + +0x334E | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) + +0x3350 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) + +0x3352 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) + +0x3354 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) + +0x3356 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3358 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x335A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x335C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x335E | 07 00 | VOffset16 | 0x0007 (7) | offset to field `key` (id: 8) + +0x3360 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `attributes` (id: 9) + +0x3362 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x2FAC | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x2F92 | offset to vtable - +0x2FB0 | 00 00 00 | uint8_t[3] | ... | padding - +0x2FB3 | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) - +0x2FB4 | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) - +0x2FB6 | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) - +0x2FB8 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x3000 | offset to field `name` (string) - +0x2FBC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x2FF0 | offset to field `type` (table) - +0x2FC0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x2FCC | offset to field `attributes` (vector) - +0x2FC4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2FC8 | offset to field `documentation` (vector) + +0x3364 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x334A | offset to vtable + +0x3368 | 00 00 00 | uint8_t[3] | ... | padding + +0x336B | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) + +0x336C | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) + +0x336E | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) + +0x3370 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x33B8 | offset to field `name` (string) + +0x3374 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x33A8 | offset to field `type` (table) + +0x3378 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3384 | offset to field `attributes` (vector) + +0x337C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3380 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x2FC8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3380 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x2FCC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x2FD0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2FD4 | offset to table[0] + +0x3384 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3388 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x338C | offset to table[0] table (reflection.KeyValue): - +0x2FD4 | 70 FA FF FF | SOffset32 | 0xFFFFFA70 (-1424) Loc: +0x3564 | offset to vtable - +0x2FD8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x2FE8 | offset to field `key` (string) - +0x2FDC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x2FE0 | offset to field `value` (string) + +0x338C | 70 FA FF FF | SOffset32 | 0xFFFFFA70 (-1424) Loc: +0x391C | offset to vtable + +0x3390 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x33A0 | offset to field `key` (string) + +0x3394 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3398 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x2FE0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x2FE4 | 30 | char[1] | 0 | string literal - +0x2FE5 | 00 | char | 0x00 (0) | string terminator + +0x3398 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x339C | 30 | char[1] | 0 | string literal + +0x339D | 00 | char | 0x00 (0) | string terminator padding: - +0x2FE6 | 00 00 | uint8_t[2] | .. | padding + +0x339E | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x2FE8 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string - +0x2FEC | 6B 65 79 | char[3] | key | string literal - +0x2FEF | 00 | char | 0x00 (0) | string terminator + +0x33A0 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string + +0x33A4 | 6B 65 79 | char[3] | key | string literal + +0x33A7 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x2FF0 | 0C F9 FF FF | SOffset32 | 0xFFFFF90C (-1780) Loc: +0x36E4 | offset to vtable - +0x2FF4 | 00 00 00 | uint8_t[3] | ... | padding - +0x2FF7 | 06 | uint8_t | 0x06 (6) | table field `base_type` (Byte) - +0x2FF8 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) - +0x2FFC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x33A8 | 0C F9 FF FF | SOffset32 | 0xFFFFF90C (-1780) Loc: +0x3A9C | offset to vtable + +0x33AC | 00 00 00 | uint8_t[3] | ... | padding + +0x33AF | 06 | uint8_t | 0x06 (6) | table field `base_type` (Byte) + +0x33B0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) + +0x33B4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3000 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x3004 | 63 6F 75 6E 74 | char[5] | count | string literal - +0x3009 | 00 | char | 0x00 (0) | string terminator + +0x33B8 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x33BC | 63 6F 75 6E 74 | char[5] | count | string literal + +0x33C1 | 00 | char | 0x00 (0) | string terminator padding: - +0x300A | 00 00 | uint8_t[2] | .. | padding + +0x33C2 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x300C | 76 FB FF FF | SOffset32 | 0xFFFFFB76 (-1162) Loc: +0x3496 | offset to vtable - +0x3010 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) - +0x3012 | 06 00 | uint16_t | 0x0006 (6) | table field `offset` (UShort) - +0x3014 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3034 | offset to field `name` (string) - +0x3018 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3024 | offset to field `type` (table) - +0x301C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3020 | offset to field `documentation` (vector) + +0x33C4 | 76 FB FF FF | SOffset32 | 0xFFFFFB76 (-1162) Loc: +0x384E | offset to vtable + +0x33C8 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) + +0x33CA | 06 00 | uint16_t | 0x0006 (6) | table field `offset` (UShort) + +0x33CC | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x33EC | offset to field `name` (string) + +0x33D0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x33DC | offset to field `type` (table) + +0x33D4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x33D8 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3020 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x33D8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x3024 | 40 F9 FF FF | SOffset32 | 0xFFFFF940 (-1728) Loc: +0x36E4 | offset to vtable - +0x3028 | 00 00 00 | uint8_t[3] | ... | padding - +0x302B | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) - +0x302C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x3030 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x33DC | 40 F9 FF FF | SOffset32 | 0xFFFFF940 (-1728) Loc: +0x3A9C | offset to vtable + +0x33E0 | 00 00 00 | uint8_t[3] | ... | padding + +0x33E3 | 09 | uint8_t | 0x09 (9) | table field `base_type` (Byte) + +0x33E4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x33E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3034 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string - +0x3038 | 76 61 6C | char[3] | val | string literal - +0x303B | 00 | char | 0x00 (0) | string terminator + +0x33EC | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string + +0x33F0 | 76 61 6C | char[3] | val | string literal + +0x33F3 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x303C | B8 F7 FF FF | SOffset32 | 0xFFFFF7B8 (-2120) Loc: +0x3884 | offset to vtable - +0x3040 | 00 | uint8_t[1] | . | padding - +0x3041 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x3042 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x3044 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3060 | offset to field `name` (string) - +0x3048 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3054 | offset to field `type` (table) - +0x304C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3050 | offset to field `documentation` (vector) + +0x33F4 | B8 F7 FF FF | SOffset32 | 0xFFFFF7B8 (-2120) Loc: +0x3C3C | offset to vtable + +0x33F8 | 00 | uint8_t[1] | . | padding + +0x33F9 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x33FA | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x33FC | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3418 | offset to field `name` (string) + +0x3400 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x340C | offset to field `type` (table) + +0x3404 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3408 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3050 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3408 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x3054 | B8 F6 FF FF | SOffset32 | 0xFFFFF6B8 (-2376) Loc: +0x399C | offset to vtable - +0x3058 | 00 00 00 | uint8_t[3] | ... | padding - +0x305B | 0D | uint8_t | 0x0D (13) | table field `base_type` (Byte) - +0x305C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x340C | B8 F6 FF FF | SOffset32 | 0xFFFFF6B8 (-2376) Loc: +0x3D54 | offset to vtable + +0x3410 | 00 00 00 | uint8_t[3] | ... | padding + +0x3413 | 0D | uint8_t | 0x0D (13) | table field `base_type` (Byte) + +0x3414 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3060 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x3064 | 69 64 | char[2] | id | string literal - +0x3066 | 00 | char | 0x00 (0) | string terminator + +0x3418 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x341C | 69 64 | char[2] | id | string literal + +0x341E | 00 | char | 0x00 (0) | string terminator table (reflection.Object): - +0x3068 | 88 F7 FF FF | SOffset32 | 0xFFFFF788 (-2168) Loc: +0x38E0 | offset to vtable - +0x306C | 00 00 00 | uint8_t[3] | ... | padding - +0x306F | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) - +0x3070 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x3094 | offset to field `name` (string) - +0x3074 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x308C | offset to field `fields` (vector) - +0x3078 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) - +0x307C | 14 00 00 00 | uint32_t | 0x00000014 (20) | table field `bytesize` (Int) - +0x3080 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3088 | offset to field `documentation` (vector) - +0x3084 | DC 06 00 00 | UOffset32 | 0x000006DC (1756) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x3420 | 88 F7 FF FF | SOffset32 | 0xFFFFF788 (-2168) Loc: +0x3C98 | offset to vtable + +0x3424 | 00 00 00 | uint8_t[3] | ... | padding + +0x3427 | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) + +0x3428 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x344C | offset to field `name` (string) + +0x342C | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x3444 | offset to field `fields` (vector) + +0x3430 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) + +0x3434 | 14 00 00 00 | uint32_t | 0x00000014 (20) | table field `bytesize` (Int) + +0x3438 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3440 | offset to field `documentation` (vector) + +0x343C | DC 06 00 00 | UOffset32 | 0x000006DC (1756) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x3088 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3440 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x308C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x3090 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x30C0 | offset to table[0] + +0x3444 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3448 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x3478 | offset to table[0] string (reflection.Object.name): - +0x3094 | 27 00 00 00 | uint32_t | 0x00000027 (39) | length of string - +0x3098 | 4D 79 47 61 6D 65 2E 45 | char[39] | MyGame.E | string literal - +0x30A0 | 78 61 6D 70 6C 65 2E 53 | | xample.S - +0x30A8 | 74 72 75 63 74 4F 66 53 | | tructOfS - +0x30B0 | 74 72 75 63 74 73 4F 66 | | tructsOf - +0x30B8 | 53 74 72 75 63 74 73 | | Structs - +0x30BF | 00 | char | 0x00 (0) | string terminator + +0x344C | 27 00 00 00 | uint32_t | 0x00000027 (39) | length of string + +0x3450 | 4D 79 47 61 6D 65 2E 45 | char[39] | MyGame.E | string literal + +0x3458 | 78 61 6D 70 6C 65 2E 53 | | xample.S + +0x3460 | 74 72 75 63 74 4F 66 53 | | tructOfS + +0x3468 | 74 72 75 63 74 73 4F 66 | | tructsOf + +0x3470 | 53 74 72 75 63 74 73 | | Structs + +0x3477 | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x30C0 | F4 FE FF FF | SOffset32 | 0xFFFFFEF4 (-268) Loc: +0x31CC | offset to vtable - +0x30C4 | 00 00 00 | uint8_t[3] | ... | padding - +0x30C7 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x30C8 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x30E8 | offset to field `name` (string) - +0x30CC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x30D8 | offset to field `type` (table) - +0x30D0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x30D4 | offset to field `documentation` (vector) + +0x3478 | F4 FE FF FF | SOffset32 | 0xFFFFFEF4 (-268) Loc: +0x3584 | offset to vtable + +0x347C | 00 00 00 | uint8_t[3] | ... | padding + +0x347F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x3480 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x34A0 | offset to field `name` (string) + +0x3484 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3490 | offset to field `type` (table) + +0x3488 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x348C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x30D4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x348C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x30D8 | 20 F8 FF FF | SOffset32 | 0xFFFFF820 (-2016) Loc: +0x38B8 | offset to vtable - +0x30DC | 00 00 00 | uint8_t[3] | ... | padding - +0x30DF | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x30E0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `index` (Int) - +0x30E4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3490 | 20 F8 FF FF | SOffset32 | 0xFFFFF820 (-2016) Loc: +0x3C70 | offset to vtable + +0x3494 | 00 00 00 | uint8_t[3] | ... | padding + +0x3497 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x3498 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `index` (Int) + +0x349C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x30E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x30EC | 61 | char[1] | a | string literal - +0x30ED | 00 | char | 0x00 (0) | string terminator + +0x34A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x34A4 | 61 | char[1] | a | string literal + +0x34A5 | 00 | char | 0x00 (0) | string terminator padding: - +0x30EE | 00 00 | uint8_t[2] | .. | padding + +0x34A6 | 00 00 | uint8_t[2] | .. | padding table (reflection.Object): - +0x30F0 | 10 F8 FF FF | SOffset32 | 0xFFFFF810 (-2032) Loc: +0x38E0 | offset to vtable - +0x30F4 | 00 00 00 | uint8_t[3] | ... | padding - +0x30F7 | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) - +0x30F8 | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x3124 | offset to field `name` (string) - +0x30FC | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x3114 | offset to field `fields` (vector) - +0x3100 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) - +0x3104 | 14 00 00 00 | uint32_t | 0x00000014 (20) | table field `bytesize` (Int) - +0x3108 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3110 | offset to field `documentation` (vector) - +0x310C | 54 06 00 00 | UOffset32 | 0x00000654 (1620) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x34A8 | 10 F8 FF FF | SOffset32 | 0xFFFFF810 (-2032) Loc: +0x3C98 | offset to vtable + +0x34AC | 00 00 00 | uint8_t[3] | ... | padding + +0x34AF | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) + +0x34B0 | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x34DC | offset to field `name` (string) + +0x34B4 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x34CC | offset to field `fields` (vector) + +0x34B8 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) + +0x34BC | 14 00 00 00 | uint32_t | 0x00000014 (20) | table field `bytesize` (Int) + +0x34C0 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x34C8 | offset to field `documentation` (vector) + +0x34C4 | 54 06 00 00 | UOffset32 | 0x00000654 (1620) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x3110 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x34C8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x3114 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) - +0x3118 | D0 00 00 00 | UOffset32 | 0x000000D0 (208) Loc: +0x31E8 | offset to table[0] - +0x311C | 7C 00 00 00 | UOffset32 | 0x0000007C (124) Loc: +0x3198 | offset to table[1] - +0x3120 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x3148 | offset to table[2] + +0x34CC | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) + +0x34D0 | D0 00 00 00 | UOffset32 | 0x000000D0 (208) Loc: +0x35A0 | offset to table[0] + +0x34D4 | 7C 00 00 00 | UOffset32 | 0x0000007C (124) Loc: +0x3550 | offset to table[1] + +0x34D8 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x3500 | offset to table[2] string (reflection.Object.name): - +0x3124 | 1E 00 00 00 | uint32_t | 0x0000001E (30) | length of string - +0x3128 | 4D 79 47 61 6D 65 2E 45 | char[30] | MyGame.E | string literal - +0x3130 | 78 61 6D 70 6C 65 2E 53 | | xample.S - +0x3138 | 74 72 75 63 74 4F 66 53 | | tructOfS - +0x3140 | 74 72 75 63 74 73 | | tructs - +0x3146 | 00 | char | 0x00 (0) | string terminator + +0x34DC | 1E 00 00 00 | uint32_t | 0x0000001E (30) | length of string + +0x34E0 | 4D 79 47 61 6D 65 2E 45 | char[30] | MyGame.E | string literal + +0x34E8 | 78 61 6D 70 6C 65 2E 53 | | xample.S + +0x34F0 | 74 72 75 63 74 4F 66 53 | | tructOfS + +0x34F8 | 74 72 75 63 74 73 | | tructs + +0x34FE | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x3148 | CC FF FF FF | SOffset32 | 0xFFFFFFCC (-52) Loc: +0x317C | offset to vtable - +0x314C | 00 00 00 | uint8_t[3] | ... | padding - +0x314F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x3150 | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) - +0x3152 | 0C 00 | uint16_t | 0x000C (12) | table field `offset` (UShort) - +0x3154 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3174 | offset to field `name` (string) - +0x3158 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3164 | offset to field `type` (table) - +0x315C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3160 | offset to field `documentation` (vector) + +0x3500 | CC FF FF FF | SOffset32 | 0xFFFFFFCC (-52) Loc: +0x3534 | offset to vtable + +0x3504 | 00 00 00 | uint8_t[3] | ... | padding + +0x3507 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x3508 | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) + +0x350A | 0C 00 | uint16_t | 0x000C (12) | table field `offset` (UShort) + +0x350C | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x352C | offset to field `name` (string) + +0x3510 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x351C | offset to field `type` (table) + +0x3514 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3518 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3160 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3518 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x3164 | AC F8 FF FF | SOffset32 | 0xFFFFF8AC (-1876) Loc: +0x38B8 | offset to vtable - +0x3168 | 00 00 00 | uint8_t[3] | ... | padding - +0x316B | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x316C | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) - +0x3170 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x351C | AC F8 FF FF | SOffset32 | 0xFFFFF8AC (-1876) Loc: +0x3C70 | offset to vtable + +0x3520 | 00 00 00 | uint8_t[3] | ... | padding + +0x3523 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x3524 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) + +0x3528 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3174 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3178 | 63 | char[1] | c | string literal - +0x3179 | 00 | char | 0x00 (0) | string terminator + +0x352C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3530 | 63 | char[1] | c | string literal + +0x3531 | 00 | char | 0x00 (0) | string terminator padding: - +0x317A | 00 00 | uint8_t[2] | .. | padding + +0x3532 | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Field): - +0x317C | 1C 00 | uint16_t | 0x001C (28) | size of this vtable - +0x317E | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x3180 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) - +0x3182 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) - +0x3184 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) - +0x3186 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) - +0x3188 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x318A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x318C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x318E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x3190 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x3192 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x3194 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) - +0x3196 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `optional` (id: 11) + +0x3534 | 1C 00 | uint16_t | 0x001C (28) | size of this vtable + +0x3536 | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x3538 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) + +0x353A | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) + +0x353C | 08 00 | VOffset16 | 0x0008 (8) | offset to field `id` (id: 2) + +0x353E | 0A 00 | VOffset16 | 0x000A (10) | offset to field `offset` (id: 3) + +0x3540 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3542 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3544 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3546 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3548 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x354A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x354C | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x354E | 07 00 | VOffset16 | 0x0007 (7) | offset to field `optional` (id: 11) table (reflection.Field): - +0x3198 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x317C | offset to vtable - +0x319C | 00 00 00 | uint8_t[3] | ... | padding - +0x319F | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x31A0 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) - +0x31A2 | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) - +0x31A4 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x31C4 | offset to field `name` (string) - +0x31A8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x31B4 | offset to field `type` (table) - +0x31AC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x31B0 | offset to field `documentation` (vector) + +0x3550 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x3534 | offset to vtable + +0x3554 | 00 00 00 | uint8_t[3] | ... | padding + +0x3557 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x3558 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) + +0x355A | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) + +0x355C | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x357C | offset to field `name` (string) + +0x3560 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x356C | offset to field `type` (table) + +0x3564 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3568 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x31B0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3568 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x31B4 | FC F8 FF FF | SOffset32 | 0xFFFFF8FC (-1796) Loc: +0x38B8 | offset to vtable - +0x31B8 | 00 00 00 | uint8_t[3] | ... | padding - +0x31BB | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x31BC | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) - +0x31C0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x356C | FC F8 FF FF | SOffset32 | 0xFFFFF8FC (-1796) Loc: +0x3C70 | offset to vtable + +0x3570 | 00 00 00 | uint8_t[3] | ... | padding + +0x3573 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x3574 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) + +0x3578 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x31C4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x31C8 | 62 | char[1] | b | string literal - +0x31C9 | 00 | char | 0x00 (0) | string terminator + +0x357C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3580 | 62 | char[1] | b | string literal + +0x3581 | 00 | char | 0x00 (0) | string terminator padding: - +0x31CA | 00 00 | uint8_t[2] | .. | padding + +0x3582 | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Field): - +0x31CC | 1C 00 | uint16_t | 0x001C (28) | size of this vtable - +0x31CE | 14 00 | uint16_t | 0x0014 (20) | size of referring table - +0x31D0 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x31D2 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x31D4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) - +0x31D6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `offset` (id: 3) (UShort) - +0x31D8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x31DA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x31DC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x31DE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x31E0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x31E2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x31E4 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) - +0x31E6 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `optional` (id: 11) + +0x3584 | 1C 00 | uint16_t | 0x001C (28) | size of this vtable + +0x3586 | 14 00 | uint16_t | 0x0014 (20) | size of referring table + +0x3588 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x358A | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x358C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) + +0x358E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `offset` (id: 3) (UShort) + +0x3590 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3592 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3594 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3596 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3598 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x359A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x359C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) + +0x359E | 07 00 | VOffset16 | 0x0007 (7) | offset to field `optional` (id: 11) table (reflection.Field): - +0x31E8 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x31CC | offset to vtable - +0x31EC | 00 00 00 | uint8_t[3] | ... | padding - +0x31EF | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x31F0 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3210 | offset to field `name` (string) - +0x31F4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3200 | offset to field `type` (table) - +0x31F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x31FC | offset to field `documentation` (vector) + +0x35A0 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x3584 | offset to vtable + +0x35A4 | 00 00 00 | uint8_t[3] | ... | padding + +0x35A7 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x35A8 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x35C8 | offset to field `name` (string) + +0x35AC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x35B8 | offset to field `type` (table) + +0x35B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x35B4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x31FC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x35B4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x3200 | 48 F9 FF FF | SOffset32 | 0xFFFFF948 (-1720) Loc: +0x38B8 | offset to vtable - +0x3204 | 00 00 00 | uint8_t[3] | ... | padding - +0x3207 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x3208 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) - +0x320C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x35B8 | 48 F9 FF FF | SOffset32 | 0xFFFFF948 (-1720) Loc: +0x3C70 | offset to vtable + +0x35BC | 00 00 00 | uint8_t[3] | ... | padding + +0x35BF | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x35C0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int) + +0x35C4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3210 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3214 | 61 | char[1] | a | string literal - +0x3215 | 00 | char | 0x00 (0) | string terminator + +0x35C8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x35CC | 61 | char[1] | a | string literal + +0x35CD | 00 | char | 0x00 (0) | string terminator padding: - +0x3216 | 00 00 | uint8_t[2] | .. | padding + +0x35CE | 00 00 | uint8_t[2] | .. | padding table (reflection.Object): - +0x3218 | 38 F9 FF FF | SOffset32 | 0xFFFFF938 (-1736) Loc: +0x38E0 | offset to vtable - +0x321C | 00 00 00 | uint8_t[3] | ... | padding - +0x321F | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) - +0x3220 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x3248 | offset to field `name` (string) - +0x3224 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x323C | offset to field `fields` (vector) - +0x3228 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) - +0x322C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `bytesize` (Int) - +0x3230 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3238 | offset to field `documentation` (vector) - +0x3234 | 2C 05 00 00 | UOffset32 | 0x0000052C (1324) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x35D0 | 38 F9 FF FF | SOffset32 | 0xFFFFF938 (-1736) Loc: +0x3C98 | offset to vtable + +0x35D4 | 00 00 00 | uint8_t[3] | ... | padding + +0x35D7 | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) + +0x35D8 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x3600 | offset to field `name` (string) + +0x35DC | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x35F4 | offset to field `fields` (vector) + +0x35E0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) + +0x35E4 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `bytesize` (Int) + +0x35E8 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x35F0 | offset to field `documentation` (vector) + +0x35EC | 2C 05 00 00 | UOffset32 | 0x0000052C (1324) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x3238 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x35F0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x323C | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x3240 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x3264 | offset to table[0] - +0x3244 | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x32B0 | offset to table[1] + +0x35F4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x35F8 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x361C | offset to table[0] + +0x35FC | 6C 00 00 00 | UOffset32 | 0x0000006C (108) Loc: +0x3668 | offset to table[1] string (reflection.Object.name): - +0x3248 | 16 00 00 00 | uint32_t | 0x00000016 (22) | length of string - +0x324C | 4D 79 47 61 6D 65 2E 45 | char[22] | MyGame.E | string literal - +0x3254 | 78 61 6D 70 6C 65 2E 41 | | xample.A - +0x325C | 62 69 6C 69 74 79 | | bility - +0x3262 | 00 | char | 0x00 (0) | string terminator + +0x3600 | 16 00 00 00 | uint32_t | 0x00000016 (22) | length of string + +0x3604 | 4D 79 47 61 6D 65 2E 45 | char[22] | MyGame.E | string literal + +0x360C | 78 61 6D 70 6C 65 2E 41 | | xample.A + +0x3614 | 62 69 6C 69 74 79 | | bility + +0x361A | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x3264 | CE FD FF FF | SOffset32 | 0xFFFFFDCE (-562) Loc: +0x3496 | offset to vtable - +0x3268 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) - +0x326A | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x326C | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3288 | offset to field `name` (string) - +0x3270 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x327C | offset to field `type` (table) - +0x3274 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3278 | offset to field `documentation` (vector) + +0x361C | CE FD FF FF | SOffset32 | 0xFFFFFDCE (-562) Loc: +0x384E | offset to vtable + +0x3620 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) + +0x3622 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x3624 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3640 | offset to field `name` (string) + +0x3628 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3634 | offset to field `type` (table) + +0x362C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3630 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3278 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3630 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x327C | E0 F8 FF FF | SOffset32 | 0xFFFFF8E0 (-1824) Loc: +0x399C | offset to vtable - +0x3280 | 00 00 00 | uint8_t[3] | ... | padding - +0x3283 | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) - +0x3284 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3634 | E0 F8 FF FF | SOffset32 | 0xFFFFF8E0 (-1824) Loc: +0x3D54 | offset to vtable + +0x3638 | 00 00 00 | uint8_t[3] | ... | padding + +0x363B | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) + +0x363C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3288 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string - +0x328C | 64 69 73 74 61 6E 63 65 | char[8] | distance | string literal - +0x3294 | 00 | char | 0x00 (0) | string terminator + +0x3640 | 08 00 00 00 | uint32_t | 0x00000008 (8) | length of string + +0x3644 | 64 69 73 74 61 6E 63 65 | char[8] | distance | string literal + +0x364C | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x3296 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x3298 | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x329A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x329C | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x329E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) - +0x32A0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `offset` (id: 3) (UShort) - +0x32A2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x32A4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x32A6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x32A8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x32AA | 07 00 | VOffset16 | 0x0007 (7) | offset to field `key` (id: 8) - +0x32AC | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) - +0x32AE | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x364E | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x3650 | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x3652 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x3654 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x3656 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) + +0x3658 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `offset` (id: 3) (UShort) + +0x365A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x365C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x365E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3660 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3662 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `key` (id: 8) + +0x3664 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 9) + +0x3666 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x32B0 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x3296 | offset to vtable - +0x32B4 | 00 00 00 | uint8_t[3] | ... | padding - +0x32B7 | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) - +0x32B8 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x32FC | offset to field `name` (string) - +0x32BC | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x32F0 | offset to field `type` (table) - +0x32C0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x32CC | offset to field `attributes` (vector) - +0x32C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x32C8 | offset to field `documentation` (vector) + +0x3668 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x364E | offset to vtable + +0x366C | 00 00 00 | uint8_t[3] | ... | padding + +0x366F | 01 | uint8_t | 0x01 (1) | table field `key` (Bool) + +0x3670 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x36B4 | offset to field `name` (string) + +0x3674 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x36A8 | offset to field `type` (table) + +0x3678 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3684 | offset to field `attributes` (vector) + +0x367C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3680 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x32C8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3680 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Field.attributes): - +0x32CC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x32D0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x32D4 | offset to table[0] + +0x3684 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3688 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x368C | offset to table[0] table (reflection.KeyValue): - +0x32D4 | 70 FD FF FF | SOffset32 | 0xFFFFFD70 (-656) Loc: +0x3564 | offset to vtable - +0x32D8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x32E8 | offset to field `key` (string) - +0x32DC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x32E0 | offset to field `value` (string) + +0x368C | 70 FD FF FF | SOffset32 | 0xFFFFFD70 (-656) Loc: +0x391C | offset to vtable + +0x3690 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x36A0 | offset to field `key` (string) + +0x3694 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3698 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x32E0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x32E4 | 30 | char[1] | 0 | string literal - +0x32E5 | 00 | char | 0x00 (0) | string terminator + +0x3698 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x369C | 30 | char[1] | 0 | string literal + +0x369D | 00 | char | 0x00 (0) | string terminator padding: - +0x32E6 | 00 00 | uint8_t[2] | .. | padding + +0x369E | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x32E8 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string - +0x32EC | 6B 65 79 | char[3] | key | string literal - +0x32EF | 00 | char | 0x00 (0) | string terminator + +0x36A0 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of string + +0x36A4 | 6B 65 79 | char[3] | key | string literal + +0x36A7 | 00 | char | 0x00 (0) | string terminator table (reflection.Type): - +0x32F0 | 54 F9 FF FF | SOffset32 | 0xFFFFF954 (-1708) Loc: +0x399C | offset to vtable - +0x32F4 | 00 00 00 | uint8_t[3] | ... | padding - +0x32F7 | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) - +0x32F8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x36A8 | 54 F9 FF FF | SOffset32 | 0xFFFFF954 (-1708) Loc: +0x3D54 | offset to vtable + +0x36AC | 00 00 00 | uint8_t[3] | ... | padding + +0x36AF | 08 | uint8_t | 0x08 (8) | table field `base_type` (Byte) + +0x36B0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x32FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string - +0x3300 | 69 64 | char[2] | id | string literal - +0x3302 | 00 | char | 0x00 (0) | string terminator + +0x36B4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of string + +0x36B8 | 69 64 | char[2] | id | string literal + +0x36BA | 00 | char | 0x00 (0) | string terminator vtable (reflection.Object): - +0x3304 | 14 00 | uint16_t | 0x0014 (20) | size of this vtable - +0x3306 | 24 00 | uint16_t | 0x0024 (36) | size of referring table - +0x3308 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x330A | 0C 00 | VOffset16 | 0x000C (12) | offset to field `fields` (id: 1) - +0x330C | 07 00 | VOffset16 | 0x0007 (7) | offset to field `is_struct` (id: 2) - +0x330E | 10 00 | VOffset16 | 0x0010 (16) | offset to field `minalign` (id: 3) - +0x3310 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `bytesize` (id: 4) - +0x3312 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `attributes` (id: 5) - +0x3314 | 1C 00 | VOffset16 | 0x001C (28) | offset to field `documentation` (id: 6) - +0x3316 | 20 00 | VOffset16 | 0x0020 (32) | offset to field `declaration_file` (id: 7) + +0x36BC | 14 00 | uint16_t | 0x0014 (20) | size of this vtable + +0x36BE | 24 00 | uint16_t | 0x0024 (36) | size of referring table + +0x36C0 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x36C2 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `fields` (id: 1) + +0x36C4 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `is_struct` (id: 2) + +0x36C6 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `minalign` (id: 3) + +0x36C8 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `bytesize` (id: 4) + +0x36CA | 18 00 | VOffset16 | 0x0018 (24) | offset to field `attributes` (id: 5) + +0x36CC | 1C 00 | VOffset16 | 0x001C (28) | offset to field `documentation` (id: 6) + +0x36CE | 20 00 | VOffset16 | 0x0020 (32) | offset to field `declaration_file` (id: 7) table (reflection.Object): - +0x3318 | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x3304 | offset to vtable - +0x331C | 00 00 00 | uint8_t[3] | ... | padding - +0x331F | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) - +0x3320 | 68 00 00 00 | UOffset32 | 0x00000068 (104) Loc: +0x3388 | offset to field `name` (string) - +0x3324 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x336C | offset to field `fields` (vector) - +0x3328 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `minalign` (Int) - +0x332C | 20 00 00 00 | uint32_t | 0x00000020 (32) | table field `bytesize` (Int) - +0x3330 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3340 | offset to field `attributes` (vector) - +0x3334 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x333C | offset to field `documentation` (vector) - +0x3338 | 28 04 00 00 | UOffset32 | 0x00000428 (1064) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x36D0 | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x36BC | offset to vtable + +0x36D4 | 00 00 00 | uint8_t[3] | ... | padding + +0x36D7 | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) + +0x36D8 | 68 00 00 00 | UOffset32 | 0x00000068 (104) Loc: +0x3740 | offset to field `name` (string) + +0x36DC | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x3724 | offset to field `fields` (vector) + +0x36E0 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `minalign` (Int) + +0x36E4 | 20 00 00 00 | uint32_t | 0x00000020 (32) | table field `bytesize` (Int) + +0x36E8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x36F8 | offset to field `attributes` (vector) + +0x36EC | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x36F4 | offset to field `documentation` (vector) + +0x36F0 | 28 04 00 00 | UOffset32 | 0x00000428 (1064) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x333C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x36F4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.attributes): - +0x3340 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x3344 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3348 | offset to table[0] + +0x36F8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x36FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3700 | offset to table[0] table (reflection.KeyValue): - +0x3348 | E4 FD FF FF | SOffset32 | 0xFFFFFDE4 (-540) Loc: +0x3564 | offset to vtable - +0x334C | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x335C | offset to field `key` (string) - +0x3350 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3354 | offset to field `value` (string) + +0x3700 | E4 FD FF FF | SOffset32 | 0xFFFFFDE4 (-540) Loc: +0x391C | offset to vtable + +0x3704 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3714 | offset to field `key` (string) + +0x3708 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x370C | offset to field `value` (string) string (reflection.KeyValue.value): - +0x3354 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3358 | 38 | char[1] | 8 | string literal - +0x3359 | 00 | char | 0x00 (0) | string terminator + +0x370C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3710 | 38 | char[1] | 8 | string literal + +0x3711 | 00 | char | 0x00 (0) | string terminator padding: - +0x335A | 00 00 | uint8_t[2] | .. | padding + +0x3712 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x335C | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string - +0x3360 | 66 6F 72 63 65 5F 61 6C | char[11] | force_al | string literal - +0x3368 | 69 67 6E | | ign - +0x336B | 00 | char | 0x00 (0) | string terminator + +0x3714 | 0B 00 00 00 | uint32_t | 0x0000000B (11) | length of string + +0x3718 | 66 6F 72 63 65 5F 61 6C | char[11] | force_al | string literal + +0x3720 | 69 67 6E | | ign + +0x3723 | 00 | char | 0x00 (0) | string terminator vector (reflection.Object.fields): - +0x336C | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of vector (# items) - +0x3370 | C4 00 00 00 | UOffset32 | 0x000000C4 (196) Loc: +0x3434 | offset to table[0] - +0x3374 | 84 00 00 00 | UOffset32 | 0x00000084 (132) Loc: +0x33F8 | offset to table[1] - +0x3378 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x33C0 | offset to table[2] - +0x337C | 60 01 00 00 | UOffset32 | 0x00000160 (352) Loc: +0x34DC | offset to table[3] - +0x3380 | 30 01 00 00 | UOffset32 | 0x00000130 (304) Loc: +0x34B0 | offset to table[4] - +0x3384 | E4 00 00 00 | UOffset32 | 0x000000E4 (228) Loc: +0x3468 | offset to table[5] + +0x3724 | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of vector (# items) + +0x3728 | C4 00 00 00 | UOffset32 | 0x000000C4 (196) Loc: +0x37EC | offset to table[0] + +0x372C | 84 00 00 00 | UOffset32 | 0x00000084 (132) Loc: +0x37B0 | offset to table[1] + +0x3730 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x3778 | offset to table[2] + +0x3734 | 60 01 00 00 | UOffset32 | 0x00000160 (352) Loc: +0x3894 | offset to table[3] + +0x3738 | 30 01 00 00 | UOffset32 | 0x00000130 (304) Loc: +0x3868 | offset to table[4] + +0x373C | E4 00 00 00 | UOffset32 | 0x000000E4 (228) Loc: +0x3820 | offset to table[5] string (reflection.Object.name): - +0x3388 | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string - +0x338C | 4D 79 47 61 6D 65 2E 45 | char[19] | MyGame.E | string literal - +0x3394 | 78 61 6D 70 6C 65 2E 56 | | xample.V - +0x339C | 65 63 33 | | ec3 - +0x339F | 00 | char | 0x00 (0) | string terminator + +0x3740 | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string + +0x3744 | 4D 79 47 61 6D 65 2E 45 | char[19] | MyGame.E | string literal + +0x374C | 78 61 6D 70 6C 65 2E 56 | | xample.V + +0x3754 | 65 63 33 | | ec3 + +0x3757 | 00 | char | 0x00 (0) | string terminator padding: - +0x33A0 | 00 00 | uint8_t[2] | .. | padding + +0x3758 | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Field): - +0x33A2 | 1E 00 | uint16_t | 0x001E (30) | size of this vtable - +0x33A4 | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x33A6 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) - +0x33A8 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) - +0x33AA | 06 00 | VOffset16 | 0x0006 (6) | offset to field `id` (id: 2) - +0x33AC | 08 00 | VOffset16 | 0x0008 (8) | offset to field `offset` (id: 3) - +0x33AE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x33B0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x33B2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x33B4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x33B6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x33B8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x33BA | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) - +0x33BC | 05 00 | VOffset16 | 0x0005 (5) | offset to field `optional` (id: 11) - +0x33BE | 0A 00 | VOffset16 | 0x000A (10) | offset to field `padding` (id: 12) + +0x375A | 1E 00 | uint16_t | 0x001E (30) | size of this vtable + +0x375C | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x375E | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) + +0x3760 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) + +0x3762 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `id` (id: 2) + +0x3764 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `offset` (id: 3) + +0x3766 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3768 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x376A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x376C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x376E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x3770 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x3772 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x3774 | 05 00 | VOffset16 | 0x0005 (5) | offset to field `optional` (id: 11) + +0x3776 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `padding` (id: 12) table (reflection.Field): - +0x33C0 | 1E 00 00 00 | SOffset32 | 0x0000001E (30) Loc: +0x33A2 | offset to vtable - +0x33C4 | 00 | uint8_t[1] | . | padding - +0x33C5 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x33C6 | 05 00 | uint16_t | 0x0005 (5) | table field `id` (UShort) - +0x33C8 | 1A 00 | uint16_t | 0x001A (26) | table field `offset` (UShort) - +0x33CA | 02 00 | uint16_t | 0x0002 (2) | table field `padding` (UShort) - +0x33CC | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x33EC | offset to field `name` (string) - +0x33D0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x33DC | offset to field `type` (table) - +0x33D4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x33D8 | offset to field `documentation` (vector) + +0x3778 | 1E 00 00 00 | SOffset32 | 0x0000001E (30) Loc: +0x375A | offset to vtable + +0x377C | 00 | uint8_t[1] | . | padding + +0x377D | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x377E | 05 00 | uint16_t | 0x0005 (5) | table field `id` (UShort) + +0x3780 | 1A 00 | uint16_t | 0x001A (26) | table field `offset` (UShort) + +0x3782 | 02 00 | uint16_t | 0x0002 (2) | table field `padding` (UShort) + +0x3784 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x37A4 | offset to field `name` (string) + +0x3788 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3794 | offset to field `type` (table) + +0x378C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3790 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x33D8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3790 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x33DC | 24 FB FF FF | SOffset32 | 0xFFFFFB24 (-1244) Loc: +0x38B8 | offset to vtable - +0x33E0 | 00 00 00 | uint8_t[3] | ... | padding - +0x33E3 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x33E4 | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) - +0x33E8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3794 | 24 FB FF FF | SOffset32 | 0xFFFFFB24 (-1244) Loc: +0x3C70 | offset to vtable + +0x3798 | 00 00 00 | uint8_t[3] | ... | padding + +0x379B | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x379C | 06 00 00 00 | uint32_t | 0x00000006 (6) | table field `index` (Int) + +0x37A0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x33EC | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x33F0 | 74 65 73 74 33 | char[5] | test3 | string literal - +0x33F5 | 00 | char | 0x00 (0) | string terminator + +0x37A4 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x37A8 | 74 65 73 74 33 | char[5] | test3 | string literal + +0x37AD | 00 | char | 0x00 (0) | string terminator padding: - +0x33F6 | 00 00 | uint8_t[2] | .. | padding + +0x37AE | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x33F8 | 7A FD FF FF | SOffset32 | 0xFFFFFD7A (-646) Loc: +0x367E | offset to vtable - +0x33FC | 00 00 | uint8_t[2] | .. | padding - +0x33FE | 04 00 | uint16_t | 0x0004 (4) | table field `id` (UShort) - +0x3400 | 18 00 | uint16_t | 0x0018 (24) | table field `offset` (UShort) - +0x3402 | 01 00 | uint16_t | 0x0001 (1) | table field `padding` (UShort) - +0x3404 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x3428 | offset to field `name` (string) - +0x3408 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3414 | offset to field `type` (table) - +0x340C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3410 | offset to field `documentation` (vector) + +0x37B0 | 7A FD FF FF | SOffset32 | 0xFFFFFD7A (-646) Loc: +0x3A36 | offset to vtable + +0x37B4 | 00 00 | uint8_t[2] | .. | padding + +0x37B6 | 04 00 | uint16_t | 0x0004 (4) | table field `id` (UShort) + +0x37B8 | 18 00 | uint16_t | 0x0018 (24) | table field `offset` (UShort) + +0x37BA | 01 00 | uint16_t | 0x0001 (1) | table field `padding` (UShort) + +0x37BC | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x37E0 | offset to field `name` (string) + +0x37C0 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x37CC | offset to field `type` (table) + +0x37C4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x37C8 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3410 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x37C8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x3414 | 10 FE FF FF | SOffset32 | 0xFFFFFE10 (-496) Loc: +0x3604 | offset to vtable - +0x3418 | 00 00 00 | uint8_t[3] | ... | padding - +0x341B | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) - +0x341C | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) - +0x3420 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x3424 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x37CC | 10 FE FF FF | SOffset32 | 0xFFFFFE10 (-496) Loc: +0x39BC | offset to vtable + +0x37D0 | 00 00 00 | uint8_t[3] | ... | padding + +0x37D3 | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) + +0x37D4 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) + +0x37D8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x37DC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3428 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x342C | 74 65 73 74 32 | char[5] | test2 | string literal - +0x3431 | 00 | char | 0x00 (0) | string terminator + +0x37E0 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x37E4 | 74 65 73 74 32 | char[5] | test2 | string literal + +0x37E9 | 00 | char | 0x00 (0) | string terminator padding: - +0x3432 | 00 00 | uint8_t[2] | .. | padding + +0x37EA | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x3434 | 9E FF FF FF | SOffset32 | 0xFFFFFF9E (-98) Loc: +0x3496 | offset to vtable - +0x3438 | 03 00 | uint16_t | 0x0003 (3) | table field `id` (UShort) - +0x343A | 10 00 | uint16_t | 0x0010 (16) | table field `offset` (UShort) - +0x343C | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x345C | offset to field `name` (string) - +0x3440 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x344C | offset to field `type` (table) - +0x3444 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3448 | offset to field `documentation` (vector) + +0x37EC | 9E FF FF FF | SOffset32 | 0xFFFFFF9E (-98) Loc: +0x384E | offset to vtable + +0x37F0 | 03 00 | uint16_t | 0x0003 (3) | table field `id` (UShort) + +0x37F2 | 10 00 | uint16_t | 0x0010 (16) | table field `offset` (UShort) + +0x37F4 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3814 | offset to field `name` (string) + +0x37F8 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3804 | offset to field `type` (table) + +0x37FC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3800 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3448 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3800 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x344C | 68 FD FF FF | SOffset32 | 0xFFFFFD68 (-664) Loc: +0x36E4 | offset to vtable - +0x3450 | 00 00 00 | uint8_t[3] | ... | padding - +0x3453 | 0C | uint8_t | 0x0C (12) | table field `base_type` (Byte) - +0x3454 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) - +0x3458 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3804 | 68 FD FF FF | SOffset32 | 0xFFFFFD68 (-664) Loc: +0x3A9C | offset to vtable + +0x3808 | 00 00 00 | uint8_t[3] | ... | padding + +0x380B | 0C | uint8_t | 0x0C (12) | table field `base_type` (Byte) + +0x380C | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `base_size` (UInt) + +0x3810 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x345C | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x3460 | 74 65 73 74 31 | char[5] | test1 | string literal - +0x3465 | 00 | char | 0x00 (0) | string terminator + +0x3814 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x3818 | 74 65 73 74 31 | char[5] | test1 | string literal + +0x381D | 00 | char | 0x00 (0) | string terminator padding: - +0x3466 | 00 00 | uint8_t[2] | .. | padding + +0x381E | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x3468 | EA FD FF FF | SOffset32 | 0xFFFFFDEA (-534) Loc: +0x367E | offset to vtable - +0x346C | 00 00 | uint8_t[2] | .. | padding - +0x346E | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) - +0x3470 | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) - +0x3472 | 04 00 | uint16_t | 0x0004 (4) | table field `padding` (UShort) - +0x3474 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3490 | offset to field `name` (string) - +0x3478 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3484 | offset to field `type` (table) - +0x347C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3480 | offset to field `documentation` (vector) + +0x3820 | EA FD FF FF | SOffset32 | 0xFFFFFDEA (-534) Loc: +0x3A36 | offset to vtable + +0x3824 | 00 00 | uint8_t[2] | .. | padding + +0x3826 | 02 00 | uint16_t | 0x0002 (2) | table field `id` (UShort) + +0x3828 | 08 00 | uint16_t | 0x0008 (8) | table field `offset` (UShort) + +0x382A | 04 00 | uint16_t | 0x0004 (4) | table field `padding` (UShort) + +0x382C | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3848 | offset to field `name` (string) + +0x3830 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x383C | offset to field `type` (table) + +0x3834 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3838 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3480 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3838 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x3484 | E8 FA FF FF | SOffset32 | 0xFFFFFAE8 (-1304) Loc: +0x399C | offset to vtable - +0x3488 | 00 00 00 | uint8_t[3] | ... | padding - +0x348B | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) - +0x348C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x383C | E8 FA FF FF | SOffset32 | 0xFFFFFAE8 (-1304) Loc: +0x3D54 | offset to vtable + +0x3840 | 00 00 00 | uint8_t[3] | ... | padding + +0x3843 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x3844 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3490 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3494 | 7A | char[1] | z | string literal - +0x3495 | 00 | char | 0x00 (0) | string terminator + +0x3848 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x384C | 7A | char[1] | z | string literal + +0x384D | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x3496 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x3498 | 14 00 | uint16_t | 0x0014 (20) | size of referring table - +0x349A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x349C | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x349E | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) - +0x34A0 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x34A2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x34A4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x34A6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x34A8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x34AA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x34AC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x34AE | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) + +0x384E | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x3850 | 14 00 | uint16_t | 0x0014 (20) | size of referring table + +0x3852 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x3854 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x3856 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `id` (id: 2) + +0x3858 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x385A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x385C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x385E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3860 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3862 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x3864 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x3866 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x34B0 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x3496 | offset to vtable - +0x34B4 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) - +0x34B6 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x34B8 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x34D4 | offset to field `name` (string) - +0x34BC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x34C8 | offset to field `type` (table) - +0x34C0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x34C4 | offset to field `documentation` (vector) + +0x3868 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x384E | offset to vtable + +0x386C | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) + +0x386E | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x3870 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x388C | offset to field `name` (string) + +0x3874 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3880 | offset to field `type` (table) + +0x3878 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x387C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x34C4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x387C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x34C8 | 2C FB FF FF | SOffset32 | 0xFFFFFB2C (-1236) Loc: +0x399C | offset to vtable - +0x34CC | 00 00 00 | uint8_t[3] | ... | padding - +0x34CF | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) - +0x34D0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3880 | 2C FB FF FF | SOffset32 | 0xFFFFFB2C (-1236) Loc: +0x3D54 | offset to vtable + +0x3884 | 00 00 00 | uint8_t[3] | ... | padding + +0x3887 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x3888 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x34D4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x34D8 | 79 | char[1] | y | string literal - +0x34D9 | 00 | char | 0x00 (0) | string terminator + +0x388C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3890 | 79 | char[1] | y | string literal + +0x3891 | 00 | char | 0x00 (0) | string terminator padding: - +0x34DA | 00 00 | uint8_t[2] | .. | padding + +0x3892 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x34DC | 6E FB FF FF | SOffset32 | 0xFFFFFB6E (-1170) Loc: +0x396E | offset to vtable - +0x34E0 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x34FC | offset to field `name` (string) - +0x34E4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x34F0 | offset to field `type` (table) - +0x34E8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x34EC | offset to field `documentation` (vector) + +0x3894 | 6E FB FF FF | SOffset32 | 0xFFFFFB6E (-1170) Loc: +0x3D26 | offset to vtable + +0x3898 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x38B4 | offset to field `name` (string) + +0x389C | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x38A8 | offset to field `type` (table) + +0x38A0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x38A4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x34EC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x38A4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x34F0 | 54 FB FF FF | SOffset32 | 0xFFFFFB54 (-1196) Loc: +0x399C | offset to vtable - +0x34F4 | 00 00 00 | uint8_t[3] | ... | padding - +0x34F7 | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) - +0x34F8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x38A8 | 54 FB FF FF | SOffset32 | 0xFFFFFB54 (-1196) Loc: +0x3D54 | offset to vtable + +0x38AC | 00 00 00 | uint8_t[3] | ... | padding + +0x38AF | 0B | uint8_t | 0x0B (11) | table field `base_type` (Byte) + +0x38B0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x34FC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3500 | 78 | char[1] | x | string literal - +0x3501 | 00 | char | 0x00 (0) | string terminator + +0x38B4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x38B8 | 78 | char[1] | x | string literal + +0x38B9 | 00 | char | 0x00 (0) | string terminator padding: - +0x3502 | 00 00 | uint8_t[2] | .. | padding + +0x38BA | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Object): - +0x3504 | 14 00 | uint16_t | 0x0014 (20) | size of this vtable - +0x3506 | 1C 00 | uint16_t | 0x001C (28) | size of referring table - +0x3508 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `name` (id: 0) - +0x350A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `fields` (id: 1) - +0x350C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `is_struct` (id: 2) (Bool) - +0x350E | 0C 00 | VOffset16 | 0x000C (12) | offset to field `minalign` (id: 3) - +0x3510 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `bytesize` (id: 4) (Int) - +0x3512 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 5) - +0x3514 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 6) - +0x3516 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `declaration_file` (id: 7) + +0x38BC | 14 00 | uint16_t | 0x0014 (20) | size of this vtable + +0x38BE | 1C 00 | uint16_t | 0x001C (28) | size of referring table + +0x38C0 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `name` (id: 0) + +0x38C2 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `fields` (id: 1) + +0x38C4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `is_struct` (id: 2) (Bool) + +0x38C6 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `minalign` (id: 3) + +0x38C8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `bytesize` (id: 4) (Int) + +0x38CA | 10 00 | VOffset16 | 0x0010 (16) | offset to field `attributes` (id: 5) + +0x38CC | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 6) + +0x38CE | 18 00 | VOffset16 | 0x0018 (24) | offset to field `declaration_file` (id: 7) table (reflection.Object): - +0x3518 | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x3504 | offset to vtable - +0x351C | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x359C | offset to field `name` (string) - +0x3520 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x3594 | offset to field `fields` (vector) - +0x3524 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) - +0x3528 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3538 | offset to field `attributes` (vector) - +0x352C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3534 | offset to field `documentation` (vector) - +0x3530 | 30 02 00 00 | UOffset32 | 0x00000230 (560) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x38D0 | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x38BC | offset to vtable + +0x38D4 | 80 00 00 00 | UOffset32 | 0x00000080 (128) Loc: +0x3954 | offset to field `name` (string) + +0x38D8 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x394C | offset to field `fields` (vector) + +0x38DC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) + +0x38E0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x38F0 | offset to field `attributes` (vector) + +0x38E4 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x38EC | offset to field `documentation` (vector) + +0x38E8 | 30 02 00 00 | UOffset32 | 0x00000230 (560) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x3534 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x38EC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.attributes): - +0x3538 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x353C | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x356C | offset to table[0] - +0x3540 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3544 | offset to table[1] + +0x38F0 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x38F4 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x3924 | offset to table[0] + +0x38F8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x38FC | offset to table[1] table (reflection.KeyValue): - +0x3544 | E0 FF FF FF | SOffset32 | 0xFFFFFFE0 (-32) Loc: +0x3564 | offset to vtable - +0x3548 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3558 | offset to field `key` (string) - +0x354C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3550 | offset to field `value` (string) + +0x38FC | E0 FF FF FF | SOffset32 | 0xFFFFFFE0 (-32) Loc: +0x391C | offset to vtable + +0x3900 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3910 | offset to field `key` (string) + +0x3904 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3908 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x3550 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3554 | 30 | char[1] | 0 | string literal - +0x3555 | 00 | char | 0x00 (0) | string terminator + +0x3908 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x390C | 30 | char[1] | 0 | string literal + +0x390D | 00 | char | 0x00 (0) | string terminator padding: - +0x3556 | 00 00 | uint8_t[2] | .. | padding + +0x390E | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x3558 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string - +0x355C | 70 72 69 76 61 74 65 | char[7] | private | string literal - +0x3563 | 00 | char | 0x00 (0) | string terminator + +0x3910 | 07 00 00 00 | uint32_t | 0x00000007 (7) | length of string + +0x3914 | 70 72 69 76 61 74 65 | char[7] | private | string literal + +0x391B | 00 | char | 0x00 (0) | string terminator vtable (reflection.KeyValue): - +0x3564 | 08 00 | uint16_t | 0x0008 (8) | size of this vtable - +0x3566 | 0C 00 | uint16_t | 0x000C (12) | size of referring table - +0x3568 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `key` (id: 0) - +0x356A | 08 00 | VOffset16 | 0x0008 (8) | offset to field `value` (id: 1) + +0x391C | 08 00 | uint16_t | 0x0008 (8) | size of this vtable + +0x391E | 0C 00 | uint16_t | 0x000C (12) | size of referring table + +0x3920 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `key` (id: 0) + +0x3922 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `value` (id: 1) table (reflection.KeyValue): - +0x356C | 08 00 00 00 | SOffset32 | 0x00000008 (8) Loc: +0x3564 | offset to vtable - +0x3570 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3580 | offset to field `key` (string) - +0x3574 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3578 | offset to field `value` (string) + +0x3924 | 08 00 00 00 | SOffset32 | 0x00000008 (8) Loc: +0x391C | offset to vtable + +0x3928 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3938 | offset to field `key` (string) + +0x392C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3930 | offset to field `value` (string) string (reflection.KeyValue.value): - +0x3578 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x357C | 30 | char[1] | 0 | string literal - +0x357D | 00 | char | 0x00 (0) | string terminator + +0x3930 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3934 | 30 | char[1] | 0 | string literal + +0x3935 | 00 | char | 0x00 (0) | string terminator padding: - +0x357E | 00 00 | uint8_t[2] | .. | padding + +0x3936 | 00 00 | uint8_t[2] | .. | padding string (reflection.KeyValue.key): - +0x3580 | 0E 00 00 00 | uint32_t | 0x0000000E (14) | length of string - +0x3584 | 63 73 68 61 72 70 5F 70 | char[14] | csharp_p | string literal - +0x358C | 61 72 74 69 61 6C | | artial - +0x3592 | 00 | char | 0x00 (0) | string terminator + +0x3938 | 0E 00 00 00 | uint32_t | 0x0000000E (14) | length of string + +0x393C | 63 73 68 61 72 70 5F 70 | char[14] | csharp_p | string literal + +0x3944 | 61 72 74 69 61 6C | | artial + +0x394A | 00 | char | 0x00 (0) | string terminator vector (reflection.Object.fields): - +0x3594 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x3598 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x35E4 | offset to table[0] + +0x394C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3950 | 4C 00 00 00 | UOffset32 | 0x0000004C (76) Loc: +0x399C | offset to table[0] string (reflection.Object.name): - +0x359C | 26 00 00 00 | uint32_t | 0x00000026 (38) | length of string - +0x35A0 | 4D 79 47 61 6D 65 2E 45 | char[38] | MyGame.E | string literal - +0x35A8 | 78 61 6D 70 6C 65 2E 54 | | xample.T - +0x35B0 | 65 73 74 53 69 6D 70 6C | | estSimpl - +0x35B8 | 65 54 61 62 6C 65 57 69 | | eTableWi - +0x35C0 | 74 68 45 6E 75 6D | | thEnum - +0x35C6 | 00 | char | 0x00 (0) | string terminator + +0x3954 | 26 00 00 00 | uint32_t | 0x00000026 (38) | length of string + +0x3958 | 4D 79 47 61 6D 65 2E 45 | char[38] | MyGame.E | string literal + +0x3960 | 78 61 6D 70 6C 65 2E 54 | | xample.T + +0x3968 | 65 73 74 53 69 6D 70 6C | | estSimpl + +0x3970 | 65 54 61 62 6C 65 57 69 | | eTableWi + +0x3978 | 74 68 45 6E 75 6D | | thEnum + +0x397E | 00 | char | 0x00 (0) | string terminator padding: - +0x35C7 | 00 00 00 | uint8_t[3] | ... | padding + +0x397F | 00 00 00 | uint8_t[3] | ... | padding vtable (reflection.Field): - +0x35CA | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x35CC | 1C 00 | uint16_t | 0x001C (28) | size of referring table - +0x35CE | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x35D0 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x35D2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) - +0x35D4 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x35D6 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `default_integer` (id: 4) - +0x35D8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x35DA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x35DC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x35DE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x35E0 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x35E2 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) + +0x3982 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x3984 | 1C 00 | uint16_t | 0x001C (28) | size of referring table + +0x3986 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x3988 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x398A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) + +0x398C | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x398E | 14 00 | VOffset16 | 0x0014 (20) | offset to field `default_integer` (id: 4) + +0x3990 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3992 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3994 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3996 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x3998 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x399A | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x35E4 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x35CA | offset to vtable - +0x35E8 | 00 00 | uint8_t[2] | .. | padding - +0x35EA | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x35EC | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x3628 | offset to field `name` (string) - +0x35F0 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x3614 | offset to field `type` (table) - +0x35F4 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3600 | offset to field `documentation` (vector) - +0x35F8 | 02 00 00 00 00 00 00 00 | int64_t | 0x0000000000000002 (2) | table field `default_integer` (Long) + +0x399C | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x3982 | offset to vtable + +0x39A0 | 00 00 | uint8_t[2] | .. | padding + +0x39A2 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x39A4 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x39E0 | offset to field `name` (string) + +0x39A8 | 24 00 00 00 | UOffset32 | 0x00000024 (36) Loc: +0x39CC | offset to field `type` (table) + +0x39AC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x39B8 | offset to field `documentation` (vector) + +0x39B0 | 02 00 00 00 00 00 00 00 | int64_t | 0x0000000000000002 (2) | table field `default_integer` (Long) vector (reflection.Field.documentation): - +0x3600 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x39B8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vtable (reflection.Type): - +0x3604 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable - +0x3606 | 14 00 | uint16_t | 0x0014 (20) | size of referring table - +0x3608 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) - +0x360A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) - +0x360C | 08 00 | VOffset16 | 0x0008 (8) | offset to field `index` (id: 2) - +0x360E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) - +0x3610 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `base_size` (id: 4) - +0x3612 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `element_size` (id: 5) + +0x39BC | 10 00 | uint16_t | 0x0010 (16) | size of this vtable + +0x39BE | 14 00 | uint16_t | 0x0014 (20) | size of referring table + +0x39C0 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) + +0x39C2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) + +0x39C4 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `index` (id: 2) + +0x39C6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) + +0x39C8 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `base_size` (id: 4) + +0x39CA | 10 00 | VOffset16 | 0x0010 (16) | offset to field `element_size` (id: 5) table (reflection.Type): - +0x3614 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x3604 | offset to vtable - +0x3618 | 00 00 00 | uint8_t[3] | ... | padding - +0x361B | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) - +0x361C | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) - +0x3620 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x3624 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x39CC | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x39BC | offset to vtable + +0x39D0 | 00 00 00 | uint8_t[3] | ... | padding + +0x39D3 | 04 | uint8_t | 0x04 (4) | table field `base_type` (Byte) + +0x39D4 | 03 00 00 00 | uint32_t | 0x00000003 (3) | table field `index` (Int) + +0x39D8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x39DC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3628 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string - +0x362C | 63 6F 6C 6F 72 | char[5] | color | string literal - +0x3631 | 00 | char | 0x00 (0) | string terminator + +0x39E0 | 05 00 00 00 | uint32_t | 0x00000005 (5) | length of string + +0x39E4 | 63 6F 6C 6F 72 | char[5] | color | string literal + +0x39E9 | 00 | char | 0x00 (0) | string terminator padding: - +0x3632 | 00 00 | uint8_t[2] | .. | padding + +0x39EA | 00 00 | uint8_t[2] | .. | padding table (reflection.Object): - +0x3634 | 54 FD FF FF | SOffset32 | 0xFFFFFD54 (-684) Loc: +0x38E0 | offset to vtable - +0x3638 | 00 00 00 | uint8_t[3] | ... | padding - +0x363B | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) - +0x363C | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x3664 | offset to field `name` (string) - +0x3640 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x3658 | offset to field `fields` (vector) - +0x3644 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `minalign` (Int) - +0x3648 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `bytesize` (Int) - +0x364C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3654 | offset to field `documentation` (vector) - +0x3650 | 10 01 00 00 | UOffset32 | 0x00000110 (272) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x39EC | 54 FD FF FF | SOffset32 | 0xFFFFFD54 (-684) Loc: +0x3C98 | offset to vtable + +0x39F0 | 00 00 00 | uint8_t[3] | ... | padding + +0x39F3 | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) + +0x39F4 | 28 00 00 00 | UOffset32 | 0x00000028 (40) Loc: +0x3A1C | offset to field `name` (string) + +0x39F8 | 18 00 00 00 | UOffset32 | 0x00000018 (24) Loc: +0x3A10 | offset to field `fields` (vector) + +0x39FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `minalign` (Int) + +0x3A00 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `bytesize` (Int) + +0x3A04 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3A0C | offset to field `documentation` (vector) + +0x3A08 | 10 01 00 00 | UOffset32 | 0x00000110 (272) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x3654 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3A0C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x3658 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) - +0x365C | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x36D0 | offset to table[0] - +0x3660 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x369C | offset to table[1] + +0x3A10 | 02 00 00 00 | uint32_t | 0x00000002 (2) | length of vector (# items) + +0x3A14 | 74 00 00 00 | UOffset32 | 0x00000074 (116) Loc: +0x3A88 | offset to table[0] + +0x3A18 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x3A54 | offset to table[1] string (reflection.Object.name): - +0x3664 | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string - +0x3668 | 4D 79 47 61 6D 65 2E 45 | char[19] | MyGame.E | string literal - +0x3670 | 78 61 6D 70 6C 65 2E 54 | | xample.T - +0x3678 | 65 73 74 | | est - +0x367B | 00 | char | 0x00 (0) | string terminator + +0x3A1C | 13 00 00 00 | uint32_t | 0x00000013 (19) | length of string + +0x3A20 | 4D 79 47 61 6D 65 2E 45 | char[19] | MyGame.E | string literal + +0x3A28 | 78 61 6D 70 6C 65 2E 54 | | xample.T + +0x3A30 | 65 73 74 | | est + +0x3A33 | 00 | char | 0x00 (0) | string terminator padding: - +0x367C | 00 00 | uint8_t[2] | .. | padding + +0x3A34 | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Field): - +0x367E | 1E 00 | uint16_t | 0x001E (30) | size of this vtable - +0x3680 | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x3682 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) - +0x3684 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) - +0x3686 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `id` (id: 2) - +0x3688 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `offset` (id: 3) - +0x368A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x368C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x368E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x3690 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x3692 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x3694 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x3696 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) - +0x3698 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `optional` (id: 11) (Bool) - +0x369A | 0A 00 | VOffset16 | 0x000A (10) | offset to field `padding` (id: 12) + +0x3A36 | 1E 00 | uint16_t | 0x001E (30) | size of this vtable + +0x3A38 | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x3A3A | 0C 00 | VOffset16 | 0x000C (12) | offset to field `name` (id: 0) + +0x3A3C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `type` (id: 1) + +0x3A3E | 06 00 | VOffset16 | 0x0006 (6) | offset to field `id` (id: 2) + +0x3A40 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `offset` (id: 3) + +0x3A42 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3A44 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3A46 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3A48 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3A4A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x3A4C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x3A4E | 14 00 | VOffset16 | 0x0014 (20) | offset to field `documentation` (id: 10) + +0x3A50 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `optional` (id: 11) (Bool) + +0x3A52 | 0A 00 | VOffset16 | 0x000A (10) | offset to field `padding` (id: 12) table (reflection.Field): - +0x369C | 1E 00 00 00 | SOffset32 | 0x0000001E (30) Loc: +0x367E | offset to vtable - +0x36A0 | 00 00 | uint8_t[2] | .. | padding - +0x36A2 | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) - +0x36A4 | 02 00 | uint16_t | 0x0002 (2) | table field `offset` (UShort) - +0x36A6 | 01 00 | uint16_t | 0x0001 (1) | table field `padding` (UShort) - +0x36A8 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x36C8 | offset to field `name` (string) - +0x36AC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x36B8 | offset to field `type` (table) - +0x36B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x36B4 | offset to field `documentation` (vector) + +0x3A54 | 1E 00 00 00 | SOffset32 | 0x0000001E (30) Loc: +0x3A36 | offset to vtable + +0x3A58 | 00 00 | uint8_t[2] | .. | padding + +0x3A5A | 01 00 | uint16_t | 0x0001 (1) | table field `id` (UShort) + +0x3A5C | 02 00 | uint16_t | 0x0002 (2) | table field `offset` (UShort) + +0x3A5E | 01 00 | uint16_t | 0x0001 (1) | table field `padding` (UShort) + +0x3A60 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3A80 | offset to field `name` (string) + +0x3A64 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3A70 | offset to field `type` (table) + +0x3A68 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3A6C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x36B4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3A6C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x36B8 | D4 FF FF FF | SOffset32 | 0xFFFFFFD4 (-44) Loc: +0x36E4 | offset to vtable - +0x36BC | 00 00 00 | uint8_t[3] | ... | padding - +0x36BF | 03 | uint8_t | 0x03 (3) | table field `base_type` (Byte) - +0x36C0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) - +0x36C4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3A70 | D4 FF FF FF | SOffset32 | 0xFFFFFFD4 (-44) Loc: +0x3A9C | offset to vtable + +0x3A74 | 00 00 00 | uint8_t[3] | ... | padding + +0x3A77 | 03 | uint8_t | 0x03 (3) | table field `base_type` (Byte) + +0x3A78 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `base_size` (UInt) + +0x3A7C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x36C8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x36CC | 62 | char[1] | b | string literal - +0x36CD | 00 | char | 0x00 (0) | string terminator + +0x3A80 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3A84 | 62 | char[1] | b | string literal + +0x3A85 | 00 | char | 0x00 (0) | string terminator padding: - +0x36CE | 00 00 | uint8_t[2] | .. | padding + +0x3A86 | 00 00 | uint8_t[2] | .. | padding table (reflection.Field): - +0x36D0 | 62 FD FF FF | SOffset32 | 0xFFFFFD62 (-670) Loc: +0x396E | offset to vtable - +0x36D4 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x3704 | offset to field `name` (string) - +0x36D8 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x36F4 | offset to field `type` (table) - +0x36DC | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x36E0 | offset to field `documentation` (vector) + +0x3A88 | 62 FD FF FF | SOffset32 | 0xFFFFFD62 (-670) Loc: +0x3D26 | offset to vtable + +0x3A8C | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x3ABC | offset to field `name` (string) + +0x3A90 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3AAC | offset to field `type` (table) + +0x3A94 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3A98 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x36E0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3A98 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vtable (reflection.Type): - +0x36E4 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable - +0x36E6 | 10 00 | uint16_t | 0x0010 (16) | size of referring table - +0x36E8 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) - +0x36EA | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) - +0x36EC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `index` (id: 2) (Int) - +0x36EE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) - +0x36F0 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `base_size` (id: 4) - +0x36F2 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `element_size` (id: 5) + +0x3A9C | 10 00 | uint16_t | 0x0010 (16) | size of this vtable + +0x3A9E | 10 00 | uint16_t | 0x0010 (16) | size of referring table + +0x3AA0 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) + +0x3AA2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) + +0x3AA4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `index` (id: 2) (Int) + +0x3AA6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) + +0x3AA8 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `base_size` (id: 4) + +0x3AAA | 0C 00 | VOffset16 | 0x000C (12) | offset to field `element_size` (id: 5) table (reflection.Type): - +0x36F4 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x36E4 | offset to vtable - +0x36F8 | 00 00 00 | uint8_t[3] | ... | padding - +0x36FB | 05 | uint8_t | 0x05 (5) | table field `base_type` (Byte) - +0x36FC | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) - +0x3700 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3AAC | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x3A9C | offset to vtable + +0x3AB0 | 00 00 00 | uint8_t[3] | ... | padding + +0x3AB3 | 05 | uint8_t | 0x05 (5) | table field `base_type` (Byte) + +0x3AB4 | 02 00 00 00 | uint32_t | 0x00000002 (2) | table field `base_size` (UInt) + +0x3AB8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3704 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3708 | 61 | char[1] | a | string literal - +0x3709 | 00 | char | 0x00 (0) | string terminator + +0x3ABC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3AC0 | 61 | char[1] | a | string literal + +0x3AC1 | 00 | char | 0x00 (0) | string terminator padding: - +0x370A | 00 00 | uint8_t[2] | .. | padding + +0x3AC2 | 00 00 | uint8_t[2] | .. | padding table (reflection.Object): - +0x370C | E4 FE FF FF | SOffset32 | 0xFFFFFEE4 (-284) Loc: +0x3828 | offset to vtable - +0x3710 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x372C | offset to field `name` (string) - +0x3714 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x3728 | offset to field `fields` (vector) - +0x3718 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) - +0x371C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3724 | offset to field `documentation` (vector) - +0x3720 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x3AC4 | E4 FE FF FF | SOffset32 | 0xFFFFFEE4 (-284) Loc: +0x3BE0 | offset to vtable + +0x3AC8 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3AE4 | offset to field `name` (string) + +0x3ACC | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x3AE0 | offset to field `fields` (vector) + +0x3AD0 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) + +0x3AD4 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3ADC | offset to field `documentation` (vector) + +0x3AD8 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x3B18 | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x3724 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3ADC | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x3728 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3AE0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) string (reflection.Object.name): - +0x372C | 17 00 00 00 | uint32_t | 0x00000017 (23) | length of string - +0x3730 | 4D 79 47 61 6D 65 2E 45 | char[23] | MyGame.E | string literal - +0x3738 | 78 61 6D 70 6C 65 32 2E | | xample2. - +0x3740 | 4D 6F 6E 73 74 65 72 | | Monster - +0x3747 | 00 | char | 0x00 (0) | string terminator + +0x3AE4 | 17 00 00 00 | uint32_t | 0x00000017 (23) | length of string + +0x3AE8 | 4D 79 47 61 6D 65 2E 45 | char[23] | MyGame.E | string literal + +0x3AF0 | 78 61 6D 70 6C 65 32 2E | | xample2. + +0x3AF8 | 4D 6F 6E 73 74 65 72 | | Monster + +0x3AFF | 00 | char | 0x00 (0) | string terminator table (reflection.Object): - +0x3748 | 20 FF FF FF | SOffset32 | 0xFFFFFF20 (-224) Loc: +0x3828 | offset to vtable - +0x374C | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x3780 | offset to field `name` (string) - +0x3750 | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x377C | offset to field `fields` (vector) - +0x3754 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) - +0x3758 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3778 | offset to field `documentation` (vector) - +0x375C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3760 | offset to field `declaration_file` (string) + +0x3B00 | 20 FF FF FF | SOffset32 | 0xFFFFFF20 (-224) Loc: +0x3BE0 | offset to vtable + +0x3B04 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x3B38 | offset to field `name` (string) + +0x3B08 | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x3B34 | offset to field `fields` (vector) + +0x3B0C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) + +0x3B10 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3B30 | offset to field `documentation` (vector) + +0x3B14 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3B18 | offset to field `declaration_file` (string) string (reflection.Object.declaration_file): - +0x3760 | 12 00 00 00 | uint32_t | 0x00000012 (18) | length of string - +0x3764 | 2F 2F 6D 6F 6E 73 74 65 | char[18] | //monste | string literal - +0x376C | 72 5F 74 65 73 74 2E 66 | | r_test.f - +0x3774 | 62 73 | | bs - +0x3776 | 00 | char | 0x00 (0) | string terminator + +0x3B18 | 12 00 00 00 | uint32_t | 0x00000012 (18) | length of string + +0x3B1C | 2F 2F 6D 6F 6E 73 74 65 | char[18] | //monste | string literal + +0x3B24 | 72 5F 74 65 73 74 2E 66 | | r_test.f + +0x3B2C | 62 73 | | bs + +0x3B2E | 00 | char | 0x00 (0) | string terminator vector (reflection.Object.documentation): - +0x3778 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3B30 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x377C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3B34 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) string (reflection.Object.name): - +0x3780 | 18 00 00 00 | uint32_t | 0x00000018 (24) | length of string - +0x3784 | 4D 79 47 61 6D 65 2E 49 | char[24] | MyGame.I | string literal - +0x378C | 6E 50 61 72 65 6E 74 4E | | nParentN - +0x3794 | 61 6D 65 73 70 61 63 65 | | amespace - +0x379C | 00 | char | 0x00 (0) | string terminator + +0x3B38 | 18 00 00 00 | uint32_t | 0x00000018 (24) | length of string + +0x3B3C | 4D 79 47 61 6D 65 2E 49 | char[24] | MyGame.I | string literal + +0x3B44 | 6E 50 61 72 65 6E 74 4E | | nParentN + +0x3B4C | 61 6D 65 73 70 61 63 65 | | amespace + +0x3B54 | 00 | char | 0x00 (0) | string terminator padding: - +0x379D | 00 00 00 | uint8_t[3] | ... | padding + +0x3B55 | 00 00 00 | uint8_t[3] | ... | padding table (reflection.Object): - +0x37A0 | 78 FF FF FF | SOffset32 | 0xFFFFFF78 (-136) Loc: +0x3828 | offset to vtable - +0x37A4 | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x37EC | offset to field `name` (string) - +0x37A8 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x37E4 | offset to field `fields` (vector) - +0x37AC | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) - +0x37B0 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x37E0 | offset to field `documentation` (vector) - +0x37B4 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x37B8 | offset to field `declaration_file` (string) + +0x3B58 | 78 FF FF FF | SOffset32 | 0xFFFFFF78 (-136) Loc: +0x3BE0 | offset to vtable + +0x3B5C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: +0x3BA4 | offset to field `name` (string) + +0x3B60 | 3C 00 00 00 | UOffset32 | 0x0000003C (60) Loc: +0x3B9C | offset to field `fields` (vector) + +0x3B64 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) + +0x3B68 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x3B98 | offset to field `documentation` (vector) + +0x3B6C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3B70 | offset to field `declaration_file` (string) string (reflection.Object.declaration_file): - +0x37B8 | 20 00 00 00 | uint32_t | 0x00000020 (32) | length of string - +0x37BC | 2F 2F 69 6E 63 6C 75 64 | char[32] | //includ | string literal - +0x37C4 | 65 5F 74 65 73 74 2F 69 | | e_test/i - +0x37CC | 6E 63 6C 75 64 65 5F 74 | | nclude_t - +0x37D4 | 65 73 74 31 2E 66 62 73 | | est1.fbs - +0x37DC | 00 | char | 0x00 (0) | string terminator + +0x3B70 | 20 00 00 00 | uint32_t | 0x00000020 (32) | length of string + +0x3B74 | 2F 2F 69 6E 63 6C 75 64 | char[32] | //includ | string literal + +0x3B7C | 65 5F 74 65 73 74 2F 69 | | e_test/i + +0x3B84 | 6E 63 6C 75 64 65 5F 74 | | nclude_t + +0x3B8C | 65 73 74 31 2E 66 62 73 | | est1.fbs + +0x3B94 | 00 | char | 0x00 (0) | string terminator padding: - +0x37DD | 00 00 00 | uint8_t[3] | ... | padding + +0x3B95 | 00 00 00 | uint8_t[3] | ... | padding vector (reflection.Object.documentation): - +0x37E0 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3B98 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x37E4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x37E8 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x37F8 | offset to table[0] + +0x3B9C | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3BA0 | 10 00 00 00 | UOffset32 | 0x00000010 (16) Loc: +0x3BB0 | offset to table[0] string (reflection.Object.name): - +0x37EC | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string - +0x37F0 | 54 61 62 6C 65 41 | char[6] | TableA | string literal - +0x37F6 | 00 | char | 0x00 (0) | string terminator + +0x3BA4 | 06 00 00 00 | uint32_t | 0x00000006 (6) | length of string + +0x3BA8 | 54 61 62 6C 65 41 | char[6] | TableA | string literal + +0x3BAE | 00 | char | 0x00 (0) | string terminator table (reflection.Field): - +0x37F8 | 74 FF FF FF | SOffset32 | 0xFFFFFF74 (-140) Loc: +0x3884 | offset to vtable - +0x37FC | 00 | uint8_t[1] | . | padding - +0x37FD | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x37FE | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x3800 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3820 | offset to field `name` (string) - +0x3804 | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3810 | offset to field `type` (table) - +0x3808 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x380C | offset to field `documentation` (vector) + +0x3BB0 | 74 FF FF FF | SOffset32 | 0xFFFFFF74 (-140) Loc: +0x3C3C | offset to vtable + +0x3BB4 | 00 | uint8_t[1] | . | padding + +0x3BB5 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x3BB6 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x3BB8 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3BD8 | offset to field `name` (string) + +0x3BBC | 0C 00 00 00 | UOffset32 | 0x0000000C (12) Loc: +0x3BC8 | offset to field `type` (table) + +0x3BC0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3BC4 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x380C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3BC4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) table (reflection.Type): - +0x3810 | 58 FF FF FF | SOffset32 | 0xFFFFFF58 (-168) Loc: +0x38B8 | offset to vtable - +0x3814 | 00 00 00 | uint8_t[3] | ... | padding - +0x3817 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x3818 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | table field `index` (Int) - +0x381C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3BC8 | 58 FF FF FF | SOffset32 | 0xFFFFFF58 (-168) Loc: +0x3C70 | offset to vtable + +0x3BCC | 00 00 00 | uint8_t[3] | ... | padding + +0x3BCF | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x3BD0 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | table field `index` (Int) + +0x3BD4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x3820 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x3824 | 62 | char[1] | b | string literal - +0x3825 | 00 | char | 0x00 (0) | string terminator + +0x3BD8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3BDC | 62 | char[1] | b | string literal + +0x3BDD | 00 | char | 0x00 (0) | string terminator padding: - +0x3826 | 00 00 | uint8_t[2] | .. | padding + +0x3BDE | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Object): - +0x3828 | 14 00 | uint16_t | 0x0014 (20) | size of this vtable - +0x382A | 18 00 | uint16_t | 0x0018 (24) | size of referring table - +0x382C | 04 00 | VOffset16 | 0x0004 (4) | offset to field `name` (id: 0) - +0x382E | 08 00 | VOffset16 | 0x0008 (8) | offset to field `fields` (id: 1) - +0x3830 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `is_struct` (id: 2) (Bool) - +0x3832 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `minalign` (id: 3) - +0x3834 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `bytesize` (id: 4) (Int) - +0x3836 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 5) (Vector) - +0x3838 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 6) - +0x383A | 14 00 | VOffset16 | 0x0014 (20) | offset to field `declaration_file` (id: 7) + +0x3BE0 | 14 00 | uint16_t | 0x0014 (20) | size of this vtable + +0x3BE2 | 18 00 | uint16_t | 0x0018 (24) | size of referring table + +0x3BE4 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `name` (id: 0) + +0x3BE6 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `fields` (id: 1) + +0x3BE8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `is_struct` (id: 2) (Bool) + +0x3BEA | 0C 00 | VOffset16 | 0x000C (12) | offset to field `minalign` (id: 3) + +0x3BEC | 00 00 | VOffset16 | 0x0000 (0) | offset to field `bytesize` (id: 4) (Int) + +0x3BEE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 5) (Vector) + +0x3BF0 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 6) + +0x3BF2 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `declaration_file` (id: 7) table (reflection.Object): - +0x383C | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x3828 | offset to vtable - +0x3840 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3860 | offset to field `name` (string) - +0x3844 | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x3858 | offset to field `fields` (vector) - +0x3848 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) - +0x384C | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3854 | offset to field `documentation` (vector) - +0x3850 | C4 00 00 00 | UOffset32 | 0x000000C4 (196) Loc: +0x3914 | offset to field `declaration_file` (string) + +0x3BF4 | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x3BE0 | offset to vtable + +0x3BF8 | 20 00 00 00 | UOffset32 | 0x00000020 (32) Loc: +0x3C18 | offset to field `name` (string) + +0x3BFC | 14 00 00 00 | UOffset32 | 0x00000014 (20) Loc: +0x3C10 | offset to field `fields` (vector) + +0x3C00 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `minalign` (Int) + +0x3C04 | 08 00 00 00 | UOffset32 | 0x00000008 (8) Loc: +0x3C0C | offset to field `documentation` (vector) + +0x3C08 | C4 00 00 00 | UOffset32 | 0x000000C4 (196) Loc: +0x3CCC | offset to field `declaration_file` (string) vector (reflection.Object.documentation): - +0x3854 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3C0C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x3858 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x385C | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x38A0 | offset to table[0] + +0x3C10 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3C14 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x3C58 | offset to table[0] string (reflection.Object.name): - +0x3860 | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string - +0x3864 | 4D 79 47 61 6D 65 2E 4F | char[28] | MyGame.O | string literal - +0x386C | 74 68 65 72 4E 61 6D 65 | | therName - +0x3874 | 53 70 61 63 65 2E 54 61 | | Space.Ta - +0x387C | 62 6C 65 42 | | bleB - +0x3880 | 00 | char | 0x00 (0) | string terminator + +0x3C18 | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string + +0x3C1C | 4D 79 47 61 6D 65 2E 4F | char[28] | MyGame.O | string literal + +0x3C24 | 74 68 65 72 4E 61 6D 65 | | therName + +0x3C2C | 53 70 61 63 65 2E 54 61 | | Space.Ta + +0x3C34 | 62 6C 65 42 | | bleB + +0x3C38 | 00 | char | 0x00 (0) | string terminator padding: - +0x3881 | 00 00 00 | uint8_t[3] | ... | padding + +0x3C39 | 00 00 00 | uint8_t[3] | ... | padding vtable (reflection.Field): - +0x3884 | 1C 00 | uint16_t | 0x001C (28) | size of this vtable - +0x3886 | 14 00 | uint16_t | 0x0014 (20) | size of referring table - +0x3888 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x388A | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) - +0x388C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) - +0x388E | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) - +0x3890 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x3892 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x3894 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x3896 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x3898 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x389A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x389C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) - +0x389E | 05 00 | VOffset16 | 0x0005 (5) | offset to field `optional` (id: 11) + +0x3C3C | 1C 00 | uint16_t | 0x001C (28) | size of this vtable + +0x3C3E | 14 00 | uint16_t | 0x0014 (20) | size of referring table + +0x3C40 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x3C42 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `type` (id: 1) + +0x3C44 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) + +0x3C46 | 06 00 | VOffset16 | 0x0006 (6) | offset to field `offset` (id: 3) + +0x3C48 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3C4A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3C4C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3C4E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3C50 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x3C52 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x3C54 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `documentation` (id: 10) + +0x3C56 | 05 00 | VOffset16 | 0x0005 (5) | offset to field `optional` (id: 11) table (reflection.Field): - +0x38A0 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x3884 | offset to vtable - +0x38A4 | 00 | uint8_t[1] | . | padding - +0x38A5 | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) - +0x38A6 | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) - +0x38A8 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x38D8 | offset to field `name` (string) - +0x38AC | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x38C8 | offset to field `type` (table) - +0x38B0 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x38B4 | offset to field `documentation` (vector) + +0x3C58 | 1C 00 00 00 | SOffset32 | 0x0000001C (28) Loc: +0x3C3C | offset to vtable + +0x3C5C | 00 | uint8_t[1] | . | padding + +0x3C5D | 01 | uint8_t | 0x01 (1) | table field `optional` (Bool) + +0x3C5E | 04 00 | uint16_t | 0x0004 (4) | table field `offset` (UShort) + +0x3C60 | 30 00 00 00 | UOffset32 | 0x00000030 (48) Loc: +0x3C90 | offset to field `name` (string) + +0x3C64 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3C80 | offset to field `type` (table) + +0x3C68 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3C6C | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x38B4 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3C6C | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vtable (reflection.Type): - +0x38B8 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable - +0x38BA | 10 00 | uint16_t | 0x0010 (16) | size of referring table - +0x38BC | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) - +0x38BE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) - +0x38C0 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `index` (id: 2) - +0x38C2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) - +0x38C4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) - +0x38C6 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `element_size` (id: 5) + +0x3C70 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable + +0x3C72 | 10 00 | uint16_t | 0x0010 (16) | size of referring table + +0x3C74 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) + +0x3C76 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) + +0x3C78 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `index` (id: 2) + +0x3C7A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) + +0x3C7C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) + +0x3C7E | 0C 00 | VOffset16 | 0x000C (12) | offset to field `element_size` (id: 5) table (reflection.Type): - +0x38C8 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x38B8 | offset to vtable - +0x38CC | 00 00 00 | uint8_t[3] | ... | padding - +0x38CF | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) - +0x38D0 | 0E 00 00 00 | uint32_t | 0x0000000E (14) | table field `index` (Int) - +0x38D4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3C80 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x3C70 | offset to vtable + +0x3C84 | 00 00 00 | uint8_t[3] | ... | padding + +0x3C87 | 0F | uint8_t | 0x0F (15) | table field `base_type` (Byte) + +0x3C88 | 0E 00 00 00 | uint32_t | 0x0000000E (14) | table field `index` (Int) + +0x3C8C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x38D8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x38DC | 61 | char[1] | a | string literal - +0x38DD | 00 | char | 0x00 (0) | string terminator + +0x3C90 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3C94 | 61 | char[1] | a | string literal + +0x3C95 | 00 | char | 0x00 (0) | string terminator padding: - +0x38DE | 00 00 | uint8_t[2] | .. | padding + +0x3C96 | 00 00 | uint8_t[2] | .. | padding vtable (reflection.Object): - +0x38E0 | 14 00 | uint16_t | 0x0014 (20) | size of this vtable - +0x38E2 | 20 00 | uint16_t | 0x0020 (32) | size of referring table - +0x38E4 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) - +0x38E6 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `fields` (id: 1) - +0x38E8 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `is_struct` (id: 2) - +0x38EA | 10 00 | VOffset16 | 0x0010 (16) | offset to field `minalign` (id: 3) - +0x38EC | 14 00 | VOffset16 | 0x0014 (20) | offset to field `bytesize` (id: 4) - +0x38EE | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 5) (Vector) - +0x38F0 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 6) - +0x38F2 | 1C 00 | VOffset16 | 0x001C (28) | offset to field `declaration_file` (id: 7) + +0x3C98 | 14 00 | uint16_t | 0x0014 (20) | size of this vtable + +0x3C9A | 20 00 | uint16_t | 0x0020 (32) | size of referring table + +0x3C9C | 08 00 | VOffset16 | 0x0008 (8) | offset to field `name` (id: 0) + +0x3C9E | 0C 00 | VOffset16 | 0x000C (12) | offset to field `fields` (id: 1) + +0x3CA0 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `is_struct` (id: 2) + +0x3CA2 | 10 00 | VOffset16 | 0x0010 (16) | offset to field `minalign` (id: 3) + +0x3CA4 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `bytesize` (id: 4) + +0x3CA6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 5) (Vector) + +0x3CA8 | 18 00 | VOffset16 | 0x0018 (24) | offset to field `documentation` (id: 6) + +0x3CAA | 1C 00 | VOffset16 | 0x001C (28) | offset to field `declaration_file` (id: 7) table (reflection.Object): - +0x38F4 | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x38E0 | offset to vtable - +0x38F8 | 00 00 00 | uint8_t[3] | ... | padding - +0x38FB | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) - +0x38FC | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x394C | offset to field `name` (string) - +0x3900 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x3944 | offset to field `fields` (vector) - +0x3904 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) - +0x3908 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `bytesize` (Int) - +0x390C | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x3940 | offset to field `documentation` (vector) - +0x3910 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3914 | offset to field `declaration_file` (string) + +0x3CAC | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: +0x3C98 | offset to vtable + +0x3CB0 | 00 00 00 | uint8_t[3] | ... | padding + +0x3CB3 | 01 | uint8_t | 0x01 (1) | table field `is_struct` (Bool) + +0x3CB4 | 50 00 00 00 | UOffset32 | 0x00000050 (80) Loc: +0x3D04 | offset to field `name` (string) + +0x3CB8 | 44 00 00 00 | UOffset32 | 0x00000044 (68) Loc: +0x3CFC | offset to field `fields` (vector) + +0x3CBC | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `minalign` (Int) + +0x3CC0 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `bytesize` (Int) + +0x3CC4 | 34 00 00 00 | UOffset32 | 0x00000034 (52) Loc: +0x3CF8 | offset to field `documentation` (vector) + +0x3CC8 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3CCC | offset to field `declaration_file` (string) string (reflection.Object.declaration_file): - +0x3914 | 24 00 00 00 | uint32_t | 0x00000024 (36) | length of string - +0x3918 | 2F 2F 69 6E 63 6C 75 64 | char[36] | //includ | string literal - +0x3920 | 65 5F 74 65 73 74 2F 73 | | e_test/s - +0x3928 | 75 62 2F 69 6E 63 6C 75 | | ub/inclu - +0x3930 | 64 65 5F 74 65 73 74 32 | | de_test2 - +0x3938 | 2E 66 62 73 | | .fbs - +0x393C | 00 | char | 0x00 (0) | string terminator + +0x3CCC | 24 00 00 00 | uint32_t | 0x00000024 (36) | length of string + +0x3CD0 | 2F 2F 69 6E 63 6C 75 64 | char[36] | //includ | string literal + +0x3CD8 | 65 5F 74 65 73 74 2F 73 | | e_test/s + +0x3CE0 | 75 62 2F 69 6E 63 6C 75 | | ub/inclu + +0x3CE8 | 64 65 5F 74 65 73 74 32 | | de_test2 + +0x3CF0 | 2E 66 62 73 | | .fbs + +0x3CF4 | 00 | char | 0x00 (0) | string terminator padding: - +0x393D | 00 00 00 | uint8_t[3] | ... | padding + +0x3CF5 | 00 00 00 | uint8_t[3] | ... | padding vector (reflection.Object.documentation): - +0x3940 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3CF8 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vector (reflection.Object.fields): - +0x3944 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) - +0x3948 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x3988 | offset to table[0] + +0x3CFC | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of vector (# items) + +0x3D00 | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: +0x3D40 | offset to table[0] string (reflection.Object.name): - +0x394C | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string - +0x3950 | 4D 79 47 61 6D 65 2E 4F | char[28] | MyGame.O | string literal - +0x3958 | 74 68 65 72 4E 61 6D 65 | | therName - +0x3960 | 53 70 61 63 65 2E 55 6E | | Space.Un - +0x3968 | 75 73 65 64 | | used - +0x396C | 00 | char | 0x00 (0) | string terminator + +0x3D04 | 1C 00 00 00 | uint32_t | 0x0000001C (28) | length of string + +0x3D08 | 4D 79 47 61 6D 65 2E 4F | char[28] | MyGame.O | string literal + +0x3D10 | 74 68 65 72 4E 61 6D 65 | | therName + +0x3D18 | 53 70 61 63 65 2E 55 6E | | Space.Un + +0x3D20 | 75 73 65 64 | | used + +0x3D24 | 00 | char | 0x00 (0) | string terminator vtable (reflection.Field): - +0x396E | 1A 00 | uint16_t | 0x001A (26) | size of this vtable - +0x3970 | 10 00 | uint16_t | 0x0010 (16) | size of referring table - +0x3972 | 04 00 | VOffset16 | 0x0004 (4) | offset to field `name` (id: 0) - +0x3974 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `type` (id: 1) - +0x3976 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) - +0x3978 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `offset` (id: 3) (UShort) - +0x397A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) - +0x397C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) - +0x397E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) - +0x3980 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) - +0x3982 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) - +0x3984 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) - +0x3986 | 0C 00 | VOffset16 | 0x000C (12) | offset to field `documentation` (id: 10) + +0x3D26 | 1A 00 | uint16_t | 0x001A (26) | size of this vtable + +0x3D28 | 10 00 | uint16_t | 0x0010 (16) | size of referring table + +0x3D2A | 04 00 | VOffset16 | 0x0004 (4) | offset to field `name` (id: 0) + +0x3D2C | 08 00 | VOffset16 | 0x0008 (8) | offset to field `type` (id: 1) + +0x3D2E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `id` (id: 2) (UShort) + +0x3D30 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `offset` (id: 3) (UShort) + +0x3D32 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_integer` (id: 4) (Long) + +0x3D34 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `default_real` (id: 5) (Double) + +0x3D36 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `deprecated` (id: 6) (Bool) + +0x3D38 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `required` (id: 7) (Bool) + +0x3D3A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `key` (id: 8) (Bool) + +0x3D3C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `attributes` (id: 9) (Vector) + +0x3D3E | 0C 00 | VOffset16 | 0x000C (12) | offset to field `documentation` (id: 10) table (reflection.Field): - +0x3988 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x396E | offset to vtable - +0x398C | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x39B8 | offset to field `name` (string) - +0x3990 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x39AC | offset to field `type` (table) - +0x3994 | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3998 | offset to field `documentation` (vector) + +0x3D40 | 1A 00 00 00 | SOffset32 | 0x0000001A (26) Loc: +0x3D26 | offset to vtable + +0x3D44 | 2C 00 00 00 | UOffset32 | 0x0000002C (44) Loc: +0x3D70 | offset to field `name` (string) + +0x3D48 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: +0x3D64 | offset to field `type` (table) + +0x3D4C | 04 00 00 00 | UOffset32 | 0x00000004 (4) Loc: +0x3D50 | offset to field `documentation` (vector) vector (reflection.Field.documentation): - +0x3998 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) + +0x3D50 | 00 00 00 00 | uint32_t | 0x00000000 (0) | length of vector (# items) vtable (reflection.Type): - +0x399C | 10 00 | uint16_t | 0x0010 (16) | size of this vtable - +0x399E | 0C 00 | uint16_t | 0x000C (12) | size of referring table - +0x39A0 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) - +0x39A2 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) - +0x39A4 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `index` (id: 2) (Int) - +0x39A6 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) - +0x39A8 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) - +0x39AA | 08 00 | VOffset16 | 0x0008 (8) | offset to field `element_size` (id: 5) + +0x3D54 | 10 00 | uint16_t | 0x0010 (16) | size of this vtable + +0x3D56 | 0C 00 | uint16_t | 0x000C (12) | size of referring table + +0x3D58 | 07 00 | VOffset16 | 0x0007 (7) | offset to field `base_type` (id: 0) + +0x3D5A | 00 00 | VOffset16 | 0x0000 (0) | offset to field `element` (id: 1) (Byte) + +0x3D5C | 00 00 | VOffset16 | 0x0000 (0) | offset to field `index` (id: 2) (Int) + +0x3D5E | 00 00 | VOffset16 | 0x0000 (0) | offset to field `fixed_length` (id: 3) (UShort) + +0x3D60 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `base_size` (id: 4) (UInt) + +0x3D62 | 08 00 | VOffset16 | 0x0008 (8) | offset to field `element_size` (id: 5) table (reflection.Type): - +0x39AC | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x399C | offset to vtable - +0x39B0 | 00 00 00 | uint8_t[3] | ... | padding - +0x39B3 | 07 | uint8_t | 0x07 (7) | table field `base_type` (Byte) - +0x39B4 | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) + +0x3D64 | 10 00 00 00 | SOffset32 | 0x00000010 (16) Loc: +0x3D54 | offset to vtable + +0x3D68 | 00 00 00 | uint8_t[3] | ... | padding + +0x3D6B | 07 | uint8_t | 0x07 (7) | table field `base_type` (Byte) + +0x3D6C | 01 00 00 00 | uint32_t | 0x00000001 (1) | table field `element_size` (UInt) string (reflection.Field.name): - +0x39B8 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string - +0x39BC | 61 | char[1] | a | string literal - +0x39BD | 00 | char | 0x00 (0) | string terminator + +0x3D70 | 01 00 00 00 | uint32_t | 0x00000001 (1) | length of string + +0x3D74 | 61 | char[1] | a | string literal + +0x3D75 | 00 | char | 0x00 (0) | string terminator padding: - +0x39BE | 00 00 | uint8_t[2] | .. | padding + +0x3D76 | 00 00 | uint8_t[2] | .. | padding diff --git a/tests/monster_test.bfbs b/tests/monster_test.bfbs index 3838df207a06cdd326074235eca90a7158b2ed77..04a6d16d863531bf675137a232f9a1da2c9696a3 100644 GIT binary patch delta 2051 zcmZ`)Ur1Y582@q-HMwf)Y((q^A#k7^8(Uob*9vDSeb8m`K-U^-tY!dl;igaa|rp@xkrxcg{8OHg*R-?mgf4 zo$q&kzw_O5=ZCk)r&8&2Cx{|Wq8omqR5Ovgg=p$HQFkj*Fi4cBB=QA_JR$gCXWEE% zV7KsYCFH=|FdOXlqONzrFWxP%>v*4sZwvXt$6#0B+rWGs{;?1pCYmWQkw3oh~*Yk(yd`R{m4FLIZyN4W)NV$3h`3EKrWmf=rr0XCcA^<~ZMj|~5) z?1It_g~X_Oz?aH;*qtnIEPs#fWVwdNJ4^g-`Ny?3s3wMBEtuLL^2UmKHu(b&S3FnN zp{p2^59h-6kcD0I^Di77Y&s{CnsReb9ba0MZk&J^^FQ&4%CFR>9K^)*5KNS{!?wM= zzN&|vdCVuOTGw*uR$gL>k#*zCia;>D0 zrzAJA%$-iPYz<+?Z~70i8_T@Isj~7l?)0fFx6CzX*y{#gER>pwszSFobjxGY5jY~4 z3%}TWOA~+MJe}^qYY_9VVKxU*6n4HEU(!*0J&3hq*W0z2dx(;663s%}JE(gd@jT8l z0o#Co1MwZiB4zlxfZ>D9Dny=Fh&t;5iI@%R77+it9AEJPtUp3&N*%!l0MJ`UbnI24 znu9=vZwyZlz`I=lgiWKp8ekdt@4b%rYed%$qX^cxF;A%|3||-Ko5;@rs2f*84K|Pm zU_v}W(o+K>AlQJbLwkFKAh2`O4T_9WU{ z9G@}rSZRnU8ajeTM&05S5%BMdA0^ttnITkcPH?5@(8wo)vA(#L9_Wk42Kq+^lSChG z>3Tb*Bw#0!K#oLFW8_5pIO`_1Bx*no2K{QRBNGxG0 zrG;Des*v|~DJXin06Jy#e35BlXgK~drh@4A0B)sGlfr#3NW2fY;pY;zxTy=kcH>+n zusEg?Wr61+5C6{dMmk8z|I=0?7POr%MZ=w6K$|q732n_Z&Dzd9)Af^d$wUzvo4RNp zMfWcy6!8-&fYRDt7vWP96pL83f9ZOF5@sM1&bA5Xl+mtNN`YGTfIce$()zUm(A?3Q Hn{WRId~>YK delta 1156 zcmZWoUr5tY6h6PZsoT#vP1mwzGDet@Tg&DWA0%Y`VJP?%V~A*IsN|9?St8Dd2nmtV z=^;YGr;zAP=`r@;lWv8%+(Z!zkq{qx2U86ckVg&-ao^M!T3mQ z>MBvImFTCNXx>BAD%WfhYV_d>EKRz*5hu;u1bTdz7F^yLm&gi<%_Agg21$ z;z{09nuN{G4Wd%~PI6dOiHa0Yy6pT~_{3O^zG*DQ+ajoXQGp!36gLKx-w-5rn66Ve`>&FT(k&{IG*i zro){Ou3gnMBhD)y;L%eDa@>LgZZEj);2KCJ=P_<|hOJh+V-jJ31|JWHGTeypCxjKs zKM@|!aKsw)q%->A^p?t`vaP*n>kMl00%(OVaar3)HE&y+VtDQ}hAZ2GHRln1fX$e3 z_2-Dj%kfZ(K}BJS^Z0DQ0@y!~J>E(fuo?Iz1<)wM#{^b`oNc%s6B-e6K=&+geC&Cw zwR7&*hG=wm>!Jh-K75sW6N+59* zi9<-3l`{@Mj>PLIU_vE4B%+q5w>$g0JvXDB{R0oWJuMF-gO9r(5#9T%X>~NaQTFE2 EKcz(afB*mh diff --git a/tests/monster_test.fbs b/tests/monster_test.fbs index 14d34cb4ab0..b40ecf58f95 100644 --- a/tests/monster_test.fbs +++ b/tests/monster_test.fbs @@ -141,6 +141,15 @@ table Monster { // enum value. long_enum_non_enum_default:LongEnum (id: 52); long_enum_normal_default:LongEnum = LongOne (id: 53); + // Test that default values nan and +/-inf work. + nan_default:float = nan (id: 54); + inf_default:float = inf (id: 55); + positive_inf_default:float = +inf (id: 56); + infinity_default:float = infinity (id: 57); + positive_infinity_default:float = +infinity (id: 58); + negative_inf_default:float = -inf (id: 59); + negative_infinity_default:float = -infinity (id: 60); + double_inf_default:double = inf (id: 61); } table TypeAliases { diff --git a/tests/monster_test.schema.json b/tests/monster_test.schema.json index 5e98ef4aa4f..edcfbd9e249 100644 --- a/tests/monster_test.schema.json +++ b/tests/monster_test.schema.json @@ -340,6 +340,30 @@ }, "long_enum_normal_default" : { "$ref" : "#/definitions/MyGame_Example_LongEnum" + }, + "nan_default" : { + "type" : "number" + }, + "inf_default" : { + "type" : "number" + }, + "positive_inf_default" : { + "type" : "number" + }, + "infinity_default" : { + "type" : "number" + }, + "positive_infinity_default" : { + "type" : "number" + }, + "negative_inf_default" : { + "type" : "number" + }, + "negative_infinity_default" : { + "type" : "number" + }, + "double_inf_default" : { + "type" : "number" } }, "required" : ["name"], diff --git a/tests/monster_test/my_game/example/monster_generated.rs b/tests/monster_test/my_game/example/monster_generated.rs index 1ca88f06920..67dfcb37ea0 100644 --- a/tests/monster_test/my_game/example/monster_generated.rs +++ b/tests/monster_test/my_game/example/monster_generated.rs @@ -79,6 +79,14 @@ impl<'a> Monster<'a> { pub const VT_NATIVE_INLINE: flatbuffers::VOffsetT = 106; pub const VT_LONG_ENUM_NON_ENUM_DEFAULT: flatbuffers::VOffsetT = 108; pub const VT_LONG_ENUM_NORMAL_DEFAULT: flatbuffers::VOffsetT = 110; + pub const VT_NAN_DEFAULT: flatbuffers::VOffsetT = 112; + pub const VT_INF_DEFAULT: flatbuffers::VOffsetT = 114; + pub const VT_POSITIVE_INF_DEFAULT: flatbuffers::VOffsetT = 116; + pub const VT_INFINITY_DEFAULT: flatbuffers::VOffsetT = 118; + pub const VT_POSITIVE_INFINITY_DEFAULT: flatbuffers::VOffsetT = 120; + pub const VT_NEGATIVE_INF_DEFAULT: flatbuffers::VOffsetT = 122; + pub const VT_NEGATIVE_INFINITY_DEFAULT: flatbuffers::VOffsetT = 124; + pub const VT_DOUBLE_INF_DEFAULT: flatbuffers::VOffsetT = 126; pub const fn get_fully_qualified_name() -> &'static str { "MyGame.Example.Monster" @@ -94,6 +102,7 @@ impl<'a> Monster<'a> { args: &'args MonsterArgs<'args> ) -> flatbuffers::WIPOffset> { let mut builder = MonsterBuilder::new(_fbb); + builder.add_double_inf_default(args.double_inf_default); builder.add_long_enum_normal_default(args.long_enum_normal_default); builder.add_long_enum_non_enum_default(args.long_enum_non_enum_default); builder.add_non_owning_reference(args.non_owning_reference); @@ -103,6 +112,13 @@ impl<'a> Monster<'a> { builder.add_testhashs64_fnv1a(args.testhashs64_fnv1a); builder.add_testhashu64_fnv1(args.testhashu64_fnv1); builder.add_testhashs64_fnv1(args.testhashs64_fnv1); + builder.add_negative_infinity_default(args.negative_infinity_default); + builder.add_negative_inf_default(args.negative_inf_default); + builder.add_positive_infinity_default(args.positive_infinity_default); + builder.add_infinity_default(args.infinity_default); + builder.add_positive_inf_default(args.positive_inf_default); + builder.add_inf_default(args.inf_default); + builder.add_nan_default(args.nan_default); if let Some(x) = args.native_inline { builder.add_native_inline(x); } if let Some(x) = args.scalar_key_sorted_tables { builder.add_scalar_key_sorted_tables(x); } if let Some(x) = args.testrequirednestedflatbuffer { builder.add_testrequirednestedflatbuffer(x); } @@ -308,6 +324,14 @@ impl<'a> Monster<'a> { }); let long_enum_non_enum_default = self.long_enum_non_enum_default(); let long_enum_normal_default = self.long_enum_normal_default(); + let nan_default = self.nan_default(); + let inf_default = self.inf_default(); + let positive_inf_default = self.positive_inf_default(); + let infinity_default = self.infinity_default(); + let positive_infinity_default = self.positive_infinity_default(); + let negative_inf_default = self.negative_inf_default(); + let negative_infinity_default = self.negative_infinity_default(); + let double_inf_default = self.double_inf_default(); MonsterT { pos, mana, @@ -359,6 +383,14 @@ impl<'a> Monster<'a> { native_inline, long_enum_non_enum_default, long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default, } } @@ -764,6 +796,62 @@ impl<'a> Monster<'a> { unsafe { self._tab.get::(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, Some(LongEnum::LongOne)).unwrap()} } #[inline] + pub fn nan_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_NAN_DEFAULT, Some(f32::NAN)).unwrap()} + } + #[inline] + pub fn inf_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_INF_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn positive_inf_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_POSITIVE_INF_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn infinity_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_INFINITY_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn positive_infinity_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_POSITIVE_INFINITY_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn negative_inf_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_NEGATIVE_INF_DEFAULT, Some(f32::NEG_INFINITY)).unwrap()} + } + #[inline] + pub fn negative_infinity_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_NEGATIVE_INFINITY_DEFAULT, Some(f32::NEG_INFINITY)).unwrap()} + } + #[inline] + pub fn double_inf_default(&self) -> f64 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_DOUBLE_INF_DEFAULT, Some(f64::INFINITY)).unwrap()} + } + #[inline] #[allow(non_snake_case)] pub fn test_as_monster(&self) -> Option> { if self.test_type() == Any::Monster { @@ -978,6 +1066,14 @@ impl flatbuffers::Verifiable for Monster<'_> { .visit_field::("native_inline", Self::VT_NATIVE_INLINE, false)? .visit_field::("long_enum_non_enum_default", Self::VT_LONG_ENUM_NON_ENUM_DEFAULT, false)? .visit_field::("long_enum_normal_default", Self::VT_LONG_ENUM_NORMAL_DEFAULT, false)? + .visit_field::("nan_default", Self::VT_NAN_DEFAULT, false)? + .visit_field::("inf_default", Self::VT_INF_DEFAULT, false)? + .visit_field::("positive_inf_default", Self::VT_POSITIVE_INF_DEFAULT, false)? + .visit_field::("infinity_default", Self::VT_INFINITY_DEFAULT, false)? + .visit_field::("positive_infinity_default", Self::VT_POSITIVE_INFINITY_DEFAULT, false)? + .visit_field::("negative_inf_default", Self::VT_NEGATIVE_INF_DEFAULT, false)? + .visit_field::("negative_infinity_default", Self::VT_NEGATIVE_INFINITY_DEFAULT, false)? + .visit_field::("double_inf_default", Self::VT_DOUBLE_INF_DEFAULT, false)? .finish(); Ok(()) } @@ -1036,6 +1132,14 @@ pub struct MonsterArgs<'a> { pub native_inline: Option<&'a Test>, pub long_enum_non_enum_default: LongEnum, pub long_enum_normal_default: LongEnum, + pub nan_default: f32, + pub inf_default: f32, + pub positive_inf_default: f32, + pub infinity_default: f32, + pub positive_infinity_default: f32, + pub negative_inf_default: f32, + pub negative_infinity_default: f32, + pub double_inf_default: f64, } impl<'a> Default for MonsterArgs<'a> { #[inline] @@ -1094,6 +1198,14 @@ impl<'a> Default for MonsterArgs<'a> { native_inline: None, long_enum_non_enum_default: Default::default(), long_enum_normal_default: LongEnum::LongOne, + nan_default: f32::NAN, + inf_default: f32::INFINITY, + positive_inf_default: f32::INFINITY, + infinity_default: f32::INFINITY, + positive_infinity_default: f32::INFINITY, + negative_inf_default: f32::NEG_INFINITY, + negative_infinity_default: f32::NEG_INFINITY, + double_inf_default: f64::INFINITY, } } } @@ -1316,6 +1428,38 @@ impl<'a: 'b, 'b> MonsterBuilder<'a, 'b> { self.fbb_.push_slot::(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, long_enum_normal_default, LongEnum::LongOne); } #[inline] + pub fn add_nan_default(&mut self, nan_default: f32) { + self.fbb_.push_slot::(Monster::VT_NAN_DEFAULT, nan_default, f32::NAN); + } + #[inline] + pub fn add_inf_default(&mut self, inf_default: f32) { + self.fbb_.push_slot::(Monster::VT_INF_DEFAULT, inf_default, f32::INFINITY); + } + #[inline] + pub fn add_positive_inf_default(&mut self, positive_inf_default: f32) { + self.fbb_.push_slot::(Monster::VT_POSITIVE_INF_DEFAULT, positive_inf_default, f32::INFINITY); + } + #[inline] + pub fn add_infinity_default(&mut self, infinity_default: f32) { + self.fbb_.push_slot::(Monster::VT_INFINITY_DEFAULT, infinity_default, f32::INFINITY); + } + #[inline] + pub fn add_positive_infinity_default(&mut self, positive_infinity_default: f32) { + self.fbb_.push_slot::(Monster::VT_POSITIVE_INFINITY_DEFAULT, positive_infinity_default, f32::INFINITY); + } + #[inline] + pub fn add_negative_inf_default(&mut self, negative_inf_default: f32) { + self.fbb_.push_slot::(Monster::VT_NEGATIVE_INF_DEFAULT, negative_inf_default, f32::NEG_INFINITY); + } + #[inline] + pub fn add_negative_infinity_default(&mut self, negative_infinity_default: f32) { + self.fbb_.push_slot::(Monster::VT_NEGATIVE_INFINITY_DEFAULT, negative_infinity_default, f32::NEG_INFINITY); + } + #[inline] + pub fn add_double_inf_default(&mut self, double_inf_default: f64) { + self.fbb_.push_slot::(Monster::VT_DOUBLE_INF_DEFAULT, double_inf_default, f64::INFINITY); + } + #[inline] pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MonsterBuilder<'a, 'b> { let start = _fbb.start_table(); MonsterBuilder { @@ -1465,6 +1609,14 @@ impl core::fmt::Debug for Monster<'_> { ds.field("native_inline", &self.native_inline()); ds.field("long_enum_non_enum_default", &self.long_enum_non_enum_default()); ds.field("long_enum_normal_default", &self.long_enum_normal_default()); + ds.field("nan_default", &self.nan_default()); + ds.field("inf_default", &self.inf_default()); + ds.field("positive_inf_default", &self.positive_inf_default()); + ds.field("infinity_default", &self.infinity_default()); + ds.field("positive_infinity_default", &self.positive_infinity_default()); + ds.field("negative_inf_default", &self.negative_inf_default()); + ds.field("negative_infinity_default", &self.negative_infinity_default()); + ds.field("double_inf_default", &self.double_inf_default()); ds.finish() } } @@ -1521,6 +1673,14 @@ pub struct MonsterT { pub native_inline: Option, pub long_enum_non_enum_default: LongEnum, pub long_enum_normal_default: LongEnum, + pub nan_default: f32, + pub inf_default: f32, + pub positive_inf_default: f32, + pub infinity_default: f32, + pub positive_infinity_default: f32, + pub negative_inf_default: f32, + pub negative_infinity_default: f32, + pub double_inf_default: f64, } impl Default for MonsterT { fn default() -> Self { @@ -1575,6 +1735,14 @@ impl Default for MonsterT { native_inline: None, long_enum_non_enum_default: Default::default(), long_enum_normal_default: LongEnum::LongOne, + nan_default: f32::NAN, + inf_default: f32::INFINITY, + positive_inf_default: f32::INFINITY, + infinity_default: f32::INFINITY, + positive_infinity_default: f32::INFINITY, + negative_inf_default: f32::NEG_INFINITY, + negative_infinity_default: f32::NEG_INFINITY, + double_inf_default: f64::INFINITY, } } } @@ -1687,6 +1855,14 @@ impl MonsterT { let native_inline = native_inline_tmp.as_ref(); let long_enum_non_enum_default = self.long_enum_non_enum_default; let long_enum_normal_default = self.long_enum_normal_default; + let nan_default = self.nan_default; + let inf_default = self.inf_default; + let positive_inf_default = self.positive_inf_default; + let infinity_default = self.infinity_default; + let positive_infinity_default = self.positive_infinity_default; + let negative_inf_default = self.negative_inf_default; + let negative_infinity_default = self.negative_infinity_default; + let double_inf_default = self.double_inf_default; Monster::create(_fbb, &MonsterArgs{ pos, mana, @@ -1741,6 +1917,14 @@ impl MonsterT { native_inline, long_enum_non_enum_default, long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default, }) } } diff --git a/tests/monster_test_bfbs_generated.h b/tests/monster_test_bfbs_generated.h index df8fd25f937..7a2d688ccbf 100644 --- a/tests/monster_test_bfbs_generated.h +++ b/tests/monster_test_bfbs_generated.h @@ -19,101 +19,101 @@ namespace Example { struct MonsterBinarySchema { static const uint8_t *data() { // Buffer containing the binary schema. - static const uint8_t bfbsData[14784] = { + static const uint8_t bfbsData[15736] = { 0x1C,0x00,0x00,0x00,0x42,0x46,0x42,0x53,0x14,0x00,0x20,0x00,0x04,0x00,0x08,0x00,0x0C,0x00,0x10,0x00, 0x14,0x00,0x18,0x00,0x00,0x00,0x1C,0x00,0x14,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x34,0x00,0x00,0x00, 0x24,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xA0,0x0E,0x00,0x00,0x08,0x00,0x00,0x00,0x80,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0xDC,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x6D,0x6F,0x6E,0x00,0x04,0x00,0x00,0x00, 0x4D,0x4F,0x4E,0x53,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x4C,0x05,0x00,0x00,0xB8,0x02,0x00,0x00, 0xF8,0x03,0x00,0x00,0x04,0x09,0x00,0x00,0x90,0x06,0x00,0x00,0xBC,0x07,0x00,0x00,0xEC,0x0A,0x00,0x00, - 0x0F,0x00,0x00,0x00,0x9C,0x31,0x00,0x00,0x50,0x0E,0x00,0x00,0xE8,0x2D,0x00,0x00,0xC4,0x2E,0x00,0x00, - 0x64,0x30,0x00,0x00,0xD8,0x2F,0x00,0x00,0xA0,0x35,0x00,0x00,0x80,0x34,0x00,0x00,0x70,0x0B,0x00,0x00, - 0x78,0x32,0x00,0x00,0x68,0x36,0x00,0x00,0xA0,0x36,0x00,0x00,0x90,0x37,0x00,0x00,0x44,0x38,0x00,0x00, - 0xEC,0x36,0x00,0x00,0x03,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x64,0xCB,0xFF,0xFF,0x94,0x36,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE0,0x36,0x00,0x00, - 0x78,0xCB,0xFF,0xFF,0x34,0x38,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0xCC,0x36,0x00,0x00, - 0x24,0x38,0x00,0x00,0x90,0xCB,0xFF,0xFF,0xC0,0x36,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0xB4,0x36,0x00,0x00,0x0C,0x38,0x00,0x00,0x00,0x00,0x0E,0x00,0x14,0x00,0x04,0x00,0x08,0x00,0x00,0x00, + 0x0F,0x00,0x00,0x00,0x54,0x35,0x00,0x00,0x50,0x0E,0x00,0x00,0xA0,0x31,0x00,0x00,0x7C,0x32,0x00,0x00, + 0x1C,0x34,0x00,0x00,0x90,0x33,0x00,0x00,0x58,0x39,0x00,0x00,0x38,0x38,0x00,0x00,0x70,0x0B,0x00,0x00, + 0x30,0x36,0x00,0x00,0x20,0x3A,0x00,0x00,0x58,0x3A,0x00,0x00,0x48,0x3B,0x00,0x00,0xFC,0x3B,0x00,0x00, + 0xA4,0x3A,0x00,0x00,0x03,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0xAC,0xC7,0xFF,0xFF,0x4C,0x3A,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x98,0x3A,0x00,0x00, + 0xC0,0xC7,0xFF,0xFF,0xEC,0x3B,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x84,0x3A,0x00,0x00, + 0xDC,0x3B,0x00,0x00,0xD8,0xC7,0xFF,0xFF,0x78,0x3A,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x6C,0x3A,0x00,0x00,0xC4,0x3B,0x00,0x00,0x00,0x00,0x0E,0x00,0x14,0x00,0x04,0x00,0x08,0x00,0x00,0x00, 0x0C,0x00,0x10,0x00,0x0E,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x34,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x88,0x01,0x00,0x00,0xF4,0x00,0x00,0x00, + 0xEC,0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x88,0x01,0x00,0x00,0xF4,0x00,0x00,0x00, 0x90,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45, 0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x53,0x74,0x6F,0x72,0x61,0x67, - 0x65,0x00,0x00,0x00,0xBA,0xFE,0xFF,0xFF,0x48,0x00,0x00,0x00,0x5C,0x0D,0x00,0x00,0xD4,0x2D,0x00,0x00, + 0x65,0x00,0x00,0x00,0xBA,0xFE,0xFF,0xFF,0x48,0x00,0x00,0x00,0x5C,0x0D,0x00,0x00,0x8C,0x31,0x00,0x00, 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x2C,0xCC,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x62,0x69,0x64,0x69, + 0x74,0xC8,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x62,0x69,0x64,0x69, 0x00,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x73,0x74,0x72,0x65,0x61,0x6D,0x69,0x6E,0x67,0x00,0x00,0x00, 0x12,0x00,0x00,0x00,0x47,0x65,0x74,0x4D,0x69,0x6E,0x4D,0x61,0x78,0x48,0x69,0x74,0x50,0x6F,0x69,0x6E, - 0x74,0x73,0x00,0x00,0x1E,0xFF,0xFF,0xFF,0x48,0x00,0x00,0x00,0xF8,0x0C,0x00,0x00,0x70,0x2D,0x00,0x00, + 0x74,0x73,0x00,0x00,0x1E,0xFF,0xFF,0xFF,0x48,0x00,0x00,0x00,0xF8,0x0C,0x00,0x00,0x28,0x31,0x00,0x00, 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x90,0xCC,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x63,0x6C,0x69,0x65, + 0xD8,0xC8,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x63,0x6C,0x69,0x65, 0x6E,0x74,0x00,0x00,0x09,0x00,0x00,0x00,0x73,0x74,0x72,0x65,0x61,0x6D,0x69,0x6E,0x67,0x00,0x00,0x00, 0x0E,0x00,0x00,0x00,0x47,0x65,0x74,0x4D,0x61,0x78,0x48,0x69,0x74,0x50,0x6F,0x69,0x6E,0x74,0x00,0x00, - 0x7E,0xFF,0xFF,0xFF,0x70,0x00,0x00,0x00,0x14,0x2D,0x00,0x00,0x94,0x0C,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x7E,0xFF,0xFF,0xFF,0x70,0x00,0x00,0x00,0xCC,0x30,0x00,0x00,0x94,0x0C,0x00,0x00,0x0C,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0xF4,0xCC,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x73,0x65,0x72,0x76, + 0x3C,0xC9,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x73,0x65,0x72,0x76, 0x65,0x72,0x00,0x00,0x09,0x00,0x00,0x00,0x73,0x74,0x72,0x65,0x61,0x6D,0x69,0x6E,0x67,0x00,0x00,0x00, - 0x1C,0xCD,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00, + 0x64,0xC9,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00, 0x0A,0x00,0x00,0x00,0x69,0x64,0x65,0x6D,0x70,0x6F,0x74,0x65,0x6E,0x74,0x00,0x00,0x08,0x00,0x00,0x00, 0x52,0x65,0x74,0x72,0x69,0x65,0x76,0x65,0x00,0x00,0x0E,0x00,0x18,0x00,0x04,0x00,0x08,0x00,0x0C,0x00, - 0x10,0x00,0x14,0x00,0x0E,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x08,0x0C,0x00,0x00,0x80,0x2C,0x00,0x00, + 0x10,0x00,0x14,0x00,0x0E,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x08,0x0C,0x00,0x00,0x38,0x30,0x00,0x00, 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x80,0xCD,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x6E,0x6F,0x6E,0x65, + 0xC8,0xC9,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x6E,0x6F,0x6E,0x65, 0x00,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x73,0x74,0x72,0x65,0x61,0x6D,0x69,0x6E,0x67,0x00,0x00,0x00, 0x05,0x00,0x00,0x00,0x53,0x74,0x6F,0x72,0x65,0x00,0x00,0x00,0x82,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x40,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x30,0x34,0x00,0x00, - 0x00,0x00,0x00,0x00,0x34,0xCD,0xFF,0xFF,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x40,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xE8,0x37,0x00,0x00, + 0x00,0x00,0x00,0x00,0x7C,0xC9,0xFF,0xFF,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xA4,0x00,0x00,0x00,0x68,0x00,0x00,0x00, 0x2C,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, 0x6C,0x65,0x2E,0x41,0x6E,0x79,0x41,0x6D,0x62,0x69,0x67,0x75,0x6F,0x75,0x73,0x41,0x6C,0x69,0x61,0x73, 0x65,0x73,0x00,0x00,0x7E,0xF8,0xFF,0xFF,0x2C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xCA,0xFF,0xFF, + 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xC7,0xFF,0xFF, 0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x4D,0x33,0x00,0x00, 0xB6,0xF8,0xFF,0xFF,0x2C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xCB,0xFF,0xFF,0x00,0x00,0x00,0x0F, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xC7,0xFF,0xFF,0x00,0x00,0x00,0x0F, 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x4D,0x32,0x00,0x00,0xEE,0xF8,0xFF,0xFF, 0x2C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xCB,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0xC7,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x4D,0x31,0x00,0x00,0x72,0xF8,0xFF,0xFF,0x1C,0x00,0x00,0x00, 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0xF8,0xFF,0xFF,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x4E,0x4F,0x4E,0x45,0x00,0x00,0x00,0x00,0xC6,0xFE,0xFF,0xFF, 0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0xEC,0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xCE,0xFF,0xFF,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x00, + 0xA4,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xCA,0xFF,0xFF,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD8,0x00,0x00,0x00,0xA0,0x00,0x00,0x00, 0x64,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45, 0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x41,0x6E,0x79,0x55,0x6E,0x69,0x71,0x75,0x65,0x41,0x6C,0x69,0x61, 0x73,0x65,0x73,0x00,0xBE,0xF9,0xFF,0xFF,0x2C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xCC,0xFF,0xFF, + 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xC8,0xFF,0xFF, 0x00,0x00,0x00,0x0F,0x0A,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x4D,0x32,0x00,0x00, 0xF6,0xF9,0xFF,0xFF,0x2C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0xCC,0xFF,0xFF,0x00,0x00,0x00,0x0F, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB0,0xC8,0xFF,0xFF,0x00,0x00,0x00,0x0F, 0x07,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x54,0x53,0x00,0x00,0x1E,0xFC,0xFF,0xFF, 0x28,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x9C,0xCC,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xE4,0xC8,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x4D,0x00,0x00,0x00,0xAE,0xF9,0xFF,0xFF,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0xF9,0xFF,0xFF,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x4E,0x4F,0x4E,0x45,0x00,0x00,0x12,0x00,0x1C,0x00,0x08,0x00,0x0C,0x00,0x07,0x00, 0x10,0x00,0x00,0x00,0x14,0x00,0x18,0x00,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00, - 0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xA0,0x31,0x00,0x00,0x00,0x00,0x00,0x00, - 0xC4,0xCF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x58,0x35,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0C,0xCC,0xFF,0xFF,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xB4,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x1C,0x00,0x00,0x00, 0x12,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x41, 0x6E,0x79,0x00,0x00,0xEE,0xFC,0xFF,0xFF,0x28,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0xCD,0xFF,0xFF,0x00,0x00,0x00,0x0F, + 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB4,0xC9,0xFF,0xFF,0x00,0x00,0x00,0x0F, 0x0A,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x5F,0x45, 0x78,0x61,0x6D,0x70,0x6C,0x65,0x32,0x5F,0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x00,0x36,0xFD,0xFF,0xFF, 0x28,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xB4,0xCD,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x07,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xFC,0xC9,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x07,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x17,0x00,0x00,0x00,0x54,0x65,0x73,0x74,0x53,0x69,0x6D,0x70,0x6C,0x65,0x54,0x61,0x62,0x6C,0x65,0x57, 0x69,0x74,0x68,0x45,0x6E,0x75,0x6D,0x00,0x7E,0xFD,0xFF,0xFF,0x28,0x00,0x00,0x00,0x14,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xCD,0xFF,0xFF, + 0x0C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0xCA,0xFF,0xFF, 0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x4D,0x6F,0x6E,0x73, 0x74,0x65,0x72,0x00,0x12,0xFB,0xFF,0xFF,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x04,0xFB,0xFF,0xFF,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, 0x4E,0x4F,0x4E,0x45,0x00,0x00,0x00,0x00,0xA2,0xFD,0xFF,0xFF,0x6C,0x00,0x00,0x00,0x58,0x00,0x00,0x00, - 0x40,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x4C,0x30,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xC0,0xD1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x40,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x04,0x34,0x00,0x00,0x00,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0xCE,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x62,0x69,0x74,0x5F,0x66,0x6C,0x61,0x67, - 0x73,0x00,0x00,0x00,0x44,0xD1,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00, + 0x73,0x00,0x00,0x00,0x8C,0xCD,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x20,0x00,0x00,0x00, 0x17,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x4C, 0x6F,0x6E,0x67,0x45,0x6E,0x75,0x6D,0x00,0x7E,0xFC,0xFF,0xFF,0x28,0x00,0x00,0x00,0x18,0x00,0x00,0x00, @@ -125,8 +125,8 @@ struct MonsterBinarySchema { 0xDE,0xFE,0xFF,0xFF,0x24,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x02,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0xFC,0xFF,0xFF,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x07,0x00,0x00,0x00,0x4C,0x6F,0x6E,0x67,0x4F,0x6E,0x65,0x00,0xDE,0xFC,0xFF,0xFF,0x40,0x00,0x00,0x00, - 0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x20,0x2F,0x00,0x00,0x00,0x00,0x00,0x00, - 0x44,0xD2,0xFF,0xFF,0x00,0x00,0x00,0x03,0x05,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xD8,0x32,0x00,0x00,0x00,0x00,0x00,0x00, + 0x8C,0xCE,0xFF,0xFF,0x00,0x00,0x00,0x03,0x05,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0xC8,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x1C,0x00,0x00,0x00, 0x13,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x52, 0x61,0x63,0x65,0x00,0x6E,0xFF,0xFF,0xFF,0x24,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, @@ -141,12 +141,12 @@ struct MonsterBinarySchema { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x64,0xFD,0xFF,0xFF,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x4E,0x6F,0x6E,0x65,0x00,0x00,0x12,0x00,0x1C,0x00,0x04,0x00, 0x08,0x00,0x00,0x00,0x0C,0x00,0x10,0x00,0x14,0x00,0x18,0x00,0x12,0x00,0x00,0x00,0x9C,0x00,0x00,0x00, - 0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xDC,0x2D,0x00,0x00, + 0x88,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x94,0x31,0x00,0x00, 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x20,0x43,0x6F,0x6D,0x70,0x6F,0x73,0x69, 0x74,0x65,0x20,0x63,0x6F,0x6D,0x70,0x6F,0x6E,0x65,0x6E,0x74,0x73,0x20,0x6F,0x66,0x20,0x4D,0x6F,0x6E, 0x73,0x74,0x65,0x72,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x2E,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x60,0xD4,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00, - 0x09,0x00,0x00,0x00,0x62,0x69,0x74,0x5F,0x66,0x6C,0x61,0x67,0x73,0x00,0x00,0x00,0xE4,0xD3,0xFF,0xFF, + 0xA8,0xD0,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00, + 0x09,0x00,0x00,0x00,0x62,0x69,0x74,0x5F,0x66,0x6C,0x61,0x67,0x73,0x00,0x00,0x00,0x2C,0xD0,0xFF,0xFF, 0x00,0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, 0x18,0x01,0x00,0x00,0x84,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, 0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x43,0x6F,0x6C,0x6F,0x72,0x00,0x00,0x00,0x00, @@ -166,605 +166,652 @@ struct MonsterBinarySchema { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x52,0x65,0x64,0x00,0x00,0x00,0x12,0x00,0x18,0x00,0x04,0x00, 0x08,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x12,0x00,0x00,0x00,0x34,0x00,0x00,0x00, - 0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xA0,0x2D,0x00,0x00,0x00,0x00,0x00,0x00, - 0x78,0xD5,0xFF,0xFF,0x00,0x00,0x00,0x09,0x06,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x58,0x31,0x00,0x00,0x00,0x00,0x00,0x00, + 0xC0,0xD1,0xFF,0xFF,0x00,0x00,0x00,0x09,0x06,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x4F, 0x74,0x68,0x65,0x72,0x4E,0x61,0x6D,0x65,0x53,0x70,0x61,0x63,0x65,0x2E,0x46,0x72,0x6F,0x6D,0x49,0x6E, 0x63,0x6C,0x75,0x64,0x65,0x00,0x0E,0x00,0x10,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0C,0x00, 0x0E,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x10,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x49,0x6E,0x63,0x6C,0x75,0x64,0x65,0x56, - 0x61,0x6C,0x00,0x00,0xE4,0xD3,0xFF,0xFF,0x4C,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x08,0x00,0x00,0x00,0x40,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xE4,0x00,0x00,0x00, + 0x61,0x6C,0x00,0x00,0x2C,0xD0,0xFF,0xFF,0x4C,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0xF8,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xE4,0x00,0x00,0x00, 0xB0,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x90,0x01,0x00,0x00,0x30,0x01,0x00,0x00,0x60,0x02,0x00,0x00, 0xB0,0x01,0x00,0x00,0x54,0x01,0x00,0x00,0xF0,0x00,0x00,0x00,0x04,0x02,0x00,0x00,0x5C,0x00,0x00,0x00, 0x24,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, - 0x6C,0x65,0x2E,0x54,0x79,0x70,0x65,0x41,0x6C,0x69,0x61,0x73,0x65,0x73,0x00,0x00,0x00,0xDB,0xFF,0xFF, + 0x6C,0x65,0x2E,0x54,0x79,0x70,0x65,0x41,0x6C,0x69,0x61,0x73,0x65,0x73,0x00,0x00,0x48,0xD7,0xFF,0xFF, 0x00,0x00,0x00,0x01,0x0B,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x14,0xE1,0xFF,0xFF,0x00,0x00,0x0E,0x0C,0x08,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x76,0x66,0x36,0x34,0x00,0x00,0x00,0x00,0x34,0xDB,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0A,0x00,0x18,0x00, - 0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0xE1,0xFF,0xFF, - 0x00,0x00,0x0E,0x03,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x76,0x38,0x00,0x00,0x4A,0xD8,0xFF,0xFF, + 0x00,0x00,0x00,0x00,0x5C,0xDD,0xFF,0xFF,0x00,0x00,0x0E,0x0C,0x08,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x76,0x66,0x36,0x34,0x00,0x00,0x00,0x00,0x7C,0xD7,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0A,0x00,0x18,0x00, + 0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0xDD,0xFF,0xFF, + 0x00,0x00,0x0E,0x03,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x76,0x38,0x00,0x00,0x92,0xD4,0xFF,0xFF, 0x09,0x00,0x16,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x14,0xD6,0xFF,0xFF,0x00,0x00,0x00,0x0C,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, - 0x66,0x36,0x34,0x00,0x7A,0xD8,0xFF,0xFF,0x08,0x00,0x14,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0xD3,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x66,0x33,0x32,0x00,0xA6,0xD8,0xFF,0xFF,0x07,0x00,0x12,0x00,0x20,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xD6,0xFF,0xFF,0x00,0x00,0x00,0x0A, - 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x75,0x36,0x34,0x00,0xD6,0xD8,0xFF,0xFF, + 0x5C,0xD2,0xFF,0xFF,0x00,0x00,0x00,0x0C,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, + 0x66,0x36,0x34,0x00,0xC2,0xD4,0xFF,0xFF,0x08,0x00,0x14,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0xCF,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00, + 0x03,0x00,0x00,0x00,0x66,0x33,0x32,0x00,0xEE,0xD4,0xFF,0xFF,0x07,0x00,0x12,0x00,0x20,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0xD2,0xFF,0xFF,0x00,0x00,0x00,0x0A, + 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x75,0x36,0x34,0x00,0x1E,0xD5,0xFF,0xFF, 0x06,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xA0,0xD6,0xFF,0xFF,0x00,0x00,0x00,0x09,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, - 0x69,0x36,0x34,0x00,0x06,0xD9,0xFF,0xFF,0x05,0x00,0x0E,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0xD4,0xFF,0xFF,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x75,0x33,0x32,0x00,0x32,0xD9,0xFF,0xFF,0x04,0x00,0x0C,0x00,0x1C,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0xD4,0xFF,0xFF,0x00,0x00,0x00,0x07, - 0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x69,0x33,0x32,0x00,0x5E,0xD9,0xFF,0xFF,0x03,0x00,0x0A,0x00, - 0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xD7,0xFF,0xFF, + 0xE8,0xD2,0xFF,0xFF,0x00,0x00,0x00,0x09,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, + 0x69,0x36,0x34,0x00,0x4E,0xD5,0xFF,0xFF,0x05,0x00,0x0E,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xD0,0xFF,0xFF,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00, + 0x03,0x00,0x00,0x00,0x75,0x33,0x32,0x00,0x7A,0xD5,0xFF,0xFF,0x04,0x00,0x0C,0x00,0x1C,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8C,0xD0,0xFF,0xFF,0x00,0x00,0x00,0x07, + 0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x69,0x33,0x32,0x00,0xA6,0xD5,0xFF,0xFF,0x03,0x00,0x0A,0x00, + 0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xD3,0xFF,0xFF, 0x00,0x00,0x00,0x06,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x75,0x31,0x36,0x00, - 0x8E,0xD9,0xFF,0xFF,0x02,0x00,0x08,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x58,0xD7,0xFF,0xFF,0x00,0x00,0x00,0x05,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x69,0x31,0x36,0x00,0xBE,0xD9,0xFF,0xFF,0x01,0x00,0x06,0x00,0x20,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0xD7,0xFF,0xFF,0x00,0x00,0x00,0x04, + 0xD6,0xD5,0xFF,0xFF,0x02,0x00,0x08,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xA0,0xD3,0xFF,0xFF,0x00,0x00,0x00,0x05,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x03,0x00,0x00,0x00,0x69,0x31,0x36,0x00,0x06,0xD6,0xFF,0xFF,0x01,0x00,0x06,0x00,0x20,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0xD3,0xFF,0xFF,0x00,0x00,0x00,0x04, 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x75,0x38,0x00,0x00,0x00,0x00,0x1A,0x00, 0x14,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0xD7,0xFF,0xFF,0x00,0x00,0x00,0x03,0x01,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x38,0x00,0x00,0xA8,0xD6,0xFF,0xFF,0x30,0x01,0x00,0x00, - 0x50,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x7C,0x28,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xD4,0xFF,0xFF,0x00,0x00,0x00,0x03,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x38,0x00,0x00,0xF0,0xD2,0xFF,0xFF,0x50,0x01,0x00,0x00, + 0x50,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x34,0x2C,0x00,0x00,0x01,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x20,0x61,0x6E,0x20,0x65,0x78,0x61,0x6D,0x70,0x6C,0x65,0x20, 0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6D,0x6D,0x65,0x6E, 0x74,0x3A,0x20,0x22,0x6D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x22,0x00, - 0x36,0x00,0x00,0x00,0x80,0x04,0x00,0x00,0xE4,0x04,0x00,0x00,0x4C,0x05,0x00,0x00,0xAC,0x05,0x00,0x00, - 0xA8,0x09,0x00,0x00,0x78,0x1B,0x00,0x00,0x88,0x18,0x00,0x00,0x44,0x0F,0x00,0x00,0x7C,0x1C,0x00,0x00, - 0xC0,0x1D,0x00,0x00,0xEC,0x1B,0x00,0x00,0x44,0x01,0x00,0x00,0xC4,0x00,0x00,0x00,0x30,0x1E,0x00,0x00, - 0x30,0x1D,0x00,0x00,0xA8,0x01,0x00,0x00,0x10,0x07,0x00,0x00,0x80,0x0D,0x00,0x00,0xA0,0x1E,0x00,0x00, - 0x2C,0x02,0x00,0x00,0x5C,0x03,0x00,0x00,0x08,0x0C,0x00,0x00,0x58,0x1A,0x00,0x00,0xE4,0x19,0x00,0x00, - 0xA0,0x0E,0x00,0x00,0xC4,0x1A,0x00,0x00,0x90,0x11,0x00,0x00,0x78,0x0F,0x00,0x00,0x68,0x19,0x00,0x00, - 0xE0,0x0F,0x00,0x00,0x88,0x18,0x00,0x00,0xC0,0x16,0x00,0x00,0x1C,0x17,0x00,0x00,0x10,0x11,0x00,0x00, - 0x8C,0x10,0x00,0x00,0x30,0x10,0x00,0x00,0x20,0x16,0x00,0x00,0xE0,0x13,0x00,0x00,0xFC,0x14,0x00,0x00, - 0x58,0x12,0x00,0x00,0x84,0x15,0x00,0x00,0xE4,0x12,0x00,0x00,0x5C,0x14,0x00,0x00,0xB4,0x11,0x00,0x00, - 0x50,0x17,0x00,0x00,0x38,0x02,0x00,0x00,0xC0,0x07,0x00,0x00,0x78,0x0D,0x00,0x00,0x58,0x03,0x00,0x00, - 0xD8,0x0D,0x00,0x00,0x58,0x05,0x00,0x00,0x88,0x0C,0x00,0x00,0xDC,0x09,0x00,0x00,0x8C,0x0A,0x00,0x00, - 0x16,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x4D, - 0x6F,0x6E,0x73,0x74,0x65,0x72,0x00,0x00,0x62,0xFD,0xFF,0xFF,0x35,0x00,0x6E,0x00,0x54,0x00,0x00,0x00, - 0x3C,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE8,0xDA,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x33,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x64,0xDA,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x18,0x00,0x00,0x00,0x6C,0x6F,0x6E,0x67,0x5F,0x65,0x6E,0x75,0x6D,0x5F,0x6E,0x6F,0x72,0x6D,0x61,0x6C, - 0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x00,0x00,0x00,0x62,0xE6,0xFF,0xFF,0x34,0x00,0x6C,0x00, - 0x4C,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0xDB,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x35,0x32,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xD8,0xDA,0xFF,0xFF, - 0x00,0x00,0x00,0x0A,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1A,0x00,0x00,0x00, - 0x6C,0x6F,0x6E,0x67,0x5F,0x65,0x6E,0x75,0x6D,0x5F,0x6E,0x6F,0x6E,0x5F,0x65,0x6E,0x75,0x6D,0x5F,0x64, - 0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x00,0xEC,0xE5,0xFF,0xFF,0x00,0x00,0x00,0x01,0x33,0x00,0x6A,0x00, - 0x74,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD8,0xDB,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0x6E,0x61,0x74,0x69, - 0x76,0x65,0x5F,0x69,0x6E,0x6C,0x69,0x6E,0x65,0x00,0x00,0x00,0x00,0xDC,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0xC8,0xD8,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x06,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0D,0x00,0x00,0x00, - 0x6E,0x61,0x74,0x69,0x76,0x65,0x5F,0x69,0x6E,0x6C,0x69,0x6E,0x65,0x00,0x00,0x00,0x80,0xE6,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x32,0x00,0x68,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0xDC,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x30,0x00,0x00,0x02,0x00,0x00,0x00, - 0x69,0x64,0x00,0x00,0x38,0xE8,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x18,0x00,0x00,0x00,0x73,0x63,0x61,0x6C,0x61,0x72,0x5F,0x6B,0x65,0x79,0x5F,0x73,0x6F,0x72,0x74,0x65, - 0x64,0x5F,0x74,0x61,0x62,0x6C,0x65,0x73,0x00,0x00,0x00,0x00,0xF4,0xE6,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x31,0x00,0x66,0x00,0x78,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE0,0xDC,0xFF,0xFF, - 0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x00, - 0x11,0x00,0x00,0x00,0x6E,0x65,0x73,0x74,0x65,0x64,0x5F,0x66,0x6C,0x61,0x74,0x62,0x75,0x66,0x66,0x65, - 0x72,0x00,0x00,0x00,0x10,0xDD,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x34,0x39,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x0C,0xE7,0xFF,0xFF,0x00,0x00,0x0E,0x04, - 0x01,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x64, - 0x6E,0x65,0x73,0x74,0x65,0x64,0x66,0x6C,0x61,0x74,0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00,0x1A,0x00, - 0x20,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x06,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00,0x30,0x00,0x64,0x00,0x54,0x00,0x00,0x00,0x3C,0x00,0x00,0x00, - 0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA0,0xDD,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x34,0x38,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x1C,0xDD,0xFF,0xFF, - 0x00,0x00,0x00,0x03,0x05,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0B,0x00,0x00,0x00, - 0x73,0x69,0x67,0x6E,0x65,0x64,0x5F,0x65,0x6E,0x75,0x6D,0x00,0x20,0xE8,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x2F,0x00,0x62,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0xDE,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x37,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0xD8,0xE9,0xFF,0xFF,0x00,0x00,0x0E,0x04,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00, - 0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x65,0x6E,0x75,0x6D,0x73,0x00,0x88,0xE8,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x2E,0x00,0x60,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x70,0xDE,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x36,0x00,0x00,0x02,0x00,0x00,0x00, - 0x69,0x64,0x00,0x00,0x38,0xDB,0xFF,0xFF,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x0D,0x00,0x00,0x00,0x61,0x6E,0x79,0x5F,0x61,0x6D,0x62,0x69,0x67,0x75,0x6F,0x75,0x73,0x00,0x00,0x00, - 0xDA,0xE9,0xFF,0xFF,0x2D,0x00,0x5E,0x00,0x4C,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD4,0xDE,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x35,0x00,0x00,0x02,0x00,0x00,0x00, - 0x69,0x64,0x00,0x00,0x50,0xDE,0xFF,0xFF,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x61,0x6E,0x79,0x5F,0x61,0x6D,0x62,0x69,0x67,0x75,0x6F,0x75, - 0x73,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x5C,0xE9,0xFF,0xFF,0x00,0x00,0x00,0x01,0x2C,0x00,0x5C,0x00, + 0x3E,0x00,0x00,0x00,0x38,0x08,0x00,0x00,0x9C,0x08,0x00,0x00,0x04,0x09,0x00,0x00,0x64,0x09,0x00,0x00, + 0x60,0x0D,0x00,0x00,0x30,0x1F,0x00,0x00,0xFC,0x00,0x00,0x00,0x3C,0x1C,0x00,0x00,0xF8,0x12,0x00,0x00, + 0x30,0x20,0x00,0x00,0x74,0x21,0x00,0x00,0xB0,0x03,0x00,0x00,0xB4,0x02,0x00,0x00,0x98,0x1F,0x00,0x00, + 0xF0,0x04,0x00,0x00,0x70,0x04,0x00,0x00,0xDC,0x21,0x00,0x00,0xDC,0x20,0x00,0x00,0xFC,0x03,0x00,0x00, + 0x50,0x05,0x00,0x00,0xAC,0x01,0x00,0x00,0x30,0x01,0x00,0x00,0xB0,0x0A,0x00,0x00,0x20,0x11,0x00,0x00, + 0x40,0x22,0x00,0x00,0x08,0x03,0x00,0x00,0x04,0x02,0x00,0x00,0xC4,0x05,0x00,0x00,0xF4,0x06,0x00,0x00, + 0xA0,0x0F,0x00,0x00,0xF0,0x1D,0x00,0x00,0x7C,0x1D,0x00,0x00,0x38,0x12,0x00,0x00,0x5C,0x1E,0x00,0x00, + 0x28,0x15,0x00,0x00,0x10,0x13,0x00,0x00,0x00,0x1D,0x00,0x00,0x78,0x13,0x00,0x00,0x20,0x1C,0x00,0x00, + 0x58,0x1A,0x00,0x00,0xB4,0x1A,0x00,0x00,0xA8,0x14,0x00,0x00,0x24,0x14,0x00,0x00,0xC8,0x13,0x00,0x00, + 0xB8,0x19,0x00,0x00,0x78,0x17,0x00,0x00,0x94,0x18,0x00,0x00,0xF0,0x15,0x00,0x00,0x1C,0x19,0x00,0x00, + 0x7C,0x16,0x00,0x00,0xF4,0x17,0x00,0x00,0x4C,0x15,0x00,0x00,0xE8,0x1A,0x00,0x00,0xD0,0x05,0x00,0x00, + 0x58,0x0B,0x00,0x00,0x10,0x11,0x00,0x00,0xF0,0x06,0x00,0x00,0x70,0x11,0x00,0x00,0xF0,0x08,0x00,0x00, + 0x20,0x10,0x00,0x00,0x74,0x0D,0x00,0x00,0x24,0x0E,0x00,0x00,0x16,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, + 0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x00,0x00, + 0xC2,0xFD,0xFF,0xFF,0x3D,0x00,0x7E,0x00,0x50,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x14,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x7F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x50,0xD7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x36,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xEC,0xD5,0xFF,0xFF,0x00,0x00,0x00,0x0C, + 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x64,0x6F,0x75,0x62,0x6C,0x65,0x5F,0x69, + 0x6E,0x66,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x00,0x52,0xEC,0xFF,0xFF,0x3C,0x00,0x7C,0x00, + 0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0xC4,0xD7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x36,0x30,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xA8,0xD3,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00, + 0x19,0x00,0x00,0x00,0x6E,0x65,0x67,0x61,0x74,0x69,0x76,0x65,0x5F,0x69,0x6E,0x66,0x69,0x6E,0x69,0x74, + 0x79,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x00,0x00,0xAA,0xFE,0xFF,0xFF,0x3B,0x00,0x7A,0x00, + 0x4C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x38,0xD8,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x39,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x1C,0xD4,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00, + 0x6E,0x65,0x67,0x61,0x74,0x69,0x76,0x65,0x5F,0x69,0x6E,0x66,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74, + 0x00,0x00,0x00,0x00,0x3A,0xED,0xFF,0xFF,0x3A,0x00,0x78,0x00,0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00, + 0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x7F,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xAC,0xD8,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x38,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0x90,0xD4,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x70,0x6F,0x73,0x69, + 0x74,0x69,0x76,0x65,0x5F,0x69,0x6E,0x66,0x69,0x6E,0x69,0x74,0x79,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C, + 0x74,0x00,0x00,0x00,0xB2,0xED,0xFF,0xFF,0x39,0x00,0x76,0x00,0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00, + 0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x7F,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x24,0xD9,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x37,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0x08,0xD5,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x69,0x6E,0x66,0x69, + 0x6E,0x69,0x74,0x79,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x00,0x1A,0x00,0x20,0x00,0x08,0x00, + 0x0C,0x00,0x04,0x00,0x06,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00, + 0x1A,0x00,0x00,0x00,0x38,0x00,0x74,0x00,0x4C,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x14,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x7F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0xA8,0xD9,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x35,0x36,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x8C,0xD5,0xFF,0xFF,0x00,0x00,0x00,0x0B, + 0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x70,0x6F,0x73,0x69,0x74,0x69,0x76,0x65,0x5F,0x69,0x6E,0x66, + 0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x00,0x00,0x00,0xAA,0xEE,0xFF,0xFF,0x37,0x00,0x72,0x00, + 0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xF0,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x1C,0xDA,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x35,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x00,0xD6,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00, + 0x0B,0x00,0x00,0x00,0x69,0x6E,0x66,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x12,0xEF,0xFF,0xFF, + 0x36,0x00,0x70,0x00,0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x84,0xDA,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x35,0x34,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x68,0xD6,0xFF,0xFF,0x00,0x00,0x00,0x0B, + 0x01,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x6E,0x61,0x6E,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00, + 0x62,0xFD,0xFF,0xFF,0x35,0x00,0x6E,0x00,0x54,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x14,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0xE8,0xDA,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x35,0x33,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x64,0xDA,0xFF,0xFF,0x00,0x00,0x00,0x0A, + 0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x6C,0x6F,0x6E,0x67, + 0x5F,0x65,0x6E,0x75,0x6D,0x5F,0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74, + 0x00,0x00,0x00,0x00,0x62,0xE6,0xFF,0xFF,0x34,0x00,0x6C,0x00,0x4C,0x00,0x00,0x00,0x34,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x5C,0xDB,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x35,0x32,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xD8,0xDA,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x04,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0x6C,0x6F,0x6E,0x67,0x5F,0x65,0x6E,0x75, + 0x6D,0x5F,0x6E,0x6F,0x6E,0x5F,0x65,0x6E,0x75,0x6D,0x5F,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x00,0x00, + 0xEC,0xE5,0xFF,0xFF,0x00,0x00,0x00,0x01,0x33,0x00,0x6A,0x00,0x74,0x00,0x00,0x00,0x60,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x30,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0xD8,0xDB,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x30,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0x6E,0x61,0x74,0x69,0x76,0x65,0x5F,0x69,0x6E,0x6C,0x69,0x6E, + 0x65,0x00,0x00,0x00,0x00,0xDC,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x35,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xC8,0xD8,0xFF,0xFF,0x00,0x00,0x00,0x0F, + 0x06,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0x6E,0x61,0x74,0x69,0x76,0x65,0x5F,0x69, + 0x6E,0x6C,0x69,0x6E,0x65,0x00,0x00,0x00,0x80,0xE6,0xFF,0xFF,0x00,0x00,0x00,0x01,0x32,0x00,0x68,0x00, 0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x44,0xDF,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x34,0x34,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x0C,0xDC,0xFF,0xFF, - 0x00,0x00,0x00,0x10,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x61,0x6E,0x79,0x5F, - 0x75,0x6E,0x69,0x71,0x75,0x65,0x00,0x00,0xAA,0xEA,0xFF,0xFF,0x2B,0x00,0x5A,0x00,0x4C,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0xDC,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x35,0x30,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x38,0xE8,0xFF,0xFF, + 0x00,0x00,0x0E,0x0F,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x73,0x63,0x61,0x6C, + 0x61,0x72,0x5F,0x6B,0x65,0x79,0x5F,0x73,0x6F,0x72,0x74,0x65,0x64,0x5F,0x74,0x61,0x62,0x6C,0x65,0x73, + 0x00,0x00,0x00,0x00,0xF4,0xE6,0xFF,0xFF,0x00,0x00,0x00,0x01,0x31,0x00,0x66,0x00,0x78,0x00,0x00,0x00, + 0x68,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x38,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE0,0xDC,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x07,0x00,0x00,0x00,0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x00,0x11,0x00,0x00,0x00,0x6E,0x65,0x73,0x74, + 0x65,0x64,0x5F,0x66,0x6C,0x61,0x74,0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00,0x00,0x10,0xDD,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x39,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x0C,0xE7,0xFF,0xFF,0x00,0x00,0x0E,0x04,0x01,0x00,0x00,0x00,0x1C,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x6E,0x65,0x73,0x74,0x65,0x64,0x66,0x6C, + 0x61,0x74,0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00,0x1A,0x00,0x20,0x00,0x08,0x00,0x0C,0x00,0x04,0x00, + 0x06,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00, + 0x30,0x00,0x64,0x00,0x54,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0xA0,0xDD,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x38,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x1C,0xDD,0xFF,0xFF,0x00,0x00,0x00,0x03,0x05,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x73,0x69,0x67,0x6E,0x65,0x64,0x5F,0x65, + 0x6E,0x75,0x6D,0x00,0x20,0xE8,0xFF,0xFF,0x00,0x00,0x00,0x01,0x2F,0x00,0x62,0x00,0x48,0x00,0x00,0x00, 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0xA4,0xDF,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x34,0x33,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x20,0xDF,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x61,0x6E,0x79,0x5F, - 0x75,0x6E,0x69,0x71,0x75,0x65,0x5F,0x74,0x79,0x70,0x65,0x00,0x28,0xEA,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x2A,0x00,0x58,0x00,0x00,0x01,0x00,0x00,0xF0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00, - 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0xE0,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x34,0x32,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x3C,0xE0,0xFF,0xFF, - 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34, - 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x64,0xE0,0xFF,0xFF, - 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62, - 0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00, - 0x90,0xE0,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x5F,0x67,0x65,0x74, - 0x00,0x00,0x00,0x00,0xBC,0xE0,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00, - 0x6E,0x61,0x6B,0x65,0x64,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F, - 0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xC8,0xEA,0xFF,0xFF,0x00,0x00,0x0E,0x0A,0x08,0x00,0x00,0x00, - 0x1F,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x6E,0x6F,0x6E,0x5F,0x6F,0x77, - 0x6E,0x69,0x6E,0x67,0x5F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x00,0x42,0xEC,0xFF,0xFF, - 0x29,0x00,0x56,0x00,0x04,0x01,0x00,0x00,0xF0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xB0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00, - 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x4C,0xE1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x34,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x68,0xE1,0xFF,0xFF, - 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34, - 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x90,0xE1,0xFF,0xFF, - 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62, - 0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00, - 0xBC,0xE1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x5F,0x67,0x65,0x74, - 0x00,0x00,0x00,0x00,0xE8,0xE1,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x08,0xDE,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x34,0x37,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xD8,0xE9,0xFF,0xFF,0x00,0x00,0x0E,0x04, + 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F, + 0x66,0x5F,0x65,0x6E,0x75,0x6D,0x73,0x00,0x88,0xE8,0xFF,0xFF,0x00,0x00,0x00,0x01,0x2E,0x00,0x60,0x00, + 0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x70,0xDE,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x34,0x36,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x38,0xDB,0xFF,0xFF, + 0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0D,0x00,0x00,0x00,0x61,0x6E,0x79,0x5F, + 0x61,0x6D,0x62,0x69,0x67,0x75,0x6F,0x75,0x73,0x00,0x00,0x00,0xDA,0xE9,0xFF,0xFF,0x2D,0x00,0x5E,0x00, + 0x4C,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD4,0xDE,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x34,0x35,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x50,0xDE,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x12,0x00,0x00,0x00, + 0x61,0x6E,0x79,0x5F,0x61,0x6D,0x62,0x69,0x67,0x75,0x6F,0x75,0x73,0x5F,0x74,0x79,0x70,0x65,0x00,0x00, + 0x5C,0xE9,0xFF,0xFF,0x00,0x00,0x00,0x01,0x2C,0x00,0x5C,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x44,0xDF,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x34,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x0C,0xDC,0xFF,0xFF,0x00,0x00,0x00,0x10,0x02,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x61,0x6E,0x79,0x5F,0x75,0x6E,0x69,0x71,0x75,0x65,0x00,0x00, + 0xAA,0xEA,0xFF,0xFF,0x2B,0x00,0x5A,0x00,0x4C,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA4,0xDF,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x33,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x20,0xDF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x61,0x6E,0x79,0x5F,0x75,0x6E,0x69,0x71,0x75,0x65,0x5F,0x74, + 0x79,0x70,0x65,0x00,0x28,0xEA,0xFF,0xFF,0x00,0x00,0x00,0x01,0x2A,0x00,0x58,0x00,0x00,0x01,0x00,0x00, + 0xF0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00, + 0xB0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x20,0xE0,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x32,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x3C,0xE0,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x64,0xE0,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0x90,0xE0,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x63,0x70,0x70,0x5F, + 0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x5F,0x67,0x65,0x74,0x00,0x00,0x00,0x00,0xBC,0xE0,0xFF,0xFF, + 0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65,0x64,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00, + 0xC8,0xEA,0xFF,0xFF,0x00,0x00,0x0E,0x0A,0x08,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x76,0x65,0x63,0x74, + 0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x6E,0x6F,0x6E,0x5F,0x6F,0x77,0x6E,0x69,0x6E,0x67,0x5F,0x72,0x65,0x66, + 0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x00,0x42,0xEC,0xFF,0xFF,0x29,0x00,0x56,0x00,0x04,0x01,0x00,0x00, + 0xF0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00, + 0xB0,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x4C,0xE1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x31,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x68,0xE1,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x90,0xE1,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xBC,0xE1,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x63,0x70,0x70,0x5F, + 0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x5F,0x67,0x65,0x74,0x00,0x00,0x00,0x00,0xE8,0xE1,0xFF,0xFF, + 0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65,0x64,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00, + 0x94,0xE0,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00, + 0x6E,0x6F,0x6E,0x5F,0x6F,0x77,0x6E,0x69,0x6E,0x67,0x5F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65, + 0x00,0x00,0x00,0x00,0x80,0xEC,0xFF,0xFF,0x00,0x00,0x00,0x01,0x28,0x00,0x54,0x00,0x10,0x01,0x00,0x00, + 0x00,0x01,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00, + 0xB4,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x78,0xE2,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x34,0x30,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x94,0xE2,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xBC,0xE2,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xE8,0xE2,0xFF,0xFF,0x14,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x2E,0x67,0x65,0x74,0x28,0x29,0x00,0x00,0x10,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x5F,0x67,0x65,0x74,0x00,0x00,0x00,0x00, + 0x18,0xE3,0xFF,0xFF,0x20,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x64,0x65,0x66,0x61, + 0x75,0x6C,0x74,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0x30,0xED,0xFF,0xFF, + 0x00,0x00,0x0E,0x0A,0x08,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F, + 0x66,0x5F,0x63,0x6F,0x5F,0x6F,0x77,0x6E,0x69,0x6E,0x67,0x5F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63, + 0x65,0x73,0x00,0x00,0xAA,0xEE,0xFF,0xFF,0x27,0x00,0x52,0x00,0xD4,0x00,0x00,0x00,0xC0,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x80,0x00,0x00,0x00, + 0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xB0,0xE3,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x39,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0xCC,0xE3,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31, + 0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00, + 0xF4,0xE3,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65, + 0x72,0x72,0x61,0x62,0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65, + 0x00,0x00,0x00,0x00,0x20,0xE4,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00, 0x6E,0x61,0x6B,0x65,0x64,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F, - 0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0x94,0xE0,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x6E,0x6F,0x6E,0x5F,0x6F,0x77,0x6E,0x69,0x6E,0x67,0x5F,0x72, - 0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x00,0x00,0x00,0x00,0x80,0xEC,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x28,0x00,0x54,0x00,0x10,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0xB4,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00, - 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x78,0xE2,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x34,0x30,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x94,0xE2,0xFF,0xFF, - 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34, - 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xBC,0xE2,0xFF,0xFF, - 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62, - 0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00, - 0xE8,0xE2,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x2E,0x67,0x65,0x74, - 0x28,0x29,0x00,0x00,0x10,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65, - 0x5F,0x67,0x65,0x74,0x00,0x00,0x00,0x00,0x18,0xE3,0xFF,0xFF,0x20,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x10,0x00,0x00,0x00,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65, - 0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65, - 0x00,0x00,0x00,0x00,0x30,0xED,0xFF,0xFF,0x00,0x00,0x0E,0x0A,0x08,0x00,0x00,0x00,0x1E,0x00,0x00,0x00, - 0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x63,0x6F,0x5F,0x6F,0x77,0x6E,0x69,0x6E,0x67,0x5F, - 0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x00,0x00,0xAA,0xEE,0xFF,0xFF,0x27,0x00,0x52,0x00, - 0xD4,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xCC,0xE2,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x63,0x6F,0x5F,0x6F,0x77,0x6E,0x69,0x6E,0x67,0x5F,0x72,0x65, + 0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x00,0xB4,0xEE,0xFF,0xFF,0x00,0x00,0x00,0x01,0x26,0x00,0x50,0x00, + 0x84,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA0,0xE4,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x38,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0xBC,0xE4,0xFF,0xFF,0x20,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x64,0x65,0x66,0x61, + 0x75,0x6C,0x74,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xA8,0xF0,0xFF,0xFF, + 0x00,0x00,0x0E,0x0F,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x76,0x65,0x63,0x74, + 0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x73,0x74,0x72,0x6F,0x6E,0x67,0x5F,0x72,0x65,0x66,0x65,0x72,0x72,0x61, + 0x62,0x6C,0x65,0x73,0x00,0x00,0x00,0x00,0x68,0xEF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x25,0x00,0x4E,0x00, + 0xD0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0xB0,0xE3,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x39,0x00,0x00, - 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xCC,0xE3,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x5C,0xE5,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x37,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x78,0xE5,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, 0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xF4,0xE3,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xA0,0xE5,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, 0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00, - 0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0x20,0xE4,0xFF,0xFF,0x14,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xCC,0xE5,0xFF,0xFF,0x14,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65,0x64,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xCC,0xE2,0xFF,0xFF, - 0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x63,0x6F,0x5F,0x6F, - 0x77,0x6E,0x69,0x6E,0x67,0x5F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x00,0xB4,0xEE,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x26,0x00,0x50,0x00,0x84,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0xA0,0xE4,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x38,0x00,0x00, - 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xBC,0xE4,0xFF,0xFF,0x20,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x10,0x00,0x00,0x00,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65, - 0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65, - 0x00,0x00,0x00,0x00,0xA8,0xF0,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x1C,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x73,0x74,0x72,0x6F,0x6E,0x67, - 0x5F,0x72,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x73,0x00,0x00,0x00,0x00,0x68,0xEF,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x25,0x00,0x4E,0x00,0xD0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xD8,0xEF,0xFF,0xFF, + 0x00,0x00,0x0E,0x0A,0x08,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F, + 0x66,0x5F,0x77,0x65,0x61,0x6B,0x5F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x73,0x00,0x00,0x00, + 0x4E,0xF1,0xFF,0xFF,0x24,0x00,0x4C,0x00,0xD4,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00, - 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0xE5,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x33,0x37,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x78,0xE5,0xFF,0xFF, + 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x54,0xE6,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x33,0x36,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x70,0xE6,0xFF,0xFF, 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34, - 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xA0,0xE5,0xFF,0xFF, + 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x98,0xE6,0xFF,0xFF, 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62, 0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00, - 0xCC,0xE5,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65, + 0xC4,0xE6,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65, 0x64,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65, - 0x00,0x00,0x00,0x00,0xD8,0xEF,0xFF,0xFF,0x00,0x00,0x0E,0x0A,0x08,0x00,0x00,0x00,0x19,0x00,0x00,0x00, - 0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x77,0x65,0x61,0x6B,0x5F,0x72,0x65,0x66,0x65,0x72, - 0x65,0x6E,0x63,0x65,0x73,0x00,0x00,0x00,0x4E,0xF1,0xFF,0xFF,0x24,0x00,0x4C,0x00,0xD4,0x00,0x00,0x00, - 0xC0,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x80,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x54,0xE6,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x36,0x00,0x00,0x02,0x00,0x00,0x00, - 0x69,0x64,0x00,0x00,0x70,0xE6,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68, - 0x00,0x00,0x00,0x00,0x98,0xE6,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0B,0x00,0x00,0x00, - 0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x54,0x00,0x08,0x00,0x00,0x00,0x63,0x70,0x70,0x5F, - 0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xC4,0xE6,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65,0x64,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F, - 0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0x70,0xE5,0xFF,0xFF,0x00,0x00,0x00,0x0A, - 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x73,0x69,0x6E,0x67,0x6C,0x65,0x5F,0x77, - 0x65,0x61,0x6B,0x5F,0x72,0x65,0x66,0x65,0x72,0x65,0x6E,0x63,0x65,0x00,0x00,0x00,0x5C,0xF1,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x23,0x00,0x4A,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x44,0xE7,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x35,0x00,0x00,0x02,0x00,0x00,0x00, - 0x69,0x64,0x00,0x00,0x14,0xF3,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x15,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x72,0x65,0x66,0x65,0x72,0x72, - 0x61,0x62,0x6C,0x65,0x73,0x00,0x00,0x00,0xCC,0xF1,0xFF,0xFF,0x00,0x00,0x00,0x01,0x22,0x00,0x48,0x00, + 0x00,0x00,0x00,0x00,0x70,0xE5,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x15,0x00,0x00,0x00,0x73,0x69,0x6E,0x67,0x6C,0x65,0x5F,0x77,0x65,0x61,0x6B,0x5F,0x72,0x65,0x66,0x65, + 0x72,0x65,0x6E,0x63,0x65,0x00,0x00,0x00,0x5C,0xF1,0xFF,0xFF,0x00,0x00,0x00,0x01,0x23,0x00,0x4A,0x00, 0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xB4,0xE7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x33,0x34,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x7C,0xE4,0xFF,0xFF, - 0x00,0x00,0x00,0x0F,0x0B,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x70,0x61,0x72,0x65, - 0x6E,0x74,0x5F,0x6E,0x61,0x6D,0x65,0x73,0x70,0x61,0x63,0x65,0x5F,0x74,0x65,0x73,0x74,0x00,0x00,0x00, - 0x3C,0xF2,0xFF,0xFF,0x00,0x00,0x00,0x01,0x21,0x00,0x46,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x44,0xE7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x33,0x35,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x14,0xF3,0xFF,0xFF, + 0x00,0x00,0x0E,0x0F,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x76,0x65,0x63,0x74, + 0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x72,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x73,0x00,0x00,0x00, + 0xCC,0xF1,0xFF,0xFF,0x00,0x00,0x00,0x01,0x22,0x00,0x48,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00, 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x24,0xE8,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x33,0x00,0x00, - 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x20,0xF2,0xFF,0xFF,0x00,0x00,0x0E,0x0C,0x08,0x00,0x00,0x00, - 0x11,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x64,0x6F,0x75,0x62,0x6C,0x65, - 0x73,0x00,0x00,0x00,0xA4,0xF2,0xFF,0xFF,0x00,0x00,0x00,0x01,0x20,0x00,0x44,0x00,0x44,0x00,0x00,0x00, + 0xB4,0xE7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x34,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x7C,0xE4,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x0B,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x70,0x61,0x72,0x65,0x6E,0x74,0x5F,0x6E,0x61,0x6D,0x65,0x73, + 0x70,0x61,0x63,0x65,0x5F,0x74,0x65,0x73,0x74,0x00,0x00,0x00,0x3C,0xF2,0xFF,0xFF,0x00,0x00,0x00,0x01, + 0x21,0x00,0x46,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x24,0xE8,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x33,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0x20,0xF2,0xFF,0xFF,0x00,0x00,0x0E,0x0C,0x08,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x76,0x65,0x63,0x74, + 0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x64,0x6F,0x75,0x62,0x6C,0x65,0x73,0x00,0x00,0x00,0xA4,0xF2,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x20,0x00,0x44,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x8C,0xE8,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x32,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x88,0xF2,0xFF,0xFF,0x00,0x00,0x0E,0x09,0x08,0x00,0x00,0x00,0x0F,0x00,0x00,0x00, + 0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x6C,0x6F,0x6E,0x67,0x73,0x00,0x08,0xF3,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x1F,0x00,0x42,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xF0,0xE8,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x31,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0xC0,0xF4,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x06,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x35,0x00,0x00,0x00,0x68,0xF3,0xFF,0xFF,0x00,0x00,0x00,0x01, + 0x1E,0x00,0x40,0x00,0x6C,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x54,0xE9,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x70,0xE9,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x30,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x66,0x6C,0x65,0x78,0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00, + 0x74,0xF3,0xFF,0xFF,0x00,0x00,0x0E,0x04,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x66,0x6C,0x65,0x78, + 0x00,0x00,0x00,0x00,0xEC,0xF3,0xFF,0xFF,0x00,0x00,0x00,0x01,0x1D,0x00,0x3E,0x00,0x48,0x00,0x00,0x00, 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x8C,0xE8,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x33,0x32,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x88,0xF2,0xFF,0xFF,0x00,0x00,0x0E,0x09, - 0x08,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x76,0x65,0x63,0x74,0x6F,0x72,0x5F,0x6F,0x66,0x5F,0x6C,0x6F, - 0x6E,0x67,0x73,0x00,0x08,0xF3,0xFF,0xFF,0x00,0x00,0x00,0x01,0x1F,0x00,0x42,0x00,0x48,0x00,0x00,0x00, - 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0xF0,0xE8,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x33,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xC0,0xF4,0xFF,0xFF,0x00,0x00,0x0E,0x0F, - 0x06,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x35,0x00,0x00,0x00, - 0x68,0xF3,0xFF,0xFF,0x00,0x00,0x00,0x01,0x1E,0x00,0x40,0x00,0x6C,0x00,0x00,0x00,0x5C,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x54,0xE9,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x33,0x30,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x70,0xE9,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x66,0x6C,0x65,0x78, - 0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00,0x74,0xF3,0xFF,0xFF,0x00,0x00,0x0E,0x04,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x66,0x6C,0x65,0x78,0x00,0x00,0x00,0x00,0xEC,0xF3,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x1D,0x00,0x3E,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD4,0xE9,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x39,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0xA4,0xF5,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x17,0x00,0x00,0x00, - 0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x73,0x6F,0x72,0x74,0x65,0x64,0x73,0x74,0x72, - 0x75,0x63,0x74,0x00,0x5C,0xF4,0xFF,0xFF,0x00,0x00,0x00,0x01,0x1C,0x00,0x3C,0x00,0x44,0x00,0x00,0x00, - 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x44,0xEA,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x32,0x38,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x40,0xF4,0xFF,0xFF,0x00,0x00,0x0E,0x0D, - 0x04,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x73, - 0x74,0x72,0x69,0x6E,0x67,0x32,0x00,0x00,0xAE,0xF5,0xFF,0xFF,0x1B,0x00,0x3A,0x00,0x44,0x00,0x00,0x00, - 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0xA8,0xEA,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x32,0x37,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x8C,0xE6,0xFF,0xFF,0x00,0x00,0x00,0x0B, - 0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x66,0x33,0x00,0x00,0x9A,0xFF,0xFF,0xFF, - 0x1A,0x00,0x38,0x00,0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x0C,0xEB,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x32,0x36,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xF0,0xE6,0xFF,0xFF,0x00,0x00,0x00,0x0B, - 0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x66,0x32,0x00,0x00,0x00,0x00,0x1A,0x00, - 0x24,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x06,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00,0x19,0x00,0x36,0x00,0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00, - 0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x6E,0x86,0x1B,0xF0,0xF9,0x21,0x09,0x40,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x8C,0xEB,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x35,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x70,0xE7,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74, - 0x66,0x00,0x00,0x00,0x00,0xF6,0xFF,0xFF,0x00,0x00,0x00,0x01,0x18,0x00,0x34,0x00,0x44,0x00,0x00,0x00, - 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0xE8,0xEB,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x32,0x34,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xE4,0xF5,0xFF,0xFF,0x00,0x00,0x0E,0x02, - 0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x62, - 0x6F,0x6F,0x6C,0x73,0x00,0x00,0x00,0x00,0x52,0xF7,0xFF,0xFF,0x17,0x00,0x32,0x00,0x74,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0xD4,0xE9,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x32,0x39,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xA4,0xF5,0xFF,0xFF,0x00,0x00,0x0E,0x0F, + 0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61, + 0x79,0x6F,0x66,0x73,0x6F,0x72,0x74,0x65,0x64,0x73,0x74,0x72,0x75,0x63,0x74,0x00,0x5C,0xF4,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x1C,0x00,0x3C,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x44,0xEA,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x38,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x40,0xF4,0xFF,0xFF,0x00,0x00,0x0E,0x0D,0x04,0x00,0x00,0x00,0x12,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x73,0x74,0x72,0x69,0x6E,0x67,0x32,0x00,0x00, + 0xAE,0xF5,0xFF,0xFF,0x1B,0x00,0x3A,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA8,0xEA,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x37,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x8C,0xE6,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x66,0x33,0x00,0x00,0x9A,0xFF,0xFF,0xFF,0x1A,0x00,0x38,0x00,0x50,0x00,0x00,0x00, + 0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x40, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0C,0xEB,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x36,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0xF0,0xE6,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x66,0x32,0x00,0x00,0x00,0x00,0x1A,0x00,0x24,0x00,0x08,0x00,0x0C,0x00,0x04,0x00, + 0x06,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00, + 0x19,0x00,0x36,0x00,0x50,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, + 0x6E,0x86,0x1B,0xF0,0xF9,0x21,0x09,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x8C,0xEB,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x32,0x35,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x70,0xE7,0xFF,0xFF,0x00,0x00,0x00,0x0B, + 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x66,0x00,0x00,0x00,0x00,0xF6,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x18,0x00,0x34,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE8,0xEB,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x34,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0xE4,0xF5,0xFF,0xFF,0x00,0x00,0x0E,0x02,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x62,0x6F,0x6F,0x6C,0x73,0x00,0x00,0x00,0x00, + 0x52,0xF7,0xFF,0xFF,0x17,0x00,0x32,0x00,0x74,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x50,0xEC,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x33,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x6C,0xEC,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x14,0xEB,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x75,0x36,0x34,0x5F, + 0x66,0x6E,0x76,0x31,0x61,0x00,0x00,0x00,0xE6,0xF7,0xFF,0xFF,0x16,0x00,0x30,0x00,0x74,0x00,0x00,0x00, 0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x50,0xEC,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x32,0x33,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x6C,0xEC,0xFF,0xFF, + 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE4,0xEC,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x32,0x32,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x00,0xED,0xFF,0xFF, 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34, - 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x14,0xEB,0xFF,0xFF, - 0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74, - 0x68,0x61,0x73,0x68,0x75,0x36,0x34,0x5F,0x66,0x6E,0x76,0x31,0x61,0x00,0x00,0x00,0xE6,0xF7,0xFF,0xFF, - 0x16,0x00,0x30,0x00,0x74,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE4,0xEC,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x32,0x00,0x00,0x02,0x00,0x00,0x00, - 0x69,0x64,0x00,0x00,0x00,0xED,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68, - 0x00,0x00,0x00,0x00,0xA8,0xEB,0xFF,0xFF,0x00,0x00,0x00,0x09,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x73,0x36,0x34,0x5F,0x66,0x6E,0x76,0x31, - 0x61,0x00,0x00,0x00,0x7A,0xF8,0xFF,0xFF,0x15,0x00,0x2E,0x00,0xCC,0x00,0x00,0x00,0xBC,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x7C,0x00,0x00,0x00, - 0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x80,0xED,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x9C,0xED,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31, + 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xA8,0xEB,0xFF,0xFF, + 0x00,0x00,0x00,0x09,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74, + 0x68,0x61,0x73,0x68,0x73,0x36,0x34,0x5F,0x66,0x6E,0x76,0x31,0x61,0x00,0x00,0x00,0x7A,0xF8,0xFF,0xFF, + 0x15,0x00,0x2E,0x00,0xCC,0x00,0x00,0x00,0xBC,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x24,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x80,0xED,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x32,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x9C,0xED,0xFF,0xFF,0x18,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x33,0x32,0x00,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xC4,0xED,0xFF,0xFF,0x14,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x53,0x74,0x61,0x74,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xEC,0xED,0xFF,0xFF,0x14,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65,0x64,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00,0xE0,0xE9,0xFF,0xFF, + 0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68, + 0x75,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31,0x61,0x00,0x00,0x00,0x66,0xF9,0xFF,0xFF,0x14,0x00,0x2C,0x00, + 0x70,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x64,0xEE,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x30,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0x80,0xEE,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31, 0x61,0x5F,0x33,0x32,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00, - 0xC4,0xED,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x53,0x74,0x61,0x74, - 0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x00, - 0xEC,0xED,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x6E,0x61,0x6B,0x65, - 0x64,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x63,0x70,0x70,0x5F,0x70,0x74,0x72,0x5F,0x74,0x79,0x70,0x65, - 0x00,0x00,0x00,0x00,0xE0,0xE9,0xFF,0xFF,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00, - 0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x75,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31,0x61,0x00,0x00,0x00, - 0x66,0xF9,0xFF,0xFF,0x14,0x00,0x2C,0x00,0x70,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x70,0xEA,0xFF,0xFF,0x00,0x00,0x00,0x07,0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74, + 0x68,0x61,0x73,0x68,0x73,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31,0x61,0x00,0x00,0x00,0xF6,0xF9,0xFF,0xFF, + 0x13,0x00,0x2A,0x00,0x70,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xF4,0xEE,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x39,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x10,0xEF,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00, + 0x66,0x6E,0x76,0x31,0x5F,0x36,0x34,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00, + 0xB4,0xED,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x75,0x36,0x34,0x5F,0x66,0x6E,0x76,0x31,0x00,0x00,0x00,0x00, + 0x86,0xFA,0xFF,0xFF,0x12,0x00,0x28,0x00,0x70,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x64,0xEE,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x30,0x00,0x00, - 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x80,0xEE,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x33,0x32,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x70,0xEA,0xFF,0xFF,0x00,0x00,0x00,0x07,0x01,0x00,0x00,0x00, - 0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x73,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31, - 0x61,0x00,0x00,0x00,0xF6,0xF9,0xFF,0xFF,0x13,0x00,0x2A,0x00,0x70,0x00,0x00,0x00,0x5C,0x00,0x00,0x00, + 0x84,0xEF,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x38,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xA0,0xEF,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x07,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x5F,0x36,0x34,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68, + 0x00,0x00,0x00,0x00,0x44,0xEE,0xFF,0xFF,0x00,0x00,0x00,0x09,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x73,0x36,0x34,0x5F,0x66,0x6E,0x76,0x31, + 0x00,0x00,0x00,0x00,0x16,0xFB,0xFF,0xFF,0x11,0x00,0x26,0x00,0x6C,0x00,0x00,0x00,0x5C,0x00,0x00,0x00, 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0xF4,0xEE,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x31,0x39,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x10,0xEF,0xFF,0xFF,0x14,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x5F,0x36,0x34,0x00,0x04,0x00,0x00,0x00, - 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xB4,0xED,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x75,0x36,0x34,0x5F, - 0x66,0x6E,0x76,0x31,0x00,0x00,0x00,0x00,0x86,0xFA,0xFF,0xFF,0x12,0x00,0x28,0x00,0x70,0x00,0x00,0x00, - 0x5C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x84,0xEF,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x31,0x38,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xA0,0xEF,0xFF,0xFF, - 0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x5F,0x36,0x34,0x00, - 0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x44,0xEE,0xFF,0xFF,0x00,0x00,0x00,0x09, - 0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68, - 0x73,0x36,0x34,0x5F,0x66,0x6E,0x76,0x31,0x00,0x00,0x00,0x00,0x16,0xFB,0xFF,0xFF,0x11,0x00,0x26,0x00, - 0x6C,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x14,0xF0,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x37,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x30,0xF0,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x66,0x6E,0x76,0x31, - 0x5F,0x33,0x32,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x1C,0xEC,0xFF,0xFF, - 0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68, - 0x75,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31,0x00,0x00,0x00,0x00,0xA2,0xFB,0xFF,0xFF,0x10,0x00,0x24,0x00, - 0x6C,0x00,0x00,0x00,0x5C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA0,0xF0,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x36,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0xBC,0xF0,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x66,0x6E,0x76,0x31, - 0x5F,0x33,0x32,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xA8,0xEC,0xFF,0xFF, - 0x00,0x00,0x00,0x07,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68, - 0x73,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31,0x00,0x00,0x00,0x00,0x2E,0xFC,0xFF,0xFF,0x0F,0x00,0x22,0x00, - 0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x28,0xF1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x31,0x35,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xC4,0xEF,0xFF,0xFF, - 0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x74,0x65,0x73,0x74, - 0x62,0x6F,0x6F,0x6C,0x00,0x00,0x00,0x00,0xA4,0xFB,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0E,0x00,0x20,0x00, - 0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x8C,0xF1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x31,0x34,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x54,0xEE,0xFF,0xFF, - 0x00,0x00,0x00,0x0F,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x74,0x65,0x73,0x74, - 0x65,0x6D,0x70,0x74,0x79,0x00,0x00,0x00,0x08,0xFC,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0D,0x00,0x1E,0x00, - 0x78,0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xF4,0xF1,0xFF,0xFF,0x14,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x00,0x11,0x00,0x00,0x00, - 0x6E,0x65,0x73,0x74,0x65,0x64,0x5F,0x66,0x6C,0x61,0x74,0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00,0x00, - 0x24,0xF2,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x33,0x00,0x00, - 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x20,0xFC,0xFF,0xFF,0x00,0x00,0x0E,0x04,0x01,0x00,0x00,0x00, - 0x14,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x6E,0x65,0x73,0x74,0x65,0x64,0x66,0x6C,0x61,0x74,0x62,0x75, - 0x66,0x66,0x65,0x72,0x00,0x00,0x00,0x00,0xA8,0xFC,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0C,0x00,0x1C,0x00, - 0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x90,0xF2,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x31,0x32,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x58,0xEF,0xFF,0xFF, - 0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x65,0x6E,0x65,0x6D, - 0x79,0x00,0x00,0x00,0x08,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0B,0x00,0x1A,0x00,0xB4,0x00,0x00,0x00, - 0xA0,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x1C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x20,0x6D,0x75,0x6C,0x74,0x69,0x6C,0x69,0x6E,0x65,0x20,0x74, - 0x6F,0x6F,0x00,0x00,0x49,0x00,0x00,0x00,0x20,0x61,0x6E,0x20,0x65,0x78,0x61,0x6D,0x70,0x6C,0x65,0x20, - 0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6D,0x6D,0x65,0x6E, - 0x74,0x3A,0x20,0x74,0x68,0x69,0x73,0x20,0x77,0x69,0x6C,0x6C,0x20,0x65,0x6E,0x64,0x20,0x75,0x70,0x20, - 0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x67,0x65,0x6E,0x65,0x72,0x61,0x74,0x65,0x64,0x20,0x63,0x6F,0x64, - 0x65,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0xF3,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x2C,0xFF,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x11,0x00,0x00,0x00, - 0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x74,0x61,0x62,0x6C,0x65,0x73,0x00,0x00,0x00, - 0xE0,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0A,0x00,0x18,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x14,0xF0,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x31,0x37,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x30,0xF0,0xFF,0xFF,0x14,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x5F,0x33,0x32,0x00,0x04,0x00,0x00,0x00, + 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x1C,0xEC,0xFF,0xFF,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00, + 0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x75,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31, + 0x00,0x00,0x00,0x00,0xA2,0xFB,0xFF,0xFF,0x10,0x00,0x24,0x00,0x6C,0x00,0x00,0x00,0x5C,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0xA0,0xF0,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x31,0x36,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xBC,0xF0,0xFF,0xFF,0x14,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x5F,0x33,0x32,0x00,0x04,0x00,0x00,0x00, + 0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0xA8,0xEC,0xFF,0xFF,0x00,0x00,0x00,0x07,0x01,0x00,0x00,0x00, + 0x10,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x68,0x61,0x73,0x68,0x73,0x33,0x32,0x5F,0x66,0x6E,0x76,0x31, + 0x00,0x00,0x00,0x00,0x2E,0xFC,0xFF,0xFF,0x0F,0x00,0x22,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00, 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0xC8,0xF3,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x30,0x00,0x00, - 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xC4,0xFD,0xFF,0xFF,0x00,0x00,0x0E,0x0D,0x04,0x00,0x00,0x00, - 0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x73,0x74,0x72,0x69,0x6E, - 0x67,0x00,0x00,0x00,0x48,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x01,0x09,0x00,0x16,0x00,0x58,0x00,0x00,0x00, + 0x28,0xF1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x35,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xC4,0xEF,0xFF,0xFF,0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x62,0x6F,0x6F,0x6C,0x00,0x00,0x00,0x00, + 0xA4,0xFB,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0E,0x00,0x20,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x8C,0xF1,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x34,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x54,0xEE,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x03,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x65,0x6D,0x70,0x74,0x79,0x00,0x00,0x00, + 0x08,0xFC,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0D,0x00,0x1E,0x00,0x78,0x00,0x00,0x00,0x68,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x38,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0xF4,0xF1,0xFF,0xFF,0x14,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00, + 0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x00,0x11,0x00,0x00,0x00,0x6E,0x65,0x73,0x74,0x65,0x64,0x5F,0x66, + 0x6C,0x61,0x74,0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00,0x00,0x24,0xF2,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x33,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0x20,0xFC,0xFF,0xFF,0x00,0x00,0x0E,0x04,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x74,0x65,0x73,0x74, + 0x6E,0x65,0x73,0x74,0x65,0x64,0x66,0x6C,0x61,0x74,0x62,0x75,0x66,0x66,0x65,0x72,0x00,0x00,0x00,0x00, + 0xA8,0xFC,0xFF,0xFF,0x00,0x00,0x00,0x01,0x0C,0x00,0x1C,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x90,0xF2,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x32,0x00,0x00, + 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x58,0xEF,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x65,0x6E,0x65,0x6D,0x79,0x00,0x00,0x00,0x08,0xFD,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x0B,0x00,0x1A,0x00,0xB4,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x78,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0E,0x00,0x00,0x00, + 0x20,0x6D,0x75,0x6C,0x74,0x69,0x6C,0x69,0x6E,0x65,0x20,0x74,0x6F,0x6F,0x00,0x00,0x49,0x00,0x00,0x00, + 0x20,0x61,0x6E,0x20,0x65,0x78,0x61,0x6D,0x70,0x6C,0x65,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74, + 0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6D,0x6D,0x65,0x6E,0x74,0x3A,0x20,0x74,0x68,0x69,0x73,0x20, + 0x77,0x69,0x6C,0x6C,0x20,0x65,0x6E,0x64,0x20,0x75,0x70,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x67, + 0x65,0x6E,0x65,0x72,0x61,0x74,0x65,0x64,0x20,0x63,0x6F,0x64,0x65,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x5C,0xF3,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x31,0x31,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x2C,0xFF,0xFF,0xFF,0x00,0x00,0x0E,0x0F, + 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61, + 0x79,0x6F,0x66,0x74,0x61,0x62,0x6C,0x65,0x73,0x00,0x00,0x00,0xE0,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x01, + 0x0A,0x00,0x18,0x00,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xC8,0xF3,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x31,0x30,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0xC4,0xFD,0xFF,0xFF,0x00,0x00,0x0E,0x0D,0x04,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x74,0x65,0x73,0x74, + 0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x73,0x74,0x72,0x69,0x6E,0x67,0x00,0x00,0x00,0x48,0xFE,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x09,0x00,0x16,0x00,0x58,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x30,0xF4,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x39,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x10,0x00,0x10,0x00,0x06,0x00,0x07,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x0C,0x00, + 0x10,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x06,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x34,0x00,0x00,0x00,0xB8,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x01,0x08,0x00,0x14,0x00, + 0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA0,0xF4,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x68,0xF1,0xFF,0xFF, + 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x74,0x65,0x73,0x74, + 0x00,0x00,0x1A,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00,0x07,0x00,0x12,0x00,0x4C,0x00,0x00,0x00, + 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x14,0xF5,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x37,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x90,0xF4,0xFF,0xFF,0x00,0x00,0x00,0x01, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x74,0x65,0x73,0x74, + 0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x42,0xFD,0xFF,0xFF,0x06,0x00,0x10,0x00,0x58,0x00,0x00,0x00, + 0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x84,0xF5,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x00,0xF5,0xFF,0xFF,0x00,0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x63,0x6F,0x6C,0x6F,0x72,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00, + 0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00, + 0x18,0x00,0x07,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x05,0x00,0x0E,0x00,0x54,0x00,0x00,0x00, 0x44,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x30,0xF4,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x39,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x10,0x00,0x10,0x00,0x06,0x00,0x07,0x00, - 0x08,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x06,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x34,0x00,0x00,0x00,0xB8,0xFE,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x08,0x00,0x14,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xA0,0xF4,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x69,0x64,0x00,0x00,0x68,0xF1,0xFF,0xFF,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x00,0x00,0x1A,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x04,0x00, - 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00, - 0x07,0x00,0x12,0x00,0x4C,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x14,0xF5,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x90,0xF4,0xFF,0xFF,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x09,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x5F,0x74,0x79,0x70,0x65,0x00,0x00,0x00,0x42,0xFD,0xFF,0xFF, - 0x06,0x00,0x10,0x00,0x58,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, - 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x84,0xF5,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x36,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x00,0xF5,0xFF,0xFF,0x00,0x00,0x00,0x04, - 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x63,0x6F,0x6C,0x6F, - 0x72,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x18,0x00,0x07,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x01, - 0x05,0x00,0x0E,0x00,0x54,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0xF6,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x35,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x10,0x00,0x0C,0x00,0x06,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x00,0x00, - 0x00,0x00,0x0E,0x04,0x01,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x69,0x6E,0x76,0x65,0x6E,0x74,0x6F,0x72, - 0x79,0x00,0x1A,0x00,0x1C,0x00,0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x07,0x00, - 0x00,0x00,0x00,0x00,0x14,0x00,0x18,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x00,0x0C,0x00, - 0x98,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x94,0xF6,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x70,0x72,0x69,0x6F,0x72,0x69,0x74,0x79,0x00,0x00,0x00,0x00,0xB8,0xF6,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0xD4,0xF6,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00, - 0x0A,0x00,0x00,0x00,0x64,0x65,0x70,0x72,0x65,0x63,0x61,0x74,0x65,0x64,0x00,0x00,0x78,0xF5,0xFF,0xFF, - 0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x72,0x69,0x65, - 0x6E,0x64,0x6C,0x79,0x00,0x00,0x1A,0x00,0x1C,0x00,0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x06,0x00,0x07,0x00,0x14,0x00,0x18,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x01,0x01, - 0x03,0x00,0x0A,0x00,0x64,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0xF7,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x00, - 0x6B,0x65,0x79,0x00,0x78,0xF7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x33,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x5C,0xF3,0xFF,0xFF,0x00,0x00,0x00,0x0D, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x6E,0x61,0x6D,0x65,0x00,0x00,0x00,0x00,0x9A,0xFF,0xFF,0xFF, - 0x02,0x00,0x08,0x00,0x54,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, - 0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0xDC,0xF7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x32,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x78,0xF6,0xFF,0xFF,0x00,0x00,0x00,0x05, - 0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x68,0x70,0x00,0x00,0x00,0x00,0x1A,0x00, - 0x24,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x06,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00,0x01,0x00,0x06,0x00,0x54,0x00,0x00,0x00,0x40,0x00,0x00,0x00, - 0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0xF8,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0xF8,0xF6,0xFF,0xFF,0x00,0x00,0x00,0x05,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x6D,0x61,0x6E,0x61,0x00,0x00,0x00,0x00,0x1C,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x06,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x05,0x00,0x1C,0x00,0x00,0x00, - 0x00,0x01,0x04,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD4,0xF8,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x9C,0xF5,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x09,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, - 0x70,0x6F,0x73,0x00,0x44,0xF6,0xFF,0xFF,0x20,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x08,0x00,0x00,0x00,0xE0,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x3C,0x00,0x00,0x00, - 0x19,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x52, - 0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C,0x65,0x00,0x1A,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x00,0x00, - 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00, - 0x00,0x01,0x04,0x00,0x74,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x8C,0xF9,0xFF,0xFF, + 0x04,0x00,0x00,0x00,0x04,0xF6,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x35,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x10,0x00,0x0C,0x00,0x06,0x00,0x07,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x0E,0x04,0x01,0x00,0x00,0x00, + 0x09,0x00,0x00,0x00,0x69,0x6E,0x76,0x65,0x6E,0x74,0x6F,0x72,0x79,0x00,0x1A,0x00,0x1C,0x00,0x0C,0x00, + 0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x18,0x00, + 0x1A,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x00,0x0C,0x00,0x98,0x00,0x00,0x00,0x84,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x4C,0x00,0x00,0x00, + 0x2C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x94,0xF6,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x70,0x72,0x69,0x6F,0x72,0x69,0x74,0x79, + 0x00,0x00,0x00,0x00,0xB8,0xF6,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x34,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xD4,0xF6,0xFF,0xFF,0x10,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x64,0x65,0x70,0x72, + 0x65,0x63,0x61,0x74,0x65,0x64,0x00,0x00,0x78,0xF5,0xFF,0xFF,0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x72,0x69,0x65,0x6E,0x64,0x6C,0x79,0x00,0x00,0x1A,0x00, + 0x1C,0x00,0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x07,0x00, + 0x14,0x00,0x18,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x00,0x0A,0x00,0x64,0x00,0x00,0x00, + 0x54,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x5C,0xF7,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x6B,0x65,0x79,0x00,0x78,0xF7,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x5C,0xF3,0xFF,0xFF,0x00,0x00,0x00,0x0D,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x6E,0x61,0x6D,0x65,0x00,0x00,0x00,0x00,0x9A,0xFF,0xFF,0xFF,0x02,0x00,0x08,0x00,0x54,0x00,0x00,0x00, + 0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xDC,0xF7,0xFF,0xFF, + 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x32,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x78,0xF6,0xFF,0xFF,0x00,0x00,0x00,0x05,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x02,0x00,0x00,0x00,0x68,0x70,0x00,0x00,0x00,0x00,0x1A,0x00,0x24,0x00,0x08,0x00,0x0C,0x00,0x04,0x00, + 0x06,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00, + 0x01,0x00,0x06,0x00,0x54,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x00,0x00,0x00, + 0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x5C,0xF8,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x31,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0xF8,0xF6,0xFF,0xFF,0x00,0x00,0x00,0x05, + 0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x6D,0x61,0x6E,0x61,0x00,0x00,0x00,0x00, + 0x1C,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x10,0x00,0x14,0x00,0x05,0x00,0x1C,0x00,0x00,0x00,0x00,0x01,0x04,0x00,0x48,0x00,0x00,0x00, + 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0xD4,0xF8,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x30,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x9C,0xF5,0xFF,0xFF,0x00,0x00,0x00,0x0F, + 0x09,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x70,0x6F,0x73,0x00,0x44,0xF6,0xFF,0xFF, + 0x20,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xE0,0x08,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, + 0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x52,0x65,0x66,0x65,0x72,0x72,0x61,0x62,0x6C, + 0x65,0x00,0x1A,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x05,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00,0x00,0x01,0x04,0x00,0x74,0x00,0x00,0x00, + 0x60,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x24,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x8C,0xF9,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x6B,0x65,0x79,0x00,0xA8,0xF9,0xFF,0xFF, + 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34, + 0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68,0x00,0x00,0x00,0x00,0x50,0xF8,0xFF,0xFF, + 0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, + 0x24,0xF7,0xFF,0xFF,0x28,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00, + 0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0xCC,0x00,0x00,0x00, + 0x98,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, + 0x6C,0x65,0x2E,0x53,0x74,0x61,0x74,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x0C,0x00,0x10,0x00,0x08,0x00, + 0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x14,0x00,0x18,0x00,0x1A,0x00,0x00,0x00, + 0x00,0x00,0x00,0x01,0x02,0x00,0x08,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x70,0xFA,0xFF,0xFF, 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x00, - 0x6B,0x65,0x79,0x00,0xA8,0xF9,0xFF,0xFF,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x66,0x6E,0x76,0x31,0x61,0x5F,0x36,0x34,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x68,0x61,0x73,0x68, - 0x00,0x00,0x00,0x00,0x50,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x0A,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x24,0xF7,0xFF,0xFF,0x28,0x00,0x00,0x00,0x14,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00, - 0x40,0x00,0x00,0x00,0xCC,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, - 0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x53,0x74,0x61,0x74,0x00,0x00,0x00,0x1A,0x00, - 0x1C,0x00,0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00, - 0x14,0x00,0x18,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x08,0x00,0x48,0x00,0x00,0x00, + 0x6B,0x65,0x79,0x00,0x0C,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x06,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x05,0x00,0x00,0x00,0x63,0x6F,0x75,0x6E,0x74,0x00,0x00,0x00,0x76,0xFB,0xFF,0xFF,0x01,0x00,0x06,0x00, + 0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF9,0xFF,0xFF, + 0x00,0x00,0x00,0x09,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x76,0x61,0x6C,0x00, + 0xB8,0xF7,0xFF,0xFF,0x00,0x01,0x04,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xB8,0xF6,0xFF,0xFF,0x00,0x00,0x00,0x0D,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x69,0x64,0x00,0x00,0x88,0xF7,0xFF,0xFF,0x00,0x00,0x00,0x01,0x24,0x00,0x00,0x00,0x18,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45, + 0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x53,0x74,0x72,0x75,0x63,0x74,0x4F,0x66,0x53,0x74,0x72,0x75,0x63, + 0x74,0x73,0x4F,0x66,0x53,0x74,0x72,0x75,0x63,0x74,0x73,0x00,0xF4,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x01, + 0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xF8,0xFF,0xFF, + 0x00,0x00,0x00,0x0F,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x61,0x00,0x00,0x00, + 0x10,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x01,0x2C,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x14,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x54,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00, + 0xD0,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, + 0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x53,0x74,0x72,0x75,0x63,0x74,0x4F,0x66,0x53, + 0x74,0x72,0x75,0x63,0x74,0x73,0x00,0x00,0xCC,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x02,0x00,0x0C,0x00, + 0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0xF8,0xFF,0xFF, + 0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x63,0x00,0x00,0x00, + 0x1C,0x00,0x18,0x00,0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x14,0x00,0x07,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x08,0x00, + 0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xF8,0xFF,0xFF, + 0x00,0x00,0x00,0x0F,0x06,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x62,0x00,0x00,0x00, + 0x1C,0x00,0x14,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x10,0x00,0x07,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x00, + 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x0F, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x38,0xF9,0xFF,0xFF, + 0x00,0x00,0x00,0x01,0x28,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x2C,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00, + 0x6C,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, + 0x6C,0x65,0x2E,0x41,0x62,0x69,0x6C,0x69,0x74,0x79,0x00,0x00,0xCE,0xFD,0xFF,0xFF,0x01,0x00,0x04,0x00, + 0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0xFF,0xFF, + 0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x64,0x69,0x73,0x74,0x61,0x6E,0x63,0x65, + 0x00,0x00,0x1A,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x07,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x44,0x00,0x00,0x00, 0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x70,0xFA,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x6B,0x65,0x79,0x00,0x0C,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x06, - 0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x63,0x6F,0x75,0x6E,0x74,0x00,0x00,0x00, - 0x76,0xFB,0xFF,0xFF,0x01,0x00,0x06,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x40,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x09,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x03,0x00,0x00,0x00,0x76,0x61,0x6C,0x00,0xB8,0xF7,0xFF,0xFF,0x00,0x01,0x04,0x00,0x1C,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0xF6,0xFF,0xFF,0x00,0x00,0x00,0x0D, - 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x88,0xF7,0xFF,0xFF,0x00,0x00,0x00,0x01, - 0x24,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0xDC,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x27,0x00,0x00,0x00, - 0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x53,0x74,0x72,0x75,0x63, - 0x74,0x4F,0x66,0x53,0x74,0x72,0x75,0x63,0x74,0x73,0x4F,0x66,0x53,0x74,0x72,0x75,0x63,0x74,0x73,0x00, - 0xF4,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x20,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x10,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x01,0x2C,0x00,0x00,0x00, - 0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x54,0x06,0x00,0x00, - 0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x28,0x00,0x00,0x00, - 0x1E,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x53, - 0x74,0x72,0x75,0x63,0x74,0x4F,0x66,0x53,0x74,0x72,0x75,0x63,0x74,0x73,0x00,0x00,0xCC,0xFF,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x02,0x00,0x0C,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xAC,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x63,0x00,0x00,0x00,0x1C,0x00,0x18,0x00,0x0C,0x00,0x10,0x00,0x08,0x00,0x0A,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x07,0x00,0x1C,0x00,0x00,0x00, - 0x00,0x00,0x00,0x01,0x01,0x00,0x08,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xFC,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x06,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x1C,0x00,0x14,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x07,0x00,0x1C,0x00,0x00,0x00, - 0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x48,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x61,0x00,0x00,0x00,0x38,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x01,0x28,0x00,0x00,0x00,0x18,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x2C,0x05,0x00,0x00,0x00,0x00,0x00,0x00, - 0x02,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x6C,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, - 0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x41,0x62,0x69,0x6C,0x69,0x74,0x79,0x00,0x00, - 0xCE,0xFD,0xFF,0xFF,0x01,0x00,0x04,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xE0,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x64,0x69,0x73,0x74,0x61,0x6E,0x63,0x65,0x00,0x00,0x1A,0x00,0x18,0x00,0x08,0x00,0x0C,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x10,0x00,0x14,0x00,0x1A,0x00,0x00,0x00, - 0x00,0x00,0x00,0x01,0x44,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x70,0xFD,0xFF,0xFF,0x10,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x6B,0x65,0x79,0x00, - 0x54,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00, - 0x14,0x00,0x24,0x00,0x08,0x00,0x0C,0x00,0x07,0x00,0x10,0x00,0x14,0x00,0x18,0x00,0x1C,0x00,0x20,0x00, - 0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x68,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x20,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x28,0x04,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE4,0xFD,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x0B,0x00,0x00,0x00,0x66,0x6F,0x72,0x63,0x65,0x5F,0x61,0x6C, - 0x69,0x67,0x6E,0x00,0x06,0x00,0x00,0x00,0xC4,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x48,0x00,0x00,0x00, - 0x60,0x01,0x00,0x00,0x30,0x01,0x00,0x00,0xE4,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, - 0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x56,0x65,0x63,0x33,0x00,0x00,0x00,0x1E,0x00, - 0x18,0x00,0x0C,0x00,0x10,0x00,0x06,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x14,0x00,0x05,0x00,0x0A,0x00,0x1E,0x00,0x00,0x00,0x00,0x01,0x05,0x00,0x1A,0x00,0x02,0x00, - 0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xFB,0xFF,0xFF, - 0x00,0x00,0x00,0x0F,0x06,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74, - 0x33,0x00,0x00,0x00,0x7A,0xFD,0xFF,0xFF,0x00,0x00,0x04,0x00,0x18,0x00,0x01,0x00,0x24,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x04, - 0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74, - 0x32,0x00,0x00,0x00,0x9E,0xFF,0xFF,0xFF,0x03,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x0C,0x08,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x31,0x00,0x00,0x00,0xEA,0xFD,0xFF,0xFF, - 0x00,0x00,0x02,0x00,0x08,0x00,0x04,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xE8,0xFA,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x7A,0x00,0x1A,0x00,0x14,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x1A,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x1C,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0xFB,0xFF,0xFF,0x00,0x00,0x00,0x0B, - 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x79,0x00,0x00,0x00,0x6E,0xFB,0xFF,0xFF,0x1C,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x54,0xFB,0xFF,0xFF,0x00,0x00,0x00,0x0B, - 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x14,0x00,0x1C,0x00,0x04,0x00,0x08,0x00, - 0x00,0x00,0x0C,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x18,0x00,0x14,0x00,0x00,0x00,0x80,0x00,0x00,0x00, - 0x74,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x30,0x02,0x00,0x00, - 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x07,0x00,0x00,0x00, - 0x70,0x72,0x69,0x76,0x61,0x74,0x65,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x00,0x00, - 0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x0E,0x00,0x00,0x00, - 0x63,0x73,0x68,0x61,0x72,0x70,0x5F,0x70,0x61,0x72,0x74,0x69,0x61,0x6C,0x00,0x00,0x01,0x00,0x00,0x00, - 0x4C,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, - 0x6C,0x65,0x2E,0x54,0x65,0x73,0x74,0x53,0x69,0x6D,0x70,0x6C,0x65,0x54,0x61,0x62,0x6C,0x65,0x57,0x69, - 0x74,0x68,0x45,0x6E,0x75,0x6D,0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x08,0x00,0x0C,0x00,0x00,0x00, - 0x06,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x1A,0x00,0x00,0x00, - 0x00,0x00,0x04,0x00,0x3C,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x02,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x07,0x00,0x00,0x00,0x08,0x00,0x00,0x00, - 0x0C,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x63,0x6F,0x6C,0x6F,0x72,0x00,0x00,0x00,0x54,0xFD,0xFF,0xFF, - 0x00,0x00,0x00,0x01,0x28,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x08,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x74,0x00,0x00,0x00, - 0x3C,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, - 0x6C,0x65,0x2E,0x54,0x65,0x73,0x74,0x00,0x00,0x00,0x1E,0x00,0x18,0x00,0x0C,0x00,0x10,0x00,0x06,0x00, - 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0A,0x00, - 0x1E,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x03,0x01,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x62,0xFD,0xFF,0xFF,0x30,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x70,0xFD,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x6B,0x65,0x79,0x00,0x54,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x08, + 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,0x14,0x00,0x24,0x00,0x08,0x00,0x0C,0x00, + 0x07,0x00,0x10,0x00,0x14,0x00,0x18,0x00,0x1C,0x00,0x20,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x68,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x10,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x28,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0xE4,0xFD,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x38,0x00,0x00,0x00, + 0x0B,0x00,0x00,0x00,0x66,0x6F,0x72,0x63,0x65,0x5F,0x61,0x6C,0x69,0x67,0x6E,0x00,0x06,0x00,0x00,0x00, + 0xC4,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x60,0x01,0x00,0x00,0x30,0x01,0x00,0x00, + 0xE4,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, + 0x6C,0x65,0x2E,0x56,0x65,0x63,0x33,0x00,0x00,0x00,0x1E,0x00,0x18,0x00,0x0C,0x00,0x10,0x00,0x06,0x00, + 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x05,0x00,0x0A,0x00, + 0x1E,0x00,0x00,0x00,0x00,0x01,0x05,0x00,0x1A,0x00,0x02,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xFB,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x06,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x33,0x00,0x00,0x00,0x7A,0xFD,0xFF,0xFF, + 0x00,0x00,0x04,0x00,0x18,0x00,0x01,0x00,0x24,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x10,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x74,0x65,0x73,0x74,0x32,0x00,0x00,0x00,0x9E,0xFF,0xFF,0xFF, + 0x03,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x68,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x0C,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00, + 0x74,0x65,0x73,0x74,0x31,0x00,0x00,0x00,0xEA,0xFD,0xFF,0xFF,0x00,0x00,0x02,0x00,0x08,0x00,0x04,0x00, + 0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0xFA,0xFF,0xFF, + 0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x7A,0x00,0x1A,0x00,0x14,0x00,0x08,0x00, + 0x0C,0x00,0x04,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00, + 0x1A,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x2C,0xFB,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x79,0x00,0x00,0x00,0x6E,0xFB,0xFF,0xFF,0x1C,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x54,0xFB,0xFF,0xFF,0x00,0x00,0x00,0x0B,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x78,0x00,0x00,0x00,0x14,0x00,0x1C,0x00,0x04,0x00,0x08,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x10,0x00, + 0x14,0x00,0x18,0x00,0x14,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x30,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00, + 0x30,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x70,0x72,0x69,0x76,0x61,0x74,0x65,0x00, + 0x08,0x00,0x0C,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x63,0x73,0x68,0x61,0x72,0x70,0x5F,0x70, + 0x61,0x72,0x74,0x69,0x61,0x6C,0x00,0x00,0x01,0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x26,0x00,0x00,0x00, + 0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x54,0x65,0x73,0x74,0x53, + 0x69,0x6D,0x70,0x6C,0x65,0x54,0x61,0x62,0x6C,0x65,0x57,0x69,0x74,0x68,0x45,0x6E,0x75,0x6D,0x00,0x00, + 0x00,0x00,0x1A,0x00,0x1C,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x06,0x00,0x14,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x3C,0x00,0x00,0x00, + 0x24,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x10,0x00,0x14,0x00,0x07,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x0C,0x00,0x10,0x00,0x10,0x00,0x00,0x00, + 0x00,0x00,0x00,0x04,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00, + 0x63,0x6F,0x6C,0x6F,0x72,0x00,0x00,0x00,0x54,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x01,0x28,0x00,0x00,0x00, + 0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x10,0x01,0x00,0x00, + 0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x74,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x13,0x00,0x00,0x00, + 0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x2E,0x54,0x65,0x73,0x74,0x00, + 0x00,0x00,0x1E,0x00,0x18,0x00,0x0C,0x00,0x10,0x00,0x06,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x0A,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x01,0x00, + 0x02,0x00,0x01,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xD4,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x03,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x62,0x00,0x00,0x00,0x62,0xFD,0xFF,0xFF,0x30,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0C,0x00, + 0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x61,0x00,0x00,0x00,0xE4,0xFE,0xFF,0xFF,0x1C,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x08,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x17,0x00,0x00,0x00, + 0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70,0x6C,0x65,0x32,0x2E,0x4D,0x6F,0x6E,0x73, + 0x74,0x65,0x72,0x00,0x20,0xFF,0xFF,0xFF,0x34,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x20,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x2F,0x2F,0x6D,0x6F,0x6E,0x73,0x74,0x65, + 0x72,0x5F,0x74,0x65,0x73,0x74,0x2E,0x66,0x62,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x18,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x49,0x6E,0x50,0x61,0x72,0x65,0x6E,0x74,0x4E, + 0x61,0x6D,0x65,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x78,0xFF,0xFF,0xFF,0x48,0x00,0x00,0x00, + 0x3C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x00,0x00,0x00, + 0x2F,0x2F,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x5F,0x74,0x65,0x73,0x74,0x2F,0x69,0x6E,0x63,0x6C,0x75, + 0x64,0x65,0x5F,0x74,0x65,0x73,0x74,0x31,0x2E,0x66,0x62,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x54,0x61,0x62,0x6C,0x65,0x41,0x00,0x00, + 0x74,0xFF,0xFF,0xFF,0x00,0x01,0x04,0x00,0x20,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x58,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x0F,0x0C,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x14,0x00,0x18,0x00,0x04,0x00,0x08,0x00,0x00,0x00,0x0C,0x00, + 0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x14,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x14,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xC4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, + 0x44,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x4F,0x74,0x68,0x65,0x72, + 0x4E,0x61,0x6D,0x65,0x53,0x70,0x61,0x63,0x65,0x2E,0x54,0x61,0x62,0x6C,0x65,0x42,0x00,0x00,0x00,0x00, + 0x1C,0x00,0x14,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x10,0x00,0x05,0x00,0x1C,0x00,0x00,0x00,0x00,0x01,0x04,0x00,0x30,0x00,0x00,0x00, 0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x07,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x08,0x00,0x0C,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x02,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0xE4,0xFE,0xFF,0xFF,0x1C,0x00,0x00,0x00, - 0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x45,0x78,0x61,0x6D,0x70, - 0x6C,0x65,0x32,0x2E,0x4D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x00,0x20,0xFF,0xFF,0xFF,0x34,0x00,0x00,0x00, - 0x2C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x12,0x00,0x00,0x00, - 0x2F,0x2F,0x6D,0x6F,0x6E,0x73,0x74,0x65,0x72,0x5F,0x74,0x65,0x73,0x74,0x2E,0x66,0x62,0x73,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x49, - 0x6E,0x50,0x61,0x72,0x65,0x6E,0x74,0x4E,0x61,0x6D,0x65,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00, - 0x78,0xFF,0xFF,0xFF,0x48,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x2F,0x2F,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x5F,0x74,0x65, - 0x73,0x74,0x2F,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x5F,0x74,0x65,0x73,0x74,0x31,0x2E,0x66,0x62,0x73, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x06,0x00,0x00,0x00, - 0x54,0x61,0x62,0x6C,0x65,0x41,0x00,0x00,0x74,0xFF,0xFF,0xFF,0x00,0x01,0x04,0x00,0x20,0x00,0x00,0x00, - 0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x0F, - 0x0C,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x62,0x00,0x00,0x00,0x14,0x00,0x18,0x00, - 0x04,0x00,0x08,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x14,0x00,0x14,0x00,0x00,0x00, - 0x20,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xC4,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x4D,0x79,0x47,0x61, - 0x6D,0x65,0x2E,0x4F,0x74,0x68,0x65,0x72,0x4E,0x61,0x6D,0x65,0x53,0x70,0x61,0x63,0x65,0x2E,0x54,0x61, - 0x62,0x6C,0x65,0x42,0x00,0x00,0x00,0x00,0x1C,0x00,0x14,0x00,0x08,0x00,0x0C,0x00,0x00,0x00,0x06,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x05,0x00,0x1C,0x00,0x00,0x00, - 0x00,0x01,0x04,0x00,0x30,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x10,0x00,0x10,0x00,0x07,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x10,0x00,0x00,0x00, - 0x00,0x00,0x00,0x0F,0x0E,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x61,0x00,0x00,0x00, - 0x14,0x00,0x20,0x00,0x08,0x00,0x0C,0x00,0x07,0x00,0x10,0x00,0x14,0x00,0x00,0x00,0x18,0x00,0x1C,0x00, - 0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x04,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x2F,0x2F,0x69,0x6E, - 0x63,0x6C,0x75,0x64,0x65,0x5F,0x74,0x65,0x73,0x74,0x2F,0x73,0x75,0x62,0x2F,0x69,0x6E,0x63,0x6C,0x75, - 0x64,0x65,0x5F,0x74,0x65,0x73,0x74,0x32,0x2E,0x66,0x62,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x4F, - 0x74,0x68,0x65,0x72,0x4E,0x61,0x6D,0x65,0x53,0x70,0x61,0x63,0x65,0x2E,0x55,0x6E,0x75,0x73,0x65,0x64, - 0x00,0x00,0x1A,0x00,0x10,0x00,0x04,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1A,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00, - 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x0C,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x08,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, - 0x61,0x00,0x00,0x00 + 0x08,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0E,0x00,0x00,0x00, + 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x14,0x00,0x20,0x00,0x08,0x00,0x0C,0x00, + 0x07,0x00,0x10,0x00,0x14,0x00,0x00,0x00,0x18,0x00,0x1C,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x50,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x34,0x00,0x00,0x00, + 0x04,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x2F,0x2F,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x5F,0x74,0x65, + 0x73,0x74,0x2F,0x73,0x75,0x62,0x2F,0x69,0x6E,0x63,0x6C,0x75,0x64,0x65,0x5F,0x74,0x65,0x73,0x74,0x32, + 0x2E,0x66,0x62,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x40,0x00,0x00,0x00, + 0x1C,0x00,0x00,0x00,0x4D,0x79,0x47,0x61,0x6D,0x65,0x2E,0x4F,0x74,0x68,0x65,0x72,0x4E,0x61,0x6D,0x65, + 0x53,0x70,0x61,0x63,0x65,0x2E,0x55,0x6E,0x75,0x73,0x65,0x64,0x00,0x00,0x1A,0x00,0x10,0x00,0x04,0x00, + 0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00, + 0x1A,0x00,0x00,0x00,0x2C,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x10,0x00,0x0C,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x00,0x00, + 0x00,0x00,0x00,0x07,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x61,0x00,0x00,0x00 }; return bfbsData; } static size_t size() { - return 14784; + return 15736; } const uint8_t *begin() { return data(); diff --git a/tests/monster_test_generated.h b/tests/monster_test_generated.h index 4528418bab3..a5865bef382 100644 --- a/tests/monster_test_generated.h +++ b/tests/monster_test_generated.h @@ -1309,6 +1309,14 @@ struct MonsterT : public flatbuffers::NativeTable { MyGame::Example::Test native_inline{}; MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0); MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne; + float nan_default = std::numeric_limits::quiet_NaN(); + float inf_default = std::numeric_limits::infinity(); + float positive_inf_default = std::numeric_limits::infinity(); + float infinity_default = std::numeric_limits::infinity(); + float positive_infinity_default = std::numeric_limits::infinity(); + float negative_inf_default = -std::numeric_limits::infinity(); + float negative_infinity_default = -std::numeric_limits::infinity(); + double double_inf_default = std::numeric_limits::infinity(); MonsterT() = default; MonsterT(const MonsterT &o); MonsterT(MonsterT&&) FLATBUFFERS_NOEXCEPT = default; @@ -1375,7 +1383,15 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VT_SCALAR_KEY_SORTED_TABLES = 104, VT_NATIVE_INLINE = 106, VT_LONG_ENUM_NON_ENUM_DEFAULT = 108, - VT_LONG_ENUM_NORMAL_DEFAULT = 110 + VT_LONG_ENUM_NORMAL_DEFAULT = 110, + VT_NAN_DEFAULT = 112, + VT_INF_DEFAULT = 114, + VT_POSITIVE_INF_DEFAULT = 116, + VT_INFINITY_DEFAULT = 118, + VT_POSITIVE_INFINITY_DEFAULT = 120, + VT_NEGATIVE_INF_DEFAULT = 122, + VT_NEGATIVE_INFINITY_DEFAULT = 124, + VT_DOUBLE_INF_DEFAULT = 126 }; const MyGame::Example::Vec3 *pos() const { return GetStruct(VT_POS); @@ -1732,6 +1748,54 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool mutate_long_enum_normal_default(MyGame::Example::LongEnum _long_enum_normal_default = static_cast(2ULL)) { return SetField(VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(_long_enum_normal_default), 2ULL); } + float nan_default() const { + return GetField(VT_NAN_DEFAULT, std::numeric_limits::quiet_NaN()); + } + bool mutate_nan_default(float _nan_default = std::numeric_limits::quiet_NaN()) { + return SetField(VT_NAN_DEFAULT, _nan_default, std::numeric_limits::quiet_NaN()); + } + float inf_default() const { + return GetField(VT_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_inf_default(float _inf_default = std::numeric_limits::infinity()) { + return SetField(VT_INF_DEFAULT, _inf_default, std::numeric_limits::infinity()); + } + float positive_inf_default() const { + return GetField(VT_POSITIVE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_inf_default(float _positive_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INF_DEFAULT, _positive_inf_default, std::numeric_limits::infinity()); + } + float infinity_default() const { + return GetField(VT_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_infinity_default(float _infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_INFINITY_DEFAULT, _infinity_default, std::numeric_limits::infinity()); + } + float positive_infinity_default() const { + return GetField(VT_POSITIVE_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_infinity_default(float _positive_infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INFINITY_DEFAULT, _positive_infinity_default, std::numeric_limits::infinity()); + } + float negative_inf_default() const { + return GetField(VT_NEGATIVE_INF_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_inf_default(float _negative_inf_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INF_DEFAULT, _negative_inf_default, -std::numeric_limits::infinity()); + } + float negative_infinity_default() const { + return GetField(VT_NEGATIVE_INFINITY_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_infinity_default(float _negative_infinity_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INFINITY_DEFAULT, _negative_infinity_default, -std::numeric_limits::infinity()); + } + double double_inf_default() const { + return GetField(VT_DOUBLE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_double_inf_default(double _double_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_DOUBLE_INF_DEFAULT, _double_inf_default, std::numeric_limits::infinity()); + } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_POS, 8) && @@ -1823,6 +1887,14 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VerifyField(verifier, VT_NATIVE_INLINE, 2) && VerifyField(verifier, VT_LONG_ENUM_NON_ENUM_DEFAULT, 8) && VerifyField(verifier, VT_LONG_ENUM_NORMAL_DEFAULT, 8) && + VerifyField(verifier, VT_NAN_DEFAULT, 4) && + VerifyField(verifier, VT_INF_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_DOUBLE_INF_DEFAULT, 8) && verifier.EndTable(); } MonsterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; @@ -2017,6 +2089,30 @@ struct MonsterBuilder { void add_long_enum_normal_default(MyGame::Example::LongEnum long_enum_normal_default) { fbb_.AddElement(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(long_enum_normal_default), 2ULL); } + void add_nan_default(float nan_default) { + fbb_.AddElement(Monster::VT_NAN_DEFAULT, nan_default, std::numeric_limits::quiet_NaN()); + } + void add_inf_default(float inf_default) { + fbb_.AddElement(Monster::VT_INF_DEFAULT, inf_default, std::numeric_limits::infinity()); + } + void add_positive_inf_default(float positive_inf_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INF_DEFAULT, positive_inf_default, std::numeric_limits::infinity()); + } + void add_infinity_default(float infinity_default) { + fbb_.AddElement(Monster::VT_INFINITY_DEFAULT, infinity_default, std::numeric_limits::infinity()); + } + void add_positive_infinity_default(float positive_infinity_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INFINITY_DEFAULT, positive_infinity_default, std::numeric_limits::infinity()); + } + void add_negative_inf_default(float negative_inf_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INF_DEFAULT, negative_inf_default, -std::numeric_limits::infinity()); + } + void add_negative_infinity_default(float negative_infinity_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INFINITY_DEFAULT, negative_infinity_default, -std::numeric_limits::infinity()); + } + void add_double_inf_default(double double_inf_default) { + fbb_.AddElement(Monster::VT_DOUBLE_INF_DEFAULT, double_inf_default, std::numeric_limits::infinity()); + } explicit MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -2083,8 +2179,17 @@ inline flatbuffers::Offset CreateMonster( flatbuffers::Offset>> scalar_key_sorted_tables = 0, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { MonsterBuilder builder_(_fbb); + builder_.add_double_inf_default(double_inf_default); builder_.add_long_enum_normal_default(long_enum_normal_default); builder_.add_long_enum_non_enum_default(long_enum_non_enum_default); builder_.add_non_owning_reference(non_owning_reference); @@ -2094,6 +2199,13 @@ inline flatbuffers::Offset CreateMonster( builder_.add_testhashs64_fnv1a(testhashs64_fnv1a); builder_.add_testhashu64_fnv1(testhashu64_fnv1); builder_.add_testhashs64_fnv1(testhashs64_fnv1); + builder_.add_negative_infinity_default(negative_infinity_default); + builder_.add_negative_inf_default(negative_inf_default); + builder_.add_positive_infinity_default(positive_infinity_default); + builder_.add_infinity_default(infinity_default); + builder_.add_positive_inf_default(positive_inf_default); + builder_.add_inf_default(inf_default); + builder_.add_nan_default(nan_default); builder_.add_native_inline(native_inline); builder_.add_scalar_key_sorted_tables(scalar_key_sorted_tables); builder_.add_testrequirednestedflatbuffer(testrequirednestedflatbuffer); @@ -2195,7 +2307,15 @@ inline flatbuffers::Offset CreateMonsterDirect( std::vector> *scalar_key_sorted_tables = nullptr, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { auto name__ = name ? _fbb.CreateString(name) : 0; auto inventory__ = inventory ? _fbb.CreateVector(*inventory) : 0; auto test4__ = test4 ? _fbb.CreateVectorOfStructs(*test4) : 0; @@ -2271,7 +2391,15 @@ inline flatbuffers::Offset CreateMonsterDirect( scalar_key_sorted_tables__, native_inline, long_enum_non_enum_default, - long_enum_normal_default); + long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default); } flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); @@ -2767,7 +2895,15 @@ inline bool operator==(const MonsterT &lhs, const MonsterT &rhs) { (lhs.scalar_key_sorted_tables.size() == rhs.scalar_key_sorted_tables.size() && std::equal(lhs.scalar_key_sorted_tables.cbegin(), lhs.scalar_key_sorted_tables.cend(), rhs.scalar_key_sorted_tables.cbegin(), [](flatbuffers::unique_ptr const &a, flatbuffers::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && (lhs.native_inline == rhs.native_inline) && (lhs.long_enum_non_enum_default == rhs.long_enum_non_enum_default) && - (lhs.long_enum_normal_default == rhs.long_enum_normal_default); + (lhs.long_enum_normal_default == rhs.long_enum_normal_default) && + (lhs.nan_default == rhs.nan_default) && + (lhs.inf_default == rhs.inf_default) && + (lhs.positive_inf_default == rhs.positive_inf_default) && + (lhs.infinity_default == rhs.infinity_default) && + (lhs.positive_infinity_default == rhs.positive_infinity_default) && + (lhs.negative_inf_default == rhs.negative_inf_default) && + (lhs.negative_infinity_default == rhs.negative_infinity_default) && + (lhs.double_inf_default == rhs.double_inf_default); } inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) { @@ -2820,7 +2956,15 @@ inline MonsterT::MonsterT(const MonsterT &o) testrequirednestedflatbuffer(o.testrequirednestedflatbuffer), native_inline(o.native_inline), long_enum_non_enum_default(o.long_enum_non_enum_default), - long_enum_normal_default(o.long_enum_normal_default) { + long_enum_normal_default(o.long_enum_normal_default), + nan_default(o.nan_default), + inf_default(o.inf_default), + positive_inf_default(o.positive_inf_default), + infinity_default(o.infinity_default), + positive_infinity_default(o.positive_infinity_default), + negative_inf_default(o.negative_inf_default), + negative_infinity_default(o.negative_infinity_default), + double_inf_default(o.double_inf_default) { testarrayoftables.reserve(o.testarrayoftables.size()); for (const auto &testarrayoftables_ : o.testarrayoftables) { testarrayoftables.emplace_back((testarrayoftables_) ? new MyGame::Example::MonsterT(*testarrayoftables_) : nullptr); } vector_of_referrables.reserve(o.vector_of_referrables.size()); @@ -2884,6 +3028,14 @@ inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT { std::swap(native_inline, o.native_inline); std::swap(long_enum_non_enum_default, o.long_enum_non_enum_default); std::swap(long_enum_normal_default, o.long_enum_normal_default); + std::swap(nan_default, o.nan_default); + std::swap(inf_default, o.inf_default); + std::swap(positive_inf_default, o.positive_inf_default); + std::swap(infinity_default, o.infinity_default); + std::swap(positive_infinity_default, o.positive_infinity_default); + std::swap(negative_inf_default, o.negative_inf_default); + std::swap(negative_infinity_default, o.negative_infinity_default); + std::swap(double_inf_default, o.double_inf_default); return *this; } @@ -2949,6 +3101,14 @@ inline void Monster::UnPackTo(MonsterT *_o, const flatbuffers::resolver_function { auto _e = native_inline(); if (_e) _o->native_inline = *_e; } { auto _e = long_enum_non_enum_default(); _o->long_enum_non_enum_default = _e; } { auto _e = long_enum_normal_default(); _o->long_enum_normal_default = _e; } + { auto _e = nan_default(); _o->nan_default = _e; } + { auto _e = inf_default(); _o->inf_default = _e; } + { auto _e = positive_inf_default(); _o->positive_inf_default = _e; } + { auto _e = infinity_default(); _o->infinity_default = _e; } + { auto _e = positive_infinity_default(); _o->positive_infinity_default = _e; } + { auto _e = negative_inf_default(); _o->negative_inf_default = _e; } + { auto _e = negative_infinity_default(); _o->negative_infinity_default = _e; } + { auto _e = double_inf_default(); _o->double_inf_default = _e; } } inline flatbuffers::Offset Monster::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT* _o, const flatbuffers::rehasher_function_t *_rehasher) { @@ -3012,6 +3172,14 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder auto _native_inline = &_o->native_inline; auto _long_enum_non_enum_default = _o->long_enum_non_enum_default; auto _long_enum_normal_default = _o->long_enum_normal_default; + auto _nan_default = _o->nan_default; + auto _inf_default = _o->inf_default; + auto _positive_inf_default = _o->positive_inf_default; + auto _infinity_default = _o->infinity_default; + auto _positive_infinity_default = _o->positive_infinity_default; + auto _negative_inf_default = _o->negative_inf_default; + auto _negative_infinity_default = _o->negative_infinity_default; + auto _double_inf_default = _o->double_inf_default; return MyGame::Example::CreateMonster( _fbb, _pos, @@ -3066,7 +3234,15 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder _scalar_key_sorted_tables, _native_inline, _long_enum_non_enum_default, - _long_enum_normal_default); + _long_enum_normal_default, + _nan_default, + _inf_default, + _positive_inf_default, + _infinity_default, + _positive_infinity_default, + _negative_inf_default, + _negative_infinity_default, + _double_inf_default); } @@ -3846,7 +4022,15 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { { flatbuffers::ET_SEQUENCE, 1, 5 }, { flatbuffers::ET_SEQUENCE, 0, 3 }, { flatbuffers::ET_ULONG, 0, 12 }, - { flatbuffers::ET_ULONG, 0, 12 } + { flatbuffers::ET_ULONG, 0, 12 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_DOUBLE, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { MyGame::Example::Vec3TypeTable, @@ -3917,10 +4101,18 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { "scalar_key_sorted_tables", "native_inline", "long_enum_non_enum_default", - "long_enum_normal_default" + "long_enum_normal_default", + "nan_default", + "inf_default", + "positive_inf_default", + "infinity_default", + "positive_infinity_default", + "negative_inf_default", + "negative_infinity_default", + "double_inf_default" }; static const flatbuffers::TypeTable tt = { - flatbuffers::ST_TABLE, 54, type_codes, type_refs, nullptr, nullptr, names + flatbuffers::ST_TABLE, 62, type_codes, type_refs, nullptr, nullptr, names }; return &tt; } diff --git a/tests/monster_test_generated.lobster b/tests/monster_test_generated.lobster index c3ee785e752..d6390fd8b1c 100644 --- a/tests/monster_test_generated.lobster +++ b/tests/monster_test_generated.lobster @@ -425,13 +425,29 @@ class Monster : flatbuffers_handle return LongEnum(buf_.flatbuffers_field_uint64(pos_, 108, 0)) def long_enum_normal_default() -> LongEnum: return LongEnum(buf_.flatbuffers_field_uint64(pos_, 110, 2)) + def nan_default() -> float: + return buf_.flatbuffers_field_float32(pos_, 112, nan) + def inf_default() -> float: + return buf_.flatbuffers_field_float32(pos_, 114, inf) + def positive_inf_default() -> float: + return buf_.flatbuffers_field_float32(pos_, 116, +inf) + def infinity_default() -> float: + return buf_.flatbuffers_field_float32(pos_, 118, infinity) + def positive_infinity_default() -> float: + return buf_.flatbuffers_field_float32(pos_, 120, +infinity) + def negative_inf_default() -> float: + return buf_.flatbuffers_field_float32(pos_, 122, -inf) + def negative_infinity_default() -> float: + return buf_.flatbuffers_field_float32(pos_, 124, -infinity) + def double_inf_default() -> float: + return buf_.flatbuffers_field_float64(pos_, 126, inf) def GetRootAsMonster(buf:string): return Monster { buf, buf.flatbuffers_indirect(0) } struct MonsterBuilder: b_:flatbuffers_builder def start(): - b_.StartObject(54) + b_.StartObject(62) return this def add_pos(pos:flatbuffers_offset): b_.PrependStructSlot(0, pos) @@ -592,6 +608,30 @@ struct MonsterBuilder: def add_long_enum_normal_default(long_enum_normal_default:LongEnum): b_.PrependUint64Slot(53, long_enum_normal_default, 2) return this + def add_nan_default(nan_default:float): + b_.PrependFloat32Slot(54, nan_default, nan) + return this + def add_inf_default(inf_default:float): + b_.PrependFloat32Slot(55, inf_default, inf) + return this + def add_positive_inf_default(positive_inf_default:float): + b_.PrependFloat32Slot(56, positive_inf_default, +inf) + return this + def add_infinity_default(infinity_default:float): + b_.PrependFloat32Slot(57, infinity_default, infinity) + return this + def add_positive_infinity_default(positive_infinity_default:float): + b_.PrependFloat32Slot(58, positive_infinity_default, +infinity) + return this + def add_negative_inf_default(negative_inf_default:float): + b_.PrependFloat32Slot(59, negative_inf_default, -inf) + return this + def add_negative_infinity_default(negative_infinity_default:float): + b_.PrependFloat32Slot(60, negative_infinity_default, -infinity) + return this + def add_double_inf_default(double_inf_default:float): + b_.PrependFloat64Slot(61, double_inf_default, inf) + return this def end(): return b_.EndObject() diff --git a/tests/monster_test_generated.py b/tests/monster_test_generated.py index 27aff92dace..01da71c0796 100644 --- a/tests/monster_test_generated.py +++ b/tests/monster_test_generated.py @@ -1575,7 +1575,63 @@ def LongEnumNormalDefault(self): return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos) return 2 -def MonsterStart(builder): builder.StartObject(54) + # Monster + def NanDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(112)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('nan') + + # Monster + def InfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(114)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def PositiveInfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(116)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def InfinityDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(118)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def PositiveInfinityDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(120)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('inf') + + # Monster + def NegativeInfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(122)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('-inf') + + # Monster + def NegativeInfinityDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(124)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) + return float('-inf') + + # Monster + def DoubleInfDefault(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(126)) + if o != 0: + return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos) + return float('inf') + +def MonsterStart(builder): builder.StartObject(62) def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0) def MonsterAddMana(builder, mana): builder.PrependInt16Slot(1, mana, 150) def MonsterAddHp(builder, hp): builder.PrependInt16Slot(2, hp, 100) @@ -1659,6 +1715,14 @@ def MonsterStartScalarKeySortedTablesVector(builder, numElems): return builder.S def MonsterAddNativeInline(builder, nativeInline): builder.PrependStructSlot(51, flatbuffers.number_types.UOffsetTFlags.py_type(nativeInline), 0) def MonsterAddLongEnumNonEnumDefault(builder, longEnumNonEnumDefault): builder.PrependUint64Slot(52, longEnumNonEnumDefault, 0) def MonsterAddLongEnumNormalDefault(builder, longEnumNormalDefault): builder.PrependUint64Slot(53, longEnumNormalDefault, 2) +def MonsterAddNanDefault(builder, nanDefault): builder.PrependFloat32Slot(54, nanDefault, float('nan')) +def MonsterAddInfDefault(builder, infDefault): builder.PrependFloat32Slot(55, infDefault, float('inf')) +def MonsterAddPositiveInfDefault(builder, positiveInfDefault): builder.PrependFloat32Slot(56, positiveInfDefault, float('inf')) +def MonsterAddInfinityDefault(builder, infinityDefault): builder.PrependFloat32Slot(57, infinityDefault, float('inf')) +def MonsterAddPositiveInfinityDefault(builder, positiveInfinityDefault): builder.PrependFloat32Slot(58, positiveInfinityDefault, float('inf')) +def MonsterAddNegativeInfDefault(builder, negativeInfDefault): builder.PrependFloat32Slot(59, negativeInfDefault, float('-inf')) +def MonsterAddNegativeInfinityDefault(builder, negativeInfinityDefault): builder.PrependFloat32Slot(60, negativeInfinityDefault, float('-inf')) +def MonsterAddDoubleInfDefault(builder, doubleInfDefault): builder.PrependFloat64Slot(61, doubleInfDefault, float('inf')) def MonsterEnd(builder): return builder.EndObject() try: @@ -1723,6 +1787,14 @@ def __init__(self): self.nativeInline = None # type: Optional[TestT] self.longEnumNonEnumDefault = 0 # type: int self.longEnumNormalDefault = 2 # type: int + self.nanDefault = float('nan') # type: float + self.infDefault = float('inf') # type: float + self.positiveInfDefault = float('inf') # type: float + self.infinityDefault = float('inf') # type: float + self.positiveInfinityDefault = float('inf') # type: float + self.negativeInfDefault = float('-inf') # type: float + self.negativeInfinityDefault = float('-inf') # type: float + self.doubleInfDefault = float('inf') # type: float @classmethod def InitFromBuf(cls, buf, pos): @@ -1920,6 +1992,14 @@ def _UnPack(self, monster): self.nativeInline = TestT.InitFromObj(monster.NativeInline()) self.longEnumNonEnumDefault = monster.LongEnumNonEnumDefault() self.longEnumNormalDefault = monster.LongEnumNormalDefault() + self.nanDefault = monster.NanDefault() + self.infDefault = monster.InfDefault() + self.positiveInfDefault = monster.PositiveInfDefault() + self.infinityDefault = monster.InfinityDefault() + self.positiveInfinityDefault = monster.PositiveInfinityDefault() + self.negativeInfDefault = monster.NegativeInfDefault() + self.negativeInfinityDefault = monster.NegativeInfinityDefault() + self.doubleInfDefault = monster.DoubleInfDefault() # MonsterT def Pack(self, builder): @@ -2173,6 +2253,14 @@ def Pack(self, builder): MonsterAddNativeInline(builder, nativeInline) MonsterAddLongEnumNonEnumDefault(builder, self.longEnumNonEnumDefault) MonsterAddLongEnumNormalDefault(builder, self.longEnumNormalDefault) + MonsterAddNanDefault(builder, self.nanDefault) + MonsterAddInfDefault(builder, self.infDefault) + MonsterAddPositiveInfDefault(builder, self.positiveInfDefault) + MonsterAddInfinityDefault(builder, self.infinityDefault) + MonsterAddPositiveInfinityDefault(builder, self.positiveInfinityDefault) + MonsterAddNegativeInfDefault(builder, self.negativeInfDefault) + MonsterAddNegativeInfinityDefault(builder, self.negativeInfinityDefault) + MonsterAddDoubleInfDefault(builder, self.doubleInfDefault) monster = MonsterEnd(builder) return monster diff --git a/tests/monster_test_my_game.example_generated.dart b/tests/monster_test_my_game.example_generated.dart index 174fe1d8dd9..a9e9e812ac8 100644 --- a/tests/monster_test_my_game.example_generated.dart +++ b/tests/monster_test_my_game.example_generated.dart @@ -1258,10 +1258,18 @@ class Monster { Test? get nativeInline => Test.reader.vTableGetNullable(_bc, _bcOffset, 106); LongEnum get longEnumNonEnumDefault => LongEnum.fromValue(const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 108, 0)); LongEnum get longEnumNormalDefault => LongEnum.fromValue(const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 110, 2)); + double get nanDefault => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 112, double.nan); + double get infDefault => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 114, double.infinity); + double get positiveInfDefault => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 116, double.infinity); + double get infinityDefault => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 118, double.infinity); + double get positiveInfinityDefault => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 120, double.infinity); + double get negativeInfDefault => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 122, double.negativeInfinity); + double get negativeInfinityDefault => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 124, double.negativeInfinity); + double get doubleInfDefault => const fb.Float64Reader().vTableGet(_bc, _bcOffset, 126, double.infinity); @override String toString() { - return 'Monster{pos: ${pos}, mana: ${mana}, hp: ${hp}, name: ${name}, inventory: ${inventory}, color: ${color}, testType: ${testType}, test: ${test}, test4: ${test4}, testarrayofstring: ${testarrayofstring}, testarrayoftables: ${testarrayoftables}, enemy: ${enemy}, testnestedflatbuffer: ${testnestedflatbuffer}, testempty: ${testempty}, testbool: ${testbool}, testhashs32Fnv1: ${testhashs32Fnv1}, testhashu32Fnv1: ${testhashu32Fnv1}, testhashs64Fnv1: ${testhashs64Fnv1}, testhashu64Fnv1: ${testhashu64Fnv1}, testhashs32Fnv1a: ${testhashs32Fnv1a}, testhashu32Fnv1a: ${testhashu32Fnv1a}, testhashs64Fnv1a: ${testhashs64Fnv1a}, testhashu64Fnv1a: ${testhashu64Fnv1a}, testarrayofbools: ${testarrayofbools}, testf: ${testf}, testf2: ${testf2}, testf3: ${testf3}, testarrayofstring2: ${testarrayofstring2}, testarrayofsortedstruct: ${testarrayofsortedstruct}, flex: ${flex}, test5: ${test5}, vectorOfLongs: ${vectorOfLongs}, vectorOfDoubles: ${vectorOfDoubles}, parentNamespaceTest: ${parentNamespaceTest}, vectorOfReferrables: ${vectorOfReferrables}, singleWeakReference: ${singleWeakReference}, vectorOfWeakReferences: ${vectorOfWeakReferences}, vectorOfStrongReferrables: ${vectorOfStrongReferrables}, coOwningReference: ${coOwningReference}, vectorOfCoOwningReferences: ${vectorOfCoOwningReferences}, nonOwningReference: ${nonOwningReference}, vectorOfNonOwningReferences: ${vectorOfNonOwningReferences}, anyUniqueType: ${anyUniqueType}, anyUnique: ${anyUnique}, anyAmbiguousType: ${anyAmbiguousType}, anyAmbiguous: ${anyAmbiguous}, vectorOfEnums: ${vectorOfEnums}, signedEnum: ${signedEnum}, testrequirednestedflatbuffer: ${testrequirednestedflatbuffer}, scalarKeySortedTables: ${scalarKeySortedTables}, nativeInline: ${nativeInline}, longEnumNonEnumDefault: ${longEnumNonEnumDefault}, longEnumNormalDefault: ${longEnumNormalDefault}}'; + return 'Monster{pos: ${pos}, mana: ${mana}, hp: ${hp}, name: ${name}, inventory: ${inventory}, color: ${color}, testType: ${testType}, test: ${test}, test4: ${test4}, testarrayofstring: ${testarrayofstring}, testarrayoftables: ${testarrayoftables}, enemy: ${enemy}, testnestedflatbuffer: ${testnestedflatbuffer}, testempty: ${testempty}, testbool: ${testbool}, testhashs32Fnv1: ${testhashs32Fnv1}, testhashu32Fnv1: ${testhashu32Fnv1}, testhashs64Fnv1: ${testhashs64Fnv1}, testhashu64Fnv1: ${testhashu64Fnv1}, testhashs32Fnv1a: ${testhashs32Fnv1a}, testhashu32Fnv1a: ${testhashu32Fnv1a}, testhashs64Fnv1a: ${testhashs64Fnv1a}, testhashu64Fnv1a: ${testhashu64Fnv1a}, testarrayofbools: ${testarrayofbools}, testf: ${testf}, testf2: ${testf2}, testf3: ${testf3}, testarrayofstring2: ${testarrayofstring2}, testarrayofsortedstruct: ${testarrayofsortedstruct}, flex: ${flex}, test5: ${test5}, vectorOfLongs: ${vectorOfLongs}, vectorOfDoubles: ${vectorOfDoubles}, parentNamespaceTest: ${parentNamespaceTest}, vectorOfReferrables: ${vectorOfReferrables}, singleWeakReference: ${singleWeakReference}, vectorOfWeakReferences: ${vectorOfWeakReferences}, vectorOfStrongReferrables: ${vectorOfStrongReferrables}, coOwningReference: ${coOwningReference}, vectorOfCoOwningReferences: ${vectorOfCoOwningReferences}, nonOwningReference: ${nonOwningReference}, vectorOfNonOwningReferences: ${vectorOfNonOwningReferences}, anyUniqueType: ${anyUniqueType}, anyUnique: ${anyUnique}, anyAmbiguousType: ${anyAmbiguousType}, anyAmbiguous: ${anyAmbiguous}, vectorOfEnums: ${vectorOfEnums}, signedEnum: ${signedEnum}, testrequirednestedflatbuffer: ${testrequirednestedflatbuffer}, scalarKeySortedTables: ${scalarKeySortedTables}, nativeInline: ${nativeInline}, longEnumNonEnumDefault: ${longEnumNonEnumDefault}, longEnumNormalDefault: ${longEnumNormalDefault}, nanDefault: ${nanDefault}, infDefault: ${infDefault}, positiveInfDefault: ${positiveInfDefault}, infinityDefault: ${infinityDefault}, positiveInfinityDefault: ${positiveInfinityDefault}, negativeInfDefault: ${negativeInfDefault}, negativeInfinityDefault: ${negativeInfinityDefault}, doubleInfDefault: ${doubleInfDefault}}'; } MonsterT unpack() => MonsterT( @@ -1317,7 +1325,15 @@ class Monster { scalarKeySortedTables: scalarKeySortedTables?.map((e) => e.unpack()).toList(), nativeInline: nativeInline?.unpack(), longEnumNonEnumDefault: longEnumNonEnumDefault, - longEnumNormalDefault: longEnumNormalDefault); + longEnumNormalDefault: longEnumNormalDefault, + nanDefault: nanDefault, + infDefault: infDefault, + positiveInfDefault: positiveInfDefault, + infinityDefault: infinityDefault, + positiveInfinityDefault: positiveInfinityDefault, + negativeInfDefault: negativeInfDefault, + negativeInfinityDefault: negativeInfinityDefault, + doubleInfDefault: doubleInfDefault); static int pack(fb.Builder fbBuilder, MonsterT? object) { if (object == null) return 0; @@ -1382,6 +1398,14 @@ class MonsterT implements fb.Packable { TestT? nativeInline; LongEnum longEnumNonEnumDefault; LongEnum longEnumNormalDefault; + double nanDefault; + double infDefault; + double positiveInfDefault; + double infinityDefault; + double positiveInfinityDefault; + double negativeInfDefault; + double negativeInfinityDefault; + double doubleInfDefault; MonsterT({ this.pos, @@ -1436,7 +1460,15 @@ class MonsterT implements fb.Packable { this.scalarKeySortedTables, this.nativeInline, this.longEnumNonEnumDefault = const LongEnum._(0), - this.longEnumNormalDefault = LongEnum.LongOne}); + this.longEnumNormalDefault = LongEnum.LongOne, + this.nanDefault = double.nan, + this.infDefault = double.infinity, + this.positiveInfDefault = double.infinity, + this.infinityDefault = double.infinity, + this.positiveInfinityDefault = double.infinity, + this.negativeInfDefault = double.negativeInfinity, + this.negativeInfinityDefault = double.negativeInfinity, + this.doubleInfDefault = double.infinity}); @override int pack(fb.Builder fbBuilder) { @@ -1497,7 +1529,7 @@ class MonsterT implements fb.Packable { : fbBuilder.writeListUint8(testrequirednestedflatbuffer!); final int? scalarKeySortedTablesOffset = scalarKeySortedTables == null ? null : fbBuilder.writeList(scalarKeySortedTables!.map((b) => b.pack(fbBuilder)).toList()); - fbBuilder.startTable(54); + fbBuilder.startTable(62); if (pos != null) { fbBuilder.addStruct(0, pos!.pack(fbBuilder)); } @@ -1555,12 +1587,20 @@ class MonsterT implements fb.Packable { } fbBuilder.addUint64(52, longEnumNonEnumDefault.value); fbBuilder.addUint64(53, longEnumNormalDefault.value); + fbBuilder.addFloat32(54, nanDefault); + fbBuilder.addFloat32(55, infDefault); + fbBuilder.addFloat32(56, positiveInfDefault); + fbBuilder.addFloat32(57, infinityDefault); + fbBuilder.addFloat32(58, positiveInfinityDefault); + fbBuilder.addFloat32(59, negativeInfDefault); + fbBuilder.addFloat32(60, negativeInfinityDefault); + fbBuilder.addFloat64(61, doubleInfDefault); return fbBuilder.endTable(); } @override String toString() { - return 'MonsterT{pos: ${pos}, mana: ${mana}, hp: ${hp}, name: ${name}, inventory: ${inventory}, color: ${color}, testType: ${testType}, test: ${test}, test4: ${test4}, testarrayofstring: ${testarrayofstring}, testarrayoftables: ${testarrayoftables}, enemy: ${enemy}, testnestedflatbuffer: ${testnestedflatbuffer}, testempty: ${testempty}, testbool: ${testbool}, testhashs32Fnv1: ${testhashs32Fnv1}, testhashu32Fnv1: ${testhashu32Fnv1}, testhashs64Fnv1: ${testhashs64Fnv1}, testhashu64Fnv1: ${testhashu64Fnv1}, testhashs32Fnv1a: ${testhashs32Fnv1a}, testhashu32Fnv1a: ${testhashu32Fnv1a}, testhashs64Fnv1a: ${testhashs64Fnv1a}, testhashu64Fnv1a: ${testhashu64Fnv1a}, testarrayofbools: ${testarrayofbools}, testf: ${testf}, testf2: ${testf2}, testf3: ${testf3}, testarrayofstring2: ${testarrayofstring2}, testarrayofsortedstruct: ${testarrayofsortedstruct}, flex: ${flex}, test5: ${test5}, vectorOfLongs: ${vectorOfLongs}, vectorOfDoubles: ${vectorOfDoubles}, parentNamespaceTest: ${parentNamespaceTest}, vectorOfReferrables: ${vectorOfReferrables}, singleWeakReference: ${singleWeakReference}, vectorOfWeakReferences: ${vectorOfWeakReferences}, vectorOfStrongReferrables: ${vectorOfStrongReferrables}, coOwningReference: ${coOwningReference}, vectorOfCoOwningReferences: ${vectorOfCoOwningReferences}, nonOwningReference: ${nonOwningReference}, vectorOfNonOwningReferences: ${vectorOfNonOwningReferences}, anyUniqueType: ${anyUniqueType}, anyUnique: ${anyUnique}, anyAmbiguousType: ${anyAmbiguousType}, anyAmbiguous: ${anyAmbiguous}, vectorOfEnums: ${vectorOfEnums}, signedEnum: ${signedEnum}, testrequirednestedflatbuffer: ${testrequirednestedflatbuffer}, scalarKeySortedTables: ${scalarKeySortedTables}, nativeInline: ${nativeInline}, longEnumNonEnumDefault: ${longEnumNonEnumDefault}, longEnumNormalDefault: ${longEnumNormalDefault}}'; + return 'MonsterT{pos: ${pos}, mana: ${mana}, hp: ${hp}, name: ${name}, inventory: ${inventory}, color: ${color}, testType: ${testType}, test: ${test}, test4: ${test4}, testarrayofstring: ${testarrayofstring}, testarrayoftables: ${testarrayoftables}, enemy: ${enemy}, testnestedflatbuffer: ${testnestedflatbuffer}, testempty: ${testempty}, testbool: ${testbool}, testhashs32Fnv1: ${testhashs32Fnv1}, testhashu32Fnv1: ${testhashu32Fnv1}, testhashs64Fnv1: ${testhashs64Fnv1}, testhashu64Fnv1: ${testhashu64Fnv1}, testhashs32Fnv1a: ${testhashs32Fnv1a}, testhashu32Fnv1a: ${testhashu32Fnv1a}, testhashs64Fnv1a: ${testhashs64Fnv1a}, testhashu64Fnv1a: ${testhashu64Fnv1a}, testarrayofbools: ${testarrayofbools}, testf: ${testf}, testf2: ${testf2}, testf3: ${testf3}, testarrayofstring2: ${testarrayofstring2}, testarrayofsortedstruct: ${testarrayofsortedstruct}, flex: ${flex}, test5: ${test5}, vectorOfLongs: ${vectorOfLongs}, vectorOfDoubles: ${vectorOfDoubles}, parentNamespaceTest: ${parentNamespaceTest}, vectorOfReferrables: ${vectorOfReferrables}, singleWeakReference: ${singleWeakReference}, vectorOfWeakReferences: ${vectorOfWeakReferences}, vectorOfStrongReferrables: ${vectorOfStrongReferrables}, coOwningReference: ${coOwningReference}, vectorOfCoOwningReferences: ${vectorOfCoOwningReferences}, nonOwningReference: ${nonOwningReference}, vectorOfNonOwningReferences: ${vectorOfNonOwningReferences}, anyUniqueType: ${anyUniqueType}, anyUnique: ${anyUnique}, anyAmbiguousType: ${anyAmbiguousType}, anyAmbiguous: ${anyAmbiguous}, vectorOfEnums: ${vectorOfEnums}, signedEnum: ${signedEnum}, testrequirednestedflatbuffer: ${testrequirednestedflatbuffer}, scalarKeySortedTables: ${scalarKeySortedTables}, nativeInline: ${nativeInline}, longEnumNonEnumDefault: ${longEnumNonEnumDefault}, longEnumNormalDefault: ${longEnumNormalDefault}, nanDefault: ${nanDefault}, infDefault: ${infDefault}, positiveInfDefault: ${positiveInfDefault}, infinityDefault: ${infinityDefault}, positiveInfinityDefault: ${positiveInfinityDefault}, negativeInfDefault: ${negativeInfDefault}, negativeInfinityDefault: ${negativeInfinityDefault}, doubleInfDefault: ${doubleInfDefault}}'; } } @@ -1578,7 +1618,7 @@ class MonsterBuilder { final fb.Builder fbBuilder; void begin() { - fbBuilder.startTable(54); + fbBuilder.startTable(62); } int addPos(int offset) { @@ -1793,6 +1833,38 @@ class MonsterBuilder { fbBuilder.addUint64(53, longEnumNormalDefault?.value); return fbBuilder.offset; } + int addNanDefault(double? nanDefault) { + fbBuilder.addFloat32(54, nanDefault); + return fbBuilder.offset; + } + int addInfDefault(double? infDefault) { + fbBuilder.addFloat32(55, infDefault); + return fbBuilder.offset; + } + int addPositiveInfDefault(double? positiveInfDefault) { + fbBuilder.addFloat32(56, positiveInfDefault); + return fbBuilder.offset; + } + int addInfinityDefault(double? infinityDefault) { + fbBuilder.addFloat32(57, infinityDefault); + return fbBuilder.offset; + } + int addPositiveInfinityDefault(double? positiveInfinityDefault) { + fbBuilder.addFloat32(58, positiveInfinityDefault); + return fbBuilder.offset; + } + int addNegativeInfDefault(double? negativeInfDefault) { + fbBuilder.addFloat32(59, negativeInfDefault); + return fbBuilder.offset; + } + int addNegativeInfinityDefault(double? negativeInfinityDefault) { + fbBuilder.addFloat32(60, negativeInfinityDefault); + return fbBuilder.offset; + } + int addDoubleInfDefault(double? doubleInfDefault) { + fbBuilder.addFloat64(61, doubleInfDefault); + return fbBuilder.offset; + } int finish() { return fbBuilder.endTable(); @@ -1853,6 +1925,14 @@ class MonsterObjectBuilder extends fb.ObjectBuilder { final TestObjectBuilder? _nativeInline; final LongEnum? _longEnumNonEnumDefault; final LongEnum? _longEnumNormalDefault; + final double? _nanDefault; + final double? _infDefault; + final double? _positiveInfDefault; + final double? _infinityDefault; + final double? _positiveInfinityDefault; + final double? _negativeInfDefault; + final double? _negativeInfinityDefault; + final double? _doubleInfDefault; MonsterObjectBuilder({ Vec3ObjectBuilder? pos, @@ -1908,6 +1988,14 @@ class MonsterObjectBuilder extends fb.ObjectBuilder { TestObjectBuilder? nativeInline, LongEnum? longEnumNonEnumDefault, LongEnum? longEnumNormalDefault, + double? nanDefault, + double? infDefault, + double? positiveInfDefault, + double? infinityDefault, + double? positiveInfinityDefault, + double? negativeInfDefault, + double? negativeInfinityDefault, + double? doubleInfDefault, }) : _pos = pos, _mana = mana, @@ -1961,7 +2049,15 @@ class MonsterObjectBuilder extends fb.ObjectBuilder { _scalarKeySortedTables = scalarKeySortedTables, _nativeInline = nativeInline, _longEnumNonEnumDefault = longEnumNonEnumDefault, - _longEnumNormalDefault = longEnumNormalDefault; + _longEnumNormalDefault = longEnumNormalDefault, + _nanDefault = nanDefault, + _infDefault = infDefault, + _positiveInfDefault = positiveInfDefault, + _infinityDefault = infinityDefault, + _positiveInfinityDefault = positiveInfinityDefault, + _negativeInfDefault = negativeInfDefault, + _negativeInfinityDefault = negativeInfinityDefault, + _doubleInfDefault = doubleInfDefault; /// Finish building, and store into the [fbBuilder]. @override @@ -2014,7 +2110,7 @@ class MonsterObjectBuilder extends fb.ObjectBuilder { : fbBuilder.writeListUint8(_testrequirednestedflatbuffer!); final int? scalarKeySortedTablesOffset = _scalarKeySortedTables == null ? null : fbBuilder.writeList(_scalarKeySortedTables!.map((b) => b.getOrCreateOffset(fbBuilder)).toList()); - fbBuilder.startTable(54); + fbBuilder.startTable(62); if (_pos != null) { fbBuilder.addStruct(0, _pos!.finish(fbBuilder)); } @@ -2072,6 +2168,14 @@ class MonsterObjectBuilder extends fb.ObjectBuilder { } fbBuilder.addUint64(52, _longEnumNonEnumDefault?.value); fbBuilder.addUint64(53, _longEnumNormalDefault?.value); + fbBuilder.addFloat32(54, _nanDefault); + fbBuilder.addFloat32(55, _infDefault); + fbBuilder.addFloat32(56, _positiveInfDefault); + fbBuilder.addFloat32(57, _infinityDefault); + fbBuilder.addFloat32(58, _positiveInfinityDefault); + fbBuilder.addFloat32(59, _negativeInfDefault); + fbBuilder.addFloat32(60, _negativeInfinityDefault); + fbBuilder.addFloat64(61, _doubleInfDefault); return fbBuilder.endTable(); } diff --git a/tests/monster_test_serialize/my_game/example/monster_generated.rs b/tests/monster_test_serialize/my_game/example/monster_generated.rs index c5d709bb296..4c01eed1d82 100644 --- a/tests/monster_test_serialize/my_game/example/monster_generated.rs +++ b/tests/monster_test_serialize/my_game/example/monster_generated.rs @@ -81,6 +81,14 @@ impl<'a> Monster<'a> { pub const VT_NATIVE_INLINE: flatbuffers::VOffsetT = 106; pub const VT_LONG_ENUM_NON_ENUM_DEFAULT: flatbuffers::VOffsetT = 108; pub const VT_LONG_ENUM_NORMAL_DEFAULT: flatbuffers::VOffsetT = 110; + pub const VT_NAN_DEFAULT: flatbuffers::VOffsetT = 112; + pub const VT_INF_DEFAULT: flatbuffers::VOffsetT = 114; + pub const VT_POSITIVE_INF_DEFAULT: flatbuffers::VOffsetT = 116; + pub const VT_INFINITY_DEFAULT: flatbuffers::VOffsetT = 118; + pub const VT_POSITIVE_INFINITY_DEFAULT: flatbuffers::VOffsetT = 120; + pub const VT_NEGATIVE_INF_DEFAULT: flatbuffers::VOffsetT = 122; + pub const VT_NEGATIVE_INFINITY_DEFAULT: flatbuffers::VOffsetT = 124; + pub const VT_DOUBLE_INF_DEFAULT: flatbuffers::VOffsetT = 126; pub const fn get_fully_qualified_name() -> &'static str { "MyGame.Example.Monster" @@ -96,6 +104,7 @@ impl<'a> Monster<'a> { args: &'args MonsterArgs<'args> ) -> flatbuffers::WIPOffset> { let mut builder = MonsterBuilder::new(_fbb); + builder.add_double_inf_default(args.double_inf_default); builder.add_long_enum_normal_default(args.long_enum_normal_default); builder.add_long_enum_non_enum_default(args.long_enum_non_enum_default); builder.add_non_owning_reference(args.non_owning_reference); @@ -105,6 +114,13 @@ impl<'a> Monster<'a> { builder.add_testhashs64_fnv1a(args.testhashs64_fnv1a); builder.add_testhashu64_fnv1(args.testhashu64_fnv1); builder.add_testhashs64_fnv1(args.testhashs64_fnv1); + builder.add_negative_infinity_default(args.negative_infinity_default); + builder.add_negative_inf_default(args.negative_inf_default); + builder.add_positive_infinity_default(args.positive_infinity_default); + builder.add_infinity_default(args.infinity_default); + builder.add_positive_inf_default(args.positive_inf_default); + builder.add_inf_default(args.inf_default); + builder.add_nan_default(args.nan_default); if let Some(x) = args.native_inline { builder.add_native_inline(x); } if let Some(x) = args.scalar_key_sorted_tables { builder.add_scalar_key_sorted_tables(x); } if let Some(x) = args.testrequirednestedflatbuffer { builder.add_testrequirednestedflatbuffer(x); } @@ -310,6 +326,14 @@ impl<'a> Monster<'a> { }); let long_enum_non_enum_default = self.long_enum_non_enum_default(); let long_enum_normal_default = self.long_enum_normal_default(); + let nan_default = self.nan_default(); + let inf_default = self.inf_default(); + let positive_inf_default = self.positive_inf_default(); + let infinity_default = self.infinity_default(); + let positive_infinity_default = self.positive_infinity_default(); + let negative_inf_default = self.negative_inf_default(); + let negative_infinity_default = self.negative_infinity_default(); + let double_inf_default = self.double_inf_default(); MonsterT { pos, mana, @@ -361,6 +385,14 @@ impl<'a> Monster<'a> { native_inline, long_enum_non_enum_default, long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default, } } @@ -766,6 +798,62 @@ impl<'a> Monster<'a> { unsafe { self._tab.get::(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, Some(LongEnum::LongOne)).unwrap()} } #[inline] + pub fn nan_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_NAN_DEFAULT, Some(f32::NAN)).unwrap()} + } + #[inline] + pub fn inf_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_INF_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn positive_inf_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_POSITIVE_INF_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn infinity_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_INFINITY_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn positive_infinity_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_POSITIVE_INFINITY_DEFAULT, Some(f32::INFINITY)).unwrap()} + } + #[inline] + pub fn negative_inf_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_NEGATIVE_INF_DEFAULT, Some(f32::NEG_INFINITY)).unwrap()} + } + #[inline] + pub fn negative_infinity_default(&self) -> f32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_NEGATIVE_INFINITY_DEFAULT, Some(f32::NEG_INFINITY)).unwrap()} + } + #[inline] + pub fn double_inf_default(&self) -> f64 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(Monster::VT_DOUBLE_INF_DEFAULT, Some(f64::INFINITY)).unwrap()} + } + #[inline] #[allow(non_snake_case)] pub fn test_as_monster(&self) -> Option> { if self.test_type() == Any::Monster { @@ -980,6 +1068,14 @@ impl flatbuffers::Verifiable for Monster<'_> { .visit_field::("native_inline", Self::VT_NATIVE_INLINE, false)? .visit_field::("long_enum_non_enum_default", Self::VT_LONG_ENUM_NON_ENUM_DEFAULT, false)? .visit_field::("long_enum_normal_default", Self::VT_LONG_ENUM_NORMAL_DEFAULT, false)? + .visit_field::("nan_default", Self::VT_NAN_DEFAULT, false)? + .visit_field::("inf_default", Self::VT_INF_DEFAULT, false)? + .visit_field::("positive_inf_default", Self::VT_POSITIVE_INF_DEFAULT, false)? + .visit_field::("infinity_default", Self::VT_INFINITY_DEFAULT, false)? + .visit_field::("positive_infinity_default", Self::VT_POSITIVE_INFINITY_DEFAULT, false)? + .visit_field::("negative_inf_default", Self::VT_NEGATIVE_INF_DEFAULT, false)? + .visit_field::("negative_infinity_default", Self::VT_NEGATIVE_INFINITY_DEFAULT, false)? + .visit_field::("double_inf_default", Self::VT_DOUBLE_INF_DEFAULT, false)? .finish(); Ok(()) } @@ -1038,6 +1134,14 @@ pub struct MonsterArgs<'a> { pub native_inline: Option<&'a Test>, pub long_enum_non_enum_default: LongEnum, pub long_enum_normal_default: LongEnum, + pub nan_default: f32, + pub inf_default: f32, + pub positive_inf_default: f32, + pub infinity_default: f32, + pub positive_infinity_default: f32, + pub negative_inf_default: f32, + pub negative_infinity_default: f32, + pub double_inf_default: f64, } impl<'a> Default for MonsterArgs<'a> { #[inline] @@ -1096,6 +1200,14 @@ impl<'a> Default for MonsterArgs<'a> { native_inline: None, long_enum_non_enum_default: Default::default(), long_enum_normal_default: LongEnum::LongOne, + nan_default: f32::NAN, + inf_default: f32::INFINITY, + positive_inf_default: f32::INFINITY, + infinity_default: f32::INFINITY, + positive_infinity_default: f32::INFINITY, + negative_inf_default: f32::NEG_INFINITY, + negative_infinity_default: f32::NEG_INFINITY, + double_inf_default: f64::INFINITY, } } } @@ -1105,7 +1217,7 @@ impl Serialize for Monster<'_> { where S: Serializer, { - let mut s = serializer.serialize_struct("Monster", 54)?; + let mut s = serializer.serialize_struct("Monster", 62)?; if let Some(f) = self.pos() { s.serialize_field("pos", &f)?; } else { @@ -1313,6 +1425,14 @@ impl Serialize for Monster<'_> { } s.serialize_field("long_enum_non_enum_default", &self.long_enum_non_enum_default())?; s.serialize_field("long_enum_normal_default", &self.long_enum_normal_default())?; + s.serialize_field("nan_default", &self.nan_default())?; + s.serialize_field("inf_default", &self.inf_default())?; + s.serialize_field("positive_inf_default", &self.positive_inf_default())?; + s.serialize_field("infinity_default", &self.infinity_default())?; + s.serialize_field("positive_infinity_default", &self.positive_infinity_default())?; + s.serialize_field("negative_inf_default", &self.negative_inf_default())?; + s.serialize_field("negative_infinity_default", &self.negative_infinity_default())?; + s.serialize_field("double_inf_default", &self.double_inf_default())?; s.end() } } @@ -1535,6 +1655,38 @@ impl<'a: 'b, 'b> MonsterBuilder<'a, 'b> { self.fbb_.push_slot::(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, long_enum_normal_default, LongEnum::LongOne); } #[inline] + pub fn add_nan_default(&mut self, nan_default: f32) { + self.fbb_.push_slot::(Monster::VT_NAN_DEFAULT, nan_default, f32::NAN); + } + #[inline] + pub fn add_inf_default(&mut self, inf_default: f32) { + self.fbb_.push_slot::(Monster::VT_INF_DEFAULT, inf_default, f32::INFINITY); + } + #[inline] + pub fn add_positive_inf_default(&mut self, positive_inf_default: f32) { + self.fbb_.push_slot::(Monster::VT_POSITIVE_INF_DEFAULT, positive_inf_default, f32::INFINITY); + } + #[inline] + pub fn add_infinity_default(&mut self, infinity_default: f32) { + self.fbb_.push_slot::(Monster::VT_INFINITY_DEFAULT, infinity_default, f32::INFINITY); + } + #[inline] + pub fn add_positive_infinity_default(&mut self, positive_infinity_default: f32) { + self.fbb_.push_slot::(Monster::VT_POSITIVE_INFINITY_DEFAULT, positive_infinity_default, f32::INFINITY); + } + #[inline] + pub fn add_negative_inf_default(&mut self, negative_inf_default: f32) { + self.fbb_.push_slot::(Monster::VT_NEGATIVE_INF_DEFAULT, negative_inf_default, f32::NEG_INFINITY); + } + #[inline] + pub fn add_negative_infinity_default(&mut self, negative_infinity_default: f32) { + self.fbb_.push_slot::(Monster::VT_NEGATIVE_INFINITY_DEFAULT, negative_infinity_default, f32::NEG_INFINITY); + } + #[inline] + pub fn add_double_inf_default(&mut self, double_inf_default: f64) { + self.fbb_.push_slot::(Monster::VT_DOUBLE_INF_DEFAULT, double_inf_default, f64::INFINITY); + } + #[inline] pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MonsterBuilder<'a, 'b> { let start = _fbb.start_table(); MonsterBuilder { @@ -1684,6 +1836,14 @@ impl core::fmt::Debug for Monster<'_> { ds.field("native_inline", &self.native_inline()); ds.field("long_enum_non_enum_default", &self.long_enum_non_enum_default()); ds.field("long_enum_normal_default", &self.long_enum_normal_default()); + ds.field("nan_default", &self.nan_default()); + ds.field("inf_default", &self.inf_default()); + ds.field("positive_inf_default", &self.positive_inf_default()); + ds.field("infinity_default", &self.infinity_default()); + ds.field("positive_infinity_default", &self.positive_infinity_default()); + ds.field("negative_inf_default", &self.negative_inf_default()); + ds.field("negative_infinity_default", &self.negative_infinity_default()); + ds.field("double_inf_default", &self.double_inf_default()); ds.finish() } } @@ -1740,6 +1900,14 @@ pub struct MonsterT { pub native_inline: Option, pub long_enum_non_enum_default: LongEnum, pub long_enum_normal_default: LongEnum, + pub nan_default: f32, + pub inf_default: f32, + pub positive_inf_default: f32, + pub infinity_default: f32, + pub positive_infinity_default: f32, + pub negative_inf_default: f32, + pub negative_infinity_default: f32, + pub double_inf_default: f64, } impl Default for MonsterT { fn default() -> Self { @@ -1794,6 +1962,14 @@ impl Default for MonsterT { native_inline: None, long_enum_non_enum_default: Default::default(), long_enum_normal_default: LongEnum::LongOne, + nan_default: f32::NAN, + inf_default: f32::INFINITY, + positive_inf_default: f32::INFINITY, + infinity_default: f32::INFINITY, + positive_infinity_default: f32::INFINITY, + negative_inf_default: f32::NEG_INFINITY, + negative_infinity_default: f32::NEG_INFINITY, + double_inf_default: f64::INFINITY, } } } @@ -1906,6 +2082,14 @@ impl MonsterT { let native_inline = native_inline_tmp.as_ref(); let long_enum_non_enum_default = self.long_enum_non_enum_default; let long_enum_normal_default = self.long_enum_normal_default; + let nan_default = self.nan_default; + let inf_default = self.inf_default; + let positive_inf_default = self.positive_inf_default; + let infinity_default = self.infinity_default; + let positive_infinity_default = self.positive_infinity_default; + let negative_inf_default = self.negative_inf_default; + let negative_infinity_default = self.negative_infinity_default; + let double_inf_default = self.double_inf_default; Monster::create(_fbb, &MonsterArgs{ pos, mana, @@ -1960,6 +2144,14 @@ impl MonsterT { native_inline, long_enum_non_enum_default, long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default, }) } } diff --git a/tests/monster_test_suffix/ext_only/monster_test_generated.hpp b/tests/monster_test_suffix/ext_only/monster_test_generated.hpp index 4528418bab3..a5865bef382 100644 --- a/tests/monster_test_suffix/ext_only/monster_test_generated.hpp +++ b/tests/monster_test_suffix/ext_only/monster_test_generated.hpp @@ -1309,6 +1309,14 @@ struct MonsterT : public flatbuffers::NativeTable { MyGame::Example::Test native_inline{}; MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0); MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne; + float nan_default = std::numeric_limits::quiet_NaN(); + float inf_default = std::numeric_limits::infinity(); + float positive_inf_default = std::numeric_limits::infinity(); + float infinity_default = std::numeric_limits::infinity(); + float positive_infinity_default = std::numeric_limits::infinity(); + float negative_inf_default = -std::numeric_limits::infinity(); + float negative_infinity_default = -std::numeric_limits::infinity(); + double double_inf_default = std::numeric_limits::infinity(); MonsterT() = default; MonsterT(const MonsterT &o); MonsterT(MonsterT&&) FLATBUFFERS_NOEXCEPT = default; @@ -1375,7 +1383,15 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VT_SCALAR_KEY_SORTED_TABLES = 104, VT_NATIVE_INLINE = 106, VT_LONG_ENUM_NON_ENUM_DEFAULT = 108, - VT_LONG_ENUM_NORMAL_DEFAULT = 110 + VT_LONG_ENUM_NORMAL_DEFAULT = 110, + VT_NAN_DEFAULT = 112, + VT_INF_DEFAULT = 114, + VT_POSITIVE_INF_DEFAULT = 116, + VT_INFINITY_DEFAULT = 118, + VT_POSITIVE_INFINITY_DEFAULT = 120, + VT_NEGATIVE_INF_DEFAULT = 122, + VT_NEGATIVE_INFINITY_DEFAULT = 124, + VT_DOUBLE_INF_DEFAULT = 126 }; const MyGame::Example::Vec3 *pos() const { return GetStruct(VT_POS); @@ -1732,6 +1748,54 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool mutate_long_enum_normal_default(MyGame::Example::LongEnum _long_enum_normal_default = static_cast(2ULL)) { return SetField(VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(_long_enum_normal_default), 2ULL); } + float nan_default() const { + return GetField(VT_NAN_DEFAULT, std::numeric_limits::quiet_NaN()); + } + bool mutate_nan_default(float _nan_default = std::numeric_limits::quiet_NaN()) { + return SetField(VT_NAN_DEFAULT, _nan_default, std::numeric_limits::quiet_NaN()); + } + float inf_default() const { + return GetField(VT_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_inf_default(float _inf_default = std::numeric_limits::infinity()) { + return SetField(VT_INF_DEFAULT, _inf_default, std::numeric_limits::infinity()); + } + float positive_inf_default() const { + return GetField(VT_POSITIVE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_inf_default(float _positive_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INF_DEFAULT, _positive_inf_default, std::numeric_limits::infinity()); + } + float infinity_default() const { + return GetField(VT_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_infinity_default(float _infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_INFINITY_DEFAULT, _infinity_default, std::numeric_limits::infinity()); + } + float positive_infinity_default() const { + return GetField(VT_POSITIVE_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_infinity_default(float _positive_infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INFINITY_DEFAULT, _positive_infinity_default, std::numeric_limits::infinity()); + } + float negative_inf_default() const { + return GetField(VT_NEGATIVE_INF_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_inf_default(float _negative_inf_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INF_DEFAULT, _negative_inf_default, -std::numeric_limits::infinity()); + } + float negative_infinity_default() const { + return GetField(VT_NEGATIVE_INFINITY_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_infinity_default(float _negative_infinity_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INFINITY_DEFAULT, _negative_infinity_default, -std::numeric_limits::infinity()); + } + double double_inf_default() const { + return GetField(VT_DOUBLE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_double_inf_default(double _double_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_DOUBLE_INF_DEFAULT, _double_inf_default, std::numeric_limits::infinity()); + } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_POS, 8) && @@ -1823,6 +1887,14 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VerifyField(verifier, VT_NATIVE_INLINE, 2) && VerifyField(verifier, VT_LONG_ENUM_NON_ENUM_DEFAULT, 8) && VerifyField(verifier, VT_LONG_ENUM_NORMAL_DEFAULT, 8) && + VerifyField(verifier, VT_NAN_DEFAULT, 4) && + VerifyField(verifier, VT_INF_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_DOUBLE_INF_DEFAULT, 8) && verifier.EndTable(); } MonsterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; @@ -2017,6 +2089,30 @@ struct MonsterBuilder { void add_long_enum_normal_default(MyGame::Example::LongEnum long_enum_normal_default) { fbb_.AddElement(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(long_enum_normal_default), 2ULL); } + void add_nan_default(float nan_default) { + fbb_.AddElement(Monster::VT_NAN_DEFAULT, nan_default, std::numeric_limits::quiet_NaN()); + } + void add_inf_default(float inf_default) { + fbb_.AddElement(Monster::VT_INF_DEFAULT, inf_default, std::numeric_limits::infinity()); + } + void add_positive_inf_default(float positive_inf_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INF_DEFAULT, positive_inf_default, std::numeric_limits::infinity()); + } + void add_infinity_default(float infinity_default) { + fbb_.AddElement(Monster::VT_INFINITY_DEFAULT, infinity_default, std::numeric_limits::infinity()); + } + void add_positive_infinity_default(float positive_infinity_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INFINITY_DEFAULT, positive_infinity_default, std::numeric_limits::infinity()); + } + void add_negative_inf_default(float negative_inf_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INF_DEFAULT, negative_inf_default, -std::numeric_limits::infinity()); + } + void add_negative_infinity_default(float negative_infinity_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INFINITY_DEFAULT, negative_infinity_default, -std::numeric_limits::infinity()); + } + void add_double_inf_default(double double_inf_default) { + fbb_.AddElement(Monster::VT_DOUBLE_INF_DEFAULT, double_inf_default, std::numeric_limits::infinity()); + } explicit MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -2083,8 +2179,17 @@ inline flatbuffers::Offset CreateMonster( flatbuffers::Offset>> scalar_key_sorted_tables = 0, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { MonsterBuilder builder_(_fbb); + builder_.add_double_inf_default(double_inf_default); builder_.add_long_enum_normal_default(long_enum_normal_default); builder_.add_long_enum_non_enum_default(long_enum_non_enum_default); builder_.add_non_owning_reference(non_owning_reference); @@ -2094,6 +2199,13 @@ inline flatbuffers::Offset CreateMonster( builder_.add_testhashs64_fnv1a(testhashs64_fnv1a); builder_.add_testhashu64_fnv1(testhashu64_fnv1); builder_.add_testhashs64_fnv1(testhashs64_fnv1); + builder_.add_negative_infinity_default(negative_infinity_default); + builder_.add_negative_inf_default(negative_inf_default); + builder_.add_positive_infinity_default(positive_infinity_default); + builder_.add_infinity_default(infinity_default); + builder_.add_positive_inf_default(positive_inf_default); + builder_.add_inf_default(inf_default); + builder_.add_nan_default(nan_default); builder_.add_native_inline(native_inline); builder_.add_scalar_key_sorted_tables(scalar_key_sorted_tables); builder_.add_testrequirednestedflatbuffer(testrequirednestedflatbuffer); @@ -2195,7 +2307,15 @@ inline flatbuffers::Offset CreateMonsterDirect( std::vector> *scalar_key_sorted_tables = nullptr, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { auto name__ = name ? _fbb.CreateString(name) : 0; auto inventory__ = inventory ? _fbb.CreateVector(*inventory) : 0; auto test4__ = test4 ? _fbb.CreateVectorOfStructs(*test4) : 0; @@ -2271,7 +2391,15 @@ inline flatbuffers::Offset CreateMonsterDirect( scalar_key_sorted_tables__, native_inline, long_enum_non_enum_default, - long_enum_normal_default); + long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default); } flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); @@ -2767,7 +2895,15 @@ inline bool operator==(const MonsterT &lhs, const MonsterT &rhs) { (lhs.scalar_key_sorted_tables.size() == rhs.scalar_key_sorted_tables.size() && std::equal(lhs.scalar_key_sorted_tables.cbegin(), lhs.scalar_key_sorted_tables.cend(), rhs.scalar_key_sorted_tables.cbegin(), [](flatbuffers::unique_ptr const &a, flatbuffers::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && (lhs.native_inline == rhs.native_inline) && (lhs.long_enum_non_enum_default == rhs.long_enum_non_enum_default) && - (lhs.long_enum_normal_default == rhs.long_enum_normal_default); + (lhs.long_enum_normal_default == rhs.long_enum_normal_default) && + (lhs.nan_default == rhs.nan_default) && + (lhs.inf_default == rhs.inf_default) && + (lhs.positive_inf_default == rhs.positive_inf_default) && + (lhs.infinity_default == rhs.infinity_default) && + (lhs.positive_infinity_default == rhs.positive_infinity_default) && + (lhs.negative_inf_default == rhs.negative_inf_default) && + (lhs.negative_infinity_default == rhs.negative_infinity_default) && + (lhs.double_inf_default == rhs.double_inf_default); } inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) { @@ -2820,7 +2956,15 @@ inline MonsterT::MonsterT(const MonsterT &o) testrequirednestedflatbuffer(o.testrequirednestedflatbuffer), native_inline(o.native_inline), long_enum_non_enum_default(o.long_enum_non_enum_default), - long_enum_normal_default(o.long_enum_normal_default) { + long_enum_normal_default(o.long_enum_normal_default), + nan_default(o.nan_default), + inf_default(o.inf_default), + positive_inf_default(o.positive_inf_default), + infinity_default(o.infinity_default), + positive_infinity_default(o.positive_infinity_default), + negative_inf_default(o.negative_inf_default), + negative_infinity_default(o.negative_infinity_default), + double_inf_default(o.double_inf_default) { testarrayoftables.reserve(o.testarrayoftables.size()); for (const auto &testarrayoftables_ : o.testarrayoftables) { testarrayoftables.emplace_back((testarrayoftables_) ? new MyGame::Example::MonsterT(*testarrayoftables_) : nullptr); } vector_of_referrables.reserve(o.vector_of_referrables.size()); @@ -2884,6 +3028,14 @@ inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT { std::swap(native_inline, o.native_inline); std::swap(long_enum_non_enum_default, o.long_enum_non_enum_default); std::swap(long_enum_normal_default, o.long_enum_normal_default); + std::swap(nan_default, o.nan_default); + std::swap(inf_default, o.inf_default); + std::swap(positive_inf_default, o.positive_inf_default); + std::swap(infinity_default, o.infinity_default); + std::swap(positive_infinity_default, o.positive_infinity_default); + std::swap(negative_inf_default, o.negative_inf_default); + std::swap(negative_infinity_default, o.negative_infinity_default); + std::swap(double_inf_default, o.double_inf_default); return *this; } @@ -2949,6 +3101,14 @@ inline void Monster::UnPackTo(MonsterT *_o, const flatbuffers::resolver_function { auto _e = native_inline(); if (_e) _o->native_inline = *_e; } { auto _e = long_enum_non_enum_default(); _o->long_enum_non_enum_default = _e; } { auto _e = long_enum_normal_default(); _o->long_enum_normal_default = _e; } + { auto _e = nan_default(); _o->nan_default = _e; } + { auto _e = inf_default(); _o->inf_default = _e; } + { auto _e = positive_inf_default(); _o->positive_inf_default = _e; } + { auto _e = infinity_default(); _o->infinity_default = _e; } + { auto _e = positive_infinity_default(); _o->positive_infinity_default = _e; } + { auto _e = negative_inf_default(); _o->negative_inf_default = _e; } + { auto _e = negative_infinity_default(); _o->negative_infinity_default = _e; } + { auto _e = double_inf_default(); _o->double_inf_default = _e; } } inline flatbuffers::Offset Monster::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT* _o, const flatbuffers::rehasher_function_t *_rehasher) { @@ -3012,6 +3172,14 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder auto _native_inline = &_o->native_inline; auto _long_enum_non_enum_default = _o->long_enum_non_enum_default; auto _long_enum_normal_default = _o->long_enum_normal_default; + auto _nan_default = _o->nan_default; + auto _inf_default = _o->inf_default; + auto _positive_inf_default = _o->positive_inf_default; + auto _infinity_default = _o->infinity_default; + auto _positive_infinity_default = _o->positive_infinity_default; + auto _negative_inf_default = _o->negative_inf_default; + auto _negative_infinity_default = _o->negative_infinity_default; + auto _double_inf_default = _o->double_inf_default; return MyGame::Example::CreateMonster( _fbb, _pos, @@ -3066,7 +3234,15 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder _scalar_key_sorted_tables, _native_inline, _long_enum_non_enum_default, - _long_enum_normal_default); + _long_enum_normal_default, + _nan_default, + _inf_default, + _positive_inf_default, + _infinity_default, + _positive_infinity_default, + _negative_inf_default, + _negative_infinity_default, + _double_inf_default); } @@ -3846,7 +4022,15 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { { flatbuffers::ET_SEQUENCE, 1, 5 }, { flatbuffers::ET_SEQUENCE, 0, 3 }, { flatbuffers::ET_ULONG, 0, 12 }, - { flatbuffers::ET_ULONG, 0, 12 } + { flatbuffers::ET_ULONG, 0, 12 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_DOUBLE, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { MyGame::Example::Vec3TypeTable, @@ -3917,10 +4101,18 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { "scalar_key_sorted_tables", "native_inline", "long_enum_non_enum_default", - "long_enum_normal_default" + "long_enum_normal_default", + "nan_default", + "inf_default", + "positive_inf_default", + "infinity_default", + "positive_infinity_default", + "negative_inf_default", + "negative_infinity_default", + "double_inf_default" }; static const flatbuffers::TypeTable tt = { - flatbuffers::ST_TABLE, 54, type_codes, type_refs, nullptr, nullptr, names + flatbuffers::ST_TABLE, 62, type_codes, type_refs, nullptr, nullptr, names }; return &tt; } diff --git a/tests/monster_test_suffix/filesuffix_only/monster_test_suffix.h b/tests/monster_test_suffix/filesuffix_only/monster_test_suffix.h index 4528418bab3..a5865bef382 100644 --- a/tests/monster_test_suffix/filesuffix_only/monster_test_suffix.h +++ b/tests/monster_test_suffix/filesuffix_only/monster_test_suffix.h @@ -1309,6 +1309,14 @@ struct MonsterT : public flatbuffers::NativeTable { MyGame::Example::Test native_inline{}; MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0); MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne; + float nan_default = std::numeric_limits::quiet_NaN(); + float inf_default = std::numeric_limits::infinity(); + float positive_inf_default = std::numeric_limits::infinity(); + float infinity_default = std::numeric_limits::infinity(); + float positive_infinity_default = std::numeric_limits::infinity(); + float negative_inf_default = -std::numeric_limits::infinity(); + float negative_infinity_default = -std::numeric_limits::infinity(); + double double_inf_default = std::numeric_limits::infinity(); MonsterT() = default; MonsterT(const MonsterT &o); MonsterT(MonsterT&&) FLATBUFFERS_NOEXCEPT = default; @@ -1375,7 +1383,15 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VT_SCALAR_KEY_SORTED_TABLES = 104, VT_NATIVE_INLINE = 106, VT_LONG_ENUM_NON_ENUM_DEFAULT = 108, - VT_LONG_ENUM_NORMAL_DEFAULT = 110 + VT_LONG_ENUM_NORMAL_DEFAULT = 110, + VT_NAN_DEFAULT = 112, + VT_INF_DEFAULT = 114, + VT_POSITIVE_INF_DEFAULT = 116, + VT_INFINITY_DEFAULT = 118, + VT_POSITIVE_INFINITY_DEFAULT = 120, + VT_NEGATIVE_INF_DEFAULT = 122, + VT_NEGATIVE_INFINITY_DEFAULT = 124, + VT_DOUBLE_INF_DEFAULT = 126 }; const MyGame::Example::Vec3 *pos() const { return GetStruct(VT_POS); @@ -1732,6 +1748,54 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool mutate_long_enum_normal_default(MyGame::Example::LongEnum _long_enum_normal_default = static_cast(2ULL)) { return SetField(VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(_long_enum_normal_default), 2ULL); } + float nan_default() const { + return GetField(VT_NAN_DEFAULT, std::numeric_limits::quiet_NaN()); + } + bool mutate_nan_default(float _nan_default = std::numeric_limits::quiet_NaN()) { + return SetField(VT_NAN_DEFAULT, _nan_default, std::numeric_limits::quiet_NaN()); + } + float inf_default() const { + return GetField(VT_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_inf_default(float _inf_default = std::numeric_limits::infinity()) { + return SetField(VT_INF_DEFAULT, _inf_default, std::numeric_limits::infinity()); + } + float positive_inf_default() const { + return GetField(VT_POSITIVE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_inf_default(float _positive_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INF_DEFAULT, _positive_inf_default, std::numeric_limits::infinity()); + } + float infinity_default() const { + return GetField(VT_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_infinity_default(float _infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_INFINITY_DEFAULT, _infinity_default, std::numeric_limits::infinity()); + } + float positive_infinity_default() const { + return GetField(VT_POSITIVE_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_infinity_default(float _positive_infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INFINITY_DEFAULT, _positive_infinity_default, std::numeric_limits::infinity()); + } + float negative_inf_default() const { + return GetField(VT_NEGATIVE_INF_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_inf_default(float _negative_inf_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INF_DEFAULT, _negative_inf_default, -std::numeric_limits::infinity()); + } + float negative_infinity_default() const { + return GetField(VT_NEGATIVE_INFINITY_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_infinity_default(float _negative_infinity_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INFINITY_DEFAULT, _negative_infinity_default, -std::numeric_limits::infinity()); + } + double double_inf_default() const { + return GetField(VT_DOUBLE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_double_inf_default(double _double_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_DOUBLE_INF_DEFAULT, _double_inf_default, std::numeric_limits::infinity()); + } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_POS, 8) && @@ -1823,6 +1887,14 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VerifyField(verifier, VT_NATIVE_INLINE, 2) && VerifyField(verifier, VT_LONG_ENUM_NON_ENUM_DEFAULT, 8) && VerifyField(verifier, VT_LONG_ENUM_NORMAL_DEFAULT, 8) && + VerifyField(verifier, VT_NAN_DEFAULT, 4) && + VerifyField(verifier, VT_INF_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_DOUBLE_INF_DEFAULT, 8) && verifier.EndTable(); } MonsterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; @@ -2017,6 +2089,30 @@ struct MonsterBuilder { void add_long_enum_normal_default(MyGame::Example::LongEnum long_enum_normal_default) { fbb_.AddElement(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(long_enum_normal_default), 2ULL); } + void add_nan_default(float nan_default) { + fbb_.AddElement(Monster::VT_NAN_DEFAULT, nan_default, std::numeric_limits::quiet_NaN()); + } + void add_inf_default(float inf_default) { + fbb_.AddElement(Monster::VT_INF_DEFAULT, inf_default, std::numeric_limits::infinity()); + } + void add_positive_inf_default(float positive_inf_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INF_DEFAULT, positive_inf_default, std::numeric_limits::infinity()); + } + void add_infinity_default(float infinity_default) { + fbb_.AddElement(Monster::VT_INFINITY_DEFAULT, infinity_default, std::numeric_limits::infinity()); + } + void add_positive_infinity_default(float positive_infinity_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INFINITY_DEFAULT, positive_infinity_default, std::numeric_limits::infinity()); + } + void add_negative_inf_default(float negative_inf_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INF_DEFAULT, negative_inf_default, -std::numeric_limits::infinity()); + } + void add_negative_infinity_default(float negative_infinity_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INFINITY_DEFAULT, negative_infinity_default, -std::numeric_limits::infinity()); + } + void add_double_inf_default(double double_inf_default) { + fbb_.AddElement(Monster::VT_DOUBLE_INF_DEFAULT, double_inf_default, std::numeric_limits::infinity()); + } explicit MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -2083,8 +2179,17 @@ inline flatbuffers::Offset CreateMonster( flatbuffers::Offset>> scalar_key_sorted_tables = 0, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { MonsterBuilder builder_(_fbb); + builder_.add_double_inf_default(double_inf_default); builder_.add_long_enum_normal_default(long_enum_normal_default); builder_.add_long_enum_non_enum_default(long_enum_non_enum_default); builder_.add_non_owning_reference(non_owning_reference); @@ -2094,6 +2199,13 @@ inline flatbuffers::Offset CreateMonster( builder_.add_testhashs64_fnv1a(testhashs64_fnv1a); builder_.add_testhashu64_fnv1(testhashu64_fnv1); builder_.add_testhashs64_fnv1(testhashs64_fnv1); + builder_.add_negative_infinity_default(negative_infinity_default); + builder_.add_negative_inf_default(negative_inf_default); + builder_.add_positive_infinity_default(positive_infinity_default); + builder_.add_infinity_default(infinity_default); + builder_.add_positive_inf_default(positive_inf_default); + builder_.add_inf_default(inf_default); + builder_.add_nan_default(nan_default); builder_.add_native_inline(native_inline); builder_.add_scalar_key_sorted_tables(scalar_key_sorted_tables); builder_.add_testrequirednestedflatbuffer(testrequirednestedflatbuffer); @@ -2195,7 +2307,15 @@ inline flatbuffers::Offset CreateMonsterDirect( std::vector> *scalar_key_sorted_tables = nullptr, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { auto name__ = name ? _fbb.CreateString(name) : 0; auto inventory__ = inventory ? _fbb.CreateVector(*inventory) : 0; auto test4__ = test4 ? _fbb.CreateVectorOfStructs(*test4) : 0; @@ -2271,7 +2391,15 @@ inline flatbuffers::Offset CreateMonsterDirect( scalar_key_sorted_tables__, native_inline, long_enum_non_enum_default, - long_enum_normal_default); + long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default); } flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); @@ -2767,7 +2895,15 @@ inline bool operator==(const MonsterT &lhs, const MonsterT &rhs) { (lhs.scalar_key_sorted_tables.size() == rhs.scalar_key_sorted_tables.size() && std::equal(lhs.scalar_key_sorted_tables.cbegin(), lhs.scalar_key_sorted_tables.cend(), rhs.scalar_key_sorted_tables.cbegin(), [](flatbuffers::unique_ptr const &a, flatbuffers::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && (lhs.native_inline == rhs.native_inline) && (lhs.long_enum_non_enum_default == rhs.long_enum_non_enum_default) && - (lhs.long_enum_normal_default == rhs.long_enum_normal_default); + (lhs.long_enum_normal_default == rhs.long_enum_normal_default) && + (lhs.nan_default == rhs.nan_default) && + (lhs.inf_default == rhs.inf_default) && + (lhs.positive_inf_default == rhs.positive_inf_default) && + (lhs.infinity_default == rhs.infinity_default) && + (lhs.positive_infinity_default == rhs.positive_infinity_default) && + (lhs.negative_inf_default == rhs.negative_inf_default) && + (lhs.negative_infinity_default == rhs.negative_infinity_default) && + (lhs.double_inf_default == rhs.double_inf_default); } inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) { @@ -2820,7 +2956,15 @@ inline MonsterT::MonsterT(const MonsterT &o) testrequirednestedflatbuffer(o.testrequirednestedflatbuffer), native_inline(o.native_inline), long_enum_non_enum_default(o.long_enum_non_enum_default), - long_enum_normal_default(o.long_enum_normal_default) { + long_enum_normal_default(o.long_enum_normal_default), + nan_default(o.nan_default), + inf_default(o.inf_default), + positive_inf_default(o.positive_inf_default), + infinity_default(o.infinity_default), + positive_infinity_default(o.positive_infinity_default), + negative_inf_default(o.negative_inf_default), + negative_infinity_default(o.negative_infinity_default), + double_inf_default(o.double_inf_default) { testarrayoftables.reserve(o.testarrayoftables.size()); for (const auto &testarrayoftables_ : o.testarrayoftables) { testarrayoftables.emplace_back((testarrayoftables_) ? new MyGame::Example::MonsterT(*testarrayoftables_) : nullptr); } vector_of_referrables.reserve(o.vector_of_referrables.size()); @@ -2884,6 +3028,14 @@ inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT { std::swap(native_inline, o.native_inline); std::swap(long_enum_non_enum_default, o.long_enum_non_enum_default); std::swap(long_enum_normal_default, o.long_enum_normal_default); + std::swap(nan_default, o.nan_default); + std::swap(inf_default, o.inf_default); + std::swap(positive_inf_default, o.positive_inf_default); + std::swap(infinity_default, o.infinity_default); + std::swap(positive_infinity_default, o.positive_infinity_default); + std::swap(negative_inf_default, o.negative_inf_default); + std::swap(negative_infinity_default, o.negative_infinity_default); + std::swap(double_inf_default, o.double_inf_default); return *this; } @@ -2949,6 +3101,14 @@ inline void Monster::UnPackTo(MonsterT *_o, const flatbuffers::resolver_function { auto _e = native_inline(); if (_e) _o->native_inline = *_e; } { auto _e = long_enum_non_enum_default(); _o->long_enum_non_enum_default = _e; } { auto _e = long_enum_normal_default(); _o->long_enum_normal_default = _e; } + { auto _e = nan_default(); _o->nan_default = _e; } + { auto _e = inf_default(); _o->inf_default = _e; } + { auto _e = positive_inf_default(); _o->positive_inf_default = _e; } + { auto _e = infinity_default(); _o->infinity_default = _e; } + { auto _e = positive_infinity_default(); _o->positive_infinity_default = _e; } + { auto _e = negative_inf_default(); _o->negative_inf_default = _e; } + { auto _e = negative_infinity_default(); _o->negative_infinity_default = _e; } + { auto _e = double_inf_default(); _o->double_inf_default = _e; } } inline flatbuffers::Offset Monster::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT* _o, const flatbuffers::rehasher_function_t *_rehasher) { @@ -3012,6 +3172,14 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder auto _native_inline = &_o->native_inline; auto _long_enum_non_enum_default = _o->long_enum_non_enum_default; auto _long_enum_normal_default = _o->long_enum_normal_default; + auto _nan_default = _o->nan_default; + auto _inf_default = _o->inf_default; + auto _positive_inf_default = _o->positive_inf_default; + auto _infinity_default = _o->infinity_default; + auto _positive_infinity_default = _o->positive_infinity_default; + auto _negative_inf_default = _o->negative_inf_default; + auto _negative_infinity_default = _o->negative_infinity_default; + auto _double_inf_default = _o->double_inf_default; return MyGame::Example::CreateMonster( _fbb, _pos, @@ -3066,7 +3234,15 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder _scalar_key_sorted_tables, _native_inline, _long_enum_non_enum_default, - _long_enum_normal_default); + _long_enum_normal_default, + _nan_default, + _inf_default, + _positive_inf_default, + _infinity_default, + _positive_infinity_default, + _negative_inf_default, + _negative_infinity_default, + _double_inf_default); } @@ -3846,7 +4022,15 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { { flatbuffers::ET_SEQUENCE, 1, 5 }, { flatbuffers::ET_SEQUENCE, 0, 3 }, { flatbuffers::ET_ULONG, 0, 12 }, - { flatbuffers::ET_ULONG, 0, 12 } + { flatbuffers::ET_ULONG, 0, 12 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_DOUBLE, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { MyGame::Example::Vec3TypeTable, @@ -3917,10 +4101,18 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { "scalar_key_sorted_tables", "native_inline", "long_enum_non_enum_default", - "long_enum_normal_default" + "long_enum_normal_default", + "nan_default", + "inf_default", + "positive_inf_default", + "infinity_default", + "positive_infinity_default", + "negative_inf_default", + "negative_infinity_default", + "double_inf_default" }; static const flatbuffers::TypeTable tt = { - flatbuffers::ST_TABLE, 54, type_codes, type_refs, nullptr, nullptr, names + flatbuffers::ST_TABLE, 62, type_codes, type_refs, nullptr, nullptr, names }; return &tt; } diff --git a/tests/monster_test_suffix/monster_test_suffix.hpp b/tests/monster_test_suffix/monster_test_suffix.hpp index 4528418bab3..a5865bef382 100644 --- a/tests/monster_test_suffix/monster_test_suffix.hpp +++ b/tests/monster_test_suffix/monster_test_suffix.hpp @@ -1309,6 +1309,14 @@ struct MonsterT : public flatbuffers::NativeTable { MyGame::Example::Test native_inline{}; MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0); MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne; + float nan_default = std::numeric_limits::quiet_NaN(); + float inf_default = std::numeric_limits::infinity(); + float positive_inf_default = std::numeric_limits::infinity(); + float infinity_default = std::numeric_limits::infinity(); + float positive_infinity_default = std::numeric_limits::infinity(); + float negative_inf_default = -std::numeric_limits::infinity(); + float negative_infinity_default = -std::numeric_limits::infinity(); + double double_inf_default = std::numeric_limits::infinity(); MonsterT() = default; MonsterT(const MonsterT &o); MonsterT(MonsterT&&) FLATBUFFERS_NOEXCEPT = default; @@ -1375,7 +1383,15 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VT_SCALAR_KEY_SORTED_TABLES = 104, VT_NATIVE_INLINE = 106, VT_LONG_ENUM_NON_ENUM_DEFAULT = 108, - VT_LONG_ENUM_NORMAL_DEFAULT = 110 + VT_LONG_ENUM_NORMAL_DEFAULT = 110, + VT_NAN_DEFAULT = 112, + VT_INF_DEFAULT = 114, + VT_POSITIVE_INF_DEFAULT = 116, + VT_INFINITY_DEFAULT = 118, + VT_POSITIVE_INFINITY_DEFAULT = 120, + VT_NEGATIVE_INF_DEFAULT = 122, + VT_NEGATIVE_INFINITY_DEFAULT = 124, + VT_DOUBLE_INF_DEFAULT = 126 }; const MyGame::Example::Vec3 *pos() const { return GetStruct(VT_POS); @@ -1732,6 +1748,54 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { bool mutate_long_enum_normal_default(MyGame::Example::LongEnum _long_enum_normal_default = static_cast(2ULL)) { return SetField(VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(_long_enum_normal_default), 2ULL); } + float nan_default() const { + return GetField(VT_NAN_DEFAULT, std::numeric_limits::quiet_NaN()); + } + bool mutate_nan_default(float _nan_default = std::numeric_limits::quiet_NaN()) { + return SetField(VT_NAN_DEFAULT, _nan_default, std::numeric_limits::quiet_NaN()); + } + float inf_default() const { + return GetField(VT_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_inf_default(float _inf_default = std::numeric_limits::infinity()) { + return SetField(VT_INF_DEFAULT, _inf_default, std::numeric_limits::infinity()); + } + float positive_inf_default() const { + return GetField(VT_POSITIVE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_inf_default(float _positive_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INF_DEFAULT, _positive_inf_default, std::numeric_limits::infinity()); + } + float infinity_default() const { + return GetField(VT_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_infinity_default(float _infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_INFINITY_DEFAULT, _infinity_default, std::numeric_limits::infinity()); + } + float positive_infinity_default() const { + return GetField(VT_POSITIVE_INFINITY_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_positive_infinity_default(float _positive_infinity_default = std::numeric_limits::infinity()) { + return SetField(VT_POSITIVE_INFINITY_DEFAULT, _positive_infinity_default, std::numeric_limits::infinity()); + } + float negative_inf_default() const { + return GetField(VT_NEGATIVE_INF_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_inf_default(float _negative_inf_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INF_DEFAULT, _negative_inf_default, -std::numeric_limits::infinity()); + } + float negative_infinity_default() const { + return GetField(VT_NEGATIVE_INFINITY_DEFAULT, -std::numeric_limits::infinity()); + } + bool mutate_negative_infinity_default(float _negative_infinity_default = -std::numeric_limits::infinity()) { + return SetField(VT_NEGATIVE_INFINITY_DEFAULT, _negative_infinity_default, -std::numeric_limits::infinity()); + } + double double_inf_default() const { + return GetField(VT_DOUBLE_INF_DEFAULT, std::numeric_limits::infinity()); + } + bool mutate_double_inf_default(double _double_inf_default = std::numeric_limits::infinity()) { + return SetField(VT_DOUBLE_INF_DEFAULT, _double_inf_default, std::numeric_limits::infinity()); + } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_POS, 8) && @@ -1823,6 +1887,14 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VerifyField(verifier, VT_NATIVE_INLINE, 2) && VerifyField(verifier, VT_LONG_ENUM_NON_ENUM_DEFAULT, 8) && VerifyField(verifier, VT_LONG_ENUM_NORMAL_DEFAULT, 8) && + VerifyField(verifier, VT_NAN_DEFAULT, 4) && + VerifyField(verifier, VT_INF_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_POSITIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INF_DEFAULT, 4) && + VerifyField(verifier, VT_NEGATIVE_INFINITY_DEFAULT, 4) && + VerifyField(verifier, VT_DOUBLE_INF_DEFAULT, 8) && verifier.EndTable(); } MonsterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; @@ -2017,6 +2089,30 @@ struct MonsterBuilder { void add_long_enum_normal_default(MyGame::Example::LongEnum long_enum_normal_default) { fbb_.AddElement(Monster::VT_LONG_ENUM_NORMAL_DEFAULT, static_cast(long_enum_normal_default), 2ULL); } + void add_nan_default(float nan_default) { + fbb_.AddElement(Monster::VT_NAN_DEFAULT, nan_default, std::numeric_limits::quiet_NaN()); + } + void add_inf_default(float inf_default) { + fbb_.AddElement(Monster::VT_INF_DEFAULT, inf_default, std::numeric_limits::infinity()); + } + void add_positive_inf_default(float positive_inf_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INF_DEFAULT, positive_inf_default, std::numeric_limits::infinity()); + } + void add_infinity_default(float infinity_default) { + fbb_.AddElement(Monster::VT_INFINITY_DEFAULT, infinity_default, std::numeric_limits::infinity()); + } + void add_positive_infinity_default(float positive_infinity_default) { + fbb_.AddElement(Monster::VT_POSITIVE_INFINITY_DEFAULT, positive_infinity_default, std::numeric_limits::infinity()); + } + void add_negative_inf_default(float negative_inf_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INF_DEFAULT, negative_inf_default, -std::numeric_limits::infinity()); + } + void add_negative_infinity_default(float negative_infinity_default) { + fbb_.AddElement(Monster::VT_NEGATIVE_INFINITY_DEFAULT, negative_infinity_default, -std::numeric_limits::infinity()); + } + void add_double_inf_default(double double_inf_default) { + fbb_.AddElement(Monster::VT_DOUBLE_INF_DEFAULT, double_inf_default, std::numeric_limits::infinity()); + } explicit MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -2083,8 +2179,17 @@ inline flatbuffers::Offset CreateMonster( flatbuffers::Offset>> scalar_key_sorted_tables = 0, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { MonsterBuilder builder_(_fbb); + builder_.add_double_inf_default(double_inf_default); builder_.add_long_enum_normal_default(long_enum_normal_default); builder_.add_long_enum_non_enum_default(long_enum_non_enum_default); builder_.add_non_owning_reference(non_owning_reference); @@ -2094,6 +2199,13 @@ inline flatbuffers::Offset CreateMonster( builder_.add_testhashs64_fnv1a(testhashs64_fnv1a); builder_.add_testhashu64_fnv1(testhashu64_fnv1); builder_.add_testhashs64_fnv1(testhashs64_fnv1); + builder_.add_negative_infinity_default(negative_infinity_default); + builder_.add_negative_inf_default(negative_inf_default); + builder_.add_positive_infinity_default(positive_infinity_default); + builder_.add_infinity_default(infinity_default); + builder_.add_positive_inf_default(positive_inf_default); + builder_.add_inf_default(inf_default); + builder_.add_nan_default(nan_default); builder_.add_native_inline(native_inline); builder_.add_scalar_key_sorted_tables(scalar_key_sorted_tables); builder_.add_testrequirednestedflatbuffer(testrequirednestedflatbuffer); @@ -2195,7 +2307,15 @@ inline flatbuffers::Offset CreateMonsterDirect( std::vector> *scalar_key_sorted_tables = nullptr, const MyGame::Example::Test *native_inline = nullptr, MyGame::Example::LongEnum long_enum_non_enum_default = static_cast(0), - MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne) { + MyGame::Example::LongEnum long_enum_normal_default = MyGame::Example::LongEnum_LongOne, + float nan_default = std::numeric_limits::quiet_NaN(), + float inf_default = std::numeric_limits::infinity(), + float positive_inf_default = std::numeric_limits::infinity(), + float infinity_default = std::numeric_limits::infinity(), + float positive_infinity_default = std::numeric_limits::infinity(), + float negative_inf_default = -std::numeric_limits::infinity(), + float negative_infinity_default = -std::numeric_limits::infinity(), + double double_inf_default = std::numeric_limits::infinity()) { auto name__ = name ? _fbb.CreateString(name) : 0; auto inventory__ = inventory ? _fbb.CreateVector(*inventory) : 0; auto test4__ = test4 ? _fbb.CreateVectorOfStructs(*test4) : 0; @@ -2271,7 +2391,15 @@ inline flatbuffers::Offset CreateMonsterDirect( scalar_key_sorted_tables__, native_inline, long_enum_non_enum_default, - long_enum_normal_default); + long_enum_normal_default, + nan_default, + inf_default, + positive_inf_default, + infinity_default, + positive_infinity_default, + negative_inf_default, + negative_infinity_default, + double_inf_default); } flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); @@ -2767,7 +2895,15 @@ inline bool operator==(const MonsterT &lhs, const MonsterT &rhs) { (lhs.scalar_key_sorted_tables.size() == rhs.scalar_key_sorted_tables.size() && std::equal(lhs.scalar_key_sorted_tables.cbegin(), lhs.scalar_key_sorted_tables.cend(), rhs.scalar_key_sorted_tables.cbegin(), [](flatbuffers::unique_ptr const &a, flatbuffers::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && (lhs.native_inline == rhs.native_inline) && (lhs.long_enum_non_enum_default == rhs.long_enum_non_enum_default) && - (lhs.long_enum_normal_default == rhs.long_enum_normal_default); + (lhs.long_enum_normal_default == rhs.long_enum_normal_default) && + (lhs.nan_default == rhs.nan_default) && + (lhs.inf_default == rhs.inf_default) && + (lhs.positive_inf_default == rhs.positive_inf_default) && + (lhs.infinity_default == rhs.infinity_default) && + (lhs.positive_infinity_default == rhs.positive_infinity_default) && + (lhs.negative_inf_default == rhs.negative_inf_default) && + (lhs.negative_infinity_default == rhs.negative_infinity_default) && + (lhs.double_inf_default == rhs.double_inf_default); } inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) { @@ -2820,7 +2956,15 @@ inline MonsterT::MonsterT(const MonsterT &o) testrequirednestedflatbuffer(o.testrequirednestedflatbuffer), native_inline(o.native_inline), long_enum_non_enum_default(o.long_enum_non_enum_default), - long_enum_normal_default(o.long_enum_normal_default) { + long_enum_normal_default(o.long_enum_normal_default), + nan_default(o.nan_default), + inf_default(o.inf_default), + positive_inf_default(o.positive_inf_default), + infinity_default(o.infinity_default), + positive_infinity_default(o.positive_infinity_default), + negative_inf_default(o.negative_inf_default), + negative_infinity_default(o.negative_infinity_default), + double_inf_default(o.double_inf_default) { testarrayoftables.reserve(o.testarrayoftables.size()); for (const auto &testarrayoftables_ : o.testarrayoftables) { testarrayoftables.emplace_back((testarrayoftables_) ? new MyGame::Example::MonsterT(*testarrayoftables_) : nullptr); } vector_of_referrables.reserve(o.vector_of_referrables.size()); @@ -2884,6 +3028,14 @@ inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT { std::swap(native_inline, o.native_inline); std::swap(long_enum_non_enum_default, o.long_enum_non_enum_default); std::swap(long_enum_normal_default, o.long_enum_normal_default); + std::swap(nan_default, o.nan_default); + std::swap(inf_default, o.inf_default); + std::swap(positive_inf_default, o.positive_inf_default); + std::swap(infinity_default, o.infinity_default); + std::swap(positive_infinity_default, o.positive_infinity_default); + std::swap(negative_inf_default, o.negative_inf_default); + std::swap(negative_infinity_default, o.negative_infinity_default); + std::swap(double_inf_default, o.double_inf_default); return *this; } @@ -2949,6 +3101,14 @@ inline void Monster::UnPackTo(MonsterT *_o, const flatbuffers::resolver_function { auto _e = native_inline(); if (_e) _o->native_inline = *_e; } { auto _e = long_enum_non_enum_default(); _o->long_enum_non_enum_default = _e; } { auto _e = long_enum_normal_default(); _o->long_enum_normal_default = _e; } + { auto _e = nan_default(); _o->nan_default = _e; } + { auto _e = inf_default(); _o->inf_default = _e; } + { auto _e = positive_inf_default(); _o->positive_inf_default = _e; } + { auto _e = infinity_default(); _o->infinity_default = _e; } + { auto _e = positive_infinity_default(); _o->positive_infinity_default = _e; } + { auto _e = negative_inf_default(); _o->negative_inf_default = _e; } + { auto _e = negative_infinity_default(); _o->negative_infinity_default = _e; } + { auto _e = double_inf_default(); _o->double_inf_default = _e; } } inline flatbuffers::Offset Monster::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT* _o, const flatbuffers::rehasher_function_t *_rehasher) { @@ -3012,6 +3172,14 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder auto _native_inline = &_o->native_inline; auto _long_enum_non_enum_default = _o->long_enum_non_enum_default; auto _long_enum_normal_default = _o->long_enum_normal_default; + auto _nan_default = _o->nan_default; + auto _inf_default = _o->inf_default; + auto _positive_inf_default = _o->positive_inf_default; + auto _infinity_default = _o->infinity_default; + auto _positive_infinity_default = _o->positive_infinity_default; + auto _negative_inf_default = _o->negative_inf_default; + auto _negative_infinity_default = _o->negative_infinity_default; + auto _double_inf_default = _o->double_inf_default; return MyGame::Example::CreateMonster( _fbb, _pos, @@ -3066,7 +3234,15 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder _scalar_key_sorted_tables, _native_inline, _long_enum_non_enum_default, - _long_enum_normal_default); + _long_enum_normal_default, + _nan_default, + _inf_default, + _positive_inf_default, + _infinity_default, + _positive_infinity_default, + _negative_inf_default, + _negative_infinity_default, + _double_inf_default); } @@ -3846,7 +4022,15 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { { flatbuffers::ET_SEQUENCE, 1, 5 }, { flatbuffers::ET_SEQUENCE, 0, 3 }, { flatbuffers::ET_ULONG, 0, 12 }, - { flatbuffers::ET_ULONG, 0, 12 } + { flatbuffers::ET_ULONG, 0, 12 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_DOUBLE, 0, -1 } }; static const flatbuffers::TypeFunction type_refs[] = { MyGame::Example::Vec3TypeTable, @@ -3917,10 +4101,18 @@ inline const flatbuffers::TypeTable *MonsterTypeTable() { "scalar_key_sorted_tables", "native_inline", "long_enum_non_enum_default", - "long_enum_normal_default" + "long_enum_normal_default", + "nan_default", + "inf_default", + "positive_inf_default", + "infinity_default", + "positive_infinity_default", + "negative_inf_default", + "negative_infinity_default", + "double_inf_default" }; static const flatbuffers::TypeTable tt = { - flatbuffers::ST_TABLE, 54, type_codes, type_refs, nullptr, nullptr, names + flatbuffers::ST_TABLE, 62, type_codes, type_refs, nullptr, nullptr, names }; return &tt; } diff --git a/tests/reflection_test.cpp b/tests/reflection_test.cpp index b48bd819838..9f926895194 100644 --- a/tests/reflection_test.cpp +++ b/tests/reflection_test.cpp @@ -266,10 +266,14 @@ void MiniReflectFlatBuffersTest(uint8_t *flatbuf) { "}, " "{ name: \"Wilma\" } ], " // TODO(wvo): should really print this nested buffer correctly. - "testnestedflatbuffer: [ 20, 0, 0, 0, 77, 79, 78, 83, 12, 0, 12, 0, 0, " - "0, " - "4, 0, 6, 0, 8, 0, 12, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 13, 0, 0, 0, 78, " - "101, 115, 116, 101, 100, 77, 111, 110, 115, 116, 101, 114, 0, 0, 0 ], " + "testnestedflatbuffer: [ 124, 0, 0, 0, 77, 79, 78, 83, 0, 0, 114, 0, 16, " + "0, 0, 0, 4, 0, 6, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, " + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, " + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, " + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, " + "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 114, 0, 0, 0, 0, 0, 0, 0, " + "8, 0, 0, 0, 0, 0, 192, 127, 13, 0, 0, 0, 78, 101, 115, 116, 101, 100, " + "77, 111, 110, 115, 116, 101, 114, 0, 0, 0 ], " "testarrayofstring2: [ \"jane\", \"mary\" ], " "testarrayofsortedstruct: [ { id: 0, distance: 0 }, " "{ id: 2, distance: 20 }, { id: 3, distance: 30 }, " @@ -277,7 +281,8 @@ void MiniReflectFlatBuffersTest(uint8_t *flatbuf) { "flex: [ 210, 4, 5, 2 ], " "test5: [ { a: 10, b: 20 }, { a: 30, b: 40 } ], " "vector_of_enums: [ Blue, Green ], " - "scalar_key_sorted_tables: [ { id: \"miss\" } ] " + "scalar_key_sorted_tables: [ { id: \"miss\" } ], " + "nan_default: nan " "}"); Test test(16, 32); @@ -317,4 +322,4 @@ void MiniReflectFixedLengthArrayTest() { } } // namespace tests -} // namespace flatbuffers \ No newline at end of file +} // namespace flatbuffers diff --git a/tests/rust_usage_test/tests/integration_test.rs b/tests/rust_usage_test/tests/integration_test.rs index 0f405a4a732..fd92da3855b 100644 --- a/tests/rust_usage_test/tests/integration_test.rs +++ b/tests/rust_usage_test/tests/integration_test.rs @@ -152,8 +152,10 @@ fn object_api_defaults() { b: 0 } }); + let mut default_without_nan = MonsterT::default(); + default_without_nan.nan_default = 0.0; assert_eq!( - MonsterT::default(), + default_without_nan, MonsterT { pos: None, hp: 100, @@ -205,6 +207,14 @@ fn object_api_defaults() { native_inline: None, long_enum_non_enum_default: Default::default(), long_enum_normal_default: LongEnum::LongOne, + nan_default: 0.0, + inf_default: f32::INFINITY, + positive_inf_default: f32::INFINITY, + infinity_default: f32::INFINITY, + positive_infinity_default: f32::INFINITY, + negative_inf_default: f32::NEG_INFINITY, + negative_infinity_default: f32::NEG_INFINITY, + double_inf_default: f64::INFINITY, } ); } @@ -467,7 +477,7 @@ fn verifier_apparent_size_too_large() { }); b.finish(m, None); let data = b.finished_data(); - assert!(data.len() < 5100); // est 4000 for the vector + 1000 for the string + 100 overhead. + assert!(data.len() < 5200); // est 4000 for the vector + 1000 for the string + 200 overhead. let mut opts = flatbuffers::VerifierOptions::default(); opts.max_apparent_size = 1_000_000; @@ -1774,7 +1784,10 @@ mod write_and_read_examples { vector_of_enums: None, signed_enum: None, \ testrequirednestedflatbuffer: None, scalar_key_sorted_tables: None, \ native_inline: None, long_enum_non_enum_default: (empty), \ - long_enum_normal_default: LongOne }, \ + long_enum_normal_default: LongOne, nan_default: NaN, inf_default: \ + inf, positive_inf_default: inf, infinity_default: inf, \ + positive_infinity_default: inf, negative_inf_default: -inf, \ + negative_infinity_default: -inf, double_inf_default: inf }, \ test4: Some([Test { a: 10, b: 20 }, Test { a: 30, b: 40 }]), \ testarrayofstring: Some([\"test1\", \"test2\"]), \ testarrayoftables: None, enemy: None, testnestedflatbuffer: None, \ @@ -1794,7 +1807,10 @@ mod write_and_read_examples { vector_of_enums: None, signed_enum: None, \ testrequirednestedflatbuffer: None, scalar_key_sorted_tables: None, \ native_inline: None, long_enum_non_enum_default: (empty), \ - long_enum_normal_default: LongOne }" + long_enum_normal_default: LongOne, nan_default: NaN, inf_default: \ + inf, positive_inf_default: inf, infinity_default: inf, \ + positive_infinity_default: inf, negative_inf_default: -inf, \ + negative_infinity_default: -inf, double_inf_default: inf }" ); } diff --git a/tests/swift/tests/Tests/FlatBuffers.Test.SwiftTests/monster_test_generated.swift b/tests/swift/tests/Tests/FlatBuffers.Test.SwiftTests/monster_test_generated.swift index bb1d1f01b56..a433ead62e5 100644 --- a/tests/swift/tests/Tests/FlatBuffers.Test.SwiftTests/monster_test_generated.swift +++ b/tests/swift/tests/Tests/FlatBuffers.Test.SwiftTests/monster_test_generated.swift @@ -1184,6 +1184,14 @@ public struct MyGame_Example_Monster: FlatBufferObject, Verifiable, ObjectAPIPac case nativeInline = 106 case longEnumNonEnumDefault = 108 case longEnumNormalDefault = 110 + case nanDefault = 112 + case infDefault = 114 + case positiveInfDefault = 116 + case infinityDefault = 118 + case positiveInfinityDefault = 120 + case negativeInfDefault = 122 + case negativeInfinityDefault = 124 + case doubleInfDefault = 126 var v: Int32 { Int32(self.rawValue) } var p: VOffset { self.rawValue } } @@ -1334,7 +1342,23 @@ public struct MyGame_Example_Monster: FlatBufferObject, Verifiable, ObjectAPIPac @discardableResult public func mutate(longEnumNonEnumDefault: MyGame_Example_LongEnum) -> Bool {let o = _accessor.offset(VTOFFSET.longEnumNonEnumDefault.v); return _accessor.mutate(longEnumNonEnumDefault.rawValue, index: o) } public var longEnumNormalDefault: MyGame_Example_LongEnum { let o = _accessor.offset(VTOFFSET.longEnumNormalDefault.v); return o == 0 ? .longone : MyGame_Example_LongEnum(rawValue: _accessor.readBuffer(of: UInt64.self, at: o)) ?? .longone } @discardableResult public func mutate(longEnumNormalDefault: MyGame_Example_LongEnum) -> Bool {let o = _accessor.offset(VTOFFSET.longEnumNormalDefault.v); return _accessor.mutate(longEnumNormalDefault.rawValue, index: o) } - public static func startMonster(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 54) } + public var nanDefault: Float32 { let o = _accessor.offset(VTOFFSET.nanDefault.v); return o == 0 ? nan : _accessor.readBuffer(of: Float32.self, at: o) } + @discardableResult public func mutate(nanDefault: Float32) -> Bool {let o = _accessor.offset(VTOFFSET.nanDefault.v); return _accessor.mutate(nanDefault, index: o) } + public var infDefault: Float32 { let o = _accessor.offset(VTOFFSET.infDefault.v); return o == 0 ? inf : _accessor.readBuffer(of: Float32.self, at: o) } + @discardableResult public func mutate(infDefault: Float32) -> Bool {let o = _accessor.offset(VTOFFSET.infDefault.v); return _accessor.mutate(infDefault, index: o) } + public var positiveInfDefault: Float32 { let o = _accessor.offset(VTOFFSET.positiveInfDefault.v); return o == 0 ? +inf : _accessor.readBuffer(of: Float32.self, at: o) } + @discardableResult public func mutate(positiveInfDefault: Float32) -> Bool {let o = _accessor.offset(VTOFFSET.positiveInfDefault.v); return _accessor.mutate(positiveInfDefault, index: o) } + public var infinityDefault: Float32 { let o = _accessor.offset(VTOFFSET.infinityDefault.v); return o == 0 ? infinity : _accessor.readBuffer(of: Float32.self, at: o) } + @discardableResult public func mutate(infinityDefault: Float32) -> Bool {let o = _accessor.offset(VTOFFSET.infinityDefault.v); return _accessor.mutate(infinityDefault, index: o) } + public var positiveInfinityDefault: Float32 { let o = _accessor.offset(VTOFFSET.positiveInfinityDefault.v); return o == 0 ? +infinity : _accessor.readBuffer(of: Float32.self, at: o) } + @discardableResult public func mutate(positiveInfinityDefault: Float32) -> Bool {let o = _accessor.offset(VTOFFSET.positiveInfinityDefault.v); return _accessor.mutate(positiveInfinityDefault, index: o) } + public var negativeInfDefault: Float32 { let o = _accessor.offset(VTOFFSET.negativeInfDefault.v); return o == 0 ? -inf : _accessor.readBuffer(of: Float32.self, at: o) } + @discardableResult public func mutate(negativeInfDefault: Float32) -> Bool {let o = _accessor.offset(VTOFFSET.negativeInfDefault.v); return _accessor.mutate(negativeInfDefault, index: o) } + public var negativeInfinityDefault: Float32 { let o = _accessor.offset(VTOFFSET.negativeInfinityDefault.v); return o == 0 ? -infinity : _accessor.readBuffer(of: Float32.self, at: o) } + @discardableResult public func mutate(negativeInfinityDefault: Float32) -> Bool {let o = _accessor.offset(VTOFFSET.negativeInfinityDefault.v); return _accessor.mutate(negativeInfinityDefault, index: o) } + public var doubleInfDefault: Double { let o = _accessor.offset(VTOFFSET.doubleInfDefault.v); return o == 0 ? inf : _accessor.readBuffer(of: Double.self, at: o) } + @discardableResult public func mutate(doubleInfDefault: Double) -> Bool {let o = _accessor.offset(VTOFFSET.doubleInfDefault.v); return _accessor.mutate(doubleInfDefault, index: o) } + public static func startMonster(_ fbb: inout FlatBufferBuilder) -> UOffset { fbb.startTable(with: 62) } public static func add(pos: MyGame_Example_Vec3?, _ fbb: inout FlatBufferBuilder) { guard let pos = pos else { return }; fbb.create(struct: pos, position: VTOFFSET.pos.p) } public static func add(mana: Int16, _ fbb: inout FlatBufferBuilder) { fbb.add(element: mana, def: 150, at: VTOFFSET.mana.p) } public static func add(hp: Int16, _ fbb: inout FlatBufferBuilder) { fbb.add(element: hp, def: 100, at: VTOFFSET.hp.p) } @@ -1398,6 +1422,14 @@ public struct MyGame_Example_Monster: FlatBufferObject, Verifiable, ObjectAPIPac public static func add(nativeInline: MyGame_Example_Test?, _ fbb: inout FlatBufferBuilder) { guard let nativeInline = nativeInline else { return }; fbb.create(struct: nativeInline, position: VTOFFSET.nativeInline.p) } public static func add(longEnumNonEnumDefault: MyGame_Example_LongEnum, _ fbb: inout FlatBufferBuilder) { fbb.add(element: longEnumNonEnumDefault.rawValue, def: 0, at: VTOFFSET.longEnumNonEnumDefault.p) } public static func add(longEnumNormalDefault: MyGame_Example_LongEnum, _ fbb: inout FlatBufferBuilder) { fbb.add(element: longEnumNormalDefault.rawValue, def: 2, at: VTOFFSET.longEnumNormalDefault.p) } + public static func add(nanDefault: Float32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: nanDefault, def: nan, at: VTOFFSET.nanDefault.p) } + public static func add(infDefault: Float32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: infDefault, def: inf, at: VTOFFSET.infDefault.p) } + public static func add(positiveInfDefault: Float32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: positiveInfDefault, def: +inf, at: VTOFFSET.positiveInfDefault.p) } + public static func add(infinityDefault: Float32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: infinityDefault, def: infinity, at: VTOFFSET.infinityDefault.p) } + public static func add(positiveInfinityDefault: Float32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: positiveInfinityDefault, def: +infinity, at: VTOFFSET.positiveInfinityDefault.p) } + public static func add(negativeInfDefault: Float32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: negativeInfDefault, def: -inf, at: VTOFFSET.negativeInfDefault.p) } + public static func add(negativeInfinityDefault: Float32, _ fbb: inout FlatBufferBuilder) { fbb.add(element: negativeInfinityDefault, def: -infinity, at: VTOFFSET.negativeInfinityDefault.p) } + public static func add(doubleInfDefault: Double, _ fbb: inout FlatBufferBuilder) { fbb.add(element: doubleInfDefault, def: inf, at: VTOFFSET.doubleInfDefault.p) } public static func endMonster(_ fbb: inout FlatBufferBuilder, start: UOffset) -> Offset { let end = Offset(offset: fbb.endTable(at: start)); fbb.require(table: end, fields: [10]); return end } public static func createMonster( _ fbb: inout FlatBufferBuilder, @@ -1453,7 +1485,15 @@ public struct MyGame_Example_Monster: FlatBufferObject, Verifiable, ObjectAPIPac scalarKeySortedTablesVectorOffset scalarKeySortedTables: Offset = Offset(), nativeInline: MyGame_Example_Test? = nil, longEnumNonEnumDefault: MyGame_Example_LongEnum = .longone, - longEnumNormalDefault: MyGame_Example_LongEnum = .longone + longEnumNormalDefault: MyGame_Example_LongEnum = .longone, + nanDefault: Float32 = nan, + infDefault: Float32 = inf, + positiveInfDefault: Float32 = +inf, + infinityDefault: Float32 = infinity, + positiveInfinityDefault: Float32 = +infinity, + negativeInfDefault: Float32 = -inf, + negativeInfinityDefault: Float32 = -infinity, + doubleInfDefault: Double = inf ) -> Offset { let __start = MyGame_Example_Monster.startMonster(&fbb) MyGame_Example_Monster.add(pos: pos, &fbb) @@ -1509,6 +1549,14 @@ public struct MyGame_Example_Monster: FlatBufferObject, Verifiable, ObjectAPIPac MyGame_Example_Monster.add(nativeInline: nativeInline, &fbb) MyGame_Example_Monster.add(longEnumNonEnumDefault: longEnumNonEnumDefault, &fbb) MyGame_Example_Monster.add(longEnumNormalDefault: longEnumNormalDefault, &fbb) + MyGame_Example_Monster.add(nanDefault: nanDefault, &fbb) + MyGame_Example_Monster.add(infDefault: infDefault, &fbb) + MyGame_Example_Monster.add(positiveInfDefault: positiveInfDefault, &fbb) + MyGame_Example_Monster.add(infinityDefault: infinityDefault, &fbb) + MyGame_Example_Monster.add(positiveInfinityDefault: positiveInfinityDefault, &fbb) + MyGame_Example_Monster.add(negativeInfDefault: negativeInfDefault, &fbb) + MyGame_Example_Monster.add(negativeInfinityDefault: negativeInfinityDefault, &fbb) + MyGame_Example_Monster.add(doubleInfDefault: doubleInfDefault, &fbb) return MyGame_Example_Monster.endMonster(&fbb, start: __start) } public static func sortVectorOfMonster(offsets:[Offset], _ fbb: inout FlatBufferBuilder) -> Offset { @@ -1668,6 +1716,14 @@ public struct MyGame_Example_Monster: FlatBufferObject, Verifiable, ObjectAPIPac MyGame_Example_Monster.add(nativeInline: obj.nativeInline, &builder) MyGame_Example_Monster.add(longEnumNonEnumDefault: obj.longEnumNonEnumDefault, &builder) MyGame_Example_Monster.add(longEnumNormalDefault: obj.longEnumNormalDefault, &builder) + MyGame_Example_Monster.add(nanDefault: obj.nanDefault, &builder) + MyGame_Example_Monster.add(infDefault: obj.infDefault, &builder) + MyGame_Example_Monster.add(positiveInfDefault: obj.positiveInfDefault, &builder) + MyGame_Example_Monster.add(infinityDefault: obj.infinityDefault, &builder) + MyGame_Example_Monster.add(positiveInfinityDefault: obj.positiveInfinityDefault, &builder) + MyGame_Example_Monster.add(negativeInfDefault: obj.negativeInfDefault, &builder) + MyGame_Example_Monster.add(negativeInfinityDefault: obj.negativeInfinityDefault, &builder) + MyGame_Example_Monster.add(doubleInfDefault: obj.doubleInfDefault, &builder) return MyGame_Example_Monster.endMonster(&builder, start: __root) } @@ -1756,6 +1812,14 @@ public struct MyGame_Example_Monster: FlatBufferObject, Verifiable, ObjectAPIPac try _v.visit(field: VTOFFSET.nativeInline.p, fieldName: "nativeInline", required: false, type: MyGame_Example_Test.self) try _v.visit(field: VTOFFSET.longEnumNonEnumDefault.p, fieldName: "longEnumNonEnumDefault", required: false, type: MyGame_Example_LongEnum.self) try _v.visit(field: VTOFFSET.longEnumNormalDefault.p, fieldName: "longEnumNormalDefault", required: false, type: MyGame_Example_LongEnum.self) + try _v.visit(field: VTOFFSET.nanDefault.p, fieldName: "nanDefault", required: false, type: Float32.self) + try _v.visit(field: VTOFFSET.infDefault.p, fieldName: "infDefault", required: false, type: Float32.self) + try _v.visit(field: VTOFFSET.positiveInfDefault.p, fieldName: "positiveInfDefault", required: false, type: Float32.self) + try _v.visit(field: VTOFFSET.infinityDefault.p, fieldName: "infinityDefault", required: false, type: Float32.self) + try _v.visit(field: VTOFFSET.positiveInfinityDefault.p, fieldName: "positiveInfinityDefault", required: false, type: Float32.self) + try _v.visit(field: VTOFFSET.negativeInfDefault.p, fieldName: "negativeInfDefault", required: false, type: Float32.self) + try _v.visit(field: VTOFFSET.negativeInfinityDefault.p, fieldName: "negativeInfinityDefault", required: false, type: Float32.self) + try _v.visit(field: VTOFFSET.doubleInfDefault.p, fieldName: "doubleInfDefault", required: false, type: Double.self) _v.finish() } } @@ -1816,6 +1880,14 @@ extension MyGame_Example_Monster: Encodable { case nativeInline = "native_inline" case longEnumNonEnumDefault = "long_enum_non_enum_default" case longEnumNormalDefault = "long_enum_normal_default" + case nanDefault = "nan_default" + case infDefault = "inf_default" + case positiveInfDefault = "positive_inf_default" + case infinityDefault = "infinity_default" + case positiveInfinityDefault = "positive_infinity_default" + case negativeInfDefault = "negative_inf_default" + case negativeInfinityDefault = "negative_infinity_default" + case doubleInfDefault = "double_inf_default" } public func encode(to encoder: Encoder) throws { var container = encoder.container(keyedBy: CodingKeys.self) @@ -2033,6 +2105,30 @@ extension MyGame_Example_Monster: Encodable { if longEnumNormalDefault != .longone { try container.encodeIfPresent(longEnumNormalDefault, forKey: .longEnumNormalDefault) } + if nanDefault != nan { + try container.encodeIfPresent(nanDefault, forKey: .nanDefault) + } + if infDefault != inf { + try container.encodeIfPresent(infDefault, forKey: .infDefault) + } + if positiveInfDefault != +inf { + try container.encodeIfPresent(positiveInfDefault, forKey: .positiveInfDefault) + } + if infinityDefault != infinity { + try container.encodeIfPresent(infinityDefault, forKey: .infinityDefault) + } + if positiveInfinityDefault != +infinity { + try container.encodeIfPresent(positiveInfinityDefault, forKey: .positiveInfinityDefault) + } + if negativeInfDefault != -inf { + try container.encodeIfPresent(negativeInfDefault, forKey: .negativeInfDefault) + } + if negativeInfinityDefault != -infinity { + try container.encodeIfPresent(negativeInfinityDefault, forKey: .negativeInfinityDefault) + } + if doubleInfDefault != inf { + try container.encodeIfPresent(doubleInfDefault, forKey: .doubleInfDefault) + } } } @@ -2088,6 +2184,14 @@ public class MyGame_Example_MonsterT: NativeObject { public var nativeInline: MyGame_Example_Test? public var longEnumNonEnumDefault: MyGame_Example_LongEnum public var longEnumNormalDefault: MyGame_Example_LongEnum + public var nanDefault: Float32 + public var infDefault: Float32 + public var positiveInfDefault: Float32 + public var infinityDefault: Float32 + public var positiveInfinityDefault: Float32 + public var negativeInfDefault: Float32 + public var negativeInfinityDefault: Float32 + public var doubleInfDefault: Double public init(_ _t: inout MyGame_Example_Monster) { pos = _t.pos @@ -2240,6 +2344,14 @@ public class MyGame_Example_MonsterT: NativeObject { nativeInline = _t.nativeInline longEnumNonEnumDefault = _t.longEnumNonEnumDefault longEnumNormalDefault = _t.longEnumNormalDefault + nanDefault = _t.nanDefault + infDefault = _t.infDefault + positiveInfDefault = _t.positiveInfDefault + infinityDefault = _t.infinityDefault + positiveInfinityDefault = _t.positiveInfinityDefault + negativeInfDefault = _t.negativeInfDefault + negativeInfinityDefault = _t.negativeInfinityDefault + doubleInfDefault = _t.doubleInfDefault } public init() { @@ -2290,6 +2402,14 @@ public class MyGame_Example_MonsterT: NativeObject { nativeInline = MyGame_Example_Test() longEnumNonEnumDefault = .longone longEnumNormalDefault = .longone + nanDefault = nan + infDefault = inf + positiveInfDefault = +inf + infinityDefault = infinity + positiveInfinityDefault = +infinity + negativeInfDefault = -inf + negativeInfinityDefault = -infinity + doubleInfDefault = inf } public func serialize() -> ByteBuffer { return serialize(type: MyGame_Example_Monster.self) } diff --git a/tests/test.cpp b/tests/test.cpp index 8c5c0271067..8f7713c318c 100644 --- a/tests/test.cpp +++ b/tests/test.cpp @@ -423,6 +423,12 @@ void UninitializedVectorTest() { void EqualOperatorTest() { MonsterT a; MonsterT b; + // We have to reset the fields that are NaN to zero to allow the equality + // to evaluate to true. + TEST_EQ(std::isnan(a.nan_default), true); + TEST_EQ(std::isnan(b.nan_default), true); + a.nan_default = 0; + b.nan_default = 0; TEST_EQ(b == a, true); TEST_EQ(b != a, false); @@ -441,12 +447,14 @@ void EqualOperatorTest() { TEST_EQ(b != a, false); a.enemy.reset(new MonsterT()); + a.enemy->nan_default = 0; TEST_EQ(b != a, true); a.enemy->mana = 33; TEST_EQ(b == a, false); TEST_EQ(b != a, true); b.enemy.reset(new MonsterT()); + b.enemy->nan_default = 0; TEST_EQ(b == a, false); TEST_EQ(b != a, true); b.enemy->mana = 33; @@ -460,6 +468,7 @@ void EqualOperatorTest() { TEST_EQ(b == a, false); TEST_EQ(b != a, true); a.enemy.reset(new MonsterT()); + a.enemy->nan_default = 0; TEST_EQ(b == a, true); TEST_EQ(b != a, false); @@ -473,23 +482,29 @@ void EqualOperatorTest() { { // Two tables are equal by default. MonsterT a, b; + a.nan_default = 0; + b.nan_default = 0; TEST_EQ(a == b, true); // Adding only a table to one of the monster vectors should make it not // equal (due to size mistmatch). a.testarrayoftables.push_back( flatbuffers::unique_ptr(new MonsterT)); + a.testarrayoftables.back()->nan_default = 0; TEST_EQ(a == b, false); // Adding an equalivant table to the other monster vector should make it // equal again. b.testarrayoftables.push_back( flatbuffers::unique_ptr(new MonsterT)); + b.testarrayoftables.back()->nan_default = 0; TEST_EQ(a == b, true); // Create two new monsters that are different. auto c = flatbuffers::unique_ptr(new MonsterT); auto d = flatbuffers::unique_ptr(new MonsterT); + c->nan_default = 0; + d->nan_default = 0; c->hp = 1; d->hp = 2; TEST_EQ(c == d, false); diff --git a/tests/ts/monsterdata_javascript_wire.mon b/tests/ts/monsterdata_javascript_wire.mon index c6020a2eb2040a35f689518e6eb60ad230cb0427..8e270b35b229ef7fcd1db058b5c15ea04e132f66 100644 GIT binary patch literal 744 zcmb_0uaYDL@pt43LxnVi6#Q00AJy!@vRMu>frZfdlm|KoS{u0Qu;+2Pn1x3kC`? z&H)lIya&j(U<49C@ee@y2bdiIyC;+hxg9MNi0b&6lh5#NQ#lgS=w26VC1r2uq`RKR@C^iQR1`09G01_~~ z1IX541QI~;2SEA-m>mG*HrN9R2Ot7s7~pVVVqj%pgK>$ZnSkmbRxmJZ@nR*Y9i$%Q zdln#O1>%y_;u0eywjq!WQX>ZpGcK^oEQSam9|S^x802~o0EIp%>>WTH3_yPPgX}=Y vAiL2qC=HN;F`P#w0Z(this.scalarKeySortedTables.bind(this), this.scalarKeySortedTablesLength()), (this.nativeInline() !== null ? this.nativeInline()!.unpack() : null), this.longEnumNonEnumDefault(), - this.longEnumNormalDefault() + this.longEnumNormalDefault(), + this.nanDefault(), + this.infDefault(), + this.positiveInfDefault(), + this.infinityDefault(), + this.positiveInfinityDefault(), + this.negativeInfDefault(), + this.negativeInfinityDefault(), + this.doubleInfDefault() ); } @@ -1284,6 +1452,14 @@ unpackTo(_o: MonsterT): void { _o.nativeInline = (this.nativeInline() !== null ? this.nativeInline()!.unpack() : null); _o.longEnumNonEnumDefault = this.longEnumNonEnumDefault(); _o.longEnumNormalDefault = this.longEnumNormalDefault(); + _o.nanDefault = this.nanDefault(); + _o.infDefault = this.infDefault(); + _o.positiveInfDefault = this.positiveInfDefault(); + _o.infinityDefault = this.infinityDefault(); + _o.positiveInfinityDefault = this.positiveInfinityDefault(); + _o.negativeInfDefault = this.negativeInfDefault(); + _o.negativeInfinityDefault = this.negativeInfinityDefault(); + _o.doubleInfDefault = this.doubleInfDefault(); } } @@ -1341,7 +1517,15 @@ constructor( public scalarKeySortedTables: (StatT)[] = [], public nativeInline: TestT|null = null, public longEnumNonEnumDefault: bigint = BigInt('0'), - public longEnumNormalDefault: bigint = BigInt('2') + public longEnumNormalDefault: bigint = BigInt('2'), + public nanDefault: number = NaN, + public infDefault: number = Infinity, + public positiveInfDefault: number = Infinity, + public infinityDefault: number = Infinity, + public positiveInfinityDefault: number = Infinity, + public negativeInfDefault: number = -Infinity, + public negativeInfinityDefault: number = -Infinity, + public doubleInfDefault: number = Infinity ){} @@ -1428,6 +1612,14 @@ pack(builder:flatbuffers.Builder): flatbuffers.Offset { Monster.addNativeInline(builder, (this.nativeInline !== null ? this.nativeInline!.pack(builder) : 0)); Monster.addLongEnumNonEnumDefault(builder, this.longEnumNonEnumDefault); Monster.addLongEnumNormalDefault(builder, this.longEnumNormalDefault); + Monster.addNanDefault(builder, this.nanDefault); + Monster.addInfDefault(builder, this.infDefault); + Monster.addPositiveInfDefault(builder, this.positiveInfDefault); + Monster.addInfinityDefault(builder, this.infinityDefault); + Monster.addPositiveInfinityDefault(builder, this.positiveInfinityDefault); + Monster.addNegativeInfDefault(builder, this.negativeInfDefault); + Monster.addNegativeInfinityDefault(builder, this.negativeInfinityDefault); + Monster.addDoubleInfDefault(builder, this.doubleInfDefault); return Monster.endMonster(builder); } diff --git a/tests/ts/reflection/enum-val.js b/tests/ts/reflection/enum-val.js index f2ce03d1f11..93926a61ae7 100644 --- a/tests/ts/reflection/enum-val.js +++ b/tests/ts/reflection/enum-val.js @@ -1,5 +1,6 @@ // automatically generated by the FlatBuffers compiler, do not modify import * as flatbuffers from 'flatbuffers'; +import { KeyValue } from '../reflection/key-value.js'; import { Type } from '../reflection/type.js'; export class EnumVal { constructor() { @@ -46,11 +47,19 @@ export class EnumVal { const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; } + attributes(index, obj) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? (obj || new KeyValue()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; + } + attributesLength() { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } static getFullyQualifiedName() { return 'reflection_EnumVal'; } static startEnumVal(builder) { - builder.startObject(5); + builder.startObject(6); } static addName(builder, nameOffset) { builder.addFieldOffset(0, nameOffset, 0); @@ -74,37 +83,54 @@ export class EnumVal { static startDocumentationVector(builder, numElems) { builder.startVector(4, numElems, 4); } + static addAttributes(builder, attributesOffset) { + builder.addFieldOffset(5, attributesOffset, 0); + } + static createAttributesVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]); + } + return builder.endVector(); + } + static startAttributesVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } static endEnumVal(builder) { const offset = builder.endObject(); builder.requiredField(offset, 4); // name return offset; } unpack() { - return new EnumValT(this.name(), this.value(), (this.unionType() !== null ? this.unionType().unpack() : null), this.bb.createScalarList(this.documentation.bind(this), this.documentationLength())); + return new EnumValT(this.name(), this.value(), (this.unionType() !== null ? this.unionType().unpack() : null), this.bb.createScalarList(this.documentation.bind(this), this.documentationLength()), this.bb.createObjList(this.attributes.bind(this), this.attributesLength())); } unpackTo(_o) { _o.name = this.name(); _o.value = this.value(); _o.unionType = (this.unionType() !== null ? this.unionType().unpack() : null); _o.documentation = this.bb.createScalarList(this.documentation.bind(this), this.documentationLength()); + _o.attributes = this.bb.createObjList(this.attributes.bind(this), this.attributesLength()); } } export class EnumValT { - constructor(name = null, value = BigInt('0'), unionType = null, documentation = []) { + constructor(name = null, value = BigInt('0'), unionType = null, documentation = [], attributes = []) { this.name = name; this.value = value; this.unionType = unionType; this.documentation = documentation; + this.attributes = attributes; } pack(builder) { const name = (this.name !== null ? builder.createString(this.name) : 0); const unionType = (this.unionType !== null ? this.unionType.pack(builder) : 0); const documentation = EnumVal.createDocumentationVector(builder, builder.createObjectOffsetList(this.documentation)); + const attributes = EnumVal.createAttributesVector(builder, builder.createObjectOffsetList(this.attributes)); EnumVal.startEnumVal(builder); EnumVal.addName(builder, name); EnumVal.addValue(builder, this.value); EnumVal.addUnionType(builder, unionType); EnumVal.addDocumentation(builder, documentation); + EnumVal.addAttributes(builder, attributes); return EnumVal.endEnumVal(builder); } } diff --git a/tests/ts/reflection/enum-val.ts b/tests/ts/reflection/enum-val.ts index 2364dab2fa8..3119a206386 100644 --- a/tests/ts/reflection/enum-val.ts +++ b/tests/ts/reflection/enum-val.ts @@ -2,6 +2,7 @@ import * as flatbuffers from 'flatbuffers'; +import { KeyValue, KeyValueT } from '../reflection/key-value.js'; import { Type, TypeT } from '../reflection/type.js'; @@ -63,12 +64,22 @@ documentationLength():number { return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; } +attributes(index: number, obj?:KeyValue):KeyValue|null { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? (obj || new KeyValue()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; +} + +attributesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + static getFullyQualifiedName():string { return 'reflection_EnumVal'; } static startEnumVal(builder:flatbuffers.Builder) { - builder.startObject(5); + builder.startObject(6); } static addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) { @@ -99,6 +110,22 @@ static startDocumentationVector(builder:flatbuffers.Builder, numElems:number) { builder.startVector(4, numElems, 4); } +static addAttributes(builder:flatbuffers.Builder, attributesOffset:flatbuffers.Offset) { + builder.addFieldOffset(5, attributesOffset, 0); +} + +static createAttributesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startAttributesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + static endEnumVal(builder:flatbuffers.Builder):flatbuffers.Offset { const offset = builder.endObject(); builder.requiredField(offset, 4) // name @@ -111,7 +138,8 @@ unpack(): EnumValT { this.name(), this.value(), (this.unionType() !== null ? this.unionType()!.unpack() : null), - this.bb!.createScalarList(this.documentation.bind(this), this.documentationLength()) + this.bb!.createScalarList(this.documentation.bind(this), this.documentationLength()), + this.bb!.createObjList(this.attributes.bind(this), this.attributesLength()) ); } @@ -121,6 +149,7 @@ unpackTo(_o: EnumValT): void { _o.value = this.value(); _o.unionType = (this.unionType() !== null ? this.unionType()!.unpack() : null); _o.documentation = this.bb!.createScalarList(this.documentation.bind(this), this.documentationLength()); + _o.attributes = this.bb!.createObjList(this.attributes.bind(this), this.attributesLength()); } } @@ -129,7 +158,8 @@ constructor( public name: string|Uint8Array|null = null, public value: bigint = BigInt('0'), public unionType: TypeT|null = null, - public documentation: (string)[] = [] + public documentation: (string)[] = [], + public attributes: (KeyValueT)[] = [] ){} @@ -137,12 +167,14 @@ pack(builder:flatbuffers.Builder): flatbuffers.Offset { const name = (this.name !== null ? builder.createString(this.name!) : 0); const unionType = (this.unionType !== null ? this.unionType!.pack(builder) : 0); const documentation = EnumVal.createDocumentationVector(builder, builder.createObjectOffsetList(this.documentation)); + const attributes = EnumVal.createAttributesVector(builder, builder.createObjectOffsetList(this.attributes)); EnumVal.startEnumVal(builder); EnumVal.addName(builder, name); EnumVal.addValue(builder, this.value); EnumVal.addUnionType(builder, unionType); EnumVal.addDocumentation(builder, documentation); + EnumVal.addAttributes(builder, attributes); return EnumVal.endEnumVal(builder); } diff --git a/tests/ts/reflection_generated.js b/tests/ts/reflection_generated.js index dd686cc9d67..e0ed0076a82 100644 --- a/tests/ts/reflection_generated.js +++ b/tests/ts/reflection_generated.js @@ -302,11 +302,19 @@ export class EnumVal { const offset = this.bb.__offset(this.bb_pos, 12); return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; } + attributes(index, obj) { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? (obj || new KeyValue()).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos + offset) + index * 4), this.bb) : null; + } + attributesLength() { + const offset = this.bb.__offset(this.bb_pos, 14); + return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0; + } static getFullyQualifiedName() { return 'reflection_EnumVal'; } static startEnumVal(builder) { - builder.startObject(5); + builder.startObject(6); } static addName(builder, nameOffset) { builder.addFieldOffset(0, nameOffset, 0); @@ -330,37 +338,54 @@ export class EnumVal { static startDocumentationVector(builder, numElems) { builder.startVector(4, numElems, 4); } + static addAttributes(builder, attributesOffset) { + builder.addFieldOffset(5, attributesOffset, 0); + } + static createAttributesVector(builder, data) { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]); + } + return builder.endVector(); + } + static startAttributesVector(builder, numElems) { + builder.startVector(4, numElems, 4); + } static endEnumVal(builder) { const offset = builder.endObject(); builder.requiredField(offset, 4); // name return offset; } unpack() { - return new EnumValT(this.name(), this.value(), (this.unionType() !== null ? this.unionType().unpack() : null), this.bb.createScalarList(this.documentation.bind(this), this.documentationLength())); + return new EnumValT(this.name(), this.value(), (this.unionType() !== null ? this.unionType().unpack() : null), this.bb.createScalarList(this.documentation.bind(this), this.documentationLength()), this.bb.createObjList(this.attributes.bind(this), this.attributesLength())); } unpackTo(_o) { _o.name = this.name(); _o.value = this.value(); _o.unionType = (this.unionType() !== null ? this.unionType().unpack() : null); _o.documentation = this.bb.createScalarList(this.documentation.bind(this), this.documentationLength()); + _o.attributes = this.bb.createObjList(this.attributes.bind(this), this.attributesLength()); } } export class EnumValT { - constructor(name = null, value = BigInt('0'), unionType = null, documentation = []) { + constructor(name = null, value = BigInt('0'), unionType = null, documentation = [], attributes = []) { this.name = name; this.value = value; this.unionType = unionType; this.documentation = documentation; + this.attributes = attributes; } pack(builder) { const name = (this.name !== null ? builder.createString(this.name) : 0); const unionType = (this.unionType !== null ? this.unionType.pack(builder) : 0); const documentation = EnumVal.createDocumentationVector(builder, builder.createObjectOffsetList(this.documentation)); + const attributes = EnumVal.createAttributesVector(builder, builder.createObjectOffsetList(this.attributes)); EnumVal.startEnumVal(builder); EnumVal.addName(builder, name); EnumVal.addValue(builder, this.value); EnumVal.addUnionType(builder, unionType); EnumVal.addDocumentation(builder, documentation); + EnumVal.addAttributes(builder, attributes); return EnumVal.endEnumVal(builder); } } diff --git a/tests/ts/reflection_generated.ts b/tests/ts/reflection_generated.ts index ec17d64b016..6b553b1a064 100644 --- a/tests/ts/reflection_generated.ts +++ b/tests/ts/reflection_generated.ts @@ -399,12 +399,22 @@ documentationLength():number { return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; } +attributes(index: number, obj?:KeyValue):KeyValue|null { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? (obj || new KeyValue()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null; +} + +attributesLength():number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; +} + static getFullyQualifiedName():string { return 'reflection_EnumVal'; } static startEnumVal(builder:flatbuffers.Builder) { - builder.startObject(5); + builder.startObject(6); } static addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) { @@ -435,6 +445,22 @@ static startDocumentationVector(builder:flatbuffers.Builder, numElems:number) { builder.startVector(4, numElems, 4); } +static addAttributes(builder:flatbuffers.Builder, attributesOffset:flatbuffers.Offset) { + builder.addFieldOffset(5, attributesOffset, 0); +} + +static createAttributesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); +} + +static startAttributesVector(builder:flatbuffers.Builder, numElems:number) { + builder.startVector(4, numElems, 4); +} + static endEnumVal(builder:flatbuffers.Builder):flatbuffers.Offset { const offset = builder.endObject(); builder.requiredField(offset, 4) // name @@ -447,7 +473,8 @@ unpack(): EnumValT { this.name(), this.value(), (this.unionType() !== null ? this.unionType()!.unpack() : null), - this.bb!.createScalarList(this.documentation.bind(this), this.documentationLength()) + this.bb!.createScalarList(this.documentation.bind(this), this.documentationLength()), + this.bb!.createObjList(this.attributes.bind(this), this.attributesLength()) ); } @@ -457,6 +484,7 @@ unpackTo(_o: EnumValT): void { _o.value = this.value(); _o.unionType = (this.unionType() !== null ? this.unionType()!.unpack() : null); _o.documentation = this.bb!.createScalarList(this.documentation.bind(this), this.documentationLength()); + _o.attributes = this.bb!.createObjList(this.attributes.bind(this), this.attributesLength()); } } @@ -465,7 +493,8 @@ constructor( public name: string|Uint8Array|null = null, public value: bigint = BigInt('0'), public unionType: TypeT|null = null, - public documentation: (string)[] = [] + public documentation: (string)[] = [], + public attributes: (KeyValueT)[] = [] ){} @@ -473,12 +502,14 @@ pack(builder:flatbuffers.Builder): flatbuffers.Offset { const name = (this.name !== null ? builder.createString(this.name!) : 0); const unionType = (this.unionType !== null ? this.unionType!.pack(builder) : 0); const documentation = EnumVal.createDocumentationVector(builder, builder.createObjectOffsetList(this.documentation)); + const attributes = EnumVal.createAttributesVector(builder, builder.createObjectOffsetList(this.attributes)); EnumVal.startEnumVal(builder); EnumVal.addName(builder, name); EnumVal.addValue(builder, this.value); EnumVal.addUnionType(builder, unionType); EnumVal.addDocumentation(builder, documentation); + EnumVal.addAttributes(builder, attributes); return EnumVal.endEnumVal(builder); } diff --git a/tests/ts/ts-flat-files/monster_test_generated.ts b/tests/ts/ts-flat-files/monster_test_generated.ts index 8a768f2e834..f1566c61d28 100644 --- a/tests/ts/ts-flat-files/monster_test_generated.ts +++ b/tests/ts/ts-flat-files/monster_test_generated.ts @@ -1152,8 +1152,48 @@ longEnumNormalDefault():bigint { return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('2'); } +nanDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 112); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : NaN; +} + +infDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 114); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : Infinity; +} + +positiveInfDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 116); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : Infinity; +} + +infinityDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 118); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : Infinity; +} + +positiveInfinityDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 120); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : Infinity; +} + +negativeInfDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 122); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : -Infinity; +} + +negativeInfinityDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 124); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : -Infinity; +} + +doubleInfDefault():number { + const offset = this.bb!.__offset(this.bb_pos, 126); + return offset ? this.bb!.readFloat64(this.bb_pos + offset) : Infinity; +} + static startMonster(builder:flatbuffers.Builder) { - builder.startObject(54); + builder.startObject(62); } static addPos(builder:flatbuffers.Builder, posOffset:flatbuffers.Offset) { @@ -1589,6 +1629,38 @@ static addLongEnumNormalDefault(builder:flatbuffers.Builder, longEnumNormalDefau builder.addFieldInt64(53, longEnumNormalDefault, BigInt('2')); } +static addNanDefault(builder:flatbuffers.Builder, nanDefault:number) { + builder.addFieldFloat32(54, nanDefault, NaN); +} + +static addInfDefault(builder:flatbuffers.Builder, infDefault:number) { + builder.addFieldFloat32(55, infDefault, Infinity); +} + +static addPositiveInfDefault(builder:flatbuffers.Builder, positiveInfDefault:number) { + builder.addFieldFloat32(56, positiveInfDefault, Infinity); +} + +static addInfinityDefault(builder:flatbuffers.Builder, infinityDefault:number) { + builder.addFieldFloat32(57, infinityDefault, Infinity); +} + +static addPositiveInfinityDefault(builder:flatbuffers.Builder, positiveInfinityDefault:number) { + builder.addFieldFloat32(58, positiveInfinityDefault, Infinity); +} + +static addNegativeInfDefault(builder:flatbuffers.Builder, negativeInfDefault:number) { + builder.addFieldFloat32(59, negativeInfDefault, -Infinity); +} + +static addNegativeInfinityDefault(builder:flatbuffers.Builder, negativeInfinityDefault:number) { + builder.addFieldFloat32(60, negativeInfinityDefault, -Infinity); +} + +static addDoubleInfDefault(builder:flatbuffers.Builder, doubleInfDefault:number) { + builder.addFieldFloat64(61, doubleInfDefault, Infinity); +} + static endMonster(builder:flatbuffers.Builder):flatbuffers.Offset { const offset = builder.endObject(); builder.requiredField(offset, 10) // name