{"version":3,"sources":["../src/generated/TollingVisionService_pb.js","../src/generated/Health_pb.js","../src/generated/Reflection_pb.js","../src/generated/TollingVisionServiceServiceClientPb.ts","../src/index.ts","../src/generated/HealthServiceClientPb.ts","../src/generated/ReflectionServiceClientPb.ts"],"sourcesContent":["// source: TollingVisionService.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nimport jspb, { Message, BinaryReader, BinaryWriter } from \"google-protobuf\";\nvar goog = jspb;\nvar global =\n  (typeof globalThis !== \"undefined\" && globalThis) ||\n  (typeof window !== \"undefined\" && window) ||\n  (typeof global !== \"undefined\" && global) ||\n  (typeof self !== \"undefined\" && self) ||\n  function () {\n    return this;\n  }.call(null) ||\n  Function(\"return this\")();\n\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Color\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Error\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.ErrorResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.EventRequest\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.EventResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.EventResponse.ResponseCase\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.EventResult\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Image\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.KeyValuePair\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.LicenseService\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Mmr\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.PartialResult\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.PartialResult.ResponseCase\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Plate\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Point\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Quadrilateral\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Region\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.ResultType\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.SearchRequest\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.SearchResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Sign\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.SignType\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Status\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.com.smartcloudsolutions.tollingvision.Vehicle\",\n  null,\n  global\n);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Point = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Point, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Point.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Point\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Region = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.com.smartcloudsolutions.tollingvision.Region.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Region, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Region.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Region\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral = function (\n  opt_data\n) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.Quadrilateral,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Quadrilateral.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Quadrilateral\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Color = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Color, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Color.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Color\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Image = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Image, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Image.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Image\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Plate = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Plate, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Plate.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Plate\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Mmr, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Mmr.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Mmr\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Sign = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Sign, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Sign.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Sign\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.com.smartcloudsolutions.tollingvision.Vehicle.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.Vehicle, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.Vehicle.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.Vehicle\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.KeyValuePair,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.KeyValuePair.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.KeyValuePair\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService = function (\n  opt_data\n) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.LicenseService,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseService.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.LicenseService\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus = function (\n  opt_data\n) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest = function (\n  opt_data\n) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.com.smartcloudsolutions.tollingvision.SearchRequest.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.SearchRequest,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.SearchRequest.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.SearchRequest\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.com.smartcloudsolutions.tollingvision.EventRequest.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.EventRequest,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventRequest.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.EventRequest\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusRequest = function (\n  opt_data\n) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest =\n  function (opt_data) {\n    Message.initialize(this, opt_data, 0, -1, null, null);\n  };\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse = function (\n  opt_data\n) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.ErrorResponse,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.ErrorResponse.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.ErrorResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse = function (\n  opt_data\n) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.com.smartcloudsolutions.tollingvision.SearchResponse.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.SearchResponse,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.SearchResponse.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.SearchResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.com.smartcloudsolutions.tollingvision.EventResult.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(proto.com.smartcloudsolutions.tollingvision.EventResult, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventResult.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.EventResult\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult = function (\n  opt_data\n) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    null,\n    proto.com.smartcloudsolutions.tollingvision.PartialResult.oneofGroups_\n  );\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.PartialResult,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.PartialResult.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.PartialResult\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse = function (\n  opt_data\n) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    null,\n    proto.com.smartcloudsolutions.tollingvision.EventResponse.oneofGroups_\n  );\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.EventResponse,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventResponse.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.EventResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse = function (\n  opt_data\n) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse\n      .repeatedFields_,\n    null\n  );\n};\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse =\n  function (opt_data) {\n    Message.initialize(\n      this,\n      opt_data,\n      0,\n      -1,\n      proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse\n        .repeatedFields_,\n      null\n    );\n  };\ngoog.inherits(\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse,\n  Message\n);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.displayName =\n    \"proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse\";\n}\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Point.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Point.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Point} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Point.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        x: Message.getFloatingPointFieldWithDefault(msg, 1, 0.0),\n        y: Message.getFloatingPointFieldWithDefault(msg, 2, 0.0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Point}\n */\nproto.com.smartcloudsolutions.tollingvision.Point.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.com.smartcloudsolutions.tollingvision.Point();\n  return proto.com.smartcloudsolutions.tollingvision.Point.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Point} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Point}\n */\nproto.com.smartcloudsolutions.tollingvision.Point.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {number} */ (reader.readDouble());\n          msg.setX(value);\n          break;\n        case 2:\n          var value = /** @type {number} */ (reader.readDouble());\n          msg.setY(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Point.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Point.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Point} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Point.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getX();\n    if (f !== 0.0) {\n      writer.writeDouble(1, f);\n    }\n    f = message.getY();\n    if (f !== 0.0) {\n      writer.writeDouble(2, f);\n    }\n  };\n\n/**\n * optional double x = 1;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Point.prototype.getX = function () {\n  return /** @type {number} */ (\n    Message.getFloatingPointFieldWithDefault(this, 1, 0.0)\n  );\n};\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Point} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Point.prototype.setX = function (\n  value\n) {\n  return Message.setProto3FloatField(this, 1, value);\n};\n\n/**\n * optional double y = 2;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Point.prototype.getY = function () {\n  return /** @type {number} */ (\n    Message.getFloatingPointFieldWithDefault(this, 2, 0.0)\n  );\n};\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Point} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Point.prototype.setY = function (\n  value\n) {\n  return Message.setProto3FloatField(this, 2, value);\n};\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.Region.repeatedFields_ = [1];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Region.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Region.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Region} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Region.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        pointList: Message.toObjectList(\n          msg.getPointList(),\n          proto.com.smartcloudsolutions.tollingvision.Point.toObject,\n          includeInstance\n        ),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Region}\n */\nproto.com.smartcloudsolutions.tollingvision.Region.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.Region();\n    return proto.com.smartcloudsolutions.tollingvision.Region.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Region} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Region}\n */\nproto.com.smartcloudsolutions.tollingvision.Region.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Point();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Point\n              .deserializeBinaryFromReader\n          );\n          msg.addPoint(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Region.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Region.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Region} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Region.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getPointList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        1,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Point\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * repeated Point point = 1;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Point>}\n */\nproto.com.smartcloudsolutions.tollingvision.Region.prototype.getPointList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Point>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Point,\n        1\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Point>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Region} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Region.prototype.setPointList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 1, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Point=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Point}\n */\nproto.com.smartcloudsolutions.tollingvision.Region.prototype.addPoint =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      1,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Point,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Region} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Region.prototype.clearPointList =\n  function () {\n    return this.setPointList([]);\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Quadrilateral.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Quadrilateral.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          topLeft:\n            (f = msg.getTopLeft()) &&\n            proto.com.smartcloudsolutions.tollingvision.Point.toObject(\n              includeInstance,\n              f\n            ),\n          topRight:\n            (f = msg.getTopRight()) &&\n            proto.com.smartcloudsolutions.tollingvision.Point.toObject(\n              includeInstance,\n              f\n            ),\n          bottomLeft:\n            (f = msg.getBottomLeft()) &&\n            proto.com.smartcloudsolutions.tollingvision.Point.toObject(\n              includeInstance,\n              f\n            ),\n          bottomRight:\n            (f = msg.getBottomRight()) &&\n            proto.com.smartcloudsolutions.tollingvision.Point.toObject(\n              includeInstance,\n              f\n            ),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.Quadrilateral();\n    return proto.com.smartcloudsolutions.tollingvision.Quadrilateral.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Point();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Point\n              .deserializeBinaryFromReader\n          );\n          msg.setTopLeft(value);\n          break;\n        case 2:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Point();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Point\n              .deserializeBinaryFromReader\n          );\n          msg.setTopRight(value);\n          break;\n        case 3:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Point();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Point\n              .deserializeBinaryFromReader\n          );\n          msg.setBottomLeft(value);\n          break;\n        case 4:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Point();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Point\n              .deserializeBinaryFromReader\n          );\n          msg.setBottomRight(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Quadrilateral.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getTopLeft();\n    if (f != null) {\n      writer.writeMessage(\n        1,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Point\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getTopRight();\n    if (f != null) {\n      writer.writeMessage(\n        2,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Point\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getBottomLeft();\n    if (f != null) {\n      writer.writeMessage(\n        3,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Point\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getBottomRight();\n    if (f != null) {\n      writer.writeMessage(\n        4,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Point\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional Point top_left = 1;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Point}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.getTopLeft =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Point} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Point,\n        1\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Point|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.setTopLeft =\n  function (value) {\n    return Message.setWrapperField(this, 1, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.clearTopLeft =\n  function () {\n    return this.setTopLeft(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.hasTopLeft =\n  function () {\n    return Message.getField(this, 1) != null;\n  };\n\n/**\n * optional Point top_right = 2;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Point}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.getTopRight =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Point} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Point,\n        2\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Point|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.setTopRight =\n  function (value) {\n    return Message.setWrapperField(this, 2, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.clearTopRight =\n  function () {\n    return this.setTopRight(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.hasTopRight =\n  function () {\n    return Message.getField(this, 2) != null;\n  };\n\n/**\n * optional Point bottom_left = 3;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Point}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.getBottomLeft =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Point} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Point,\n        3\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Point|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.setBottomLeft =\n  function (value) {\n    return Message.setWrapperField(this, 3, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.clearBottomLeft =\n  function () {\n    return this.setBottomLeft(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.hasBottomLeft =\n  function () {\n    return Message.getField(this, 3) != null;\n  };\n\n/**\n * optional Point bottom_right = 4;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Point}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.getBottomRight =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Point} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Point,\n        4\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Point|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.setBottomRight =\n  function (value) {\n    return Message.setWrapperField(this, 4, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Quadrilateral} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.clearBottomRight =\n  function () {\n    return this.setBottomRight(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Quadrilateral.prototype.hasBottomRight =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Color.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Color.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Color} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Color.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        red: Message.getFieldWithDefault(msg, 1, 0),\n        green: Message.getFieldWithDefault(msg, 2, 0),\n        blue: Message.getFieldWithDefault(msg, 3, 0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Color}\n */\nproto.com.smartcloudsolutions.tollingvision.Color.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.com.smartcloudsolutions.tollingvision.Color();\n  return proto.com.smartcloudsolutions.tollingvision.Color.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Color} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Color}\n */\nproto.com.smartcloudsolutions.tollingvision.Color.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setRed(value);\n          break;\n        case 2:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setGreen(value);\n          break;\n        case 3:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setBlue(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Color.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Color.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Color} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Color.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getRed();\n    if (f !== 0) {\n      writer.writeUint32(1, f);\n    }\n    f = message.getGreen();\n    if (f !== 0) {\n      writer.writeUint32(2, f);\n    }\n    f = message.getBlue();\n    if (f !== 0) {\n      writer.writeUint32(3, f);\n    }\n  };\n\n/**\n * optional uint32 red = 1;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Color.prototype.getRed =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 1, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Color} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Color.prototype.setRed = function (\n  value\n) {\n  return Message.setProto3IntField(this, 1, value);\n};\n\n/**\n * optional uint32 green = 2;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Color.prototype.getGreen =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 2, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Color} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Color.prototype.setGreen =\n  function (value) {\n    return Message.setProto3IntField(this, 2, value);\n  };\n\n/**\n * optional uint32 blue = 3;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Color.prototype.getBlue =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 3, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Color} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Color.prototype.setBlue = function (\n  value\n) {\n  return Message.setProto3IntField(this, 3, value);\n};\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Image.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Image.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Image} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Image.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        data: msg.getData_asB64(),\n        name: Message.getFieldWithDefault(msg, 2, \"\"),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Image}\n */\nproto.com.smartcloudsolutions.tollingvision.Image.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.com.smartcloudsolutions.tollingvision.Image();\n  return proto.com.smartcloudsolutions.tollingvision.Image.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Image} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Image}\n */\nproto.com.smartcloudsolutions.tollingvision.Image.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {!Uint8Array} */ (reader.readBytes());\n          msg.setData(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setName(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Image.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Image.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Image} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Image.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getData_asU8();\n    if (f.length > 0) {\n      writer.writeBytes(1, f);\n    }\n    f = message.getName();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n  };\n\n/**\n * optional bytes data = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Image.prototype.getData =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * optional bytes data = 1;\n * This is a type-conversion wrapper around `getData()`\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Image.prototype.getData_asB64 =\n  function () {\n    return /** @type {string} */ (Message.bytesAsB64(this.getData()));\n  };\n\n/**\n * optional bytes data = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getData()`\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Image.prototype.getData_asU8 =\n  function () {\n    return /** @type {!Uint8Array} */ (Message.bytesAsU8(this.getData()));\n  };\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Image} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Image.prototype.setData = function (\n  value\n) {\n  return Message.setProto3BytesField(this, 1, value);\n};\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Image.prototype.getName =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Image} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Image.prototype.setName = function (\n  value\n) {\n  return Message.setProto3StringField(this, 2, value);\n};\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Plate.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Plate.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Plate} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Plate.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        text: Message.getFieldWithDefault(msg, 1, \"\"),\n        country: Message.getFieldWithDefault(msg, 2, \"\"),\n        state: Message.getFieldWithDefault(msg, 3, \"\"),\n        category: Message.getFieldWithDefault(msg, 4, \"\"),\n        confidence: Message.getFieldWithDefault(msg, 5, 0),\n        position:\n          (f = msg.getPosition()) &&\n          proto.com.smartcloudsolutions.tollingvision.Quadrilateral.toObject(\n            includeInstance,\n            f\n          ),\n        width: Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),\n        height: Message.getFloatingPointFieldWithDefault(msg, 8, 0.0),\n        processingTime: Message.getFieldWithDefault(msg, 9, 0),\n        separatedText: Message.getFieldWithDefault(msg, 10, \"\"),\n        plateTypeConfidence: Message.getFieldWithDefault(msg, 11, 0),\n        textConfidence: Message.getFieldWithDefault(msg, 12, 0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.com.smartcloudsolutions.tollingvision.Plate();\n  return proto.com.smartcloudsolutions.tollingvision.Plate.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Plate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setText(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setCountry(value);\n          break;\n        case 3:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setState(value);\n          break;\n        case 4:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setCategory(value);\n          break;\n        case 5:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setConfidence(value);\n          break;\n        case 6:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.Quadrilateral();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Quadrilateral\n              .deserializeBinaryFromReader\n          );\n          msg.setPosition(value);\n          break;\n        case 7:\n          var value = /** @type {number} */ (reader.readFloat());\n          msg.setWidth(value);\n          break;\n        case 8:\n          var value = /** @type {number} */ (reader.readFloat());\n          msg.setHeight(value);\n          break;\n        case 9:\n          var value = /** @type {number} */ (reader.readUint64());\n          msg.setProcessingTime(value);\n          break;\n        case 10:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setSeparatedText(value);\n          break;\n        case 11:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setPlateTypeConfidence(value);\n          break;\n        case 12:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setTextConfidence(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Plate.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Plate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getText();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getCountry();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n    f = message.getState();\n    if (f.length > 0) {\n      writer.writeString(3, f);\n    }\n    f = message.getCategory();\n    if (f.length > 0) {\n      writer.writeString(4, f);\n    }\n    f = message.getConfidence();\n    if (f !== 0) {\n      writer.writeUint32(5, f);\n    }\n    f = message.getPosition();\n    if (f != null) {\n      writer.writeMessage(\n        6,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Quadrilateral\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getWidth();\n    if (f !== 0.0) {\n      writer.writeFloat(7, f);\n    }\n    f = message.getHeight();\n    if (f !== 0.0) {\n      writer.writeFloat(8, f);\n    }\n    f = message.getProcessingTime();\n    if (f !== 0) {\n      writer.writeUint64(9, f);\n    }\n    f = message.getSeparatedText();\n    if (f.length > 0) {\n      writer.writeString(10, f);\n    }\n    f = message.getPlateTypeConfidence();\n    if (f !== 0) {\n      writer.writeUint32(11, f);\n    }\n    f = message.getTextConfidence();\n    if (f !== 0) {\n      writer.writeUint32(12, f);\n    }\n  };\n\n/**\n * optional string text = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getText =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setText = function (\n  value\n) {\n  return Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional string country = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getCountry =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setCountry =\n  function (value) {\n    return Message.setProto3StringField(this, 2, value);\n  };\n\n/**\n * optional string state = 3;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getState =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 3, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setState =\n  function (value) {\n    return Message.setProto3StringField(this, 3, value);\n  };\n\n/**\n * optional string category = 4;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getCategory =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 4, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setCategory =\n  function (value) {\n    return Message.setProto3StringField(this, 4, value);\n  };\n\n/**\n * optional uint32 confidence = 5;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 5, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 5, value);\n  };\n\n/**\n * optional Quadrilateral position = 6;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Quadrilateral}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getPosition =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Quadrilateral} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Quadrilateral,\n        6\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Quadrilateral|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setPosition =\n  function (value) {\n    return Message.setWrapperField(this, 6, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.clearPosition =\n  function () {\n    return this.setPosition(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.hasPosition =\n  function () {\n    return Message.getField(this, 6) != null;\n  };\n\n/**\n * optional float width = 7;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getWidth =\n  function () {\n    return /** @type {number} */ (\n      Message.getFloatingPointFieldWithDefault(this, 7, 0.0)\n    );\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setWidth =\n  function (value) {\n    return Message.setProto3FloatField(this, 7, value);\n  };\n\n/**\n * optional float height = 8;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getHeight =\n  function () {\n    return /** @type {number} */ (\n      Message.getFloatingPointFieldWithDefault(this, 8, 0.0)\n    );\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setHeight =\n  function (value) {\n    return Message.setProto3FloatField(this, 8, value);\n  };\n\n/**\n * optional uint64 processing_time = 9;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getProcessingTime =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 9, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setProcessingTime =\n  function (value) {\n    return Message.setProto3IntField(this, 9, value);\n  };\n\n/**\n * optional string separated_text = 10;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getSeparatedText =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 10, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setSeparatedText =\n  function (value) {\n    return Message.setProto3StringField(this, 10, value);\n  };\n\n/**\n * optional uint32 plate_type_confidence = 11;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getPlateTypeConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 11, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setPlateTypeConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 11, value);\n  };\n\n/**\n * optional uint32 text_confidence = 12;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.getTextConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 12, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Plate.prototype.setTextConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 12, value);\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Mmr.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Mmr.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Mmr} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Mmr.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        make: Message.getFieldWithDefault(msg, 1, \"\"),\n        model: Message.getFieldWithDefault(msg, 2, \"\"),\n        generation: Message.getFieldWithDefault(msg, 3, \"\"),\n        color:\n          (f = msg.getColor()) &&\n          proto.com.smartcloudsolutions.tollingvision.Color.toObject(\n            includeInstance,\n            f\n          ),\n        colorName: Message.getFieldWithDefault(msg, 5, \"\"),\n        standardColorName: Message.getFieldWithDefault(msg, 6, \"\"),\n        category: Message.getFieldWithDefault(msg, 7, \"\"),\n        bodyType: Message.getFieldWithDefault(msg, 8, \"\"),\n        viewPoint: Message.getFieldWithDefault(msg, 9, \"\"),\n        makeConfidence: Message.getFieldWithDefault(msg, 10, 0),\n        modelConfidence: Message.getFieldWithDefault(msg, 11, 0),\n        generationConfidence: Message.getFieldWithDefault(msg, 12, 0),\n        colorConfidence: Message.getFieldWithDefault(msg, 13, 0),\n        categoryConfidence: Message.getFieldWithDefault(msg, 14, 0),\n        bodyTypeConfidence: Message.getFieldWithDefault(msg, 15, 0),\n        viewPointConfidence: Message.getFieldWithDefault(msg, 16, 0),\n        processingTime: Message.getFieldWithDefault(msg, 17, 0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.com.smartcloudsolutions.tollingvision.Mmr();\n  return proto.com.smartcloudsolutions.tollingvision.Mmr.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Mmr} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setMake(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setModel(value);\n          break;\n        case 3:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setGeneration(value);\n          break;\n        case 4:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Color();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Color\n              .deserializeBinaryFromReader\n          );\n          msg.setColor(value);\n          break;\n        case 5:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setColorName(value);\n          break;\n        case 6:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setStandardColorName(value);\n          break;\n        case 7:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setCategory(value);\n          break;\n        case 8:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setBodyType(value);\n          break;\n        case 9:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setViewPoint(value);\n          break;\n        case 10:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setMakeConfidence(value);\n          break;\n        case 11:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setModelConfidence(value);\n          break;\n        case 12:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setGenerationConfidence(value);\n          break;\n        case 13:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setColorConfidence(value);\n          break;\n        case 14:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setCategoryConfidence(value);\n          break;\n        case 15:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setBodyTypeConfidence(value);\n          break;\n        case 16:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setViewPointConfidence(value);\n          break;\n        case 17:\n          var value = /** @type {number} */ (reader.readUint64());\n          msg.setProcessingTime(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Mmr.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Mmr} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getMake();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getModel();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n    f = message.getGeneration();\n    if (f.length > 0) {\n      writer.writeString(3, f);\n    }\n    f = message.getColor();\n    if (f != null) {\n      writer.writeMessage(\n        4,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Color\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getColorName();\n    if (f.length > 0) {\n      writer.writeString(5, f);\n    }\n    f = message.getStandardColorName();\n    if (f.length > 0) {\n      writer.writeString(6, f);\n    }\n    f = message.getCategory();\n    if (f.length > 0) {\n      writer.writeString(7, f);\n    }\n    f = message.getBodyType();\n    if (f.length > 0) {\n      writer.writeString(8, f);\n    }\n    f = message.getViewPoint();\n    if (f.length > 0) {\n      writer.writeString(9, f);\n    }\n    f = message.getMakeConfidence();\n    if (f !== 0) {\n      writer.writeUint32(10, f);\n    }\n    f = message.getModelConfidence();\n    if (f !== 0) {\n      writer.writeUint32(11, f);\n    }\n    f = message.getGenerationConfidence();\n    if (f !== 0) {\n      writer.writeUint32(12, f);\n    }\n    f = message.getColorConfidence();\n    if (f !== 0) {\n      writer.writeUint32(13, f);\n    }\n    f = message.getCategoryConfidence();\n    if (f !== 0) {\n      writer.writeUint32(14, f);\n    }\n    f = message.getBodyTypeConfidence();\n    if (f !== 0) {\n      writer.writeUint32(15, f);\n    }\n    f = message.getViewPointConfidence();\n    if (f !== 0) {\n      writer.writeUint32(16, f);\n    }\n    f = message.getProcessingTime();\n    if (f !== 0) {\n      writer.writeUint64(17, f);\n    }\n  };\n\n/**\n * optional string make = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getMake =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setMake = function (\n  value\n) {\n  return Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional string model = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getModel =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setModel = function (\n  value\n) {\n  return Message.setProto3StringField(this, 2, value);\n};\n\n/**\n * optional string generation = 3;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getGeneration =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 3, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setGeneration =\n  function (value) {\n    return Message.setProto3StringField(this, 3, value);\n  };\n\n/**\n * optional Color color = 4;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Color}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getColor =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Color} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Color,\n        4\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Color|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setColor = function (\n  value\n) {\n  return Message.setWrapperField(this, 4, value);\n};\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.clearColor =\n  function () {\n    return this.setColor(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.hasColor =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\n/**\n * optional string color_name = 5;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getColorName =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 5, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setColorName =\n  function (value) {\n    return Message.setProto3StringField(this, 5, value);\n  };\n\n/**\n * optional string standard_color_name = 6;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getStandardColorName =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 6, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setStandardColorName =\n  function (value) {\n    return Message.setProto3StringField(this, 6, value);\n  };\n\n/**\n * optional string category = 7;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getCategory =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 7, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setCategory =\n  function (value) {\n    return Message.setProto3StringField(this, 7, value);\n  };\n\n/**\n * optional string body_type = 8;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getBodyType =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 8, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setBodyType =\n  function (value) {\n    return Message.setProto3StringField(this, 8, value);\n  };\n\n/**\n * optional string view_point = 9;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getViewPoint =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 9, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setViewPoint =\n  function (value) {\n    return Message.setProto3StringField(this, 9, value);\n  };\n\n/**\n * optional uint32 make_confidence = 10;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getMakeConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 10, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setMakeConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 10, value);\n  };\n\n/**\n * optional uint32 model_confidence = 11;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getModelConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 11, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setModelConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 11, value);\n  };\n\n/**\n * optional uint32 generation_confidence = 12;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getGenerationConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 12, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setGenerationConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 12, value);\n  };\n\n/**\n * optional uint32 color_confidence = 13;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getColorConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 13, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setColorConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 13, value);\n  };\n\n/**\n * optional uint32 category_confidence = 14;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getCategoryConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 14, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setCategoryConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 14, value);\n  };\n\n/**\n * optional uint32 body_type_confidence = 15;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getBodyTypeConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 15, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setBodyTypeConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 15, value);\n  };\n\n/**\n * optional uint32 view_point_confidence = 16;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getViewPointConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 16, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setViewPointConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 16, value);\n  };\n\n/**\n * optional uint64 processing_time = 17;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.getProcessingTime =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 17, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Mmr.prototype.setProcessingTime =\n  function (value) {\n    return Message.setProto3IntField(this, 17, value);\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Sign.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Sign.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Sign} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Sign.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        text: Message.getFieldWithDefault(msg, 1, \"\"),\n        type: Message.getFieldWithDefault(msg, 2, 0),\n        confidence: Message.getFieldWithDefault(msg, 3, 0),\n        position:\n          (f = msg.getPosition()) &&\n          proto.com.smartcloudsolutions.tollingvision.Quadrilateral.toObject(\n            includeInstance,\n            f\n          ),\n        width: Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),\n        height: Message.getFloatingPointFieldWithDefault(msg, 6, 0.0),\n        processingTime: Message.getFieldWithDefault(msg, 7, 0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.com.smartcloudsolutions.tollingvision.Sign();\n  return proto.com.smartcloudsolutions.tollingvision.Sign.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Sign} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setText(value);\n          break;\n        case 2:\n          var value =\n            /** @type {!proto.com.smartcloudsolutions.tollingvision.SignType} */ (\n              reader.readEnum()\n            );\n          msg.setType(value);\n          break;\n        case 3:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setConfidence(value);\n          break;\n        case 4:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.Quadrilateral();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Quadrilateral\n              .deserializeBinaryFromReader\n          );\n          msg.setPosition(value);\n          break;\n        case 5:\n          var value = /** @type {number} */ (reader.readFloat());\n          msg.setWidth(value);\n          break;\n        case 6:\n          var value = /** @type {number} */ (reader.readFloat());\n          msg.setHeight(value);\n          break;\n        case 7:\n          var value = /** @type {number} */ (reader.readUint64());\n          msg.setProcessingTime(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Sign.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Sign} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getText();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getType();\n    if (f !== 0.0) {\n      writer.writeEnum(2, f);\n    }\n    f = message.getConfidence();\n    if (f !== 0) {\n      writer.writeUint32(3, f);\n    }\n    f = message.getPosition();\n    if (f != null) {\n      writer.writeMessage(\n        4,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Quadrilateral\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getWidth();\n    if (f !== 0.0) {\n      writer.writeFloat(5, f);\n    }\n    f = message.getHeight();\n    if (f !== 0.0) {\n      writer.writeFloat(6, f);\n    }\n    f = message.getProcessingTime();\n    if (f !== 0) {\n      writer.writeUint64(7, f);\n    }\n  };\n\n/**\n * optional string text = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.getText =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.setText = function (\n  value\n) {\n  return Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional SignType type = 2;\n * @return {!proto.com.smartcloudsolutions.tollingvision.SignType}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.getType =\n  function () {\n    return /** @type {!proto.com.smartcloudsolutions.tollingvision.SignType} */ (\n      Message.getFieldWithDefault(this, 2, 0)\n    );\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.SignType} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.setType = function (\n  value\n) {\n  return Message.setProto3EnumField(this, 2, value);\n};\n\n/**\n * optional uint32 confidence = 3;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.getConfidence =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 3, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.setConfidence =\n  function (value) {\n    return Message.setProto3IntField(this, 3, value);\n  };\n\n/**\n * optional Quadrilateral position = 4;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Quadrilateral}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.getPosition =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Quadrilateral} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Quadrilateral,\n        4\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Quadrilateral|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.setPosition =\n  function (value) {\n    return Message.setWrapperField(this, 4, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.clearPosition =\n  function () {\n    return this.setPosition(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.hasPosition =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\n/**\n * optional float width = 5;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.getWidth =\n  function () {\n    return /** @type {number} */ (\n      Message.getFloatingPointFieldWithDefault(this, 5, 0.0)\n    );\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.setWidth = function (\n  value\n) {\n  return Message.setProto3FloatField(this, 5, value);\n};\n\n/**\n * optional float height = 6;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.getHeight =\n  function () {\n    return /** @type {number} */ (\n      Message.getFloatingPointFieldWithDefault(this, 6, 0.0)\n    );\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.setHeight =\n  function (value) {\n    return Message.setProto3FloatField(this, 6, value);\n  };\n\n/**\n * optional uint64 processing_time = 7;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.getProcessingTime =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 7, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Sign.prototype.setProcessingTime =\n  function (value) {\n    return Message.setProto3IntField(this, 7, value);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.repeatedFields_ = [2, 4];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.Vehicle.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.Vehicle} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.Vehicle.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        plate:\n          (f = msg.getPlate()) &&\n          proto.com.smartcloudsolutions.tollingvision.Plate.toObject(\n            includeInstance,\n            f\n          ),\n        alternativeList: Message.toObjectList(\n          msg.getAlternativeList(),\n          proto.com.smartcloudsolutions.tollingvision.Plate.toObject,\n          includeInstance\n        ),\n        mmr:\n          (f = msg.getMmr()) &&\n          proto.com.smartcloudsolutions.tollingvision.Mmr.toObject(\n            includeInstance,\n            f\n          ),\n        signList: Message.toObjectList(\n          msg.getSignList(),\n          proto.com.smartcloudsolutions.tollingvision.Sign.toObject,\n          includeInstance\n        ),\n        frame:\n          (f = msg.getFrame()) &&\n          proto.com.smartcloudsolutions.tollingvision.Quadrilateral.toObject(\n            includeInstance,\n            f\n          ),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.Vehicle();\n    return proto.com.smartcloudsolutions.tollingvision.Vehicle.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Vehicle} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Plate();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Plate\n              .deserializeBinaryFromReader\n          );\n          msg.setPlate(value);\n          break;\n        case 2:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Plate();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Plate\n              .deserializeBinaryFromReader\n          );\n          msg.addAlternative(value);\n          break;\n        case 3:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Mmr();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Mmr\n              .deserializeBinaryFromReader\n          );\n          msg.setMmr(value);\n          break;\n        case 4:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Sign();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Sign\n              .deserializeBinaryFromReader\n          );\n          msg.addSign(value);\n          break;\n        case 5:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.Quadrilateral();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Quadrilateral\n              .deserializeBinaryFromReader\n          );\n          msg.setFrame(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.Vehicle.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.Vehicle} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getPlate();\n    if (f != null) {\n      writer.writeMessage(\n        1,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Plate\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getAlternativeList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        2,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Plate\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getMmr();\n    if (f != null) {\n      writer.writeMessage(\n        3,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Mmr.serializeBinaryToWriter\n      );\n    }\n    f = message.getSignList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        4,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Sign.serializeBinaryToWriter\n      );\n    }\n    f = message.getFrame();\n    if (f != null) {\n      writer.writeMessage(\n        5,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Quadrilateral\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional Plate plate = 1;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.getPlate =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Plate} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Plate,\n        1\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Plate|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.setPlate =\n  function (value) {\n    return Message.setWrapperField(this, 1, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.clearPlate =\n  function () {\n    return this.setPlate(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.hasPlate =\n  function () {\n    return Message.getField(this, 1) != null;\n  };\n\n/**\n * repeated Plate alternative = 2;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.getAlternativeList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Plate,\n        2\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.setAlternativeList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 2, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Plate=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.addAlternative =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      2,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Plate,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.clearAlternativeList =\n  function () {\n    return this.setAlternativeList([]);\n  };\n\n/**\n * optional Mmr mmr = 3;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Mmr}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.getMmr =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Mmr} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Mmr,\n        3\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Mmr|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.setMmr =\n  function (value) {\n    return Message.setWrapperField(this, 3, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.clearMmr =\n  function () {\n    return this.setMmr(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.hasMmr =\n  function () {\n    return Message.getField(this, 3) != null;\n  };\n\n/**\n * repeated Sign sign = 4;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Sign>}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.getSignList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Sign>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Sign,\n        4\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Sign>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.setSignList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 4, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Sign=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.addSign =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      4,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Sign,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.clearSignList =\n  function () {\n    return this.setSignList([]);\n  };\n\n/**\n * optional Quadrilateral frame = 5;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Quadrilateral}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.getFrame =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Quadrilateral} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Quadrilateral,\n        5\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Quadrilateral|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.setFrame =\n  function (value) {\n    return Message.setWrapperField(this, 5, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.clearFrame =\n  function () {\n    return this.setFrame(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.Vehicle.prototype.hasFrame =\n  function () {\n    return Message.getField(this, 5) != null;\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.KeyValuePair.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.KeyValuePair.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.KeyValuePair.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        key: Message.getFieldWithDefault(msg, 1, \"\"),\n        value: Message.getFieldWithDefault(msg, 2, \"\"),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair}\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.KeyValuePair();\n    return proto.com.smartcloudsolutions.tollingvision.KeyValuePair.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair}\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setKey(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setValue(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.KeyValuePair.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getKey();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getValue();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n  };\n\n/**\n * optional string key = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.prototype.getKey =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.prototype.setKey =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional string value = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.prototype.getValue =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.KeyValuePair.prototype.setValue =\n  function (value) {\n    return Message.setProto3StringField(this, 2, value);\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseService.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.LicenseService.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseService} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseService.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          name: Message.getFieldWithDefault(msg, 1, \"\"),\n          address: Message.getFieldWithDefault(msg, 2, \"\"),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseService}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.LicenseService();\n    return proto.com.smartcloudsolutions.tollingvision.LicenseService.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseService} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseService}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setName(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setAddress(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.LicenseService.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseService} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getName();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getAddress();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n  };\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.prototype.getName =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseService} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.prototype.setName =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional string address = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.prototype.getAddress =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseService} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseService.prototype.setAddress =\n  function (value) {\n    return Message.setProto3StringField(this, 2, value);\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          service:\n            (f = msg.getService()) &&\n            proto.com.smartcloudsolutions.tollingvision.LicenseService.toObject(\n              includeInstance,\n              f\n            ),\n          lastError: Message.getFieldWithDefault(msg, 2, \"\"),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg =\n      new proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus();\n    return proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.LicenseService();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.LicenseService\n              .deserializeBinaryFromReader\n          );\n          msg.setService(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setLastError(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getService();\n    if (f != null) {\n      writer.writeMessage(\n        1,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.LicenseService\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getLastError();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n  };\n\n/**\n * optional LicenseService service = 1;\n * @return {?proto.com.smartcloudsolutions.tollingvision.LicenseService}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.getService =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.LicenseService} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.LicenseService,\n        1\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.LicenseService|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.setService =\n  function (value) {\n    return Message.setWrapperField(this, 1, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.clearService =\n  function () {\n    return this.setService(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.hasService =\n  function () {\n    return Message.getField(this, 1) != null;\n  };\n\n/**\n * optional string last_error = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.getLastError =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus.prototype.setLastError =\n  function (value) {\n    return Message.setProto3StringField(this, 2, value);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.repeatedFields_ = [\n  12,\n];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.SearchRequest.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.SearchRequest.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          plateRecognition:\n            (f = Message.getBooleanField(msg, 1)) == null ? undefined : f,\n          makeAndModelRecognition: Message.getBooleanFieldWithDefault(\n            msg,\n            2,\n            false\n          ),\n          signRecognition: Message.getBooleanFieldWithDefault(msg, 3, false),\n          internationalRecognition: Message.getBooleanFieldWithDefault(\n            msg,\n            4,\n            false\n          ),\n          resampling:\n            (f = Message.getBooleanField(msg, 5)) == null ? undefined : f,\n          resultsWithoutPlateType: Message.getBooleanFieldWithDefault(\n            msg,\n            6,\n            false\n          ),\n          location: Message.getFieldWithDefault(msg, 7, \"\"),\n          image:\n            (f = msg.getImage()) &&\n            proto.com.smartcloudsolutions.tollingvision.Image.toObject(\n              includeInstance,\n              f\n            ),\n          maxSearch: Message.getFieldWithDefault(msg, 9, 0),\n          maxRotation: Message.getFieldWithDefault(msg, 10, 0),\n          maxCharacterSize: Message.getFieldWithDefault(msg, 11, 0),\n          regionList: Message.toObjectList(\n            msg.getRegionList(),\n            proto.com.smartcloudsolutions.tollingvision.Region.toObject,\n            includeInstance\n          ),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.SearchRequest();\n    return proto.com.smartcloudsolutions.tollingvision.SearchRequest.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setPlateRecognition(value);\n          break;\n        case 2:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setMakeAndModelRecognition(value);\n          break;\n        case 3:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setSignRecognition(value);\n          break;\n        case 4:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setInternationalRecognition(value);\n          break;\n        case 5:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setResampling(value);\n          break;\n        case 6:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setResultsWithoutPlateType(value);\n          break;\n        case 7:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setLocation(value);\n          break;\n        case 8:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Image();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Image\n              .deserializeBinaryFromReader\n          );\n          msg.setImage(value);\n          break;\n        case 9:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setMaxSearch(value);\n          break;\n        case 10:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setMaxRotation(value);\n          break;\n        case 11:\n          var value = /** @type {number} */ (reader.readSint32());\n          msg.setMaxCharacterSize(value);\n          break;\n        case 12:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Region();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Region\n              .deserializeBinaryFromReader\n          );\n          msg.addRegion(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.SearchRequest.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = /** @type {boolean} */ (Message.getField(message, 1));\n    if (f != null) {\n      writer.writeBool(1, f);\n    }\n    f = message.getMakeAndModelRecognition();\n    if (f) {\n      writer.writeBool(2, f);\n    }\n    f = message.getSignRecognition();\n    if (f) {\n      writer.writeBool(3, f);\n    }\n    f = message.getInternationalRecognition();\n    if (f) {\n      writer.writeBool(4, f);\n    }\n    f = /** @type {boolean} */ (Message.getField(message, 5));\n    if (f != null) {\n      writer.writeBool(5, f);\n    }\n    f = message.getResultsWithoutPlateType();\n    if (f) {\n      writer.writeBool(6, f);\n    }\n    f = message.getLocation();\n    if (f.length > 0) {\n      writer.writeString(7, f);\n    }\n    f = message.getImage();\n    if (f != null) {\n      writer.writeMessage(\n        8,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Image\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getMaxSearch();\n    if (f !== 0) {\n      writer.writeUint32(9, f);\n    }\n    f = message.getMaxRotation();\n    if (f !== 0) {\n      writer.writeUint32(10, f);\n    }\n    f = message.getMaxCharacterSize();\n    if (f !== 0) {\n      writer.writeSint32(11, f);\n    }\n    f = message.getRegionList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        12,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Region\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional bool plate_recognition = 1;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getPlateRecognition =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 1, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setPlateRecognition =\n  function (value) {\n    return Message.setField(this, 1, value);\n  };\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.clearPlateRecognition =\n  function () {\n    return Message.setField(this, 1, undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.hasPlateRecognition =\n  function () {\n    return Message.getField(this, 1) != null;\n  };\n\n/**\n * optional bool make_and_model_recognition = 2;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getMakeAndModelRecognition =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 2, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setMakeAndModelRecognition =\n  function (value) {\n    return Message.setProto3BooleanField(this, 2, value);\n  };\n\n/**\n * optional bool sign_recognition = 3;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getSignRecognition =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 3, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setSignRecognition =\n  function (value) {\n    return Message.setProto3BooleanField(this, 3, value);\n  };\n\n/**\n * optional bool international_recognition = 4;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getInternationalRecognition =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 4, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setInternationalRecognition =\n  function (value) {\n    return Message.setProto3BooleanField(this, 4, value);\n  };\n\n/**\n * optional bool resampling = 5;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getResampling =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 5, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setResampling =\n  function (value) {\n    return Message.setField(this, 5, value);\n  };\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.clearResampling =\n  function () {\n    return Message.setField(this, 5, undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.hasResampling =\n  function () {\n    return Message.getField(this, 5) != null;\n  };\n\n/**\n * optional bool results_without_plate_type = 6;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getResultsWithoutPlateType =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 6, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setResultsWithoutPlateType =\n  function (value) {\n    return Message.setProto3BooleanField(this, 6, value);\n  };\n\n/**\n * optional string location = 7;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getLocation =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 7, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setLocation =\n  function (value) {\n    return Message.setProto3StringField(this, 7, value);\n  };\n\n/**\n * optional Image image = 8;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Image}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getImage =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Image} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Image,\n        8\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Image|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setImage =\n  function (value) {\n    return Message.setWrapperField(this, 8, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.clearImage =\n  function () {\n    return this.setImage(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.hasImage =\n  function () {\n    return Message.getField(this, 8) != null;\n  };\n\n/**\n * optional uint32 max_search = 9;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getMaxSearch =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 9, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setMaxSearch =\n  function (value) {\n    return Message.setProto3IntField(this, 9, value);\n  };\n\n/**\n * optional uint32 max_rotation = 10;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getMaxRotation =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 10, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setMaxRotation =\n  function (value) {\n    return Message.setProto3IntField(this, 10, value);\n  };\n\n/**\n * optional sint32 max_character_size = 11;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getMaxCharacterSize =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 11, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setMaxCharacterSize =\n  function (value) {\n    return Message.setProto3IntField(this, 11, value);\n  };\n\n/**\n * repeated Region region = 12;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Region>}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.getRegionList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Region>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Region,\n        12\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Region>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.setRegionList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 12, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Region=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Region}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.addRegion =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      12,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Region,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchRequest.prototype.clearRegionList =\n  function () {\n    return this.setRegionList([]);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.repeatedFields_ = [\n  6, 7, 8, 12,\n];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.EventRequest.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.EventRequest} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventRequest.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        signRecognition: Message.getBooleanFieldWithDefault(msg, 1, false),\n        internationalRecognition: Message.getBooleanFieldWithDefault(\n          msg,\n          2,\n          false\n        ),\n        resampling:\n          (f = Message.getBooleanField(msg, 3)) == null ? undefined : f,\n        resultsWithoutPlateType: Message.getBooleanFieldWithDefault(\n          msg,\n          4,\n          false\n        ),\n        location: Message.getFieldWithDefault(msg, 5, \"\"),\n        frontImageList: Message.toObjectList(\n          msg.getFrontImageList(),\n          proto.com.smartcloudsolutions.tollingvision.Image.toObject,\n          includeInstance\n        ),\n        rearImageList: Message.toObjectList(\n          msg.getRearImageList(),\n          proto.com.smartcloudsolutions.tollingvision.Image.toObject,\n          includeInstance\n        ),\n        overviewImageList: Message.toObjectList(\n          msg.getOverviewImageList(),\n          proto.com.smartcloudsolutions.tollingvision.Image.toObject,\n          includeInstance\n        ),\n        maxSearch: Message.getFieldWithDefault(msg, 9, 0),\n        maxRotation: Message.getFieldWithDefault(msg, 10, 0),\n        maxCharacterSize: Message.getFieldWithDefault(msg, 11, 0),\n        regionList: Message.toObjectList(\n          msg.getRegionList(),\n          proto.com.smartcloudsolutions.tollingvision.Region.toObject,\n          includeInstance\n        ),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.EventRequest();\n    return proto.com.smartcloudsolutions.tollingvision.EventRequest.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.EventRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setSignRecognition(value);\n          break;\n        case 2:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setInternationalRecognition(value);\n          break;\n        case 3:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setResampling(value);\n          break;\n        case 4:\n          var value = /** @type {boolean} */ (reader.readBool());\n          msg.setResultsWithoutPlateType(value);\n          break;\n        case 5:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setLocation(value);\n          break;\n        case 6:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Image();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Image\n              .deserializeBinaryFromReader\n          );\n          msg.addFrontImage(value);\n          break;\n        case 7:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Image();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Image\n              .deserializeBinaryFromReader\n          );\n          msg.addRearImage(value);\n          break;\n        case 8:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Image();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Image\n              .deserializeBinaryFromReader\n          );\n          msg.addOverviewImage(value);\n          break;\n        case 9:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setMaxSearch(value);\n          break;\n        case 10:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setMaxRotation(value);\n          break;\n        case 11:\n          var value = /** @type {number} */ (reader.readSint32());\n          msg.setMaxCharacterSize(value);\n          break;\n        case 12:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Region();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Region\n              .deserializeBinaryFromReader\n          );\n          msg.addRegion(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.EventRequest.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.EventRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getSignRecognition();\n    if (f) {\n      writer.writeBool(1, f);\n    }\n    f = message.getInternationalRecognition();\n    if (f) {\n      writer.writeBool(2, f);\n    }\n    f = /** @type {boolean} */ (Message.getField(message, 3));\n    if (f != null) {\n      writer.writeBool(3, f);\n    }\n    f = message.getResultsWithoutPlateType();\n    if (f) {\n      writer.writeBool(4, f);\n    }\n    f = message.getLocation();\n    if (f.length > 0) {\n      writer.writeString(5, f);\n    }\n    f = message.getFrontImageList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        6,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Image\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getRearImageList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        7,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Image\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getOverviewImageList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        8,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Image\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getMaxSearch();\n    if (f !== 0) {\n      writer.writeUint32(9, f);\n    }\n    f = message.getMaxRotation();\n    if (f !== 0) {\n      writer.writeUint32(10, f);\n    }\n    f = message.getMaxCharacterSize();\n    if (f !== 0) {\n      writer.writeSint32(11, f);\n    }\n    f = message.getRegionList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        12,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Region\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional bool sign_recognition = 1;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getSignRecognition =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 1, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setSignRecognition =\n  function (value) {\n    return Message.setProto3BooleanField(this, 1, value);\n  };\n\n/**\n * optional bool international_recognition = 2;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getInternationalRecognition =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 2, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setInternationalRecognition =\n  function (value) {\n    return Message.setProto3BooleanField(this, 2, value);\n  };\n\n/**\n * optional bool resampling = 3;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getResampling =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 3, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setResampling =\n  function (value) {\n    return Message.setField(this, 3, value);\n  };\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.clearResampling =\n  function () {\n    return Message.setField(this, 3, undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.hasResampling =\n  function () {\n    return Message.getField(this, 3) != null;\n  };\n\n/**\n * optional bool results_without_plate_type = 4;\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getResultsWithoutPlateType =\n  function () {\n    return /** @type {boolean} */ (\n      Message.getBooleanFieldWithDefault(this, 4, false)\n    );\n  };\n\n/**\n * @param {boolean} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setResultsWithoutPlateType =\n  function (value) {\n    return Message.setProto3BooleanField(this, 4, value);\n  };\n\n/**\n * optional string location = 5;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getLocation =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 5, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setLocation =\n  function (value) {\n    return Message.setProto3StringField(this, 5, value);\n  };\n\n/**\n * repeated Image front_image = 6;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Image>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getFrontImageList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Image>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Image,\n        6\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Image>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setFrontImageList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 6, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Image=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Image}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.addFrontImage =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      6,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Image,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.clearFrontImageList =\n  function () {\n    return this.setFrontImageList([]);\n  };\n\n/**\n * repeated Image rear_image = 7;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Image>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getRearImageList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Image>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Image,\n        7\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Image>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setRearImageList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 7, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Image=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Image}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.addRearImage =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      7,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Image,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.clearRearImageList =\n  function () {\n    return this.setRearImageList([]);\n  };\n\n/**\n * repeated Image overview_image = 8;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Image>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getOverviewImageList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Image>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Image,\n        8\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Image>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setOverviewImageList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 8, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Image=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Image}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.addOverviewImage =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      8,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Image,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.clearOverviewImageList =\n  function () {\n    return this.setOverviewImageList([]);\n  };\n\n/**\n * optional uint32 max_search = 9;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getMaxSearch =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 9, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setMaxSearch =\n  function (value) {\n    return Message.setProto3IntField(this, 9, value);\n  };\n\n/**\n * optional uint32 max_rotation = 10;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getMaxRotation =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 10, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setMaxRotation =\n  function (value) {\n    return Message.setProto3IntField(this, 10, value);\n  };\n\n/**\n * optional sint32 max_character_size = 11;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getMaxCharacterSize =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 11, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setMaxCharacterSize =\n  function (value) {\n    return Message.setProto3IntField(this, 11, value);\n  };\n\n/**\n * repeated Region region = 12;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Region>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.getRegionList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Region>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Region,\n        12\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Region>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.setRegionList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 12, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Region=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Region}\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.addRegion =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      12,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Region,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventRequest} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventRequest.prototype.clearRegionList =\n  function () {\n    return this.setRegionList([]);\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {};\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg =\n      new proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest();\n    return proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.ServerStatusRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusRequest.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {};\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg =\n      new proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest();\n    return proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusRequest.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.ErrorResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.ErrorResponse.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          requestId: Message.getFieldWithDefault(msg, 1, \"\"),\n          code: Message.getFieldWithDefault(msg, 2, 0),\n          node: Message.getFieldWithDefault(msg, 3, \"\"),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.ErrorResponse();\n    return proto.com.smartcloudsolutions.tollingvision.ErrorResponse.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setRequestId(value);\n          break;\n        case 2:\n          var value =\n            /** @type {!proto.com.smartcloudsolutions.tollingvision.Error} */ (\n              reader.readEnum()\n            );\n          msg.setCode(value);\n          break;\n        case 3:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setNode(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.ErrorResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getRequestId();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getCode();\n    if (f !== 0.0) {\n      writer.writeEnum(2, f);\n    }\n    f = message.getNode();\n    if (f.length > 0) {\n      writer.writeString(3, f);\n    }\n  };\n\n/**\n * optional string request_id = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.getRequestId =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.setRequestId =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional Error code = 2;\n * @return {!proto.com.smartcloudsolutions.tollingvision.Error}\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.getCode =\n  function () {\n    return /** @type {!proto.com.smartcloudsolutions.tollingvision.Error} */ (\n      Message.getFieldWithDefault(this, 2, 0)\n    );\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Error} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.setCode =\n  function (value) {\n    return Message.setProto3EnumField(this, 2, value);\n  };\n\n/**\n * optional string node = 3;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.getNode =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 3, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.ErrorResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.ErrorResponse.prototype.setNode =\n  function (value) {\n    return Message.setProto3StringField(this, 3, value);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.repeatedFields_ = [\n  7,\n];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.SearchResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.SearchResponse.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          requestId: Message.getFieldWithDefault(msg, 1, \"\"),\n          node: Message.getFieldWithDefault(msg, 2, \"\"),\n          status: Message.getFieldWithDefault(msg, 3, 0),\n          queueingTime: Message.getFieldWithDefault(msg, 4, 0),\n          recognitionTime: Message.getFieldWithDefault(msg, 5, 0),\n          inputImageOrientation: Message.getFieldWithDefault(msg, 6, 0),\n          resultList: Message.toObjectList(\n            msg.getResultList(),\n            proto.com.smartcloudsolutions.tollingvision.Vehicle.toObject,\n            includeInstance\n          ),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.SearchResponse();\n    return proto.com.smartcloudsolutions.tollingvision.SearchResponse.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setRequestId(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setNode(value);\n          break;\n        case 3:\n          var value =\n            /** @type {!proto.com.smartcloudsolutions.tollingvision.Status} */ (\n              reader.readEnum()\n            );\n          msg.setStatus(value);\n          break;\n        case 4:\n          var value = /** @type {number} */ (reader.readUint64());\n          msg.setQueueingTime(value);\n          break;\n        case 5:\n          var value = /** @type {number} */ (reader.readUint64());\n          msg.setRecognitionTime(value);\n          break;\n        case 6:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setInputImageOrientation(value);\n          break;\n        case 7:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Vehicle();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Vehicle\n              .deserializeBinaryFromReader\n          );\n          msg.addResult(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.SearchResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getRequestId();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getNode();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n    f = message.getStatus();\n    if (f !== 0.0) {\n      writer.writeEnum(3, f);\n    }\n    f = message.getQueueingTime();\n    if (f !== 0) {\n      writer.writeUint64(4, f);\n    }\n    f = message.getRecognitionTime();\n    if (f !== 0) {\n      writer.writeUint64(5, f);\n    }\n    f = message.getInputImageOrientation();\n    if (f !== 0) {\n      writer.writeUint32(6, f);\n    }\n    f = message.getResultList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        7,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Vehicle\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional string request_id = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.getRequestId =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.setRequestId =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional string node = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.getNode =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.setNode =\n  function (value) {\n    return Message.setProto3StringField(this, 2, value);\n  };\n\n/**\n * optional Status status = 3;\n * @return {!proto.com.smartcloudsolutions.tollingvision.Status}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.getStatus =\n  function () {\n    return /** @type {!proto.com.smartcloudsolutions.tollingvision.Status} */ (\n      Message.getFieldWithDefault(this, 3, 0)\n    );\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Status} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.setStatus =\n  function (value) {\n    return Message.setProto3EnumField(this, 3, value);\n  };\n\n/**\n * optional uint64 queueing_time = 4;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.getQueueingTime =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 4, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.setQueueingTime =\n  function (value) {\n    return Message.setProto3IntField(this, 4, value);\n  };\n\n/**\n * optional uint64 recognition_time = 5;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.getRecognitionTime =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 5, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.setRecognitionTime =\n  function (value) {\n    return Message.setProto3IntField(this, 5, value);\n  };\n\n/**\n * optional uint32 input_image_orientation = 6;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.getInputImageOrientation =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 6, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.setInputImageOrientation =\n  function (value) {\n    return Message.setProto3IntField(this, 6, value);\n  };\n\n/**\n * repeated Vehicle result = 7;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Vehicle>}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.getResultList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Vehicle>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Vehicle,\n        7\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Vehicle>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.setResultList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 7, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Vehicle=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Vehicle}\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.addResult =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      7,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Vehicle,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.SearchResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.SearchResponse.prototype.clearResultList =\n  function () {\n    return this.setResultList([]);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.repeatedFields_ = [\n  3, 5, 7, 8,\n];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventResult.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.EventResult.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.EventResult} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventResult.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        node: Message.getFieldWithDefault(msg, 1, \"\"),\n        frontPlate:\n          (f = msg.getFrontPlate()) &&\n          proto.com.smartcloudsolutions.tollingvision.Plate.toObject(\n            includeInstance,\n            f\n          ),\n        frontPlateAlternativeList: Message.toObjectList(\n          msg.getFrontPlateAlternativeList(),\n          proto.com.smartcloudsolutions.tollingvision.Plate.toObject,\n          includeInstance\n        ),\n        rearPlate:\n          (f = msg.getRearPlate()) &&\n          proto.com.smartcloudsolutions.tollingvision.Plate.toObject(\n            includeInstance,\n            f\n          ),\n        rearPlateAlternativeList: Message.toObjectList(\n          msg.getRearPlateAlternativeList(),\n          proto.com.smartcloudsolutions.tollingvision.Plate.toObject,\n          includeInstance\n        ),\n        mmr:\n          (f = msg.getMmr()) &&\n          proto.com.smartcloudsolutions.tollingvision.Mmr.toObject(\n            includeInstance,\n            f\n          ),\n        mmrAlternativeList: Message.toObjectList(\n          msg.getMmrAlternativeList(),\n          proto.com.smartcloudsolutions.tollingvision.Mmr.toObject,\n          includeInstance\n        ),\n        signList: Message.toObjectList(\n          msg.getSignList(),\n          proto.com.smartcloudsolutions.tollingvision.Sign.toObject,\n          includeInstance\n        ),\n        processingTime: Message.getFieldWithDefault(msg, 9, 0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.EventResult();\n    return proto.com.smartcloudsolutions.tollingvision.EventResult.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.EventResult} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setNode(value);\n          break;\n        case 2:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Plate();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Plate\n              .deserializeBinaryFromReader\n          );\n          msg.setFrontPlate(value);\n          break;\n        case 3:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Plate();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Plate\n              .deserializeBinaryFromReader\n          );\n          msg.addFrontPlateAlternative(value);\n          break;\n        case 4:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Plate();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Plate\n              .deserializeBinaryFromReader\n          );\n          msg.setRearPlate(value);\n          break;\n        case 5:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Plate();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Plate\n              .deserializeBinaryFromReader\n          );\n          msg.addRearPlateAlternative(value);\n          break;\n        case 6:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Mmr();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Mmr\n              .deserializeBinaryFromReader\n          );\n          msg.setMmr(value);\n          break;\n        case 7:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Mmr();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Mmr\n              .deserializeBinaryFromReader\n          );\n          msg.addMmrAlternative(value);\n          break;\n        case 8:\n          var value = new proto.com.smartcloudsolutions.tollingvision.Sign();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.Sign\n              .deserializeBinaryFromReader\n          );\n          msg.addSign(value);\n          break;\n        case 9:\n          var value = /** @type {number} */ (reader.readUint64());\n          msg.setProcessingTime(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.EventResult.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.EventResult} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getNode();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getFrontPlate();\n    if (f != null) {\n      writer.writeMessage(\n        2,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Plate\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getFrontPlateAlternativeList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        3,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Plate\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getRearPlate();\n    if (f != null) {\n      writer.writeMessage(\n        4,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Plate\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getRearPlateAlternativeList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        5,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Plate\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getMmr();\n    if (f != null) {\n      writer.writeMessage(\n        6,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Mmr.serializeBinaryToWriter\n      );\n    }\n    f = message.getMmrAlternativeList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        7,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Mmr.serializeBinaryToWriter\n      );\n    }\n    f = message.getSignList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        8,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.Sign.serializeBinaryToWriter\n      );\n    }\n    f = message.getProcessingTime();\n    if (f !== 0) {\n      writer.writeUint64(9, f);\n    }\n  };\n\n/**\n * optional string node = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getNode =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setNode =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional Plate front_plate = 2;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getFrontPlate =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Plate} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Plate,\n        2\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Plate|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setFrontPlate =\n  function (value) {\n    return Message.setWrapperField(this, 2, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.clearFrontPlate =\n  function () {\n    return this.setFrontPlate(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.hasFrontPlate =\n  function () {\n    return Message.getField(this, 2) != null;\n  };\n\n/**\n * repeated Plate front_plate_alternative = 3;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getFrontPlateAlternativeList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Plate,\n        3\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setFrontPlateAlternativeList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 3, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Plate=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.addFrontPlateAlternative =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      3,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Plate,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.clearFrontPlateAlternativeList =\n  function () {\n    return this.setFrontPlateAlternativeList([]);\n  };\n\n/**\n * optional Plate rear_plate = 4;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getRearPlate =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Plate} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Plate,\n        4\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Plate|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setRearPlate =\n  function (value) {\n    return Message.setWrapperField(this, 4, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.clearRearPlate =\n  function () {\n    return this.setRearPlate(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.hasRearPlate =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\n/**\n * repeated Plate rear_plate_alternative = 5;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getRearPlateAlternativeList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Plate,\n        5\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Plate>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setRearPlateAlternativeList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 5, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Plate=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Plate}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.addRearPlateAlternative =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      5,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Plate,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.clearRearPlateAlternativeList =\n  function () {\n    return this.setRearPlateAlternativeList([]);\n  };\n\n/**\n * optional Mmr mmr = 6;\n * @return {?proto.com.smartcloudsolutions.tollingvision.Mmr}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getMmr =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.Mmr} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Mmr,\n        6\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.Mmr|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setMmr =\n  function (value) {\n    return Message.setWrapperField(this, 6, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.clearMmr =\n  function () {\n    return this.setMmr(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.hasMmr =\n  function () {\n    return Message.getField(this, 6) != null;\n  };\n\n/**\n * repeated Mmr mmr_alternative = 7;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Mmr>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getMmrAlternativeList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Mmr>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Mmr,\n        7\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Mmr>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setMmrAlternativeList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 7, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Mmr=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Mmr}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.addMmrAlternative =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      7,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Mmr,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.clearMmrAlternativeList =\n  function () {\n    return this.setMmrAlternativeList([]);\n  };\n\n/**\n * repeated Sign sign = 8;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.Sign>}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getSignList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.Sign>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.Sign,\n        8\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.Sign>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setSignList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 8, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.Sign=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.Sign}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.addSign =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      8,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.Sign,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.clearSignList =\n  function () {\n    return this.setSignList([]);\n  };\n\n/**\n * optional uint64 processing_time = 9;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.getProcessingTime =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 9, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResult.prototype.setProcessingTime =\n  function (value) {\n    return Message.setProto3IntField(this, 9, value);\n  };\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.oneofGroups_ = [\n  [3, 4],\n];\n\n/**\n * @enum {number}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.ResponseCase = {\n  RESPONSE_NOT_SET: 0,\n  ERROR: 3,\n  RESULT: 4,\n};\n\n/**\n * @return {proto.com.smartcloudsolutions.tollingvision.PartialResult.ResponseCase}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.getResponseCase =\n  function () {\n    return /** @type {proto.com.smartcloudsolutions.tollingvision.PartialResult.ResponseCase} */ (\n      Message.computeOneofCase(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.PartialResult\n          .oneofGroups_[0]\n      )\n    );\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.PartialResult.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.PartialResult} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.PartialResult.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          resultType: Message.getFieldWithDefault(msg, 1, 0),\n          resultIndex: Message.getFieldWithDefault(msg, 2, 0),\n          error:\n            (f = msg.getError()) &&\n            proto.com.smartcloudsolutions.tollingvision.ErrorResponse.toObject(\n              includeInstance,\n              f\n            ),\n          result:\n            (f = msg.getResult()) &&\n            proto.com.smartcloudsolutions.tollingvision.SearchResponse.toObject(\n              includeInstance,\n              f\n            ),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.PartialResult();\n    return proto.com.smartcloudsolutions.tollingvision.PartialResult.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.PartialResult} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value =\n            /** @type {!proto.com.smartcloudsolutions.tollingvision.ResultType} */ (\n              reader.readEnum()\n            );\n          msg.setResultType(value);\n          break;\n        case 2:\n          var value = /** @type {number} */ (reader.readUint32());\n          msg.setResultIndex(value);\n          break;\n        case 3:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.ErrorResponse();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.ErrorResponse\n              .deserializeBinaryFromReader\n          );\n          msg.setError(value);\n          break;\n        case 4:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.SearchResponse();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.SearchResponse\n              .deserializeBinaryFromReader\n          );\n          msg.setResult(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.PartialResult.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.PartialResult} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getResultType();\n    if (f !== 0.0) {\n      writer.writeEnum(1, f);\n    }\n    f = message.getResultIndex();\n    if (f !== 0) {\n      writer.writeUint32(2, f);\n    }\n    f = message.getError();\n    if (f != null) {\n      writer.writeMessage(\n        3,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.ErrorResponse\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getResult();\n    if (f != null) {\n      writer.writeMessage(\n        4,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.SearchResponse\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional ResultType result_type = 1;\n * @return {!proto.com.smartcloudsolutions.tollingvision.ResultType}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.getResultType =\n  function () {\n    return /** @type {!proto.com.smartcloudsolutions.tollingvision.ResultType} */ (\n      Message.getFieldWithDefault(this, 1, 0)\n    );\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.ResultType} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.setResultType =\n  function (value) {\n    return Message.setProto3EnumField(this, 1, value);\n  };\n\n/**\n * optional uint32 result_index = 2;\n * @return {number}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.getResultIndex =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 2, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.setResultIndex =\n  function (value) {\n    return Message.setProto3IntField(this, 2, value);\n  };\n\n/**\n * optional ErrorResponse error = 3;\n * @return {?proto.com.smartcloudsolutions.tollingvision.ErrorResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.getError =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.ErrorResponse} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.ErrorResponse,\n        3\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.ErrorResponse|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.setError =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      3,\n      proto.com.smartcloudsolutions.tollingvision.PartialResult.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.clearError =\n  function () {\n    return this.setError(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.hasError =\n  function () {\n    return Message.getField(this, 3) != null;\n  };\n\n/**\n * optional SearchResponse result = 4;\n * @return {?proto.com.smartcloudsolutions.tollingvision.SearchResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.getResult =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.SearchResponse} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.SearchResponse,\n        4\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.SearchResponse|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.setResult =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      4,\n      proto.com.smartcloudsolutions.tollingvision.PartialResult.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.PartialResult} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.clearResult =\n  function () {\n    return this.setResult(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.PartialResult.prototype.hasResult =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.oneofGroups_ = [\n  [3, 4],\n];\n\n/**\n * @enum {number}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.ResponseCase = {\n  RESPONSE_NOT_SET: 0,\n  PARTIAL_RESULT: 3,\n  EVENT_RESULT: 4,\n};\n\n/**\n * @return {proto.com.smartcloudsolutions.tollingvision.EventResponse.ResponseCase}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.getResponseCase =\n  function () {\n    return /** @type {proto.com.smartcloudsolutions.tollingvision.EventResponse.ResponseCase} */ (\n      Message.computeOneofCase(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.EventResponse\n          .oneofGroups_[0]\n      )\n    );\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.EventResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.EventResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.EventResponse.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          eventId: Message.getFieldWithDefault(msg, 1, \"\"),\n          node: Message.getFieldWithDefault(msg, 2, \"\"),\n          partialResult:\n            (f = msg.getPartialResult()) &&\n            proto.com.smartcloudsolutions.tollingvision.PartialResult.toObject(\n              includeInstance,\n              f\n            ),\n          eventResult:\n            (f = msg.getEventResult()) &&\n            proto.com.smartcloudsolutions.tollingvision.EventResult.toObject(\n              includeInstance,\n              f\n            ),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg = new proto.com.smartcloudsolutions.tollingvision.EventResponse();\n    return proto.com.smartcloudsolutions.tollingvision.EventResponse.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.EventResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setEventId(value);\n          break;\n        case 2:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setNode(value);\n          break;\n        case 3:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.PartialResult();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.PartialResult\n              .deserializeBinaryFromReader\n          );\n          msg.setPartialResult(value);\n          break;\n        case 4:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.EventResult();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.EventResult\n              .deserializeBinaryFromReader\n          );\n          msg.setEventResult(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.EventResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.EventResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getEventId();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getNode();\n    if (f.length > 0) {\n      writer.writeString(2, f);\n    }\n    f = message.getPartialResult();\n    if (f != null) {\n      writer.writeMessage(\n        3,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.PartialResult\n          .serializeBinaryToWriter\n      );\n    }\n    f = message.getEventResult();\n    if (f != null) {\n      writer.writeMessage(\n        4,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.EventResult\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional string event_id = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.getEventId =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.setEventId =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional string node = 2;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.getNode =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.setNode =\n  function (value) {\n    return Message.setProto3StringField(this, 2, value);\n  };\n\n/**\n * optional PartialResult partial_result = 3;\n * @return {?proto.com.smartcloudsolutions.tollingvision.PartialResult}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.getPartialResult =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.PartialResult} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.PartialResult,\n        3\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.PartialResult|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.setPartialResult =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      3,\n      proto.com.smartcloudsolutions.tollingvision.EventResponse.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.clearPartialResult =\n  function () {\n    return this.setPartialResult(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.hasPartialResult =\n  function () {\n    return Message.getField(this, 3) != null;\n  };\n\n/**\n * optional EventResult event_result = 4;\n * @return {?proto.com.smartcloudsolutions.tollingvision.EventResult}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.getEventResult =\n  function () {\n    return /** @type{?proto.com.smartcloudsolutions.tollingvision.EventResult} */ (\n      Message.getWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.EventResult,\n        4\n      )\n    );\n  };\n\n/**\n * @param {?proto.com.smartcloudsolutions.tollingvision.EventResult|undefined} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.setEventResult =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      4,\n      proto.com.smartcloudsolutions.tollingvision.EventResponse.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.com.smartcloudsolutions.tollingvision.EventResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.clearEventResult =\n  function () {\n    return this.setEventResult(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.com.smartcloudsolutions.tollingvision.EventResponse.prototype.hasEventResult =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.repeatedFields_ =\n  [2];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          node: Message.getFieldWithDefault(msg, 1, \"\"),\n          entryList: Message.toObjectList(\n            msg.getEntryList(),\n            proto.com.smartcloudsolutions.tollingvision.KeyValuePair.toObject,\n            includeInstance\n          ),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg =\n      new proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse();\n    return proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setNode(value);\n          break;\n        case 2:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.KeyValuePair();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.KeyValuePair\n              .deserializeBinaryFromReader\n          );\n          msg.addEntry(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getNode();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getEntryList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        2,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.KeyValuePair\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional string node = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.getNode =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.setNode =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * repeated KeyValuePair entry = 2;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.KeyValuePair>}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.getEntryList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.KeyValuePair>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.KeyValuePair,\n        2\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.KeyValuePair>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.setEntryList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 2, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.KeyValuePair}\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.addEntry =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      2,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.KeyValuePair,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.ServerStatusResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.ServerStatusResponse.prototype.clearEntryList =\n  function () {\n    return this.setEntryList([]);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.repeatedFields_ =\n  [2];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.toObject =\n    function (includeInstance, msg) {\n      var f,\n        obj = {\n          node: Message.getFieldWithDefault(msg, 1, \"\"),\n          statusList: Message.toObjectList(\n            msg.getStatusList(),\n            proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus\n              .toObject,\n            includeInstance\n          ),\n        };\n\n      if (includeInstance) {\n        obj.$jspbMessageInstance = msg;\n      }\n      return obj;\n    };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.deserializeBinary =\n  function (bytes) {\n    var reader = new BinaryReader(bytes);\n    var msg =\n      new proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse();\n    return proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.deserializeBinaryFromReader(\n      msg,\n      reader\n    );\n  };\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setNode(value);\n          break;\n        case 2:\n          var value =\n            new proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus();\n          reader.readMessage(\n            value,\n            proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus\n              .deserializeBinaryFromReader\n          );\n          msg.addStatus(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getNode();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getStatusList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        2,\n        f,\n        proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus\n          .serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional string node = 1;\n * @return {string}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.getNode =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.setNode =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * repeated LicenseServiceStatus status = 2;\n * @return {!Array<!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus>}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.getStatusList =\n  function () {\n    return /** @type{!Array<!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus,\n        2\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus>} value\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.setStatusList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 2, value);\n  };\n\n/**\n * @param {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus=} opt_value\n * @param {number=} opt_index\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus}\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.addStatus =\n  function (opt_value, opt_index) {\n    return Message.addToRepeatedWrapperField(\n      this,\n      2,\n      opt_value,\n      proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatus,\n      opt_index\n    );\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse} returns this\n */\nproto.com.smartcloudsolutions.tollingvision.LicenseServiceStatusResponse.prototype.clearStatusList =\n  function () {\n    return this.setStatusList([]);\n  };\n\n/**\n * @enum {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Status = {\n  QUEUEING: 0,\n  PROCESSING: 1,\n  RESULT: 2,\n};\n\n/**\n * @enum {number}\n */\nproto.com.smartcloudsolutions.tollingvision.ResultType = {\n  FRONT: 0,\n  REAR: 1,\n  OVERVIEW: 2,\n};\n\n/**\n * @enum {number}\n */\nproto.com.smartcloudsolutions.tollingvision.Error = {\n  EMPTY_IMAGE: 0,\n  INVALID_IMAGE_FORMAT: 1,\n  INVALID_MAX_SEARCH: 2,\n  INVALID_MAX_ROTATION: 3,\n  INVALID_MAX_CHARACTER_SIZE: 4,\n  TOO_MANY_REQUESTS: 5,\n  TIMEOUT_OCCURRED: 6,\n  INTERNAL_ERROR: 7,\n  FORBIDDEN: 8,\n  LIMIT_EXCEEDED: 9,\n};\n\n/**\n * @enum {number}\n */\nproto.com.smartcloudsolutions.tollingvision.SignType = {\n  GENERAL: 0,\n  IMO: 1,\n  A: 2,\n  EMPTY: 3,\n};\n\ngoog.object.extend(exports, proto.com.smartcloudsolutions.tollingvision);\n","// source: Health.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nimport jspb, { Message, BinaryReader, BinaryWriter } from \"google-protobuf\";\nvar goog = jspb;\nvar global =\n  (typeof globalThis !== \"undefined\" && globalThis) ||\n  (typeof window !== \"undefined\" && window) ||\n  (typeof global !== \"undefined\" && global) ||\n  (typeof self !== \"undefined\" && self) ||\n  function () {\n    return this;\n  }.call(null) ||\n  Function(\"return this\")();\n\ngoog.exportSymbol(\"proto.grpc.health.v1.HealthCheckRequest\", null, global);\ngoog.exportSymbol(\"proto.grpc.health.v1.HealthCheckResponse\", null, global);\ngoog.exportSymbol(\n  \"proto.grpc.health.v1.HealthCheckResponse.ServingStatus\",\n  null,\n  global\n);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.health.v1.HealthCheckRequest = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.grpc.health.v1.HealthCheckRequest, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.health.v1.HealthCheckRequest.displayName =\n    \"proto.grpc.health.v1.HealthCheckRequest\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.health.v1.HealthCheckResponse = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.grpc.health.v1.HealthCheckResponse, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.health.v1.HealthCheckResponse.displayName =\n    \"proto.grpc.health.v1.HealthCheckResponse\";\n}\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.health.v1.HealthCheckRequest.prototype.toObject = function (\n    opt_includeInstance\n  ) {\n    return proto.grpc.health.v1.HealthCheckRequest.toObject(\n      opt_includeInstance,\n      this\n    );\n  };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.health.v1.HealthCheckRequest} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.health.v1.HealthCheckRequest.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        service: Message.getFieldWithDefault(msg, 1, \"\"),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.health.v1.HealthCheckRequest}\n */\nproto.grpc.health.v1.HealthCheckRequest.deserializeBinary = function (bytes) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.health.v1.HealthCheckRequest();\n  return proto.grpc.health.v1.HealthCheckRequest.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.health.v1.HealthCheckRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.health.v1.HealthCheckRequest}\n */\nproto.grpc.health.v1.HealthCheckRequest.deserializeBinaryFromReader = function (\n  msg,\n  reader\n) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n      case 1:\n        var value = /** @type {string} */ (reader.readString());\n        msg.setService(value);\n        break;\n      default:\n        reader.skipField();\n        break;\n    }\n  }\n  return msg;\n};\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.health.v1.HealthCheckRequest.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.health.v1.HealthCheckRequest.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.health.v1.HealthCheckRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.health.v1.HealthCheckRequest.serializeBinaryToWriter = function (\n  message,\n  writer\n) {\n  var f = undefined;\n  f = message.getService();\n  if (f.length > 0) {\n    writer.writeString(1, f);\n  }\n};\n\n/**\n * optional string service = 1;\n * @return {string}\n */\nproto.grpc.health.v1.HealthCheckRequest.prototype.getService = function () {\n  return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n/**\n * @param {string} value\n * @return {!proto.grpc.health.v1.HealthCheckRequest} returns this\n */\nproto.grpc.health.v1.HealthCheckRequest.prototype.setService = function (\n  value\n) {\n  return Message.setProto3StringField(this, 1, value);\n};\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.health.v1.HealthCheckResponse.prototype.toObject = function (\n    opt_includeInstance\n  ) {\n    return proto.grpc.health.v1.HealthCheckResponse.toObject(\n      opt_includeInstance,\n      this\n    );\n  };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.health.v1.HealthCheckResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.health.v1.HealthCheckResponse.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        status: Message.getFieldWithDefault(msg, 1, 0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.health.v1.HealthCheckResponse}\n */\nproto.grpc.health.v1.HealthCheckResponse.deserializeBinary = function (bytes) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.health.v1.HealthCheckResponse();\n  return proto.grpc.health.v1.HealthCheckResponse.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.health.v1.HealthCheckResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.health.v1.HealthCheckResponse}\n */\nproto.grpc.health.v1.HealthCheckResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value =\n            /** @type {!proto.grpc.health.v1.HealthCheckResponse.ServingStatus} */ (\n              reader.readEnum()\n            );\n          msg.setStatus(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.health.v1.HealthCheckResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.health.v1.HealthCheckResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.health.v1.HealthCheckResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.health.v1.HealthCheckResponse.serializeBinaryToWriter = function (\n  message,\n  writer\n) {\n  var f = undefined;\n  f = message.getStatus();\n  if (f !== 0.0) {\n    writer.writeEnum(1, f);\n  }\n};\n\n/**\n * @enum {number}\n */\nproto.grpc.health.v1.HealthCheckResponse.ServingStatus = {\n  UNKNOWN: 0,\n  SERVING: 1,\n  NOT_SERVING: 2,\n  SERVICE_UNKNOWN: 3,\n};\n\n/**\n * optional ServingStatus status = 1;\n * @return {!proto.grpc.health.v1.HealthCheckResponse.ServingStatus}\n */\nproto.grpc.health.v1.HealthCheckResponse.prototype.getStatus = function () {\n  return /** @type {!proto.grpc.health.v1.HealthCheckResponse.ServingStatus} */ (\n    Message.getFieldWithDefault(this, 1, 0)\n  );\n};\n\n/**\n * @param {!proto.grpc.health.v1.HealthCheckResponse.ServingStatus} value\n * @return {!proto.grpc.health.v1.HealthCheckResponse} returns this\n */\nproto.grpc.health.v1.HealthCheckResponse.prototype.setStatus = function (\n  value\n) {\n  return Message.setProto3EnumField(this, 1, value);\n};\n\ngoog.object.extend(exports, proto.grpc.health.v1);\n","// source: Reflection.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nimport jspb, { Message, BinaryReader, BinaryWriter } from \"google-protobuf\";\nvar goog = jspb;\nvar global =\n  (typeof globalThis !== \"undefined\" && globalThis) ||\n  (typeof window !== \"undefined\" && window) ||\n  (typeof global !== \"undefined\" && global) ||\n  (typeof self !== \"undefined\" && self) ||\n  function () {\n    return this;\n  }.call(null) ||\n  Function(\"return this\")();\n\ngoog.exportSymbol(\"proto.grpc.reflection.v1.ErrorResponse\", null, global);\ngoog.exportSymbol(\n  \"proto.grpc.reflection.v1.ExtensionNumberResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\"proto.grpc.reflection.v1.ExtensionRequest\", null, global);\ngoog.exportSymbol(\n  \"proto.grpc.reflection.v1.FileDescriptorResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\"proto.grpc.reflection.v1.ListServiceResponse\", null, global);\ngoog.exportSymbol(\n  \"proto.grpc.reflection.v1.ServerReflectionRequest\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.grpc.reflection.v1.ServerReflectionRequest.MessageRequestCase\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.grpc.reflection.v1.ServerReflectionResponse\",\n  null,\n  global\n);\ngoog.exportSymbol(\n  \"proto.grpc.reflection.v1.ServerReflectionResponse.MessageResponseCase\",\n  null,\n  global\n);\ngoog.exportSymbol(\"proto.grpc.reflection.v1.ServiceResponse\", null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.ServerReflectionRequest = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    null,\n    proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_\n  );\n};\ngoog.inherits(proto.grpc.reflection.v1.ServerReflectionRequest, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.ServerReflectionRequest.displayName =\n    \"proto.grpc.reflection.v1.ServerReflectionRequest\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.ExtensionRequest = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.grpc.reflection.v1.ExtensionRequest, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.ExtensionRequest.displayName =\n    \"proto.grpc.reflection.v1.ExtensionRequest\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.ServerReflectionResponse = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    null,\n    proto.grpc.reflection.v1.ServerReflectionResponse.oneofGroups_\n  );\n};\ngoog.inherits(proto.grpc.reflection.v1.ServerReflectionResponse, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.ServerReflectionResponse.displayName =\n    \"proto.grpc.reflection.v1.ServerReflectionResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.FileDescriptorResponse = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.grpc.reflection.v1.FileDescriptorResponse.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(proto.grpc.reflection.v1.FileDescriptorResponse, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.FileDescriptorResponse.displayName =\n    \"proto.grpc.reflection.v1.FileDescriptorResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.grpc.reflection.v1.ExtensionNumberResponse.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(proto.grpc.reflection.v1.ExtensionNumberResponse, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.ExtensionNumberResponse.displayName =\n    \"proto.grpc.reflection.v1.ExtensionNumberResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.ListServiceResponse = function (opt_data) {\n  Message.initialize(\n    this,\n    opt_data,\n    0,\n    -1,\n    proto.grpc.reflection.v1.ListServiceResponse.repeatedFields_,\n    null\n  );\n};\ngoog.inherits(proto.grpc.reflection.v1.ListServiceResponse, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.ListServiceResponse.displayName =\n    \"proto.grpc.reflection.v1.ListServiceResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.ServiceResponse = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.grpc.reflection.v1.ServiceResponse, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.ServiceResponse.displayName =\n    \"proto.grpc.reflection.v1.ServiceResponse\";\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.grpc.reflection.v1.ErrorResponse = function (opt_data) {\n  Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.grpc.reflection.v1.ErrorResponse, Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.grpc.reflection.v1.ErrorResponse.displayName =\n    \"proto.grpc.reflection.v1.ErrorResponse\";\n}\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_ = [\n  [3, 4, 5, 6, 7],\n];\n\n/**\n * @enum {number}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.MessageRequestCase = {\n  MESSAGE_REQUEST_NOT_SET: 0,\n  FILE_BY_FILENAME: 3,\n  FILE_CONTAINING_SYMBOL: 4,\n  FILE_CONTAINING_EXTENSION: 5,\n  ALL_EXTENSION_NUMBERS_OF_TYPE: 6,\n  LIST_SERVICES: 7,\n};\n\n/**\n * @return {proto.grpc.reflection.v1.ServerReflectionRequest.MessageRequestCase}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.getMessageRequestCase =\n  function () {\n    return /** @type {proto.grpc.reflection.v1.ServerReflectionRequest.MessageRequestCase} */ (\n      Message.computeOneofCase(\n        this,\n        proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0]\n      )\n    );\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.ServerReflectionRequest.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.grpc.reflection.v1.ServerReflectionRequest.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.ServerReflectionRequest} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.ServerReflectionRequest.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        host: Message.getFieldWithDefault(msg, 1, \"\"),\n        fileByFilename: (f = Message.getField(msg, 3)) == null ? undefined : f,\n        fileContainingSymbol:\n          (f = Message.getField(msg, 4)) == null ? undefined : f,\n        fileContainingExtension:\n          (f = msg.getFileContainingExtension()) &&\n          proto.grpc.reflection.v1.ExtensionRequest.toObject(\n            includeInstance,\n            f\n          ),\n        allExtensionNumbersOfType:\n          (f = Message.getField(msg, 6)) == null ? undefined : f,\n        listServices: (f = Message.getField(msg, 7)) == null ? undefined : f,\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.ServerReflectionRequest();\n  return proto.grpc.reflection.v1.ServerReflectionRequest.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.ServerReflectionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setHost(value);\n          break;\n        case 3:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setFileByFilename(value);\n          break;\n        case 4:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setFileContainingSymbol(value);\n          break;\n        case 5:\n          var value = new proto.grpc.reflection.v1.ExtensionRequest();\n          reader.readMessage(\n            value,\n            proto.grpc.reflection.v1.ExtensionRequest\n              .deserializeBinaryFromReader\n          );\n          msg.setFileContainingExtension(value);\n          break;\n        case 6:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setAllExtensionNumbersOfType(value);\n          break;\n        case 7:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setListServices(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.reflection.v1.ServerReflectionRequest.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.ServerReflectionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getHost();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = /** @type {string} */ (Message.getField(message, 3));\n    if (f != null) {\n      writer.writeString(3, f);\n    }\n    f = /** @type {string} */ (Message.getField(message, 4));\n    if (f != null) {\n      writer.writeString(4, f);\n    }\n    f = message.getFileContainingExtension();\n    if (f != null) {\n      writer.writeMessage(\n        5,\n        f,\n        proto.grpc.reflection.v1.ExtensionRequest.serializeBinaryToWriter\n      );\n    }\n    f = /** @type {string} */ (Message.getField(message, 6));\n    if (f != null) {\n      writer.writeString(6, f);\n    }\n    f = /** @type {string} */ (Message.getField(message, 7));\n    if (f != null) {\n      writer.writeString(7, f);\n    }\n  };\n\n/**\n * optional string host = 1;\n * @return {string}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.getHost =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.setHost = function (\n  value\n) {\n  return Message.setProto3StringField(this, 1, value);\n};\n\n/**\n * optional string file_by_filename = 3;\n * @return {string}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.getFileByFilename =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 3, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.setFileByFilename =\n  function (value) {\n    return Message.setOneofField(\n      this,\n      3,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.clearFileByFilename =\n  function () {\n    return Message.setOneofField(\n      this,\n      3,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      undefined\n    );\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.hasFileByFilename =\n  function () {\n    return Message.getField(this, 3) != null;\n  };\n\n/**\n * optional string file_containing_symbol = 4;\n * @return {string}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.getFileContainingSymbol =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 4, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.setFileContainingSymbol =\n  function (value) {\n    return Message.setOneofField(\n      this,\n      4,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.clearFileContainingSymbol =\n  function () {\n    return Message.setOneofField(\n      this,\n      4,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      undefined\n    );\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.hasFileContainingSymbol =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\n/**\n * optional ExtensionRequest file_containing_extension = 5;\n * @return {?proto.grpc.reflection.v1.ExtensionRequest}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.getFileContainingExtension =\n  function () {\n    return /** @type{?proto.grpc.reflection.v1.ExtensionRequest} */ (\n      Message.getWrapperField(\n        this,\n        proto.grpc.reflection.v1.ExtensionRequest,\n        5\n      )\n    );\n  };\n\n/**\n * @param {?proto.grpc.reflection.v1.ExtensionRequest|undefined} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.setFileContainingExtension =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      5,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.clearFileContainingExtension =\n  function () {\n    return this.setFileContainingExtension(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.hasFileContainingExtension =\n  function () {\n    return Message.getField(this, 5) != null;\n  };\n\n/**\n * optional string all_extension_numbers_of_type = 6;\n * @return {string}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.getAllExtensionNumbersOfType =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 6, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.setAllExtensionNumbersOfType =\n  function (value) {\n    return Message.setOneofField(\n      this,\n      6,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.clearAllExtensionNumbersOfType =\n  function () {\n    return Message.setOneofField(\n      this,\n      6,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      undefined\n    );\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.hasAllExtensionNumbersOfType =\n  function () {\n    return Message.getField(this, 6) != null;\n  };\n\n/**\n * optional string list_services = 7;\n * @return {string}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.getListServices =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 7, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.setListServices =\n  function (value) {\n    return Message.setOneofField(\n      this,\n      7,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionRequest} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.clearListServices =\n  function () {\n    return Message.setOneofField(\n      this,\n      7,\n      proto.grpc.reflection.v1.ServerReflectionRequest.oneofGroups_[0],\n      undefined\n    );\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionRequest.prototype.hasListServices =\n  function () {\n    return Message.getField(this, 7) != null;\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.ExtensionRequest.prototype.toObject = function (\n    opt_includeInstance\n  ) {\n    return proto.grpc.reflection.v1.ExtensionRequest.toObject(\n      opt_includeInstance,\n      this\n    );\n  };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.ExtensionRequest} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.ExtensionRequest.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        containingType: Message.getFieldWithDefault(msg, 1, \"\"),\n        extensionNumber: Message.getFieldWithDefault(msg, 2, 0),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.ExtensionRequest}\n */\nproto.grpc.reflection.v1.ExtensionRequest.deserializeBinary = function (bytes) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.ExtensionRequest();\n  return proto.grpc.reflection.v1.ExtensionRequest.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.ExtensionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.ExtensionRequest}\n */\nproto.grpc.reflection.v1.ExtensionRequest.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setContainingType(value);\n          break;\n        case 2:\n          var value = /** @type {number} */ (reader.readInt32());\n          msg.setExtensionNumber(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.ExtensionRequest.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.reflection.v1.ExtensionRequest.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.ExtensionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.ExtensionRequest.serializeBinaryToWriter = function (\n  message,\n  writer\n) {\n  var f = undefined;\n  f = message.getContainingType();\n  if (f.length > 0) {\n    writer.writeString(1, f);\n  }\n  f = message.getExtensionNumber();\n  if (f !== 0) {\n    writer.writeInt32(2, f);\n  }\n};\n\n/**\n * optional string containing_type = 1;\n * @return {string}\n */\nproto.grpc.reflection.v1.ExtensionRequest.prototype.getContainingType =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ExtensionRequest} returns this\n */\nproto.grpc.reflection.v1.ExtensionRequest.prototype.setContainingType =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional int32 extension_number = 2;\n * @return {number}\n */\nproto.grpc.reflection.v1.ExtensionRequest.prototype.getExtensionNumber =\n  function () {\n    return /** @type {number} */ (Message.getFieldWithDefault(this, 2, 0));\n  };\n\n/**\n * @param {number} value\n * @return {!proto.grpc.reflection.v1.ExtensionRequest} returns this\n */\nproto.grpc.reflection.v1.ExtensionRequest.prototype.setExtensionNumber =\n  function (value) {\n    return Message.setProto3IntField(this, 2, value);\n  };\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.oneofGroups_ = [[4, 5, 6, 7]];\n\n/**\n * @enum {number}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.MessageResponseCase = {\n  MESSAGE_RESPONSE_NOT_SET: 0,\n  FILE_DESCRIPTOR_RESPONSE: 4,\n  ALL_EXTENSION_NUMBERS_RESPONSE: 5,\n  LIST_SERVICES_RESPONSE: 6,\n  ERROR_RESPONSE: 7,\n};\n\n/**\n * @return {proto.grpc.reflection.v1.ServerReflectionResponse.MessageResponseCase}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.getMessageResponseCase =\n  function () {\n    return /** @type {proto.grpc.reflection.v1.ServerReflectionResponse.MessageResponseCase} */ (\n      Message.computeOneofCase(\n        this,\n        proto.grpc.reflection.v1.ServerReflectionResponse.oneofGroups_[0]\n      )\n    );\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.ServerReflectionResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.grpc.reflection.v1.ServerReflectionResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.ServerReflectionResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.ServerReflectionResponse.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        validHost: Message.getFieldWithDefault(msg, 1, \"\"),\n        originalRequest:\n          (f = msg.getOriginalRequest()) &&\n          proto.grpc.reflection.v1.ServerReflectionRequest.toObject(\n            includeInstance,\n            f\n          ),\n        fileDescriptorResponse:\n          (f = msg.getFileDescriptorResponse()) &&\n          proto.grpc.reflection.v1.FileDescriptorResponse.toObject(\n            includeInstance,\n            f\n          ),\n        allExtensionNumbersResponse:\n          (f = msg.getAllExtensionNumbersResponse()) &&\n          proto.grpc.reflection.v1.ExtensionNumberResponse.toObject(\n            includeInstance,\n            f\n          ),\n        listServicesResponse:\n          (f = msg.getListServicesResponse()) &&\n          proto.grpc.reflection.v1.ListServiceResponse.toObject(\n            includeInstance,\n            f\n          ),\n        errorResponse:\n          (f = msg.getErrorResponse()) &&\n          proto.grpc.reflection.v1.ErrorResponse.toObject(includeInstance, f),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.ServerReflectionResponse();\n  return proto.grpc.reflection.v1.ServerReflectionResponse.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.ServerReflectionResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setValidHost(value);\n          break;\n        case 2:\n          var value = new proto.grpc.reflection.v1.ServerReflectionRequest();\n          reader.readMessage(\n            value,\n            proto.grpc.reflection.v1.ServerReflectionRequest\n              .deserializeBinaryFromReader\n          );\n          msg.setOriginalRequest(value);\n          break;\n        case 4:\n          var value = new proto.grpc.reflection.v1.FileDescriptorResponse();\n          reader.readMessage(\n            value,\n            proto.grpc.reflection.v1.FileDescriptorResponse\n              .deserializeBinaryFromReader\n          );\n          msg.setFileDescriptorResponse(value);\n          break;\n        case 5:\n          var value = new proto.grpc.reflection.v1.ExtensionNumberResponse();\n          reader.readMessage(\n            value,\n            proto.grpc.reflection.v1.ExtensionNumberResponse\n              .deserializeBinaryFromReader\n          );\n          msg.setAllExtensionNumbersResponse(value);\n          break;\n        case 6:\n          var value = new proto.grpc.reflection.v1.ListServiceResponse();\n          reader.readMessage(\n            value,\n            proto.grpc.reflection.v1.ListServiceResponse\n              .deserializeBinaryFromReader\n          );\n          msg.setListServicesResponse(value);\n          break;\n        case 7:\n          var value = new proto.grpc.reflection.v1.ErrorResponse();\n          reader.readMessage(\n            value,\n            proto.grpc.reflection.v1.ErrorResponse.deserializeBinaryFromReader\n          );\n          msg.setErrorResponse(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.reflection.v1.ServerReflectionResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.ServerReflectionResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getValidHost();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getOriginalRequest();\n    if (f != null) {\n      writer.writeMessage(\n        2,\n        f,\n        proto.grpc.reflection.v1.ServerReflectionRequest.serializeBinaryToWriter\n      );\n    }\n    f = message.getFileDescriptorResponse();\n    if (f != null) {\n      writer.writeMessage(\n        4,\n        f,\n        proto.grpc.reflection.v1.FileDescriptorResponse.serializeBinaryToWriter\n      );\n    }\n    f = message.getAllExtensionNumbersResponse();\n    if (f != null) {\n      writer.writeMessage(\n        5,\n        f,\n        proto.grpc.reflection.v1.ExtensionNumberResponse.serializeBinaryToWriter\n      );\n    }\n    f = message.getListServicesResponse();\n    if (f != null) {\n      writer.writeMessage(\n        6,\n        f,\n        proto.grpc.reflection.v1.ListServiceResponse.serializeBinaryToWriter\n      );\n    }\n    f = message.getErrorResponse();\n    if (f != null) {\n      writer.writeMessage(\n        7,\n        f,\n        proto.grpc.reflection.v1.ErrorResponse.serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * optional string valid_host = 1;\n * @return {string}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.getValidHost =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.setValidHost =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * optional ServerReflectionRequest original_request = 2;\n * @return {?proto.grpc.reflection.v1.ServerReflectionRequest}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.getOriginalRequest =\n  function () {\n    return /** @type{?proto.grpc.reflection.v1.ServerReflectionRequest} */ (\n      Message.getWrapperField(\n        this,\n        proto.grpc.reflection.v1.ServerReflectionRequest,\n        2\n      )\n    );\n  };\n\n/**\n * @param {?proto.grpc.reflection.v1.ServerReflectionRequest|undefined} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.setOriginalRequest =\n  function (value) {\n    return Message.setWrapperField(this, 2, value);\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.clearOriginalRequest =\n  function () {\n    return this.setOriginalRequest(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.hasOriginalRequest =\n  function () {\n    return Message.getField(this, 2) != null;\n  };\n\n/**\n * optional FileDescriptorResponse file_descriptor_response = 4;\n * @return {?proto.grpc.reflection.v1.FileDescriptorResponse}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.getFileDescriptorResponse =\n  function () {\n    return /** @type{?proto.grpc.reflection.v1.FileDescriptorResponse} */ (\n      Message.getWrapperField(\n        this,\n        proto.grpc.reflection.v1.FileDescriptorResponse,\n        4\n      )\n    );\n  };\n\n/**\n * @param {?proto.grpc.reflection.v1.FileDescriptorResponse|undefined} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.setFileDescriptorResponse =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      4,\n      proto.grpc.reflection.v1.ServerReflectionResponse.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.clearFileDescriptorResponse =\n  function () {\n    return this.setFileDescriptorResponse(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.hasFileDescriptorResponse =\n  function () {\n    return Message.getField(this, 4) != null;\n  };\n\n/**\n * optional ExtensionNumberResponse all_extension_numbers_response = 5;\n * @return {?proto.grpc.reflection.v1.ExtensionNumberResponse}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.getAllExtensionNumbersResponse =\n  function () {\n    return /** @type{?proto.grpc.reflection.v1.ExtensionNumberResponse} */ (\n      Message.getWrapperField(\n        this,\n        proto.grpc.reflection.v1.ExtensionNumberResponse,\n        5\n      )\n    );\n  };\n\n/**\n * @param {?proto.grpc.reflection.v1.ExtensionNumberResponse|undefined} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.setAllExtensionNumbersResponse =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      5,\n      proto.grpc.reflection.v1.ServerReflectionResponse.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.clearAllExtensionNumbersResponse =\n  function () {\n    return this.setAllExtensionNumbersResponse(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.hasAllExtensionNumbersResponse =\n  function () {\n    return Message.getField(this, 5) != null;\n  };\n\n/**\n * optional ListServiceResponse list_services_response = 6;\n * @return {?proto.grpc.reflection.v1.ListServiceResponse}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.getListServicesResponse =\n  function () {\n    return /** @type{?proto.grpc.reflection.v1.ListServiceResponse} */ (\n      Message.getWrapperField(\n        this,\n        proto.grpc.reflection.v1.ListServiceResponse,\n        6\n      )\n    );\n  };\n\n/**\n * @param {?proto.grpc.reflection.v1.ListServiceResponse|undefined} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.setListServicesResponse =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      6,\n      proto.grpc.reflection.v1.ServerReflectionResponse.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.clearListServicesResponse =\n  function () {\n    return this.setListServicesResponse(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.hasListServicesResponse =\n  function () {\n    return Message.getField(this, 6) != null;\n  };\n\n/**\n * optional ErrorResponse error_response = 7;\n * @return {?proto.grpc.reflection.v1.ErrorResponse}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.getErrorResponse =\n  function () {\n    return /** @type{?proto.grpc.reflection.v1.ErrorResponse} */ (\n      Message.getWrapperField(this, proto.grpc.reflection.v1.ErrorResponse, 7)\n    );\n  };\n\n/**\n * @param {?proto.grpc.reflection.v1.ErrorResponse|undefined} value\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.setErrorResponse =\n  function (value) {\n    return Message.setOneofWrapperField(\n      this,\n      7,\n      proto.grpc.reflection.v1.ServerReflectionResponse.oneofGroups_[0],\n      value\n    );\n  };\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.grpc.reflection.v1.ServerReflectionResponse} returns this\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.clearErrorResponse =\n  function () {\n    return this.setErrorResponse(undefined);\n  };\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.grpc.reflection.v1.ServerReflectionResponse.prototype.hasErrorResponse =\n  function () {\n    return Message.getField(this, 7) != null;\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.repeatedFields_ = [1];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.FileDescriptorResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.grpc.reflection.v1.FileDescriptorResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.FileDescriptorResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.FileDescriptorResponse.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        fileDescriptorProtoList: msg.getFileDescriptorProtoList_asB64(),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.FileDescriptorResponse}\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.FileDescriptorResponse();\n  return proto.grpc.reflection.v1.FileDescriptorResponse.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.FileDescriptorResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.FileDescriptorResponse}\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {!Uint8Array} */ (reader.readBytes());\n          msg.addFileDescriptorProto(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.reflection.v1.FileDescriptorResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.FileDescriptorResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getFileDescriptorProtoList_asU8();\n    if (f.length > 0) {\n      writer.writeRepeatedBytes(1, f);\n    }\n  };\n\n/**\n * repeated bytes file_descriptor_proto = 1;\n * @return {!Array<string>}\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.prototype.getFileDescriptorProtoList =\n  function () {\n    return /** @type {!Array<string>} */ (Message.getRepeatedField(this, 1));\n  };\n\n/**\n * repeated bytes file_descriptor_proto = 1;\n * This is a type-conversion wrapper around `getFileDescriptorProtoList()`\n * @return {!Array<string>}\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.prototype.getFileDescriptorProtoList_asB64 =\n  function () {\n    return /** @type {!Array<string>} */ (\n      Message.bytesListAsB64(this.getFileDescriptorProtoList())\n    );\n  };\n\n/**\n * repeated bytes file_descriptor_proto = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getFileDescriptorProtoList()`\n * @return {!Array<!Uint8Array>}\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.prototype.getFileDescriptorProtoList_asU8 =\n  function () {\n    return /** @type {!Array<!Uint8Array>} */ (\n      Message.bytesListAsU8(this.getFileDescriptorProtoList())\n    );\n  };\n\n/**\n * @param {!(Array<!Uint8Array>|Array<string>)} value\n * @return {!proto.grpc.reflection.v1.FileDescriptorResponse} returns this\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.prototype.setFileDescriptorProtoList =\n  function (value) {\n    return Message.setField(this, 1, value || []);\n  };\n\n/**\n * @param {!(string|Uint8Array)} value\n * @param {number=} opt_index\n * @return {!proto.grpc.reflection.v1.FileDescriptorResponse} returns this\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.prototype.addFileDescriptorProto =\n  function (value, opt_index) {\n    return Message.addToRepeatedField(this, 1, value, opt_index);\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.grpc.reflection.v1.FileDescriptorResponse} returns this\n */\nproto.grpc.reflection.v1.FileDescriptorResponse.prototype.clearFileDescriptorProtoList =\n  function () {\n    return this.setFileDescriptorProtoList([]);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.repeatedFields_ = [2];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.ExtensionNumberResponse.prototype.toObject =\n    function (opt_includeInstance) {\n      return proto.grpc.reflection.v1.ExtensionNumberResponse.toObject(\n        opt_includeInstance,\n        this\n      );\n    };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.ExtensionNumberResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.ExtensionNumberResponse.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        baseTypeName: Message.getFieldWithDefault(msg, 1, \"\"),\n        extensionNumberList:\n          (f = Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.ExtensionNumberResponse}\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.ExtensionNumberResponse();\n  return proto.grpc.reflection.v1.ExtensionNumberResponse.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.ExtensionNumberResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.ExtensionNumberResponse}\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setBaseTypeName(value);\n          break;\n        case 2:\n          var values = /** @type {!Array<number>} */ (\n            reader.isDelimited()\n              ? reader.readPackedInt32()\n              : [reader.readInt32()]\n          );\n          for (var i = 0; i < values.length; i++) {\n            msg.addExtensionNumber(values[i]);\n          }\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.reflection.v1.ExtensionNumberResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.ExtensionNumberResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getBaseTypeName();\n    if (f.length > 0) {\n      writer.writeString(1, f);\n    }\n    f = message.getExtensionNumberList();\n    if (f.length > 0) {\n      writer.writePackedInt32(2, f);\n    }\n  };\n\n/**\n * optional string base_type_name = 1;\n * @return {string}\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.prototype.getBaseTypeName =\n  function () {\n    return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n  };\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ExtensionNumberResponse} returns this\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.prototype.setBaseTypeName =\n  function (value) {\n    return Message.setProto3StringField(this, 1, value);\n  };\n\n/**\n * repeated int32 extension_number = 2;\n * @return {!Array<number>}\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.prototype.getExtensionNumberList =\n  function () {\n    return /** @type {!Array<number>} */ (Message.getRepeatedField(this, 2));\n  };\n\n/**\n * @param {!Array<number>} value\n * @return {!proto.grpc.reflection.v1.ExtensionNumberResponse} returns this\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.prototype.setExtensionNumberList =\n  function (value) {\n    return Message.setField(this, 2, value || []);\n  };\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.grpc.reflection.v1.ExtensionNumberResponse} returns this\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.prototype.addExtensionNumber =\n  function (value, opt_index) {\n    return Message.addToRepeatedField(this, 2, value, opt_index);\n  };\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.grpc.reflection.v1.ExtensionNumberResponse} returns this\n */\nproto.grpc.reflection.v1.ExtensionNumberResponse.prototype.clearExtensionNumberList =\n  function () {\n    return this.setExtensionNumberList([]);\n  };\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.grpc.reflection.v1.ListServiceResponse.repeatedFields_ = [1];\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.ListServiceResponse.prototype.toObject = function (\n    opt_includeInstance\n  ) {\n    return proto.grpc.reflection.v1.ListServiceResponse.toObject(\n      opt_includeInstance,\n      this\n    );\n  };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.ListServiceResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.ListServiceResponse.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        serviceList: Message.toObjectList(\n          msg.getServiceList(),\n          proto.grpc.reflection.v1.ServiceResponse.toObject,\n          includeInstance\n        ),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.ListServiceResponse}\n */\nproto.grpc.reflection.v1.ListServiceResponse.deserializeBinary = function (\n  bytes\n) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.ListServiceResponse();\n  return proto.grpc.reflection.v1.ListServiceResponse.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.ListServiceResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.ListServiceResponse}\n */\nproto.grpc.reflection.v1.ListServiceResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = new proto.grpc.reflection.v1.ServiceResponse();\n          reader.readMessage(\n            value,\n            proto.grpc.reflection.v1.ServiceResponse.deserializeBinaryFromReader\n          );\n          msg.addService(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.ListServiceResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.reflection.v1.ListServiceResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.ListServiceResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.ListServiceResponse.serializeBinaryToWriter =\n  function (message, writer) {\n    var f = undefined;\n    f = message.getServiceList();\n    if (f.length > 0) {\n      writer.writeRepeatedMessage(\n        1,\n        f,\n        proto.grpc.reflection.v1.ServiceResponse.serializeBinaryToWriter\n      );\n    }\n  };\n\n/**\n * repeated ServiceResponse service = 1;\n * @return {!Array<!proto.grpc.reflection.v1.ServiceResponse>}\n */\nproto.grpc.reflection.v1.ListServiceResponse.prototype.getServiceList =\n  function () {\n    return /** @type{!Array<!proto.grpc.reflection.v1.ServiceResponse>} */ (\n      Message.getRepeatedWrapperField(\n        this,\n        proto.grpc.reflection.v1.ServiceResponse,\n        1\n      )\n    );\n  };\n\n/**\n * @param {!Array<!proto.grpc.reflection.v1.ServiceResponse>} value\n * @return {!proto.grpc.reflection.v1.ListServiceResponse} returns this\n */\nproto.grpc.reflection.v1.ListServiceResponse.prototype.setServiceList =\n  function (value) {\n    return Message.setRepeatedWrapperField(this, 1, value);\n  };\n\n/**\n * @param {!proto.grpc.reflection.v1.ServiceResponse=} opt_value\n * @param {number=} opt_index\n * @return {!proto.grpc.reflection.v1.ServiceResponse}\n */\nproto.grpc.reflection.v1.ListServiceResponse.prototype.addService = function (\n  opt_value,\n  opt_index\n) {\n  return Message.addToRepeatedWrapperField(\n    this,\n    1,\n    opt_value,\n    proto.grpc.reflection.v1.ServiceResponse,\n    opt_index\n  );\n};\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.grpc.reflection.v1.ListServiceResponse} returns this\n */\nproto.grpc.reflection.v1.ListServiceResponse.prototype.clearServiceList =\n  function () {\n    return this.setServiceList([]);\n  };\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.ServiceResponse.prototype.toObject = function (\n    opt_includeInstance\n  ) {\n    return proto.grpc.reflection.v1.ServiceResponse.toObject(\n      opt_includeInstance,\n      this\n    );\n  };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.ServiceResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.ServiceResponse.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        name: Message.getFieldWithDefault(msg, 1, \"\"),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.ServiceResponse}\n */\nproto.grpc.reflection.v1.ServiceResponse.deserializeBinary = function (bytes) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.ServiceResponse();\n  return proto.grpc.reflection.v1.ServiceResponse.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.ServiceResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.ServiceResponse}\n */\nproto.grpc.reflection.v1.ServiceResponse.deserializeBinaryFromReader =\n  function (msg, reader) {\n    while (reader.nextField()) {\n      if (reader.isEndGroup()) {\n        break;\n      }\n      var field = reader.getFieldNumber();\n      switch (field) {\n        case 1:\n          var value = /** @type {string} */ (reader.readString());\n          msg.setName(value);\n          break;\n        default:\n          reader.skipField();\n          break;\n      }\n    }\n    return msg;\n  };\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.ServiceResponse.prototype.serializeBinary =\n  function () {\n    var writer = new BinaryWriter();\n    proto.grpc.reflection.v1.ServiceResponse.serializeBinaryToWriter(\n      this,\n      writer\n    );\n    return writer.getResultBuffer();\n  };\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.ServiceResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.ServiceResponse.serializeBinaryToWriter = function (\n  message,\n  writer\n) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(1, f);\n  }\n};\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.grpc.reflection.v1.ServiceResponse.prototype.getName = function () {\n  return /** @type {string} */ (Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ServiceResponse} returns this\n */\nproto.grpc.reflection.v1.ServiceResponse.prototype.setName = function (value) {\n  return Message.setProto3StringField(this, 1, value);\n};\n\nif (Message.GENERATE_TO_OBJECT) {\n  /**\n   * Creates an object representation of this proto.\n   * Field names that are reserved in JavaScript and will be renamed to pb_name.\n   * Optional fields that are not set will be set to undefined.\n   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n   * For the list of reserved names please see:\n   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n   * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n   *     JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @return {!Object}\n   */\n  proto.grpc.reflection.v1.ErrorResponse.prototype.toObject = function (\n    opt_includeInstance\n  ) {\n    return proto.grpc.reflection.v1.ErrorResponse.toObject(\n      opt_includeInstance,\n      this\n    );\n  };\n\n  /**\n   * Static version of the {@see toObject} method.\n   * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n   *     the JSPB instance for transitional soy proto support:\n   *     http://goto/soy-param-migration\n   * @param {!proto.grpc.reflection.v1.ErrorResponse} msg The msg instance to transform.\n   * @return {!Object}\n   * @suppress {unusedLocalVariables} f is only used for nested messages\n   */\n  proto.grpc.reflection.v1.ErrorResponse.toObject = function (\n    includeInstance,\n    msg\n  ) {\n    var f,\n      obj = {\n        errorCode: Message.getFieldWithDefault(msg, 1, 0),\n        errorMessage: Message.getFieldWithDefault(msg, 2, \"\"),\n      };\n\n    if (includeInstance) {\n      obj.$jspbMessageInstance = msg;\n    }\n    return obj;\n  };\n}\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.grpc.reflection.v1.ErrorResponse}\n */\nproto.grpc.reflection.v1.ErrorResponse.deserializeBinary = function (bytes) {\n  var reader = new BinaryReader(bytes);\n  var msg = new proto.grpc.reflection.v1.ErrorResponse();\n  return proto.grpc.reflection.v1.ErrorResponse.deserializeBinaryFromReader(\n    msg,\n    reader\n  );\n};\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.grpc.reflection.v1.ErrorResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.grpc.reflection.v1.ErrorResponse}\n */\nproto.grpc.reflection.v1.ErrorResponse.deserializeBinaryFromReader = function (\n  msg,\n  reader\n) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n      case 1:\n        var value = /** @type {number} */ (reader.readInt32());\n        msg.setErrorCode(value);\n        break;\n      case 2:\n        var value = /** @type {string} */ (reader.readString());\n        msg.setErrorMessage(value);\n        break;\n      default:\n        reader.skipField();\n        break;\n    }\n  }\n  return msg;\n};\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.grpc.reflection.v1.ErrorResponse.prototype.serializeBinary = function () {\n  var writer = new BinaryWriter();\n  proto.grpc.reflection.v1.ErrorResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.grpc.reflection.v1.ErrorResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.grpc.reflection.v1.ErrorResponse.serializeBinaryToWriter = function (\n  message,\n  writer\n) {\n  var f = undefined;\n  f = message.getErrorCode();\n  if (f !== 0) {\n    writer.writeInt32(1, f);\n  }\n  f = message.getErrorMessage();\n  if (f.length > 0) {\n    writer.writeString(2, f);\n  }\n};\n\n/**\n * optional int32 error_code = 1;\n * @return {number}\n */\nproto.grpc.reflection.v1.ErrorResponse.prototype.getErrorCode = function () {\n  return /** @type {number} */ (Message.getFieldWithDefault(this, 1, 0));\n};\n\n/**\n * @param {number} value\n * @return {!proto.grpc.reflection.v1.ErrorResponse} returns this\n */\nproto.grpc.reflection.v1.ErrorResponse.prototype.setErrorCode = function (\n  value\n) {\n  return Message.setProto3IntField(this, 1, value);\n};\n\n/**\n * optional string error_message = 2;\n * @return {string}\n */\nproto.grpc.reflection.v1.ErrorResponse.prototype.getErrorMessage = function () {\n  return /** @type {string} */ (Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n/**\n * @param {string} value\n * @return {!proto.grpc.reflection.v1.ErrorResponse} returns this\n */\nproto.grpc.reflection.v1.ErrorResponse.prototype.setErrorMessage = function (\n  value\n) {\n  return Message.setProto3StringField(this, 2, value);\n};\n\ngoog.object.extend(exports, proto.grpc.reflection.v1);\n","/**\n * @fileoverview gRPC-Web generated client stub for com.smartcloudsolutions.tollingvision\n * @enhanceable\n * @public\n */\n\n// Code generated by protoc-gen-grpc-web. DO NOT EDIT.\n// versions:\n// \tprotoc-gen-grpc-web v1.5.0\n// \tprotoc              v5.27.2\n// source: TollingVisionService.proto\n\n\n/* eslint-disable */\n// @ts-nocheck\n\n\nimport * as grpcWeb from 'grpc-web';\n\nimport * as TollingVisionService_pb from './TollingVisionService_pb'; // proto import: \"TollingVisionService.proto\"\n\n\nexport class TollingVisionServiceClient {\n  client_: grpcWeb.AbstractClientBase;\n  hostname_: string;\n  credentials_: null | { [index: string]: string; };\n  options_: null | { [index: string]: any; };\n\n  constructor (hostname: string,\n               credentials?: null | { [index: string]: string; },\n               options?: null | { [index: string]: any; }) {\n    if (!options) options = {};\n    if (!credentials) credentials = {};\n    options['format'] = 'text';\n\n    this.client_ = new grpcWeb.GrpcWebClientBase(options);\n    this.hostname_ = hostname.replace(/\\/+$/, '');\n    this.credentials_ = credentials;\n    this.options_ = options;\n  }\n\n  methodDescriptorsearch = new grpcWeb.MethodDescriptor(\n    '/com.smartcloudsolutions.tollingvision.TollingVisionService/search',\n    grpcWeb.MethodType.SERVER_STREAMING,\n    TollingVisionService_pb.SearchRequest,\n    TollingVisionService_pb.SearchResponse,\n    (request: TollingVisionService_pb.SearchRequest) => {\n      return request.serializeBinary();\n    },\n    TollingVisionService_pb.SearchResponse.deserializeBinary\n  );\n\n  search(\n    request: TollingVisionService_pb.SearchRequest,\n    metadata?: grpcWeb.Metadata): grpcWeb.ClientReadableStream<TollingVisionService_pb.SearchResponse> {\n    return this.client_.serverStreaming(\n      this.hostname_ +\n        '/com.smartcloudsolutions.tollingvision.TollingVisionService/search',\n      request,\n      metadata || {},\n      this.methodDescriptorsearch);\n  }\n\n  methodDescriptoranalyze = new grpcWeb.MethodDescriptor(\n    '/com.smartcloudsolutions.tollingvision.TollingVisionService/analyze',\n    grpcWeb.MethodType.SERVER_STREAMING,\n    TollingVisionService_pb.EventRequest,\n    TollingVisionService_pb.EventResponse,\n    (request: TollingVisionService_pb.EventRequest) => {\n      return request.serializeBinary();\n    },\n    TollingVisionService_pb.EventResponse.deserializeBinary\n  );\n\n  analyze(\n    request: TollingVisionService_pb.EventRequest,\n    metadata?: grpcWeb.Metadata): grpcWeb.ClientReadableStream<TollingVisionService_pb.EventResponse> {\n    return this.client_.serverStreaming(\n      this.hostname_ +\n        '/com.smartcloudsolutions.tollingvision.TollingVisionService/analyze',\n      request,\n      metadata || {},\n      this.methodDescriptoranalyze);\n  }\n\n  methodDescriptorstatus = new grpcWeb.MethodDescriptor(\n    '/com.smartcloudsolutions.tollingvision.TollingVisionService/status',\n    grpcWeb.MethodType.UNARY,\n    TollingVisionService_pb.ServerStatusRequest,\n    TollingVisionService_pb.ServerStatusResponse,\n    (request: TollingVisionService_pb.ServerStatusRequest) => {\n      return request.serializeBinary();\n    },\n    TollingVisionService_pb.ServerStatusResponse.deserializeBinary\n  );\n\n  status(\n    request: TollingVisionService_pb.ServerStatusRequest,\n    metadata?: grpcWeb.Metadata | null): Promise<TollingVisionService_pb.ServerStatusResponse>;\n\n  status(\n    request: TollingVisionService_pb.ServerStatusRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: TollingVisionService_pb.ServerStatusResponse) => void): grpcWeb.ClientReadableStream<TollingVisionService_pb.ServerStatusResponse>;\n\n  status(\n    request: TollingVisionService_pb.ServerStatusRequest,\n    metadata?: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: TollingVisionService_pb.ServerStatusResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/com.smartcloudsolutions.tollingvision.TollingVisionService/status',\n        request,\n        metadata || {},\n        this.methodDescriptorstatus,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/com.smartcloudsolutions.tollingvision.TollingVisionService/status',\n    request,\n    metadata || {},\n    this.methodDescriptorstatus);\n  }\n\n  methodDescriptorwatch = new grpcWeb.MethodDescriptor(\n    '/com.smartcloudsolutions.tollingvision.TollingVisionService/watch',\n    grpcWeb.MethodType.SERVER_STREAMING,\n    TollingVisionService_pb.LicenseServiceStatusRequest,\n    TollingVisionService_pb.LicenseServiceStatusResponse,\n    (request: TollingVisionService_pb.LicenseServiceStatusRequest) => {\n      return request.serializeBinary();\n    },\n    TollingVisionService_pb.LicenseServiceStatusResponse.deserializeBinary\n  );\n\n  watch(\n    request: TollingVisionService_pb.LicenseServiceStatusRequest,\n    metadata?: grpcWeb.Metadata): grpcWeb.ClientReadableStream<TollingVisionService_pb.LicenseServiceStatusResponse> {\n    return this.client_.serverStreaming(\n      this.hostname_ +\n        '/com.smartcloudsolutions.tollingvision.TollingVisionService/watch',\n      request,\n      metadata || {},\n      this.methodDescriptorwatch);\n  }\n\n}\n\n","\"use strict\";\r\n\r\nexport { TollingVisionServiceClient } from \"./generated/TollingVisionServiceServiceClientPb\";\r\nexport {\r\n  Status,\r\n  ResultType,\r\n  Error,\r\n  SignType,\r\n  Point,\r\n  Region,\r\n  Quadrilateral,\r\n  Image,\r\n  Plate,\r\n  Mmr,\r\n  Color,\r\n  Sign,\r\n  Vehicle,\r\n  LicenseService,\r\n  LicenseServiceStatus,\r\n  SearchRequest,\r\n  EventRequest,\r\n  ErrorResponse,\r\n  SearchResponse,\r\n  EventResult,\r\n  PartialResult,\r\n  EventResponse,\r\n  ServerStatusRequest,\r\n  ServerStatusResponse,\r\n  LicenseServiceStatusRequest,\r\n  LicenseServiceStatusResponse,\r\n} from \"./generated/TollingVisionService_pb\";\r\n\r\nexport { HealthClient } from \"./generated/HealthServiceClientPb\";\r\nexport { HealthCheckRequest, HealthCheckResponse } from \"./generated/Health_pb\";\r\nexport { ServerReflectionClient } from \"./generated/ReflectionServiceClientPb\";\r\nexport {\r\n  ServerReflectionRequest,\r\n  ServerReflectionResponse,\r\n} from \"./generated/Reflection_pb\";\r\n","/**\n * @fileoverview gRPC-Web generated client stub for grpc.health.v1\n * @enhanceable\n * @public\n */\n\n// Code generated by protoc-gen-grpc-web. DO NOT EDIT.\n// versions:\n// \tprotoc-gen-grpc-web v1.5.0\n// \tprotoc              v5.27.2\n// source: Health.proto\n\n\n/* eslint-disable */\n// @ts-nocheck\n\n\nimport * as grpcWeb from 'grpc-web';\n\nimport * as Health_pb from './Health_pb'; // proto import: \"Health.proto\"\n\n\nexport class HealthClient {\n  client_: grpcWeb.AbstractClientBase;\n  hostname_: string;\n  credentials_: null | { [index: string]: string; };\n  options_: null | { [index: string]: any; };\n\n  constructor (hostname: string,\n               credentials?: null | { [index: string]: string; },\n               options?: null | { [index: string]: any; }) {\n    if (!options) options = {};\n    if (!credentials) credentials = {};\n    options['format'] = 'text';\n\n    this.client_ = new grpcWeb.GrpcWebClientBase(options);\n    this.hostname_ = hostname.replace(/\\/+$/, '');\n    this.credentials_ = credentials;\n    this.options_ = options;\n  }\n\n  methodDescriptorCheck = new grpcWeb.MethodDescriptor(\n    '/grpc.health.v1.Health/Check',\n    grpcWeb.MethodType.UNARY,\n    Health_pb.HealthCheckRequest,\n    Health_pb.HealthCheckResponse,\n    (request: Health_pb.HealthCheckRequest) => {\n      return request.serializeBinary();\n    },\n    Health_pb.HealthCheckResponse.deserializeBinary\n  );\n\n  check(\n    request: Health_pb.HealthCheckRequest,\n    metadata?: grpcWeb.Metadata | null): Promise<Health_pb.HealthCheckResponse>;\n\n  check(\n    request: Health_pb.HealthCheckRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: Health_pb.HealthCheckResponse) => void): grpcWeb.ClientReadableStream<Health_pb.HealthCheckResponse>;\n\n  check(\n    request: Health_pb.HealthCheckRequest,\n    metadata?: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: Health_pb.HealthCheckResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/grpc.health.v1.Health/Check',\n        request,\n        metadata || {},\n        this.methodDescriptorCheck,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/grpc.health.v1.Health/Check',\n    request,\n    metadata || {},\n    this.methodDescriptorCheck);\n  }\n\n  methodDescriptorWatch = new grpcWeb.MethodDescriptor(\n    '/grpc.health.v1.Health/Watch',\n    grpcWeb.MethodType.SERVER_STREAMING,\n    Health_pb.HealthCheckRequest,\n    Health_pb.HealthCheckResponse,\n    (request: Health_pb.HealthCheckRequest) => {\n      return request.serializeBinary();\n    },\n    Health_pb.HealthCheckResponse.deserializeBinary\n  );\n\n  watch(\n    request: Health_pb.HealthCheckRequest,\n    metadata?: grpcWeb.Metadata): grpcWeb.ClientReadableStream<Health_pb.HealthCheckResponse> {\n    return this.client_.serverStreaming(\n      this.hostname_ +\n        '/grpc.health.v1.Health/Watch',\n      request,\n      metadata || {},\n      this.methodDescriptorWatch);\n  }\n\n}\n\n","/**\n * @fileoverview gRPC-Web generated client stub for grpc.reflection.v1\n * @enhanceable\n * @public\n */\n\n// Code generated by protoc-gen-grpc-web. DO NOT EDIT.\n// versions:\n// \tprotoc-gen-grpc-web v1.5.0\n// \tprotoc              v5.27.2\n// source: Reflection.proto\n\n\n/* eslint-disable */\n// @ts-nocheck\n\n\nimport * as grpcWeb from 'grpc-web';\n\nimport * as Reflection_pb from './Reflection_pb'; // proto import: \"Reflection.proto\"\n\n\nexport class ServerReflectionClient {\n  client_: grpcWeb.AbstractClientBase;\n  hostname_: string;\n  credentials_: null | { [index: string]: string; };\n  options_: null | { [index: string]: any; };\n\n  constructor (hostname: string,\n               credentials?: null | { [index: string]: string; },\n               options?: null | { [index: string]: any; }) {\n    if (!options) options = {};\n    if (!credentials) credentials = {};\n    options['format'] = 'text';\n\n    this.client_ = new grpcWeb.GrpcWebClientBase(options);\n    this.hostname_ = hostname.replace(/\\/+$/, '');\n    this.credentials_ = credentials;\n    this.options_ = options;\n  }\n\n}\n\n"],"mappings":"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","names":["jspb","Message","BinaryReader","BinaryWriter","jspb","Message","BinaryReader","BinaryWriter","grpcWeb","grpcWeb"]}