objdiff-wasm 2.0.0-beta.4 → 2.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.d.ts CHANGED
@@ -405,14 +405,33 @@ interface InstructionDiff {
405
405
  */
406
406
  branch_to?: InstructionBranchTo;
407
407
  /**
408
- * @generated from protobuf field: repeated objdiff.diff.DiffDisplay display = 5;
408
+ * @generated from protobuf field: repeated objdiff.diff.ArgumentDiff arg_diff = 5;
409
409
  */
410
- display: DiffDisplay[];
410
+ arg_diff: ArgumentDiff[];
411
411
  }
412
412
  /**
413
413
  * @generated MessageType for protobuf message objdiff.diff.InstructionDiff
414
414
  */
415
415
  declare const InstructionDiff: InstructionDiff$Type;
416
+ declare class ArgumentDiff$Type extends MessageType<ArgumentDiff> {
417
+ constructor();
418
+ create(value?: PartialMessage<ArgumentDiff>): ArgumentDiff;
419
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ArgumentDiff): ArgumentDiff;
420
+ internalBinaryWrite(message: ArgumentDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
421
+ }
422
+ /**
423
+ * @generated from protobuf message objdiff.diff.ArgumentDiff
424
+ */
425
+ interface ArgumentDiff {
426
+ /**
427
+ * @generated from protobuf field: optional uint32 diff_index = 1;
428
+ */
429
+ diff_index?: number;
430
+ }
431
+ /**
432
+ * @generated MessageType for protobuf message objdiff.diff.ArgumentDiff
433
+ */
434
+ declare const ArgumentDiff: ArgumentDiff$Type;
416
435
  declare class InstructionBranchFrom$Type extends MessageType<InstructionBranchFrom> {
417
436
  constructor();
418
437
  create(value?: PartialMessage<InstructionBranchFrom>): InstructionBranchFrom;
@@ -908,14 +927,6 @@ declare enum ArmR9Usage {
908
927
  }
909
928
  /**
910
929
  */
911
- declare enum MipsAbi {
912
- Auto = 0,
913
- O32 = 1,
914
- N32 = 2,
915
- N64 = 3,
916
- }
917
- /**
918
- */
919
930
  declare enum X86Formatter {
920
931
  Intel = 0,
921
932
  Gas = 1,
@@ -924,6 +935,14 @@ declare enum X86Formatter {
924
935
  }
925
936
  /**
926
937
  */
938
+ declare enum MipsAbi {
939
+ Auto = 0,
940
+ O32 = 1,
941
+ N32 = 2,
942
+ N64 = 3,
943
+ }
944
+ /**
945
+ */
927
946
  declare enum ArmArchVersion {
928
947
  Auto = 0,
929
948
  V4T = 1,
@@ -990,4 +1009,4 @@ type DiffObjConfig = Omit<Partial<DiffObjConfig$1>, 'free'>;
990
1009
  declare function initialize(workerUrl?: string | URL): void;
991
1010
  declare function runDiff(left: Uint8Array | undefined, right: Uint8Array | undefined, config?: DiffObjConfig): Promise<DiffResult>;
992
1011
 
993
- export { Argument, ArgumentRelocation, ArgumentValue, ArmArchVersion, ArmR9Usage, DataDiff, DiffKind, type DiffObjConfig, DiffResult, Instruction, InstructionBranchFrom, InstructionBranchTo, InstructionDiff, MipsAbi, MipsInstrCategory, ObjectDiff, Relocation, RelocationTarget, SectionDiff, SectionKind, Symbol, SymbolFlag, X86Formatter, initialize, runDiff };
1012
+ export { Argument, ArgumentDiff, ArgumentRelocation, ArgumentValue, ArmArchVersion, ArmR9Usage, DataDiff, DiffDisplay, DiffKind, type DiffObjConfig, DiffResult, DiffText, DiffTextAddress, DiffTextArgument, DiffTextBasic, DiffTextBasicColor, DiffTextBranchDest, DiffTextEol, DiffTextLine, DiffTextOpcode, DiffTextSpacing, DiffTextSymbol, FunctionDiff, Instruction, InstructionBranchFrom, InstructionBranchTo, InstructionDiff, MipsAbi, MipsInstrCategory, ObjectDiff, Relocation, RelocationTarget, SectionDiff, SectionKind, Symbol, SymbolFlag, X86Formatter, initialize, runDiff };
package/dist/main.js CHANGED
@@ -641,13 +641,13 @@ var InstructionDiff$Type = class extends MessageType {
641
641
  { no: 2, name: "instruction", kind: "message", T: () => Instruction },
642
642
  { no: 3, name: "branch_from", kind: "message", localName: "branch_from", T: () => InstructionBranchFrom },
643
643
  { no: 4, name: "branch_to", kind: "message", localName: "branch_to", T: () => InstructionBranchTo },
644
- { no: 5, name: "display", kind: "message", repeat: 1, T: () => DiffDisplay }
644
+ { no: 5, name: "arg_diff", kind: "message", localName: "arg_diff", repeat: 1, T: () => ArgumentDiff }
645
645
  ]);
646
646
  }
647
647
  create(value) {
648
648
  const message = globalThis.Object.create(this.messagePrototype);
649
649
  message.diff_kind = 0;
650
- message.display = [];
650
+ message.arg_diff = [];
651
651
  if (value !== void 0)
652
652
  reflectionMergePartial(this, message, value);
653
653
  return message;
@@ -673,9 +673,9 @@ var InstructionDiff$Type = class extends MessageType {
673
673
  4:
674
674
  message.branch_to = InstructionBranchTo.internalBinaryRead(reader, reader.uint32(), options, message.branch_to);
675
675
  break;
676
- case /* repeated objdiff.diff.DiffDisplay display */
676
+ case /* repeated objdiff.diff.ArgumentDiff arg_diff */
677
677
  5:
678
- message.display.push(DiffDisplay.internalBinaryRead(reader, reader.uint32(), options));
678
+ message.arg_diff.push(ArgumentDiff.internalBinaryRead(reader, reader.uint32(), options));
679
679
  break;
680
680
  default:
681
681
  let u = options.readUnknownField;
@@ -697,8 +697,8 @@ var InstructionDiff$Type = class extends MessageType {
697
697
  InstructionBranchFrom.internalBinaryWrite(message.branch_from, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
698
698
  if (message.branch_to)
699
699
  InstructionBranchTo.internalBinaryWrite(message.branch_to, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
700
- for (let i = 0; i < message.display.length; i++)
701
- DiffDisplay.internalBinaryWrite(message.display[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();
700
+ for (let i = 0; i < message.arg_diff.length; i++)
701
+ ArgumentDiff.internalBinaryWrite(message.arg_diff[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();
702
702
  let u = options.writeUnknownFields;
703
703
  if (u !== false)
704
704
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -706,6 +706,56 @@ var InstructionDiff$Type = class extends MessageType {
706
706
  }
707
707
  };
708
708
  var InstructionDiff = new InstructionDiff$Type();
709
+ var ArgumentDiff$Type = class extends MessageType {
710
+ constructor() {
711
+ super("objdiff.diff.ArgumentDiff", [
712
+ {
713
+ no: 1,
714
+ name: "diff_index",
715
+ kind: "scalar",
716
+ localName: "diff_index",
717
+ opt: true,
718
+ T: 13
719
+ /*ScalarType.UINT32*/
720
+ }
721
+ ]);
722
+ }
723
+ create(value) {
724
+ const message = globalThis.Object.create(this.messagePrototype);
725
+ if (value !== void 0)
726
+ reflectionMergePartial(this, message, value);
727
+ return message;
728
+ }
729
+ internalBinaryRead(reader, length, options, target) {
730
+ let message = target ?? this.create(), end = reader.pos + length;
731
+ while (reader.pos < end) {
732
+ let [fieldNo, wireType] = reader.tag();
733
+ switch (fieldNo) {
734
+ case /* optional uint32 diff_index */
735
+ 1:
736
+ message.diff_index = reader.uint32();
737
+ break;
738
+ default:
739
+ let u = options.readUnknownField;
740
+ if (u === "throw")
741
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
742
+ let d = reader.skip(wireType);
743
+ if (u !== false)
744
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
745
+ }
746
+ }
747
+ return message;
748
+ }
749
+ internalBinaryWrite(message, writer, options) {
750
+ if (message.diff_index !== void 0)
751
+ writer.tag(1, WireType.Varint).uint32(message.diff_index);
752
+ let u = options.writeUnknownFields;
753
+ if (u !== false)
754
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
755
+ return writer;
756
+ }
757
+ };
758
+ var ArgumentDiff = new ArgumentDiff$Type();
709
759
  var InstructionBranchFrom$Type = class extends MessageType {
710
760
  constructor() {
711
761
  super("objdiff.diff.InstructionBranchFrom", [
@@ -1933,11 +1983,25 @@ async function runDiff(left, right, config) {
1933
1983
  }
1934
1984
  export {
1935
1985
  Argument,
1986
+ ArgumentDiff,
1936
1987
  ArgumentRelocation,
1937
1988
  ArgumentValue,
1938
1989
  DataDiff,
1990
+ DiffDisplay,
1939
1991
  DiffKind,
1940
1992
  DiffResult,
1993
+ DiffText,
1994
+ DiffTextAddress,
1995
+ DiffTextArgument,
1996
+ DiffTextBasic,
1997
+ DiffTextBasicColor,
1998
+ DiffTextBranchDest,
1999
+ DiffTextEol,
2000
+ DiffTextLine,
2001
+ DiffTextOpcode,
2002
+ DiffTextSpacing,
2003
+ DiffTextSymbol,
2004
+ FunctionDiff,
1941
2005
  Instruction,
1942
2006
  InstructionBranchFrom,
1943
2007
  InstructionBranchTo,
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../gen/diff_pb.ts","../src/main.ts"],"sourcesContent":["/* eslint-disable */\n// @generated by protobuf-ts 2.9.4 with parameter add_pb_suffix,eslint_disable,ts_nocheck,use_proto_field_name\n// @generated from protobuf file \"diff.proto\" (package \"objdiff.diff\", syntax proto3)\n// tslint:disable\n// @ts-nocheck\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n * A symbol\n *\n * @generated from protobuf message objdiff.diff.Symbol\n */\nexport interface Symbol {\n /**\n * Name of the symbol\n *\n * @generated from protobuf field: string name = 1;\n */\n name: string;\n /**\n * Demangled name of the symbol\n *\n * @generated from protobuf field: optional string demangled_name = 2;\n */\n demangled_name?: string;\n /**\n * Symbol address\n *\n * @generated from protobuf field: uint64 address = 3;\n */\n address: bigint;\n /**\n * Symbol size\n *\n * @generated from protobuf field: uint64 size = 4;\n */\n size: bigint;\n /**\n * Bitmask of SymbolFlag\n *\n * @generated from protobuf field: uint32 flags = 5;\n */\n flags: number;\n}\n/**\n * A single parsed instruction\n *\n * @generated from protobuf message objdiff.diff.Instruction\n */\nexport interface Instruction {\n /**\n * Instruction address\n *\n * @generated from protobuf field: uint64 address = 1;\n */\n address: bigint;\n /**\n * Instruction size\n *\n * @generated from protobuf field: uint32 size = 2;\n */\n size: number;\n /**\n * Instruction opcode\n *\n * @generated from protobuf field: uint32 opcode = 3;\n */\n opcode: number;\n /**\n * Instruction mnemonic\n *\n * @generated from protobuf field: string mnemonic = 4;\n */\n mnemonic: string;\n /**\n * Instruction formatted string\n *\n * @generated from protobuf field: string formatted = 5;\n */\n formatted: string;\n /**\n * Original (unsimplified) instruction string\n *\n * @generated from protobuf field: optional string original = 6;\n */\n original?: string;\n /**\n * Instruction arguments\n *\n * @generated from protobuf field: repeated objdiff.diff.Argument arguments = 7;\n */\n arguments: Argument[];\n /**\n * Instruction relocation\n *\n * @generated from protobuf field: optional objdiff.diff.Relocation relocation = 8;\n */\n relocation?: Relocation;\n /**\n * Instruction branch destination\n *\n * @generated from protobuf field: optional uint64 branch_dest = 9;\n */\n branch_dest?: bigint;\n /**\n * Instruction line number\n *\n * @generated from protobuf field: optional uint32 line_number = 10;\n */\n line_number?: number;\n}\n/**\n * An instruction argument\n *\n * @generated from protobuf message objdiff.diff.Argument\n */\nexport interface Argument {\n /**\n * @generated from protobuf oneof: value\n */\n value: {\n oneofKind: \"plain_text\";\n /**\n * Plain text\n *\n * @generated from protobuf field: string plain_text = 1;\n */\n plain_text: string;\n } | {\n oneofKind: \"argument\";\n /**\n * Value\n *\n * @generated from protobuf field: objdiff.diff.ArgumentValue argument = 2;\n */\n argument: ArgumentValue;\n } | {\n oneofKind: \"relocation\";\n /**\n * Relocation\n *\n * @generated from protobuf field: objdiff.diff.ArgumentRelocation relocation = 3;\n */\n relocation: ArgumentRelocation;\n } | {\n oneofKind: \"branch_dest\";\n /**\n * Branch destination\n *\n * @generated from protobuf field: uint64 branch_dest = 4;\n */\n branch_dest: bigint;\n } | {\n oneofKind: undefined;\n };\n}\n/**\n * An instruction argument value\n *\n * @generated from protobuf message objdiff.diff.ArgumentValue\n */\nexport interface ArgumentValue {\n /**\n * @generated from protobuf oneof: value\n */\n value: {\n oneofKind: \"signed\";\n /**\n * Signed integer\n *\n * @generated from protobuf field: int64 signed = 1;\n */\n signed: bigint;\n } | {\n oneofKind: \"unsigned\";\n /**\n * Unsigned integer\n *\n * @generated from protobuf field: uint64 unsigned = 2;\n */\n unsigned: bigint;\n } | {\n oneofKind: \"opaque\";\n /**\n * Opaque value\n *\n * @generated from protobuf field: string opaque = 3;\n */\n opaque: string;\n } | {\n oneofKind: undefined;\n };\n}\n/**\n * Marker type for relocation arguments\n *\n * @generated from protobuf message objdiff.diff.ArgumentRelocation\n */\nexport interface ArgumentRelocation {\n}\n/**\n * @generated from protobuf message objdiff.diff.Relocation\n */\nexport interface Relocation {\n /**\n * @generated from protobuf field: uint32 type = 1;\n */\n type: number;\n /**\n * @generated from protobuf field: string type_name = 2;\n */\n type_name: string;\n /**\n * @generated from protobuf field: objdiff.diff.RelocationTarget target = 3;\n */\n target?: RelocationTarget;\n}\n/**\n * @generated from protobuf message objdiff.diff.RelocationTarget\n */\nexport interface RelocationTarget {\n /**\n * @generated from protobuf field: objdiff.diff.Symbol symbol = 1;\n */\n symbol?: Symbol;\n /**\n * @generated from protobuf field: int64 addend = 2;\n */\n addend: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.InstructionDiff\n */\nexport interface InstructionDiff {\n /**\n * @generated from protobuf field: objdiff.diff.DiffKind diff_kind = 1;\n */\n diff_kind: DiffKind;\n /**\n * @generated from protobuf field: optional objdiff.diff.Instruction instruction = 2;\n */\n instruction?: Instruction;\n /**\n * @generated from protobuf field: optional objdiff.diff.InstructionBranchFrom branch_from = 3;\n */\n branch_from?: InstructionBranchFrom;\n /**\n * @generated from protobuf field: optional objdiff.diff.InstructionBranchTo branch_to = 4;\n */\n branch_to?: InstructionBranchTo;\n /**\n * @generated from protobuf field: repeated objdiff.diff.DiffDisplay display = 5;\n */\n display: DiffDisplay[];\n}\n/**\n * @generated from protobuf message objdiff.diff.InstructionBranchFrom\n */\nexport interface InstructionBranchFrom {\n /**\n * @generated from protobuf field: repeated uint32 instruction_index = 1;\n */\n instruction_index: number[];\n /**\n * @generated from protobuf field: uint32 branch_index = 2;\n */\n branch_index: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.InstructionBranchTo\n */\nexport interface InstructionBranchTo {\n /**\n * @generated from protobuf field: uint32 instruction_index = 1;\n */\n instruction_index: number;\n /**\n * @generated from protobuf field: uint32 branch_index = 2;\n */\n branch_index: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.FunctionDiff\n */\nexport interface FunctionDiff {\n /**\n * @generated from protobuf field: objdiff.diff.Symbol symbol = 1;\n */\n symbol?: Symbol;\n /**\n * @generated from protobuf field: repeated objdiff.diff.InstructionDiff instructions = 2;\n */\n instructions: InstructionDiff[];\n /**\n * @generated from protobuf field: optional float match_percent = 3;\n */\n match_percent?: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DataDiff\n */\nexport interface DataDiff {\n /**\n * @generated from protobuf field: objdiff.diff.DiffKind kind = 1;\n */\n kind: DiffKind;\n /**\n * @generated from protobuf field: bytes data = 2;\n */\n data: Uint8Array;\n /**\n * May be larger than data\n *\n * @generated from protobuf field: uint64 size = 3;\n */\n size: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.SectionDiff\n */\nexport interface SectionDiff {\n /**\n * @generated from protobuf field: string name = 1;\n */\n name: string;\n /**\n * @generated from protobuf field: objdiff.diff.SectionKind kind = 2;\n */\n kind: SectionKind;\n /**\n * @generated from protobuf field: uint64 size = 3;\n */\n size: bigint;\n /**\n * @generated from protobuf field: uint64 address = 4;\n */\n address: bigint;\n /**\n * @generated from protobuf field: repeated objdiff.diff.FunctionDiff functions = 5;\n */\n functions: FunctionDiff[];\n /**\n * @generated from protobuf field: repeated objdiff.diff.DataDiff data = 6;\n */\n data: DataDiff[];\n /**\n * @generated from protobuf field: optional float match_percent = 7;\n */\n match_percent?: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.ObjectDiff\n */\nexport interface ObjectDiff {\n /**\n * @generated from protobuf field: repeated objdiff.diff.SectionDiff sections = 1;\n */\n sections: SectionDiff[];\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffResult\n */\nexport interface DiffResult {\n /**\n * @generated from protobuf field: optional objdiff.diff.ObjectDiff left = 1;\n */\n left?: ObjectDiff;\n /**\n * @generated from protobuf field: optional objdiff.diff.ObjectDiff right = 2;\n */\n right?: ObjectDiff;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffDisplay\n */\nexport interface DiffDisplay {\n /**\n * @generated from protobuf field: objdiff.diff.DiffText text = 1;\n */\n text?: DiffText;\n /**\n * @generated from protobuf field: optional uint32 diff_index = 2;\n */\n diff_index?: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffText\n */\nexport interface DiffText {\n /**\n * @generated from protobuf oneof: text\n */\n text: {\n oneofKind: \"basic\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextBasic basic = 1;\n */\n basic: DiffTextBasic;\n } | {\n oneofKind: \"basic_color\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextBasicColor basic_color = 2;\n */\n basic_color: DiffTextBasicColor;\n } | {\n oneofKind: \"line\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextLine line = 3;\n */\n line: DiffTextLine;\n } | {\n oneofKind: \"address\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextAddress address = 4;\n */\n address: DiffTextAddress;\n } | {\n oneofKind: \"opcode\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextOpcode opcode = 5;\n */\n opcode: DiffTextOpcode;\n } | {\n oneofKind: \"argument\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextArgument argument = 6;\n */\n argument: DiffTextArgument;\n } | {\n oneofKind: \"branch_dest\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextBranchDest branch_dest = 7;\n */\n branch_dest: DiffTextBranchDest;\n } | {\n oneofKind: \"symbol\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextSymbol symbol = 8;\n */\n symbol: DiffTextSymbol;\n } | {\n oneofKind: \"spacing\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextSpacing spacing = 9;\n */\n spacing: DiffTextSpacing;\n } | {\n oneofKind: \"eol\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextEol eol = 10;\n */\n eol: DiffTextEol;\n } | {\n oneofKind: undefined;\n };\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextBasic\n */\nexport interface DiffTextBasic {\n /**\n * @generated from protobuf field: string text = 1;\n */\n text: string;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextBasicColor\n */\nexport interface DiffTextBasicColor {\n /**\n * @generated from protobuf field: string text = 1;\n */\n text: string;\n /**\n * @generated from protobuf field: uint32 index = 2;\n */\n index: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextLine\n */\nexport interface DiffTextLine {\n /**\n * @generated from protobuf field: uint32 line_number = 1;\n */\n line_number: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextAddress\n */\nexport interface DiffTextAddress {\n /**\n * @generated from protobuf field: uint64 address = 1;\n */\n address: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextOpcode\n */\nexport interface DiffTextOpcode {\n /**\n * @generated from protobuf field: string mnemonic = 1;\n */\n mnemonic: string;\n /**\n * @generated from protobuf field: uint32 opcode = 2;\n */\n opcode: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextArgument\n */\nexport interface DiffTextArgument {\n /**\n * @generated from protobuf field: objdiff.diff.ArgumentValue value = 1;\n */\n value?: ArgumentValue;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextBranchDest\n */\nexport interface DiffTextBranchDest {\n /**\n * @generated from protobuf field: uint64 address = 1;\n */\n address: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextSymbol\n */\nexport interface DiffTextSymbol {\n /**\n * @generated from protobuf field: objdiff.diff.RelocationTarget target = 1;\n */\n target?: RelocationTarget;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextSpacing\n */\nexport interface DiffTextSpacing {\n /**\n * @generated from protobuf field: uint32 count = 1;\n */\n count: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextEol\n */\nexport interface DiffTextEol {\n}\n/**\n * Symbol visibility flags\n *\n * @generated from protobuf enum objdiff.diff.SymbolFlag\n */\nexport enum SymbolFlag {\n /**\n * @generated from protobuf enum value: SYMBOL_NONE = 0;\n */\n SYMBOL_NONE = 0,\n /**\n * @generated from protobuf enum value: SYMBOL_GLOBAL = 1;\n */\n SYMBOL_GLOBAL = 1,\n /**\n * @generated from protobuf enum value: SYMBOL_LOCAL = 2;\n */\n SYMBOL_LOCAL = 2,\n /**\n * @generated from protobuf enum value: SYMBOL_WEAK = 3;\n */\n SYMBOL_WEAK = 3,\n /**\n * @generated from protobuf enum value: SYMBOL_COMMON = 4;\n */\n SYMBOL_COMMON = 4,\n /**\n * @generated from protobuf enum value: SYMBOL_HIDDEN = 5;\n */\n SYMBOL_HIDDEN = 5\n}\n/**\n * @generated from protobuf enum objdiff.diff.DiffKind\n */\nexport enum DiffKind {\n /**\n * @generated from protobuf enum value: DIFF_NONE = 0;\n */\n DIFF_NONE = 0,\n /**\n * @generated from protobuf enum value: DIFF_REPLACE = 1;\n */\n DIFF_REPLACE = 1,\n /**\n * @generated from protobuf enum value: DIFF_DELETE = 2;\n */\n DIFF_DELETE = 2,\n /**\n * @generated from protobuf enum value: DIFF_INSERT = 3;\n */\n DIFF_INSERT = 3,\n /**\n * @generated from protobuf enum value: DIFF_OP_MISMATCH = 4;\n */\n DIFF_OP_MISMATCH = 4,\n /**\n * @generated from protobuf enum value: DIFF_ARG_MISMATCH = 5;\n */\n DIFF_ARG_MISMATCH = 5\n}\n/**\n * @generated from protobuf enum objdiff.diff.SectionKind\n */\nexport enum SectionKind {\n /**\n * @generated from protobuf enum value: SECTION_UNKNOWN = 0;\n */\n SECTION_UNKNOWN = 0,\n /**\n * @generated from protobuf enum value: SECTION_TEXT = 1;\n */\n SECTION_TEXT = 1,\n /**\n * @generated from protobuf enum value: SECTION_DATA = 2;\n */\n SECTION_DATA = 2,\n /**\n * @generated from protobuf enum value: SECTION_BSS = 3;\n */\n SECTION_BSS = 3,\n /**\n * @generated from protobuf enum value: SECTION_COMMON = 4;\n */\n SECTION_COMMON = 4\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Symbol$Type extends MessageType<Symbol> {\n constructor() {\n super(\"objdiff.diff.Symbol\", [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"demangled_name\", kind: \"scalar\", localName: \"demangled_name\", opt: true, T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 5, name: \"flags\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<Symbol>): Symbol {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.name = \"\";\n message.address = 0n;\n message.size = 0n;\n message.flags = 0;\n if (value !== undefined)\n reflectionMergePartial<Symbol>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Symbol): Symbol {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string name */ 1:\n message.name = reader.string();\n break;\n case /* optional string demangled_name */ 2:\n message.demangled_name = reader.string();\n break;\n case /* uint64 address */ 3:\n message.address = reader.uint64().toBigInt();\n break;\n case /* uint64 size */ 4:\n message.size = reader.uint64().toBigInt();\n break;\n case /* uint32 flags */ 5:\n message.flags = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Symbol, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string name = 1; */\n if (message.name !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.name);\n /* optional string demangled_name = 2; */\n if (message.demangled_name !== undefined)\n writer.tag(2, WireType.LengthDelimited).string(message.demangled_name);\n /* uint64 address = 3; */\n if (message.address !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.address);\n /* uint64 size = 4; */\n if (message.size !== 0n)\n writer.tag(4, WireType.Varint).uint64(message.size);\n /* uint32 flags = 5; */\n if (message.flags !== 0)\n writer.tag(5, WireType.Varint).uint32(message.flags);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Symbol\n */\nexport const Symbol = new Symbol$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Instruction$Type extends MessageType<Instruction> {\n constructor() {\n super(\"objdiff.diff.Instruction\", [\n { no: 1, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"size\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n { no: 3, name: \"opcode\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n { no: 4, name: \"mnemonic\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 5, name: \"formatted\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 6, name: \"original\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n { no: 7, name: \"arguments\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => Argument },\n { no: 8, name: \"relocation\", kind: \"message\", T: () => Relocation },\n { no: 9, name: \"branch_dest\", kind: \"scalar\", localName: \"branch_dest\", opt: true, T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 10, name: \"line_number\", kind: \"scalar\", localName: \"line_number\", opt: true, T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<Instruction>): Instruction {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.address = 0n;\n message.size = 0;\n message.opcode = 0;\n message.mnemonic = \"\";\n message.formatted = \"\";\n message.arguments = [];\n if (value !== undefined)\n reflectionMergePartial<Instruction>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Instruction): Instruction {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 address */ 1:\n message.address = reader.uint64().toBigInt();\n break;\n case /* uint32 size */ 2:\n message.size = reader.uint32();\n break;\n case /* uint32 opcode */ 3:\n message.opcode = reader.uint32();\n break;\n case /* string mnemonic */ 4:\n message.mnemonic = reader.string();\n break;\n case /* string formatted */ 5:\n message.formatted = reader.string();\n break;\n case /* optional string original */ 6:\n message.original = reader.string();\n break;\n case /* repeated objdiff.diff.Argument arguments */ 7:\n message.arguments.push(Argument.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* optional objdiff.diff.Relocation relocation */ 8:\n message.relocation = Relocation.internalBinaryRead(reader, reader.uint32(), options, message.relocation);\n break;\n case /* optional uint64 branch_dest */ 9:\n message.branch_dest = reader.uint64().toBigInt();\n break;\n case /* optional uint32 line_number */ 10:\n message.line_number = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Instruction, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 address = 1; */\n if (message.address !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.address);\n /* uint32 size = 2; */\n if (message.size !== 0)\n writer.tag(2, WireType.Varint).uint32(message.size);\n /* uint32 opcode = 3; */\n if (message.opcode !== 0)\n writer.tag(3, WireType.Varint).uint32(message.opcode);\n /* string mnemonic = 4; */\n if (message.mnemonic !== \"\")\n writer.tag(4, WireType.LengthDelimited).string(message.mnemonic);\n /* string formatted = 5; */\n if (message.formatted !== \"\")\n writer.tag(5, WireType.LengthDelimited).string(message.formatted);\n /* optional string original = 6; */\n if (message.original !== undefined)\n writer.tag(6, WireType.LengthDelimited).string(message.original);\n /* repeated objdiff.diff.Argument arguments = 7; */\n for (let i = 0; i < message.arguments.length; i++)\n Argument.internalBinaryWrite(message.arguments[i], writer.tag(7, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.Relocation relocation = 8; */\n if (message.relocation)\n Relocation.internalBinaryWrite(message.relocation, writer.tag(8, WireType.LengthDelimited).fork(), options).join();\n /* optional uint64 branch_dest = 9; */\n if (message.branch_dest !== undefined)\n writer.tag(9, WireType.Varint).uint64(message.branch_dest);\n /* optional uint32 line_number = 10; */\n if (message.line_number !== undefined)\n writer.tag(10, WireType.Varint).uint32(message.line_number);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Instruction\n */\nexport const Instruction = new Instruction$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Argument$Type extends MessageType<Argument> {\n constructor() {\n super(\"objdiff.diff.Argument\", [\n { no: 1, name: \"plain_text\", kind: \"scalar\", localName: \"plain_text\", oneof: \"value\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"argument\", kind: \"message\", oneof: \"value\", T: () => ArgumentValue },\n { no: 3, name: \"relocation\", kind: \"message\", oneof: \"value\", T: () => ArgumentRelocation },\n { no: 4, name: \"branch_dest\", kind: \"scalar\", localName: \"branch_dest\", oneof: \"value\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<Argument>): Argument {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.value = { oneofKind: undefined };\n if (value !== undefined)\n reflectionMergePartial<Argument>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Argument): Argument {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string plain_text */ 1:\n message.value = {\n oneofKind: \"plain_text\",\n plain_text: reader.string()\n };\n break;\n case /* objdiff.diff.ArgumentValue argument */ 2:\n message.value = {\n oneofKind: \"argument\",\n argument: ArgumentValue.internalBinaryRead(reader, reader.uint32(), options, (message.value as any).argument)\n };\n break;\n case /* objdiff.diff.ArgumentRelocation relocation */ 3:\n message.value = {\n oneofKind: \"relocation\",\n relocation: ArgumentRelocation.internalBinaryRead(reader, reader.uint32(), options, (message.value as any).relocation)\n };\n break;\n case /* uint64 branch_dest */ 4:\n message.value = {\n oneofKind: \"branch_dest\",\n branch_dest: reader.uint64().toBigInt()\n };\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Argument, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string plain_text = 1; */\n if (message.value.oneofKind === \"plain_text\")\n writer.tag(1, WireType.LengthDelimited).string(message.value.plain_text);\n /* objdiff.diff.ArgumentValue argument = 2; */\n if (message.value.oneofKind === \"argument\")\n ArgumentValue.internalBinaryWrite(message.value.argument, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.ArgumentRelocation relocation = 3; */\n if (message.value.oneofKind === \"relocation\")\n ArgumentRelocation.internalBinaryWrite(message.value.relocation, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* uint64 branch_dest = 4; */\n if (message.value.oneofKind === \"branch_dest\")\n writer.tag(4, WireType.Varint).uint64(message.value.branch_dest);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Argument\n */\nexport const Argument = new Argument$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ArgumentValue$Type extends MessageType<ArgumentValue> {\n constructor() {\n super(\"objdiff.diff.ArgumentValue\", [\n { no: 1, name: \"signed\", kind: \"scalar\", oneof: \"value\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"unsigned\", kind: \"scalar\", oneof: \"value\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"opaque\", kind: \"scalar\", oneof: \"value\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<ArgumentValue>): ArgumentValue {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.value = { oneofKind: undefined };\n if (value !== undefined)\n reflectionMergePartial<ArgumentValue>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ArgumentValue): ArgumentValue {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* int64 signed */ 1:\n message.value = {\n oneofKind: \"signed\",\n signed: reader.int64().toBigInt()\n };\n break;\n case /* uint64 unsigned */ 2:\n message.value = {\n oneofKind: \"unsigned\",\n unsigned: reader.uint64().toBigInt()\n };\n break;\n case /* string opaque */ 3:\n message.value = {\n oneofKind: \"opaque\",\n opaque: reader.string()\n };\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: ArgumentValue, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* int64 signed = 1; */\n if (message.value.oneofKind === \"signed\")\n writer.tag(1, WireType.Varint).int64(message.value.signed);\n /* uint64 unsigned = 2; */\n if (message.value.oneofKind === \"unsigned\")\n writer.tag(2, WireType.Varint).uint64(message.value.unsigned);\n /* string opaque = 3; */\n if (message.value.oneofKind === \"opaque\")\n writer.tag(3, WireType.LengthDelimited).string(message.value.opaque);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.ArgumentValue\n */\nexport const ArgumentValue = new ArgumentValue$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ArgumentRelocation$Type extends MessageType<ArgumentRelocation> {\n constructor() {\n super(\"objdiff.diff.ArgumentRelocation\", []);\n }\n create(value?: PartialMessage<ArgumentRelocation>): ArgumentRelocation {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<ArgumentRelocation>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ArgumentRelocation): ArgumentRelocation {\n return target ?? this.create();\n }\n internalBinaryWrite(message: ArgumentRelocation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.ArgumentRelocation\n */\nexport const ArgumentRelocation = new ArgumentRelocation$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Relocation$Type extends MessageType<Relocation> {\n constructor() {\n super(\"objdiff.diff.Relocation\", [\n { no: 1, name: \"type\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n { no: 2, name: \"type_name\", kind: \"scalar\", localName: \"type_name\", T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"target\", kind: \"message\", T: () => RelocationTarget }\n ]);\n }\n create(value?: PartialMessage<Relocation>): Relocation {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.type = 0;\n message.type_name = \"\";\n if (value !== undefined)\n reflectionMergePartial<Relocation>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Relocation): Relocation {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 type */ 1:\n message.type = reader.uint32();\n break;\n case /* string type_name */ 2:\n message.type_name = reader.string();\n break;\n case /* objdiff.diff.RelocationTarget target */ 3:\n message.target = RelocationTarget.internalBinaryRead(reader, reader.uint32(), options, message.target);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Relocation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 type = 1; */\n if (message.type !== 0)\n writer.tag(1, WireType.Varint).uint32(message.type);\n /* string type_name = 2; */\n if (message.type_name !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.type_name);\n /* objdiff.diff.RelocationTarget target = 3; */\n if (message.target)\n RelocationTarget.internalBinaryWrite(message.target, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Relocation\n */\nexport const Relocation = new Relocation$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass RelocationTarget$Type extends MessageType<RelocationTarget> {\n constructor() {\n super(\"objdiff.diff.RelocationTarget\", [\n { no: 1, name: \"symbol\", kind: \"message\", T: () => Symbol },\n { no: 2, name: \"addend\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<RelocationTarget>): RelocationTarget {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.addend = 0n;\n if (value !== undefined)\n reflectionMergePartial<RelocationTarget>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RelocationTarget): RelocationTarget {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.Symbol symbol */ 1:\n message.symbol = Symbol.internalBinaryRead(reader, reader.uint32(), options, message.symbol);\n break;\n case /* int64 addend */ 2:\n message.addend = reader.int64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: RelocationTarget, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.Symbol symbol = 1; */\n if (message.symbol)\n Symbol.internalBinaryWrite(message.symbol, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* int64 addend = 2; */\n if (message.addend !== 0n)\n writer.tag(2, WireType.Varint).int64(message.addend);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.RelocationTarget\n */\nexport const RelocationTarget = new RelocationTarget$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass InstructionDiff$Type extends MessageType<InstructionDiff> {\n constructor() {\n super(\"objdiff.diff.InstructionDiff\", [\n { no: 1, name: \"diff_kind\", kind: \"enum\", localName: \"diff_kind\", T: () => [\"objdiff.diff.DiffKind\", DiffKind] },\n { no: 2, name: \"instruction\", kind: \"message\", T: () => Instruction },\n { no: 3, name: \"branch_from\", kind: \"message\", localName: \"branch_from\", T: () => InstructionBranchFrom },\n { no: 4, name: \"branch_to\", kind: \"message\", localName: \"branch_to\", T: () => InstructionBranchTo },\n { no: 5, name: \"display\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => DiffDisplay }\n ]);\n }\n create(value?: PartialMessage<InstructionDiff>): InstructionDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.diff_kind = 0;\n message.display = [];\n if (value !== undefined)\n reflectionMergePartial<InstructionDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InstructionDiff): InstructionDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffKind diff_kind */ 1:\n message.diff_kind = reader.int32();\n break;\n case /* optional objdiff.diff.Instruction instruction */ 2:\n message.instruction = Instruction.internalBinaryRead(reader, reader.uint32(), options, message.instruction);\n break;\n case /* optional objdiff.diff.InstructionBranchFrom branch_from */ 3:\n message.branch_from = InstructionBranchFrom.internalBinaryRead(reader, reader.uint32(), options, message.branch_from);\n break;\n case /* optional objdiff.diff.InstructionBranchTo branch_to */ 4:\n message.branch_to = InstructionBranchTo.internalBinaryRead(reader, reader.uint32(), options, message.branch_to);\n break;\n case /* repeated objdiff.diff.DiffDisplay display */ 5:\n message.display.push(DiffDisplay.internalBinaryRead(reader, reader.uint32(), options));\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: InstructionDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffKind diff_kind = 1; */\n if (message.diff_kind !== 0)\n writer.tag(1, WireType.Varint).int32(message.diff_kind);\n /* optional objdiff.diff.Instruction instruction = 2; */\n if (message.instruction)\n Instruction.internalBinaryWrite(message.instruction, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.InstructionBranchFrom branch_from = 3; */\n if (message.branch_from)\n InstructionBranchFrom.internalBinaryWrite(message.branch_from, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.InstructionBranchTo branch_to = 4; */\n if (message.branch_to)\n InstructionBranchTo.internalBinaryWrite(message.branch_to, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n /* repeated objdiff.diff.DiffDisplay display = 5; */\n for (let i = 0; i < message.display.length; i++)\n DiffDisplay.internalBinaryWrite(message.display[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.InstructionDiff\n */\nexport const InstructionDiff = new InstructionDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass InstructionBranchFrom$Type extends MessageType<InstructionBranchFrom> {\n constructor() {\n super(\"objdiff.diff.InstructionBranchFrom\", [\n { no: 1, name: \"instruction_index\", kind: \"scalar\", localName: \"instruction_index\", repeat: 1 /*RepeatType.PACKED*/, T: 13 /*ScalarType.UINT32*/ },\n { no: 2, name: \"branch_index\", kind: \"scalar\", localName: \"branch_index\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<InstructionBranchFrom>): InstructionBranchFrom {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.instruction_index = [];\n message.branch_index = 0;\n if (value !== undefined)\n reflectionMergePartial<InstructionBranchFrom>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InstructionBranchFrom): InstructionBranchFrom {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* repeated uint32 instruction_index */ 1:\n if (wireType === WireType.LengthDelimited)\n for (let e = reader.int32() + reader.pos; reader.pos < e;)\n message.instruction_index.push(reader.uint32());\n else\n message.instruction_index.push(reader.uint32());\n break;\n case /* uint32 branch_index */ 2:\n message.branch_index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: InstructionBranchFrom, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* repeated uint32 instruction_index = 1; */\n if (message.instruction_index.length) {\n writer.tag(1, WireType.LengthDelimited).fork();\n for (let i = 0; i < message.instruction_index.length; i++)\n writer.uint32(message.instruction_index[i]);\n writer.join();\n }\n /* uint32 branch_index = 2; */\n if (message.branch_index !== 0)\n writer.tag(2, WireType.Varint).uint32(message.branch_index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.InstructionBranchFrom\n */\nexport const InstructionBranchFrom = new InstructionBranchFrom$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass InstructionBranchTo$Type extends MessageType<InstructionBranchTo> {\n constructor() {\n super(\"objdiff.diff.InstructionBranchTo\", [\n { no: 1, name: \"instruction_index\", kind: \"scalar\", localName: \"instruction_index\", T: 13 /*ScalarType.UINT32*/ },\n { no: 2, name: \"branch_index\", kind: \"scalar\", localName: \"branch_index\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<InstructionBranchTo>): InstructionBranchTo {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.instruction_index = 0;\n message.branch_index = 0;\n if (value !== undefined)\n reflectionMergePartial<InstructionBranchTo>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InstructionBranchTo): InstructionBranchTo {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 instruction_index */ 1:\n message.instruction_index = reader.uint32();\n break;\n case /* uint32 branch_index */ 2:\n message.branch_index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: InstructionBranchTo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 instruction_index = 1; */\n if (message.instruction_index !== 0)\n writer.tag(1, WireType.Varint).uint32(message.instruction_index);\n /* uint32 branch_index = 2; */\n if (message.branch_index !== 0)\n writer.tag(2, WireType.Varint).uint32(message.branch_index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.InstructionBranchTo\n */\nexport const InstructionBranchTo = new InstructionBranchTo$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass FunctionDiff$Type extends MessageType<FunctionDiff> {\n constructor() {\n super(\"objdiff.diff.FunctionDiff\", [\n { no: 1, name: \"symbol\", kind: \"message\", T: () => Symbol },\n { no: 2, name: \"instructions\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => InstructionDiff },\n { no: 3, name: \"match_percent\", kind: \"scalar\", localName: \"match_percent\", opt: true, T: 2 /*ScalarType.FLOAT*/ }\n ]);\n }\n create(value?: PartialMessage<FunctionDiff>): FunctionDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.instructions = [];\n if (value !== undefined)\n reflectionMergePartial<FunctionDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FunctionDiff): FunctionDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.Symbol symbol */ 1:\n message.symbol = Symbol.internalBinaryRead(reader, reader.uint32(), options, message.symbol);\n break;\n case /* repeated objdiff.diff.InstructionDiff instructions */ 2:\n message.instructions.push(InstructionDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* optional float match_percent */ 3:\n message.match_percent = reader.float();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: FunctionDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.Symbol symbol = 1; */\n if (message.symbol)\n Symbol.internalBinaryWrite(message.symbol, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* repeated objdiff.diff.InstructionDiff instructions = 2; */\n for (let i = 0; i < message.instructions.length; i++)\n InstructionDiff.internalBinaryWrite(message.instructions[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* optional float match_percent = 3; */\n if (message.match_percent !== undefined)\n writer.tag(3, WireType.Bit32).float(message.match_percent);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.FunctionDiff\n */\nexport const FunctionDiff = new FunctionDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DataDiff$Type extends MessageType<DataDiff> {\n constructor() {\n super(\"objdiff.diff.DataDiff\", [\n { no: 1, name: \"kind\", kind: \"enum\", T: () => [\"objdiff.diff.DiffKind\", DiffKind] },\n { no: 2, name: \"data\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n { no: 3, name: \"size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<DataDiff>): DataDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.kind = 0;\n message.data = new Uint8Array(0);\n message.size = 0n;\n if (value !== undefined)\n reflectionMergePartial<DataDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataDiff): DataDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffKind kind */ 1:\n message.kind = reader.int32();\n break;\n case /* bytes data */ 2:\n message.data = reader.bytes();\n break;\n case /* uint64 size */ 3:\n message.size = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DataDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffKind kind = 1; */\n if (message.kind !== 0)\n writer.tag(1, WireType.Varint).int32(message.kind);\n /* bytes data = 2; */\n if (message.data.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.data);\n /* uint64 size = 3; */\n if (message.size !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.size);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DataDiff\n */\nexport const DataDiff = new DataDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SectionDiff$Type extends MessageType<SectionDiff> {\n constructor() {\n super(\"objdiff.diff.SectionDiff\", [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"kind\", kind: \"enum\", T: () => [\"objdiff.diff.SectionKind\", SectionKind] },\n { no: 3, name: \"size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 5, name: \"functions\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => FunctionDiff },\n { no: 6, name: \"data\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => DataDiff },\n { no: 7, name: \"match_percent\", kind: \"scalar\", localName: \"match_percent\", opt: true, T: 2 /*ScalarType.FLOAT*/ }\n ]);\n }\n create(value?: PartialMessage<SectionDiff>): SectionDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.name = \"\";\n message.kind = 0;\n message.size = 0n;\n message.address = 0n;\n message.functions = [];\n message.data = [];\n if (value !== undefined)\n reflectionMergePartial<SectionDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SectionDiff): SectionDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string name */ 1:\n message.name = reader.string();\n break;\n case /* objdiff.diff.SectionKind kind */ 2:\n message.kind = reader.int32();\n break;\n case /* uint64 size */ 3:\n message.size = reader.uint64().toBigInt();\n break;\n case /* uint64 address */ 4:\n message.address = reader.uint64().toBigInt();\n break;\n case /* repeated objdiff.diff.FunctionDiff functions */ 5:\n message.functions.push(FunctionDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* repeated objdiff.diff.DataDiff data */ 6:\n message.data.push(DataDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* optional float match_percent */ 7:\n message.match_percent = reader.float();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: SectionDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string name = 1; */\n if (message.name !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.name);\n /* objdiff.diff.SectionKind kind = 2; */\n if (message.kind !== 0)\n writer.tag(2, WireType.Varint).int32(message.kind);\n /* uint64 size = 3; */\n if (message.size !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.size);\n /* uint64 address = 4; */\n if (message.address !== 0n)\n writer.tag(4, WireType.Varint).uint64(message.address);\n /* repeated objdiff.diff.FunctionDiff functions = 5; */\n for (let i = 0; i < message.functions.length; i++)\n FunctionDiff.internalBinaryWrite(message.functions[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n /* repeated objdiff.diff.DataDiff data = 6; */\n for (let i = 0; i < message.data.length; i++)\n DataDiff.internalBinaryWrite(message.data[i], writer.tag(6, WireType.LengthDelimited).fork(), options).join();\n /* optional float match_percent = 7; */\n if (message.match_percent !== undefined)\n writer.tag(7, WireType.Bit32).float(message.match_percent);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.SectionDiff\n */\nexport const SectionDiff = new SectionDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ObjectDiff$Type extends MessageType<ObjectDiff> {\n constructor() {\n super(\"objdiff.diff.ObjectDiff\", [\n { no: 1, name: \"sections\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => SectionDiff }\n ]);\n }\n create(value?: PartialMessage<ObjectDiff>): ObjectDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.sections = [];\n if (value !== undefined)\n reflectionMergePartial<ObjectDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ObjectDiff): ObjectDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* repeated objdiff.diff.SectionDiff sections */ 1:\n message.sections.push(SectionDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: ObjectDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* repeated objdiff.diff.SectionDiff sections = 1; */\n for (let i = 0; i < message.sections.length; i++)\n SectionDiff.internalBinaryWrite(message.sections[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.ObjectDiff\n */\nexport const ObjectDiff = new ObjectDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffResult$Type extends MessageType<DiffResult> {\n constructor() {\n super(\"objdiff.diff.DiffResult\", [\n { no: 1, name: \"left\", kind: \"message\", T: () => ObjectDiff },\n { no: 2, name: \"right\", kind: \"message\", T: () => ObjectDiff }\n ]);\n }\n create(value?: PartialMessage<DiffResult>): DiffResult {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffResult>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffResult): DiffResult {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* optional objdiff.diff.ObjectDiff left */ 1:\n message.left = ObjectDiff.internalBinaryRead(reader, reader.uint32(), options, message.left);\n break;\n case /* optional objdiff.diff.ObjectDiff right */ 2:\n message.right = ObjectDiff.internalBinaryRead(reader, reader.uint32(), options, message.right);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* optional objdiff.diff.ObjectDiff left = 1; */\n if (message.left)\n ObjectDiff.internalBinaryWrite(message.left, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.ObjectDiff right = 2; */\n if (message.right)\n ObjectDiff.internalBinaryWrite(message.right, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffResult\n */\nexport const DiffResult = new DiffResult$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffDisplay$Type extends MessageType<DiffDisplay> {\n constructor() {\n super(\"objdiff.diff.DiffDisplay\", [\n { no: 1, name: \"text\", kind: \"message\", T: () => DiffText },\n { no: 2, name: \"diff_index\", kind: \"scalar\", localName: \"diff_index\", opt: true, T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffDisplay>): DiffDisplay {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffDisplay>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffDisplay): DiffDisplay {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffText text */ 1:\n message.text = DiffText.internalBinaryRead(reader, reader.uint32(), options, message.text);\n break;\n case /* optional uint32 diff_index */ 2:\n message.diff_index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffDisplay, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffText text = 1; */\n if (message.text)\n DiffText.internalBinaryWrite(message.text, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* optional uint32 diff_index = 2; */\n if (message.diff_index !== undefined)\n writer.tag(2, WireType.Varint).uint32(message.diff_index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffDisplay\n */\nexport const DiffDisplay = new DiffDisplay$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffText$Type extends MessageType<DiffText> {\n constructor() {\n super(\"objdiff.diff.DiffText\", [\n { no: 1, name: \"basic\", kind: \"message\", oneof: \"text\", T: () => DiffTextBasic },\n { no: 2, name: \"basic_color\", kind: \"message\", localName: \"basic_color\", oneof: \"text\", T: () => DiffTextBasicColor },\n { no: 3, name: \"line\", kind: \"message\", oneof: \"text\", T: () => DiffTextLine },\n { no: 4, name: \"address\", kind: \"message\", oneof: \"text\", T: () => DiffTextAddress },\n { no: 5, name: \"opcode\", kind: \"message\", oneof: \"text\", T: () => DiffTextOpcode },\n { no: 6, name: \"argument\", kind: \"message\", oneof: \"text\", T: () => DiffTextArgument },\n { no: 7, name: \"branch_dest\", kind: \"message\", localName: \"branch_dest\", oneof: \"text\", T: () => DiffTextBranchDest },\n { no: 8, name: \"symbol\", kind: \"message\", oneof: \"text\", T: () => DiffTextSymbol },\n { no: 9, name: \"spacing\", kind: \"message\", oneof: \"text\", T: () => DiffTextSpacing },\n { no: 10, name: \"eol\", kind: \"message\", oneof: \"text\", T: () => DiffTextEol }\n ]);\n }\n create(value?: PartialMessage<DiffText>): DiffText {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.text = { oneofKind: undefined };\n if (value !== undefined)\n reflectionMergePartial<DiffText>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffText): DiffText {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffTextBasic basic */ 1:\n message.text = {\n oneofKind: \"basic\",\n basic: DiffTextBasic.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).basic)\n };\n break;\n case /* objdiff.diff.DiffTextBasicColor basic_color */ 2:\n message.text = {\n oneofKind: \"basic_color\",\n basic_color: DiffTextBasicColor.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).basic_color)\n };\n break;\n case /* objdiff.diff.DiffTextLine line */ 3:\n message.text = {\n oneofKind: \"line\",\n line: DiffTextLine.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).line)\n };\n break;\n case /* objdiff.diff.DiffTextAddress address */ 4:\n message.text = {\n oneofKind: \"address\",\n address: DiffTextAddress.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).address)\n };\n break;\n case /* objdiff.diff.DiffTextOpcode opcode */ 5:\n message.text = {\n oneofKind: \"opcode\",\n opcode: DiffTextOpcode.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).opcode)\n };\n break;\n case /* objdiff.diff.DiffTextArgument argument */ 6:\n message.text = {\n oneofKind: \"argument\",\n argument: DiffTextArgument.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).argument)\n };\n break;\n case /* objdiff.diff.DiffTextBranchDest branch_dest */ 7:\n message.text = {\n oneofKind: \"branch_dest\",\n branch_dest: DiffTextBranchDest.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).branch_dest)\n };\n break;\n case /* objdiff.diff.DiffTextSymbol symbol */ 8:\n message.text = {\n oneofKind: \"symbol\",\n symbol: DiffTextSymbol.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).symbol)\n };\n break;\n case /* objdiff.diff.DiffTextSpacing spacing */ 9:\n message.text = {\n oneofKind: \"spacing\",\n spacing: DiffTextSpacing.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).spacing)\n };\n break;\n case /* objdiff.diff.DiffTextEol eol */ 10:\n message.text = {\n oneofKind: \"eol\",\n eol: DiffTextEol.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).eol)\n };\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffText, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffTextBasic basic = 1; */\n if (message.text.oneofKind === \"basic\")\n DiffTextBasic.internalBinaryWrite(message.text.basic, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextBasicColor basic_color = 2; */\n if (message.text.oneofKind === \"basic_color\")\n DiffTextBasicColor.internalBinaryWrite(message.text.basic_color, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextLine line = 3; */\n if (message.text.oneofKind === \"line\")\n DiffTextLine.internalBinaryWrite(message.text.line, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextAddress address = 4; */\n if (message.text.oneofKind === \"address\")\n DiffTextAddress.internalBinaryWrite(message.text.address, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextOpcode opcode = 5; */\n if (message.text.oneofKind === \"opcode\")\n DiffTextOpcode.internalBinaryWrite(message.text.opcode, writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextArgument argument = 6; */\n if (message.text.oneofKind === \"argument\")\n DiffTextArgument.internalBinaryWrite(message.text.argument, writer.tag(6, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextBranchDest branch_dest = 7; */\n if (message.text.oneofKind === \"branch_dest\")\n DiffTextBranchDest.internalBinaryWrite(message.text.branch_dest, writer.tag(7, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextSymbol symbol = 8; */\n if (message.text.oneofKind === \"symbol\")\n DiffTextSymbol.internalBinaryWrite(message.text.symbol, writer.tag(8, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextSpacing spacing = 9; */\n if (message.text.oneofKind === \"spacing\")\n DiffTextSpacing.internalBinaryWrite(message.text.spacing, writer.tag(9, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextEol eol = 10; */\n if (message.text.oneofKind === \"eol\")\n DiffTextEol.internalBinaryWrite(message.text.eol, writer.tag(10, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffText\n */\nexport const DiffText = new DiffText$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextBasic$Type extends MessageType<DiffTextBasic> {\n constructor() {\n super(\"objdiff.diff.DiffTextBasic\", [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextBasic>): DiffTextBasic {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.text = \"\";\n if (value !== undefined)\n reflectionMergePartial<DiffTextBasic>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextBasic): DiffTextBasic {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string text */ 1:\n message.text = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextBasic, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string text = 1; */\n if (message.text !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.text);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextBasic\n */\nexport const DiffTextBasic = new DiffTextBasic$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextBasicColor$Type extends MessageType<DiffTextBasicColor> {\n constructor() {\n super(\"objdiff.diff.DiffTextBasicColor\", [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"index\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextBasicColor>): DiffTextBasicColor {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.text = \"\";\n message.index = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextBasicColor>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextBasicColor): DiffTextBasicColor {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string text */ 1:\n message.text = reader.string();\n break;\n case /* uint32 index */ 2:\n message.index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextBasicColor, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string text = 1; */\n if (message.text !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.text);\n /* uint32 index = 2; */\n if (message.index !== 0)\n writer.tag(2, WireType.Varint).uint32(message.index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextBasicColor\n */\nexport const DiffTextBasicColor = new DiffTextBasicColor$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextLine$Type extends MessageType<DiffTextLine> {\n constructor() {\n super(\"objdiff.diff.DiffTextLine\", [\n { no: 1, name: \"line_number\", kind: \"scalar\", localName: \"line_number\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextLine>): DiffTextLine {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.line_number = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextLine>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextLine): DiffTextLine {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 line_number */ 1:\n message.line_number = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextLine, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 line_number = 1; */\n if (message.line_number !== 0)\n writer.tag(1, WireType.Varint).uint32(message.line_number);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextLine\n */\nexport const DiffTextLine = new DiffTextLine$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextAddress$Type extends MessageType<DiffTextAddress> {\n constructor() {\n super(\"objdiff.diff.DiffTextAddress\", [\n { no: 1, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextAddress>): DiffTextAddress {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.address = 0n;\n if (value !== undefined)\n reflectionMergePartial<DiffTextAddress>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextAddress): DiffTextAddress {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 address */ 1:\n message.address = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextAddress, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 address = 1; */\n if (message.address !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.address);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextAddress\n */\nexport const DiffTextAddress = new DiffTextAddress$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextOpcode$Type extends MessageType<DiffTextOpcode> {\n constructor() {\n super(\"objdiff.diff.DiffTextOpcode\", [\n { no: 1, name: \"mnemonic\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"opcode\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextOpcode>): DiffTextOpcode {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.mnemonic = \"\";\n message.opcode = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextOpcode>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextOpcode): DiffTextOpcode {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string mnemonic */ 1:\n message.mnemonic = reader.string();\n break;\n case /* uint32 opcode */ 2:\n message.opcode = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextOpcode, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string mnemonic = 1; */\n if (message.mnemonic !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.mnemonic);\n /* uint32 opcode = 2; */\n if (message.opcode !== 0)\n writer.tag(2, WireType.Varint).uint32(message.opcode);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextOpcode\n */\nexport const DiffTextOpcode = new DiffTextOpcode$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextArgument$Type extends MessageType<DiffTextArgument> {\n constructor() {\n super(\"objdiff.diff.DiffTextArgument\", [\n { no: 1, name: \"value\", kind: \"message\", T: () => ArgumentValue }\n ]);\n }\n create(value?: PartialMessage<DiffTextArgument>): DiffTextArgument {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffTextArgument>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextArgument): DiffTextArgument {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.ArgumentValue value */ 1:\n message.value = ArgumentValue.internalBinaryRead(reader, reader.uint32(), options, message.value);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextArgument, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.ArgumentValue value = 1; */\n if (message.value)\n ArgumentValue.internalBinaryWrite(message.value, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextArgument\n */\nexport const DiffTextArgument = new DiffTextArgument$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextBranchDest$Type extends MessageType<DiffTextBranchDest> {\n constructor() {\n super(\"objdiff.diff.DiffTextBranchDest\", [\n { no: 1, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextBranchDest>): DiffTextBranchDest {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.address = 0n;\n if (value !== undefined)\n reflectionMergePartial<DiffTextBranchDest>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextBranchDest): DiffTextBranchDest {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 address */ 1:\n message.address = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextBranchDest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 address = 1; */\n if (message.address !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.address);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextBranchDest\n */\nexport const DiffTextBranchDest = new DiffTextBranchDest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextSymbol$Type extends MessageType<DiffTextSymbol> {\n constructor() {\n super(\"objdiff.diff.DiffTextSymbol\", [\n { no: 1, name: \"target\", kind: \"message\", T: () => RelocationTarget }\n ]);\n }\n create(value?: PartialMessage<DiffTextSymbol>): DiffTextSymbol {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffTextSymbol>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextSymbol): DiffTextSymbol {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.RelocationTarget target */ 1:\n message.target = RelocationTarget.internalBinaryRead(reader, reader.uint32(), options, message.target);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextSymbol, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.RelocationTarget target = 1; */\n if (message.target)\n RelocationTarget.internalBinaryWrite(message.target, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextSymbol\n */\nexport const DiffTextSymbol = new DiffTextSymbol$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextSpacing$Type extends MessageType<DiffTextSpacing> {\n constructor() {\n super(\"objdiff.diff.DiffTextSpacing\", [\n { no: 1, name: \"count\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextSpacing>): DiffTextSpacing {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.count = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextSpacing>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextSpacing): DiffTextSpacing {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 count */ 1:\n message.count = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextSpacing, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 count = 1; */\n if (message.count !== 0)\n writer.tag(1, WireType.Varint).uint32(message.count);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextSpacing\n */\nexport const DiffTextSpacing = new DiffTextSpacing$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextEol$Type extends MessageType<DiffTextEol> {\n constructor() {\n super(\"objdiff.diff.DiffTextEol\", []);\n }\n create(value?: PartialMessage<DiffTextEol>): DiffTextEol {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffTextEol>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextEol): DiffTextEol {\n return target ?? this.create();\n }\n internalBinaryWrite(message: DiffTextEol, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextEol\n */\nexport const DiffTextEol = new DiffTextEol$Type();\n","import {\n Argument,\n ArgumentRelocation,\n ArgumentValue,\n DataDiff,\n DiffKind,\n DiffResult,\n Instruction,\n InstructionBranchFrom,\n InstructionBranchTo,\n InstructionDiff,\n ObjectDiff,\n Relocation,\n RelocationTarget,\n SectionDiff,\n SectionKind,\n Symbol,\n SymbolFlag\n} from '../gen/diff_pb';\nimport type {\n ArmArchVersion,\n ArmR9Usage,\n DiffObjConfig as WasmDiffObjConfig,\n MipsAbi,\n MipsInstrCategory,\n X86Formatter\n} from '../pkg';\nimport {InMessage, OutMessage} from './worker';\n\n// Export wasm types\nexport type DiffObjConfig = Omit<Partial<WasmDiffObjConfig>, 'free'>;\nexport {ArmArchVersion, ArmR9Usage, MipsAbi, MipsInstrCategory, X86Formatter};\n\n// Export protobuf types\nexport {\n DiffResult,\n DiffKind,\n Argument,\n ArgumentRelocation,\n ArgumentValue,\n DataDiff,\n Symbol,\n Instruction,\n InstructionBranchFrom,\n InstructionBranchTo,\n InstructionDiff,\n ObjectDiff,\n Relocation,\n RelocationTarget,\n SectionDiff,\n SectionKind,\n SymbolFlag\n};\n\ninterface PromiseCallbacks {\n start: number;\n resolve: (value: unknown) => void;\n reject: (reason?: unknown) => void;\n}\n\nlet workerInit = false;\nlet workerCallbacks: PromiseCallbacks | null = null;\nconst workerReady = new Promise<Worker>((resolve, reject) => {\n workerCallbacks = {start: performance.now(), resolve, reject};\n});\n\nexport function initialize(workerUrl?: string | URL) {\n if (workerInit) {\n return;\n }\n workerInit = true;\n const worker = new Worker(workerUrl || 'worker.js', {type: 'module'});\n worker.onmessage = onMessage.bind(null, worker);\n worker.onerror = (error) => {\n console.error(\"Worker error\", error);\n workerCallbacks.reject(error);\n };\n}\n\nlet globalMessageId = 0;\nconst messageCallbacks = new Map<number, PromiseCallbacks>();\n\nfunction onMessage(worker: Worker, event: MessageEvent<OutMessage>) {\n switch (event.data.type) {\n case 'ready':\n workerCallbacks.resolve(worker);\n break;\n case 'result': {\n const {messageId, result} = event.data;\n const callbacks = messageCallbacks.get(messageId);\n if (callbacks) {\n const end = performance.now();\n console.debug(`Message ${messageId} took ${end - callbacks.start}ms`);\n messageCallbacks.delete(messageId);\n callbacks.resolve(result);\n }\n break;\n }\n }\n}\n\nasync function defer<T>(message: Omit<InMessage, 'messageId'>): Promise<T> {\n if (!workerInit) {\n throw new Error('Worker not initialized');\n }\n const worker = await workerReady;\n const messageId = globalMessageId++;\n const promise = new Promise<T>((resolve, reject) => {\n messageCallbacks.set(messageId, {start: performance.now(), resolve, reject});\n });\n worker.postMessage({\n ...message,\n messageId\n });\n return promise;\n}\n\nexport async function runDiff(left: Uint8Array | undefined, right: Uint8Array | undefined, config?: DiffObjConfig): Promise<DiffResult> {\n const data = await defer<Uint8Array>({\n type: 'run_diff',\n left,\n right,\n config\n } as InMessage);\n const parseStart = performance.now();\n const result = DiffResult.fromBinary(data, {readUnknownField: false});\n const end = performance.now();\n console.debug(`Parsing message took ${end - parseStart}ms`);\n return result;\n}\n"],"mappings":"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","names":["SymbolFlag","DiffKind","SectionKind"]}
1
+ {"version":3,"sources":["../gen/diff_pb.ts","../src/main.ts"],"sourcesContent":["/* eslint-disable */\n// @generated by protobuf-ts 2.9.4 with parameter add_pb_suffix,eslint_disable,ts_nocheck,use_proto_field_name\n// @generated from protobuf file \"diff.proto\" (package \"objdiff.diff\", syntax proto3)\n// tslint:disable\n// @ts-nocheck\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n * A symbol\n *\n * @generated from protobuf message objdiff.diff.Symbol\n */\nexport interface Symbol {\n /**\n * Name of the symbol\n *\n * @generated from protobuf field: string name = 1;\n */\n name: string;\n /**\n * Demangled name of the symbol\n *\n * @generated from protobuf field: optional string demangled_name = 2;\n */\n demangled_name?: string;\n /**\n * Symbol address\n *\n * @generated from protobuf field: uint64 address = 3;\n */\n address: bigint;\n /**\n * Symbol size\n *\n * @generated from protobuf field: uint64 size = 4;\n */\n size: bigint;\n /**\n * Bitmask of SymbolFlag\n *\n * @generated from protobuf field: uint32 flags = 5;\n */\n flags: number;\n}\n/**\n * A single parsed instruction\n *\n * @generated from protobuf message objdiff.diff.Instruction\n */\nexport interface Instruction {\n /**\n * Instruction address\n *\n * @generated from protobuf field: uint64 address = 1;\n */\n address: bigint;\n /**\n * Instruction size\n *\n * @generated from protobuf field: uint32 size = 2;\n */\n size: number;\n /**\n * Instruction opcode\n *\n * @generated from protobuf field: uint32 opcode = 3;\n */\n opcode: number;\n /**\n * Instruction mnemonic\n *\n * @generated from protobuf field: string mnemonic = 4;\n */\n mnemonic: string;\n /**\n * Instruction formatted string\n *\n * @generated from protobuf field: string formatted = 5;\n */\n formatted: string;\n /**\n * Original (unsimplified) instruction string\n *\n * @generated from protobuf field: optional string original = 6;\n */\n original?: string;\n /**\n * Instruction arguments\n *\n * @generated from protobuf field: repeated objdiff.diff.Argument arguments = 7;\n */\n arguments: Argument[];\n /**\n * Instruction relocation\n *\n * @generated from protobuf field: optional objdiff.diff.Relocation relocation = 8;\n */\n relocation?: Relocation;\n /**\n * Instruction branch destination\n *\n * @generated from protobuf field: optional uint64 branch_dest = 9;\n */\n branch_dest?: bigint;\n /**\n * Instruction line number\n *\n * @generated from protobuf field: optional uint32 line_number = 10;\n */\n line_number?: number;\n}\n/**\n * An instruction argument\n *\n * @generated from protobuf message objdiff.diff.Argument\n */\nexport interface Argument {\n /**\n * @generated from protobuf oneof: value\n */\n value: {\n oneofKind: \"plain_text\";\n /**\n * Plain text\n *\n * @generated from protobuf field: string plain_text = 1;\n */\n plain_text: string;\n } | {\n oneofKind: \"argument\";\n /**\n * Value\n *\n * @generated from protobuf field: objdiff.diff.ArgumentValue argument = 2;\n */\n argument: ArgumentValue;\n } | {\n oneofKind: \"relocation\";\n /**\n * Relocation\n *\n * @generated from protobuf field: objdiff.diff.ArgumentRelocation relocation = 3;\n */\n relocation: ArgumentRelocation;\n } | {\n oneofKind: \"branch_dest\";\n /**\n * Branch destination\n *\n * @generated from protobuf field: uint64 branch_dest = 4;\n */\n branch_dest: bigint;\n } | {\n oneofKind: undefined;\n };\n}\n/**\n * An instruction argument value\n *\n * @generated from protobuf message objdiff.diff.ArgumentValue\n */\nexport interface ArgumentValue {\n /**\n * @generated from protobuf oneof: value\n */\n value: {\n oneofKind: \"signed\";\n /**\n * Signed integer\n *\n * @generated from protobuf field: int64 signed = 1;\n */\n signed: bigint;\n } | {\n oneofKind: \"unsigned\";\n /**\n * Unsigned integer\n *\n * @generated from protobuf field: uint64 unsigned = 2;\n */\n unsigned: bigint;\n } | {\n oneofKind: \"opaque\";\n /**\n * Opaque value\n *\n * @generated from protobuf field: string opaque = 3;\n */\n opaque: string;\n } | {\n oneofKind: undefined;\n };\n}\n/**\n * Marker type for relocation arguments\n *\n * @generated from protobuf message objdiff.diff.ArgumentRelocation\n */\nexport interface ArgumentRelocation {\n}\n/**\n * @generated from protobuf message objdiff.diff.Relocation\n */\nexport interface Relocation {\n /**\n * @generated from protobuf field: uint32 type = 1;\n */\n type: number;\n /**\n * @generated from protobuf field: string type_name = 2;\n */\n type_name: string;\n /**\n * @generated from protobuf field: objdiff.diff.RelocationTarget target = 3;\n */\n target?: RelocationTarget;\n}\n/**\n * @generated from protobuf message objdiff.diff.RelocationTarget\n */\nexport interface RelocationTarget {\n /**\n * @generated from protobuf field: objdiff.diff.Symbol symbol = 1;\n */\n symbol?: Symbol;\n /**\n * @generated from protobuf field: int64 addend = 2;\n */\n addend: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.InstructionDiff\n */\nexport interface InstructionDiff {\n /**\n * @generated from protobuf field: objdiff.diff.DiffKind diff_kind = 1;\n */\n diff_kind: DiffKind;\n /**\n * @generated from protobuf field: optional objdiff.diff.Instruction instruction = 2;\n */\n instruction?: Instruction;\n /**\n * @generated from protobuf field: optional objdiff.diff.InstructionBranchFrom branch_from = 3;\n */\n branch_from?: InstructionBranchFrom;\n /**\n * @generated from protobuf field: optional objdiff.diff.InstructionBranchTo branch_to = 4;\n */\n branch_to?: InstructionBranchTo;\n /**\n * @generated from protobuf field: repeated objdiff.diff.ArgumentDiff arg_diff = 5;\n */\n arg_diff: ArgumentDiff[];\n}\n/**\n * @generated from protobuf message objdiff.diff.ArgumentDiff\n */\nexport interface ArgumentDiff {\n /**\n * @generated from protobuf field: optional uint32 diff_index = 1;\n */\n diff_index?: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.InstructionBranchFrom\n */\nexport interface InstructionBranchFrom {\n /**\n * @generated from protobuf field: repeated uint32 instruction_index = 1;\n */\n instruction_index: number[];\n /**\n * @generated from protobuf field: uint32 branch_index = 2;\n */\n branch_index: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.InstructionBranchTo\n */\nexport interface InstructionBranchTo {\n /**\n * @generated from protobuf field: uint32 instruction_index = 1;\n */\n instruction_index: number;\n /**\n * @generated from protobuf field: uint32 branch_index = 2;\n */\n branch_index: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.FunctionDiff\n */\nexport interface FunctionDiff {\n /**\n * @generated from protobuf field: objdiff.diff.Symbol symbol = 1;\n */\n symbol?: Symbol;\n /**\n * @generated from protobuf field: repeated objdiff.diff.InstructionDiff instructions = 2;\n */\n instructions: InstructionDiff[];\n /**\n * @generated from protobuf field: optional float match_percent = 3;\n */\n match_percent?: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DataDiff\n */\nexport interface DataDiff {\n /**\n * @generated from protobuf field: objdiff.diff.DiffKind kind = 1;\n */\n kind: DiffKind;\n /**\n * @generated from protobuf field: bytes data = 2;\n */\n data: Uint8Array;\n /**\n * May be larger than data\n *\n * @generated from protobuf field: uint64 size = 3;\n */\n size: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.SectionDiff\n */\nexport interface SectionDiff {\n /**\n * @generated from protobuf field: string name = 1;\n */\n name: string;\n /**\n * @generated from protobuf field: objdiff.diff.SectionKind kind = 2;\n */\n kind: SectionKind;\n /**\n * @generated from protobuf field: uint64 size = 3;\n */\n size: bigint;\n /**\n * @generated from protobuf field: uint64 address = 4;\n */\n address: bigint;\n /**\n * @generated from protobuf field: repeated objdiff.diff.FunctionDiff functions = 5;\n */\n functions: FunctionDiff[];\n /**\n * @generated from protobuf field: repeated objdiff.diff.DataDiff data = 6;\n */\n data: DataDiff[];\n /**\n * @generated from protobuf field: optional float match_percent = 7;\n */\n match_percent?: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.ObjectDiff\n */\nexport interface ObjectDiff {\n /**\n * @generated from protobuf field: repeated objdiff.diff.SectionDiff sections = 1;\n */\n sections: SectionDiff[];\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffResult\n */\nexport interface DiffResult {\n /**\n * @generated from protobuf field: optional objdiff.diff.ObjectDiff left = 1;\n */\n left?: ObjectDiff;\n /**\n * @generated from protobuf field: optional objdiff.diff.ObjectDiff right = 2;\n */\n right?: ObjectDiff;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffDisplay\n */\nexport interface DiffDisplay {\n /**\n * @generated from protobuf field: objdiff.diff.DiffText text = 1;\n */\n text?: DiffText;\n /**\n * @generated from protobuf field: optional uint32 diff_index = 2;\n */\n diff_index?: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffText\n */\nexport interface DiffText {\n /**\n * @generated from protobuf oneof: text\n */\n text: {\n oneofKind: \"basic\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextBasic basic = 1;\n */\n basic: DiffTextBasic;\n } | {\n oneofKind: \"basic_color\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextBasicColor basic_color = 2;\n */\n basic_color: DiffTextBasicColor;\n } | {\n oneofKind: \"line\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextLine line = 3;\n */\n line: DiffTextLine;\n } | {\n oneofKind: \"address\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextAddress address = 4;\n */\n address: DiffTextAddress;\n } | {\n oneofKind: \"opcode\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextOpcode opcode = 5;\n */\n opcode: DiffTextOpcode;\n } | {\n oneofKind: \"argument\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextArgument argument = 6;\n */\n argument: DiffTextArgument;\n } | {\n oneofKind: \"branch_dest\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextBranchDest branch_dest = 7;\n */\n branch_dest: DiffTextBranchDest;\n } | {\n oneofKind: \"symbol\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextSymbol symbol = 8;\n */\n symbol: DiffTextSymbol;\n } | {\n oneofKind: \"spacing\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextSpacing spacing = 9;\n */\n spacing: DiffTextSpacing;\n } | {\n oneofKind: \"eol\";\n /**\n * @generated from protobuf field: objdiff.diff.DiffTextEol eol = 10;\n */\n eol: DiffTextEol;\n } | {\n oneofKind: undefined;\n };\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextBasic\n */\nexport interface DiffTextBasic {\n /**\n * @generated from protobuf field: string text = 1;\n */\n text: string;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextBasicColor\n */\nexport interface DiffTextBasicColor {\n /**\n * @generated from protobuf field: string text = 1;\n */\n text: string;\n /**\n * @generated from protobuf field: uint32 index = 2;\n */\n index: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextLine\n */\nexport interface DiffTextLine {\n /**\n * @generated from protobuf field: uint32 line_number = 1;\n */\n line_number: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextAddress\n */\nexport interface DiffTextAddress {\n /**\n * @generated from protobuf field: uint64 address = 1;\n */\n address: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextOpcode\n */\nexport interface DiffTextOpcode {\n /**\n * @generated from protobuf field: string mnemonic = 1;\n */\n mnemonic: string;\n /**\n * @generated from protobuf field: uint32 opcode = 2;\n */\n opcode: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextArgument\n */\nexport interface DiffTextArgument {\n /**\n * @generated from protobuf field: objdiff.diff.ArgumentValue value = 1;\n */\n value?: ArgumentValue;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextBranchDest\n */\nexport interface DiffTextBranchDest {\n /**\n * @generated from protobuf field: uint64 address = 1;\n */\n address: bigint;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextSymbol\n */\nexport interface DiffTextSymbol {\n /**\n * @generated from protobuf field: objdiff.diff.RelocationTarget target = 1;\n */\n target?: RelocationTarget;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextSpacing\n */\nexport interface DiffTextSpacing {\n /**\n * @generated from protobuf field: uint32 count = 1;\n */\n count: number;\n}\n/**\n * @generated from protobuf message objdiff.diff.DiffTextEol\n */\nexport interface DiffTextEol {\n}\n/**\n * Symbol visibility flags\n *\n * @generated from protobuf enum objdiff.diff.SymbolFlag\n */\nexport enum SymbolFlag {\n /**\n * @generated from protobuf enum value: SYMBOL_NONE = 0;\n */\n SYMBOL_NONE = 0,\n /**\n * @generated from protobuf enum value: SYMBOL_GLOBAL = 1;\n */\n SYMBOL_GLOBAL = 1,\n /**\n * @generated from protobuf enum value: SYMBOL_LOCAL = 2;\n */\n SYMBOL_LOCAL = 2,\n /**\n * @generated from protobuf enum value: SYMBOL_WEAK = 3;\n */\n SYMBOL_WEAK = 3,\n /**\n * @generated from protobuf enum value: SYMBOL_COMMON = 4;\n */\n SYMBOL_COMMON = 4,\n /**\n * @generated from protobuf enum value: SYMBOL_HIDDEN = 5;\n */\n SYMBOL_HIDDEN = 5\n}\n/**\n * @generated from protobuf enum objdiff.diff.DiffKind\n */\nexport enum DiffKind {\n /**\n * @generated from protobuf enum value: DIFF_NONE = 0;\n */\n DIFF_NONE = 0,\n /**\n * @generated from protobuf enum value: DIFF_REPLACE = 1;\n */\n DIFF_REPLACE = 1,\n /**\n * @generated from protobuf enum value: DIFF_DELETE = 2;\n */\n DIFF_DELETE = 2,\n /**\n * @generated from protobuf enum value: DIFF_INSERT = 3;\n */\n DIFF_INSERT = 3,\n /**\n * @generated from protobuf enum value: DIFF_OP_MISMATCH = 4;\n */\n DIFF_OP_MISMATCH = 4,\n /**\n * @generated from protobuf enum value: DIFF_ARG_MISMATCH = 5;\n */\n DIFF_ARG_MISMATCH = 5\n}\n/**\n * @generated from protobuf enum objdiff.diff.SectionKind\n */\nexport enum SectionKind {\n /**\n * @generated from protobuf enum value: SECTION_UNKNOWN = 0;\n */\n SECTION_UNKNOWN = 0,\n /**\n * @generated from protobuf enum value: SECTION_TEXT = 1;\n */\n SECTION_TEXT = 1,\n /**\n * @generated from protobuf enum value: SECTION_DATA = 2;\n */\n SECTION_DATA = 2,\n /**\n * @generated from protobuf enum value: SECTION_BSS = 3;\n */\n SECTION_BSS = 3,\n /**\n * @generated from protobuf enum value: SECTION_COMMON = 4;\n */\n SECTION_COMMON = 4\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Symbol$Type extends MessageType<Symbol> {\n constructor() {\n super(\"objdiff.diff.Symbol\", [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"demangled_name\", kind: \"scalar\", localName: \"demangled_name\", opt: true, T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 5, name: \"flags\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<Symbol>): Symbol {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.name = \"\";\n message.address = 0n;\n message.size = 0n;\n message.flags = 0;\n if (value !== undefined)\n reflectionMergePartial<Symbol>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Symbol): Symbol {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string name */ 1:\n message.name = reader.string();\n break;\n case /* optional string demangled_name */ 2:\n message.demangled_name = reader.string();\n break;\n case /* uint64 address */ 3:\n message.address = reader.uint64().toBigInt();\n break;\n case /* uint64 size */ 4:\n message.size = reader.uint64().toBigInt();\n break;\n case /* uint32 flags */ 5:\n message.flags = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Symbol, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string name = 1; */\n if (message.name !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.name);\n /* optional string demangled_name = 2; */\n if (message.demangled_name !== undefined)\n writer.tag(2, WireType.LengthDelimited).string(message.demangled_name);\n /* uint64 address = 3; */\n if (message.address !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.address);\n /* uint64 size = 4; */\n if (message.size !== 0n)\n writer.tag(4, WireType.Varint).uint64(message.size);\n /* uint32 flags = 5; */\n if (message.flags !== 0)\n writer.tag(5, WireType.Varint).uint32(message.flags);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Symbol\n */\nexport const Symbol = new Symbol$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Instruction$Type extends MessageType<Instruction> {\n constructor() {\n super(\"objdiff.diff.Instruction\", [\n { no: 1, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"size\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n { no: 3, name: \"opcode\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n { no: 4, name: \"mnemonic\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 5, name: \"formatted\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 6, name: \"original\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n { no: 7, name: \"arguments\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => Argument },\n { no: 8, name: \"relocation\", kind: \"message\", T: () => Relocation },\n { no: 9, name: \"branch_dest\", kind: \"scalar\", localName: \"branch_dest\", opt: true, T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 10, name: \"line_number\", kind: \"scalar\", localName: \"line_number\", opt: true, T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<Instruction>): Instruction {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.address = 0n;\n message.size = 0;\n message.opcode = 0;\n message.mnemonic = \"\";\n message.formatted = \"\";\n message.arguments = [];\n if (value !== undefined)\n reflectionMergePartial<Instruction>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Instruction): Instruction {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 address */ 1:\n message.address = reader.uint64().toBigInt();\n break;\n case /* uint32 size */ 2:\n message.size = reader.uint32();\n break;\n case /* uint32 opcode */ 3:\n message.opcode = reader.uint32();\n break;\n case /* string mnemonic */ 4:\n message.mnemonic = reader.string();\n break;\n case /* string formatted */ 5:\n message.formatted = reader.string();\n break;\n case /* optional string original */ 6:\n message.original = reader.string();\n break;\n case /* repeated objdiff.diff.Argument arguments */ 7:\n message.arguments.push(Argument.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* optional objdiff.diff.Relocation relocation */ 8:\n message.relocation = Relocation.internalBinaryRead(reader, reader.uint32(), options, message.relocation);\n break;\n case /* optional uint64 branch_dest */ 9:\n message.branch_dest = reader.uint64().toBigInt();\n break;\n case /* optional uint32 line_number */ 10:\n message.line_number = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Instruction, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 address = 1; */\n if (message.address !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.address);\n /* uint32 size = 2; */\n if (message.size !== 0)\n writer.tag(2, WireType.Varint).uint32(message.size);\n /* uint32 opcode = 3; */\n if (message.opcode !== 0)\n writer.tag(3, WireType.Varint).uint32(message.opcode);\n /* string mnemonic = 4; */\n if (message.mnemonic !== \"\")\n writer.tag(4, WireType.LengthDelimited).string(message.mnemonic);\n /* string formatted = 5; */\n if (message.formatted !== \"\")\n writer.tag(5, WireType.LengthDelimited).string(message.formatted);\n /* optional string original = 6; */\n if (message.original !== undefined)\n writer.tag(6, WireType.LengthDelimited).string(message.original);\n /* repeated objdiff.diff.Argument arguments = 7; */\n for (let i = 0; i < message.arguments.length; i++)\n Argument.internalBinaryWrite(message.arguments[i], writer.tag(7, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.Relocation relocation = 8; */\n if (message.relocation)\n Relocation.internalBinaryWrite(message.relocation, writer.tag(8, WireType.LengthDelimited).fork(), options).join();\n /* optional uint64 branch_dest = 9; */\n if (message.branch_dest !== undefined)\n writer.tag(9, WireType.Varint).uint64(message.branch_dest);\n /* optional uint32 line_number = 10; */\n if (message.line_number !== undefined)\n writer.tag(10, WireType.Varint).uint32(message.line_number);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Instruction\n */\nexport const Instruction = new Instruction$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Argument$Type extends MessageType<Argument> {\n constructor() {\n super(\"objdiff.diff.Argument\", [\n { no: 1, name: \"plain_text\", kind: \"scalar\", localName: \"plain_text\", oneof: \"value\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"argument\", kind: \"message\", oneof: \"value\", T: () => ArgumentValue },\n { no: 3, name: \"relocation\", kind: \"message\", oneof: \"value\", T: () => ArgumentRelocation },\n { no: 4, name: \"branch_dest\", kind: \"scalar\", localName: \"branch_dest\", oneof: \"value\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<Argument>): Argument {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.value = { oneofKind: undefined };\n if (value !== undefined)\n reflectionMergePartial<Argument>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Argument): Argument {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string plain_text */ 1:\n message.value = {\n oneofKind: \"plain_text\",\n plain_text: reader.string()\n };\n break;\n case /* objdiff.diff.ArgumentValue argument */ 2:\n message.value = {\n oneofKind: \"argument\",\n argument: ArgumentValue.internalBinaryRead(reader, reader.uint32(), options, (message.value as any).argument)\n };\n break;\n case /* objdiff.diff.ArgumentRelocation relocation */ 3:\n message.value = {\n oneofKind: \"relocation\",\n relocation: ArgumentRelocation.internalBinaryRead(reader, reader.uint32(), options, (message.value as any).relocation)\n };\n break;\n case /* uint64 branch_dest */ 4:\n message.value = {\n oneofKind: \"branch_dest\",\n branch_dest: reader.uint64().toBigInt()\n };\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Argument, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string plain_text = 1; */\n if (message.value.oneofKind === \"plain_text\")\n writer.tag(1, WireType.LengthDelimited).string(message.value.plain_text);\n /* objdiff.diff.ArgumentValue argument = 2; */\n if (message.value.oneofKind === \"argument\")\n ArgumentValue.internalBinaryWrite(message.value.argument, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.ArgumentRelocation relocation = 3; */\n if (message.value.oneofKind === \"relocation\")\n ArgumentRelocation.internalBinaryWrite(message.value.relocation, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* uint64 branch_dest = 4; */\n if (message.value.oneofKind === \"branch_dest\")\n writer.tag(4, WireType.Varint).uint64(message.value.branch_dest);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Argument\n */\nexport const Argument = new Argument$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ArgumentValue$Type extends MessageType<ArgumentValue> {\n constructor() {\n super(\"objdiff.diff.ArgumentValue\", [\n { no: 1, name: \"signed\", kind: \"scalar\", oneof: \"value\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 2, name: \"unsigned\", kind: \"scalar\", oneof: \"value\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 3, name: \"opaque\", kind: \"scalar\", oneof: \"value\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<ArgumentValue>): ArgumentValue {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.value = { oneofKind: undefined };\n if (value !== undefined)\n reflectionMergePartial<ArgumentValue>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ArgumentValue): ArgumentValue {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* int64 signed */ 1:\n message.value = {\n oneofKind: \"signed\",\n signed: reader.int64().toBigInt()\n };\n break;\n case /* uint64 unsigned */ 2:\n message.value = {\n oneofKind: \"unsigned\",\n unsigned: reader.uint64().toBigInt()\n };\n break;\n case /* string opaque */ 3:\n message.value = {\n oneofKind: \"opaque\",\n opaque: reader.string()\n };\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: ArgumentValue, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* int64 signed = 1; */\n if (message.value.oneofKind === \"signed\")\n writer.tag(1, WireType.Varint).int64(message.value.signed);\n /* uint64 unsigned = 2; */\n if (message.value.oneofKind === \"unsigned\")\n writer.tag(2, WireType.Varint).uint64(message.value.unsigned);\n /* string opaque = 3; */\n if (message.value.oneofKind === \"opaque\")\n writer.tag(3, WireType.LengthDelimited).string(message.value.opaque);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.ArgumentValue\n */\nexport const ArgumentValue = new ArgumentValue$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ArgumentRelocation$Type extends MessageType<ArgumentRelocation> {\n constructor() {\n super(\"objdiff.diff.ArgumentRelocation\", []);\n }\n create(value?: PartialMessage<ArgumentRelocation>): ArgumentRelocation {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<ArgumentRelocation>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ArgumentRelocation): ArgumentRelocation {\n return target ?? this.create();\n }\n internalBinaryWrite(message: ArgumentRelocation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.ArgumentRelocation\n */\nexport const ArgumentRelocation = new ArgumentRelocation$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Relocation$Type extends MessageType<Relocation> {\n constructor() {\n super(\"objdiff.diff.Relocation\", [\n { no: 1, name: \"type\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n { no: 2, name: \"type_name\", kind: \"scalar\", localName: \"type_name\", T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"target\", kind: \"message\", T: () => RelocationTarget }\n ]);\n }\n create(value?: PartialMessage<Relocation>): Relocation {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.type = 0;\n message.type_name = \"\";\n if (value !== undefined)\n reflectionMergePartial<Relocation>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Relocation): Relocation {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 type */ 1:\n message.type = reader.uint32();\n break;\n case /* string type_name */ 2:\n message.type_name = reader.string();\n break;\n case /* objdiff.diff.RelocationTarget target */ 3:\n message.target = RelocationTarget.internalBinaryRead(reader, reader.uint32(), options, message.target);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Relocation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 type = 1; */\n if (message.type !== 0)\n writer.tag(1, WireType.Varint).uint32(message.type);\n /* string type_name = 2; */\n if (message.type_name !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.type_name);\n /* objdiff.diff.RelocationTarget target = 3; */\n if (message.target)\n RelocationTarget.internalBinaryWrite(message.target, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.Relocation\n */\nexport const Relocation = new Relocation$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass RelocationTarget$Type extends MessageType<RelocationTarget> {\n constructor() {\n super(\"objdiff.diff.RelocationTarget\", [\n { no: 1, name: \"symbol\", kind: \"message\", T: () => Symbol },\n { no: 2, name: \"addend\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<RelocationTarget>): RelocationTarget {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.addend = 0n;\n if (value !== undefined)\n reflectionMergePartial<RelocationTarget>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RelocationTarget): RelocationTarget {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.Symbol symbol */ 1:\n message.symbol = Symbol.internalBinaryRead(reader, reader.uint32(), options, message.symbol);\n break;\n case /* int64 addend */ 2:\n message.addend = reader.int64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: RelocationTarget, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.Symbol symbol = 1; */\n if (message.symbol)\n Symbol.internalBinaryWrite(message.symbol, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* int64 addend = 2; */\n if (message.addend !== 0n)\n writer.tag(2, WireType.Varint).int64(message.addend);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.RelocationTarget\n */\nexport const RelocationTarget = new RelocationTarget$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass InstructionDiff$Type extends MessageType<InstructionDiff> {\n constructor() {\n super(\"objdiff.diff.InstructionDiff\", [\n { no: 1, name: \"diff_kind\", kind: \"enum\", localName: \"diff_kind\", T: () => [\"objdiff.diff.DiffKind\", DiffKind] },\n { no: 2, name: \"instruction\", kind: \"message\", T: () => Instruction },\n { no: 3, name: \"branch_from\", kind: \"message\", localName: \"branch_from\", T: () => InstructionBranchFrom },\n { no: 4, name: \"branch_to\", kind: \"message\", localName: \"branch_to\", T: () => InstructionBranchTo },\n { no: 5, name: \"arg_diff\", kind: \"message\", localName: \"arg_diff\", repeat: 1 /*RepeatType.PACKED*/, T: () => ArgumentDiff }\n ]);\n }\n create(value?: PartialMessage<InstructionDiff>): InstructionDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.diff_kind = 0;\n message.arg_diff = [];\n if (value !== undefined)\n reflectionMergePartial<InstructionDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InstructionDiff): InstructionDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffKind diff_kind */ 1:\n message.diff_kind = reader.int32();\n break;\n case /* optional objdiff.diff.Instruction instruction */ 2:\n message.instruction = Instruction.internalBinaryRead(reader, reader.uint32(), options, message.instruction);\n break;\n case /* optional objdiff.diff.InstructionBranchFrom branch_from */ 3:\n message.branch_from = InstructionBranchFrom.internalBinaryRead(reader, reader.uint32(), options, message.branch_from);\n break;\n case /* optional objdiff.diff.InstructionBranchTo branch_to */ 4:\n message.branch_to = InstructionBranchTo.internalBinaryRead(reader, reader.uint32(), options, message.branch_to);\n break;\n case /* repeated objdiff.diff.ArgumentDiff arg_diff */ 5:\n message.arg_diff.push(ArgumentDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: InstructionDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffKind diff_kind = 1; */\n if (message.diff_kind !== 0)\n writer.tag(1, WireType.Varint).int32(message.diff_kind);\n /* optional objdiff.diff.Instruction instruction = 2; */\n if (message.instruction)\n Instruction.internalBinaryWrite(message.instruction, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.InstructionBranchFrom branch_from = 3; */\n if (message.branch_from)\n InstructionBranchFrom.internalBinaryWrite(message.branch_from, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.InstructionBranchTo branch_to = 4; */\n if (message.branch_to)\n InstructionBranchTo.internalBinaryWrite(message.branch_to, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n /* repeated objdiff.diff.ArgumentDiff arg_diff = 5; */\n for (let i = 0; i < message.arg_diff.length; i++)\n ArgumentDiff.internalBinaryWrite(message.arg_diff[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.InstructionDiff\n */\nexport const InstructionDiff = new InstructionDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ArgumentDiff$Type extends MessageType<ArgumentDiff> {\n constructor() {\n super(\"objdiff.diff.ArgumentDiff\", [\n { no: 1, name: \"diff_index\", kind: \"scalar\", localName: \"diff_index\", opt: true, T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<ArgumentDiff>): ArgumentDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<ArgumentDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ArgumentDiff): ArgumentDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* optional uint32 diff_index */ 1:\n message.diff_index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: ArgumentDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* optional uint32 diff_index = 1; */\n if (message.diff_index !== undefined)\n writer.tag(1, WireType.Varint).uint32(message.diff_index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.ArgumentDiff\n */\nexport const ArgumentDiff = new ArgumentDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass InstructionBranchFrom$Type extends MessageType<InstructionBranchFrom> {\n constructor() {\n super(\"objdiff.diff.InstructionBranchFrom\", [\n { no: 1, name: \"instruction_index\", kind: \"scalar\", localName: \"instruction_index\", repeat: 1 /*RepeatType.PACKED*/, T: 13 /*ScalarType.UINT32*/ },\n { no: 2, name: \"branch_index\", kind: \"scalar\", localName: \"branch_index\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<InstructionBranchFrom>): InstructionBranchFrom {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.instruction_index = [];\n message.branch_index = 0;\n if (value !== undefined)\n reflectionMergePartial<InstructionBranchFrom>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InstructionBranchFrom): InstructionBranchFrom {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* repeated uint32 instruction_index */ 1:\n if (wireType === WireType.LengthDelimited)\n for (let e = reader.int32() + reader.pos; reader.pos < e;)\n message.instruction_index.push(reader.uint32());\n else\n message.instruction_index.push(reader.uint32());\n break;\n case /* uint32 branch_index */ 2:\n message.branch_index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: InstructionBranchFrom, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* repeated uint32 instruction_index = 1; */\n if (message.instruction_index.length) {\n writer.tag(1, WireType.LengthDelimited).fork();\n for (let i = 0; i < message.instruction_index.length; i++)\n writer.uint32(message.instruction_index[i]);\n writer.join();\n }\n /* uint32 branch_index = 2; */\n if (message.branch_index !== 0)\n writer.tag(2, WireType.Varint).uint32(message.branch_index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.InstructionBranchFrom\n */\nexport const InstructionBranchFrom = new InstructionBranchFrom$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass InstructionBranchTo$Type extends MessageType<InstructionBranchTo> {\n constructor() {\n super(\"objdiff.diff.InstructionBranchTo\", [\n { no: 1, name: \"instruction_index\", kind: \"scalar\", localName: \"instruction_index\", T: 13 /*ScalarType.UINT32*/ },\n { no: 2, name: \"branch_index\", kind: \"scalar\", localName: \"branch_index\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<InstructionBranchTo>): InstructionBranchTo {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.instruction_index = 0;\n message.branch_index = 0;\n if (value !== undefined)\n reflectionMergePartial<InstructionBranchTo>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InstructionBranchTo): InstructionBranchTo {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 instruction_index */ 1:\n message.instruction_index = reader.uint32();\n break;\n case /* uint32 branch_index */ 2:\n message.branch_index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: InstructionBranchTo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 instruction_index = 1; */\n if (message.instruction_index !== 0)\n writer.tag(1, WireType.Varint).uint32(message.instruction_index);\n /* uint32 branch_index = 2; */\n if (message.branch_index !== 0)\n writer.tag(2, WireType.Varint).uint32(message.branch_index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.InstructionBranchTo\n */\nexport const InstructionBranchTo = new InstructionBranchTo$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass FunctionDiff$Type extends MessageType<FunctionDiff> {\n constructor() {\n super(\"objdiff.diff.FunctionDiff\", [\n { no: 1, name: \"symbol\", kind: \"message\", T: () => Symbol },\n { no: 2, name: \"instructions\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => InstructionDiff },\n { no: 3, name: \"match_percent\", kind: \"scalar\", localName: \"match_percent\", opt: true, T: 2 /*ScalarType.FLOAT*/ }\n ]);\n }\n create(value?: PartialMessage<FunctionDiff>): FunctionDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.instructions = [];\n if (value !== undefined)\n reflectionMergePartial<FunctionDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FunctionDiff): FunctionDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.Symbol symbol */ 1:\n message.symbol = Symbol.internalBinaryRead(reader, reader.uint32(), options, message.symbol);\n break;\n case /* repeated objdiff.diff.InstructionDiff instructions */ 2:\n message.instructions.push(InstructionDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* optional float match_percent */ 3:\n message.match_percent = reader.float();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: FunctionDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.Symbol symbol = 1; */\n if (message.symbol)\n Symbol.internalBinaryWrite(message.symbol, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* repeated objdiff.diff.InstructionDiff instructions = 2; */\n for (let i = 0; i < message.instructions.length; i++)\n InstructionDiff.internalBinaryWrite(message.instructions[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* optional float match_percent = 3; */\n if (message.match_percent !== undefined)\n writer.tag(3, WireType.Bit32).float(message.match_percent);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.FunctionDiff\n */\nexport const FunctionDiff = new FunctionDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DataDiff$Type extends MessageType<DataDiff> {\n constructor() {\n super(\"objdiff.diff.DataDiff\", [\n { no: 1, name: \"kind\", kind: \"enum\", T: () => [\"objdiff.diff.DiffKind\", DiffKind] },\n { no: 2, name: \"data\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n { no: 3, name: \"size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<DataDiff>): DataDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.kind = 0;\n message.data = new Uint8Array(0);\n message.size = 0n;\n if (value !== undefined)\n reflectionMergePartial<DataDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataDiff): DataDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffKind kind */ 1:\n message.kind = reader.int32();\n break;\n case /* bytes data */ 2:\n message.data = reader.bytes();\n break;\n case /* uint64 size */ 3:\n message.size = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DataDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffKind kind = 1; */\n if (message.kind !== 0)\n writer.tag(1, WireType.Varint).int32(message.kind);\n /* bytes data = 2; */\n if (message.data.length)\n writer.tag(2, WireType.LengthDelimited).bytes(message.data);\n /* uint64 size = 3; */\n if (message.size !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.size);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DataDiff\n */\nexport const DataDiff = new DataDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SectionDiff$Type extends MessageType<SectionDiff> {\n constructor() {\n super(\"objdiff.diff.SectionDiff\", [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"kind\", kind: \"enum\", T: () => [\"objdiff.diff.SectionKind\", SectionKind] },\n { no: 3, name: \"size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 4, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n { no: 5, name: \"functions\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => FunctionDiff },\n { no: 6, name: \"data\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => DataDiff },\n { no: 7, name: \"match_percent\", kind: \"scalar\", localName: \"match_percent\", opt: true, T: 2 /*ScalarType.FLOAT*/ }\n ]);\n }\n create(value?: PartialMessage<SectionDiff>): SectionDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.name = \"\";\n message.kind = 0;\n message.size = 0n;\n message.address = 0n;\n message.functions = [];\n message.data = [];\n if (value !== undefined)\n reflectionMergePartial<SectionDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SectionDiff): SectionDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string name */ 1:\n message.name = reader.string();\n break;\n case /* objdiff.diff.SectionKind kind */ 2:\n message.kind = reader.int32();\n break;\n case /* uint64 size */ 3:\n message.size = reader.uint64().toBigInt();\n break;\n case /* uint64 address */ 4:\n message.address = reader.uint64().toBigInt();\n break;\n case /* repeated objdiff.diff.FunctionDiff functions */ 5:\n message.functions.push(FunctionDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* repeated objdiff.diff.DataDiff data */ 6:\n message.data.push(DataDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* optional float match_percent */ 7:\n message.match_percent = reader.float();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: SectionDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string name = 1; */\n if (message.name !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.name);\n /* objdiff.diff.SectionKind kind = 2; */\n if (message.kind !== 0)\n writer.tag(2, WireType.Varint).int32(message.kind);\n /* uint64 size = 3; */\n if (message.size !== 0n)\n writer.tag(3, WireType.Varint).uint64(message.size);\n /* uint64 address = 4; */\n if (message.address !== 0n)\n writer.tag(4, WireType.Varint).uint64(message.address);\n /* repeated objdiff.diff.FunctionDiff functions = 5; */\n for (let i = 0; i < message.functions.length; i++)\n FunctionDiff.internalBinaryWrite(message.functions[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n /* repeated objdiff.diff.DataDiff data = 6; */\n for (let i = 0; i < message.data.length; i++)\n DataDiff.internalBinaryWrite(message.data[i], writer.tag(6, WireType.LengthDelimited).fork(), options).join();\n /* optional float match_percent = 7; */\n if (message.match_percent !== undefined)\n writer.tag(7, WireType.Bit32).float(message.match_percent);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.SectionDiff\n */\nexport const SectionDiff = new SectionDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ObjectDiff$Type extends MessageType<ObjectDiff> {\n constructor() {\n super(\"objdiff.diff.ObjectDiff\", [\n { no: 1, name: \"sections\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => SectionDiff }\n ]);\n }\n create(value?: PartialMessage<ObjectDiff>): ObjectDiff {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.sections = [];\n if (value !== undefined)\n reflectionMergePartial<ObjectDiff>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ObjectDiff): ObjectDiff {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* repeated objdiff.diff.SectionDiff sections */ 1:\n message.sections.push(SectionDiff.internalBinaryRead(reader, reader.uint32(), options));\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: ObjectDiff, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* repeated objdiff.diff.SectionDiff sections = 1; */\n for (let i = 0; i < message.sections.length; i++)\n SectionDiff.internalBinaryWrite(message.sections[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.ObjectDiff\n */\nexport const ObjectDiff = new ObjectDiff$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffResult$Type extends MessageType<DiffResult> {\n constructor() {\n super(\"objdiff.diff.DiffResult\", [\n { no: 1, name: \"left\", kind: \"message\", T: () => ObjectDiff },\n { no: 2, name: \"right\", kind: \"message\", T: () => ObjectDiff }\n ]);\n }\n create(value?: PartialMessage<DiffResult>): DiffResult {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffResult>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffResult): DiffResult {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* optional objdiff.diff.ObjectDiff left */ 1:\n message.left = ObjectDiff.internalBinaryRead(reader, reader.uint32(), options, message.left);\n break;\n case /* optional objdiff.diff.ObjectDiff right */ 2:\n message.right = ObjectDiff.internalBinaryRead(reader, reader.uint32(), options, message.right);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* optional objdiff.diff.ObjectDiff left = 1; */\n if (message.left)\n ObjectDiff.internalBinaryWrite(message.left, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* optional objdiff.diff.ObjectDiff right = 2; */\n if (message.right)\n ObjectDiff.internalBinaryWrite(message.right, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffResult\n */\nexport const DiffResult = new DiffResult$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffDisplay$Type extends MessageType<DiffDisplay> {\n constructor() {\n super(\"objdiff.diff.DiffDisplay\", [\n { no: 1, name: \"text\", kind: \"message\", T: () => DiffText },\n { no: 2, name: \"diff_index\", kind: \"scalar\", localName: \"diff_index\", opt: true, T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffDisplay>): DiffDisplay {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffDisplay>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffDisplay): DiffDisplay {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffText text */ 1:\n message.text = DiffText.internalBinaryRead(reader, reader.uint32(), options, message.text);\n break;\n case /* optional uint32 diff_index */ 2:\n message.diff_index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffDisplay, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffText text = 1; */\n if (message.text)\n DiffText.internalBinaryWrite(message.text, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* optional uint32 diff_index = 2; */\n if (message.diff_index !== undefined)\n writer.tag(2, WireType.Varint).uint32(message.diff_index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffDisplay\n */\nexport const DiffDisplay = new DiffDisplay$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffText$Type extends MessageType<DiffText> {\n constructor() {\n super(\"objdiff.diff.DiffText\", [\n { no: 1, name: \"basic\", kind: \"message\", oneof: \"text\", T: () => DiffTextBasic },\n { no: 2, name: \"basic_color\", kind: \"message\", localName: \"basic_color\", oneof: \"text\", T: () => DiffTextBasicColor },\n { no: 3, name: \"line\", kind: \"message\", oneof: \"text\", T: () => DiffTextLine },\n { no: 4, name: \"address\", kind: \"message\", oneof: \"text\", T: () => DiffTextAddress },\n { no: 5, name: \"opcode\", kind: \"message\", oneof: \"text\", T: () => DiffTextOpcode },\n { no: 6, name: \"argument\", kind: \"message\", oneof: \"text\", T: () => DiffTextArgument },\n { no: 7, name: \"branch_dest\", kind: \"message\", localName: \"branch_dest\", oneof: \"text\", T: () => DiffTextBranchDest },\n { no: 8, name: \"symbol\", kind: \"message\", oneof: \"text\", T: () => DiffTextSymbol },\n { no: 9, name: \"spacing\", kind: \"message\", oneof: \"text\", T: () => DiffTextSpacing },\n { no: 10, name: \"eol\", kind: \"message\", oneof: \"text\", T: () => DiffTextEol }\n ]);\n }\n create(value?: PartialMessage<DiffText>): DiffText {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.text = { oneofKind: undefined };\n if (value !== undefined)\n reflectionMergePartial<DiffText>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffText): DiffText {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.DiffTextBasic basic */ 1:\n message.text = {\n oneofKind: \"basic\",\n basic: DiffTextBasic.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).basic)\n };\n break;\n case /* objdiff.diff.DiffTextBasicColor basic_color */ 2:\n message.text = {\n oneofKind: \"basic_color\",\n basic_color: DiffTextBasicColor.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).basic_color)\n };\n break;\n case /* objdiff.diff.DiffTextLine line */ 3:\n message.text = {\n oneofKind: \"line\",\n line: DiffTextLine.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).line)\n };\n break;\n case /* objdiff.diff.DiffTextAddress address */ 4:\n message.text = {\n oneofKind: \"address\",\n address: DiffTextAddress.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).address)\n };\n break;\n case /* objdiff.diff.DiffTextOpcode opcode */ 5:\n message.text = {\n oneofKind: \"opcode\",\n opcode: DiffTextOpcode.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).opcode)\n };\n break;\n case /* objdiff.diff.DiffTextArgument argument */ 6:\n message.text = {\n oneofKind: \"argument\",\n argument: DiffTextArgument.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).argument)\n };\n break;\n case /* objdiff.diff.DiffTextBranchDest branch_dest */ 7:\n message.text = {\n oneofKind: \"branch_dest\",\n branch_dest: DiffTextBranchDest.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).branch_dest)\n };\n break;\n case /* objdiff.diff.DiffTextSymbol symbol */ 8:\n message.text = {\n oneofKind: \"symbol\",\n symbol: DiffTextSymbol.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).symbol)\n };\n break;\n case /* objdiff.diff.DiffTextSpacing spacing */ 9:\n message.text = {\n oneofKind: \"spacing\",\n spacing: DiffTextSpacing.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).spacing)\n };\n break;\n case /* objdiff.diff.DiffTextEol eol */ 10:\n message.text = {\n oneofKind: \"eol\",\n eol: DiffTextEol.internalBinaryRead(reader, reader.uint32(), options, (message.text as any).eol)\n };\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffText, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.DiffTextBasic basic = 1; */\n if (message.text.oneofKind === \"basic\")\n DiffTextBasic.internalBinaryWrite(message.text.basic, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextBasicColor basic_color = 2; */\n if (message.text.oneofKind === \"basic_color\")\n DiffTextBasicColor.internalBinaryWrite(message.text.basic_color, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextLine line = 3; */\n if (message.text.oneofKind === \"line\")\n DiffTextLine.internalBinaryWrite(message.text.line, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextAddress address = 4; */\n if (message.text.oneofKind === \"address\")\n DiffTextAddress.internalBinaryWrite(message.text.address, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextOpcode opcode = 5; */\n if (message.text.oneofKind === \"opcode\")\n DiffTextOpcode.internalBinaryWrite(message.text.opcode, writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextArgument argument = 6; */\n if (message.text.oneofKind === \"argument\")\n DiffTextArgument.internalBinaryWrite(message.text.argument, writer.tag(6, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextBranchDest branch_dest = 7; */\n if (message.text.oneofKind === \"branch_dest\")\n DiffTextBranchDest.internalBinaryWrite(message.text.branch_dest, writer.tag(7, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextSymbol symbol = 8; */\n if (message.text.oneofKind === \"symbol\")\n DiffTextSymbol.internalBinaryWrite(message.text.symbol, writer.tag(8, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextSpacing spacing = 9; */\n if (message.text.oneofKind === \"spacing\")\n DiffTextSpacing.internalBinaryWrite(message.text.spacing, writer.tag(9, WireType.LengthDelimited).fork(), options).join();\n /* objdiff.diff.DiffTextEol eol = 10; */\n if (message.text.oneofKind === \"eol\")\n DiffTextEol.internalBinaryWrite(message.text.eol, writer.tag(10, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffText\n */\nexport const DiffText = new DiffText$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextBasic$Type extends MessageType<DiffTextBasic> {\n constructor() {\n super(\"objdiff.diff.DiffTextBasic\", [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextBasic>): DiffTextBasic {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.text = \"\";\n if (value !== undefined)\n reflectionMergePartial<DiffTextBasic>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextBasic): DiffTextBasic {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string text */ 1:\n message.text = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextBasic, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string text = 1; */\n if (message.text !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.text);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextBasic\n */\nexport const DiffTextBasic = new DiffTextBasic$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextBasicColor$Type extends MessageType<DiffTextBasicColor> {\n constructor() {\n super(\"objdiff.diff.DiffTextBasicColor\", [\n { no: 1, name: \"text\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"index\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextBasicColor>): DiffTextBasicColor {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.text = \"\";\n message.index = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextBasicColor>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextBasicColor): DiffTextBasicColor {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string text */ 1:\n message.text = reader.string();\n break;\n case /* uint32 index */ 2:\n message.index = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextBasicColor, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string text = 1; */\n if (message.text !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.text);\n /* uint32 index = 2; */\n if (message.index !== 0)\n writer.tag(2, WireType.Varint).uint32(message.index);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextBasicColor\n */\nexport const DiffTextBasicColor = new DiffTextBasicColor$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextLine$Type extends MessageType<DiffTextLine> {\n constructor() {\n super(\"objdiff.diff.DiffTextLine\", [\n { no: 1, name: \"line_number\", kind: \"scalar\", localName: \"line_number\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextLine>): DiffTextLine {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.line_number = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextLine>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextLine): DiffTextLine {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 line_number */ 1:\n message.line_number = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextLine, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 line_number = 1; */\n if (message.line_number !== 0)\n writer.tag(1, WireType.Varint).uint32(message.line_number);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextLine\n */\nexport const DiffTextLine = new DiffTextLine$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextAddress$Type extends MessageType<DiffTextAddress> {\n constructor() {\n super(\"objdiff.diff.DiffTextAddress\", [\n { no: 1, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextAddress>): DiffTextAddress {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.address = 0n;\n if (value !== undefined)\n reflectionMergePartial<DiffTextAddress>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextAddress): DiffTextAddress {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 address */ 1:\n message.address = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextAddress, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 address = 1; */\n if (message.address !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.address);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextAddress\n */\nexport const DiffTextAddress = new DiffTextAddress$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextOpcode$Type extends MessageType<DiffTextOpcode> {\n constructor() {\n super(\"objdiff.diff.DiffTextOpcode\", [\n { no: 1, name: \"mnemonic\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"opcode\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextOpcode>): DiffTextOpcode {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.mnemonic = \"\";\n message.opcode = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextOpcode>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextOpcode): DiffTextOpcode {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string mnemonic */ 1:\n message.mnemonic = reader.string();\n break;\n case /* uint32 opcode */ 2:\n message.opcode = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextOpcode, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string mnemonic = 1; */\n if (message.mnemonic !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.mnemonic);\n /* uint32 opcode = 2; */\n if (message.opcode !== 0)\n writer.tag(2, WireType.Varint).uint32(message.opcode);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextOpcode\n */\nexport const DiffTextOpcode = new DiffTextOpcode$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextArgument$Type extends MessageType<DiffTextArgument> {\n constructor() {\n super(\"objdiff.diff.DiffTextArgument\", [\n { no: 1, name: \"value\", kind: \"message\", T: () => ArgumentValue }\n ]);\n }\n create(value?: PartialMessage<DiffTextArgument>): DiffTextArgument {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffTextArgument>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextArgument): DiffTextArgument {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.ArgumentValue value */ 1:\n message.value = ArgumentValue.internalBinaryRead(reader, reader.uint32(), options, message.value);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextArgument, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.ArgumentValue value = 1; */\n if (message.value)\n ArgumentValue.internalBinaryWrite(message.value, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextArgument\n */\nexport const DiffTextArgument = new DiffTextArgument$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextBranchDest$Type extends MessageType<DiffTextBranchDest> {\n constructor() {\n super(\"objdiff.diff.DiffTextBranchDest\", [\n { no: 1, name: \"address\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextBranchDest>): DiffTextBranchDest {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.address = 0n;\n if (value !== undefined)\n reflectionMergePartial<DiffTextBranchDest>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextBranchDest): DiffTextBranchDest {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint64 address */ 1:\n message.address = reader.uint64().toBigInt();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextBranchDest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint64 address = 1; */\n if (message.address !== 0n)\n writer.tag(1, WireType.Varint).uint64(message.address);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextBranchDest\n */\nexport const DiffTextBranchDest = new DiffTextBranchDest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextSymbol$Type extends MessageType<DiffTextSymbol> {\n constructor() {\n super(\"objdiff.diff.DiffTextSymbol\", [\n { no: 1, name: \"target\", kind: \"message\", T: () => RelocationTarget }\n ]);\n }\n create(value?: PartialMessage<DiffTextSymbol>): DiffTextSymbol {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffTextSymbol>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextSymbol): DiffTextSymbol {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* objdiff.diff.RelocationTarget target */ 1:\n message.target = RelocationTarget.internalBinaryRead(reader, reader.uint32(), options, message.target);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextSymbol, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* objdiff.diff.RelocationTarget target = 1; */\n if (message.target)\n RelocationTarget.internalBinaryWrite(message.target, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextSymbol\n */\nexport const DiffTextSymbol = new DiffTextSymbol$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextSpacing$Type extends MessageType<DiffTextSpacing> {\n constructor() {\n super(\"objdiff.diff.DiffTextSpacing\", [\n { no: 1, name: \"count\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n ]);\n }\n create(value?: PartialMessage<DiffTextSpacing>): DiffTextSpacing {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.count = 0;\n if (value !== undefined)\n reflectionMergePartial<DiffTextSpacing>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextSpacing): DiffTextSpacing {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* uint32 count */ 1:\n message.count = reader.uint32();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: DiffTextSpacing, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* uint32 count = 1; */\n if (message.count !== 0)\n writer.tag(1, WireType.Varint).uint32(message.count);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextSpacing\n */\nexport const DiffTextSpacing = new DiffTextSpacing$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass DiffTextEol$Type extends MessageType<DiffTextEol> {\n constructor() {\n super(\"objdiff.diff.DiffTextEol\", []);\n }\n create(value?: PartialMessage<DiffTextEol>): DiffTextEol {\n const message = globalThis.Object.create((this.messagePrototype!));\n if (value !== undefined)\n reflectionMergePartial<DiffTextEol>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DiffTextEol): DiffTextEol {\n return target ?? this.create();\n }\n internalBinaryWrite(message: DiffTextEol, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message objdiff.diff.DiffTextEol\n */\nexport const DiffTextEol = new DiffTextEol$Type();\n","import {DiffResult, DiffText, InstructionDiff} from \"../gen/diff_pb\";\nimport type {\n ArmArchVersion,\n ArmR9Usage,\n DiffObjConfig as WasmDiffObjConfig,\n MipsAbi,\n MipsInstrCategory,\n X86Formatter\n} from '../pkg';\nimport {InMessage, OutMessage} from './worker';\n\n// Export wasm types\nexport type DiffObjConfig = Omit<Partial<WasmDiffObjConfig>, 'free'>;\nexport {ArmArchVersion, ArmR9Usage, MipsAbi, MipsInstrCategory, X86Formatter};\n\n// Export protobuf types\nexport * from '../gen/diff_pb';\n\ninterface PromiseCallbacks {\n start: number;\n resolve: (value: unknown) => void;\n reject: (reason?: unknown) => void;\n}\n\nlet workerInit = false;\nlet workerCallbacks: PromiseCallbacks | null = null;\nconst workerReady = new Promise<Worker>((resolve, reject) => {\n workerCallbacks = {start: performance.now(), resolve, reject};\n});\n\nexport function initialize(workerUrl?: string | URL) {\n if (workerInit) {\n return;\n }\n workerInit = true;\n const worker = new Worker(workerUrl || 'worker.js', {type: 'module'});\n worker.onmessage = onMessage.bind(null, worker);\n worker.onerror = (error) => {\n console.error(\"Worker error\", error);\n workerCallbacks.reject(error);\n };\n}\n\nlet globalMessageId = 0;\nconst messageCallbacks = new Map<number, PromiseCallbacks>();\n\nfunction onMessage(worker: Worker, event: MessageEvent<OutMessage>) {\n switch (event.data.type) {\n case 'ready':\n workerCallbacks.resolve(worker);\n break;\n case 'result': {\n const {messageId, result} = event.data;\n const callbacks = messageCallbacks.get(messageId);\n if (callbacks) {\n const end = performance.now();\n console.debug(`Message ${messageId} took ${end - callbacks.start}ms`);\n messageCallbacks.delete(messageId);\n callbacks.resolve(result);\n }\n break;\n }\n }\n}\n\nasync function defer<T>(message: Omit<InMessage, 'messageId'>): Promise<T> {\n if (!workerInit) {\n throw new Error('Worker not initialized');\n }\n const worker = await workerReady;\n const messageId = globalMessageId++;\n const promise = new Promise<T>((resolve, reject) => {\n messageCallbacks.set(messageId, {start: performance.now(), resolve, reject});\n });\n worker.postMessage({\n ...message,\n messageId\n });\n return promise;\n}\n\nexport async function runDiff(left: Uint8Array | undefined, right: Uint8Array | undefined, config?: DiffObjConfig): Promise<DiffResult> {\n const data = await defer<Uint8Array>({\n type: 'run_diff',\n left,\n right,\n config\n } as InMessage);\n const parseStart = performance.now();\n const result = DiffResult.fromBinary(data, {readUnknownField: false});\n const end = performance.now();\n console.debug(`Parsing message took ${end - parseStart}ms`);\n return result;\n}\n\n// Native JavaScript implementation of objdiff_core::diff::display::display_diff\n// export function displayDiff(insDiff: InstructionDiff, baseAddr: bigint, cb: (text: DiffText[\"text\"]) => void) {\n// const instruction = insDiff.instruction;\n// if (!instruction) {\n// return;\n// }\n// if (instruction.line_number != null) {\n// cb({oneofKind: 'line', line: {line_number: instruction.line_number}});\n// }\n// cb({oneofKind: 'address', address: {address: instruction.address - baseAddr}});\n// if (insDiff.branch_from) {\n// cb({oneofKind: 'basic_color', basic_color: {text: ' ~> ', index: insDiff.branch_from.branch_index}});\n// } else {\n// cb({oneofKind: 'spacing', spacing: {count: 4}});\n// }\n// cb({oneofKind: 'opcode', opcode: {mnemonic: instruction.mnemonic, opcode: instruction.opcode}});\n// for (let i = 0; i < instruction.arguments.length; i++) {\n// if (i == 0) {\n// cb({oneofKind: 'spacing', spacing: {count: 1}});\n// }\n// const arg = instruction.arguments[i];\n// const value = arg.value;\n// switch (value.oneofKind) {\n// case \"plain_text\":\n// cb({oneofKind: 'basic', basic: {text: value.plain_text}});\n// break;\n// case \"argument\":\n// cb({oneofKind: 'argument', argument: {value: value.argument}});\n// break;\n// case \"relocation\": {\n// const reloc = instruction.relocation!;\n// cb({oneofKind: 'symbol', symbol: {target: reloc.target}});\n// break;\n// }\n// case \"branch_dest\":\n// if (value.branch_dest < baseAddr) {\n// cb({oneofKind: 'basic', basic: {text: '<unknown>'}});\n// } else {\n// cb({oneofKind: 'branch_dest', branch_dest: {address: value.branch_dest - baseAddr}});\n// }\n// break;\n// }\n// }\n// if (insDiff.branch_to) {\n// cb({oneofKind: 'basic_color', basic_color: {text: ' ~> ', index: insDiff.branch_to.branch_index}});\n// }\n// }\n"],"mappings":"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","names":["SymbolFlag","DiffKind","SectionKind"]}
Binary file
package/dist/worker.js CHANGED
@@ -96,8 +96,8 @@ function default_diff_obj_config() {
96
96
  return DiffObjConfig.__wrap(ret);
97
97
  }
98
98
  var ArmR9Usage = Object.freeze({ GeneralPurpose: 0, "0": "GeneralPurpose", Sb: 1, "1": "Sb", Tr: 2, "2": "Tr" });
99
- var MipsAbi = Object.freeze({ Auto: 0, "0": "Auto", O32: 1, "1": "O32", N32: 2, "2": "N32", N64: 3, "3": "N64" });
100
99
  var X86Formatter = Object.freeze({ Intel: 0, "0": "Intel", Gas: 1, "1": "Gas", Nasm: 2, "2": "Nasm", Masm: 3, "3": "Masm" });
100
+ var MipsAbi = Object.freeze({ Auto: 0, "0": "Auto", O32: 1, "1": "O32", N32: 2, "2": "N32", N64: 3, "3": "N64" });
101
101
  var ArmArchVersion = Object.freeze({ Auto: 0, "0": "Auto", V4T: 1, "1": "V4T", V5TE: 2, "2": "V5TE", V6K: 3, "3": "V6K" });
102
102
  var MipsInstrCategory = Object.freeze({ Auto: 0, "0": "Auto", Cpu: 1, "1": "Cpu", Rsp: 2, "2": "Rsp", R3000Gte: 3, "3": "R3000Gte", R4000Allegrex: 4, "4": "R4000Allegrex", R5900: 5, "5": "R5900" });
103
103
  var DiffObjConfigFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../pkg/objdiff_core.js","../src/worker.ts"],"sourcesContent":["let wasm;\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst heap = new Array(128).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n return instance.ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 132) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {Uint8Array | undefined} left\n* @param {Uint8Array | undefined} right\n* @param {DiffObjConfig} config\n* @returns {string}\n*/\nexport function run_diff(left, right, config) {\n let deferred5_0;\n let deferred5_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = isLikeNone(left) ? 0 : passArray8ToWasm0(left, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(right) ? 0 : passArray8ToWasm0(right, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n _assertClass(config, DiffObjConfig);\n var ptr2 = config.__destroy_into_raw();\n wasm.run_diff(retptr, ptr0, len0, ptr1, len1, ptr2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr4 = r0;\n var len4 = r1;\n if (r3) {\n ptr4 = 0; len4 = 0;\n throw takeObject(r2);\n }\n deferred5_0 = ptr4;\n deferred5_1 = len4;\n return getStringFromWasm0(ptr4, len4);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);\n }\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array | undefined} left\n* @param {Uint8Array | undefined} right\n* @param {DiffObjConfig} config\n* @returns {Uint8Array}\n*/\nexport function run_diff_proto(left, right, config) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = isLikeNone(left) ? 0 : passArray8ToWasm0(left, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(right) ? 0 : passArray8ToWasm0(right, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n _assertClass(config, DiffObjConfig);\n var ptr2 = config.__destroy_into_raw();\n wasm.run_diff_proto(retptr, ptr0, len0, ptr1, len1, ptr2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n if (r3) {\n throw takeObject(r2);\n }\n var v4 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1, 1);\n return v4;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @returns {DiffObjConfig}\n*/\nexport function default_diff_obj_config() {\n const ret = wasm.default_diff_obj_config();\n return DiffObjConfig.__wrap(ret);\n}\n\n/**\n*/\nexport const ArmR9Usage = Object.freeze({ GeneralPurpose:0,\"0\":\"GeneralPurpose\",Sb:1,\"1\":\"Sb\",Tr:2,\"2\":\"Tr\", });\n/**\n*/\nexport const MipsAbi = Object.freeze({ Auto:0,\"0\":\"Auto\",O32:1,\"1\":\"O32\",N32:2,\"2\":\"N32\",N64:3,\"3\":\"N64\", });\n/**\n*/\nexport const X86Formatter = Object.freeze({ Intel:0,\"0\":\"Intel\",Gas:1,\"1\":\"Gas\",Nasm:2,\"2\":\"Nasm\",Masm:3,\"3\":\"Masm\", });\n/**\n*/\nexport const ArmArchVersion = Object.freeze({ Auto:0,\"0\":\"Auto\",V4T:1,\"1\":\"V4T\",V5TE:2,\"2\":\"V5TE\",V6K:3,\"3\":\"V6K\", });\n/**\n*/\nexport const MipsInstrCategory = Object.freeze({ Auto:0,\"0\":\"Auto\",Cpu:1,\"1\":\"Cpu\",Rsp:2,\"2\":\"Rsp\",R3000Gte:3,\"3\":\"R3000Gte\",R4000Allegrex:4,\"4\":\"R4000Allegrex\",R5900:5,\"5\":\"R5900\", });\n\nconst DiffObjConfigFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_diffobjconfig_free(ptr >>> 0, 1));\n/**\n*/\nexport class DiffObjConfig {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(DiffObjConfig.prototype);\n obj.__wbg_ptr = ptr;\n DiffObjConfigFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n DiffObjConfigFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_diffobjconfig_free(ptr, 0);\n }\n /**\n * @returns {boolean}\n */\n get relax_reloc_diffs() {\n const ret = wasm.__wbg_get_diffobjconfig_relax_reloc_diffs(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set relax_reloc_diffs(arg0) {\n wasm.__wbg_set_diffobjconfig_relax_reloc_diffs(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get space_between_args() {\n const ret = wasm.__wbg_get_diffobjconfig_space_between_args(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set space_between_args(arg0) {\n wasm.__wbg_set_diffobjconfig_space_between_args(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get combine_data_sections() {\n const ret = wasm.__wbg_get_diffobjconfig_combine_data_sections(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set combine_data_sections(arg0) {\n wasm.__wbg_set_diffobjconfig_combine_data_sections(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {X86Formatter}\n */\n get x86_formatter() {\n const ret = wasm.__wbg_get_diffobjconfig_x86_formatter(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {X86Formatter} arg0\n */\n set x86_formatter(arg0) {\n wasm.__wbg_set_diffobjconfig_x86_formatter(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {MipsAbi}\n */\n get mips_abi() {\n const ret = wasm.__wbg_get_diffobjconfig_mips_abi(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {MipsAbi} arg0\n */\n set mips_abi(arg0) {\n wasm.__wbg_set_diffobjconfig_mips_abi(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {MipsInstrCategory}\n */\n get mips_instr_category() {\n const ret = wasm.__wbg_get_diffobjconfig_mips_instr_category(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {MipsInstrCategory} arg0\n */\n set mips_instr_category(arg0) {\n wasm.__wbg_set_diffobjconfig_mips_instr_category(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {ArmArchVersion}\n */\n get arm_arch_version() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_arch_version(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {ArmArchVersion} arg0\n */\n set arm_arch_version(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_arch_version(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_unified_syntax() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_unified_syntax(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_unified_syntax(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_unified_syntax(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_av_registers() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_av_registers(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_av_registers(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_av_registers(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {ArmR9Usage}\n */\n get arm_r9_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_r9_usage(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {ArmR9Usage} arg0\n */\n set arm_r9_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_r9_usage(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_sl_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_sl_usage(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_sl_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_sl_usage(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_fp_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_fp_usage(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_fp_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_fp_usage(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_ip_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_ip_usage(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_ip_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_ip_usage(this.__wbg_ptr, arg0);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_error_new = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype)\n ({module} = module)\n else\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype)\n ({module_or_path} = module_or_path)\n else\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('objdiff_core_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","import wasmInit, {default_diff_obj_config, run_diff_proto} from '../pkg';\nimport {DiffObjConfig} from \"./main\";\n\nself.postMessage({type: 'init'} as OutMessage);\nawait wasmInit({});\nself.postMessage({type: 'ready'} as OutMessage);\n\ntype ExtractParam<T> = {\n [K in keyof T]: T[K] extends (arg1: infer U, ...args: any[]) => any ? U & { type: K } : never;\n}[keyof T];\ntype HandlerData = ExtractParam<{\n run_diff: typeof run_diff,\n}>;\nconst handlers: {\n [K in HandlerData['type']]: (data: Omit<HandlerData, 'type'>) => unknown\n} = {\n 'run_diff': run_diff,\n};\n\nfunction run_diff({left, right, config}: {\n left: Uint8Array | undefined,\n right: Uint8Array | undefined,\n config?: DiffObjConfig\n}): Uint8Array {\n const cfg = default_diff_obj_config();\n if (config) {\n for (const key in config) {\n if (key in config) {\n cfg[key] = config[key];\n }\n }\n }\n return run_diff_proto(left, right, cfg);\n}\n\nexport type InMessage = HandlerData & { messageId: number };\n\nexport type OutMessage = ({\n type: 'result',\n result: unknown | null,\n error: unknown | null,\n} | {\n type: 'init',\n msg: string\n} | {\n type: 'ready',\n msg: string\n}) & { messageId: number };\n\nself.onmessage = async (event: MessageEvent<InMessage>) => {\n const data = event.data;\n const handler = handlers[data.type];\n if (handler) {\n try {\n const start = performance.now();\n const result = handler(data);\n const end = performance.now();\n console.debug(`Worker message ${data.messageId} took ${end - start}ms`);\n self.postMessage({\n type: 'result',\n result: result,\n error: null,\n messageId: data.messageId\n });\n } catch (error) {\n self.postMessage({\n type: 'result',\n result: null,\n error: error,\n messageId: data.messageId\n });\n }\n }\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../pkg/objdiff_core.js","../src/worker.ts"],"sourcesContent":["let wasm;\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst heap = new Array(128).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n return instance.ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 132) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {Uint8Array | undefined} left\n* @param {Uint8Array | undefined} right\n* @param {DiffObjConfig} config\n* @returns {string}\n*/\nexport function run_diff(left, right, config) {\n let deferred5_0;\n let deferred5_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = isLikeNone(left) ? 0 : passArray8ToWasm0(left, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(right) ? 0 : passArray8ToWasm0(right, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n _assertClass(config, DiffObjConfig);\n var ptr2 = config.__destroy_into_raw();\n wasm.run_diff(retptr, ptr0, len0, ptr1, len1, ptr2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr4 = r0;\n var len4 = r1;\n if (r3) {\n ptr4 = 0; len4 = 0;\n throw takeObject(r2);\n }\n deferred5_0 = ptr4;\n deferred5_1 = len4;\n return getStringFromWasm0(ptr4, len4);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);\n }\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array | undefined} left\n* @param {Uint8Array | undefined} right\n* @param {DiffObjConfig} config\n* @returns {Uint8Array}\n*/\nexport function run_diff_proto(left, right, config) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = isLikeNone(left) ? 0 : passArray8ToWasm0(left, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(right) ? 0 : passArray8ToWasm0(right, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n _assertClass(config, DiffObjConfig);\n var ptr2 = config.__destroy_into_raw();\n wasm.run_diff_proto(retptr, ptr0, len0, ptr1, len1, ptr2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n if (r3) {\n throw takeObject(r2);\n }\n var v4 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1, 1);\n return v4;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @returns {DiffObjConfig}\n*/\nexport function default_diff_obj_config() {\n const ret = wasm.default_diff_obj_config();\n return DiffObjConfig.__wrap(ret);\n}\n\n/**\n*/\nexport const ArmR9Usage = Object.freeze({ GeneralPurpose:0,\"0\":\"GeneralPurpose\",Sb:1,\"1\":\"Sb\",Tr:2,\"2\":\"Tr\", });\n/**\n*/\nexport const X86Formatter = Object.freeze({ Intel:0,\"0\":\"Intel\",Gas:1,\"1\":\"Gas\",Nasm:2,\"2\":\"Nasm\",Masm:3,\"3\":\"Masm\", });\n/**\n*/\nexport const MipsAbi = Object.freeze({ Auto:0,\"0\":\"Auto\",O32:1,\"1\":\"O32\",N32:2,\"2\":\"N32\",N64:3,\"3\":\"N64\", });\n/**\n*/\nexport const ArmArchVersion = Object.freeze({ Auto:0,\"0\":\"Auto\",V4T:1,\"1\":\"V4T\",V5TE:2,\"2\":\"V5TE\",V6K:3,\"3\":\"V6K\", });\n/**\n*/\nexport const MipsInstrCategory = Object.freeze({ Auto:0,\"0\":\"Auto\",Cpu:1,\"1\":\"Cpu\",Rsp:2,\"2\":\"Rsp\",R3000Gte:3,\"3\":\"R3000Gte\",R4000Allegrex:4,\"4\":\"R4000Allegrex\",R5900:5,\"5\":\"R5900\", });\n\nconst DiffObjConfigFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_diffobjconfig_free(ptr >>> 0, 1));\n/**\n*/\nexport class DiffObjConfig {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(DiffObjConfig.prototype);\n obj.__wbg_ptr = ptr;\n DiffObjConfigFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n DiffObjConfigFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_diffobjconfig_free(ptr, 0);\n }\n /**\n * @returns {boolean}\n */\n get relax_reloc_diffs() {\n const ret = wasm.__wbg_get_diffobjconfig_relax_reloc_diffs(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set relax_reloc_diffs(arg0) {\n wasm.__wbg_set_diffobjconfig_relax_reloc_diffs(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get space_between_args() {\n const ret = wasm.__wbg_get_diffobjconfig_space_between_args(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set space_between_args(arg0) {\n wasm.__wbg_set_diffobjconfig_space_between_args(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get combine_data_sections() {\n const ret = wasm.__wbg_get_diffobjconfig_combine_data_sections(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set combine_data_sections(arg0) {\n wasm.__wbg_set_diffobjconfig_combine_data_sections(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {X86Formatter}\n */\n get x86_formatter() {\n const ret = wasm.__wbg_get_diffobjconfig_x86_formatter(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {X86Formatter} arg0\n */\n set x86_formatter(arg0) {\n wasm.__wbg_set_diffobjconfig_x86_formatter(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {MipsAbi}\n */\n get mips_abi() {\n const ret = wasm.__wbg_get_diffobjconfig_mips_abi(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {MipsAbi} arg0\n */\n set mips_abi(arg0) {\n wasm.__wbg_set_diffobjconfig_mips_abi(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {MipsInstrCategory}\n */\n get mips_instr_category() {\n const ret = wasm.__wbg_get_diffobjconfig_mips_instr_category(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {MipsInstrCategory} arg0\n */\n set mips_instr_category(arg0) {\n wasm.__wbg_set_diffobjconfig_mips_instr_category(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {ArmArchVersion}\n */\n get arm_arch_version() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_arch_version(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {ArmArchVersion} arg0\n */\n set arm_arch_version(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_arch_version(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_unified_syntax() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_unified_syntax(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_unified_syntax(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_unified_syntax(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_av_registers() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_av_registers(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_av_registers(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_av_registers(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {ArmR9Usage}\n */\n get arm_r9_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_r9_usage(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {ArmR9Usage} arg0\n */\n set arm_r9_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_r9_usage(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_sl_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_sl_usage(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_sl_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_sl_usage(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_fp_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_fp_usage(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_fp_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_fp_usage(this.__wbg_ptr, arg0);\n }\n /**\n * @returns {boolean}\n */\n get arm_ip_usage() {\n const ret = wasm.__wbg_get_diffobjconfig_arm_ip_usage(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * @param {boolean} arg0\n */\n set arm_ip_usage(arg0) {\n wasm.__wbg_set_diffobjconfig_arm_ip_usage(this.__wbg_ptr, arg0);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_error_new = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype)\n ({module} = module)\n else\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype)\n ({module_or_path} = module_or_path)\n else\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('objdiff_core_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","import wasmInit, {default_diff_obj_config, run_diff_proto} from '../pkg';\nimport {DiffObjConfig} from \"./main\";\n\nself.postMessage({type: 'init'} as OutMessage);\nawait wasmInit({});\nself.postMessage({type: 'ready'} as OutMessage);\n\ntype ExtractParam<T> = {\n [K in keyof T]: T[K] extends (arg1: infer U, ...args: any[]) => any ? U & { type: K } : never;\n}[keyof T];\ntype HandlerData = ExtractParam<{\n run_diff: typeof run_diff,\n}>;\nconst handlers: {\n [K in HandlerData['type']]: (data: Omit<HandlerData, 'type'>) => unknown\n} = {\n 'run_diff': run_diff,\n};\n\nfunction run_diff({left, right, config}: {\n left: Uint8Array | undefined,\n right: Uint8Array | undefined,\n config?: DiffObjConfig\n}): Uint8Array {\n const cfg = default_diff_obj_config();\n if (config) {\n for (const key in config) {\n if (key in config) {\n cfg[key] = config[key];\n }\n }\n }\n return run_diff_proto(left, right, cfg);\n}\n\nexport type InMessage = HandlerData & { messageId: number };\n\nexport type OutMessage = ({\n type: 'result',\n result: unknown | null,\n error: unknown | null,\n} | {\n type: 'init',\n msg: string\n} | {\n type: 'ready',\n msg: string\n}) & { messageId: number };\n\nself.onmessage = async (event: MessageEvent<InMessage>) => {\n const data = event.data;\n const handler = handlers[data.type];\n if (handler) {\n try {\n const start = performance.now();\n const result = handler(data);\n const end = performance.now();\n console.debug(`Worker message ${data.messageId} took ${end - start}ms`);\n self.postMessage({\n type: 'result',\n result: result,\n error: null,\n messageId: data.messageId\n });\n } catch (error) {\n self.postMessage({\n type: 'result',\n result: null,\n error: error,\n messageId: data.messageId\n });\n }\n }\n};\n"],"mappings":";AAAA,IAAI;AAEJ,IAAM,oBAAqB,OAAO,gBAAgB,cAAc,IAAI,YAAY,SAAS,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC,IAAI,EAAE,QAAQ,MAAM;AAAE,QAAM,MAAM,2BAA2B;AAAE,EAAE;AAE1L,IAAI,OAAO,gBAAgB,aAAa;AAAE,oBAAkB,OAAO;AAAG;AAEtE,IAAI,0BAA0B;AAE9B,SAAS,uBAAuB;AAC5B,MAAI,4BAA4B,QAAQ,wBAAwB,eAAe,GAAG;AAC9E,8BAA0B,IAAI,WAAW,KAAK,OAAO,MAAM;AAAA,EAC/D;AACA,SAAO;AACX;AAEA,SAAS,mBAAmB,KAAK,KAAK;AAClC,QAAM,QAAQ;AACd,SAAO,kBAAkB,OAAO,qBAAqB,EAAE,SAAS,KAAK,MAAM,GAAG,CAAC;AACnF;AAEA,IAAM,OAAO,IAAI,MAAM,GAAG,EAAE,KAAK,MAAS;AAE1C,KAAK,KAAK,QAAW,MAAM,MAAM,KAAK;AAEtC,IAAI,YAAY,KAAK;AAErB,SAAS,cAAc,KAAK;AACxB,MAAI,cAAc,KAAK,OAAQ,MAAK,KAAK,KAAK,SAAS,CAAC;AACxD,QAAM,MAAM;AACZ,cAAY,KAAK,GAAG;AAEpB,OAAK,GAAG,IAAI;AACZ,SAAO;AACX;AAEA,IAAI,kBAAkB;AAEtB,SAAS,kBAAkB,KAAK,QAAQ;AACpC,QAAM,MAAM,OAAO,IAAI,SAAS,GAAG,CAAC,MAAM;AAC1C,uBAAqB,EAAE,IAAI,KAAK,MAAM,CAAC;AACvC,oBAAkB,IAAI;AACtB,SAAO;AACX;AAEA,SAAS,WAAW,GAAG;AACnB,SAAO,MAAM,UAAa,MAAM;AACpC;AAEA,SAAS,aAAa,UAAU,OAAO;AACnC,MAAI,EAAE,oBAAoB,QAAQ;AAC9B,UAAM,IAAI,MAAM,wBAAwB,MAAM,IAAI,EAAE;AAAA,EACxD;AACA,SAAO,SAAS;AACpB;AAEA,IAAI,wBAAwB;AAE5B,SAAS,qBAAqB;AAC1B,MAAI,0BAA0B,QAAQ,sBAAsB,OAAO,aAAa,QAAS,sBAAsB,OAAO,aAAa,UAAa,sBAAsB,WAAW,KAAK,OAAO,QAAS;AAClM,4BAAwB,IAAI,SAAS,KAAK,OAAO,MAAM;AAAA,EAC3D;AACA,SAAO;AACX;AAEA,SAAS,UAAU,KAAK;AAAE,SAAO,KAAK,GAAG;AAAG;AAE5C,SAAS,WAAW,KAAK;AACrB,MAAI,MAAM,IAAK;AACf,OAAK,GAAG,IAAI;AACZ,cAAY;AAChB;AAEA,SAAS,WAAW,KAAK;AACrB,QAAM,MAAM,UAAU,GAAG;AACzB,aAAW,GAAG;AACd,SAAO;AACX;AAsCA,SAAS,oBAAoB,KAAK,KAAK;AACnC,QAAM,QAAQ;AACd,SAAO,qBAAqB,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,GAAG;AACjE;AAOO,SAAS,eAAe,MAAM,OAAO,QAAQ;AAChD,MAAI;AACA,UAAM,SAAS,KAAK,gCAAgC,GAAG;AACvD,QAAI,OAAO,WAAW,IAAI,IAAI,IAAI,kBAAkB,MAAM,KAAK,iBAAiB;AAChF,QAAI,OAAO;AACX,QAAI,OAAO,WAAW,KAAK,IAAI,IAAI,kBAAkB,OAAO,KAAK,iBAAiB;AAClF,QAAI,OAAO;AACX,iBAAa,QAAQ,aAAa;AAClC,QAAI,OAAO,OAAO,mBAAmB;AACrC,SAAK,eAAe,QAAQ,MAAM,MAAM,MAAM,MAAM,IAAI;AACxD,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,IAAI;AACJ,YAAM,WAAW,EAAE;AAAA,IACvB;AACA,QAAI,KAAK,oBAAoB,IAAI,EAAE,EAAE,MAAM;AAC3C,SAAK,gBAAgB,IAAI,KAAK,GAAG,CAAC;AAClC,WAAO;AAAA,EACX,UAAE;AACE,SAAK,gCAAgC,EAAE;AAAA,EAC3C;AACJ;AAKO,SAAS,0BAA0B;AACtC,QAAM,MAAM,KAAK,wBAAwB;AACzC,SAAO,cAAc,OAAO,GAAG;AACnC;AAIO,IAAM,aAAa,OAAO,OAAO,EAAE,gBAAe,GAAE,KAAI,kBAAiB,IAAG,GAAE,KAAI,MAAK,IAAG,GAAE,KAAI,KAAM,CAAC;AAGvG,IAAM,eAAe,OAAO,OAAO,EAAE,OAAM,GAAE,KAAI,SAAQ,KAAI,GAAE,KAAI,OAAM,MAAK,GAAE,KAAI,QAAO,MAAK,GAAE,KAAI,OAAQ,CAAC;AAG/G,IAAM,UAAU,OAAO,OAAO,EAAE,MAAK,GAAE,KAAI,QAAO,KAAI,GAAE,KAAI,OAAM,KAAI,GAAE,KAAI,OAAM,KAAI,GAAE,KAAI,MAAO,CAAC;AAGpG,IAAM,iBAAiB,OAAO,OAAO,EAAE,MAAK,GAAE,KAAI,QAAO,KAAI,GAAE,KAAI,OAAM,MAAK,GAAE,KAAI,QAAO,KAAI,GAAE,KAAI,MAAO,CAAC;AAG7G,IAAM,oBAAoB,OAAO,OAAO,EAAE,MAAK,GAAE,KAAI,QAAO,KAAI,GAAE,KAAI,OAAM,KAAI,GAAE,KAAI,OAAM,UAAS,GAAE,KAAI,YAAW,eAAc,GAAE,KAAI,iBAAgB,OAAM,GAAE,KAAI,QAAS,CAAC;AAEvL,IAAM,4BAA6B,OAAO,yBAAyB,cAC7D,EAAE,UAAU,MAAM;AAAC,GAAG,YAAY,MAAM;AAAC,EAAE,IAC3C,IAAI,qBAAqB,SAAO,KAAK,yBAAyB,QAAQ,GAAG,CAAC,CAAC;AAG1E,IAAM,gBAAN,MAAM,eAAc;AAAA,EAEvB,OAAO,OAAO,KAAK;AACf,UAAM,QAAQ;AACd,UAAM,MAAM,OAAO,OAAO,eAAc,SAAS;AACjD,QAAI,YAAY;AAChB,8BAA0B,SAAS,KAAK,IAAI,WAAW,GAAG;AAC1D,WAAO;AAAA,EACX;AAAA,EAEA,qBAAqB;AACjB,UAAM,MAAM,KAAK;AACjB,SAAK,YAAY;AACjB,8BAA0B,WAAW,IAAI;AACzC,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,UAAM,MAAM,KAAK,mBAAmB;AACpC,SAAK,yBAAyB,KAAK,CAAC;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,oBAAoB;AACpB,UAAM,MAAM,KAAK,0CAA0C,KAAK,SAAS;AACzE,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,kBAAkB,MAAM;AACxB,SAAK,0CAA0C,KAAK,WAAW,IAAI;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,qBAAqB;AACrB,UAAM,MAAM,KAAK,2CAA2C,KAAK,SAAS;AAC1E,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,mBAAmB,MAAM;AACzB,SAAK,2CAA2C,KAAK,WAAW,IAAI;AAAA,EACxE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,wBAAwB;AACxB,UAAM,MAAM,KAAK,8CAA8C,KAAK,SAAS;AAC7E,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,sBAAsB,MAAM;AAC5B,SAAK,8CAA8C,KAAK,WAAW,IAAI;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,gBAAgB;AAChB,UAAM,MAAM,KAAK,sCAAsC,KAAK,SAAS;AACrE,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,cAAc,MAAM;AACpB,SAAK,sCAAsC,KAAK,WAAW,IAAI;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,WAAW;AACX,UAAM,MAAM,KAAK,iCAAiC,KAAK,SAAS;AAChE,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,SAAS,MAAM;AACf,SAAK,iCAAiC,KAAK,WAAW,IAAI;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,sBAAsB;AACtB,UAAM,MAAM,KAAK,4CAA4C,KAAK,SAAS;AAC3E,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,oBAAoB,MAAM;AAC1B,SAAK,4CAA4C,KAAK,WAAW,IAAI;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,mBAAmB;AACnB,UAAM,MAAM,KAAK,yCAAyC,KAAK,SAAS;AACxE,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,iBAAiB,MAAM;AACvB,SAAK,yCAAyC,KAAK,WAAW,IAAI;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,qBAAqB;AACrB,UAAM,MAAM,KAAK,2CAA2C,KAAK,SAAS;AAC1E,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,mBAAmB,MAAM;AACzB,SAAK,2CAA2C,KAAK,WAAW,IAAI;AAAA,EACxE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,mBAAmB;AACnB,UAAM,MAAM,KAAK,yCAAyC,KAAK,SAAS;AACxE,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,iBAAiB,MAAM;AACvB,SAAK,yCAAyC,KAAK,WAAW,IAAI;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,eAAe;AACf,UAAM,MAAM,KAAK,qCAAqC,KAAK,SAAS;AACpE,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,aAAa,MAAM;AACnB,SAAK,qCAAqC,KAAK,WAAW,IAAI;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,eAAe;AACf,UAAM,MAAM,KAAK,qCAAqC,KAAK,SAAS;AACpE,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,aAAa,MAAM;AACnB,SAAK,qCAAqC,KAAK,WAAW,IAAI;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,eAAe;AACf,UAAM,MAAM,KAAK,qCAAqC,KAAK,SAAS;AACpE,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,aAAa,MAAM;AACnB,SAAK,qCAAqC,KAAK,WAAW,IAAI;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,eAAe;AACf,UAAM,MAAM,KAAK,qCAAqC,KAAK,SAAS;AACpE,WAAO,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,aAAa,MAAM;AACnB,SAAK,qCAAqC,KAAK,WAAW,IAAI;AAAA,EAClE;AACJ;AAEA,eAAe,WAAW,QAAQ,SAAS;AACvC,MAAI,OAAO,aAAa,cAAc,kBAAkB,UAAU;AAC9D,QAAI,OAAO,YAAY,yBAAyB,YAAY;AACxD,UAAI;AACA,eAAO,MAAM,YAAY,qBAAqB,QAAQ,OAAO;AAAA,MAEjE,SAAS,GAAG;AACR,YAAI,OAAO,QAAQ,IAAI,cAAc,KAAK,oBAAoB;AAC1D,kBAAQ,KAAK,qMAAqM,CAAC;AAAA,QAEvN,OAAO;AACH,gBAAM;AAAA,QACV;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,QAAQ,MAAM,OAAO,YAAY;AACvC,WAAO,MAAM,YAAY,YAAY,OAAO,OAAO;AAAA,EAEvD,OAAO;AACH,UAAM,WAAW,MAAM,YAAY,YAAY,QAAQ,OAAO;AAE9D,QAAI,oBAAoB,YAAY,UAAU;AAC1C,aAAO,EAAE,UAAU,OAAO;AAAA,IAE9B,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;AAEA,SAAS,oBAAoB;AACzB,QAAM,UAAU,CAAC;AACjB,UAAQ,MAAM,CAAC;AACf,UAAQ,IAAI,uBAAuB,SAAS,MAAM,MAAM;AACpD,UAAM,MAAM,IAAI,MAAM,mBAAmB,MAAM,IAAI,CAAC;AACpD,WAAO,cAAc,GAAG;AAAA,EAC5B;AACA,UAAQ,IAAI,mBAAmB,SAAS,MAAM,MAAM;AAChD,UAAM,IAAI,MAAM,mBAAmB,MAAM,IAAI,CAAC;AAAA,EAClD;AAEA,SAAO;AACX;AAEA,SAAS,kBAAkB,SAAS,QAAQ;AAE5C;AAEA,SAAS,oBAAoB,UAAU,QAAQ;AAC3C,SAAO,SAAS;AAChB,aAAW,yBAAyB;AACpC,0BAAwB;AACxB,4BAA0B;AAI1B,SAAO;AACX;AAwBA,eAAe,WAAW,gBAAgB;AACtC,MAAI,SAAS,OAAW,QAAO;AAG/B,MAAI,OAAO,mBAAmB,eAAe,OAAO,eAAe,cAAc,MAAM,OAAO;AAC9F,KAAC,EAAC,eAAc,IAAI;AAAA;AAEpB,YAAQ,KAAK,2FAA2F;AAExG,MAAI,OAAO,mBAAmB,aAAa;AACvC,qBAAiB,IAAI,IAAI,wBAAwB,YAAY,GAAG;AAAA,EACpE;AACA,QAAM,UAAU,kBAAkB;AAElC,MAAI,OAAO,mBAAmB,YAAa,OAAO,YAAY,cAAc,0BAA0B,WAAa,OAAO,QAAQ,cAAc,0BAA0B,KAAM;AAC5K,qBAAiB,MAAM,cAAc;AAAA,EACzC;AAEA,oBAAkB,OAAO;AAEzB,QAAM,EAAE,UAAU,OAAO,IAAI,MAAM,WAAW,MAAM,gBAAgB,OAAO;AAE3E,SAAO,oBAAoB,UAAU,MAAM;AAC/C;AAGA,IAAO,uBAAQ;;;AC3df,KAAK,YAAY,EAAC,MAAM,OAAM,CAAe;AAC7C,MAAM,qBAAS,CAAC,CAAC;AACjB,KAAK,YAAY,EAAC,MAAM,QAAO,CAAe;AAQ9C,IAAM,WAEF;AAAA,EACA,YAAY;AAChB;AAEA,SAAS,SAAS,EAAC,MAAM,OAAO,OAAM,GAIvB;AACX,QAAM,MAAM,wBAAwB;AACpC,MAAI,QAAQ;AACR,eAAW,OAAO,QAAQ;AACtB,UAAI,OAAO,QAAQ;AACf,YAAI,GAAG,IAAI,OAAO,GAAG;AAAA,MACzB;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,eAAe,MAAM,OAAO,GAAG;AAC1C;AAgBA,KAAK,YAAY,OAAO,UAAmC;AACvD,QAAM,OAAO,MAAM;AACnB,QAAM,UAAU,SAAS,KAAK,IAAI;AAClC,MAAI,SAAS;AACT,QAAI;AACA,YAAM,QAAQ,YAAY,IAAI;AAC9B,YAAM,SAAS,QAAQ,IAAI;AAC3B,YAAM,MAAM,YAAY,IAAI;AAC5B,cAAQ,MAAM,kBAAkB,KAAK,SAAS,SAAS,MAAM,KAAK,IAAI;AACtE,WAAK,YAAY;AAAA,QACb,MAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP,WAAW,KAAK;AAAA,MACpB,CAAC;AAAA,IACL,SAAS,OAAO;AACZ,WAAK,YAAY;AAAA,QACb,MAAM;AAAA,QACN,QAAQ;AAAA,QACR;AAAA,QACA,WAAW,KAAK;AAAA,MACpB,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "objdiff-wasm",
3
- "version": "2.0.0-beta.4",
3
+ "version": "2.0.0-beta.5",
4
4
  "description": "A local diffing tool for decompilation projects.",
5
5
  "author": {
6
6
  "name": "Luke Street",