text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: calc.proto

package calc;

public final class Calc {
  private Calc() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code calc.OpCode}
   */
  public enum OpCode
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * ADD = 1;
     */
    ADD(0, 1),
    /**
     * SUB = 2;
     */
    SUB(1, 2),
    /**
     * MUL = 3;
     */
    MUL(2, 3),
    /**
     * DIV = 4;
     */
    DIV(3, 4),
    ;

    /**
     * ADD = 1;
     */
    public static final int ADD_VALUE = 1;
    /**
     * SUB = 2;
     */
    public static final int SUB_VALUE = 2;
    /**
     * MUL = 3;
     */
    public static final int MUL_VALUE = 3;
    /**
     * DIV = 4;
     */
    public static final int DIV_VALUE = 4;

    public final int getNumber() { return value; }

    public static OpCode valueOf(int value) {
      switch (value) {
        case 1: return ADD;
        case 2: return SUB;
        case 3: return MUL;
        case 4: return DIV;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<OpCode>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<OpCode>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<OpCode>() {
            public OpCode findValueByNumber(int number) {
              return OpCode.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return calc.Calc.getDescriptor().getEnumTypes().get(0);
    }

    private static final OpCode[] VALUES = values();

    public static OpCode valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int index;
    private final int value;

    private OpCode(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:calc.OpCode)
  }

  public interface ValueMessageOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional float f = 1;
    /**
     * optional float f = 1;
     */
    boolean hasF();
    /**
     * optional float f = 1;
     */
    float getF();

    // optional double d = 2;
    /**
     * optional double d = 2;
     */
    boolean hasD();
    /**
     * optional double d = 2;
     */
    double getD();

    // optional int32 i32 = 3;
    /**
     * optional int32 i32 = 3;
     */
    boolean hasI32();
    /**
     * optional int32 i32 = 3;
     */
    int getI32();

    // optional sint32 si32 = 4;
    /**
     * optional sint32 si32 = 4;
     */
    boolean hasSi32();
    /**
     * optional sint32 si32 = 4;
     */
    int getSi32();

    // optional uint32 ui32 = 5;
    /**
     * optional uint32 ui32 = 5;
     */
    boolean hasUi32();
    /**
     * optional uint32 ui32 = 5;
     */
    int getUi32();

    // optional int64 i64 = 6;
    /**
     * optional int64 i64 = 6;
     */
    boolean hasI64();
    /**
     * optional int64 i64 = 6;
     */
    long getI64();

    // optional uint64 ui64 = 7;
    /**
     * optional uint64 ui64 = 7;
     */
    boolean hasUi64();
    /**
     * optional uint64 ui64 = 7;
     */
    long getUi64();

    // optional sint64 si64 = 8;
    /**
     * optional sint64 si64 = 8;
     */
    boolean hasSi64();
    /**
     * optional sint64 si64 = 8;
     */
    long getSi64();

    // optional fixed32 fi32 = 9;
    /**
     * optional fixed32 fi32 = 9;
     */
    boolean hasFi32();
    /**
     * optional fixed32 fi32 = 9;
     */
    int getFi32();

    // optional fixed64 fi64 = 10;
    /**
     * optional fixed64 fi64 = 10;
     */
    boolean hasFi64();
    /**
     * optional fixed64 fi64 = 10;
     */
    long getFi64();

    // optional sfixed32 sfi32 = 11;
    /**
     * optional sfixed32 sfi32 = 11;
     */
    boolean hasSfi32();
    /**
     * optional sfixed32 sfi32 = 11;
     */
    int getSfi32();

    // optional sfixed64 sfi64 = 12;
    /**
     * optional sfixed64 sfi64 = 12;
     */
    boolean hasSfi64();
    /**
     * optional sfixed64 sfi64 = 12;
     */
    long getSfi64();
  }
  /**
   * Protobuf type {@code calc.ValueMessage}
   */
  public static final class ValueMessage extends
      com.google.protobuf.GeneratedMessage
      implements ValueMessageOrBuilder {
    // Use ValueMessage.newBuilder() to construct.
    private ValueMessage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ValueMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ValueMessage defaultInstance;
    public static ValueMessage getDefaultInstance() {
      return defaultInstance;
    }

    public ValueMessage getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ValueMessage(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              f_ = input.readFloat();
              break;
            }
            case 17: {
              bitField0_ |= 0x00000002;
              d_ = input.readDouble();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              i32_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              si32_ = input.readSInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              ui32_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              i64_ = input.readInt64();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              ui64_ = input.readUInt64();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              si64_ = input.readSInt64();
              break;
            }
            case 77: {
              bitField0_ |= 0x00000100;
              fi32_ = input.readFixed32();
              break;
            }
            case 81: {
              bitField0_ |= 0x00000200;
              fi64_ = input.readFixed64();
              break;
            }
            case 93: {
              bitField0_ |= 0x00000400;
              sfi32_ = input.readSFixed32();
              break;
            }
            case 97: {
              bitField0_ |= 0x00000800;
              sfi64_ = input.readSFixed64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return calc.Calc.internal_static_calc_ValueMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return calc.Calc.internal_static_calc_ValueMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              calc.Calc.ValueMessage.class, calc.Calc.ValueMessage.Builder.class);
    }

    public static com.google.protobuf.Parser<ValueMessage> PARSER =
        new com.google.protobuf.AbstractParser<ValueMessage>() {
      public ValueMessage parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ValueMessage(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<ValueMessage> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional float f = 1;
    public static final int F_FIELD_NUMBER = 1;
    private float f_;
    /**
     * optional float f = 1;
     */
    public boolean hasF() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional float f = 1;
     */
    public float getF() {
      return f_;
    }

    // optional double d = 2;
    public static final int D_FIELD_NUMBER = 2;
    private double d_;
    /**
     * optional double d = 2;
     */
    public boolean hasD() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional double d = 2;
     */
    public double getD() {
      return d_;
    }

    // optional int32 i32 = 3;
    public static final int I32_FIELD_NUMBER = 3;
    private int i32_;
    /**
     * optional int32 i32 = 3;
     */
    public boolean hasI32() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 i32 = 3;
     */
    public int getI32() {
      return i32_;
    }

    // optional sint32 si32 = 4;
    public static final int SI32_FIELD_NUMBER = 4;
    private int si32_;
    /**
     * optional sint32 si32 = 4;
     */
    public boolean hasSi32() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional sint32 si32 = 4;
     */
    public int getSi32() {
      return si32_;
    }

    // optional uint32 ui32 = 5;
    public static final int UI32_FIELD_NUMBER = 5;
    private int ui32_;
    /**
     * optional uint32 ui32 = 5;
     */
    public boolean hasUi32() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 ui32 = 5;
     */
    public int getUi32() {
      return ui32_;
    }

    // optional int64 i64 = 6;
    public static final int I64_FIELD_NUMBER = 6;
    private long i64_;
    /**
     * optional int64 i64 = 6;
     */
    public boolean hasI64() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int64 i64 = 6;
     */
    public long getI64() {
      return i64_;
    }

    // optional uint64 ui64 = 7;
    public static final int UI64_FIELD_NUMBER = 7;
    private long ui64_;
    /**
     * optional uint64 ui64 = 7;
     */
    public boolean hasUi64() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional uint64 ui64 = 7;
     */
    public long getUi64() {
      return ui64_;
    }

    // optional sint64 si64 = 8;
    public static final int SI64_FIELD_NUMBER = 8;
    private long si64_;
    /**
     * optional sint64 si64 = 8;
     */
    public boolean hasSi64() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional sint64 si64 = 8;
     */
    public long getSi64() {
      return si64_;
    }

    // optional fixed32 fi32 = 9;
    public static final int FI32_FIELD_NUMBER = 9;
    private int fi32_;
    /**
     * optional fixed32 fi32 = 9;
     */
    public boolean hasFi32() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional fixed32 fi32 = 9;
     */
    public int getFi32() {
      return fi32_;
    }

    // optional fixed64 fi64 = 10;
    public static final int FI64_FIELD_NUMBER = 10;
    private long fi64_;
    /**
     * optional fixed64 fi64 = 10;
     */
    public boolean hasFi64() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional fixed64 fi64 = 10;
     */
    public long getFi64() {
      return fi64_;
    }

    // optional sfixed32 sfi32 = 11;
    public static final int SFI32_FIELD_NUMBER = 11;
    private int sfi32_;
    /**
     * optional sfixed32 sfi32 = 11;
     */
    public boolean hasSfi32() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * optional sfixed32 sfi32 = 11;
     */
    public int getSfi32() {
      return sfi32_;
    }

    // optional sfixed64 sfi64 = 12;
    public static final int SFI64_FIELD_NUMBER = 12;
    private long sfi64_;
    /**
     * optional sfixed64 sfi64 = 12;
     */
    public boolean hasSfi64() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * optional sfixed64 sfi64 = 12;
     */
    public long getSfi64() {
      return sfi64_;
    }

    private void initFields() {
      f_ = 0F;
      d_ = 0D;
      i32_ = 0;
      si32_ = 0;
      ui32_ = 0;
      i64_ = 0L;
      ui64_ = 0L;
      si64_ = 0L;
      fi32_ = 0;
      fi64_ = 0L;
      sfi32_ = 0;
      sfi64_ = 0L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(1, f_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeDouble(2, d_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, i32_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeSInt32(4, si32_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, ui32_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt64(6, i64_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeUInt64(7, ui64_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeSInt64(8, si64_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeFixed32(9, fi32_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeFixed64(10, fi64_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeSFixed32(11, sfi32_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeSFixed64(12, sfi64_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, f_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(2, d_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, i32_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt32Size(4, si32_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, ui32_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(6, i64_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(7, ui64_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt64Size(8, si64_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(9, fi32_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(10, fi64_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed32Size(11, sfi32_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed64Size(12, sfi64_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static calc.Calc.ValueMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static calc.Calc.ValueMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static calc.Calc.ValueMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static calc.Calc.ValueMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static calc.Calc.ValueMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static calc.Calc.ValueMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static calc.Calc.ValueMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static calc.Calc.ValueMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static calc.Calc.ValueMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static calc.Calc.ValueMessage parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(calc.Calc.ValueMessage prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code calc.ValueMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements calc.Calc.ValueMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return calc.Calc.internal_static_calc_ValueMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return calc.Calc.internal_static_calc_ValueMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                calc.Calc.ValueMessage.class, calc.Calc.ValueMessage.Builder.class);
      }

      // Construct using calc.Calc.ValueMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        f_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000001);
        d_ = 0D;
        bitField0_ = (bitField0_ & ~0x00000002);
        i32_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        si32_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        ui32_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        i64_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000020);
        ui64_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000040);
        si64_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000080);
        fi32_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        fi64_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000200);
        sfi32_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        sfi64_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return calc.Calc.internal_static_calc_ValueMessage_descriptor;
      }

      public calc.Calc.ValueMessage getDefaultInstanceForType() {
        return calc.Calc.ValueMessage.getDefaultInstance();
      }

      public calc.Calc.ValueMessage build() {
        calc.Calc.ValueMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public calc.Calc.ValueMessage buildPartial() {
        calc.Calc.ValueMessage result = new calc.Calc.ValueMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.f_ = f_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.d_ = d_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.i32_ = i32_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.si32_ = si32_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.ui32_ = ui32_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.i64_ = i64_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.ui64_ = ui64_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.si64_ = si64_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.fi32_ = fi32_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.fi64_ = fi64_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.sfi32_ = sfi32_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.sfi64_ = sfi64_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof calc.Calc.ValueMessage) {
          return mergeFrom((calc.Calc.ValueMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(calc.Calc.ValueMessage other) {
        if (other == calc.Calc.ValueMessage.getDefaultInstance()) return this;
        if (other.hasF()) {
          setF(other.getF());
        }
        if (other.hasD()) {
          setD(other.getD());
        }
        if (other.hasI32()) {
          setI32(other.getI32());
        }
        if (other.hasSi32()) {
          setSi32(other.getSi32());
        }
        if (other.hasUi32()) {
          setUi32(other.getUi32());
        }
        if (other.hasI64()) {
          setI64(other.getI64());
        }
        if (other.hasUi64()) {
          setUi64(other.getUi64());
        }
        if (other.hasSi64()) {
          setSi64(other.getSi64());
        }
        if (other.hasFi32()) {
          setFi32(other.getFi32());
        }
        if (other.hasFi64()) {
          setFi64(other.getFi64());
        }
        if (other.hasSfi32()) {
          setSfi32(other.getSfi32());
        }
        if (other.hasSfi64()) {
          setSfi64(other.getSfi64());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        calc.Calc.ValueMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (calc.Calc.ValueMessage) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional float f = 1;
      private float f_ ;
      /**
       * optional float f = 1;
       */
      public boolean hasF() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional float f = 1;
       */
      public float getF() {
        return f_;
      }
      /**
       * optional float f = 1;
       */
      public Builder setF(float value) {
        bitField0_ |= 0x00000001;
        f_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float f = 1;
       */
      public Builder clearF() {
        bitField0_ = (bitField0_ & ~0x00000001);
        f_ = 0F;
        onChanged();
        return this;
      }

      // optional double d = 2;
      private double d_ ;
      /**
       * optional double d = 2;
       */
      public boolean hasD() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional double d = 2;
       */
      public double getD() {
        return d_;
      }
      /**
       * optional double d = 2;
       */
      public Builder setD(double value) {
        bitField0_ |= 0x00000002;
        d_ = value;
        onChanged();
        return this;
      }
      /**
       * optional double d = 2;
       */
      public Builder clearD() {
        bitField0_ = (bitField0_ & ~0x00000002);
        d_ = 0D;
        onChanged();
        return this;
      }

      // optional int32 i32 = 3;
      private int i32_ ;
      /**
       * optional int32 i32 = 3;
       */
      public boolean hasI32() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 i32 = 3;
       */
      public int getI32() {
        return i32_;
      }
      /**
       * optional int32 i32 = 3;
       */
      public Builder setI32(int value) {
        bitField0_ |= 0x00000004;
        i32_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 i32 = 3;
       */
      public Builder clearI32() {
        bitField0_ = (bitField0_ & ~0x00000004);
        i32_ = 0;
        onChanged();
        return this;
      }

      // optional sint32 si32 = 4;
      private int si32_ ;
      /**
       * optional sint32 si32 = 4;
       */
      public boolean hasSi32() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional sint32 si32 = 4;
       */
      public int getSi32() {
        return si32_;
      }
      /**
       * optional sint32 si32 = 4;
       */
      public Builder setSi32(int value) {
        bitField0_ |= 0x00000008;
        si32_ = value;
        onChanged();
        return this;
      }
      /**
       * optional sint32 si32 = 4;
       */
      public Builder clearSi32() {
        bitField0_ = (bitField0_ & ~0x00000008);
        si32_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 ui32 = 5;
      private int ui32_ ;
      /**
       * optional uint32 ui32 = 5;
       */
      public boolean hasUi32() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 ui32 = 5;
       */
      public int getUi32() {
        return ui32_;
      }
      /**
       * optional uint32 ui32 = 5;
       */
      public Builder setUi32(int value) {
        bitField0_ |= 0x00000010;
        ui32_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 ui32 = 5;
       */
      public Builder clearUi32() {
        bitField0_ = (bitField0_ & ~0x00000010);
        ui32_ = 0;
        onChanged();
        return this;
      }

      // optional int64 i64 = 6;
      private long i64_ ;
      /**
       * optional int64 i64 = 6;
       */
      public boolean hasI64() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int64 i64 = 6;
       */
      public long getI64() {
        return i64_;
      }
      /**
       * optional int64 i64 = 6;
       */
      public Builder setI64(long value) {
        bitField0_ |= 0x00000020;
        i64_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 i64 = 6;
       */
      public Builder clearI64() {
        bitField0_ = (bitField0_ & ~0x00000020);
        i64_ = 0L;
        onChanged();
        return this;
      }

      // optional uint64 ui64 = 7;
      private long ui64_ ;
      /**
       * optional uint64 ui64 = 7;
       */
      public boolean hasUi64() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional uint64 ui64 = 7;
       */
      public long getUi64() {
        return ui64_;
      }
      /**
       * optional uint64 ui64 = 7;
       */
      public Builder setUi64(long value) {
        bitField0_ |= 0x00000040;
        ui64_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 ui64 = 7;
       */
      public Builder clearUi64() {
        bitField0_ = (bitField0_ & ~0x00000040);
        ui64_ = 0L;
        onChanged();
        return this;
      }

      // optional sint64 si64 = 8;
      private long si64_ ;
      /**
       * optional sint64 si64 = 8;
       */
      public boolean hasSi64() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional sint64 si64 = 8;
       */
      public long getSi64() {
        return si64_;
      }
      /**
       * optional sint64 si64 = 8;
       */
      public Builder setSi64(long value) {
        bitField0_ |= 0x00000080;
        si64_ = value;
        onChanged();
        return this;
      }
      /**
       * optional sint64 si64 = 8;
       */
      public Builder clearSi64() {
        bitField0_ = (bitField0_ & ~0x00000080);
        si64_ = 0L;
        onChanged();
        return this;
      }

      // optional fixed32 fi32 = 9;
      private int fi32_ ;
      /**
       * optional fixed32 fi32 = 9;
       */
      public boolean hasFi32() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional fixed32 fi32 = 9;
       */
      public int getFi32() {
        return fi32_;
      }
      /**
       * optional fixed32 fi32 = 9;
       */
      public Builder setFi32(int value) {
        bitField0_ |= 0x00000100;
        fi32_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 fi32 = 9;
       */
      public Builder clearFi32() {
        bitField0_ = (bitField0_ & ~0x00000100);
        fi32_ = 0;
        onChanged();
        return this;
      }

      // optional fixed64 fi64 = 10;
      private long fi64_ ;
      /**
       * optional fixed64 fi64 = 10;
       */
      public boolean hasFi64() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional fixed64 fi64 = 10;
       */
      public long getFi64() {
        return fi64_;
      }
      /**
       * optional fixed64 fi64 = 10;
       */
      public Builder setFi64(long value) {
        bitField0_ |= 0x00000200;
        fi64_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 fi64 = 10;
       */
      public Builder clearFi64() {
        bitField0_ = (bitField0_ & ~0x00000200);
        fi64_ = 0L;
        onChanged();
        return this;
      }

      // optional sfixed32 sfi32 = 11;
      private int sfi32_ ;
      /**
       * optional sfixed32 sfi32 = 11;
       */
      public boolean hasSfi32() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional sfixed32 sfi32 = 11;
       */
      public int getSfi32() {
        return sfi32_;
      }
      /**
       * optional sfixed32 sfi32 = 11;
       */
      public Builder setSfi32(int value) {
        bitField0_ |= 0x00000400;
        sfi32_ = value;
        onChanged();
        return this;
      }
      /**
       * optional sfixed32 sfi32 = 11;
       */
      public Builder clearSfi32() {
        bitField0_ = (bitField0_ & ~0x00000400);
        sfi32_ = 0;
        onChanged();
        return this;
      }

      // optional sfixed64 sfi64 = 12;
      private long sfi64_ ;
      /**
       * optional sfixed64 sfi64 = 12;
       */
      public boolean hasSfi64() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional sfixed64 sfi64 = 12;
       */
      public long getSfi64() {
        return sfi64_;
      }
      /**
       * optional sfixed64 sfi64 = 12;
       */
      public Builder setSfi64(long value) {
        bitField0_ |= 0x00000800;
        sfi64_ = value;
        onChanged();
        return this;
      }
      /**
       * optional sfixed64 sfi64 = 12;
       */
      public Builder clearSfi64() {
        bitField0_ = (bitField0_ & ~0x00000800);
        sfi64_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:calc.ValueMessage)
    }

    static {
      defaultInstance = new ValueMessage(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:calc.ValueMessage)
  }

  public interface InputMessageOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .calc.ValueMessage values = 1;
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    java.util.List<calc.Calc.ValueMessage>
        getValuesList();
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    calc.Calc.ValueMessage getValues(int index);
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    int getValuesCount();
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    java.util.List<? extends calc.Calc.ValueMessageOrBuilder>
        getValuesOrBuilderList();
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    calc.Calc.ValueMessageOrBuilder getValuesOrBuilder(
        int index);

    // repeated .calc.OpCode opCodes = 2;
    /**
     * repeated .calc.OpCode opCodes = 2;
     */
    java.util.List<calc.Calc.OpCode> getOpCodesList();
    /**
     * repeated .calc.OpCode opCodes = 2;
     */
    int getOpCodesCount();
    /**
     * repeated .calc.OpCode opCodes = 2;
     */
    calc.Calc.OpCode getOpCodes(int index);
  }
  /**
   * Protobuf type {@code calc.InputMessage}
   */
  public static final class InputMessage extends
      com.google.protobuf.GeneratedMessage
      implements InputMessageOrBuilder {
    // Use InputMessage.newBuilder() to construct.
    private InputMessage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private InputMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final InputMessage defaultInstance;
    public static InputMessage getDefaultInstance() {
      return defaultInstance;
    }

    public InputMessage getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private InputMessage(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                values_ = new java.util.ArrayList<calc.Calc.ValueMessage>();
                mutable_bitField0_ |= 0x00000001;
              }
              values_.add(input.readMessage(calc.Calc.ValueMessage.PARSER, extensionRegistry));
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              calc.Calc.OpCode value = calc.Calc.OpCode.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                  opCodes_ = new java.util.ArrayList<calc.Calc.OpCode>();
                  mutable_bitField0_ |= 0x00000002;
                }
                opCodes_.add(value);
              }
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                calc.Calc.OpCode value = calc.Calc.OpCode.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(2, rawValue);
                } else {
                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    opCodes_ = new java.util.ArrayList<calc.Calc.OpCode>();
                    mutable_bitField0_ |= 0x00000002;
                  }
                  opCodes_.add(value);
                }
              }
              input.popLimit(oldLimit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          values_ = java.util.Collections.unmodifiableList(values_);
        }
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          opCodes_ = java.util.Collections.unmodifiableList(opCodes_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return calc.Calc.internal_static_calc_InputMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return calc.Calc.internal_static_calc_InputMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              calc.Calc.InputMessage.class, calc.Calc.InputMessage.Builder.class);
    }

    public static com.google.protobuf.Parser<InputMessage> PARSER =
        new com.google.protobuf.AbstractParser<InputMessage>() {
      public InputMessage parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new InputMessage(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<InputMessage> getParserForType() {
      return PARSER;
    }

    // repeated .calc.ValueMessage values = 1;
    public static final int VALUES_FIELD_NUMBER = 1;
    private java.util.List<calc.Calc.ValueMessage> values_;
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    public java.util.List<calc.Calc.ValueMessage> getValuesList() {
      return values_;
    }
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    public java.util.List<? extends calc.Calc.ValueMessageOrBuilder>
        getValuesOrBuilderList() {
      return values_;
    }
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    public int getValuesCount() {
      return values_.size();
    }
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    public calc.Calc.ValueMessage getValues(int index) {
      return values_.get(index);
    }
    /**
     * repeated .calc.ValueMessage values = 1;
     */
    public calc.Calc.ValueMessageOrBuilder getValuesOrBuilder(
        int index) {
      return values_.get(index);
    }

    // repeated .calc.OpCode opCodes = 2;
    public static final int OPCODES_FIELD_NUMBER = 2;
    private java.util.List<calc.Calc.OpCode> opCodes_;
    /**
     * repeated .calc.OpCode opCodes = 2;
     */
    public java.util.List<calc.Calc.OpCode> getOpCodesList() {
      return opCodes_;
    }
    /**
     * repeated .calc.OpCode opCodes = 2;
     */
    public int getOpCodesCount() {
      return opCodes_.size();
    }
    /**
     * repeated .calc.OpCode opCodes = 2;
     */
    public calc.Calc.OpCode getOpCodes(int index) {
      return opCodes_.get(index);
    }

    private void initFields() {
      values_ = java.util.Collections.emptyList();
      opCodes_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < values_.size(); i++) {
        output.writeMessage(1, values_.get(i));
      }
      for (int i = 0; i < opCodes_.size(); i++) {
        output.writeEnum(2, opCodes_.get(i).getNumber());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < values_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, values_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < opCodes_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(opCodes_.get(i).getNumber());
        }
        size += dataSize;
        size += 1 * opCodes_.size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static calc.Calc.InputMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static calc.Calc.InputMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static calc.Calc.InputMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static calc.Calc.InputMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static calc.Calc.InputMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static calc.Calc.InputMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static calc.Calc.InputMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static calc.Calc.InputMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static calc.Calc.InputMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static calc.Calc.InputMessage parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(calc.Calc.InputMessage prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code calc.InputMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements calc.Calc.InputMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return calc.Calc.internal_static_calc_InputMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return calc.Calc.internal_static_calc_InputMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                calc.Calc.InputMessage.class, calc.Calc.InputMessage.Builder.class);
      }

      // Construct using calc.Calc.InputMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getValuesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (valuesBuilder_ == null) {
          values_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          valuesBuilder_.clear();
        }
        opCodes_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return calc.Calc.internal_static_calc_InputMessage_descriptor;
      }

      public calc.Calc.InputMessage getDefaultInstanceForType() {
        return calc.Calc.InputMessage.getDefaultInstance();
      }

      public calc.Calc.InputMessage build() {
        calc.Calc.InputMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public calc.Calc.InputMessage buildPartial() {
        calc.Calc.InputMessage result = new calc.Calc.InputMessage(this);
        int from_bitField0_ = bitField0_;
        if (valuesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            values_ = java.util.Collections.unmodifiableList(values_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.values_ = values_;
        } else {
          result.values_ = valuesBuilder_.build();
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          opCodes_ = java.util.Collections.unmodifiableList(opCodes_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.opCodes_ = opCodes_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof calc.Calc.InputMessage) {
          return mergeFrom((calc.Calc.InputMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(calc.Calc.InputMessage other) {
        if (other == calc.Calc.InputMessage.getDefaultInstance()) return this;
        if (valuesBuilder_ == null) {
          if (!other.values_.isEmpty()) {
            if (values_.isEmpty()) {
              values_ = other.values_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureValuesIsMutable();
              values_.addAll(other.values_);
            }
            onChanged();
          }
        } else {
          if (!other.values_.isEmpty()) {
            if (valuesBuilder_.isEmpty()) {
              valuesBuilder_.dispose();
              valuesBuilder_ = null;
              values_ = other.values_;
              bitField0_ = (bitField0_ & ~0x00000001);
              valuesBuilder_ =
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getValuesFieldBuilder() : null;
            } else {
              valuesBuilder_.addAllMessages(other.values_);
            }
          }
        }
        if (!other.opCodes_.isEmpty()) {
          if (opCodes_.isEmpty()) {
            opCodes_ = other.opCodes_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureOpCodesIsMutable();
            opCodes_.addAll(other.opCodes_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        calc.Calc.InputMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (calc.Calc.InputMessage) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .calc.ValueMessage values = 1;
      private java.util.List<calc.Calc.ValueMessage> values_ =
        java.util.Collections.emptyList();
      private void ensureValuesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          values_ = new java.util.ArrayList<calc.Calc.ValueMessage>(values_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          calc.Calc.ValueMessage, calc.Calc.ValueMessage.Builder, calc.Calc.ValueMessageOrBuilder> valuesBuilder_;

      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public java.util.List<calc.Calc.ValueMessage> getValuesList() {
        if (valuesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(values_);
        } else {
          return valuesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public int getValuesCount() {
        if (valuesBuilder_ == null) {
          return values_.size();
        } else {
          return valuesBuilder_.getCount();
        }
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public calc.Calc.ValueMessage getValues(int index) {
        if (valuesBuilder_ == null) {
          return values_.get(index);
        } else {
          return valuesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder setValues(
          int index, calc.Calc.ValueMessage value) {
        if (valuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureValuesIsMutable();
          values_.set(index, value);
          onChanged();
        } else {
          valuesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder setValues(
          int index, calc.Calc.ValueMessage.Builder builderForValue) {
        if (valuesBuilder_ == null) {
          ensureValuesIsMutable();
          values_.set(index, builderForValue.build());
          onChanged();
        } else {
          valuesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder addValues(calc.Calc.ValueMessage value) {
        if (valuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureValuesIsMutable();
          values_.add(value);
          onChanged();
        } else {
          valuesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder addValues(
          int index, calc.Calc.ValueMessage value) {
        if (valuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureValuesIsMutable();
          values_.add(index, value);
          onChanged();
        } else {
          valuesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder addValues(
          calc.Calc.ValueMessage.Builder builderForValue) {
        if (valuesBuilder_ == null) {
          ensureValuesIsMutable();
          values_.add(builderForValue.build());
          onChanged();
        } else {
          valuesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder addValues(
          int index, calc.Calc.ValueMessage.Builder builderForValue) {
        if (valuesBuilder_ == null) {
          ensureValuesIsMutable();
          values_.add(index, builderForValue.build());
          onChanged();
        } else {
          valuesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder addAllValues(
          java.lang.Iterable<? extends calc.Calc.ValueMessage> values) {
        if (valuesBuilder_ == null) {
          ensureValuesIsMutable();
          super.addAll(values, values_);
          onChanged();
        } else {
          valuesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder clearValues() {
        if (valuesBuilder_ == null) {
          values_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          valuesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public Builder removeValues(int index) {
        if (valuesBuilder_ == null) {
          ensureValuesIsMutable();
          values_.remove(index);
          onChanged();
        } else {
          valuesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public calc.Calc.ValueMessage.Builder getValuesBuilder(
          int index) {
        return getValuesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public calc.Calc.ValueMessageOrBuilder getValuesOrBuilder(
          int index) {
        if (valuesBuilder_ == null) {
          return values_.get(index);  } else {
          return valuesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public java.util.List<? extends calc.Calc.ValueMessageOrBuilder>
           getValuesOrBuilderList() {
        if (valuesBuilder_ != null) {
          return valuesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(values_);
        }
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public calc.Calc.ValueMessage.Builder addValuesBuilder() {
        return getValuesFieldBuilder().addBuilder(
            calc.Calc.ValueMessage.getDefaultInstance());
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public calc.Calc.ValueMessage.Builder addValuesBuilder(
          int index) {
        return getValuesFieldBuilder().addBuilder(
            index, calc.Calc.ValueMessage.getDefaultInstance());
      }
      /**
       * repeated .calc.ValueMessage values = 1;
       */
      public java.util.List<calc.Calc.ValueMessage.Builder>
           getValuesBuilderList() {
        return getValuesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          calc.Calc.ValueMessage, calc.Calc.ValueMessage.Builder, calc.Calc.ValueMessageOrBuilder>
          getValuesFieldBuilder() {
        if (valuesBuilder_ == null) {
          valuesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              calc.Calc.ValueMessage, calc.Calc.ValueMessage.Builder, calc.Calc.ValueMessageOrBuilder>(
                  values_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          values_ = null;
        }
        return valuesBuilder_;
      }

      // repeated .calc.OpCode opCodes = 2;
      private java.util.List<calc.Calc.OpCode> opCodes_ =
        java.util.Collections.emptyList();
      private void ensureOpCodesIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          opCodes_ = new java.util.ArrayList<calc.Calc.OpCode>(opCodes_);
          bitField0_ |= 0x00000002;
        }
      }
      /**
       * repeated .calc.OpCode opCodes = 2;
       */
      public java.util.List<calc.Calc.OpCode> getOpCodesList() {
        return java.util.Collections.unmodifiableList(opCodes_);
      }
      /**
       * repeated .calc.OpCode opCodes = 2;
       */
      public int getOpCodesCount() {
        return opCodes_.size();
      }
      /**
       * repeated .calc.OpCode opCodes = 2;
       */
      public calc.Calc.OpCode getOpCodes(int index) {
        return opCodes_.get(index);
      }
      /**
       * repeated .calc.OpCode opCodes = 2;
       */
      public Builder setOpCodes(
          int index, calc.Calc.OpCode value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOpCodesIsMutable();
        opCodes_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated .calc.OpCode opCodes = 2;
       */
      public Builder addOpCodes(calc.Calc.OpCode value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureOpCodesIsMutable();
        opCodes_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated .calc.OpCode opCodes = 2;
       */
      public Builder addAllOpCodes(
          java.lang.Iterable<? extends calc.Calc.OpCode> values) {
        ensureOpCodesIsMutable();
        super.addAll(values, opCodes_);
        onChanged();
        return this;
      }
      /**
       * repeated .calc.OpCode opCodes = 2;
       */
      public Builder clearOpCodes() {
        opCodes_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:calc.InputMessage)
    }

    static {
      defaultInstance = new InputMessage(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:calc.InputMessage)
  }

  public interface OutputMessageOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bool success = 1;
    /**
     * required bool success = 1;
     */
    boolean hasSuccess();
    /**
     * required bool success = 1;
     */
    boolean getSuccess();

    // required string msg = 2;
    /**
     * required string msg = 2;
     */
    boolean hasMsg();
    /**
     * required string msg = 2;
     */
    java.lang.String getMsg();
    /**
     * required string msg = 2;
     */
    com.google.protobuf.ByteString
        getMsgBytes();

    // optional .calc.ValueMessage value = 3;
    /**
     * optional .calc.ValueMessage value = 3;
     */
    boolean hasValue();
    /**
     * optional .calc.ValueMessage value = 3;
     */
    calc.Calc.ValueMessage getValue();
    /**
     * optional .calc.ValueMessage value = 3;
     */
    calc.Calc.ValueMessageOrBuilder getValueOrBuilder();
  }
  /**
   * Protobuf type {@code calc.OutputMessage}
   */
  public static final class OutputMessage extends
      com.google.protobuf.GeneratedMessage
      implements OutputMessageOrBuilder {
    // Use OutputMessage.newBuilder() to construct.
    private OutputMessage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private OutputMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final OutputMessage defaultInstance;
    public static OutputMessage getDefaultInstance() {
      return defaultInstance;
    }

    public OutputMessage getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private OutputMessage(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              success_ = input.readBool();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              msg_ = input.readBytes();
              break;
            }
            case 26: {
              calc.Calc.ValueMessage.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = value_.toBuilder();
              }
              value_ = input.readMessage(calc.Calc.ValueMessage.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(value_);
                value_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return calc.Calc.internal_static_calc_OutputMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return calc.Calc.internal_static_calc_OutputMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              calc.Calc.OutputMessage.class, calc.Calc.OutputMessage.Builder.class);
    }

    public static com.google.protobuf.Parser<OutputMessage> PARSER =
        new com.google.protobuf.AbstractParser<OutputMessage>() {
      public OutputMessage parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new OutputMessage(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<OutputMessage> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bool success = 1;
    public static final int SUCCESS_FIELD_NUMBER = 1;
    private boolean success_;
    /**
     * required bool success = 1;
     */
    public boolean hasSuccess() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required bool success = 1;
     */
    public boolean getSuccess() {
      return success_;
    }

    // required string msg = 2;
    public static final int MSG_FIELD_NUMBER = 2;
    private java.lang.Object msg_;
    /**
     * required string msg = 2;
     */
    public boolean hasMsg() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required string msg = 2;
     */
    public java.lang.String getMsg() {
      java.lang.Object ref = msg_;
      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();
        if (bs.isValidUtf8()) {
          msg_ = s;
        }
        return s;
      }
    }
    /**
     * required string msg = 2;
     */
    public com.google.protobuf.ByteString
        getMsgBytes() {
      java.lang.Object ref = msg_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        msg_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional .calc.ValueMessage value = 3;
    public static final int VALUE_FIELD_NUMBER = 3;
    private calc.Calc.ValueMessage value_;
    /**
     * optional .calc.ValueMessage value = 3;
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .calc.ValueMessage value = 3;
     */
    public calc.Calc.ValueMessage getValue() {
      return value_;
    }
    /**
     * optional .calc.ValueMessage value = 3;
     */
    public calc.Calc.ValueMessageOrBuilder getValueOrBuilder() {
      return value_;
    }

    private void initFields() {
      success_ = false;
      msg_ = "";
      value_ = calc.Calc.ValueMessage.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasSuccess()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMsg()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, success_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getMsgBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, value_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, success_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getMsgBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, value_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static calc.Calc.OutputMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static calc.Calc.OutputMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static calc.Calc.OutputMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static calc.Calc.OutputMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static calc.Calc.OutputMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static calc.Calc.OutputMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static calc.Calc.OutputMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static calc.Calc.OutputMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static calc.Calc.OutputMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static calc.Calc.OutputMessage parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(calc.Calc.OutputMessage prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code calc.OutputMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements calc.Calc.OutputMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return calc.Calc.internal_static_calc_OutputMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return calc.Calc.internal_static_calc_OutputMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                calc.Calc.OutputMessage.class, calc.Calc.OutputMessage.Builder.class);
      }

      // Construct using calc.Calc.OutputMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getValueFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        success_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        msg_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (valueBuilder_ == null) {
          value_ = calc.Calc.ValueMessage.getDefaultInstance();
        } else {
          valueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return calc.Calc.internal_static_calc_OutputMessage_descriptor;
      }

      public calc.Calc.OutputMessage getDefaultInstanceForType() {
        return calc.Calc.OutputMessage.getDefaultInstance();
      }

      public calc.Calc.OutputMessage build() {
        calc.Calc.OutputMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public calc.Calc.OutputMessage buildPartial() {
        calc.Calc.OutputMessage result = new calc.Calc.OutputMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.success_ = success_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.msg_ = msg_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (valueBuilder_ == null) {
          result.value_ = value_;
        } else {
          result.value_ = valueBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof calc.Calc.OutputMessage) {
          return mergeFrom((calc.Calc.OutputMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(calc.Calc.OutputMessage other) {
        if (other == calc.Calc.OutputMessage.getDefaultInstance()) return this;
        if (other.hasSuccess()) {
          setSuccess(other.getSuccess());
        }
        if (other.hasMsg()) {
          bitField0_ |= 0x00000002;
          msg_ = other.msg_;
          onChanged();
        }
        if (other.hasValue()) {
          mergeValue(other.getValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasSuccess()) {

          return false;
        }
        if (!hasMsg()) {

          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        calc.Calc.OutputMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (calc.Calc.OutputMessage) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bool success = 1;
      private boolean success_ ;
      /**
       * required bool success = 1;
       */
      public boolean hasSuccess() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required bool success = 1;
       */
      public boolean getSuccess() {
        return success_;
      }
      /**
       * required bool success = 1;
       */
      public Builder setSuccess(boolean value) {
        bitField0_ |= 0x00000001;
        success_ = value;
        onChanged();
        return this;
      }
      /**
       * required bool success = 1;
       */
      public Builder clearSuccess() {
        bitField0_ = (bitField0_ & ~0x00000001);
        success_ = false;
        onChanged();
        return this;
      }

      // required string msg = 2;
      private java.lang.Object msg_ = "";
      /**
       * required string msg = 2;
       */
      public boolean hasMsg() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required string msg = 2;
       */
      public java.lang.String getMsg() {
        java.lang.Object ref = msg_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          msg_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string msg = 2;
       */
      public com.google.protobuf.ByteString
          getMsgBytes() {
        java.lang.Object ref = msg_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          msg_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string msg = 2;
       */
      public Builder setMsg(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        msg_ = value;
        onChanged();
        return this;
      }
      /**
       * required string msg = 2;
       */
      public Builder clearMsg() {
        bitField0_ = (bitField0_ & ~0x00000002);
        msg_ = getDefaultInstance().getMsg();
        onChanged();
        return this;
      }
      /**
       * required string msg = 2;
       */
      public Builder setMsgBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        msg_ = value;
        onChanged();
        return this;
      }

      // optional .calc.ValueMessage value = 3;
      private calc.Calc.ValueMessage value_ = calc.Calc.ValueMessage.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          calc.Calc.ValueMessage, calc.Calc.ValueMessage.Builder, calc.Calc.ValueMessageOrBuilder> valueBuilder_;
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public calc.Calc.ValueMessage getValue() {
        if (valueBuilder_ == null) {
          return value_;
        } else {
          return valueBuilder_.getMessage();
        }
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public Builder setValue(calc.Calc.ValueMessage value) {
        if (valueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          valueBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public Builder setValue(
          calc.Calc.ValueMessage.Builder builderForValue) {
        if (valueBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          valueBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public Builder mergeValue(calc.Calc.ValueMessage value) {
        if (valueBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              value_ != calc.Calc.ValueMessage.getDefaultInstance()) {
            value_ =
              calc.Calc.ValueMessage.newBuilder(value_).mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          valueBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public Builder clearValue() {
        if (valueBuilder_ == null) {
          value_ = calc.Calc.ValueMessage.getDefaultInstance();
          onChanged();
        } else {
          valueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public calc.Calc.ValueMessage.Builder getValueBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getValueFieldBuilder().getBuilder();
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      public calc.Calc.ValueMessageOrBuilder getValueOrBuilder() {
        if (valueBuilder_ != null) {
          return valueBuilder_.getMessageOrBuilder();
        } else {
          return value_;
        }
      }
      /**
       * optional .calc.ValueMessage value = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          calc.Calc.ValueMessage, calc.Calc.ValueMessage.Builder, calc.Calc.ValueMessageOrBuilder>
          getValueFieldBuilder() {
        if (valueBuilder_ == null) {
          valueBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              calc.Calc.ValueMessage, calc.Calc.ValueMessage.Builder, calc.Calc.ValueMessageOrBuilder>(
                  value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        return valueBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:calc.OutputMessage)
    }

    static {
      defaultInstance = new OutputMessage(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:calc.OutputMessage)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_calc_ValueMessage_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_calc_ValueMessage_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_calc_InputMessage_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_calc_InputMessage_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_calc_OutputMessage_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_calc_OutputMessage_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\ncalc.proto\022\004calc\"\260\001\n\014ValueMessage\022\t\n\001f" +
      "\030\001 \001(\002\022\t\n\001d\030\002 \001(\001\022\013\n\003i32\030\003 \001(\005\022\014\n\004si32\030\004" +
      " \001(\021\022\014\n\004ui32\030\005 \001(\r\022\013\n\003i64\030\006 \001(\003\022\014\n\004ui64\030" +
      "\007 \001(\004\022\014\n\004si64\030\010 \001(\022\022\014\n\004fi32\030\t \001(\007\022\014\n\004fi6" +
      "4\030\n \001(\006\022\r\n\005sfi32\030\013 \001(\017\022\r\n\005sfi64\030\014 \001(\020\"Q\n" +
      "\014InputMessage\022\"\n\006values\030\001 \003(\0132\022.calc.Val" +
      "ueMessage\022\035\n\007opCodes\030\002 \003(\0162\014.calc.OpCode" +
      "\"P\n\rOutputMessage\022\017\n\007success\030\001 \002(\010\022\013\n\003ms" +
      "g\030\002 \002(\t\022!\n\005value\030\003 \001(\0132\022.calc.ValueMessa" +
      "ge*,\n\006OpCode\022\007\n\003ADD\020\001\022\007\n\003SUB\020\002\022\007\n\003MUL\020\003\022",
      "\007\n\003DIV\020\004"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_calc_ValueMessage_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_calc_ValueMessage_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_calc_ValueMessage_descriptor,
              new java.lang.String[] { "F", "D", "I32", "Si32", "Ui32", "I64", "Ui64", "Si64", "Fi32", "Fi64", "Sfi32", "Sfi64", });
          internal_static_calc_InputMessage_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_calc_InputMessage_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_calc_InputMessage_descriptor,
              new java.lang.String[] { "Values", "OpCodes", });
          internal_static_calc_OutputMessage_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_calc_OutputMessage_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_calc_OutputMessage_descriptor,
              new java.lang.String[] { "Success", "Msg", "Value", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}


text:
package com.micro.hystrix;

//@RunWith(SpringRunner.class)
//@SpringBootTest
public class HystrixDashboardApplicationTests {
}

redpajama_set_name: RedPajamaGithub


text:
CREATE TABLE BATCH_JOB_INSTANCE
(
    JOB_INSTANCE_ID                BIGINT                    NOT NULL,
    VERSION                        BIGINT,
    JOB_NAME                       VARCHAR(100)              NOT NULL,
    JOB_KEY                        VARCHAR(32)               NOT NULL
);

ALTER TABLE BATCH_JOB_INSTANCE ADD CONSTRAINT JOB_INST_PK PRIMARY KEY (JOB_INSTANCE_ID);

ALTER TABLE BATCH_JOB_INSTANCE ADD CONSTRAINT JOB_INST_UN UNIQUE (JOB_NAME, JOB_KEY);

CREATE TABLE BATCH_JOB_EXECUTION
(
    JOB_EXECUTION_ID               BIGINT                    NOT NULL,
    VERSION                        BIGINT,
    JOB_INSTANCE_ID                BIGINT                    NOT NULL,
    CREATE_TIME                    DATETIME                  NOT NULL,
    START_TIME                     DATETIME                  DEFAULT NULL,
    END_TIME                       DATETIME                  DEFAULT NULL,
    STATUS                         VARCHAR(10),
    EXIT_CODE                      VARCHAR(2500),
    EXIT_MESSAGE                   VARCHAR(2500),
    LAST_UPDATED                   DATETIME,
    JOB_CONFIGURATION_LOCATION     VARCHAR(2500)
);

ALTER TABLE BATCH_JOB_EXECUTION ADD CONSTRAINT JOB_INST_EXEC_PK PRIMARY KEY (JOB_EXECUTION_ID);

ALTER TABLE BATCH_JOB_EXECUTION ADD CONSTRAINT JOB_INST_EXEC_FK FOREIGN KEY (JOB_INSTANCE_ID) REFERENCES BATCH_JOB_INSTANCE (JOB_INSTANCE_ID);

CREATE TABLE BATCH_JOB_EXECUTION_PARAMS
(
    JOB_EXECUTION_ID               BIGINT                    NOT NULL,
    TYPE_CD                        VARCHAR(6)                NOT NULL,
    KEY_NAME                       VARCHAR(100)              NOT NULL,
    STRING_VAL                     VARCHAR(250),
    DATE_VAL                       DATETIME                  DEFAULT NULL,
    LONG_VAL                       BIGINT,
    DOUBLE_VAL                     DOUBLE PRECISION,
    IDENTIFYING                    CHAR(1)                   NOT NULL
);

ALTER TABLE BATCH_JOB_EXECUTION_PARAMS ADD CONSTRAINT JOB_EXEC_PARAMS_FK FOREIGN KEY (JOB_EXECUTION_ID) REFERENCES BATCH_JOB_EXECUTION (JOB_EXECUTION_ID);

CREATE TABLE BATCH_STEP_EXECUTION
(
    STEP_EXECUTION_ID              BIGINT                    NOT NULL,
    VERSION                        BIGINT                    NOT NULL,
    STEP_NAME                      VARCHAR(100)              NOT NULL,
    JOB_EXECUTION_ID               BIGINT                    NOT NULL,
    START_TIME                     DATETIME                  NOT NULL,
    END_TIME                       DATETIME                  DEFAULT NULL,
    STATUS                         VARCHAR(10),
    COMMIT_COUNT                   BIGINT,
    READ_COUNT                     BIGINT,
    FILTER_COUNT                   BIGINT,
    WRITE_COUNT                    BIGINT,
    READ_SKIP_COUNT                BIGINT,
    WRITE_SKIP_COUNT               BIGINT,
    PROCESS_SKIP_COUNT             BIGINT,
    ROLLBACK_COUNT                 BIGINT,
    EXIT_CODE                      VARCHAR(2500),
    EXIT_MESSAGE                   VARCHAR(2500),
    LAST_UPDATED                   DATETIME
);

ALTER TABLE BATCH_STEP_EXECUTION ADD CONSTRAINT JOB_EXEC_STEP_PK PRIMARY KEY (STEP_EXECUTION_ID);

ALTER TABLE BATCH_STEP_EXECUTION ADD CONSTRAINT JOB_EXEC_STEP_FK FOREIGN KEY (JOB_EXECUTION_ID) REFERENCES BATCH_JOB_EXECUTION (JOB_EXECUTION_ID);

CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT
(
    STEP_EXECUTION_ID              BIGINT                    NOT NULL,
    SHORT_CONTEXT                  VARCHAR(2500)             NOT NULL,
    SERIALIZED_CONTEXT             VARCHAR(MAX)
);

ALTER TABLE BATCH_STEP_EXECUTION_CONTEXT ADD CONSTRAINT STEP_EXEC_CTX_PK PRIMARY KEY (STEP_EXECUTION_ID);

ALTER TABLE BATCH_STEP_EXECUTION_CONTEXT ADD CONSTRAINT STEP_EXEC_CTX_FK FOREIGN KEY (STEP_EXECUTION_ID) REFERENCES BATCH_STEP_EXECUTION (STEP_EXECUTION_ID);

CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT
(
    JOB_EXECUTION_ID               BIGINT                    NOT NULL,
    SHORT_CONTEXT                  VARCHAR(2500)             NOT NULL,
    SERIALIZED_CONTEXT             VARCHAR(MAX)
);

ALTER TABLE BATCH_JOB_EXECUTION_CONTEXT ADD CONSTRAINT JOB_EXEC_CTX_PK PRIMARY KEY (JOB_EXECUTION_ID);

ALTER TABLE BATCH_JOB_EXECUTION_CONTEXT ADD CONSTRAINT JOB_EXEC_CTX_FK FOREIGN KEY (JOB_EXECUTION_ID) REFERENCES BATCH_JOB_EXECUTION (JOB_EXECUTION_ID);


text:
package org.wso2.carbon.analytics.dashboard.batch.admin.internal.ds;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.analytics.dataservice.SecureAnalyticsDataService;
import org.wso2.carbon.analytics.dashboard.batch.admin.BatchAnalyticsDashboardAdminService;

/**
 * Declarative service for the Batch Analytics Dashboard Admin service component
 *
 * @scr.component name="dashboard.component" immediate="true"
 * @scr.reference name="analytics.component" interface="org.wso2.carbon.analytics.dataservice.SecureAnalyticsDataService"
 * cardinality="1..1" policy="dynamic" bind="setAnalyticsDataService" unbind="unsetAnalyticsDataService"
 */
public class BatchAnalyticsDashboardAdminServiceDS {

    private static final Log logger = LogFactory.getLog(BatchAnalyticsDashboardAdminServiceDS.class);

    /**
     * initialize the ui adapter service here service here.
     *
     * @param ctx
     */
    protected void activate(ComponentContext ctx) {

        if (logger.isDebugEnabled()) {
            logger.debug("Activating Analytics DashboardAdminComponent module.");
        }
        BundleContext bundleContext = ctx.getBundleContext();
        bundleContext.registerService(BatchAnalyticsDashboardAdminService.class,
                new BatchAnalyticsDashboardAdminService(), null);
    }

    protected void setAnalyticsDataService(SecureAnalyticsDataService secureAnalyticsDataService) {
        BatchAnalyticsDashboardAdminValueHolder.setAnalyticsDataService(secureAnalyticsDataService);
    }

    protected void unsetAnalyticsDataService(SecureAnalyticsDataService secureAnalyticsDataService) {
        BatchAnalyticsDashboardAdminValueHolder.setAnalyticsDataService(null);
    }
}