edition = "2023";

package a;

message C1 {
  string str = 1;
  repeated string strs = 2;
  map<string, int32> str2int = 3;
  map<int32, string> int2str = 4;
  map<string, string> str2str = 5;
  C1 msg = 6;
  int32 int = 7;
}

message C2 {
  string str = 1;
  repeated string strs = 2;
  map<string, int32> str2int = 3;
  map<int32, string> int2str = 4;
  map<string, string> str2str = 5;
  C2 msg = 6;
  int32 int = 7;
}

message C3 {
  string str = 1;
  repeated string strs = 2;
  map<string, int32> str2int = 3;
  map<int32, string> int2str = 4;
  map<string, string> str2str = 5;
  C3 msg = 6;
  int32 int = 7;
}

message C4 {
  string str = 1 [features.utf8_validation = NONE];
  repeated string strs = 2 [features.utf8_validation = NONE];
  map<string, int32> str2int = 3 [features.utf8_validation = NONE];
  map<int32, string> int2str = 4 [features.utf8_validation = NONE];
  map<string, string> str2str = 5 [features.utf8_validation = NONE];
  C4 msg = 6;
  int32 int = 7;
}

message C5 {
  string str = 1 [features.utf8_validation = NONE];
  repeated string strs = 2 [features.utf8_validation = NONE];
  map<string, int32> str2int = 3 [features.utf8_validation = NONE];
  map<int32, string> int2str = 4 [features.utf8_validation = NONE];
  map<string, string> str2str = 5 [features.utf8_validation = NONE];
  C5 msg = 6;
  int32 int = 7;
}

message C6 {
  string str = 1 [features.utf8_validation = NONE];
  repeated string strs = 2 [features.utf8_validation = NONE];
  map<string, int32> str2int = 3 [features.utf8_validation = NONE];
  map<int32, string> int2str = 4 [features.utf8_validation = NONE];
  map<string, string> str2str = 5 [features.utf8_validation = NONE];
  C6 msg = 6;
  int32 int = 7;
}
