/* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_366_1 */
void Balise_366_1_AmsterdamUtrechtL2_Sheet06_Bijlmer_Balises(
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_366_1::B_data_in */B_data_internal_T_InfraLib *B_data_in,
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_366_1::Header */BaliseTelegramHeader_int_T_TM *Header,
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_366_1::PIG_nom */kcg_int PIG_nom,
  outC_Balise_366_1_AmsterdamUtrechtL2_Sheet06_Bijlmer_Balises *outC)
{
  static B_data_internal_T_InfraLib tmp;
  
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L23, Header);
  outC->_L20 = PIG_nom;
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L19, Header);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L15, B_data_in);
  /* 1 */
  Balise_Localisation_InfraLib(
    &outC->_L15,
    &outC->_L19,
    outC->_L20,
    &outC->Context_1);
  outC->_L21 = outC->Context_1.PIG_0_out;
  outC->_L2 = outC->Context_1.TrainPass;
  outC->tmp = outC->_L2;
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L5, B_data_in);
  if (outC->tmp) {
    /* 1 */
    Packets_BG366_AmsterdamUtrechtL2_Sheet06_Bijlmer_Balises(
      &outC->_L23,
      &outC->_L5,
      &outC->_1_Context_1);
    kcg_copy_B_data_internal_T_InfraLib(
      &tmp,
      &outC->_1_Context_1.Balise_data_out);
    kcg_copy_B_data_internal_T_InfraLib(&outC->_L4, &tmp);
  }
  else {
    kcg_copy_B_data_internal_T_InfraLib(&outC->_L4, &outC->_L5);
  }
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L17, &outC->_L4);
  if (kcg_true) {
    outC->_L17.pig_nom_0 = outC->_L21;
  }
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_out, &outC->_L17);
}
/* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_355_0 */
void Balise_355_0_AmsterdamUtrechtL2_Sheet06_Bijlmer_Balises(
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_355_0::B_data_in */B_data_internal_T_InfraLib *B_data_in,
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_355_0::Header */BaliseTelegramHeader_int_T_TM *Header,
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_355_0::PIG_nom */kcg_int PIG_nom,
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_355_0::B_data_out */B_data_internal_T_InfraLib *B_data_out)
{
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_355_0::_L2 */ kcg_bool _L2;
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Balise_355_0::_L21 */ kcg_int _L21;
  
  /* 1 */ Balise_Localisation_InfraLib(B_data_in, Header, PIG_nom, &_L21, &_L2);
  if (_L2) {
    /* 1 */
    Packets_BG355_AmsterdamUtrechtL2_Sheet06_Bijlmer_Balises(
      Header,
      B_data_in,
      B_data_out);
  }
  else {
    kcg_copy_B_data_internal_T_InfraLib(B_data_out, B_data_in);
  }
  (*B_data_out).pig_nom_0 = _L21;
}
/* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Packets_BG354 */
void Packets_BG354_AmsterdamUtrechtL2_Sheet06_Bijlmer_Balises(
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Packets_BG354::Header */BaliseTelegramHeader_int_T_TM *Header,
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_Balises::Packets_BG354::Balise_data_in */B_data_internal_T_InfraLib *Balise_data_in,
  outC_Packets_BG354_AmsterdamUtrechtL2_Sheet06_Bijlmer_Balises *outC)
{
  outC->_L33 = kcg_true;
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L26, Balise_data_in);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L28, Header);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L29, &outC->_L26);
  if (kcg_true) {
    kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L29.header, &outC->_L28);
  }
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L25,
    &outC->_L26.packets);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->B_data_in, &outC->_L25);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L22, &outC->B_data_in);
  /* 1 */
  Send_P042_MessageLibBaseline2(
    &outC->_L22,
    (P042_trackside_int_T_TM *) &BG354_P042_Packets426,
    &outC->Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L11,
    &outC->Context_1.B_data_out);
  /* 1 */
  Send_P046_MessageLibBaseline2(
    &outC->_L11,
    (P046_trackside_int_T_TM *) &BG354_P046_N_Packets426,
    &outC->_1_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L2,
    &outC->_1_Context_1.B_data_out);
  /* 2 */
  Send_P046_MessageLibBaseline2(
    &outC->_L2,
    (P046_trackside_int_T_TM *) &BG354_P046_R_Packets426,
    &outC->Context_2);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L3,
    &outC->Context_2.B_data_out);
  /* 1 */
  Send_P003V1_MessageLibBaseline2(
    &outC->_L3,
    (P003V1_trackside_int_T_TM_baseline2 *) &BG354_P003_Packets426,
    &outC->_2_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L4,
    &outC->_2_Context_1.B_data_out);
  /* 1 */
  Send_P255_MessageLibBaseline2(
    &outC->_L4,
    (P255_trackside_int_T_TM *) &BGXXX_P255_Packets426,
    &outC->_3_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L5,
    &outC->_3_Context_1.packet_data_out);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->B_data_out, &outC->_L5);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L30, &outC->B_data_out);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L31, &outC->_L29);
  if (kcg_true) {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &outC->_L31.packets,
      &outC->_L30);
  }
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L32, &outC->_L31);
  if (kcg_true) {
    outC->_L32.balise_passed = outC->_L33;
  }
  kcg_copy_B_data_internal_T_InfraLib(&outC->Balise_data_out, &outC->_L32);
}
/* AmsterdamUtrechtL2::Sheet14_Maarssen_Balises::Balise_Group_435 */
void Balise_Group_435_AmsterdamUtrechtL2_Sheet14_Maarssen_Balises(
  /* AmsterdamUtrechtL2::Sheet14_Maarssen_Balises::Balise_Group_435::BG_message_in */CompressedBaliseMessage_TM *BG_message_in,
  /* AmsterdamUtrechtL2::Sheet14_Maarssen_Balises::Balise_Group_435::TrainPos */kcg_real _7_TrainPos,
  /* AmsterdamUtrechtL2::Sheet14_Maarssen_Balises::Balise_Group_435::Engineering_Data */BaliseGroupData_TM *Engineering_Data,
  outC_Balise_Group_435_AmsterdamUtrechtL2_Sheet14_Maarssen_Balises *outC)
{
  static kcg_int _6_noname_6;
  static BaliseTelegramHeader_int_T_TM noname_6;
  static kcg_int _5_noname_5;
  static BaliseTelegramHeader_int_T_TM noname_5;
  static kcg_int _4_noname_4;
  static BaliseTelegramHeader_int_T_TM noname_4;
  static kcg_int _3_noname_3;
  static BaliseTelegramHeader_int_T_TM noname_3;
  static kcg_int _2_noname_2;
  static BaliseTelegramHeader_int_T_TM noname_2;
  static kcg_int _1_noname_1;
  static BaliseTelegramHeader_int_T_TM noname_1;
  static kcg_bool noname;
  
  outC->_L27 = 7;
  outC->PIG_nom_6 = outC->_L27;
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &outC->Header_6,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_BaliseTelegramHd_InfraLib);
  outC->_L26 = 6;
  outC->PIG_nom_5 = outC->_L26;
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &outC->Header_5,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_BaliseTelegramHd_InfraLib);
  outC->_L25 = 5;
  outC->PIG_nom_4 = outC->_L25;
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &outC->Header_4,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_BaliseTelegramHd_InfraLib);
  outC->_L24 = 4;
  outC->PIG_nom_3 = outC->_L24;
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &outC->Header_3,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_BaliseTelegramHd_InfraLib);
  outC->_L23 = 3;
  outC->PIG_nom_2 = outC->_L23;
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &outC->Header_2,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_BaliseTelegramHd_InfraLib);
  outC->_L22 = 2;
  outC->PIG_nom_1 = outC->_L22;
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &outC->Header_1,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_BaliseTelegramHd_InfraLib);
  kcg_copy_CompressedBaliseMessage_TM(&outC->_L29, BG_message_in);
  outC->_L28 = _7_TrainPos;
  kcg_copy_BaliseGroupData_TM(&outC->_L19, Engineering_Data);
  /* 1 */ Balise_Group_Init_InfraLib(outC->_L28, &outC->_L19, &outC->Context_1);
  kcg_copy_B_data_internal_T_InfraLib(
    &outC->_L11,
    &outC->Context_1.BG_internal_out);
  kcg_copy_B_data_internal_T_InfraLib(&outC->BaliseDataIn, &outC->_L11);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L9, &outC->BaliseDataIn);
  outC->_L20 = 0;
  /* 1 */
  Balise_435_0_AmsterdamUtrechtL2_Sheet14_Maarssen_Balises(
    &outC->_L9,
    (BaliseTelegramHeader_int_T_TM *) &BG435_header_B0_Balises426,
    outC->_L20,
    &outC->_1_Context_1);
  kcg_copy_B_data_internal_T_InfraLib(
    &outC->_L8,
    &outC->_1_Context_1.B_data_out);
  outC->_L21 = 1;
  /* 1 */
  Balise_435_1_AmsterdamUtrechtL2_Sheet14_Maarssen_Balises(
    &outC->_L8,
    (BaliseTelegramHeader_int_T_TM *) &BG435_header_B1_Balises426,
    outC->_L21,
    &outC->_2_Context_1);
  kcg_copy_B_data_internal_T_InfraLib(
    &outC->_L7,
    &outC->_2_Context_1.B_data_out);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_in_1, &outC->_L7);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L1_1, &outC->B_data_in_1);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_out_1, &outC->_L1_1);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L6, &outC->B_data_out_1);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_in_2, &outC->_L6);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L1_2, &outC->B_data_in_2);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_out_2, &outC->_L1_2);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L5, &outC->B_data_out_2);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_in_3, &outC->_L5);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L1_3, &outC->B_data_in_3);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_out_3, &outC->_L1_3);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L4, &outC->B_data_out_3);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_in_4, &outC->_L4);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L1_4, &outC->B_data_in_4);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_out_4, &outC->_L1_4);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L3, &outC->B_data_out_4);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_in_5, &outC->_L3);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L1_5, &outC->B_data_in_5);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_out_5, &outC->_L1_5);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L2, &outC->B_data_out_5);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_in_6, &outC->_L2);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L1_6, &outC->B_data_in_6);
  kcg_copy_B_data_internal_T_InfraLib(&outC->B_data_out_6, &outC->_L1_6);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L1, &outC->B_data_out_6);
  kcg_copy_B_data_internal_T_InfraLib(&outC->BaliseDataOut, &outC->_L1);
  kcg_copy_B_data_internal_T_InfraLib(&outC->_L16, &outC->BaliseDataOut);
  /* 1 */
  Balise_Group_Close_InfraLib(&outC->_L16, &outC->_L29, &outC->_3_Context_1);
  outC->_L14 = outC->_3_Context_1.Error_out;
  kcg_copy_CompressedBaliseMessage_TM(
    &outC->_L13,
    &outC->_3_Context_1.BG_message_out);
  noname = outC->_L14;
  kcg_copy_CompressedBaliseMessage_TM(&outC->BG_message_out, &outC->_L13);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L3_1, &outC->Header_1);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&noname_1, &outC->_L3_1);
  outC->_L2_1 = outC->PIG_nom_1;
  _1_noname_1 = outC->_L2_1;
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L3_2, &outC->Header_2);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&noname_2, &outC->_L3_2);
  outC->_L2_2 = outC->PIG_nom_2;
  _2_noname_2 = outC->_L2_2;
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L3_3, &outC->Header_3);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&noname_3, &outC->_L3_3);
  outC->_L2_3 = outC->PIG_nom_3;
  _3_noname_3 = outC->_L2_3;
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L3_4, &outC->Header_4);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&noname_4, &outC->_L3_4);
  outC->_L2_4 = outC->PIG_nom_4;
  _4_noname_4 = outC->_L2_4;
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L3_5, &outC->Header_5);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&noname_5, &outC->_L3_5);
  outC->_L2_5 = outC->PIG_nom_5;
  _5_noname_5 = outC->_L2_5;
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L3_6, &outC->Header_6);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&noname_6, &outC->_L3_6);
  outC->_L2_6 = outC->PIG_nom_6;
  _6_noname_6 = outC->_L2_6;
}