content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: resources/media.proto
  
  package com.alibaba.fastjson2.benchmark.protobuf;
  
  public final class MediaContentHolder {
    private MediaContentHolder() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistryLite registry) {
    }
  
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
      registerAllExtensions(
          (com.google.protobuf.ExtensionRegistryLite) registry);
    }
    public interface ImageOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.alibaba.fastjson2.benchmark.protobuf.Image)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <pre>
       *url to the thumbnail
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      java.lang.String getUri();
      /**
       * <pre>
       *url to the thumbnail
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      com.google.protobuf.ByteString
          getUriBytes();
  
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>string title = 2;</code>
       * @return The title.
       */
      java.lang.String getTitle();
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>string title = 2;</code>
       * @return The bytes for title.
       */
      com.google.protobuf.ByteString
          getTitleBytes();
  
      /**
       * <pre>
       * of the image
       * </pre>
       *
       * <code>int32 width = 3;</code>
       * @return The width.
       */
      int getWidth();
  
      /**
       * <pre>
       * of the image
       * </pre>
       *
       * <code>int32 height = 4;</code>
       * @return The height.
       */
      int getHeight();
  
      /**
       * <pre>
       * of the image (in relative terms, provided by cnbc for example)
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
       * @return The enum numeric value on the wire for size.
       */
      int getSizeValue();
      /**
       * <pre>
       * of the image (in relative terms, provided by cnbc for example)
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
       * @return The size.
       */
      com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size getSize();
    }
    /**
     * Protobuf type {@code com.alibaba.fastjson2.benchmark.protobuf.Image}
     */
    public static final class Image extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.alibaba.fastjson2.benchmark.protobuf.Image)
        ImageOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Image.newBuilder() to construct.
      private Image(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Image() {
        uri_ = "";
        title_ = "";
        size_ = 0;
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Image();
      }
  
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.class, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder.class);
      }
  
      /**
       * Protobuf enum {@code com.alibaba.fastjson2.benchmark.protobuf.Image.Size}
       */
      public enum Size
          implements com.google.protobuf.ProtocolMessageEnum {
        /**
         * <code>SMALL = 0;</code>
         */
        SMALL(0),
        /**
         * <code>LARGE = 1;</code>
         */
        LARGE(1),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>SMALL = 0;</code>
         */
        public static final int SMALL_VALUE = 0;
        /**
         * <code>LARGE = 1;</code>
         */
        public static final int LARGE_VALUE = 1;
  
  
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          return value;
        }
  
        /**
         * @param value The numeric wire value of the corresponding enum entry.
         * @return The enum associated with the given numeric wire value.
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static Size valueOf(int value) {
          return forNumber(value);
        }
  
        /**
         * @param value The numeric wire value of the corresponding enum entry.
         * @return The enum associated with the given numeric wire value.
         */
        public static Size forNumber(int value) {
          switch (value) {
            case 0: return SMALL;
            case 1: return LARGE;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Size>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Size> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Size>() {
                public Size findValueByNumber(int number) {
                  return Size.forNumber(number);
                }
              };
  
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalStateException(
                "Can't get the descriptor of an unrecognized enum value.");
          }
          return getDescriptor().getValues().get(ordinal());
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.getDescriptor().getEnumTypes().get(0);
        }
  
        private static final Size[] VALUES = values();
  
        public static Size valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          if (desc.getIndex() == -1) {
            return UNRECOGNIZED;
          }
          return VALUES[desc.getIndex()];
        }
  
        private final int value;
  
        private Size(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:com.alibaba.fastjson2.benchmark.protobuf.Image.Size)
      }
  
      public static final int URI_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object uri_ = "";
      /**
       * <pre>
       *url to the thumbnail
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      @java.lang.Override
      public java.lang.String getUri() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          uri_ = s;
          return s;
        }
      }
      /**
       * <pre>
       *url to the thumbnail
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUriBytes() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int TITLE_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object title_ = "";
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>string title = 2;</code>
       * @return The title.
       */
      @java.lang.Override
      public java.lang.String getTitle() {
        java.lang.Object ref = title_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          title_ = s;
          return s;
        }
      }
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>string title = 2;</code>
       * @return The bytes for title.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTitleBytes() {
        java.lang.Object ref = title_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          title_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int WIDTH_FIELD_NUMBER = 3;
      private int width_ = 0;
      /**
       * <pre>
       * of the image
       * </pre>
       *
       * <code>int32 width = 3;</code>
       * @return The width.
       */
      @java.lang.Override
      public int getWidth() {
        return width_;
      }
  
      public static final int HEIGHT_FIELD_NUMBER = 4;
      private int height_ = 0;
      /**
       * <pre>
       * of the image
       * </pre>
       *
       * <code>int32 height = 4;</code>
       * @return The height.
       */
      @java.lang.Override
      public int getHeight() {
        return height_;
      }
  
      public static final int SIZE_FIELD_NUMBER = 5;
      private int size_ = 0;
      /**
       * <pre>
       * of the image (in relative terms, provided by cnbc for example)
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
       * @return The enum numeric value on the wire for size.
       */
      @java.lang.Override public int getSizeValue() {
        return size_;
      }
      /**
       * <pre>
       * of the image (in relative terms, provided by cnbc for example)
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
       * @return The size.
       */
      @java.lang.Override public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size getSize() {
        com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size result = com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size.forNumber(size_);
        return result == null ? com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size.UNRECOGNIZED : result;
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, title_);
        }
        if (width_ != 0) {
          output.writeInt32(3, width_);
        }
        if (height_ != 0) {
          output.writeInt32(4, height_);
        }
        if (size_ != com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size.SMALL.getNumber()) {
          output.writeEnum(5, size_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, title_);
        }
        if (width_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, width_);
        }
        if (height_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, height_);
        }
        if (size_ != com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size.SMALL.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(5, size_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image)) {
          return super.equals(obj);
        }
        com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image other = (com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image) obj;
  
        if (!getUri()
            .equals(other.getUri())) return false;
        if (!getTitle()
            .equals(other.getTitle())) return false;
        if (getWidth()
            != other.getWidth()) return false;
        if (getHeight()
            != other.getHeight()) return false;
        if (size_ != other.size_) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + URI_FIELD_NUMBER;
        hash = (53 * hash) + getUri().hashCode();
        hash = (37 * hash) + TITLE_FIELD_NUMBER;
        hash = (53 * hash) + getTitle().hashCode();
        hash = (37 * hash) + WIDTH_FIELD_NUMBER;
        hash = (53 * hash) + getWidth();
        hash = (37 * hash) + HEIGHT_FIELD_NUMBER;
        hash = (53 * hash) + getHeight();
        hash = (37 * hash) + SIZE_FIELD_NUMBER;
        hash = (53 * hash) + size_;
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.alibaba.fastjson2.benchmark.protobuf.Image}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.alibaba.fastjson2.benchmark.protobuf.Image)
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.class, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder.class);
        }
  
        // Construct using com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          uri_ = "";
          title_ = "";
          width_ = 0;
          height_ = 0;
          size_ = 0;
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_descriptor;
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image getDefaultInstanceForType() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.getDefaultInstance();
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image build() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image buildPartial() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image result = new com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.uri_ = uri_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.title_ = title_;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.width_ = width_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.height_ = height_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.size_ = size_;
          }
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image) {
            return mergeFrom((com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image other) {
          if (other == com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.getDefaultInstance()) return this;
          if (!other.getUri().isEmpty()) {
            uri_ = other.uri_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (!other.getTitle().isEmpty()) {
            title_ = other.title_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getWidth() != 0) {
            setWidth(other.getWidth());
          }
          if (other.getHeight() != 0) {
            setHeight(other.getHeight());
          }
          if (other.size_ != 0) {
            setSizeValue(other.getSizeValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  uri_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  title_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  width_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  height_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                case 40: {
                  size_ = input.readEnum();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 40
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object uri_ = "";
        /**
         * <pre>
         *url to the thumbnail
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @return The uri.
         */
        public java.lang.String getUri() {
          java.lang.Object ref = uri_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            uri_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         *url to the thumbnail
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @return The bytes for uri.
         */
        public com.google.protobuf.ByteString
            getUriBytes() {
          java.lang.Object ref = uri_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b =
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            uri_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         *url to the thumbnail
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @param value The uri to set.
         * @return This builder for chaining.
         */
        public Builder setUri(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *url to the thumbnail
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearUri() {
          uri_ = getDefaultInstance().getUri();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *url to the thumbnail
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @param value The bytes for uri to set.
         * @return This builder for chaining.
         */
        public Builder setUriBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private java.lang.Object title_ = "";
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>string title = 2;</code>
         * @return The title.
         */
        public java.lang.String getTitle() {
          java.lang.Object ref = title_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            title_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>string title = 2;</code>
         * @return The bytes for title.
         */
        public com.google.protobuf.ByteString
            getTitleBytes() {
          java.lang.Object ref = title_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b =
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            title_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>string title = 2;</code>
         * @param value The title to set.
         * @return This builder for chaining.
         */
        public Builder setTitle(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          title_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>string title = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearTitle() {
          title_ = getDefaultInstance().getTitle();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>string title = 2;</code>
         * @param value The bytes for title to set.
         * @return This builder for chaining.
         */
        public Builder setTitleBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          title_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
  
        private int width_ ;
        /**
         * <pre>
         * of the image
         * </pre>
         *
         * <code>int32 width = 3;</code>
         * @return The width.
         */
        @java.lang.Override
        public int getWidth() {
          return width_;
        }
        /**
         * <pre>
         * of the image
         * </pre>
         *
         * <code>int32 width = 3;</code>
         * @param value The width to set.
         * @return This builder for chaining.
         */
        public Builder setWidth(int value) {
  
          width_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * of the image
         * </pre>
         *
         * <code>int32 width = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearWidth() {
          bitField0_ = (bitField0_ & ~0x00000004);
          width_ = 0;
          onChanged();
          return this;
        }
  
        private int height_ ;
        /**
         * <pre>
         * of the image
         * </pre>
         *
         * <code>int32 height = 4;</code>
         * @return The height.
         */
        @java.lang.Override
        public int getHeight() {
          return height_;
        }
        /**
         * <pre>
         * of the image
         * </pre>
         *
         * <code>int32 height = 4;</code>
         * @param value The height to set.
         * @return This builder for chaining.
         */
        public Builder setHeight(int value) {
  
          height_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * of the image
         * </pre>
         *
         * <code>int32 height = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearHeight() {
          bitField0_ = (bitField0_ & ~0x00000008);
          height_ = 0;
          onChanged();
          return this;
        }
  
        private int size_ = 0;
        /**
         * <pre>
         * of the image (in relative terms, provided by cnbc for example)
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
         * @return The enum numeric value on the wire for size.
         */
        @java.lang.Override public int getSizeValue() {
          return size_;
        }
        /**
         * <pre>
         * of the image (in relative terms, provided by cnbc for example)
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
         * @param value The enum numeric value on the wire for size to set.
         * @return This builder for chaining.
         */
        public Builder setSizeValue(int value) {
          size_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * of the image (in relative terms, provided by cnbc for example)
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
         * @return The size.
         */
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size getSize() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size result = com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size.forNumber(size_);
          return result == null ? com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size.UNRECOGNIZED : result;
        }
        /**
         * <pre>
         * of the image (in relative terms, provided by cnbc for example)
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
         * @param value The size to set.
         * @return This builder for chaining.
         */
        public Builder setSize(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Size value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000010;
          size_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <pre>
         * of the image (in relative terms, provided by cnbc for example)
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Image.Size size = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearSize() {
          bitField0_ = (bitField0_ & ~0x00000010);
          size_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:com.alibaba.fastjson2.benchmark.protobuf.Image)
      }
  
      // @@protoc_insertion_point(class_scope:com.alibaba.fastjson2.benchmark.protobuf.Image)
      private static final com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image();
      }
  
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static final com.google.protobuf.Parser<Image>
          PARSER = new com.google.protobuf.AbstractParser<Image>() {
        @java.lang.Override
        public Image parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static com.google.protobuf.Parser<Image> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.google.protobuf.Parser<Image> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface MediaOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.alibaba.fastjson2.benchmark.protobuf.Media)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <pre>
       *uri to the video, may not be an actual URL
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      java.lang.String getUri();
      /**
       * <pre>
       *uri to the video, may not be an actual URL
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      com.google.protobuf.ByteString
          getUriBytes();
  
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>optional string title = 2;</code>
       * @return Whether the title field is set.
       */
      boolean hasTitle();
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>optional string title = 2;</code>
       * @return The title.
       */
      java.lang.String getTitle();
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>optional string title = 2;</code>
       * @return The bytes for title.
       */
      com.google.protobuf.ByteString
          getTitleBytes();
  
      /**
       * <pre>
       * of the video
       * </pre>
       *
       * <code>int32 width = 3;</code>
       * @return The width.
       */
      int getWidth();
  
      /**
       * <pre>
       * of the video
       * </pre>
       *
       * <code>int32 height = 4;</code>
       * @return The height.
       */
      int getHeight();
  
      /**
       * <pre>
       *avi, jpg, youtube, cnbc, audio/mpeg formats ...
       * </pre>
       *
       * <code>string format = 5;</code>
       * @return The format.
       */
      java.lang.String getFormat();
      /**
       * <pre>
       *avi, jpg, youtube, cnbc, audio/mpeg formats ...
       * </pre>
       *
       * <code>string format = 5;</code>
       * @return The bytes for format.
       */
      com.google.protobuf.ByteString
          getFormatBytes();
  
      /**
       * <pre>
       *time in miliseconds
       * </pre>
       *
       * <code>int64 duration = 6;</code>
       * @return The duration.
       */
      long getDuration();
  
      /**
       * <pre>
       *file size
       * </pre>
       *
       * <code>int64 size = 7;</code>
       * @return The size.
       */
      long getSize();
  
      /**
       * <pre>
       *video
       * </pre>
       *
       * <code>optional int32 bitrate = 8;</code>
       * @return Whether the bitrate field is set.
       */
      boolean hasBitrate();
      /**
       * <pre>
       *video
       * </pre>
       *
       * <code>optional int32 bitrate = 8;</code>
       * @return The bitrate.
       */
      int getBitrate();
  
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @return A list containing the person.
       */
      java.util.List<java.lang.String>
          getPersonList();
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @return The count of person.
       */
      int getPersonCount();
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @param index The index of the element to return.
       * @return The person at the given index.
       */
      java.lang.String getPerson(int index);
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @param index The index of the value to return.
       * @return The bytes of the person at the given index.
       */
      com.google.protobuf.ByteString
          getPersonBytes(int index);
  
      /**
       * <pre>
       *in case of a player specific media
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
       * @return The enum numeric value on the wire for player.
       */
      int getPlayerValue();
      /**
       * <pre>
       *in case of a player specific media
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
       * @return The player.
       */
      com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player getPlayer();
  
      /**
       * <pre>
       *media copyright
       * </pre>
       *
       * <code>optional string copyright = 11;</code>
       * @return Whether the copyright field is set.
       */
      boolean hasCopyright();
      /**
       * <pre>
       *media copyright
       * </pre>
       *
       * <code>optional string copyright = 11;</code>
       * @return The copyright.
       */
      java.lang.String getCopyright();
      /**
       * <pre>
       *media copyright
       * </pre>
       *
       * <code>optional string copyright = 11;</code>
       * @return The bytes for copyright.
       */
      com.google.protobuf.ByteString
          getCopyrightBytes();
    }
    /**
     * Protobuf type {@code com.alibaba.fastjson2.benchmark.protobuf.Media}
     */
    public static final class Media extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.alibaba.fastjson2.benchmark.protobuf.Media)
        MediaOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Media.newBuilder() to construct.
      private Media(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Media() {
        uri_ = "";
        title_ = "";
        format_ = "";
        person_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        player_ = 0;
        copyright_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Media();
      }
  
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.class, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Builder.class);
      }
  
      /**
       * Protobuf enum {@code com.alibaba.fastjson2.benchmark.protobuf.Media.Player}
       */
      public enum Player
          implements com.google.protobuf.ProtocolMessageEnum {
        /**
         * <code>JAVA = 0;</code>
         */
        JAVA(0),
        /**
         * <code>FLASH = 1;</code>
         */
        FLASH(1),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>JAVA = 0;</code>
         */
        public static final int JAVA_VALUE = 0;
        /**
         * <code>FLASH = 1;</code>
         */
        public static final int FLASH_VALUE = 1;
  
  
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          return value;
        }
  
        /**
         * @param value The numeric wire value of the corresponding enum entry.
         * @return The enum associated with the given numeric wire value.
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static Player valueOf(int value) {
          return forNumber(value);
        }
  
        /**
         * @param value The numeric wire value of the corresponding enum entry.
         * @return The enum associated with the given numeric wire value.
         */
        public static Player forNumber(int value) {
          switch (value) {
            case 0: return JAVA;
            case 1: return FLASH;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Player>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Player> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Player>() {
                public Player findValueByNumber(int number) {
                  return Player.forNumber(number);
                }
              };
  
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalStateException(
                "Can't get the descriptor of an unrecognized enum value.");
          }
          return getDescriptor().getValues().get(ordinal());
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDescriptor().getEnumTypes().get(0);
        }
  
        private static final Player[] VALUES = values();
  
        public static Player valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          if (desc.getIndex() == -1) {
            return UNRECOGNIZED;
          }
          return VALUES[desc.getIndex()];
        }
  
        private final int value;
  
        private Player(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:com.alibaba.fastjson2.benchmark.protobuf.Media.Player)
      }
  
      private int bitField0_;
      public static final int URI_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object uri_ = "";
      /**
       * <pre>
       *uri to the video, may not be an actual URL
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      @java.lang.Override
      public java.lang.String getUri() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          uri_ = s;
          return s;
        }
      }
      /**
       * <pre>
       *uri to the video, may not be an actual URL
       * </pre>
       *
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUriBytes() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int TITLE_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object title_ = "";
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>optional string title = 2;</code>
       * @return Whether the title field is set.
       */
      @java.lang.Override
      public boolean hasTitle() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>optional string title = 2;</code>
       * @return The title.
       */
      @java.lang.Override
      public java.lang.String getTitle() {
        java.lang.Object ref = title_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          title_ = s;
          return s;
        }
      }
      /**
       * <pre>
       *used in the html ALT
       * </pre>
       *
       * <code>optional string title = 2;</code>
       * @return The bytes for title.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTitleBytes() {
        java.lang.Object ref = title_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          title_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int WIDTH_FIELD_NUMBER = 3;
      private int width_ = 0;
      /**
       * <pre>
       * of the video
       * </pre>
       *
       * <code>int32 width = 3;</code>
       * @return The width.
       */
      @java.lang.Override
      public int getWidth() {
        return width_;
      }
  
      public static final int HEIGHT_FIELD_NUMBER = 4;
      private int height_ = 0;
      /**
       * <pre>
       * of the video
       * </pre>
       *
       * <code>int32 height = 4;</code>
       * @return The height.
       */
      @java.lang.Override
      public int getHeight() {
        return height_;
      }
  
      public static final int FORMAT_FIELD_NUMBER = 5;
      @SuppressWarnings("serial")
      private volatile java.lang.Object format_ = "";
      /**
       * <pre>
       *avi, jpg, youtube, cnbc, audio/mpeg formats ...
       * </pre>
       *
       * <code>string format = 5;</code>
       * @return The format.
       */
      @java.lang.Override
      public java.lang.String getFormat() {
        java.lang.Object ref = format_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          format_ = s;
          return s;
        }
      }
      /**
       * <pre>
       *avi, jpg, youtube, cnbc, audio/mpeg formats ...
       * </pre>
       *
       * <code>string format = 5;</code>
       * @return The bytes for format.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getFormatBytes() {
        java.lang.Object ref = format_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          format_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      public static final int DURATION_FIELD_NUMBER = 6;
      private long duration_ = 0L;
      /**
       * <pre>
       *time in miliseconds
       * </pre>
       *
       * <code>int64 duration = 6;</code>
       * @return The duration.
       */
      @java.lang.Override
      public long getDuration() {
        return duration_;
      }
  
      public static final int SIZE_FIELD_NUMBER = 7;
      private long size_ = 0L;
      /**
       * <pre>
       *file size
       * </pre>
       *
       * <code>int64 size = 7;</code>
       * @return The size.
       */
      @java.lang.Override
      public long getSize() {
        return size_;
      }
  
      public static final int BITRATE_FIELD_NUMBER = 8;
      private int bitrate_ = 0;
      /**
       * <pre>
       *video
       * </pre>
       *
       * <code>optional int32 bitrate = 8;</code>
       * @return Whether the bitrate field is set.
       */
      @java.lang.Override
      public boolean hasBitrate() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <pre>
       *video
       * </pre>
       *
       * <code>optional int32 bitrate = 8;</code>
       * @return The bitrate.
       */
      @java.lang.Override
      public int getBitrate() {
        return bitrate_;
      }
  
      public static final int PERSON_FIELD_NUMBER = 9;
      @SuppressWarnings("serial")
      private com.google.protobuf.LazyStringList person_;
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @return A list containing the person.
       */
      public com.google.protobuf.ProtocolStringList
          getPersonList() {
        return person_;
      }
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @return The count of person.
       */
      public int getPersonCount() {
        return person_.size();
      }
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @param index The index of the element to return.
       * @return The person at the given index.
       */
      public java.lang.String getPerson(int index) {
        return person_.get(index);
      }
      /**
       * <pre>
       *name of a person featured in the video
       * </pre>
       *
       * <code>repeated string person = 9;</code>
       * @param index The index of the value to return.
       * @return The bytes of the person at the given index.
       */
      public com.google.protobuf.ByteString
          getPersonBytes(int index) {
        return person_.getByteString(index);
      }
  
      public static final int PLAYER_FIELD_NUMBER = 10;
      private int player_ = 0;
      /**
       * <pre>
       *in case of a player specific media
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
       * @return The enum numeric value on the wire for player.
       */
      @java.lang.Override public int getPlayerValue() {
        return player_;
      }
      /**
       * <pre>
       *in case of a player specific media
       * </pre>
       *
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
       * @return The player.
       */
      @java.lang.Override public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player getPlayer() {
        com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player result = com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player.forNumber(player_);
        return result == null ? com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player.UNRECOGNIZED : result;
      }
  
      public static final int COPYRIGHT_FIELD_NUMBER = 11;
      @SuppressWarnings("serial")
      private volatile java.lang.Object copyright_ = "";
      /**
       * <pre>
       *media copyright
       * </pre>
       *
       * <code>optional string copyright = 11;</code>
       * @return Whether the copyright field is set.
       */
      @java.lang.Override
      public boolean hasCopyright() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <pre>
       *media copyright
       * </pre>
       *
       * <code>optional string copyright = 11;</code>
       * @return The copyright.
       */
      @java.lang.Override
      public java.lang.String getCopyright() {
        java.lang.Object ref = copyright_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          copyright_ = s;
          return s;
        }
      }
      /**
       * <pre>
       *media copyright
       * </pre>
       *
       * <code>optional string copyright = 11;</code>
       * @return The bytes for copyright.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCopyrightBytes() {
        java.lang.Object ref = copyright_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          copyright_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_);
        }
        if (((bitField0_ & 0x00000001) != 0)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, title_);
        }
        if (width_ != 0) {
          output.writeInt32(3, width_);
        }
        if (height_ != 0) {
          output.writeInt32(4, height_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(format_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 5, format_);
        }
        if (duration_ != 0L) {
          output.writeInt64(6, duration_);
        }
        if (size_ != 0L) {
          output.writeInt64(7, size_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt32(8, bitrate_);
        }
        for (int i = 0; i < person_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 9, person_.getRaw(i));
        }
        if (player_ != com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player.JAVA.getNumber()) {
          output.writeEnum(10, player_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 11, copyright_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_);
        }
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, title_);
        }
        if (width_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, width_);
        }
        if (height_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, height_);
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(format_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, format_);
        }
        if (duration_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(6, duration_);
        }
        if (size_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(7, size_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(8, bitrate_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < person_.size(); i++) {
            dataSize += computeStringSizeNoTag(person_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getPersonList().size();
        }
        if (player_ != com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player.JAVA.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(10, player_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, copyright_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media)) {
          return super.equals(obj);
        }
        com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media other = (com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media) obj;
  
        if (!getUri()
            .equals(other.getUri())) return false;
        if (hasTitle() != other.hasTitle()) return false;
        if (hasTitle()) {
          if (!getTitle()
              .equals(other.getTitle())) return false;
        }
        if (getWidth()
            != other.getWidth()) return false;
        if (getHeight()
            != other.getHeight()) return false;
        if (!getFormat()
            .equals(other.getFormat())) return false;
        if (getDuration()
            != other.getDuration()) return false;
        if (getSize()
            != other.getSize()) return false;
        if (hasBitrate() != other.hasBitrate()) return false;
        if (hasBitrate()) {
          if (getBitrate()
              != other.getBitrate()) return false;
        }
        if (!getPersonList()
            .equals(other.getPersonList())) return false;
        if (player_ != other.player_) return false;
        if (hasCopyright() != other.hasCopyright()) return false;
        if (hasCopyright()) {
          if (!getCopyright()
              .equals(other.getCopyright())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + URI_FIELD_NUMBER;
        hash = (53 * hash) + getUri().hashCode();
        if (hasTitle()) {
          hash = (37 * hash) + TITLE_FIELD_NUMBER;
          hash = (53 * hash) + getTitle().hashCode();
        }
        hash = (37 * hash) + WIDTH_FIELD_NUMBER;
        hash = (53 * hash) + getWidth();
        hash = (37 * hash) + HEIGHT_FIELD_NUMBER;
        hash = (53 * hash) + getHeight();
        hash = (37 * hash) + FORMAT_FIELD_NUMBER;
        hash = (53 * hash) + getFormat().hashCode();
        hash = (37 * hash) + DURATION_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getDuration());
        hash = (37 * hash) + SIZE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSize());
        if (hasBitrate()) {
          hash = (37 * hash) + BITRATE_FIELD_NUMBER;
          hash = (53 * hash) + getBitrate();
        }
        if (getPersonCount() > 0) {
          hash = (37 * hash) + PERSON_FIELD_NUMBER;
          hash = (53 * hash) + getPersonList().hashCode();
        }
        hash = (37 * hash) + PLAYER_FIELD_NUMBER;
        hash = (53 * hash) + player_;
        if (hasCopyright()) {
          hash = (37 * hash) + COPYRIGHT_FIELD_NUMBER;
          hash = (53 * hash) + getCopyright().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.alibaba.fastjson2.benchmark.protobuf.Media}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.alibaba.fastjson2.benchmark.protobuf.Media)
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.class, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Builder.class);
        }
  
        // Construct using com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          uri_ = "";
          title_ = "";
          width_ = 0;
          height_ = 0;
          format_ = "";
          duration_ = 0L;
          size_ = 0L;
          bitrate_ = 0;
          person_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000100);
          player_ = 0;
          copyright_ = "";
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_descriptor;
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media getDefaultInstanceForType() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDefaultInstance();
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media build() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media buildPartial() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media result = new com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media result) {
          if (((bitField0_ & 0x00000100) != 0)) {
            person_ = person_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000100);
          }
          result.person_ = person_;
        }
  
        private void buildPartial0(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.uri_ = uri_;
          }
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.title_ = title_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.width_ = width_;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.height_ = height_;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.format_ = format_;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.duration_ = duration_;
          }
          if (((from_bitField0_ & 0x00000040) != 0)) {
            result.size_ = size_;
          }
          if (((from_bitField0_ & 0x00000080) != 0)) {
            result.bitrate_ = bitrate_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000200) != 0)) {
            result.player_ = player_;
          }
          if (((from_bitField0_ & 0x00000400) != 0)) {
            result.copyright_ = copyright_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media) {
            return mergeFrom((com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media other) {
          if (other == com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDefaultInstance()) return this;
          if (!other.getUri().isEmpty()) {
            uri_ = other.uri_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasTitle()) {
            title_ = other.title_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.getWidth() != 0) {
            setWidth(other.getWidth());
          }
          if (other.getHeight() != 0) {
            setHeight(other.getHeight());
          }
          if (!other.getFormat().isEmpty()) {
            format_ = other.format_;
            bitField0_ |= 0x00000010;
            onChanged();
          }
          if (other.getDuration() != 0L) {
            setDuration(other.getDuration());
          }
          if (other.getSize() != 0L) {
            setSize(other.getSize());
          }
          if (other.hasBitrate()) {
            setBitrate(other.getBitrate());
          }
          if (!other.person_.isEmpty()) {
            if (person_.isEmpty()) {
              person_ = other.person_;
              bitField0_ = (bitField0_ & ~0x00000100);
            } else {
              ensurePersonIsMutable();
              person_.addAll(other.person_);
            }
            onChanged();
          }
          if (other.player_ != 0) {
            setPlayerValue(other.getPlayerValue());
          }
          if (other.hasCopyright()) {
            copyright_ = other.copyright_;
            bitField0_ |= 0x00000400;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  uri_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  title_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 24: {
                  width_ = input.readInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 32: {
                  height_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                case 42: {
                  format_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 42
                case 48: {
                  duration_ = input.readInt64();
                  bitField0_ |= 0x00000020;
                  break;
                } // case 48
                case 56: {
                  size_ = input.readInt64();
                  bitField0_ |= 0x00000040;
                  break;
                } // case 56
                case 64: {
                  bitrate_ = input.readInt32();
                  bitField0_ |= 0x00000080;
                  break;
                } // case 64
                case 74: {
                  java.lang.String s = input.readStringRequireUtf8();
                  ensurePersonIsMutable();
                  person_.add(s);
                  break;
                } // case 74
                case 80: {
                  player_ = input.readEnum();
                  bitField0_ |= 0x00000200;
                  break;
                } // case 80
                case 90: {
                  copyright_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000400;
                  break;
                } // case 90
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object uri_ = "";
        /**
         * <pre>
         *uri to the video, may not be an actual URL
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @return The uri.
         */
        public java.lang.String getUri() {
          java.lang.Object ref = uri_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            uri_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         *uri to the video, may not be an actual URL
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @return The bytes for uri.
         */
        public com.google.protobuf.ByteString
            getUriBytes() {
          java.lang.Object ref = uri_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b =
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            uri_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         *uri to the video, may not be an actual URL
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @param value The uri to set.
         * @return This builder for chaining.
         */
        public Builder setUri(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *uri to the video, may not be an actual URL
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearUri() {
          uri_ = getDefaultInstance().getUri();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *uri to the video, may not be an actual URL
         * </pre>
         *
         * <code>string uri = 1;</code>
         * @param value The bytes for uri to set.
         * @return This builder for chaining.
         */
        public Builder setUriBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private java.lang.Object title_ = "";
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>optional string title = 2;</code>
         * @return Whether the title field is set.
         */
        public boolean hasTitle() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>optional string title = 2;</code>
         * @return The title.
         */
        public java.lang.String getTitle() {
          java.lang.Object ref = title_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            title_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>optional string title = 2;</code>
         * @return The bytes for title.
         */
        public com.google.protobuf.ByteString
            getTitleBytes() {
          java.lang.Object ref = title_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b =
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            title_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>optional string title = 2;</code>
         * @param value The title to set.
         * @return This builder for chaining.
         */
        public Builder setTitle(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          title_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>optional string title = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearTitle() {
          title_ = getDefaultInstance().getTitle();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *used in the html ALT
         * </pre>
         *
         * <code>optional string title = 2;</code>
         * @param value The bytes for title to set.
         * @return This builder for chaining.
         */
        public Builder setTitleBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          title_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
  
        private int width_ ;
        /**
         * <pre>
         * of the video
         * </pre>
         *
         * <code>int32 width = 3;</code>
         * @return The width.
         */
        @java.lang.Override
        public int getWidth() {
          return width_;
        }
        /**
         * <pre>
         * of the video
         * </pre>
         *
         * <code>int32 width = 3;</code>
         * @param value The width to set.
         * @return This builder for chaining.
         */
        public Builder setWidth(int value) {
  
          width_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * of the video
         * </pre>
         *
         * <code>int32 width = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearWidth() {
          bitField0_ = (bitField0_ & ~0x00000004);
          width_ = 0;
          onChanged();
          return this;
        }
  
        private int height_ ;
        /**
         * <pre>
         * of the video
         * </pre>
         *
         * <code>int32 height = 4;</code>
         * @return The height.
         */
        @java.lang.Override
        public int getHeight() {
          return height_;
        }
        /**
         * <pre>
         * of the video
         * </pre>
         *
         * <code>int32 height = 4;</code>
         * @param value The height to set.
         * @return This builder for chaining.
         */
        public Builder setHeight(int value) {
  
          height_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * of the video
         * </pre>
         *
         * <code>int32 height = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearHeight() {
          bitField0_ = (bitField0_ & ~0x00000008);
          height_ = 0;
          onChanged();
          return this;
        }
  
        private java.lang.Object format_ = "";
        /**
         * <pre>
         *avi, jpg, youtube, cnbc, audio/mpeg formats ...
         * </pre>
         *
         * <code>string format = 5;</code>
         * @return The format.
         */
        public java.lang.String getFormat() {
          java.lang.Object ref = format_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            format_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         *avi, jpg, youtube, cnbc, audio/mpeg formats ...
         * </pre>
         *
         * <code>string format = 5;</code>
         * @return The bytes for format.
         */
        public com.google.protobuf.ByteString
            getFormatBytes() {
          java.lang.Object ref = format_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b =
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            format_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         *avi, jpg, youtube, cnbc, audio/mpeg formats ...
         * </pre>
         *
         * <code>string format = 5;</code>
         * @param value The format to set.
         * @return This builder for chaining.
         */
        public Builder setFormat(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          format_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *avi, jpg, youtube, cnbc, audio/mpeg formats ...
         * </pre>
         *
         * <code>string format = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearFormat() {
          format_ = getDefaultInstance().getFormat();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *avi, jpg, youtube, cnbc, audio/mpeg formats ...
         * </pre>
         *
         * <code>string format = 5;</code>
         * @param value The bytes for format to set.
         * @return This builder for chaining.
         */
        public Builder setFormatBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          format_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
  
        private long duration_ ;
        /**
         * <pre>
         *time in miliseconds
         * </pre>
         *
         * <code>int64 duration = 6;</code>
         * @return The duration.
         */
        @java.lang.Override
        public long getDuration() {
          return duration_;
        }
        /**
         * <pre>
         *time in miliseconds
         * </pre>
         *
         * <code>int64 duration = 6;</code>
         * @param value The duration to set.
         * @return This builder for chaining.
         */
        public Builder setDuration(long value) {
  
          duration_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *time in miliseconds
         * </pre>
         *
         * <code>int64 duration = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearDuration() {
          bitField0_ = (bitField0_ & ~0x00000020);
          duration_ = 0L;
          onChanged();
          return this;
        }
  
        private long size_ ;
        /**
         * <pre>
         *file size
         * </pre>
         *
         * <code>int64 size = 7;</code>
         * @return The size.
         */
        @java.lang.Override
        public long getSize() {
          return size_;
        }
        /**
         * <pre>
         *file size
         * </pre>
         *
         * <code>int64 size = 7;</code>
         * @param value The size to set.
         * @return This builder for chaining.
         */
        public Builder setSize(long value) {
  
          size_ = value;
          bitField0_ |= 0x00000040;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *file size
         * </pre>
         *
         * <code>int64 size = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearSize() {
          bitField0_ = (bitField0_ & ~0x00000040);
          size_ = 0L;
          onChanged();
          return this;
        }
  
        private int bitrate_ ;
        /**
         * <pre>
         *video
         * </pre>
         *
         * <code>optional int32 bitrate = 8;</code>
         * @return Whether the bitrate field is set.
         */
        @java.lang.Override
        public boolean hasBitrate() {
          return ((bitField0_ & 0x00000080) != 0);
        }
        /**
         * <pre>
         *video
         * </pre>
         *
         * <code>optional int32 bitrate = 8;</code>
         * @return The bitrate.
         */
        @java.lang.Override
        public int getBitrate() {
          return bitrate_;
        }
        /**
         * <pre>
         *video
         * </pre>
         *
         * <code>optional int32 bitrate = 8;</code>
         * @param value The bitrate to set.
         * @return This builder for chaining.
         */
        public Builder setBitrate(int value) {
  
          bitrate_ = value;
          bitField0_ |= 0x00000080;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *video
         * </pre>
         *
         * <code>optional int32 bitrate = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearBitrate() {
          bitField0_ = (bitField0_ & ~0x00000080);
          bitrate_ = 0;
          onChanged();
          return this;
        }
  
        private com.google.protobuf.LazyStringList person_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensurePersonIsMutable() {
          if (!((bitField0_ & 0x00000100) != 0)) {
            person_ = new com.google.protobuf.LazyStringArrayList(person_);
            bitField0_ |= 0x00000100;
           }
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @return A list containing the person.
         */
        public com.google.protobuf.ProtocolStringList
            getPersonList() {
          return person_.getUnmodifiableView();
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @return The count of person.
         */
        public int getPersonCount() {
          return person_.size();
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @param index The index of the element to return.
         * @return The person at the given index.
         */
        public java.lang.String getPerson(int index) {
          return person_.get(index);
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @param index The index of the value to return.
         * @return The bytes of the person at the given index.
         */
        public com.google.protobuf.ByteString
            getPersonBytes(int index) {
          return person_.getByteString(index);
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @param index The index to set the value at.
         * @param value The person to set.
         * @return This builder for chaining.
         */
        public Builder setPerson(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensurePersonIsMutable();
          person_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @param value The person to add.
         * @return This builder for chaining.
         */
        public Builder addPerson(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensurePersonIsMutable();
          person_.add(value);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @param values The person to add.
         * @return This builder for chaining.
         */
        public Builder addAllPerson(
            java.lang.Iterable<java.lang.String> values) {
          ensurePersonIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, person_);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearPerson() {
          person_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000100);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *name of a person featured in the video
         * </pre>
         *
         * <code>repeated string person = 9;</code>
         * @param value The bytes of the person to add.
         * @return This builder for chaining.
         */
        public Builder addPersonBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          ensurePersonIsMutable();
          person_.add(value);
          onChanged();
          return this;
        }
  
        private int player_ = 0;
        /**
         * <pre>
         *in case of a player specific media
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
         * @return The enum numeric value on the wire for player.
         */
        @java.lang.Override public int getPlayerValue() {
          return player_;
        }
        /**
         * <pre>
         *in case of a player specific media
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
         * @param value The enum numeric value on the wire for player to set.
         * @return This builder for chaining.
         */
        public Builder setPlayerValue(int value) {
          player_ = value;
          bitField0_ |= 0x00000200;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *in case of a player specific media
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
         * @return The player.
         */
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player getPlayer() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player result = com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player.forNumber(player_);
          return result == null ? com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player.UNRECOGNIZED : result;
        }
        /**
         * <pre>
         *in case of a player specific media
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
         * @param value The player to set.
         * @return This builder for chaining.
         */
        public Builder setPlayer(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Player value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000200;
          player_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <pre>
         *in case of a player specific media
         * </pre>
         *
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media.Player player = 10;</code>
         * @return This builder for chaining.
         */
        public Builder clearPlayer() {
          bitField0_ = (bitField0_ & ~0x00000200);
          player_ = 0;
          onChanged();
          return this;
        }
  
        private java.lang.Object copyright_ = "";
        /**
         * <pre>
         *media copyright
         * </pre>
         *
         * <code>optional string copyright = 11;</code>
         * @return Whether the copyright field is set.
         */
        public boolean hasCopyright() {
          return ((bitField0_ & 0x00000400) != 0);
        }
        /**
         * <pre>
         *media copyright
         * </pre>
         *
         * <code>optional string copyright = 11;</code>
         * @return The copyright.
         */
        public java.lang.String getCopyright() {
          java.lang.Object ref = copyright_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            copyright_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         *media copyright
         * </pre>
         *
         * <code>optional string copyright = 11;</code>
         * @return The bytes for copyright.
         */
        public com.google.protobuf.ByteString
            getCopyrightBytes() {
          java.lang.Object ref = copyright_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b =
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            copyright_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         *media copyright
         * </pre>
         *
         * <code>optional string copyright = 11;</code>
         * @param value The copyright to set.
         * @return This builder for chaining.
         */
        public Builder setCopyright(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          copyright_ = value;
          bitField0_ |= 0x00000400;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *media copyright
         * </pre>
         *
         * <code>optional string copyright = 11;</code>
         * @return This builder for chaining.
         */
        public Builder clearCopyright() {
          copyright_ = getDefaultInstance().getCopyright();
          bitField0_ = (bitField0_ & ~0x00000400);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *media copyright
         * </pre>
         *
         * <code>optional string copyright = 11;</code>
         * @param value The bytes for copyright to set.
         * @return This builder for chaining.
         */
        public Builder setCopyrightBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          copyright_ = value;
          bitField0_ |= 0x00000400;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:com.alibaba.fastjson2.benchmark.protobuf.Media)
      }
  
      // @@protoc_insertion_point(class_scope:com.alibaba.fastjson2.benchmark.protobuf.Media)
      private static final com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media();
      }
  
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static final com.google.protobuf.Parser<Media>
          PARSER = new com.google.protobuf.AbstractParser<Media>() {
        @java.lang.Override
        public Media parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static com.google.protobuf.Parser<Media> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.google.protobuf.Parser<Media> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface MediaContentOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.alibaba.fastjson2.benchmark.protobuf.MediaContent)
        com.google.protobuf.MessageOrBuilder {
  
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      java.util.List<com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image>
          getImageList();
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image getImage(int index);
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      int getImageCount();
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      java.util.List<? extends com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder>
          getImageOrBuilderList();
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder getImageOrBuilder(
          int index);
  
      /**
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
       * @return Whether the media field is set.
       */
      boolean hasMedia();
      /**
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
       * @return The media.
       */
      com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media getMedia();
      /**
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
       */
      com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaOrBuilder getMediaOrBuilder();
    }
    /**
     * Protobuf type {@code com.alibaba.fastjson2.benchmark.protobuf.MediaContent}
     */
    public static final class MediaContent extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.alibaba.fastjson2.benchmark.protobuf.MediaContent)
        MediaContentOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use MediaContent.newBuilder() to construct.
      private MediaContent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private MediaContent() {
        image_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new MediaContent();
      }
  
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_descriptor;
      }
  
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent.class, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent.Builder.class);
      }
  
      public static final int IMAGE_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private java.util.List<com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image> image_;
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      @java.lang.Override
      public java.util.List<com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image> getImageList() {
        return image_;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      @java.lang.Override
      public java.util.List<? extends com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder>
          getImageOrBuilderList() {
        return image_;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      @java.lang.Override
      public int getImageCount() {
        return image_.size();
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      @java.lang.Override
      public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image getImage(int index) {
        return image_.get(index);
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
       */
      @java.lang.Override
      public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder getImageOrBuilder(
          int index) {
        return image_.get(index);
      }
  
      public static final int MEDIA_FIELD_NUMBER = 2;
      private com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media media_;
      /**
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
       * @return Whether the media field is set.
       */
      @java.lang.Override
      public boolean hasMedia() {
        return media_ != null;
      }
      /**
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
       * @return The media.
       */
      @java.lang.Override
      public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media getMedia() {
        return media_ == null ? com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDefaultInstance() : media_;
      }
      /**
       * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
       */
      @java.lang.Override
      public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaOrBuilder getMediaOrBuilder() {
        return media_ == null ? com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDefaultInstance() : media_;
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < image_.size(); i++) {
          output.writeMessage(1, image_.get(i));
        }
        if (media_ != null) {
          output.writeMessage(2, getMedia());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        for (int i = 0; i < image_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, image_.get(i));
        }
        if (media_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getMedia());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent)) {
          return super.equals(obj);
        }
        com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent other = (com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent) obj;
  
        if (!getImageList()
            .equals(other.getImageList())) return false;
        if (hasMedia() != other.hasMedia()) return false;
        if (hasMedia()) {
          if (!getMedia()
              .equals(other.getMedia())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getImageCount() > 0) {
          hash = (37 * hash) + IMAGE_FIELD_NUMBER;
          hash = (53 * hash) + getImageList().hashCode();
        }
        if (hasMedia()) {
          hash = (37 * hash) + MEDIA_FIELD_NUMBER;
          hash = (53 * hash) + getMedia().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.alibaba.fastjson2.benchmark.protobuf.MediaContent}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.alibaba.fastjson2.benchmark.protobuf.MediaContent)
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContentOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_descriptor;
        }
  
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent.class, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent.Builder.class);
        }
  
        // Construct using com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          if (imageBuilder_ == null) {
            image_ = java.util.Collections.emptyList();
          } else {
            image_ = null;
            imageBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          media_ = null;
          if (mediaBuilder_ != null) {
            mediaBuilder_.dispose();
            mediaBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_descriptor;
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent getDefaultInstanceForType() {
          return com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent.getDefaultInstance();
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent build() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent buildPartial() {
          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent result = new com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent result) {
          if (imageBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              image_ = java.util.Collections.unmodifiableList(image_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.image_ = image_;
          } else {
            result.image_ = imageBuilder_.build();
          }
        }
  
        private void buildPartial0(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.media_ = mediaBuilder_ == null
                ? media_
                : mediaBuilder_.build();
          }
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent) {
            return mergeFrom((com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent other) {
          if (other == com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent.getDefaultInstance()) return this;
          if (imageBuilder_ == null) {
            if (!other.image_.isEmpty()) {
              if (image_.isEmpty()) {
                image_ = other.image_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureImageIsMutable();
                image_.addAll(other.image_);
              }
              onChanged();
            }
          } else {
            if (!other.image_.isEmpty()) {
              if (imageBuilder_.isEmpty()) {
                imageBuilder_.dispose();
                imageBuilder_ = null;
                image_ = other.image_;
                bitField0_ = (bitField0_ & ~0x00000001);
                imageBuilder_ =
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getImageFieldBuilder() : null;
              } else {
                imageBuilder_.addAllMessages(other.image_);
              }
            }
          }
          if (other.hasMedia()) {
            mergeMedia(other.getMedia());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image m =
                      input.readMessage(
                          com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.parser(),
                          extensionRegistry);
                  if (imageBuilder_ == null) {
                    ensureImageIsMutable();
                    image_.add(m);
                  } else {
                    imageBuilder_.addMessage(m);
                  }
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getMediaFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.util.List<com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image> image_ =
          java.util.Collections.emptyList();
        private void ensureImageIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            image_ = new java.util.ArrayList<com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image>(image_);
            bitField0_ |= 0x00000001;
           }
        }
  
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder> imageBuilder_;
  
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public java.util.List<com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image> getImageList() {
          if (imageBuilder_ == null) {
            return java.util.Collections.unmodifiableList(image_);
          } else {
            return imageBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public int getImageCount() {
          if (imageBuilder_ == null) {
            return image_.size();
          } else {
            return imageBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image getImage(int index) {
          if (imageBuilder_ == null) {
            return image_.get(index);
          } else {
            return imageBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder setImage(
            int index, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image value) {
          if (imageBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureImageIsMutable();
            image_.set(index, value);
            onChanged();
          } else {
            imageBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder setImage(
            int index, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder builderForValue) {
          if (imageBuilder_ == null) {
            ensureImageIsMutable();
            image_.set(index, builderForValue.build());
            onChanged();
          } else {
            imageBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder addImage(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image value) {
          if (imageBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureImageIsMutable();
            image_.add(value);
            onChanged();
          } else {
            imageBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder addImage(
            int index, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image value) {
          if (imageBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureImageIsMutable();
            image_.add(index, value);
            onChanged();
          } else {
            imageBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder addImage(
            com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder builderForValue) {
          if (imageBuilder_ == null) {
            ensureImageIsMutable();
            image_.add(builderForValue.build());
            onChanged();
          } else {
            imageBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder addImage(
            int index, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder builderForValue) {
          if (imageBuilder_ == null) {
            ensureImageIsMutable();
            image_.add(index, builderForValue.build());
            onChanged();
          } else {
            imageBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder addAllImage(
            java.lang.Iterable<? extends com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image> values) {
          if (imageBuilder_ == null) {
            ensureImageIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, image_);
            onChanged();
          } else {
            imageBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder clearImage() {
          if (imageBuilder_ == null) {
            image_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            imageBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public Builder removeImage(int index) {
          if (imageBuilder_ == null) {
            ensureImageIsMutable();
            image_.remove(index);
            onChanged();
          } else {
            imageBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder getImageBuilder(
            int index) {
          return getImageFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder getImageOrBuilder(
            int index) {
          if (imageBuilder_ == null) {
            return image_.get(index);  } else {
            return imageBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public java.util.List<? extends com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder>
             getImageOrBuilderList() {
          if (imageBuilder_ != null) {
            return imageBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(image_);
          }
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder addImageBuilder() {
          return getImageFieldBuilder().addBuilder(
              com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.getDefaultInstance());
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder addImageBuilder(
            int index) {
          return getImageFieldBuilder().addBuilder(
              index, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.getDefaultInstance());
        }
        /**
         * <code>repeated .com.alibaba.fastjson2.benchmark.protobuf.Image image = 1;</code>
         */
        public java.util.List<com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder>
             getImageBuilderList() {
          return getImageFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder>
            getImageFieldBuilder() {
          if (imageBuilder_ == null) {
            imageBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Image.Builder, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.ImageOrBuilder>(
                    image_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            image_ = null;
          }
          return imageBuilder_;
        }
  
        private com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media media_;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Builder, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaOrBuilder> mediaBuilder_;
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         * @return Whether the media field is set.
         */
        public boolean hasMedia() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         * @return The media.
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media getMedia() {
          if (mediaBuilder_ == null) {
            return media_ == null ? com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDefaultInstance() : media_;
          } else {
            return mediaBuilder_.getMessage();
          }
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         */
        public Builder setMedia(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media value) {
          if (mediaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            media_ = value;
          } else {
            mediaBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         */
        public Builder setMedia(
            com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Builder builderForValue) {
          if (mediaBuilder_ == null) {
            media_ = builderForValue.build();
          } else {
            mediaBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         */
        public Builder mergeMedia(com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media value) {
          if (mediaBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              media_ != null &&
              media_ != com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDefaultInstance()) {
              getMediaBuilder().mergeFrom(value);
            } else {
              media_ = value;
            }
          } else {
            mediaBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         */
        public Builder clearMedia() {
          bitField0_ = (bitField0_ & ~0x00000002);
          media_ = null;
          if (mediaBuilder_ != null) {
            mediaBuilder_.dispose();
            mediaBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Builder getMediaBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getMediaFieldBuilder().getBuilder();
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         */
        public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaOrBuilder getMediaOrBuilder() {
          if (mediaBuilder_ != null) {
            return mediaBuilder_.getMessageOrBuilder();
          } else {
            return media_ == null ?
                com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.getDefaultInstance() : media_;
          }
        }
        /**
         * <code>.com.alibaba.fastjson2.benchmark.protobuf.Media media = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Builder, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaOrBuilder>
            getMediaFieldBuilder() {
          if (mediaBuilder_ == null) {
            mediaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.Media.Builder, com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaOrBuilder>(
                    getMedia(),
                    getParentForChildren(),
                    isClean());
            media_ = null;
          }
          return mediaBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:com.alibaba.fastjson2.benchmark.protobuf.MediaContent)
      }
  
      // @@protoc_insertion_point(class_scope:com.alibaba.fastjson2.benchmark.protobuf.MediaContent)
      private static final com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent();
      }
  
      public static com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static final com.google.protobuf.Parser<MediaContent>
          PARSER = new com.google.protobuf.AbstractParser<MediaContent>() {
        @java.lang.Override
        public MediaContent parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static com.google.protobuf.Parser<MediaContent> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.google.protobuf.Parser<MediaContent> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public com.alibaba.fastjson2.benchmark.protobuf.MediaContentHolder.MediaContent getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_descriptor;
    private static final
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_descriptor;
    private static final
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_descriptor;
    private static final
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_fieldAccessorTable;
  
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static  com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\025resources/media.proto\022(com.alibaba.fas" +
        "tjson2.benchmark.protobuf\"\244\001\n\005Image\022\013\n\003u" +
        "ri\030\001 \001(\t\022\r\n\005title\030\002 \001(\t\022\r\n\005width\030\003 \001(\005\022\016" +
        "\n\006height\030\004 \001(\005\022B\n\004size\030\005 \001(\01624.com.aliba" +
        "ba.fastjson2.benchmark.protobuf.Image.Si" +
        "ze\"\034\n\004Size\022\t\n\005SMALL\020\000\022\t\n\005LARGE\020\001\"\300\002\n\005Med" +
        "ia\022\013\n\003uri\030\001 \001(\t\022\022\n\005title\030\002 \001(\tH\000\210\001\001\022\r\n\005w" +
        "idth\030\003 \001(\005\022\016\n\006height\030\004 \001(\005\022\016\n\006format\030\005 \001" +
        "(\t\022\020\n\010duration\030\006 \001(\003\022\014\n\004size\030\007 \001(\003\022\024\n\007bi" +
        "trate\030\010 \001(\005H\001\210\001\001\022\016\n\006person\030\t \003(\t\022F\n\006play" +
        "er\030\n \001(\01626.com.alibaba.fastjson2.benchma" +
        "rk.protobuf.Media.Player\022\026\n\tcopyright\030\013 " +
        "\001(\tH\002\210\001\001\"\035\n\006Player\022\010\n\004JAVA\020\000\022\t\n\005FLASH\020\001B" +
        "\010\n\006_titleB\n\n\010_bitrateB\014\n\n_copyright\"\216\001\n\014" +
        "MediaContent\022>\n\005image\030\001 \003(\0132/.com.alibab" +
        "a.fastjson2.benchmark.protobuf.Image\022>\n\005" +
        "media\030\002 \001(\0132/.com.alibaba.fastjson2.benc" +
        "hmark.protobuf.MediaB@\n(com.alibaba.fast" +
        "json2.benchmark.protobufB\022MediaContentHo" +
        "lderH\001b\006proto3"
      };
      descriptor = com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
          });
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_com_alibaba_fastjson2_benchmark_protobuf_Image_descriptor,
          new java.lang.String[] { "Uri", "Title", "Width", "Height", "Size", });
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_descriptor =
        getDescriptor().getMessageTypes().get(1);
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_com_alibaba_fastjson2_benchmark_protobuf_Media_descriptor,
          new java.lang.String[] { "Uri", "Title", "Width", "Height", "Format", "Duration", "Size", "Bitrate", "Person", "Player", "Copyright", "Title", "Bitrate", "Copyright", });
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_descriptor =
        getDescriptor().getMessageTypes().get(2);
      internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_fieldAccessorTable = new
        com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
          internal_static_com_alibaba_fastjson2_benchmark_protobuf_MediaContent_descriptor,
          new java.lang.String[] { "Image", "Media", });
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  