text: # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: viz.proto
  
  import sys
  _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
  from google.protobuf import descriptor as _descriptor
  from google.protobuf import message as _message
  from google.protobuf import reflection as _reflection
  from google.protobuf import symbol_database as _symbol_database
  from google.protobuf import descriptor_pb2
  # @@protoc_insertion_point(imports)
  
  _sym_db = _symbol_database.Default()
  
  
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
    name='viz.proto',
    package='scaii.common',
    syntax='proto2',
    serialized_pb=_b('\n\tviz.proto\x12\x0cscaii.common\"\xaf\x01\n\x07VizInit\x12\x11\n\ttest_mode\x18\x01 \x01(\x08\x12\x12\n\nstep_count\x18\x02 \x01(\x03\x12\x17\n\x0fgameboard_width\x18\x03 \x01(\r\x12\x18\n\x10gameboard_height\x18\x04 \x01(\r\x12\x34\n\x0c\x65xplanations\x18\x05 \x03(\x0b\x32\x1e.scaii.common.ExplanationPoint\x12\x14\n\x0creward_types\x18\x06 \x03(\t\"O\n\x11\x45xplanationPoints\x12:\n\x12\x65xplanation_points\x18\x01 \x03(\x0b\x32\x1e.scaii.common.ExplanationPoint\"\xa5\x01\n\x10\x45xplanationPoint\x12\x0c\n\x04step\x18\x01 \x01(\r\x12\n\n\x02id\x18\x02 \x01(\r\x12\r\n\x05title\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12(\n\x08saliency\x18\x05 \x01(\x0b\x32\x16.scaii.common.Saliency\x12)\n\tbar_chart\x18\x06 \x01(\x0b\x32\x16.scaii.common.BarChart\"C\n\x05Layer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63\x65lls\x18\x02 \x03(\x01\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\"-\n\x06Layers\x12#\n\x06layers\x18\x01 \x03(\x0b\x32\x13.scaii.common.Layer\"\x93\x01\n\x08Saliency\x12=\n\x0csaliency_map\x18\x01 \x03(\x0b\x32\'.scaii.common.Saliency.SaliencyMapEntry\x1aH\n\x10SaliencyMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.scaii.common.Layers:\x02\x38\x01\"c\n\x08\x42\x61rChart\x12&\n\x06groups\x18\x01 \x03(\x0b\x32\x16.scaii.common.BarGroup\x12\r\n\x05title\x18\x02 \x01(\t\x12\x0f\n\x07v_title\x18\x03 \x01(\t\x12\x0f\n\x07h_title\x18\x04 \x01(\t\"]\n\x08\x42\x61rGroup\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x1f\n\x04\x62\x61rs\x18\x02 \x03(\x0b\x32\x11.scaii.common.Bar\x12\x13\n\x0bsaliency_id\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"7\n\x03\x42\x61r\x12\r\n\x05value\x18\x01 \x02(\x01\x12\x13\n\x0bsaliency_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xad\x01\n\x03Viz\x12&\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x14.scaii.common.Entity\x12\x44\n\x12\x63umulative_rewards\x18\x02 \x03(\x0b\x32(.scaii.common.Viz.CumulativeRewardsEntry\x1a\x38\n\x16\x43umulativeRewardsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xb0\x01\n\tChartInfo\x12\x13\n\x0b\x63hart_title\x18\x01 \x01(\t\x12\x14\n\x0ch_axis_title\x18\x02 \x01(\t\x12\x14\n\x0cv_axis_title\x18\x03 \x01(\t\x12+\n\x07\x61\x63tions\x18\x04 \x01(\x0b\x32\x1a.scaii.common.ChartActions\x12\x35\n\rvalue_vectors\x18\x05 \x03(\x0b\x32\x1e.scaii.common.ChartValueVector\";\n\x0c\x43hartActions\x12\x15\n\ractions_label\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63tion_names\x18\x02 \x03(\t\"8\n\x10\x43hartValueVector\x12\r\n\x05label\x18\x01 \x01(\t\x12\x15\n\raction_values\x18\x02 \x03(\x01\"\x8d\x07\n\x06\x45ntity\x12\n\n\x02id\x18\x01 \x02(\x04\x12\x1e\n\x03pos\x18\x02 \x01(\x0b\x32\x11.scaii.common.Pos\x12#\n\x06shapes\x18\x03 \x03(\x0b\x32\x13.scaii.common.Shape\x12\x0e\n\x06\x64\x65lete\x18\x04 \x02(\x08\x12@\n\x0estringMetadata\x18\x05 \x03(\x0b\x32(.scaii.common.Entity.StringMetadataEntry\x12H\n\x12\x62oolStringMetadata\x18\x06 \x03(\x0b\x32,.scaii.common.Entity.BoolStringMetadataEntry\x12J\n\x13\x66loatStringMetadata\x18\x07 \x03(\x0b\x32-.scaii.common.Entity.FloatStringMetadataEntry\x12:\n\x0bintMetadata\x18\x08 \x03(\x0b\x32%.scaii.common.Entity.IntMetadataEntry\x12<\n\x0c\x62oolMetadata\x18\t \x03(\x0b\x32&.scaii.common.Entity.BoolMetadataEntry\x12>\n\rfloatMetadata\x18\n \x03(\x0b\x32\'.scaii.common.Entity.FloatMetadataEntry\x12\x10\n\x08ui_layer\x18\x0b \x01(\x04\x12\x15\n\rnon_clickable\x18\x0c \x01(\x08\x12\n\n\x02hp\x18\r \x01(\x02\x12\x0e\n\x06max_hp\x18\x0e \x01(\x02\x1a\x35\n\x13StringMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x39\n\x17\x42oolStringMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x46loatStringMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10IntMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x33\n\x11\x42oolMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x34\n\x12\x46loatMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\"\x1b\n\x03Pos\x12\t\n\x01x\x18\x01 \x01(\x01\x12\t\n\x01y\x18\x02 \x01(\x01\"3\n\x05\x43olor\x12\t\n\x01r\x18\x01 \x02(\r\x12\t\n\x01g\x18\x02 \x02(\r\x12\t\n\x01\x62\x18\x03 \x02(\r\x12\t\n\x01\x61\x18\x04 \x02(\r\"\x1c\n\x08Triangle\x12\x10\n\x08\x62\x61se_len\x18\x01 \x01(\x01\"\x18\n\x06\x43ircle\x12\x0e\n\x06radius\x18\x01 \x01(\x01\"%\n\x04Rect\x12\r\n\x05width\x18\x01 \x01(\x01\x12\x0e\n\x06height\x18\x02 \x01(\x01\"%\n\x04Kite\x12\r\n\x05width\x18\x01 \x01(\x01\x12\x0e\n\x06length\x18\x02 \x01(\x01\"j\n\x05\x41rrow\x12%\n\ntarget_pos\x18\x01 \x01(\x0b\x32\x11.scaii.common.Pos\x12\x11\n\tthickness\x18\x02 \x01(\r\x12\x13\n\x0bhead_length\x18\x03 \x01(\r\x12\x12\n\nhead_width\x18\x04 \x01(\r\"C\n\x07Octagon\x12\x10\n\x08\x65\x64ge_top\x18\x01 \x01(\x01\x12\x13\n\x0b\x65\x64ge_corner\x18\x02 \x01(\x01\x12\x11\n\tedge_left\x18\x03 \x01(\x01\"\x9c\x03\n\x05Shape\x12\n\n\x02id\x18\x01 \x02(\x04\x12\'\n\x0crelative_pos\x18\x02 \x01(\x0b\x32\x11.scaii.common.Pos\x12\"\n\x05\x63olor\x18\x03 \x01(\x0b\x32\x13.scaii.common.Color\x12\x10\n\x08rotation\x18\x04 \x02(\x01\x12 \n\x04rect\x18\x14 \x01(\x0b\x32\x12.scaii.common.Rect\x12(\n\x08triangle\x18\x15 \x01(\x0b\x32\x16.scaii.common.Triangle\x12\x0b\n\x03tag\x18\x16 \x01(\t\x12+\n\x0egradient_color\x18\x17 \x01(\x0b\x32\x13.scaii.common.Color\x12 \n\x04kite\x18\x18 \x01(\x0b\x32\x12.scaii.common.Kite\x12&\n\x07octagon\x18\x19 \x01(\x0b\x32\x15.scaii.common.Octagon\x12\"\n\x05\x61rrow\x18\x1a \x01(\x0b\x32\x13.scaii.common.Arrow\x12$\n\x06\x63ircle\x18\x1b \x01(\x0b\x32\x14.scaii.common.Circle\x12\x0e\n\x06\x64\x65lete\x18( \x02(\x08\"\x86\x01\n\x0eStudyQuestions\x12\x34\n\x0fstudy_questions\x18\x01 \x03(\x0b\x32\x1b.scaii.common.StudyQuestion\x12\x0f\n\x07user_id\x18\x02 \x02(\t\x12\x14\n\x0ctreatment_id\x18\x03 \x02(\t\x12\x17\n\x0f\x61nswer_filename\x18\x04 \x02(\t\"u\n\rStudyQuestion\x12\x0c\n\x04step\x18\x01 \x02(\t\x12\x10\n\x08question\x18\x02 \x02(\t\x12\x0f\n\x07\x61nswers\x18\x03 \x03(\t\x12\x1c\n\x14question_id_for_step\x18\x04 \x02(\t\x12\x15\n\rquestion_type\x18\x05 \x02(\t\"\x85\x01\n\x13StudyQuestionAnswer\x12\x0c\n\x04step\x18\x01 \x02(\t\x12\x17\n\x0fquestion_number\x18\x02 \x02(\t\x12\x10\n\x08question\x18\x03 \x02(\t\x12\x0e\n\x06\x61nswer\x18\x04 \x02(\t\x12\x0f\n\x07user_id\x18\x05 \x02(\t\x12\x14\n\x0ctreatment_id\x18\x06 \x02(\t\"E\n\x0cLogFileEntry\x12\x10\n\x08\x66ilename\x18\x01 \x02(\t\x12\r\n\x05\x65ntry\x18\x02 \x02(\t\x12\x14\n\x0cis_last_line\x18\x03 \x02(\x08\"\x1e\n\x07JedTest\x12\x13\n\x0bignore_this\x18\x01 \x02(\t')
  )
  
  
  
  
  _VIZINIT = _descriptor.Descriptor(
    name='VizInit',
    full_name='scaii.common.VizInit',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='test_mode', full_name='scaii.common.VizInit.test_mode', index=0,
        number=1, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='step_count', full_name='scaii.common.VizInit.step_count', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='gameboard_width', full_name='scaii.common.VizInit.gameboard_width', index=2,
        number=3, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='gameboard_height', full_name='scaii.common.VizInit.gameboard_height', index=3,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='explanations', full_name='scaii.common.VizInit.explanations', index=4,
        number=5, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='reward_types', full_name='scaii.common.VizInit.reward_types', index=5,
        number=6, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=28,
    serialized_end=203,
  )
  
  
  _EXPLANATIONPOINTS = _descriptor.Descriptor(
    name='ExplanationPoints',
    full_name='scaii.common.ExplanationPoints',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='explanation_points', full_name='scaii.common.ExplanationPoints.explanation_points', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=205,
    serialized_end=284,
  )
  
  
  _EXPLANATIONPOINT = _descriptor.Descriptor(
    name='ExplanationPoint',
    full_name='scaii.common.ExplanationPoint',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='step', full_name='scaii.common.ExplanationPoint.step', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='id', full_name='scaii.common.ExplanationPoint.id', index=1,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='title', full_name='scaii.common.ExplanationPoint.title', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='description', full_name='scaii.common.ExplanationPoint.description', index=3,
        number=4, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='saliency', full_name='scaii.common.ExplanationPoint.saliency', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bar_chart', full_name='scaii.common.ExplanationPoint.bar_chart', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=287,
    serialized_end=452,
  )
  
  
  _LAYER = _descriptor.Descriptor(
    name='Layer',
    full_name='scaii.common.Layer',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='scaii.common.Layer.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='cells', full_name='scaii.common.Layer.cells', index=1,
        number=2, type=1, cpp_type=5, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='width', full_name='scaii.common.Layer.width', index=2,
        number=3, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='height', full_name='scaii.common.Layer.height', index=3,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=454,
    serialized_end=521,
  )
  
  
  _LAYERS = _descriptor.Descriptor(
    name='Layers',
    full_name='scaii.common.Layers',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='layers', full_name='scaii.common.Layers.layers', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=523,
    serialized_end=568,
  )
  
  
  _SALIENCY_SALIENCYMAPENTRY = _descriptor.Descriptor(
    name='SaliencyMapEntry',
    full_name='scaii.common.Saliency.SaliencyMapEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Saliency.SaliencyMapEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Saliency.SaliencyMapEntry.value', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=646,
    serialized_end=718,
  )
  
  _SALIENCY = _descriptor.Descriptor(
    name='Saliency',
    full_name='scaii.common.Saliency',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='saliency_map', full_name='scaii.common.Saliency.saliency_map', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_SALIENCY_SALIENCYMAPENTRY, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=571,
    serialized_end=718,
  )
  
  
  _BARCHART = _descriptor.Descriptor(
    name='BarChart',
    full_name='scaii.common.BarChart',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='groups', full_name='scaii.common.BarChart.groups', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='title', full_name='scaii.common.BarChart.title', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='v_title', full_name='scaii.common.BarChart.v_title', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='h_title', full_name='scaii.common.BarChart.h_title', index=3,
        number=4, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=720,
    serialized_end=819,
  )
  
  
  _BARGROUP = _descriptor.Descriptor(
    name='BarGroup',
    full_name='scaii.common.BarGroup',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.BarGroup.value', index=0,
        number=1, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bars', full_name='scaii.common.BarGroup.bars', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='saliency_id', full_name='scaii.common.BarGroup.saliency_id', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='name', full_name='scaii.common.BarGroup.name', index=3,
        number=4, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=821,
    serialized_end=914,
  )
  
  
  _BAR = _descriptor.Descriptor(
    name='Bar',
    full_name='scaii.common.Bar',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Bar.value', index=0,
        number=1, type=1, cpp_type=5, label=2,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='saliency_id', full_name='scaii.common.Bar.saliency_id', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='name', full_name='scaii.common.Bar.name', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=916,
    serialized_end=971,
  )
  
  
  _VIZ_CUMULATIVEREWARDSENTRY = _descriptor.Descriptor(
    name='CumulativeRewardsEntry',
    full_name='scaii.common.Viz.CumulativeRewardsEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Viz.CumulativeRewardsEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Viz.CumulativeRewardsEntry.value', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1091,
    serialized_end=1147,
  )
  
  _VIZ = _descriptor.Descriptor(
    name='Viz',
    full_name='scaii.common.Viz',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='entities', full_name='scaii.common.Viz.entities', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='cumulative_rewards', full_name='scaii.common.Viz.cumulative_rewards', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_VIZ_CUMULATIVEREWARDSENTRY, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=974,
    serialized_end=1147,
  )
  
  
  _CHARTINFO = _descriptor.Descriptor(
    name='ChartInfo',
    full_name='scaii.common.ChartInfo',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='chart_title', full_name='scaii.common.ChartInfo.chart_title', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='h_axis_title', full_name='scaii.common.ChartInfo.h_axis_title', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='v_axis_title', full_name='scaii.common.ChartInfo.v_axis_title', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='actions', full_name='scaii.common.ChartInfo.actions', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value_vectors', full_name='scaii.common.ChartInfo.value_vectors', index=4,
        number=5, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1150,
    serialized_end=1326,
  )
  
  
  _CHARTACTIONS = _descriptor.Descriptor(
    name='ChartActions',
    full_name='scaii.common.ChartActions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='actions_label', full_name='scaii.common.ChartActions.actions_label', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='action_names', full_name='scaii.common.ChartActions.action_names', index=1,
        number=2, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1328,
    serialized_end=1387,
  )
  
  
  _CHARTVALUEVECTOR = _descriptor.Descriptor(
    name='ChartValueVector',
    full_name='scaii.common.ChartValueVector',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='label', full_name='scaii.common.ChartValueVector.label', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='action_values', full_name='scaii.common.ChartValueVector.action_values', index=1,
        number=2, type=1, cpp_type=5, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1389,
    serialized_end=1445,
  )
  
  
  _ENTITY_STRINGMETADATAENTRY = _descriptor.Descriptor(
    name='StringMetadataEntry',
    full_name='scaii.common.Entity.StringMetadataEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Entity.StringMetadataEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Entity.StringMetadataEntry.value', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2026,
    serialized_end=2079,
  )
  
  _ENTITY_BOOLSTRINGMETADATAENTRY = _descriptor.Descriptor(
    name='BoolStringMetadataEntry',
    full_name='scaii.common.Entity.BoolStringMetadataEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Entity.BoolStringMetadataEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Entity.BoolStringMetadataEntry.value', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2081,
    serialized_end=2138,
  )
  
  _ENTITY_FLOATSTRINGMETADATAENTRY = _descriptor.Descriptor(
    name='FloatStringMetadataEntry',
    full_name='scaii.common.Entity.FloatStringMetadataEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Entity.FloatStringMetadataEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Entity.FloatStringMetadataEntry.value', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2140,
    serialized_end=2198,
  )
  
  _ENTITY_INTMETADATAENTRY = _descriptor.Descriptor(
    name='IntMetadataEntry',
    full_name='scaii.common.Entity.IntMetadataEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Entity.IntMetadataEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Entity.IntMetadataEntry.value', index=1,
        number=2, type=3, cpp_type=2, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2200,
    serialized_end=2250,
  )
  
  _ENTITY_BOOLMETADATAENTRY = _descriptor.Descriptor(
    name='BoolMetadataEntry',
    full_name='scaii.common.Entity.BoolMetadataEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Entity.BoolMetadataEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Entity.BoolMetadataEntry.value', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2252,
    serialized_end=2303,
  )
  
  _ENTITY_FLOATMETADATAENTRY = _descriptor.Descriptor(
    name='FloatMetadataEntry',
    full_name='scaii.common.Entity.FloatMetadataEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='scaii.common.Entity.FloatMetadataEntry.key', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='scaii.common.Entity.FloatMetadataEntry.value', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2305,
    serialized_end=2357,
  )
  
  _ENTITY = _descriptor.Descriptor(
    name='Entity',
    full_name='scaii.common.Entity',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='id', full_name='scaii.common.Entity.id', index=0,
        number=1, type=4, cpp_type=4, label=2,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pos', full_name='scaii.common.Entity.pos', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shapes', full_name='scaii.common.Entity.shapes', index=2,
        number=3, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='delete', full_name='scaii.common.Entity.delete', index=3,
        number=4, type=8, cpp_type=7, label=2,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stringMetadata', full_name='scaii.common.Entity.stringMetadata', index=4,
        number=5, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='boolStringMetadata', full_name='scaii.common.Entity.boolStringMetadata', index=5,
        number=6, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='floatStringMetadata', full_name='scaii.common.Entity.floatStringMetadata', index=6,
        number=7, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='intMetadata', full_name='scaii.common.Entity.intMetadata', index=7,
        number=8, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='boolMetadata', full_name='scaii.common.Entity.boolMetadata', index=8,
        number=9, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='floatMetadata', full_name='scaii.common.Entity.floatMetadata', index=9,
        number=10, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='ui_layer', full_name='scaii.common.Entity.ui_layer', index=10,
        number=11, type=4, cpp_type=4, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='non_clickable', full_name='scaii.common.Entity.non_clickable', index=11,
        number=12, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hp', full_name='scaii.common.Entity.hp', index=12,
        number=13, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max_hp', full_name='scaii.common.Entity.max_hp', index=13,
        number=14, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_ENTITY_STRINGMETADATAENTRY, _ENTITY_BOOLSTRINGMETADATAENTRY, _ENTITY_FLOATSTRINGMETADATAENTRY, _ENTITY_INTMETADATAENTRY, _ENTITY_BOOLMETADATAENTRY, _ENTITY_FLOATMETADATAENTRY, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1448,
    serialized_end=2357,
  )
  
  
  _POS = _descriptor.Descriptor(
    name='Pos',
    full_name='scaii.common.Pos',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='x', full_name='scaii.common.Pos.x', index=0,
        number=1, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='y', full_name='scaii.common.Pos.y', index=1,
        number=2, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2359,
    serialized_end=2386,
  )
  
  
  _COLOR = _descriptor.Descriptor(
    name='Color',
    full_name='scaii.common.Color',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='r', full_name='scaii.common.Color.r', index=0,
        number=1, type=13, cpp_type=3, label=2,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='g', full_name='scaii.common.Color.g', index=1,
        number=2, type=13, cpp_type=3, label=2,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='b', full_name='scaii.common.Color.b', index=2,
        number=3, type=13, cpp_type=3, label=2,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='a', full_name='scaii.common.Color.a', index=3,
        number=4, type=13, cpp_type=3, label=2,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2388,
    serialized_end=2439,
  )
  
  
  _TRIANGLE = _descriptor.Descriptor(
    name='Triangle',
    full_name='scaii.common.Triangle',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='base_len', full_name='scaii.common.Triangle.base_len', index=0,
        number=1, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2441,
    serialized_end=2469,
  )
  
  
  _CIRCLE = _descriptor.Descriptor(
    name='Circle',
    full_name='scaii.common.Circle',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='radius', full_name='scaii.common.Circle.radius', index=0,
        number=1, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2471,
    serialized_end=2495,
  )
  
  
  _RECT = _descriptor.Descriptor(
    name='Rect',
    full_name='scaii.common.Rect',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='width', full_name='scaii.common.Rect.width', index=0,
        number=1, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='height', full_name='scaii.common.Rect.height', index=1,
        number=2, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2497,
    serialized_end=2534,
  )
  
  
  _KITE = _descriptor.Descriptor(
    name='Kite',
    full_name='scaii.common.Kite',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='width', full_name='scaii.common.Kite.width', index=0,
        number=1, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='length', full_name='scaii.common.Kite.length', index=1,
        number=2, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2536,
    serialized_end=2573,
  )
  
  
  _ARROW = _descriptor.Descriptor(
    name='Arrow',
    full_name='scaii.common.Arrow',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='target_pos', full_name='scaii.common.Arrow.target_pos', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='thickness', full_name='scaii.common.Arrow.thickness', index=1,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='head_length', full_name='scaii.common.Arrow.head_length', index=2,
        number=3, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='head_width', full_name='scaii.common.Arrow.head_width', index=3,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2575,
    serialized_end=2681,
  )
  
  
  _OCTAGON = _descriptor.Descriptor(
    name='Octagon',
    full_name='scaii.common.Octagon',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='edge_top', full_name='scaii.common.Octagon.edge_top', index=0,
        number=1, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='edge_corner', full_name='scaii.common.Octagon.edge_corner', index=1,
        number=2, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='edge_left', full_name='scaii.common.Octagon.edge_left', index=2,
        number=3, type=1, cpp_type=5, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2683,
    serialized_end=2750,
  )
  
  
  _SHAPE = _descriptor.Descriptor(
    name='Shape',
    full_name='scaii.common.Shape',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='id', full_name='scaii.common.Shape.id', index=0,
        number=1, type=4, cpp_type=4, label=2,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='relative_pos', full_name='scaii.common.Shape.relative_pos', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='color', full_name='scaii.common.Shape.color', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='rotation', full_name='scaii.common.Shape.rotation', index=3,
        number=4, type=1, cpp_type=5, label=2,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='rect', full_name='scaii.common.Shape.rect', index=4,
        number=20, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='triangle', full_name='scaii.common.Shape.triangle', index=5,
        number=21, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='tag', full_name='scaii.common.Shape.tag', index=6,
        number=22, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='gradient_color', full_name='scaii.common.Shape.gradient_color', index=7,
        number=23, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kite', full_name='scaii.common.Shape.kite', index=8,
        number=24, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='octagon', full_name='scaii.common.Shape.octagon', index=9,
        number=25, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='arrow', full_name='scaii.common.Shape.arrow', index=10,
        number=26, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='circle', full_name='scaii.common.Shape.circle', index=11,
        number=27, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='delete', full_name='scaii.common.Shape.delete', index=12,
        number=40, type=8, cpp_type=7, label=2,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2753,
    serialized_end=3165,
  )
  
  
  _STUDYQUESTIONS = _descriptor.Descriptor(
    name='StudyQuestions',
    full_name='scaii.common.StudyQuestions',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='study_questions', full_name='scaii.common.StudyQuestions.study_questions', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='user_id', full_name='scaii.common.StudyQuestions.user_id', index=1,
        number=2, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='treatment_id', full_name='scaii.common.StudyQuestions.treatment_id', index=2,
        number=3, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='answer_filename', full_name='scaii.common.StudyQuestions.answer_filename', index=3,
        number=4, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3168,
    serialized_end=3302,
  )
  
  
  _STUDYQUESTION = _descriptor.Descriptor(
    name='StudyQuestion',
    full_name='scaii.common.StudyQuestion',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='step', full_name='scaii.common.StudyQuestion.step', index=0,
        number=1, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='question', full_name='scaii.common.StudyQuestion.question', index=1,
        number=2, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='answers', full_name='scaii.common.StudyQuestion.answers', index=2,
        number=3, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='question_id_for_step', full_name='scaii.common.StudyQuestion.question_id_for_step', index=3,
        number=4, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='question_type', full_name='scaii.common.StudyQuestion.question_type', index=4,
        number=5, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3304,
    serialized_end=3421,
  )
  
  
  _STUDYQUESTIONANSWER = _descriptor.Descriptor(
    name='StudyQuestionAnswer',
    full_name='scaii.common.StudyQuestionAnswer',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='step', full_name='scaii.common.StudyQuestionAnswer.step', index=0,
        number=1, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='question_number', full_name='scaii.common.StudyQuestionAnswer.question_number', index=1,
        number=2, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='question', full_name='scaii.common.StudyQuestionAnswer.question', index=2,
        number=3, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='answer', full_name='scaii.common.StudyQuestionAnswer.answer', index=3,
        number=4, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='user_id', full_name='scaii.common.StudyQuestionAnswer.user_id', index=4,
        number=5, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='treatment_id', full_name='scaii.common.StudyQuestionAnswer.treatment_id', index=5,
        number=6, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3424,
    serialized_end=3557,
  )
  
  
  _LOGFILEENTRY = _descriptor.Descriptor(
    name='LogFileEntry',
    full_name='scaii.common.LogFileEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='filename', full_name='scaii.common.LogFileEntry.filename', index=0,
        number=1, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='entry', full_name='scaii.common.LogFileEntry.entry', index=1,
        number=2, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='is_last_line', full_name='scaii.common.LogFileEntry.is_last_line', index=2,
        number=3, type=8, cpp_type=7, label=2,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3559,
    serialized_end=3628,
  )
  
  
  _JEDTEST = _descriptor.Descriptor(
    name='JedTest',
    full_name='scaii.common.JedTest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='ignore_this', full_name='scaii.common.JedTest.ignore_this', index=0,
        number=1, type=9, cpp_type=9, label=2,
        has_default_value=False, default_value=_b("").decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto2',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=3630,
    serialized_end=3660,
  )
  
  _VIZINIT.fields_by_name['explanations'].message_type = _EXPLANATIONPOINT
  _EXPLANATIONPOINTS.fields_by_name['explanation_points'].message_type = _EXPLANATIONPOINT
  _EXPLANATIONPOINT.fields_by_name['saliency'].message_type = _SALIENCY
  _EXPLANATIONPOINT.fields_by_name['bar_chart'].message_type = _BARCHART
  _LAYERS.fields_by_name['layers'].message_type = _LAYER
  _SALIENCY_SALIENCYMAPENTRY.fields_by_name['value'].message_type = _LAYERS
  _SALIENCY_SALIENCYMAPENTRY.containing_type = _SALIENCY
  _SALIENCY.fields_by_name['saliency_map'].message_type = _SALIENCY_SALIENCYMAPENTRY
  _BARCHART.fields_by_name['groups'].message_type = _BARGROUP
  _BARGROUP.fields_by_name['bars'].message_type = _BAR
  _VIZ_CUMULATIVEREWARDSENTRY.containing_type = _VIZ
  _VIZ.fields_by_name['entities'].message_type = _ENTITY
  _VIZ.fields_by_name['cumulative_rewards'].message_type = _VIZ_CUMULATIVEREWARDSENTRY
  _CHARTINFO.fields_by_name['actions'].message_type = _CHARTACTIONS
  _CHARTINFO.fields_by_name['value_vectors'].message_type = _CHARTVALUEVECTOR
  _ENTITY_STRINGMETADATAENTRY.containing_type = _ENTITY
  _ENTITY_BOOLSTRINGMETADATAENTRY.containing_type = _ENTITY
  _ENTITY_FLOATSTRINGMETADATAENTRY.containing_type = _ENTITY
  _ENTITY_INTMETADATAENTRY.containing_type = _ENTITY
  _ENTITY_BOOLMETADATAENTRY.containing_type = _ENTITY
  _ENTITY_FLOATMETADATAENTRY.containing_type = _ENTITY
  _ENTITY.fields_by_name['pos'].message_type = _POS
  _ENTITY.fields_by_name['shapes'].message_type = _SHAPE
  _ENTITY.fields_by_name['stringMetadata'].message_type = _ENTITY_STRINGMETADATAENTRY
  _ENTITY.fields_by_name['boolStringMetadata'].message_type = _ENTITY_BOOLSTRINGMETADATAENTRY
  _ENTITY.fields_by_name['floatStringMetadata'].message_type = _ENTITY_FLOATSTRINGMETADATAENTRY
  _ENTITY.fields_by_name['intMetadata'].message_type = _ENTITY_INTMETADATAENTRY
  _ENTITY.fields_by_name['boolMetadata'].message_type = _ENTITY_BOOLMETADATAENTRY
  _ENTITY.fields_by_name['floatMetadata'].message_type = _ENTITY_FLOATMETADATAENTRY
  _ARROW.fields_by_name['target_pos'].message_type = _POS
  _SHAPE.fields_by_name['relative_pos'].message_type = _POS
  _SHAPE.fields_by_name['color'].message_type = _COLOR
  _SHAPE.fields_by_name['rect'].message_type = _RECT
  _SHAPE.fields_by_name['triangle'].message_type = _TRIANGLE
  _SHAPE.fields_by_name['gradient_color'].message_type = _COLOR
  _SHAPE.fields_by_name['kite'].message_type = _KITE
  _SHAPE.fields_by_name['octagon'].message_type = _OCTAGON
  _SHAPE.fields_by_name['arrow'].message_type = _ARROW
  _SHAPE.fields_by_name['circle'].message_type = _CIRCLE
  _STUDYQUESTIONS.fields_by_name['study_questions'].message_type = _STUDYQUESTION
  DESCRIPTOR.message_types_by_name['VizInit'] = _VIZINIT
  DESCRIPTOR.message_types_by_name['ExplanationPoints'] = _EXPLANATIONPOINTS
  DESCRIPTOR.message_types_by_name['ExplanationPoint'] = _EXPLANATIONPOINT
  DESCRIPTOR.message_types_by_name['Layer'] = _LAYER
  DESCRIPTOR.message_types_by_name['Layers'] = _LAYERS
  DESCRIPTOR.message_types_by_name['Saliency'] = _SALIENCY
  DESCRIPTOR.message_types_by_name['BarChart'] = _BARCHART
  DESCRIPTOR.message_types_by_name['BarGroup'] = _BARGROUP
  DESCRIPTOR.message_types_by_name['Bar'] = _BAR
  DESCRIPTOR.message_types_by_name['Viz'] = _VIZ
  DESCRIPTOR.message_types_by_name['ChartInfo'] = _CHARTINFO
  DESCRIPTOR.message_types_by_name['ChartActions'] = _CHARTACTIONS
  DESCRIPTOR.message_types_by_name['ChartValueVector'] = _CHARTVALUEVECTOR
  DESCRIPTOR.message_types_by_name['Entity'] = _ENTITY
  DESCRIPTOR.message_types_by_name['Pos'] = _POS
  DESCRIPTOR.message_types_by_name['Color'] = _COLOR
  DESCRIPTOR.message_types_by_name['Triangle'] = _TRIANGLE
  DESCRIPTOR.message_types_by_name['Circle'] = _CIRCLE
  DESCRIPTOR.message_types_by_name['Rect'] = _RECT
  DESCRIPTOR.message_types_by_name['Kite'] = _KITE
  DESCRIPTOR.message_types_by_name['Arrow'] = _ARROW
  DESCRIPTOR.message_types_by_name['Octagon'] = _OCTAGON
  DESCRIPTOR.message_types_by_name['Shape'] = _SHAPE
  DESCRIPTOR.message_types_by_name['StudyQuestions'] = _STUDYQUESTIONS
  DESCRIPTOR.message_types_by_name['StudyQuestion'] = _STUDYQUESTION
  DESCRIPTOR.message_types_by_name['StudyQuestionAnswer'] = _STUDYQUESTIONANSWER
  DESCRIPTOR.message_types_by_name['LogFileEntry'] = _LOGFILEENTRY
  DESCRIPTOR.message_types_by_name['JedTest'] = _JEDTEST
  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
  
  VizInit = _reflection.GeneratedProtocolMessageType('VizInit', (_message.Message,), dict(
    DESCRIPTOR = _VIZINIT,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.VizInit)
    ))
  _sym_db.RegisterMessage(VizInit)
  
  ExplanationPoints = _reflection.GeneratedProtocolMessageType('ExplanationPoints', (_message.Message,), dict(
    DESCRIPTOR = _EXPLANATIONPOINTS,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.ExplanationPoints)
    ))
  _sym_db.RegisterMessage(ExplanationPoints)
  
  ExplanationPoint = _reflection.GeneratedProtocolMessageType('ExplanationPoint', (_message.Message,), dict(
    DESCRIPTOR = _EXPLANATIONPOINT,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.ExplanationPoint)
    ))
  _sym_db.RegisterMessage(ExplanationPoint)
  
  Layer = _reflection.GeneratedProtocolMessageType('Layer', (_message.Message,), dict(
    DESCRIPTOR = _LAYER,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Layer)
    ))
  _sym_db.RegisterMessage(Layer)
  
  Layers = _reflection.GeneratedProtocolMessageType('Layers', (_message.Message,), dict(
    DESCRIPTOR = _LAYERS,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Layers)
    ))
  _sym_db.RegisterMessage(Layers)
  
  Saliency = _reflection.GeneratedProtocolMessageType('Saliency', (_message.Message,), dict(
  
    SaliencyMapEntry = _reflection.GeneratedProtocolMessageType('SaliencyMapEntry', (_message.Message,), dict(
      DESCRIPTOR = _SALIENCY_SALIENCYMAPENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Saliency.SaliencyMapEntry)
      ))
    ,
    DESCRIPTOR = _SALIENCY,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Saliency)
    ))
  _sym_db.RegisterMessage(Saliency)
  _sym_db.RegisterMessage(Saliency.SaliencyMapEntry)
  
  BarChart = _reflection.GeneratedProtocolMessageType('BarChart', (_message.Message,), dict(
    DESCRIPTOR = _BARCHART,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.BarChart)
    ))
  _sym_db.RegisterMessage(BarChart)
  
  BarGroup = _reflection.GeneratedProtocolMessageType('BarGroup', (_message.Message,), dict(
    DESCRIPTOR = _BARGROUP,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.BarGroup)
    ))
  _sym_db.RegisterMessage(BarGroup)
  
  Bar = _reflection.GeneratedProtocolMessageType('Bar', (_message.Message,), dict(
    DESCRIPTOR = _BAR,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Bar)
    ))
  _sym_db.RegisterMessage(Bar)
  
  Viz = _reflection.GeneratedProtocolMessageType('Viz', (_message.Message,), dict(
  
    CumulativeRewardsEntry = _reflection.GeneratedProtocolMessageType('CumulativeRewardsEntry', (_message.Message,), dict(
      DESCRIPTOR = _VIZ_CUMULATIVEREWARDSENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Viz.CumulativeRewardsEntry)
      ))
    ,
    DESCRIPTOR = _VIZ,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Viz)
    ))
  _sym_db.RegisterMessage(Viz)
  _sym_db.RegisterMessage(Viz.CumulativeRewardsEntry)
  
  ChartInfo = _reflection.GeneratedProtocolMessageType('ChartInfo', (_message.Message,), dict(
    DESCRIPTOR = _CHARTINFO,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.ChartInfo)
    ))
  _sym_db.RegisterMessage(ChartInfo)
  
  ChartActions = _reflection.GeneratedProtocolMessageType('ChartActions', (_message.Message,), dict(
    DESCRIPTOR = _CHARTACTIONS,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.ChartActions)
    ))
  _sym_db.RegisterMessage(ChartActions)
  
  ChartValueVector = _reflection.GeneratedProtocolMessageType('ChartValueVector', (_message.Message,), dict(
    DESCRIPTOR = _CHARTVALUEVECTOR,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.ChartValueVector)
    ))
  _sym_db.RegisterMessage(ChartValueVector)
  
  Entity = _reflection.GeneratedProtocolMessageType('Entity', (_message.Message,), dict(
  
    StringMetadataEntry = _reflection.GeneratedProtocolMessageType('StringMetadataEntry', (_message.Message,), dict(
      DESCRIPTOR = _ENTITY_STRINGMETADATAENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Entity.StringMetadataEntry)
      ))
    ,
  
    BoolStringMetadataEntry = _reflection.GeneratedProtocolMessageType('BoolStringMetadataEntry', (_message.Message,), dict(
      DESCRIPTOR = _ENTITY_BOOLSTRINGMETADATAENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Entity.BoolStringMetadataEntry)
      ))
    ,
  
    FloatStringMetadataEntry = _reflection.GeneratedProtocolMessageType('FloatStringMetadataEntry', (_message.Message,), dict(
      DESCRIPTOR = _ENTITY_FLOATSTRINGMETADATAENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Entity.FloatStringMetadataEntry)
      ))
    ,
  
    IntMetadataEntry = _reflection.GeneratedProtocolMessageType('IntMetadataEntry', (_message.Message,), dict(
      DESCRIPTOR = _ENTITY_INTMETADATAENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Entity.IntMetadataEntry)
      ))
    ,
  
    BoolMetadataEntry = _reflection.GeneratedProtocolMessageType('BoolMetadataEntry', (_message.Message,), dict(
      DESCRIPTOR = _ENTITY_BOOLMETADATAENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Entity.BoolMetadataEntry)
      ))
    ,
  
    FloatMetadataEntry = _reflection.GeneratedProtocolMessageType('FloatMetadataEntry', (_message.Message,), dict(
      DESCRIPTOR = _ENTITY_FLOATMETADATAENTRY,
      __module__ = 'viz_pb2'
      # @@protoc_insertion_point(class_scope:scaii.common.Entity.FloatMetadataEntry)
      ))
    ,
    DESCRIPTOR = _ENTITY,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Entity)
    ))
  _sym_db.RegisterMessage(Entity)
  _sym_db.RegisterMessage(Entity.StringMetadataEntry)
  _sym_db.RegisterMessage(Entity.BoolStringMetadataEntry)
  _sym_db.RegisterMessage(Entity.FloatStringMetadataEntry)
  _sym_db.RegisterMessage(Entity.IntMetadataEntry)
  _sym_db.RegisterMessage(Entity.BoolMetadataEntry)
  _sym_db.RegisterMessage(Entity.FloatMetadataEntry)
  
  Pos = _reflection.GeneratedProtocolMessageType('Pos', (_message.Message,), dict(
    DESCRIPTOR = _POS,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Pos)
    ))
  _sym_db.RegisterMessage(Pos)
  
  Color = _reflection.GeneratedProtocolMessageType('Color', (_message.Message,), dict(
    DESCRIPTOR = _COLOR,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Color)
    ))
  _sym_db.RegisterMessage(Color)
  
  Triangle = _reflection.GeneratedProtocolMessageType('Triangle', (_message.Message,), dict(
    DESCRIPTOR = _TRIANGLE,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Triangle)
    ))
  _sym_db.RegisterMessage(Triangle)
  
  Circle = _reflection.GeneratedProtocolMessageType('Circle', (_message.Message,), dict(
    DESCRIPTOR = _CIRCLE,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Circle)
    ))
  _sym_db.RegisterMessage(Circle)
  
  Rect = _reflection.GeneratedProtocolMessageType('Rect', (_message.Message,), dict(
    DESCRIPTOR = _RECT,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Rect)
    ))
  _sym_db.RegisterMessage(Rect)
  
  Kite = _reflection.GeneratedProtocolMessageType('Kite', (_message.Message,), dict(
    DESCRIPTOR = _KITE,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Kite)
    ))
  _sym_db.RegisterMessage(Kite)
  
  Arrow = _reflection.GeneratedProtocolMessageType('Arrow', (_message.Message,), dict(
    DESCRIPTOR = _ARROW,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Arrow)
    ))
  _sym_db.RegisterMessage(Arrow)
  
  Octagon = _reflection.GeneratedProtocolMessageType('Octagon', (_message.Message,), dict(
    DESCRIPTOR = _OCTAGON,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Octagon)
    ))
  _sym_db.RegisterMessage(Octagon)
  
  Shape = _reflection.GeneratedProtocolMessageType('Shape', (_message.Message,), dict(
    DESCRIPTOR = _SHAPE,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.Shape)
    ))
  _sym_db.RegisterMessage(Shape)
  
  StudyQuestions = _reflection.GeneratedProtocolMessageType('StudyQuestions', (_message.Message,), dict(
    DESCRIPTOR = _STUDYQUESTIONS,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.StudyQuestions)
    ))
  _sym_db.RegisterMessage(StudyQuestions)
  
  StudyQuestion = _reflection.GeneratedProtocolMessageType('StudyQuestion', (_message.Message,), dict(
    DESCRIPTOR = _STUDYQUESTION,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.StudyQuestion)
    ))
  _sym_db.RegisterMessage(StudyQuestion)
  
  StudyQuestionAnswer = _reflection.GeneratedProtocolMessageType('StudyQuestionAnswer', (_message.Message,), dict(
    DESCRIPTOR = _STUDYQUESTIONANSWER,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.StudyQuestionAnswer)
    ))
  _sym_db.RegisterMessage(StudyQuestionAnswer)
  
  LogFileEntry = _reflection.GeneratedProtocolMessageType('LogFileEntry', (_message.Message,), dict(
    DESCRIPTOR = _LOGFILEENTRY,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.LogFileEntry)
    ))
  _sym_db.RegisterMessage(LogFileEntry)
  
  JedTest = _reflection.GeneratedProtocolMessageType('JedTest', (_message.Message,), dict(
    DESCRIPTOR = _JEDTEST,
    __module__ = 'viz_pb2'
    # @@protoc_insertion_point(class_scope:scaii.common.JedTest)
    ))
  _sym_db.RegisterMessage(JedTest)
  
  
  _SALIENCY_SALIENCYMAPENTRY.has_options = True
  _SALIENCY_SALIENCYMAPENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _VIZ_CUMULATIVEREWARDSENTRY.has_options = True
  _VIZ_CUMULATIVEREWARDSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _ENTITY_STRINGMETADATAENTRY.has_options = True
  _ENTITY_STRINGMETADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _ENTITY_BOOLSTRINGMETADATAENTRY.has_options = True
  _ENTITY_BOOLSTRINGMETADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _ENTITY_FLOATSTRINGMETADATAENTRY.has_options = True
  _ENTITY_FLOATSTRINGMETADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _ENTITY_INTMETADATAENTRY.has_options = True
  _ENTITY_INTMETADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _ENTITY_BOOLMETADATAENTRY.has_options = True
  _ENTITY_BOOLMETADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _ENTITY_FLOATMETADATAENTRY.has_options = True
  _ENTITY_FLOATMETADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  # @@protoc_insertion_point(module_scope)
  