/* Receive_TrackSide_Msg_Pkg::BaliseSupport::setFirstFree */
void setFirstFree_Receive_TrackSide_Msg_Pkg_BaliseSupport(
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::setFirstFree::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::setFirstFree::inTelegramArray */ Telegram_T_BG_Types_Pkg *inTelegramArray,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::setFirstFree::cont */ kcg_bool *cont,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::setFirstFree::outTelegrams */ Telegram_T_BG_Types_Pkg *outTelegrams)
{
  *cont = (*inTelegramArray).valid;
  /* 1 */ if (*cont) {
    kcg_copy_Telegram_T_BG_Types_Pkg(outTelegrams, inTelegramArray);
  }
  else {
    kcg_copy_Telegram_T_BG_Types_Pkg(outTelegrams, newTelegram);
  }
}
/* Receive_TrackSide_Msg_Pkg::setCoordinateSystemPosition */
void setCoordinateSystemPosition_Receive_TrackSide_Msg_Pkg(
  /* Receive_TrackSide_Msg_Pkg::setCoordinateSystemPosition::inOldPosition */ centerOfBalisePosition_T_BG_Types_Pkg *inOldPosition,
  /* Receive_TrackSide_Msg_Pkg::setCoordinateSystemPosition::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
  /* Receive_TrackSide_Msg_Pkg::setCoordinateSystemPosition::incenterOfBalisePosition */ centerOfBalisePosition_T_BG_Types_Pkg *incenterOfBalisePosition,
  outC_setCoordinateSystemPosition_Receive_TrackSide_Msg_Pkg *outC)
{
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L1, newTelegram);
  kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(&outC->_L2, inOldPosition);
  outC->_L10 = outC->_L1.telegramheader.m_dup;
  outC->_L11 = M_DUP_No_duplicates;
  outC->_L12 = outC->_L10 != outC->_L11;
  outC->_L8 = N_PIG_I_am_the_2nd;
  outC->_L3 = outC->_L1.telegramheader.n_pig;
  outC->_L9 = outC->_L8 == outC->_L3;
  outC->_L18 = outC->_L2.odometerOfBaliseDetection.valid;
  outC->_L16 = !outC->_L18;
  outC->_L13 = outC->_L12 & outC->_L9 & outC->_L16;
  outC->_L6 = N_PIG_I_am_the_1st;
  outC->_L5 = outC->_L3 == outC->_L6;
  outC->_L14 = outC->_L13 | outC->_L5;
  kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
    &outC->_L4,
    incenterOfBalisePosition);
  /* 1 */ if (outC->_L14) {
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(&outC->_L7, &outC->_L4);
  }
  else {
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(&outC->_L7, &outC->_L2);
  }
  kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
    &outC->outUpdateBGPosition,
    &outC->_L7);
}
/* CheckBGConsistency_Pkg::CheckCompleteness */
void CheckCompleteness_CheckBGConsistency_Pkg(
  /* CheckBGConsistency_Pkg::CheckCompleteness::bgMessage */ BG_Message_T_BG_Types_Pkg *bgMessage,
  /* CheckBGConsistency_Pkg::CheckCompleteness::isComplete */ kcg_bool *isComplete,
  /* CheckBGConsistency_Pkg::CheckCompleteness::isSingleBG */ kcg_bool *isSingleBG,
  /* CheckBGConsistency_Pkg::CheckCompleteness::lastTelegram */ Telegram_T_BG_Types_Pkg *lastTelegram)
{
  /* CheckBGConsistency_Pkg::CheckCompleteness::IfBlock1::else */
  static kcg_bool else_clock_IfBlock1;
  /* CheckBGConsistency_Pkg::CheckCompleteness::IfBlock1::else::then::_L1 */
  static kcg_bool _L1_IfBlock1;
  /* CheckBGConsistency_Pkg::CheckCompleteness::IfBlock1::else::then::_L5 */
  static kcg_int _L5_IfBlock1;
  /* CheckBGConsistency_Pkg::CheckCompleteness::IfBlock1 */
  static kcg_bool IfBlock1_clock;
  
  IfBlock1_clock = (*bgMessage).numberBalises == 1;
  /* ck_IfBlock1 */ if (IfBlock1_clock) {
    *isComplete = kcg_false;
    *isSingleBG = /* 1 */
      CheckSingleBG_CheckBGConsistency_Pkg_SubFunction(
        &(*bgMessage).Telegrams[0]);
    kcg_copy_Telegram_T_BG_Types_Pkg(lastTelegram, &(*bgMessage).Telegrams[0]);
  }
  else {
    else_clock_IfBlock1 = !((*bgMessage).numberBalises > /* 1 */
        N_TOTAL2int_CheckBGConsistency_Pkg_SubFunction(
          (*bgMessage).Telegrams[0].telegramheader.n_total)) &
      ((*bgMessage).numberBalises > 0);
    /* ck_anon_activ */ if (else_clock_IfBlock1) {
      *isSingleBG = kcg_false;
      /* 1 */
      CompletenessFirstCheck_CheckBGConsistency_Pkg_SubFunction(
        &(*bgMessage).Telegrams,
        &_L1_IfBlock1,
        lastTelegram,
        &_L5_IfBlock1);
      *isComplete = _L1_IfBlock1 & (_L5_IfBlock1 == (*bgMessage).numberBalises);
    }
    else {
      *isSingleBG = kcg_false;
      *isComplete = kcg_false;
      kcg_copy_Telegram_T_BG_Types_Pkg(
        lastTelegram,
        (Telegram_T_BG_Types_Pkg *) &cTelegram_CheckBGConsistency_Pkg);
    }
  }
}
/* CheckBGConsistency_Pkg::SubFunction::Check2Telegrams */
void Check2Telegrams_CheckBGConsistency_Pkg_SubFunction(
  /* CheckBGConsistency_Pkg::SubFunction::Check2Telegrams::telegram1 */ Telegram_T_BG_Types_Pkg *telegram1,
  /* CheckBGConsistency_Pkg::SubFunction::Check2Telegrams::telegram2 */ Telegram_T_BG_Types_Pkg *telegram2,
  /* CheckBGConsistency_Pkg::SubFunction::Check2Telegrams::isConsistent */ kcg_bool *isConsistent,
  /* CheckBGConsistency_Pkg::SubFunction::Check2Telegrams::telegram_out */ Telegram_T_BG_Types_Pkg *telegram_out)
{
  kcg_copy_Telegram_T_BG_Types_Pkg(telegram_out, telegram2);
  *isConsistent = (*telegram1).valid & /* 1 */
    Check2Headers_CheckBGConsistency_Pkg_SubFunction(
      &(*telegram1).telegramheader,
      (*telegram1).checkResult,
      &(*telegram2).telegramheader,
      (*telegram2).checkResult) & (*telegram2).valid;
}
/* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets_Iter */
void MergAllPackets_Iter_CheckBGConsistency_Pkg_SubFunction_MergFunction(
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets_Iter::telegramArray */ TelegramArray_T_BG_Types_Pkg *telegramArray,
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets_Iter::telegramout */ Telegram_T_BG_Types_Pkg *telegramout)
{
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets_Iter */
  static Telegram_T_BG_Types_Pkg acc;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets_Iter */
  static kcg_bool cond_iterw;
  static kcg_int i;
  
  kcg_copy_Telegram_T_BG_Types_Pkg(telegramout, &(*telegramArray)[0]);
  for (i = 0; i < 7; i++) {
    kcg_copy_Telegram_T_BG_Types_Pkg(&acc, telegramout);
    /* 1 */
    MergAllPackets_CheckBGConsistency_Pkg_SubFunction_MergFunction(
      &acc,
      &(*telegramArray)[i + 1],
      &cond_iterw,
      telegramout);
    if (!cond_iterw) {
      break;
    }
  }
}
/* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams */
void compareTelegrams_Receive_TrackSide_Msg_Pkg_BaliseSupport(
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::inTelegram1 */ Telegram_T_BG_Types_Pkg *inTelegram1,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::inTelegram2 */ Telegram_T_BG_Types_Pkg *inTelegram2,
  outC_compareTelegrams_Receive_TrackSide_Msg_Pkg_BaliseSupport *outC)
{
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::isEqual */ kcg_bool _1_isEqual;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::isEqual */ kcg_bool isEqual;
  
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L1, inTelegram1);
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L2, inTelegram2);
  kcg_copy_TelegramHeader_T_BG_Types_Pkg(&outC->_L3, &outC->_L1.telegramheader);
  kcg_copy_TelegramHeader_T_BG_Types_Pkg(&outC->_L4, &outC->_L2.telegramheader);
  outC->_L5 = kcg_comp_TelegramHeader_T_BG_Types_Pkg(&outC->_L3, &outC->_L4);
  outC->HeaderIsEqual = outC->_L5;
  outC->IfBlock1_clock = outC->HeaderIsEqual;
  /* ck_IfBlock1 */ if (outC->IfBlock1_clock) {
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L5_IfBlock1, inTelegram1);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &outC->_L2_IfBlock1,
      &outC->_L5_IfBlock1.packets);
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L4_IfBlock1, inTelegram2);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &outC->_L3_IfBlock1,
      &outC->_L4_IfBlock1.packets);
    outC->_L1_IfBlock1 = kcg_comp_CompressedPackets_T_Common_Types_Pkg(
        &outC->_L2_IfBlock1,
        &outC->_L3_IfBlock1);
    _1_isEqual = outC->_L1_IfBlock1;
    outC->isEqual = _1_isEqual;
  }
  else {
    outC->_L11_IfBlock1 = kcg_false;
    isEqual = outC->_L11_IfBlock1;
    outC->isEqual = isEqual;
  }
}
/* Receive_TrackSide_Msg_Pkg::checkInit */
void checkInit_Receive_TrackSide_Msg_Pkg(
  /* Receive_TrackSide_Msg_Pkg::checkInit::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
  /* Receive_TrackSide_Msg_Pkg::checkInit::inCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg *inCollector,
  outC_checkInit_Receive_TrackSide_Msg_Pkg *outC)
{
  /* Receive_TrackSide_Msg_Pkg::checkInit::outCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg _1_outCollector;
  /* Receive_TrackSide_Msg_Pkg::checkInit::outCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg outCollector;
  
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(&outC->_L8, inCollector);
  outC->_L2 = outC->_L8.totalTelegrams;
  outC->_L4 = 0;
  outC->_L6 = outC->_L2 > outC->_L4;
  outC->isDefined = outC->_L6;
  outC->IfBlock1_clock = outC->isDefined;
  /* ck_IfBlock1 */ if (outC->IfBlock1_clock) {
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->_L1_IfBlock1,
      inCollector);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &_1_outCollector,
      &outC->_L1_IfBlock1);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->outCollector,
      &_1_outCollector);
  }
  else {
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L19_IfBlock1, newTelegram);
    /* 1 */
    initCollector_Receive_TrackSide_Msg_Pkg_BaliseSupport(
      &outC->_L19_IfBlock1,
      &outC->Context_1);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->_L20_IfBlock1,
      &outC->Context_1.outCollector);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outCollector,
      &outC->_L20_IfBlock1);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->outCollector,
      &outCollector);
  }
}
/* Receive_TrackSide_Msg_Pkg::BuildBGMessage */
void BuildBGMessage_Receive_TrackSide_Msg_Pkg(
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::reset */ kcg_bool reset,
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::inTelegramPresent */ kcg_bool inTelegramPresent,
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::inDecodedTelegram */ Telegram_T_BG_Types_Pkg *inDecodedTelegram,
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::incenterOfBalisePosition */ centerOfBalisePosition_T_BG_Types_Pkg *incenterOfBalisePosition,
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::inActualOdometry */ odometry_T_Obu_BasicTypes_Pkg *inActualOdometry,
  outC_BuildBGMessage_Receive_TrackSide_Msg_Pkg *outC)
{
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage */
  static TelegramStore_T_Receive_TrackSide_Msg_Pkg tmp5;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage */
  static Telegram_T_BG_Types_Pkg tmp4;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage */
  static centerOfBalisePosition_T_BG_Types_Pkg tmp3;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage */
  static kcg_bool tmp2;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage */
  static kcg_bool tmp1;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage */
  static kcg_bool tmp;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::IfBlock4::else::_L11 */
  static Telegram_T_BG_Types_Pkg _L11_IfBlock4;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::IfBlock4::else::_L12 */
  static centerOfBalisePosition_T_BG_Types_Pkg _L12_IfBlock4;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::IfBlock1::then::_L22 */
  static kcg_bool _L22_IfBlock1;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::IfBlock1::else::IfBlock3 */
  static kcg_bool IfBlock3_clock_IfBlock1;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::storeBGTelegramArray */
  static TelegramArray_T_BG_Types_Pkg last_storeBGTelegramArray;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::storeCollector */
  static BGCollector_T_Receive_TrackSide_Msg_Pkg last_storeCollector;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::BGisComplete */
  static kcg_bool BGisComplete;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::telegramPresent */
  static kcg_bool telegramPresent;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::tempCollectorStore */
  static BGCollector_T_Receive_TrackSide_Msg_Pkg tempCollectorStore;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::tempBGTelegramArray */
  static TelegramArray_T_BG_Types_Pkg tempBGTelegramArray;
  /* Receive_TrackSide_Msg_Pkg::BuildBGMessage::_L43 */
  static kcg_bool _L43;
  
  _L43 = !reset;
  /* ck_reset */ if (reset) {
    telegramPresent = kcg_false;
    tmp1 = kcg_false;
  }
  else {
    /* last_init_ck_storeAdditionalTelegram */ if (outC->init) {
      kcg_copy_TelegramStore_T_Receive_TrackSide_Msg_Pkg(
        &tmp5,
        (TelegramStore_T_Receive_TrackSide_Msg_Pkg *)
          &cEmptyStore_Receive_TrackSide_Msg_Pkg);
    }
    else {
      kcg_copy_TelegramStore_T_Receive_TrackSide_Msg_Pkg(
        &tmp5,
        &outC->storeAdditionalTelegram);
    }
    /* 3 */
    manageAdditionalTelegram_Receive_TrackSide_Msg_Pkg(
      inDecodedTelegram,
      incenterOfBalisePosition,
      &tmp5,
      inTelegramPresent,
      &telegramPresent,
      &_L11_IfBlock4,
      &_L12_IfBlock4,
      &tmp1);
  }
  /* last_init_ck_storeBGTelegramArray */ if (outC->init) {
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &last_storeCollector,
      (BGCollector_T_Receive_TrackSide_Msg_Pkg *)
        &cEmptyCollector_Receive_TrackSide_Msg_Pkg);
    outC->init = kcg_false;
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &last_storeBGTelegramArray,
      (TelegramArray_T_BG_Types_Pkg *) &cEmptyTelegramArray_BG_Types_Pkg);
  }
  else {
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &last_storeCollector,
      &outC->storeCollector);
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &last_storeBGTelegramArray,
      &outC->storeBGTelegramArray);
  }
  /* ck_telegramPresent */ if (telegramPresent) {
    /* ck_reset */ if (reset) {
      kcg_copy_Telegram_T_BG_Types_Pkg(
        &tmp4,
        (Telegram_T_BG_Types_Pkg *) &cEmpty_BaliseTlg_BG_Types_Pkg);
      kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
        &tmp3,
        (centerOfBalisePosition_T_BG_Types_Pkg *) &cemptyPosition_BG_Types_Pkg);
    }
    else {
      kcg_copy_Telegram_T_BG_Types_Pkg(&tmp4, &_L11_IfBlock4);
      kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(&tmp3, &_L12_IfBlock4);
    }
    /* 1 */
    manageTelegram_Receive_TrackSide_Msg_Pkg(
      &tmp4,
      &tmp3,
      &last_storeCollector,
      &last_storeBGTelegramArray,
      &BGisComplete,
      &tmp,
      &tempCollectorStore,
      &tempBGTelegramArray,
      &_L22_IfBlock1);
  }
  else {
    IfBlock3_clock_IfBlock1 = _L43;
    /* ck_IfBlock3 */ if (IfBlock3_clock_IfBlock1) {
      /* 3 */
      checkOdometry_Receive_TrackSide_Msg_Pkg(
        inActualOdometry,
        &last_storeCollector,
        &BGisComplete,
        &tmp,
        &tempCollectorStore);
      kcg_copy_TelegramArray_T_BG_Types_Pkg(
        &tempBGTelegramArray,
        &last_storeBGTelegramArray);
    }
    else {
      BGisComplete = kcg_false;
      kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
        &tempCollectorStore,
        (BGCollector_T_Receive_TrackSide_Msg_Pkg *)
          &cEmptyCollector_Receive_TrackSide_Msg_Pkg);
      kcg_copy_TelegramArray_T_BG_Types_Pkg(
        &tempBGTelegramArray,
        (TelegramArray_T_BG_Types_Pkg *) &cEmptyTelegramArray_BG_Types_Pkg);
      tmp = kcg_false;
    }
  }
  /* ck_BGisComplete */ if (BGisComplete) {
    outC->outBGMessage.present = kcg_true;
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outC->outBGMessage.Telegrams,
      &tempBGTelegramArray);
    /* 1 */
    updateCollectorSendMessage_Receive_TrackSide_Msg_Pkg_BaliseSupport(
      &tempCollectorStore,
      &outC->storeCollector);
    outC->outBGMessage.numberBalises = outC->storeCollector.collectedTelegrams;
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->outBGMessage.centerOfBalisePosition,
      &outC->storeCollector.balisePosition);
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outC->storeBGTelegramArray,
      &tempBGTelegramArray);
  }
  else {
    outC->outBGMessage.present = kcg_false;
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outC->outBGMessage.Telegrams,
      (TelegramArray_T_BG_Types_Pkg *) &cEmptyTelegramArray_BG_Types_Pkg);
    outC->outBGMessage.numberBalises = 0;
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->outBGMessage.centerOfBalisePosition,
      (centerOfBalisePosition_T_BG_Types_Pkg *) &cemptyPosition_BG_Types_Pkg);
    /* ck_telegramPresent */ if (telegramPresent) {
      tmp2 = _L22_IfBlock1;
    }
    else /* ck_IfBlock3 */ if (IfBlock3_clock_IfBlock1) {
      tmp2 = kcg_false;
    }
    else {
      tmp2 = kcg_true;
    }
    /* ck_IfBlock3 */ if (tmp2) {
      kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
        &outC->storeCollector,
        &tempCollectorStore);
      kcg_copy_TelegramArray_T_BG_Types_Pkg(
        &outC->storeBGTelegramArray,
        &tempBGTelegramArray);
    }
    else {
      kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
        &outC->storeCollector,
        &last_storeCollector);
      kcg_copy_TelegramArray_T_BG_Types_Pkg(
        &outC->storeBGTelegramArray,
        &last_storeBGTelegramArray);
    }
  }
  /* 3 */ if (inTelegramPresent & (tmp1 | tmp) & _L43) {
    outC->storeAdditionalTelegram.valid = kcg_true;
    kcg_copy_Telegram_T_BG_Types_Pkg(
      &outC->storeAdditionalTelegram.telegram,
      inDecodedTelegram);
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->storeAdditionalTelegram.position,
      incenterOfBalisePosition);
  }
  else {
    kcg_copy_TelegramStore_T_Receive_TrackSide_Msg_Pkg(
      &outC->storeAdditionalTelegram,
      (TelegramStore_T_Receive_TrackSide_Msg_Pkg *)
        &cEmptyStore_Receive_TrackSide_Msg_Pkg);
  }
}
/* Receive_TrackSide_Msg_Pkg::addTelegram */
void addTelegram_Receive_TrackSide_Msg_Pkg(
  /* Receive_TrackSide_Msg_Pkg::addTelegram::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
  /* Receive_TrackSide_Msg_Pkg::addTelegram::inCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg *inCollector,
  /* Receive_TrackSide_Msg_Pkg::addTelegram::inoldTelegramArray */ TelegramArray_T_BG_Types_Pkg *inoldTelegramArray,
  /* Receive_TrackSide_Msg_Pkg::addTelegram::doUpdate */ kcg_bool doUpdate,
  /* Receive_TrackSide_Msg_Pkg::addTelegram::inPosition */ centerOfBalisePosition_T_BG_Types_Pkg *inPosition,
  outC_addTelegram_Receive_TrackSide_Msg_Pkg *outC)
{
  kcg_int i3;
  kcg_int i2;
  kcg_int i1;
  kcg_int i;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outIsDuplicate */ kcg_bool _7_outIsDuplicate;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outBGisComplete */ kcg_bool _6_outBGisComplete;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outTelegramArray */ TelegramArray_T_BG_Types_Pkg _5_outTelegramArray;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg _4_outCollector;
  kcg_int noname;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outIsDuplicate */ kcg_bool outIsDuplicate;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outBGisComplete */ kcg_bool outBGisComplete;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outTelegramArray */ TelegramArray_T_BG_Types_Pkg outTelegramArray;
  /* Receive_TrackSide_Msg_Pkg::addTelegram::outCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg outCollector;
  
  outC->IfBlock1_clock = doUpdate;
  /* ck_IfBlock1 */ if (outC->IfBlock1_clock) {
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->_L9_IfBlock1,
      inCollector);
    outC->_L3_IfBlock1 = outC->_L9_IfBlock1.badBaliseFlag;
    outC->_L54_IfBlock1 = outC->_L9_IfBlock1.BGMessageSent;
    outC->_L53_IfBlock1 = outC->_L9_IfBlock1.C_ID;
    outC->_L52_IfBlock1 = outC->_L9_IfBlock1.BG_ID;
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L51_IfBlock1,
      &outC->_L9_IfBlock1.balisePosition);
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L45_IfBlock1, newTelegram);
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L17_IfBlock1,
      inPosition);
    /* 1 */
    setCoordinateSystemPosition_Receive_TrackSide_Msg_Pkg(
      &outC->_L51_IfBlock1,
      &outC->_L45_IfBlock1,
      &outC->_L17_IfBlock1,
      &outC->Context_1);
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L15_IfBlock1,
      &outC->Context_1.outUpdateBGPosition);
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L50_IfBlock1,
      &outC->_L9_IfBlock1.positionFirstContact);
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L47_IfBlock1,
      inPosition);
    /* 1 */
    setIntervalBGPosition_Receive_TrackSide_Msg_Pkg(
      &outC->_L50_IfBlock1,
      &outC->_L47_IfBlock1,
      &outC->_1_Context_1);
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L46_IfBlock1,
      &outC->_1_Context_1.outUpdateBGPosition);
    outC->_L49_IfBlock1 = outC->_L9_IfBlock1.collectedTelegrams;
    outC->_L8_IfBlock1 = 1;
    outC->_L1_IfBlock1 = outC->_L49_IfBlock1 + outC->_L8_IfBlock1;
    outC->_L48_IfBlock1 = outC->_L9_IfBlock1.totalTelegrams;
    outC->_L6_IfBlock1.badBaliseFlag = outC->_L3_IfBlock1;
    outC->_L6_IfBlock1.BGMessageSent = outC->_L54_IfBlock1;
    outC->_L6_IfBlock1.C_ID = outC->_L53_IfBlock1;
    outC->_L6_IfBlock1.BG_ID = outC->_L52_IfBlock1;
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L6_IfBlock1.balisePosition,
      &outC->_L15_IfBlock1);
    kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
      &outC->_L6_IfBlock1.positionFirstContact,
      &outC->_L46_IfBlock1);
    outC->_L6_IfBlock1.collectedTelegrams = outC->_L1_IfBlock1;
    outC->_L6_IfBlock1.totalTelegrams = outC->_L48_IfBlock1;
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &_4_outCollector,
      &outC->_L6_IfBlock1);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->outCollector,
      &_4_outCollector);
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L41_IfBlock1, newTelegram);
    /* pow */ for (i1 = 0; i1 < 8; i1++) {
      kcg_copy_Telegram_T_BG_Types_Pkg(
        &outC->_L37_IfBlock1[i1],
        &outC->_L41_IfBlock1);
    }
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outC->_L39_IfBlock1,
      inoldTelegramArray);
    outC->_L40_IfBlock1 = doUpdate;
    kcg_copy_Telegram_T_BG_Types_Pkg(
      &outC->_L55_IfBlock1,
      (Telegram_T_BG_Types_Pkg *) &cEmpty_BaliseTlg_BG_Types_Pkg);
    if (outC->_L40_IfBlock1) {
      for (i = 0; i < 8; i++) {
        /* 3 */
        setFirstFree_Receive_TrackSide_Msg_Pkg_BaliseSupport(
          &outC->_L37_IfBlock1[i],
          &outC->_L39_IfBlock1[i],
          &outC->Context_3[i]);
        kcg_copy_Telegram_T_BG_Types_Pkg(
          &outC->_L36_IfBlock1[i],
          &outC->Context_3[i].outTelegrams);
        outC->_L35_IfBlock1 = i + 1;
        if (!outC->Context_3[i].cont) {
          break;
        }
      }
    }
    else {
      outC->_L35_IfBlock1 = 0;
    }
#ifdef KCG_MAPW_CPY
    
    for (i = outC->_L35_IfBlock1; i < 8; i++) {
      kcg_copy_Telegram_T_BG_Types_Pkg(
        &outC->_L36_IfBlock1[i],
        &outC->_L55_IfBlock1);
    }
#endif /* KCG_MAPW_CPY */
    
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &_5_outTelegramArray,
      &outC->_L36_IfBlock1);
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outC->outTelegramArray,
      &_5_outTelegramArray);
    outC->_L21_IfBlock1 = outC->_L1_IfBlock1 >= outC->_L48_IfBlock1;
    _6_outBGisComplete = outC->_L21_IfBlock1;
    outC->outBGisComplete = _6_outBGisComplete;
    _7_outIsDuplicate = kcg_false;
    outC->outIsDuplicate = _7_outIsDuplicate;
    noname = outC->_L35_IfBlock1;
  }
  else {
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->_L19_IfBlock1,
      inCollector);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outCollector,
      &outC->_L19_IfBlock1);
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
      &outC->outCollector,
      &outCollector);
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L174_IfBlock1, newTelegram);
    /* pow */ for (i3 = 0; i3 < 8; i3++) {
      kcg_copy_Telegram_T_BG_Types_Pkg(
        &outC->_L16_IfBlock1[i3],
        &outC->_L174_IfBlock1);
    }
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outC->_L13_IfBlock1,
      inoldTelegramArray);
    outC->_L18_IfBlock1 = kcg_true;
    kcg_copy_Telegram_T_BG_Types_Pkg(
      &outC->_L20_IfBlock1,
      (Telegram_T_BG_Types_Pkg *) &cEmpty_BaliseTlg_BG_Types_Pkg);
    outC->_L22_IfBlock1 = kcg_false;
    if (outC->_L18_IfBlock1) {
      for (i2 = 0; i2 < 8; i2++) {
        /* 1 */
        replaceTelegram_Receive_TrackSide_Msg_Pkg_BaliseSupport(
          &outC->_L16_IfBlock1[i2],
          &outC->_L13_IfBlock1[i2],
          &outC->_2_Context_1[i2]);
        kcg_copy_Telegram_T_BG_Types_Pkg(
          &outC->_L155_IfBlock1[i2],
          &outC->_2_Context_1[i2].outTelegrams);
        outC->_L213_IfBlock1[i2] = outC->_2_Context_1[i2].outIsDuplicate;
        outC->_L14_IfBlock1 = i2 + 1;
        if (!outC->_2_Context_1[i2].cont) {
          break;
        }
      }
    }
    else {
      outC->_L14_IfBlock1 = 0;
    }
#ifdef KCG_MAPW_CPY
    
    for (i2 = outC->_L14_IfBlock1; i2 < 8; i2++) {
      kcg_copy_Telegram_T_BG_Types_Pkg(
        &outC->_L155_IfBlock1[i2],
        &outC->_L20_IfBlock1);
      outC->_L213_IfBlock1[i2] = outC->_L22_IfBlock1;
    }
#endif /* KCG_MAPW_CPY */
    
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outTelegramArray,
      &outC->_L155_IfBlock1);
    kcg_copy_TelegramArray_T_BG_Types_Pkg(
      &outC->outTelegramArray,
      &outTelegramArray);
    outC->_L31_IfBlock1 = kcg_false;
    outC->_L30_IfBlock1 = 1;
    outC->_L29_IfBlock1 = outC->_L14_IfBlock1 - outC->_L30_IfBlock1;
    if ((0 <= outC->_L29_IfBlock1) & (outC->_L29_IfBlock1 < 8)) {
      outC->_L27_IfBlock1 = outC->_L213_IfBlock1[outC->_L29_IfBlock1];
    }
    else {
      outC->_L27_IfBlock1 = outC->_L31_IfBlock1;
    }
    outC->_L33_IfBlock1 = !outC->_L27_IfBlock1;
    outC->_L4_IfBlock1 = outC->_L19_IfBlock1.collectedTelegrams;
    outC->_L5_IfBlock1 = outC->_L19_IfBlock1.totalTelegrams;
    outC->_L87_IfBlock1 = outC->_L4_IfBlock1 >= outC->_L5_IfBlock1;
    outC->_L96_IfBlock1 = outC->_L19_IfBlock1.BGMessageSent;
    outC->_L10_IfBlock1 = !outC->_L96_IfBlock1;
    outC->_L11_IfBlock1 = outC->_L87_IfBlock1 & outC->_L10_IfBlock1;
    outC->_L32_IfBlock1 = outC->_L33_IfBlock1 & outC->_L11_IfBlock1;
    outBGisComplete = outC->_L32_IfBlock1;
    outC->outBGisComplete = outBGisComplete;
    outIsDuplicate = outC->_L27_IfBlock1;
    outC->outIsDuplicate = outIsDuplicate;
  }
}
/* Receive_TrackSide_Msg_Pkg::checkTelegram */
void checkTelegram_Receive_TrackSide_Msg_Pkg(
  /* Receive_TrackSide_Msg_Pkg::checkTelegram::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
  /* Receive_TrackSide_Msg_Pkg::checkTelegram::inTelegramArray */ TelegramArray_T_BG_Types_Pkg *inTelegramArray,
  /* Receive_TrackSide_Msg_Pkg::checkTelegram::BGCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg *BGCollector,
  outC_checkTelegram_Receive_TrackSide_Msg_Pkg *outC)
{
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L2, newTelegram);
  outC->_L4 = outC->_L2.valid;
  outC->_L32 = outC->_L2.telegramheader.nid_bg;
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(&outC->_L56, BGCollector);
  outC->_L61 = outC->_L56.BG_ID;
  outC->_L36 = outC->_L32 == outC->_L61;
  outC->_L31 = outC->_L4 & outC->_L36;
  outC->_L55 = outC->_L2.telegramheader.n_pig;
  outC->_L62 = !outC->_L36;
  outC->_L64 = outC->_L56.totalTelegrams;
  outC->_L66 = 0;
  outC->_L65 = outC->_L64 > outC->_L66;
  outC->_L63 = outC->_L62 & outC->_L65;
  outC->_L67 = outC->_L56.BGMessageSent;
  outC->_L68 = outC->_L63 & outC->_L67;
  outC->newBGInitNeeded = outC->_L68;
  outC->_L70 = outC->newBGInitNeeded;
  kcg_copy_TelegramArray_T_BG_Types_Pkg(
    &outC->_L94,
    (TelegramArray_T_BG_Types_Pkg *) &cEmptyTelegramArray_BG_Types_Pkg);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->_L40, inTelegramArray);
  /* 1 */ if (outC->_L70) {
    kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->_L69, &outC->_L94);
  }
  else {
    kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->_L69, &outC->_L40);
  }
  /* 1 */
  findTelegram_Receive_TrackSide_Msg_Pkg_BaliseSupport(
    outC->_L55,
    &outC->_L69,
    outC->_L31,
    &outC->Context_1);
  outC->_L41 = outC->Context_1.telegramAlreadyInGroup;
  outC->_L86 = !outC->_L41;
  outC->outTelegramNotInGroup = outC->_L86;
  outC->_L87 = !outC->_L67;
  outC->_L88 = outC->_L63 & outC->_L87;
  outC->outBGchangedEarly = outC->_L88;
  outC->_L73 = outC->newBGInitNeeded;
  /* 1 */
  initCollector_Receive_TrackSide_Msg_Pkg_BaliseSupport(
    &outC->_L2,
    &outC->_1_Context_1);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L92,
    &outC->_1_Context_1.outCollector);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(&outC->_L74, BGCollector);
  /* 2 */ if (outC->_L73) {
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(&outC->_L72, &outC->_L92);
  }
  else {
    kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(&outC->_L72, &outC->_L74);
  }
  /* 1 */
  checkSingleBB_Receive_TrackSide_Msg_Pkg_BaliseSupport(
    &outC->_L2,
    &outC->_L72,
    &outC->_2_Context_1);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L93,
    &outC->_2_Context_1.outCollector);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->outCollector,
    &outC->_L93);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->outTelegramArray, &outC->_L69);
}
/* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets */
void MergAllPackets_CheckBGConsistency_Pkg_SubFunction_MergFunction(
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::telegramACC */Telegram_T_BG_Types_Pkg *telegramACC,
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::telegram */Telegram_T_BG_Types_Pkg *telegram,
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::go_on */kcg_bool *go_on,
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::telegram_out */Telegram_T_BG_Types_Pkg *telegram_out)
{
  static kcg_int i;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::IfBlock1::else */
  static kcg_bool else_clock_IfBlock1;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::IfBlock1::else::else::then::_L17 */
  static array_int_500 _L17_IfBlock1;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::IfBlock1::else::else::then::_L13 */
  static kcg_int _L13_IfBlock1;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::IfBlock1::else::else::then::_L11 */
  static kcg_int _L11_IfBlock1;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::IfBlock1::else::else::then::_L12 */
  static kcg_int _L12_IfBlock1;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::IfBlock1 */
  static kcg_bool IfBlock1_clock;
  /* CheckBGConsistency_Pkg::SubFunction::MergFunction::MergAllPackets::diff */
  static kcg_int diff;
  
  i = /* 3 */
    N_PIG2int_CheckBGConsistency_Pkg_SubFunction(
      (*telegram).telegramheader.n_pig);
  diff = /* 4 */
    N_PIG2int_CheckBGConsistency_Pkg_SubFunction(
      (*telegramACC).telegramheader.n_pig) - i;
  *go_on = (*telegram).valid;
  IfBlock1_clock = (diff == - 1) & (((*telegramACC).telegramheader.m_dup ==
        M_DUP_This_balise_is_a_duplicate_of_the_next_balise) &
      ((*telegram).telegramheader.m_dup ==
        M_DUP_This_balise_is_a_duplicate_of_the_previous_balise)) & *go_on;
  if (IfBlock1_clock) {
    kcg_copy_Telegram_T_BG_Types_Pkg(telegram_out, telegram);
    kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
      &(*telegram_out).packets.PacketData,
      &(*telegramACC).packets.PacketData);
  }
  else {
    else_clock_IfBlock1 = (diff == 1) & (((*telegramACC).telegramheader.m_dup ==
          M_DUP_This_balise_is_a_duplicate_of_the_previous_balise) &
        ((*telegram).telegramheader.m_dup ==
          M_DUP_This_balise_is_a_duplicate_of_the_next_balise)) & *go_on;
    if (else_clock_IfBlock1) {
      kcg_copy_Telegram_T_BG_Types_Pkg(telegram_out, telegram);
      kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
        &(*telegram_out).packets.PacketData,
        &(*telegramACC).packets.PacketData);
    }
    else if (*go_on) {
      /* 1 */
      FindIndexOfMetaDataIteration_CheckBGConsistency_Pkg_SubFunction_MergFunction(
        &(*telegramACC).packets.PacketHeaders,
        &_L11_IfBlock1,
        &_L12_IfBlock1);
      _L13_IfBlock1 = _L12_IfBlock1 + 1;
      for (i = 0; i < 500; i++) {
        _L17_IfBlock1[i] = _L13_IfBlock1;
      }
      kcg_copy_Telegram_T_BG_Types_Pkg(telegram_out, telegram);
      /* 1 */
      Merg2MetaDataIteration_CheckBGConsistency_Pkg_SubFunction_MergFunction(
        &(*telegramACC).packets.PacketHeaders,
        telegram,
        &(*telegram_out).packets.PacketHeaders);
      /* 1 */
      Merg2PacketsListArray_CheckBGConsistency_Pkg_SubFunction_MergFunction(
        &(*telegramACC).packets.PacketData,
        &_L17_IfBlock1,
        &(*telegram).packets.PacketData,
        &(*telegram_out).packets.PacketData);
    }
    else {
      kcg_copy_Telegram_T_BG_Types_Pkg(telegram_out, telegramACC);
    }
  }
}
/* Receive_TrackSide_Msg_Pkg::manageTelegram */
void manageTelegram_Receive_TrackSide_Msg_Pkg(
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::newTelegram */ Telegram_T_BG_Types_Pkg *newTelegram,
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::incenterOfBalisePosition */ centerOfBalisePosition_T_BG_Types_Pkg *incenterOfBalisePosition,
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::inCollector */ BGCollector_T_Receive_TrackSide_Msg_Pkg *inCollector,
  /* Receive_TrackSide_Msg_Pkg::manageTelegram::inoldTelegramArray */ TelegramArray_T_BG_Types_Pkg *inoldTelegramArray,
  outC_manageTelegram_Receive_TrackSide_Msg_Pkg *outC)
{
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L6, newTelegram);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->_L60, inoldTelegramArray);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(&outC->_L51, inCollector);
  /* 1 */
  checkInit_Receive_TrackSide_Msg_Pkg(
    &outC->_L6,
    &outC->_L51,
    &outC->Context_1);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L66,
    &outC->Context_1.outCollector);
  /* 1 */
  checkTelegram_Receive_TrackSide_Msg_Pkg(
    &outC->_L6,
    &outC->_L60,
    &outC->_L66,
    &outC->_1_Context_1);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L63,
    &outC->_1_Context_1.outCollector);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(
    &outC->_L64,
    &outC->_1_Context_1.outTelegramArray);
  outC->_L10 = outC->_1_Context_1.outTelegramNotInGroup;
  outC->_L11 = outC->_1_Context_1.outBGchangedEarly;
  outC->isNotReceivedAlready = outC->_L10;
  outC->_L69 = outC->isNotReceivedAlready;
  kcg_copy_centerOfBalisePosition_T_BG_Types_Pkg(
    &outC->_L47,
    incenterOfBalisePosition);
  /* 4 */
  addTelegram_Receive_TrackSide_Msg_Pkg(
    &outC->_L6,
    &outC->_L63,
    &outC->_L64,
    outC->_L69,
    &outC->_L47,
    &outC->Context_4);
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->_L54,
    &outC->Context_4.outCollector);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(
    &outC->_L58,
    &outC->Context_4.outTelegramArray);
  outC->_L53 = outC->Context_4.outBGisComplete;
  outC->_L67 = outC->Context_4.outIsDuplicate;
  outC->_L65 = outC->_L53 | outC->_L11;
  outC->outBGisComplete = outC->_L65;
  outC->outBGisChangedEarly = outC->_L11;
  kcg_copy_BGCollector_T_Receive_TrackSide_Msg_Pkg(
    &outC->outCollector,
    &outC->_L54);
  kcg_copy_TelegramArray_T_BG_Types_Pkg(&outC->outTelegramArray, &outC->_L58);
  outC->_L70 = outC->isNotReceivedAlready;
  outC->_L73 = !outC->_L67;
  outC->needsReplace = outC->_L73;
  outC->_L72 = outC->needsReplace;
  outC->_L68 = outC->_L70 | outC->_L72;
  outC->outStoresChanged = outC->_L68;
}