// Generated by the Protocol Buffers 3.0 compiler.  DO NOT EDIT!
// Source file "wrappers.proto"
// Syntax "Proto3"

import Foundation

public extension Google.Protobuf{}

public func == (lhs: Google.Protobuf.DoubleValue, rhs: Google.Protobuf.DoubleValue) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.FloatValue, rhs: Google.Protobuf.FloatValue) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.Int64Value, rhs: Google.Protobuf.Int64Value) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.Uint64Value, rhs: Google.Protobuf.Uint64Value) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.Int32Value, rhs: Google.Protobuf.Int32Value) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.Uint32Value, rhs: Google.Protobuf.Uint32Value) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.BoolValue, rhs: Google.Protobuf.BoolValue) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.StringValue, rhs: Google.Protobuf.StringValue) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public func == (lhs: Google.Protobuf.BytesValue, rhs: Google.Protobuf.BytesValue) -> Bool {
  if (lhs === rhs) {
    return true
  }
  var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
  fieldCheck = fieldCheck && (lhs.hasValue == rhs.hasValue) && (!lhs.hasValue || lhs.value == rhs.value)
  fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
  return fieldCheck
}

public extension Google.Protobuf {
  public struct WrappersRoot {
    public static var sharedInstance : WrappersRoot {
     struct Static {
         static let instance : WrappersRoot = WrappersRoot()
     }
     return Static.instance
    }
    public var extensionRegistry:ExtensionRegistry

    init() {
      extensionRegistry = ExtensionRegistry()
      registerAllExtensions(registry: extensionRegistry)
      Google.Protobuf.SwiftDescriptorRoot.sharedInstance.registerAllExtensions(registry: extensionRegistry)
    }
    public func registerAllExtensions(registry: ExtensionRegistry) {
    }
  }

  // Wrapper message for double.
  final public class DoubleValue : GeneratedMessage, GeneratedMessageProtocol {
    // The double value.
    public private(set) var value:Double = Double(0)

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeDouble(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeDoubleSize(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.DoubleValue> {
      var mergedArray = Array<Google.Protobuf.DoubleValue>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.DoubleValue? {
      return try Google.Protobuf.DoubleValue.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.DoubleValue.Builder {
      return Google.Protobuf.DoubleValue.classBuilder() as! Google.Protobuf.DoubleValue.Builder
    }
    public func getBuilder() -> Google.Protobuf.DoubleValue.Builder {
      return classBuilder() as! Google.Protobuf.DoubleValue.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.DoubleValue.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.DoubleValue.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.DoubleValue.Builder {
      return try Google.Protobuf.DoubleValue.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.DoubleValue) throws -> Google.Protobuf.DoubleValue.Builder {
      return try Google.Protobuf.DoubleValue.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = NSNumber(value:value)
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.DoubleValue {
      return try Google.Protobuf.DoubleValue.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.DoubleValue"
    }
    override public func className() -> String {
        return "Google.Protobuf.DoubleValue"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.DoubleValue.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.DoubleValue = Google.Protobuf.DoubleValue()
      public func getMessage() -> Google.Protobuf.DoubleValue {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:Double {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:Double) -> Google.Protobuf.DoubleValue.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.DoubleValue.Builder{
           builderResult.hasValue = false
           builderResult.value = Double(0)
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.DoubleValue.Builder {
        builderResult = Google.Protobuf.DoubleValue()
        return self
      }
      override public func clone() throws -> Google.Protobuf.DoubleValue.Builder {
        return try Google.Protobuf.DoubleValue.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.DoubleValue {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.DoubleValue {
        let returnMe:Google.Protobuf.DoubleValue = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.DoubleValue) throws -> Google.Protobuf.DoubleValue.Builder {
        if other == Google.Protobuf.DoubleValue() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.DoubleValue.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.DoubleValue.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 9:
            value = try codedInputStream.readDouble()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.DoubleValue.Builder {
        let resultDecodedBuilder = Google.Protobuf.DoubleValue.Builder()
        if let jsonValueValue = jsonMap["value"] as? NSNumber {
          resultDecodedBuilder.value = jsonValueValue.doubleValue
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.DoubleValue.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.DoubleValue.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for float.
  final public class FloatValue : GeneratedMessage, GeneratedMessageProtocol {
    // The float value.
    public private(set) var value:Float = Float(0)

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeFloat(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeFloatSize(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.FloatValue> {
      var mergedArray = Array<Google.Protobuf.FloatValue>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.FloatValue? {
      return try Google.Protobuf.FloatValue.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.FloatValue.Builder {
      return Google.Protobuf.FloatValue.classBuilder() as! Google.Protobuf.FloatValue.Builder
    }
    public func getBuilder() -> Google.Protobuf.FloatValue.Builder {
      return classBuilder() as! Google.Protobuf.FloatValue.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.FloatValue.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.FloatValue.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.FloatValue.Builder {
      return try Google.Protobuf.FloatValue.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.FloatValue) throws -> Google.Protobuf.FloatValue.Builder {
      return try Google.Protobuf.FloatValue.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = NSNumber(value:value)
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.FloatValue {
      return try Google.Protobuf.FloatValue.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.FloatValue"
    }
    override public func className() -> String {
        return "Google.Protobuf.FloatValue"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.FloatValue.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.FloatValue = Google.Protobuf.FloatValue()
      public func getMessage() -> Google.Protobuf.FloatValue {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:Float {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:Float) -> Google.Protobuf.FloatValue.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.FloatValue.Builder{
           builderResult.hasValue = false
           builderResult.value = Float(0)
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.FloatValue.Builder {
        builderResult = Google.Protobuf.FloatValue()
        return self
      }
      override public func clone() throws -> Google.Protobuf.FloatValue.Builder {
        return try Google.Protobuf.FloatValue.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.FloatValue {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.FloatValue {
        let returnMe:Google.Protobuf.FloatValue = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.FloatValue) throws -> Google.Protobuf.FloatValue.Builder {
        if other == Google.Protobuf.FloatValue() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.FloatValue.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.FloatValue.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 13:
            value = try codedInputStream.readFloat()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.FloatValue.Builder {
        let resultDecodedBuilder = Google.Protobuf.FloatValue.Builder()
        if let jsonValueValue = jsonMap["value"] as? NSNumber {
          resultDecodedBuilder.value = jsonValueValue.floatValue
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.FloatValue.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.FloatValue.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for int64.
  final public class Int64Value : GeneratedMessage, GeneratedMessageProtocol {
    // The int64 value.
    public private(set) var value:Int64 = Int64(0)

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeInt64(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeInt64Size(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.Int64Value> {
      var mergedArray = Array<Google.Protobuf.Int64Value>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.Int64Value? {
      return try Google.Protobuf.Int64Value.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.Int64Value.Builder {
      return Google.Protobuf.Int64Value.classBuilder() as! Google.Protobuf.Int64Value.Builder
    }
    public func getBuilder() -> Google.Protobuf.Int64Value.Builder {
      return classBuilder() as! Google.Protobuf.Int64Value.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Int64Value.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Int64Value.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.Int64Value.Builder {
      return try Google.Protobuf.Int64Value.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.Int64Value) throws -> Google.Protobuf.Int64Value.Builder {
      return try Google.Protobuf.Int64Value.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = "\(value)"
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.Int64Value {
      return try Google.Protobuf.Int64Value.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.Int64Value"
    }
    override public func className() -> String {
        return "Google.Protobuf.Int64Value"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.Int64Value.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.Int64Value = Google.Protobuf.Int64Value()
      public func getMessage() -> Google.Protobuf.Int64Value {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:Int64 {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:Int64) -> Google.Protobuf.Int64Value.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.Int64Value.Builder{
           builderResult.hasValue = false
           builderResult.value = Int64(0)
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.Int64Value.Builder {
        builderResult = Google.Protobuf.Int64Value()
        return self
      }
      override public func clone() throws -> Google.Protobuf.Int64Value.Builder {
        return try Google.Protobuf.Int64Value.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.Int64Value {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.Int64Value {
        let returnMe:Google.Protobuf.Int64Value = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.Int64Value) throws -> Google.Protobuf.Int64Value.Builder {
        if other == Google.Protobuf.Int64Value() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Int64Value.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int64Value.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 8:
            value = try codedInputStream.readInt64()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Int64Value.Builder {
        let resultDecodedBuilder = Google.Protobuf.Int64Value.Builder()
        if let jsonValueValue = jsonMap["value"] as? String {
          resultDecodedBuilder.value = Int64(jsonValueValue)!
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.Int64Value.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.Int64Value.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for uint64.
  final public class Uint64Value : GeneratedMessage, GeneratedMessageProtocol {
    // The uint64 value.
    public private(set) var value:UInt64 = UInt64(0)

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeUInt64(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeUInt64Size(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.Uint64Value> {
      var mergedArray = Array<Google.Protobuf.Uint64Value>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.Uint64Value? {
      return try Google.Protobuf.Uint64Value.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.Uint64Value.Builder {
      return Google.Protobuf.Uint64Value.classBuilder() as! Google.Protobuf.Uint64Value.Builder
    }
    public func getBuilder() -> Google.Protobuf.Uint64Value.Builder {
      return classBuilder() as! Google.Protobuf.Uint64Value.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Uint64Value.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Uint64Value.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.Uint64Value.Builder {
      return try Google.Protobuf.Uint64Value.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.Uint64Value) throws -> Google.Protobuf.Uint64Value.Builder {
      return try Google.Protobuf.Uint64Value.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = "\(value)"
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.Uint64Value {
      return try Google.Protobuf.Uint64Value.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.Uint64Value"
    }
    override public func className() -> String {
        return "Google.Protobuf.Uint64Value"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.Uint64Value.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.Uint64Value = Google.Protobuf.Uint64Value()
      public func getMessage() -> Google.Protobuf.Uint64Value {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:UInt64 {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:UInt64) -> Google.Protobuf.Uint64Value.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.Uint64Value.Builder{
           builderResult.hasValue = false
           builderResult.value = UInt64(0)
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.Uint64Value.Builder {
        builderResult = Google.Protobuf.Uint64Value()
        return self
      }
      override public func clone() throws -> Google.Protobuf.Uint64Value.Builder {
        return try Google.Protobuf.Uint64Value.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.Uint64Value {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.Uint64Value {
        let returnMe:Google.Protobuf.Uint64Value = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.Uint64Value) throws -> Google.Protobuf.Uint64Value.Builder {
        if other == Google.Protobuf.Uint64Value() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Uint64Value.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint64Value.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 8:
            value = try codedInputStream.readUInt64()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Uint64Value.Builder {
        let resultDecodedBuilder = Google.Protobuf.Uint64Value.Builder()
        if let jsonValueValue = jsonMap["value"] as? String {
          resultDecodedBuilder.value = UInt64(jsonValueValue)!
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.Uint64Value.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.Uint64Value.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for int32.
  final public class Int32Value : GeneratedMessage, GeneratedMessageProtocol {
    // The int32 value.
    public private(set) var value:Int32 = Int32(0)

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeInt32(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeInt32Size(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.Int32Value> {
      var mergedArray = Array<Google.Protobuf.Int32Value>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.Int32Value? {
      return try Google.Protobuf.Int32Value.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.Int32Value.Builder {
      return Google.Protobuf.Int32Value.classBuilder() as! Google.Protobuf.Int32Value.Builder
    }
    public func getBuilder() -> Google.Protobuf.Int32Value.Builder {
      return classBuilder() as! Google.Protobuf.Int32Value.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Int32Value.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Int32Value.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.Int32Value.Builder {
      return try Google.Protobuf.Int32Value.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.Int32Value) throws -> Google.Protobuf.Int32Value.Builder {
      return try Google.Protobuf.Int32Value.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = NSNumber(value:value)
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.Int32Value {
      return try Google.Protobuf.Int32Value.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.Int32Value"
    }
    override public func className() -> String {
        return "Google.Protobuf.Int32Value"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.Int32Value.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.Int32Value = Google.Protobuf.Int32Value()
      public func getMessage() -> Google.Protobuf.Int32Value {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:Int32 {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:Int32) -> Google.Protobuf.Int32Value.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.Int32Value.Builder{
           builderResult.hasValue = false
           builderResult.value = Int32(0)
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.Int32Value.Builder {
        builderResult = Google.Protobuf.Int32Value()
        return self
      }
      override public func clone() throws -> Google.Protobuf.Int32Value.Builder {
        return try Google.Protobuf.Int32Value.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.Int32Value {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.Int32Value {
        let returnMe:Google.Protobuf.Int32Value = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.Int32Value) throws -> Google.Protobuf.Int32Value.Builder {
        if other == Google.Protobuf.Int32Value() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Int32Value.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Int32Value.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 8:
            value = try codedInputStream.readInt32()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Int32Value.Builder {
        let resultDecodedBuilder = Google.Protobuf.Int32Value.Builder()
        if let jsonValueValue = jsonMap["value"] as? NSNumber {
          resultDecodedBuilder.value = jsonValueValue.int32Value
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.Int32Value.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.Int32Value.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for uint32.
  final public class Uint32Value : GeneratedMessage, GeneratedMessageProtocol {
    // The uint32 value.
    public private(set) var value:UInt32 = UInt32(0)

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeUInt32(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeUInt32Size(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.Uint32Value> {
      var mergedArray = Array<Google.Protobuf.Uint32Value>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.Uint32Value? {
      return try Google.Protobuf.Uint32Value.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.Uint32Value.Builder {
      return Google.Protobuf.Uint32Value.classBuilder() as! Google.Protobuf.Uint32Value.Builder
    }
    public func getBuilder() -> Google.Protobuf.Uint32Value.Builder {
      return classBuilder() as! Google.Protobuf.Uint32Value.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Uint32Value.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.Uint32Value.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.Uint32Value.Builder {
      return try Google.Protobuf.Uint32Value.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.Uint32Value) throws -> Google.Protobuf.Uint32Value.Builder {
      return try Google.Protobuf.Uint32Value.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = NSNumber(value:value)
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.Uint32Value {
      return try Google.Protobuf.Uint32Value.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.Uint32Value"
    }
    override public func className() -> String {
        return "Google.Protobuf.Uint32Value"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.Uint32Value.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.Uint32Value = Google.Protobuf.Uint32Value()
      public func getMessage() -> Google.Protobuf.Uint32Value {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:UInt32 {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:UInt32) -> Google.Protobuf.Uint32Value.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.Uint32Value.Builder{
           builderResult.hasValue = false
           builderResult.value = UInt32(0)
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.Uint32Value.Builder {
        builderResult = Google.Protobuf.Uint32Value()
        return self
      }
      override public func clone() throws -> Google.Protobuf.Uint32Value.Builder {
        return try Google.Protobuf.Uint32Value.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.Uint32Value {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.Uint32Value {
        let returnMe:Google.Protobuf.Uint32Value = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.Uint32Value) throws -> Google.Protobuf.Uint32Value.Builder {
        if other == Google.Protobuf.Uint32Value() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.Uint32Value.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.Uint32Value.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 8:
            value = try codedInputStream.readUInt32()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.Uint32Value.Builder {
        let resultDecodedBuilder = Google.Protobuf.Uint32Value.Builder()
        if let jsonValueValue = jsonMap["value"] as? NSNumber {
          resultDecodedBuilder.value = jsonValueValue.uint32Value
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.Uint32Value.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.Uint32Value.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for bool.
  final public class BoolValue : GeneratedMessage, GeneratedMessageProtocol {
    // The bool value.
    public private(set) var value:Bool = false

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeBool(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeBoolSize(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.BoolValue> {
      var mergedArray = Array<Google.Protobuf.BoolValue>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.BoolValue? {
      return try Google.Protobuf.BoolValue.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.BoolValue.Builder {
      return Google.Protobuf.BoolValue.classBuilder() as! Google.Protobuf.BoolValue.Builder
    }
    public func getBuilder() -> Google.Protobuf.BoolValue.Builder {
      return classBuilder() as! Google.Protobuf.BoolValue.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.BoolValue.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.BoolValue.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.BoolValue.Builder {
      return try Google.Protobuf.BoolValue.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.BoolValue) throws -> Google.Protobuf.BoolValue.Builder {
      return try Google.Protobuf.BoolValue.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = value
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.BoolValue {
      return try Google.Protobuf.BoolValue.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.BoolValue"
    }
    override public func className() -> String {
        return "Google.Protobuf.BoolValue"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.BoolValue.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.BoolValue = Google.Protobuf.BoolValue()
      public func getMessage() -> Google.Protobuf.BoolValue {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:Bool {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:Bool) -> Google.Protobuf.BoolValue.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.BoolValue.Builder{
           builderResult.hasValue = false
           builderResult.value = false
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.BoolValue.Builder {
        builderResult = Google.Protobuf.BoolValue()
        return self
      }
      override public func clone() throws -> Google.Protobuf.BoolValue.Builder {
        return try Google.Protobuf.BoolValue.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.BoolValue {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.BoolValue {
        let returnMe:Google.Protobuf.BoolValue = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.BoolValue) throws -> Google.Protobuf.BoolValue.Builder {
        if other == Google.Protobuf.BoolValue() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.BoolValue.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BoolValue.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 8:
            value = try codedInputStream.readBool()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.BoolValue.Builder {
        let resultDecodedBuilder = Google.Protobuf.BoolValue.Builder()
        if let jsonValueValue = jsonMap["value"] as? Bool {
          resultDecodedBuilder.value = jsonValueValue
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.BoolValue.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.BoolValue.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for string.
  final public class StringValue : GeneratedMessage, GeneratedMessageProtocol {
    // The string value.
    public private(set) var value:String = ""

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeString(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeStringSize(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.StringValue> {
      var mergedArray = Array<Google.Protobuf.StringValue>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.StringValue? {
      return try Google.Protobuf.StringValue.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.StringValue.Builder {
      return Google.Protobuf.StringValue.classBuilder() as! Google.Protobuf.StringValue.Builder
    }
    public func getBuilder() -> Google.Protobuf.StringValue.Builder {
      return classBuilder() as! Google.Protobuf.StringValue.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.StringValue.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.StringValue.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.StringValue.Builder {
      return try Google.Protobuf.StringValue.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.StringValue) throws -> Google.Protobuf.StringValue.Builder {
      return try Google.Protobuf.StringValue.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = value
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.StringValue {
      return try Google.Protobuf.StringValue.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.StringValue"
    }
    override public func className() -> String {
        return "Google.Protobuf.StringValue"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.StringValue.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.StringValue = Google.Protobuf.StringValue()
      public func getMessage() -> Google.Protobuf.StringValue {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:String {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:String) -> Google.Protobuf.StringValue.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.StringValue.Builder{
           builderResult.hasValue = false
           builderResult.value = ""
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.StringValue.Builder {
        builderResult = Google.Protobuf.StringValue()
        return self
      }
      override public func clone() throws -> Google.Protobuf.StringValue.Builder {
        return try Google.Protobuf.StringValue.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.StringValue {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.StringValue {
        let returnMe:Google.Protobuf.StringValue = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.StringValue) throws -> Google.Protobuf.StringValue.Builder {
        if other == Google.Protobuf.StringValue() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.StringValue.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.StringValue.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 10:
            value = try codedInputStream.readString()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.StringValue.Builder {
        let resultDecodedBuilder = Google.Protobuf.StringValue.Builder()
        if let jsonValueValue = jsonMap["value"] as? String {
          resultDecodedBuilder.value = jsonValueValue
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.StringValue.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.StringValue.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

  // Wrapper message for bytes.
  final public class BytesValue : GeneratedMessage, GeneratedMessageProtocol {
    // The bytes value.
    public private(set) var value:Data = Data()

    public private(set) var hasValue:Bool = false
    required public init() {
         super.init()
    }
    override public func isInitialized() -> Bool {
     return true
    }
    override public func writeTo(codedOutputStream: CodedOutputStream) throws {
      if hasValue {
        try codedOutputStream.writeData(fieldNumber: 1, value:value)
      }
      try unknownFields.writeTo(codedOutputStream: codedOutputStream)
    }
    override public func serializedSize() -> Int32 {
      var serialize_size:Int32 = memoizedSerializedSize
      if serialize_size != -1 {
       return serialize_size
      }

      serialize_size = 0
      if hasValue {
        serialize_size += value.computeDataSize(fieldNumber: 1)
      }
      serialize_size += unknownFields.serializedSize()
      memoizedSerializedSize = serialize_size
      return serialize_size
    }
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.BytesValue> {
      var mergedArray = Array<Google.Protobuf.BytesValue>()
      while let value = try parseDelimitedFrom(inputStream: inputStream) {
        mergedArray.append(value)
      }
      return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.BytesValue? {
      return try Google.Protobuf.BytesValue.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.WrappersRoot.sharedInstance.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func getBuilder() -> Google.Protobuf.BytesValue.Builder {
      return Google.Protobuf.BytesValue.classBuilder() as! Google.Protobuf.BytesValue.Builder
    }
    public func getBuilder() -> Google.Protobuf.BytesValue.Builder {
      return classBuilder() as! Google.Protobuf.BytesValue.Builder
    }
    override public class func classBuilder() -> MessageBuilder {
      return Google.Protobuf.BytesValue.Builder()
    }
    override public func classBuilder() -> MessageBuilder {
      return Google.Protobuf.BytesValue.Builder()
    }
    public func toBuilder() throws -> Google.Protobuf.BytesValue.Builder {
      return try Google.Protobuf.BytesValue.builderWithPrototype(prototype:self)
    }
    public class func builderWithPrototype(prototype:Google.Protobuf.BytesValue) throws -> Google.Protobuf.BytesValue.Builder {
      return try Google.Protobuf.BytesValue.Builder().mergeFrom(other:prototype)
    }
    override public func encode() throws -> Dictionary<String,AnyObject> {
      guard isInitialized() else {
        throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message")
      }

      var jsonMap:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>()
      if hasValue {
        jsonMap["value"] = value.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0))
      }
      return jsonMap
    }
    override class public func decode(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder.decodeToBuilder(jsonMap:jsonMap).build()
    }
    override class public func fromJSON(data:Data) throws -> Google.Protobuf.BytesValue {
      return try Google.Protobuf.BytesValue.Builder.fromJSONToBuilder(data:data).build()
    }
    override public func getDescription(indent:String) throws -> String {
      var output = ""
      if hasValue {
        output += "\(indent) value: \(value) \n"
      }
      output += unknownFields.getDescription(indent: indent)
      return output
    }
    override public var hashValue:Int {
        get {
            var hashCode:Int = 7
            if hasValue {
               hashCode = (hashCode &* 31) &+ value.hashValue
            }
            hashCode = (hashCode &* 31) &+  unknownFields.hashValue
            return hashCode
        }
    }


    //Meta information declaration start

    override public class func className() -> String {
        return "Google.Protobuf.BytesValue"
    }
    override public func className() -> String {
        return "Google.Protobuf.BytesValue"
    }
    override public func classMetaType() -> GeneratedMessage.Type {
        return Google.Protobuf.BytesValue.self
    }
    //Meta information declaration end

    final public class Builder : GeneratedMessageBuilder {
      private var builderResult:Google.Protobuf.BytesValue = Google.Protobuf.BytesValue()
      public func getMessage() -> Google.Protobuf.BytesValue {
          return builderResult
      }

      required override public init () {
         super.init()
      }
      public var hasValue:Bool {
           get {
                return builderResult.hasValue
           }
      }
      public var value:Data {
           get {
                return builderResult.value
           }
           set (value) {
               builderResult.hasValue = true
               builderResult.value = value
           }
      }
      public func setValue(_ value:Data) -> Google.Protobuf.BytesValue.Builder {
        self.value = value
        return self
      }
      public func clearValue() -> Google.Protobuf.BytesValue.Builder{
           builderResult.hasValue = false
           builderResult.value = Data()
           return self
      }
      override public var internalGetResult:GeneratedMessage {
           get {
              return builderResult
           }
      }
      override public func clear() -> Google.Protobuf.BytesValue.Builder {
        builderResult = Google.Protobuf.BytesValue()
        return self
      }
      override public func clone() throws -> Google.Protobuf.BytesValue.Builder {
        return try Google.Protobuf.BytesValue.builderWithPrototype(prototype:builderResult)
      }
      override public func build() throws -> Google.Protobuf.BytesValue {
           try checkInitialized()
           return buildPartial()
      }
      public func buildPartial() -> Google.Protobuf.BytesValue {
        let returnMe:Google.Protobuf.BytesValue = builderResult
        return returnMe
      }
      public func mergeFrom(other:Google.Protobuf.BytesValue) throws -> Google.Protobuf.BytesValue.Builder {
        if other == Google.Protobuf.BytesValue() {
         return self
        }
        if other.hasValue {
             value = other.value
        }
        _ = try merge(unknownField: other.unknownFields)
        return self
      }
      override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.BytesValue.Builder {
           return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
      }
      override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.BytesValue.Builder {
        let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
        while (true) {
          let protobufTag = try codedInputStream.readTag()
          switch protobufTag {
          case 0: 
            self.unknownFields = try unknownFieldsBuilder.build()
            return self

          case 10:
            value = try codedInputStream.readData()

          default:
            if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
               unknownFields = try unknownFieldsBuilder.build()
               return self
            }
          }
        }
      }
      override class public func decodeToBuilder(jsonMap:Dictionary<String,AnyObject>) throws -> Google.Protobuf.BytesValue.Builder {
        let resultDecodedBuilder = Google.Protobuf.BytesValue.Builder()
        if let jsonValueValue = jsonMap["value"] as? String {
          resultDecodedBuilder.value = Data(base64Encoded:jsonValueValue.utf8ToNSData(), options: Data.Base64DecodingOptions(rawValue:0))!
        }
        return resultDecodedBuilder
      }
      override class public func fromJSONToBuilder(data:Data) throws -> Google.Protobuf.BytesValue.Builder {
        let jsonData = try JSONSerialization.jsonObject(with:data, options: JSONSerialization.ReadingOptions(rawValue: 0))
        guard let jsDataCast = jsonData as? Dictionary<String,AnyObject> else {
          throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
        }
        return try Google.Protobuf.BytesValue.Builder.decodeToBuilder(jsonMap:jsDataCast)
      }
    }

  }

}

// @@protoc_insertion_point(global_scope)
