/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: framework.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "framework.pb-c.h"
void paddle_mobile__framework__proto__op_desc__attr__init(
    PaddleMobile__Framework__Proto__OpDesc__Attr *message) {
  static const PaddleMobile__Framework__Proto__OpDesc__Attr init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__OP_DESC__ATTR__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__op_desc__var__init(
    PaddleMobile__Framework__Proto__OpDesc__Var *message) {
  static const PaddleMobile__Framework__Proto__OpDesc__Var init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__OP_DESC__VAR__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__op_desc__init(
    PaddleMobile__Framework__Proto__OpDesc *message) {
  static const PaddleMobile__Framework__Proto__OpDesc init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__OP_DESC__INIT;
  *message = init_value;
}
size_t paddle_mobile__framework__proto__op_desc__get_packed_size(
    const PaddleMobile__Framework__Proto__OpDesc *message) {
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__op_desc__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *)(message));
}

PaddleMobile__Framework__Proto__OpDesc *
paddle_mobile__framework__proto__op_desc__unpack(ProtobufCAllocator *allocator,
                                                 size_t len,
                                                 const uint8_t *data) {
  return (PaddleMobile__Framework__Proto__OpDesc *)protobuf_c_message_unpack(
      &paddle_mobile__framework__proto__op_desc__descriptor, allocator, len,
      data);
}
void paddle_mobile__framework__proto__op_desc__free_unpacked(
    PaddleMobile__Framework__Proto__OpDesc *message,
    ProtobufCAllocator *allocator) {
  if (!message) return;
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__op_desc__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *)message, allocator);
}
void paddle_mobile__framework__proto__op_proto__var__init(
    PaddleMobile__Framework__Proto__OpProto__Var *message) {
  static const PaddleMobile__Framework__Proto__OpProto__Var init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__OP_PROTO__VAR__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__op_proto__attr__init(
    PaddleMobile__Framework__Proto__OpProto__Attr *message) {
  static const PaddleMobile__Framework__Proto__OpProto__Attr init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__OP_PROTO__ATTR__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__op_proto__init(
    PaddleMobile__Framework__Proto__OpProto *message) {
  static const PaddleMobile__Framework__Proto__OpProto init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__OP_PROTO__INIT;
  *message = init_value;
}
size_t paddle_mobile__framework__proto__op_proto__get_packed_size(
    const PaddleMobile__Framework__Proto__OpProto *message) {
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__op_proto__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *)(message));
}

PaddleMobile__Framework__Proto__OpProto *
paddle_mobile__framework__proto__op_proto__unpack(ProtobufCAllocator *allocator,
                                                  size_t len,
                                                  const uint8_t *data) {
  return (PaddleMobile__Framework__Proto__OpProto *)protobuf_c_message_unpack(
      &paddle_mobile__framework__proto__op_proto__descriptor, allocator, len,
      data);
}
void paddle_mobile__framework__proto__op_proto__free_unpacked(
    PaddleMobile__Framework__Proto__OpProto *message,
    ProtobufCAllocator *allocator) {
  if (!message) return;
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__op_proto__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *)message, allocator);
}
void paddle_mobile__framework__proto__var_type__tensor_desc__init(
    PaddleMobile__Framework__Proto__VarType__TensorDesc *message) {
  static const PaddleMobile__Framework__Proto__VarType__TensorDesc init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TENSOR_DESC__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__var_type__lo_dtensor_desc__init(
    PaddleMobile__Framework__Proto__VarType__LoDTensorDesc *message) {
  static const PaddleMobile__Framework__Proto__VarType__LoDTensorDesc
      init_value =
          PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__LO_DTENSOR_DESC__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__init(
    PaddleMobile__Framework__Proto__VarType__LoDTensorArrayDesc *message) {
  static const PaddleMobile__Framework__Proto__VarType__LoDTensorArrayDesc
      init_value =
          PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__LO_DTENSOR_ARRAY_DESC__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__var_type__reader_desc__init(
    PaddleMobile__Framework__Proto__VarType__ReaderDesc *message) {
  static const PaddleMobile__Framework__Proto__VarType__ReaderDesc init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__READER_DESC__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__var_type__channel_desc__init(
    PaddleMobile__Framework__Proto__VarType__ChannelDesc *message) {
  static const PaddleMobile__Framework__Proto__VarType__ChannelDesc init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__CHANNEL_DESC__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__var_type__tuple__init(
    PaddleMobile__Framework__Proto__VarType__Tuple *message) {
  static const PaddleMobile__Framework__Proto__VarType__Tuple init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TUPLE__INIT;
  *message = init_value;
}
void paddle_mobile__framework__proto__var_type__init(
    PaddleMobile__Framework__Proto__VarType *message) {
  static const PaddleMobile__Framework__Proto__VarType init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__INIT;
  *message = init_value;
}
size_t paddle_mobile__framework__proto__var_type__get_packed_size(
    const PaddleMobile__Framework__Proto__VarType *message) {
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__var_type__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *)(message));
}
PaddleMobile__Framework__Proto__VarType *
paddle_mobile__framework__proto__var_type__unpack(ProtobufCAllocator *allocator,
                                                  size_t len,
                                                  const uint8_t *data) {
  return (PaddleMobile__Framework__Proto__VarType *)protobuf_c_message_unpack(
      &paddle_mobile__framework__proto__var_type__descriptor, allocator, len,
      data);
}
void paddle_mobile__framework__proto__var_type__free_unpacked(
    PaddleMobile__Framework__Proto__VarType *message,
    ProtobufCAllocator *allocator) {
  if (!message) return;
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__var_type__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *)message, allocator);
}
void paddle_mobile__framework__proto__var_desc__init(
    PaddleMobile__Framework__Proto__VarDesc *message) {
  static const PaddleMobile__Framework__Proto__VarDesc init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_DESC__INIT;
  *message = init_value;
}
size_t paddle_mobile__framework__proto__var_desc__get_packed_size(
    const PaddleMobile__Framework__Proto__VarDesc *message) {
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__var_desc__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *)(message));
}

PaddleMobile__Framework__Proto__VarDesc *
paddle_mobile__framework__proto__var_desc__unpack(ProtobufCAllocator *allocator,
                                                  size_t len,
                                                  const uint8_t *data) {
  return (PaddleMobile__Framework__Proto__VarDesc *)protobuf_c_message_unpack(
      &paddle_mobile__framework__proto__var_desc__descriptor, allocator, len,
      data);
}
void paddle_mobile__framework__proto__var_desc__free_unpacked(
    PaddleMobile__Framework__Proto__VarDesc *message,
    ProtobufCAllocator *allocator) {
  if (!message) return;
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__var_desc__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *)message, allocator);
}
void paddle_mobile__framework__proto__block_desc__init(
    PaddleMobile__Framework__Proto__BlockDesc *message) {
  static const PaddleMobile__Framework__Proto__BlockDesc init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__BLOCK_DESC__INIT;
  *message = init_value;
}
size_t paddle_mobile__framework__proto__block_desc__get_packed_size(
    const PaddleMobile__Framework__Proto__BlockDesc *message) {
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__block_desc__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *)(message));
}

PaddleMobile__Framework__Proto__BlockDesc *
paddle_mobile__framework__proto__block_desc__unpack(
    ProtobufCAllocator *allocator, size_t len, const uint8_t *data) {
  return (PaddleMobile__Framework__Proto__BlockDesc *)protobuf_c_message_unpack(
      &paddle_mobile__framework__proto__block_desc__descriptor, allocator, len,
      data);
}
void paddle_mobile__framework__proto__block_desc__free_unpacked(
    PaddleMobile__Framework__Proto__BlockDesc *message,
    ProtobufCAllocator *allocator) {
  if (!message) return;
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__block_desc__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *)message, allocator);
}
void paddle_mobile__framework__proto__program_desc__init(
    PaddleMobile__Framework__Proto__ProgramDesc *message) {
  static const PaddleMobile__Framework__Proto__ProgramDesc init_value =
      PADDLE_MOBILE__FRAMEWORK__PROTO__PROGRAM_DESC__INIT;
  *message = init_value;
}
size_t paddle_mobile__framework__proto__program_desc__get_packed_size(
    const PaddleMobile__Framework__Proto__ProgramDesc *message) {
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__program_desc__descriptor);
  return protobuf_c_message_get_packed_size(
      (const ProtobufCMessage *)(message));
}

PaddleMobile__Framework__Proto__ProgramDesc *
paddle_mobile__framework__proto__program_desc__unpack(
    ProtobufCAllocator *allocator, size_t len, const uint8_t *data) {
  return (PaddleMobile__Framework__Proto__ProgramDesc *)
      protobuf_c_message_unpack(
          &paddle_mobile__framework__proto__program_desc__descriptor, allocator,
          len, data);
}
void paddle_mobile__framework__proto__program_desc__free_unpacked(
    PaddleMobile__Framework__Proto__ProgramDesc *message,
    ProtobufCAllocator *allocator) {
  if (!message) return;
  assert(message->base.descriptor ==
         &paddle_mobile__framework__proto__program_desc__descriptor);
  protobuf_c_message_free_unpacked((ProtobufCMessage *)message, allocator);
}
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__op_desc__attr__field_descriptors[12] = {
        {
            "name", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, name), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "type", 2, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_ENUM,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, type),
            &paddle_mobile__framework__proto__attr_type__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "i", 3, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_INT32,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, has_i),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, i), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "f", 4, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_FLOAT,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, has_f),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, f), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "s", 5, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, s), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "ints", 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_INT32,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, n_ints),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, ints), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "floats", 7, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_FLOAT,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, n_floats),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, floats),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
        {
            "strings", 8, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_STRING,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, n_strings),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, strings),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
        {
            "b", 10, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, has_b),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, b), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "bools", 11, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, n_bools),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, bools), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "block_idx", 12, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_INT32,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr,
                     has_block_idx),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, block_idx),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
        {
            "l", 13, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_INT64,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, has_l),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Attr, l), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__op_desc__attr__field_indices_by_name[] = {
        8,  /* field[8] = b */
        10, /* field[10] = block_idx */
        9,  /* field[9] = bools */
        3,  /* field[3] = f */
        6,  /* field[6] = floats */
        2,  /* field[2] = i */
        5,  /* field[5] = ints */
        11, /* field[11] = l */
        0,  /* field[0] = name */
        4,  /* field[4] = s */
        7,  /* field[7] = strings */
        1,  /* field[1] = type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__op_desc__attr__number_ranges[2 + 1] = {
        {1, 0}, {10, 8}, {0, 12}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__op_desc__attr__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.OpDesc.Attr",
        "Attr",
        "PaddleMobile__Framework__Proto__OpDesc__Attr",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__OpDesc__Attr),
        12,
        paddle_mobile__framework__proto__op_desc__attr__field_descriptors,
        paddle_mobile__framework__proto__op_desc__attr__field_indices_by_name,
        2,
        paddle_mobile__framework__proto__op_desc__attr__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__op_desc__attr__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__op_desc__var__field_descriptors[2] = {
        {
            "parameter", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Var, parameter),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
        {
            "arguments", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_STRING,
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Var, n_arguments),
            offsetof(PaddleMobile__Framework__Proto__OpDesc__Var, arguments),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__op_desc__var__field_indices_by_name[] = {
        1, /* field[1] = arguments */
        0, /* field[0] = parameter */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__op_desc__var__number_ranges[1 + 1] = {
        {1, 0}, {0, 2}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__op_desc__var__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.OpDesc.Var",
        "Var",
        "PaddleMobile__Framework__Proto__OpDesc__Var",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__OpDesc__Var),
        2,
        paddle_mobile__framework__proto__op_desc__var__field_descriptors,
        paddle_mobile__framework__proto__op_desc__var__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__op_desc__var__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__op_desc__var__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const protobuf_c_boolean
    paddle_mobile__framework__proto__op_desc__is_target__default_value = 0;
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__op_desc__field_descriptors[5] = {
        {
            "inputs", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__OpDesc, n_inputs),
            offsetof(PaddleMobile__Framework__Proto__OpDesc, inputs),
            &paddle_mobile__framework__proto__op_desc__var__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "outputs", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__OpDesc, n_outputs),
            offsetof(PaddleMobile__Framework__Proto__OpDesc, outputs),
            &paddle_mobile__framework__proto__op_desc__var__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "type", 3, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpDesc, type), NULL, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "attrs", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__OpDesc, n_attrs),
            offsetof(PaddleMobile__Framework__Proto__OpDesc, attrs),
            &paddle_mobile__framework__proto__op_desc__attr__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "is_target", 5, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__OpDesc, has_is_target),
            offsetof(PaddleMobile__Framework__Proto__OpDesc, is_target), NULL,
            &paddle_mobile__framework__proto__op_desc__is_target__default_value,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__op_desc__field_indices_by_name[] = {
        3, /* field[3] = attrs */
        0, /* field[0] = inputs */
        4, /* field[4] = is_target */
        1, /* field[1] = outputs */
        2, /* field[2] = type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__op_desc__number_ranges[1 + 1] = {{1, 0},
                                                                      {0, 5}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__op_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.OpDesc",
        "OpDesc",
        "PaddleMobile__Framework__Proto__OpDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__OpDesc),
        5,
        paddle_mobile__framework__proto__op_desc__field_descriptors,
        paddle_mobile__framework__proto__op_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__op_desc__number_ranges,
        (ProtobufCMessageInit)paddle_mobile__framework__proto__op_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const protobuf_c_boolean
    paddle_mobile__framework__proto__op_proto__var__duplicable__default_value =
        0;
static const protobuf_c_boolean
    paddle_mobile__framework__proto__op_proto__var__intermediate__default_value =
        0;
static const protobuf_c_boolean
    paddle_mobile__framework__proto__op_proto__var__dispensable__default_value =
        0;
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__op_proto__var__field_descriptors[5] = {
        {
            "name", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var, name), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "comment", 2, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var, comment),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
        {
            "duplicable", 3, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var,
                     has_duplicable),
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var, duplicable),
            NULL,
            &paddle_mobile__framework__proto__op_proto__var__duplicable__default_value,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "intermediate", 4, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var,
                     has_intermediate),
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var,
                     intermediate),
            NULL,
            &paddle_mobile__framework__proto__op_proto__var__intermediate__default_value,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "dispensable", 5, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var,
                     has_dispensable),
            offsetof(PaddleMobile__Framework__Proto__OpProto__Var, dispensable),
            NULL,
            &paddle_mobile__framework__proto__op_proto__var__dispensable__default_value,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__op_proto__var__field_indices_by_name[] = {
        1, /* field[1] = comment */
        4, /* field[4] = dispensable */
        2, /* field[2] = duplicable */
        3, /* field[3] = intermediate */
        0, /* field[0] = name */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__op_proto__var__number_ranges[1 + 1] = {
        {1, 0}, {0, 5}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__op_proto__var__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.OpProto.Var",
        "Var",
        "PaddleMobile__Framework__Proto__OpProto__Var",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__OpProto__Var),
        5,
        paddle_mobile__framework__proto__op_proto__var__field_descriptors,
        paddle_mobile__framework__proto__op_proto__var__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__op_proto__var__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__op_proto__var__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const protobuf_c_boolean
    paddle_mobile__framework__proto__op_proto__attr__generated__default_value =
        0;
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__op_proto__attr__field_descriptors[4] = {
        {
            "name", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpProto__Attr, name), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "type", 2, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_ENUM,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpProto__Attr, type),
            &paddle_mobile__framework__proto__attr_type__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "comment", 3, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpProto__Attr, comment),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
        {
            "generated", 4, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__OpProto__Attr,
                     has_generated),
            offsetof(PaddleMobile__Framework__Proto__OpProto__Attr, generated),
            NULL,
            &paddle_mobile__framework__proto__op_proto__attr__generated__default_value,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__op_proto__attr__field_indices_by_name[] = {
        2, /* field[2] = comment */
        3, /* field[3] = generated */
        0, /* field[0] = name */
        1, /* field[1] = type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__op_proto__attr__number_ranges[1 + 1] = {
        {1, 0}, {0, 4}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__op_proto__attr__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.OpProto.Attr",
        "Attr",
        "PaddleMobile__Framework__Proto__OpProto__Attr",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__OpProto__Attr),
        4,
        paddle_mobile__framework__proto__op_proto__attr__field_descriptors,
        paddle_mobile__framework__proto__op_proto__attr__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__op_proto__attr__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__op_proto__attr__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__op_proto__field_descriptors[5] = {
        {
            "type", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpProto, type), NULL, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "inputs", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__OpProto, n_inputs),
            offsetof(PaddleMobile__Framework__Proto__OpProto, inputs),
            &paddle_mobile__framework__proto__op_proto__var__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "outputs", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__OpProto, n_outputs),
            offsetof(PaddleMobile__Framework__Proto__OpProto, outputs),
            &paddle_mobile__framework__proto__op_proto__var__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "attrs", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__OpProto, n_attrs),
            offsetof(PaddleMobile__Framework__Proto__OpProto, attrs),
            &paddle_mobile__framework__proto__op_proto__attr__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "comment", 5, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__OpProto, comment), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__op_proto__field_indices_by_name[] = {
        3, /* field[3] = attrs */
        4, /* field[4] = comment */
        1, /* field[1] = inputs */
        2, /* field[2] = outputs */
        0, /* field[0] = type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__op_proto__number_ranges[1 + 1] = {{1, 0},
                                                                       {0, 5}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__op_proto__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.OpProto",
        "OpProto",
        "PaddleMobile__Framework__Proto__OpProto",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__OpProto),
        5,
        paddle_mobile__framework__proto__op_proto__field_descriptors,
        paddle_mobile__framework__proto__op_proto__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__op_proto__number_ranges,
        (ProtobufCMessageInit)paddle_mobile__framework__proto__op_proto__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_type__tensor_desc__field_descriptors
        [2] = {
            {
                "data_type", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_ENUM,
                0, /* quantifier_offset */
                offsetof(PaddleMobile__Framework__Proto__VarType__TensorDesc,
                         data_type),
                &paddle_mobile__framework__proto__var_type__type__descriptor,
                NULL, 0,      /* flags */
                0, NULL, NULL /* reserved1,reserved2, etc */
            },
            {
                "dims", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_INT64,
                offsetof(PaddleMobile__Framework__Proto__VarType__TensorDesc,
                         n_dims),
                offsetof(PaddleMobile__Framework__Proto__VarType__TensorDesc,
                         dims),
                NULL, NULL, 0, /* flags */
                0, NULL, NULL  /* reserved1,reserved2, etc */
            },
};
static const unsigned
    paddle_mobile__framework__proto__var_type__tensor_desc__field_indices_by_name
        [] = {
            0, /* field[0] = data_type */
            1, /* field[1] = dims */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__tensor_desc__number_ranges[1 +
                                                                          1] = {
        {1, 0}, {0, 2}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_type__tensor_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType.TensorDesc",
        "TensorDesc",
        "PaddleMobile__Framework__Proto__VarType__TensorDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarType__TensorDesc),
        2,
        paddle_mobile__framework__proto__var_type__tensor_desc__field_descriptors,
        paddle_mobile__framework__proto__var_type__tensor_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_type__tensor_desc__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__var_type__tensor_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const int32_t
    paddle_mobile__framework__proto__var_type__lo_dtensor_desc__lod_level__default_value =
        0;
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_type__lo_dtensor_desc__field_descriptors
        [2] = {
            {
                "tensor", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_MESSAGE,
                0, /* quantifier_offset */
                offsetof(PaddleMobile__Framework__Proto__VarType__LoDTensorDesc,
                         tensor),
                &paddle_mobile__framework__proto__var_type__tensor_desc__descriptor,
                NULL, 0,      /* flags */
                0, NULL, NULL /* reserved1,reserved2, etc */
            },
            {
                "lod_level", 2, PROTOBUF_C_LABEL_OPTIONAL,
                PROTOBUF_C_TYPE_INT32,
                offsetof(PaddleMobile__Framework__Proto__VarType__LoDTensorDesc,
                         has_lod_level),
                offsetof(PaddleMobile__Framework__Proto__VarType__LoDTensorDesc,
                         lod_level),
                NULL,
                &paddle_mobile__framework__proto__var_type__lo_dtensor_desc__lod_level__default_value,
                0,            /* flags */
                0, NULL, NULL /* reserved1,reserved2, etc */
            },
};
static const unsigned
    paddle_mobile__framework__proto__var_type__lo_dtensor_desc__field_indices_by_name
        [] = {
            1, /* field[1] = lod_level */
            0, /* field[0] = tensor */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__lo_dtensor_desc__number_ranges
        [1 + 1] = {{1, 0}, {0, 2}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_type__lo_dtensor_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType.LoDTensorDesc",
        "LoDTensorDesc",
        "PaddleMobile__Framework__Proto__VarType__LoDTensorDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarType__LoDTensorDesc),
        2,
        paddle_mobile__framework__proto__var_type__lo_dtensor_desc__field_descriptors,
        paddle_mobile__framework__proto__var_type__lo_dtensor_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_type__lo_dtensor_desc__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__var_type__lo_dtensor_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const int32_t
    paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__lod_level__default_value =
        0;
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__field_descriptors
        [2] = {
            {
                "tensor", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_MESSAGE,
                0, /* quantifier_offset */
                offsetof(
                    PaddleMobile__Framework__Proto__VarType__LoDTensorArrayDesc,
                    tensor),
                &paddle_mobile__framework__proto__var_type__tensor_desc__descriptor,
                NULL, 0,      /* flags */
                0, NULL, NULL /* reserved1,reserved2, etc */
            },
            {
                "lod_level", 2, PROTOBUF_C_LABEL_OPTIONAL,
                PROTOBUF_C_TYPE_INT32,
                offsetof(
                    PaddleMobile__Framework__Proto__VarType__LoDTensorArrayDesc,
                    has_lod_level),
                offsetof(
                    PaddleMobile__Framework__Proto__VarType__LoDTensorArrayDesc,
                    lod_level),
                NULL,
                &paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__lod_level__default_value,
                0,            /* flags */
                0, NULL, NULL /* reserved1,reserved2, etc */
            },
};
static const unsigned
    paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__field_indices_by_name
        [] = {
            1, /* field[1] = lod_level */
            0, /* field[0] = tensor */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__number_ranges
        [1 + 1] = {{1, 0}, {0, 2}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType.LoDTensorArrayDesc",
        "LoDTensorArrayDesc",
        "PaddleMobile__Framework__Proto__VarType__LoDTensorArrayDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarType__LoDTensorArrayDesc),
        2,
        paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__field_descriptors,
        paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_type__reader_desc__field_descriptors[1] = {
        {
            "lod_tensor", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__VarType__ReaderDesc,
                     n_lod_tensor),
            offsetof(PaddleMobile__Framework__Proto__VarType__ReaderDesc,
                     lod_tensor),
            &paddle_mobile__framework__proto__var_type__lo_dtensor_desc__descriptor,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__var_type__reader_desc__field_indices_by_name
        [] = {
            0, /* field[0] = lod_tensor */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__reader_desc__number_ranges[1 +
                                                                          1] = {
        {1, 0}, {0, 1}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_type__reader_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType.ReaderDesc",
        "ReaderDesc",
        "PaddleMobile__Framework__Proto__VarType__ReaderDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarType__ReaderDesc),
        1,
        paddle_mobile__framework__proto__var_type__reader_desc__field_descriptors,
        paddle_mobile__framework__proto__var_type__reader_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_type__reader_desc__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__var_type__reader_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_type__channel_desc__field_descriptors
        [2] = {
            {
                "data_type", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_ENUM,
                0, /* quantifier_offset */
                offsetof(PaddleMobile__Framework__Proto__VarType__ChannelDesc,
                         data_type),
                &paddle_mobile__framework__proto__var_type__type__descriptor,
                NULL, 0,      /* flags */
                0, NULL, NULL /* reserved1,reserved2, etc */
            },
            {
                "capacity", 2, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_INT64,
                0, /* quantifier_offset */
                offsetof(PaddleMobile__Framework__Proto__VarType__ChannelDesc,
                         capacity),
                NULL, NULL, 0, /* flags */
                0, NULL, NULL  /* reserved1,reserved2, etc */
            },
};
static const unsigned
    paddle_mobile__framework__proto__var_type__channel_desc__field_indices_by_name
        [] = {
            1, /* field[1] = capacity */
            0, /* field[0] = data_type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__channel_desc__number_ranges[1 +
                                                                           1] =
        {{1, 0}, {0, 2}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_type__channel_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType.ChannelDesc",
        "ChannelDesc",
        "PaddleMobile__Framework__Proto__VarType__ChannelDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarType__ChannelDesc),
        2,
        paddle_mobile__framework__proto__var_type__channel_desc__field_descriptors,
        paddle_mobile__framework__proto__var_type__channel_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_type__channel_desc__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__var_type__channel_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_type__tuple__field_descriptors[1] = {
        {
            "element_type", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_ENUM,
            offsetof(PaddleMobile__Framework__Proto__VarType__Tuple,
                     n_element_type),
            offsetof(PaddleMobile__Framework__Proto__VarType__Tuple,
                     element_type),
            &paddle_mobile__framework__proto__var_type__type__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__var_type__tuple__field_indices_by_name[] =
        {
            0, /* field[0] = element_type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__tuple__number_ranges[1 + 1] = {
        {1, 0}, {0, 1}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_type__tuple__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType.Tuple",
        "Tuple",
        "PaddleMobile__Framework__Proto__VarType__Tuple",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarType__Tuple),
        1,
        paddle_mobile__framework__proto__var_type__tuple__field_descriptors,
        paddle_mobile__framework__proto__var_type__tuple__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_type__tuple__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__var_type__tuple__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCEnumValue
    paddle_mobile__framework__proto__var_type__type__enum_values_by_number[19] =
        {
            {"BOOL", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__BOOL",
             0},
            {"INT16", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__INT16",
             1},
            {"INT32", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__INT32",
             2},
            {"INT64", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__INT64",
             3},
            {"FP16", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__FP16",
             4},
            {"FP32", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__FP32",
             5},
            {"FP64", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__FP64",
             6},
            {"LOD_TENSOR",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__LOD_TENSOR", 7},
            {"SELECTED_ROWS",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__SELECTED_ROWS",
             8},
            {"FEED_MINIBATCH",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__FEED_MINIBATCH",
             9},
            {"FETCH_LIST",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__FETCH_LIST", 10},
            {"STEP_SCOPES",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__STEP_SCOPES",
             11},
            {"LOD_RANK_TABLE",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__LOD_RANK_TABLE",
             12},
            {"LOD_TENSOR_ARRAY",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__LOD_TENSOR_"
             "ARRAY",
             13},
            {"PLACE_LIST",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__PLACE_LIST", 14},
            {"READER",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__READER", 15},
            {"CHANNEL",
             "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__CHANNEL", 16},
            {"RAW", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__RAW", 17},
            {"TUPLE", "PADDLE_MOBILE__FRAMEWORK__PROTO__VAR_TYPE__TYPE__TUPLE",
             18},
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__type__value_ranges[] = {{0, 0},
                                                                       {0, 19}};
static const ProtobufCEnumValueIndex
    paddle_mobile__framework__proto__var_type__type__enum_values_by_name[19] = {
        {"BOOL", 0},
        {"CHANNEL", 16},
        {"FEED_MINIBATCH", 9},
        {"FETCH_LIST", 10},
        {"FP16", 4},
        {"FP32", 5},
        {"FP64", 6},
        {"INT16", 1},
        {"INT32", 2},
        {"INT64", 3},
        {"LOD_RANK_TABLE", 12},
        {"LOD_TENSOR", 7},
        {"LOD_TENSOR_ARRAY", 13},
        {"PLACE_LIST", 14},
        {"RAW", 17},
        {"READER", 15},
        {"SELECTED_ROWS", 8},
        {"STEP_SCOPES", 11},
        {"TUPLE", 18},
};
const ProtobufCEnumDescriptor
    paddle_mobile__framework__proto__var_type__type__descriptor = {
        PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType.Type",
        "Type",
        "PaddleMobile__Framework__Proto__VarType__Type",
        "paddle_mobile.framework.proto",
        19,
        paddle_mobile__framework__proto__var_type__type__enum_values_by_number,
        19,
        paddle_mobile__framework__proto__var_type__type__enum_values_by_name,
        1,
        paddle_mobile__framework__proto__var_type__type__value_ranges,
        NULL,
        NULL,
        NULL,
        NULL /* reserved[1234] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_type__field_descriptors[7] = {
        {
            "type", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_ENUM,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarType, type),
            &paddle_mobile__framework__proto__var_type__type__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "selected_rows", 2, PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarType, selected_rows),
            &paddle_mobile__framework__proto__var_type__tensor_desc__descriptor,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "lod_tensor", 3, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_MESSAGE,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarType, lod_tensor),
            &paddle_mobile__framework__proto__var_type__lo_dtensor_desc__descriptor,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "tensor_array", 4, PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarType, tensor_array),
            &paddle_mobile__framework__proto__var_type__lo_dtensor_array_desc__descriptor,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "reader", 5, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_MESSAGE,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarType, reader),
            &paddle_mobile__framework__proto__var_type__reader_desc__descriptor,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "channel", 6, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_MESSAGE,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarType, channel),
            &paddle_mobile__framework__proto__var_type__channel_desc__descriptor,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "tuple", 7, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_MESSAGE,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarType, tuple),
            &paddle_mobile__framework__proto__var_type__tuple__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__var_type__field_indices_by_name[] = {
        5, /* field[5] = channel */
        2, /* field[2] = lod_tensor */
        4, /* field[4] = reader */
        1, /* field[1] = selected_rows */
        3, /* field[3] = tensor_array */
        6, /* field[6] = tuple */
        0, /* field[0] = type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_type__number_ranges[1 + 1] = {{1, 0},
                                                                       {0, 7}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_type__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarType",
        "VarType",
        "PaddleMobile__Framework__Proto__VarType",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarType),
        7,
        paddle_mobile__framework__proto__var_type__field_descriptors,
        paddle_mobile__framework__proto__var_type__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_type__number_ranges,
        (ProtobufCMessageInit)paddle_mobile__framework__proto__var_type__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const protobuf_c_boolean
    paddle_mobile__framework__proto__var_desc__persistable__default_value = 0;
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__var_desc__field_descriptors[3] = {
        {
            "name", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_STRING,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarDesc, name), NULL, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "type", 2, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_MESSAGE,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__VarDesc, type),
            &paddle_mobile__framework__proto__var_type__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "persistable", 3, PROTOBUF_C_LABEL_OPTIONAL, PROTOBUF_C_TYPE_BOOL,
            offsetof(PaddleMobile__Framework__Proto__VarDesc, has_persistable),
            offsetof(PaddleMobile__Framework__Proto__VarDesc, persistable),
            NULL,
            &paddle_mobile__framework__proto__var_desc__persistable__default_value,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__var_desc__field_indices_by_name[] = {
        0, /* field[0] = name */
        2, /* field[2] = persistable */
        1, /* field[1] = type */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__var_desc__number_ranges[1 + 1] = {{1, 0},
                                                                       {0, 3}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__var_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.VarDesc",
        "VarDesc",
        "PaddleMobile__Framework__Proto__VarDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__VarDesc),
        3,
        paddle_mobile__framework__proto__var_desc__field_descriptors,
        paddle_mobile__framework__proto__var_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__var_desc__number_ranges,
        (ProtobufCMessageInit)paddle_mobile__framework__proto__var_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const int32_t
    paddle_mobile__framework__proto__block_desc__forward_block_idx__default_value =
        -1;
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__block_desc__field_descriptors[5] = {
        {
            "idx", 1, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_INT32,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__BlockDesc, idx), NULL,
            NULL, 0,      /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "parent_idx", 2, PROTOBUF_C_LABEL_REQUIRED, PROTOBUF_C_TYPE_INT32,
            0, /* quantifier_offset */
            offsetof(PaddleMobile__Framework__Proto__BlockDesc, parent_idx),
            NULL, NULL, 0, /* flags */
            0, NULL, NULL  /* reserved1,reserved2, etc */
        },
        {
            "vars", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__BlockDesc, n_vars),
            offsetof(PaddleMobile__Framework__Proto__BlockDesc, vars),
            &paddle_mobile__framework__proto__var_desc__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "ops", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__BlockDesc, n_ops),
            offsetof(PaddleMobile__Framework__Proto__BlockDesc, ops),
            &paddle_mobile__framework__proto__op_desc__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
        {
            "forward_block_idx", 5, PROTOBUF_C_LABEL_OPTIONAL,
            PROTOBUF_C_TYPE_INT32,
            offsetof(PaddleMobile__Framework__Proto__BlockDesc,
                     has_forward_block_idx),
            offsetof(PaddleMobile__Framework__Proto__BlockDesc,
                     forward_block_idx),
            NULL,
            &paddle_mobile__framework__proto__block_desc__forward_block_idx__default_value,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__block_desc__field_indices_by_name[] = {
        4, /* field[4] = forward_block_idx */
        0, /* field[0] = idx */
        3, /* field[3] = ops */
        1, /* field[1] = parent_idx */
        2, /* field[2] = vars */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__block_desc__number_ranges[1 + 1] = {
        {1, 0}, {0, 5}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__block_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.BlockDesc",
        "BlockDesc",
        "PaddleMobile__Framework__Proto__BlockDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__BlockDesc),
        5,
        paddle_mobile__framework__proto__block_desc__field_descriptors,
        paddle_mobile__framework__proto__block_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__block_desc__number_ranges,
        (ProtobufCMessageInit)paddle_mobile__framework__proto__block_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCFieldDescriptor
    paddle_mobile__framework__proto__program_desc__field_descriptors[1] = {
        {
            "blocks", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE,
            offsetof(PaddleMobile__Framework__Proto__ProgramDesc, n_blocks),
            offsetof(PaddleMobile__Framework__Proto__ProgramDesc, blocks),
            &paddle_mobile__framework__proto__block_desc__descriptor, NULL,
            0,            /* flags */
            0, NULL, NULL /* reserved1,reserved2, etc */
        },
};
static const unsigned
    paddle_mobile__framework__proto__program_desc__field_indices_by_name[] = {
        0, /* field[0] = blocks */
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__program_desc__number_ranges[1 + 1] = {
        {1, 0}, {0, 1}};
const ProtobufCMessageDescriptor
    paddle_mobile__framework__proto__program_desc__descriptor = {
        PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.ProgramDesc",
        "ProgramDesc",
        "PaddleMobile__Framework__Proto__ProgramDesc",
        "paddle_mobile.framework.proto",
        sizeof(PaddleMobile__Framework__Proto__ProgramDesc),
        1,
        paddle_mobile__framework__proto__program_desc__field_descriptors,
        paddle_mobile__framework__proto__program_desc__field_indices_by_name,
        1,
        paddle_mobile__framework__proto__program_desc__number_ranges,
        (ProtobufCMessageInit)
            paddle_mobile__framework__proto__program_desc__init,
        NULL,
        NULL,
        NULL /* reserved[123] */
};
static const ProtobufCEnumValue
    paddle_mobile__framework__proto__attr_type__enum_values_by_number[10] = {
        {"INT", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__INT", 0},
        {"FLOAT", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__FLOAT", 1},
        {"STRING", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__STRING", 2},
        {"INTS", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__INTS", 3},
        {"FLOATS", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__FLOATS", 4},
        {"STRINGS", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__STRINGS", 5},
        {"BOOLEAN", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__BOOLEAN", 6},
        {"BOOLEANS", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__BOOLEANS", 7},
        {"BLOCK", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__BLOCK", 8},
        {"LONG", "PADDLE_MOBILE__FRAMEWORK__PROTO__ATTR_TYPE__LONG", 9},
};
static const ProtobufCIntRange
    paddle_mobile__framework__proto__attr_type__value_ranges[] = {{0, 0},
                                                                  {0, 10}};
static const ProtobufCEnumValueIndex
    paddle_mobile__framework__proto__attr_type__enum_values_by_name[10] = {
        {"BLOCK", 8},  {"BOOLEAN", 6}, {"BOOLEANS", 7}, {"FLOAT", 1},
        {"FLOATS", 4}, {"INT", 0},     {"INTS", 3},     {"LONG", 9},
        {"STRING", 2}, {"STRINGS", 5},
};
const ProtobufCEnumDescriptor
    paddle_mobile__framework__proto__attr_type__descriptor = {
        PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
        "paddle_mobile.framework.proto.AttrType",
        "AttrType",
        "PaddleMobile__Framework__Proto__AttrType",
        "paddle_mobile.framework.proto",
        10,
        paddle_mobile__framework__proto__attr_type__enum_values_by_number,
        10,
        paddle_mobile__framework__proto__attr_type__enum_values_by_name,
        1,
        paddle_mobile__framework__proto__attr_type__value_ranges,
        NULL,
        NULL,
        NULL,
        NULL /* reserved[1234] */
};
