    [OnInitDialog][MP_MODE_ON] LOCAL_MODE_MP
    [GetCurrentProductIdxFromTxt] currentProduct: 13, currentPidIdx: 2
    [checkProductListExist] Check: FTP_XLS
    [checkProductListExist] => Not exist
    [OnPaint] STATUS_OF_PNG: -101
    => GUI_SAY_WAITING_FOR_VIDPID
    [OnPaint] STATUS_OF_PNG: -101
    => GUI_SAY_WAITING_FOR_VIDPID
    [OnBnClickedButton2][GUI_SAY_WAITING_FOR_VIDPID] Clicked
    [OnPaint] STATUS_OF_PNG: -101
    [DownloadProductListFromFtp] updateMode != SERVER_MODE, checkProductListExist()
    [checkProductListExist] Check: FTP_XLS
    => GUI_SAY_WAITING_FOR_VIDPID
    [checkProductListExist] => Not exist
    [DownloadProductListFromFtp] .//DATA/List.dll downloaded
    [LoadExcelFile] File: .//DATA/List.dll
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] retry: 0, retryMax: 3
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] PID-1, Row: 1, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 1, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 1, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 2, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 2, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 2, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 3, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 3, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 3, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 4, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 4, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 4, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 5, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 5, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 5, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 6, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 6, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 6, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 7, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 7, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 7, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 8, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 8, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 8, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 9, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 9, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 9, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 10, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 10, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 10, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 11, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 11, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 11, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 12, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 12, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 12, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 13, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 13, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 13, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 14, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 14, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 14, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] retry: 1, retryMax: 3
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] PID-1, Row: 1, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 1, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 1, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 2, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 2, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 2, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 3, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 3, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 3, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 4, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 4, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 4, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 5, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 5, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 5, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 6, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 6, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 6, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 7, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 7, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 7, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 8, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 8, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 8, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 9, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 9, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 9, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 10, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 10, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 10, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 11, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 11, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 11, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 12, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 12, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 12, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 13, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 13, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 13, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 14, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 14, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 14, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] retry: 2, retryMax: 3
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] PID-1, Row: 1, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 1, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 1, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 2, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 2, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 2, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 3, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 3, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 3, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 4, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 4, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 4, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 5, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 5, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 5, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 6, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 6, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 6, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 7, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 7, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 7, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 8, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 8, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 8, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 9, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 9, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 9, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 10, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 10, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 10, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 11, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 11, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 11, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 12, Col: 2, VID: 054C, PID: 09CC
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 12, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 12, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 13, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 13, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 13, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-1, Row: 14, Col: 2, VID: 054C, PID: 05C4
     => Not exist
    [searchVidPidFromExcel] PID-2, Row: 14, Col: 3, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] PID-3, Row: 14, Col: 4, VID: 054C, PID:
     => Skip
    [searchVidPidFromExcel] Search done, not found!
    [searchVidPidFromExcel] =============================================================
    [OnPaint] STATUS_OF_PNG: -101
    => GUI_SAY_WAITING_FOR_VIDPID
    [PRODUCTION_NOTIFY][DT_DEVICE] 1 device found
    [checkNewP4Connected] g_nDeviceCount > 0
    [OnTimer][GUI_SAY_WAITING_FOR_VIDPID] New P4 Stuck in ADFU, need wake up!
    [SetUpdateProcessAndDriver] Install driver success
    [OnPaint] STATUS_OF_PNG: -103
    => GUI_SAY_DOWNLOAD_FIRMWARE
    [OnTimer][GUI_SAY_DOWNLOAD_FIRMWARE] hexFileDownloadStatus == 0
    [GetFwFileFromServer] In new thread!
    [GetFwFileFromServerSync] Need download: NEWP4_WAKEUP.fw
    [GetFwFileFromServerSync] File has already downloaded
    [OnTimer][GUI_SAY_DOWNLOAD_FIRMWARE] hexFileDownloadStatus == HEX_FILE_DOWNLOAD_SUCCESS
    [OnPaint] STATUS_OF_PNG: -104
    => GUI_SAY_PLUG (Firmware loaded)
    [OnTimer][GUI_SAY_PLUG]
    [OnPaint] STATUS_OF_PNG: -106
    => GUI_SAY_UPDATING
    [OnPaint] STATUS_OF_PNG: -106
    => GUI_SAY_UPDATING
    [updateAll] Now reading firmware
    [PRODUCTION_NOTIFY][DT_DEVICE] 1 device found
    [updateAll] g_nDeviceCount > 0, Now downloading firmware
    [PRODUCTION_NOTIFY][DT_START] Start 1009
    [PRODUCTION_NOTIFY][DT_STATUS] Prepare...
    [PRODUCTION_NOTIFY][DT_STATUS] SCRIPT_RUNNING ...
    [PRODUCTION_NOTIFY][DT_PROGRESS] 05%
    [PRODUCTION_NOTIFY][DT_STATUS] DOWNLOAD ADFUS ...
    [updateAll] while(g_bIsUpgrading == TRUE): 1 sec
    [PRODUCTION_NOTIFY][DT_PROGRESS] 15%
    [PRODUCTION_NOTIFY][DT_PROGRESS] 40%
    [PRODUCTION_NOTIFY][DT_STATUS] DOWNLOAD BREC ...
    [PRODUCTION_NOTIFY][DT_PROGRESS] 50%
    [PRODUCTION_NOTIFY][DT_STATUS] DOWNLOAD LFI ...
    [updateAll] while(g_bIsUpgrading == TRUE): 2 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 3 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 4 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 5 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 6 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 7 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 8 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 9 sec
    [updateAll] while(g_bIsUpgrading == TRUE): 10 sec
    [PRODUCTION_NOTIFY][DT_CFG_GET] CFG_BT_MAC
    [PRODUCTION_NOTIFY][DT_PROGRESS] 100%
    [PRODUCTION_NOTIFY][DT_STATUS] UPDATE OVER ...
    [PRODUCTION_NOTIFY][DT_STATUS] Successful
    [PRODUCTION_NOTIFY][DT_COMPLETE] 1009: Successful
    [PRODUCTION_NOTIFY][DT_COMPLETE] OnComplete
    [updateAll] while(g_bIsUpgrading == TRUE): 11 sec
    [PRODUCTION_NOTIFY][DT_DEVICE] 0 device found
    [OnTimer][GUI_SAY_PLUG][NEW_P4_20190508][NEW_PROCESS] NEW_P4_UPDATE_PROCESS_DONE
    [PRODUCTION_NOTIFY][DT_DEVICE] 0 device found
    [OnTimer][GUI_SAY_PLUG][NEW_P4_20190508][NEW_PROCESS] NEW_P4_UPDATE_PROCESS_DONE, newP4NeedWakeUp == true, Restart from GUI_SAY_WAITING_FOR_VIDPID!
    [OnPaint] STATUS_OF_PNG: -101
    => GUI_SAY_WAITING_FOR_VIDPID
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] retry: 0, retryMax: 3
    [searchVidPidFromExcel] =============================================================
    [searchVidPidFromExcel] PID-1, Row: 1, Col: 2, VID: 054C, PID: 05C4
    [OpenDeviceUsb][Success] Vid: 054c, Pid: 05c4
     => Found
    [searchVidPidFromExcel] =============================================================
    [NewGetVersion] START
    [NewGetVersion] count: 1, retry: 20
    [NewGetVersion] Run_WriteFileB() == TRUE, retryStatus = read
    [Run_ReadFileB][SUCCESS] Run_ReadFileB() return TRUE
    [NewGetVersion] Run_ReadFileB() == TRUE
    [NewGetVersion][ERROR] NOT ZP...
    [NewGetVersion] count: 2, retry: 20
    [Run_ReadFileB][SUCCESS] Run_ReadFileB() return TRUE
    [NewGetVersion] Run_ReadFileB() == TRUE
    [NewGetVersion][ERROR] NOT ZP...
    [NewGetVersion] count: 3, retry: 20
    [Run_ReadFileB][SUCCESS] Run_ReadFileB() return TRUE
    [NewGetVersion] Run_ReadFileB() == TRUE
    [NewGetVersion][ERROR] NOT ZP...
    [NewGetVersion] count: 4, retry: 20
    [Run_ReadFileB][SUCCESS] Run_ReadFileB() return TRUE
    [NewGetVersion] Run_ReadFileB() == TRUE
    [NewGetVersion][SUCCESS] NewGetVersion Done, newGetVersionReadIdx: 48
    [OpenDeviceUsb][Success] Vid: 054c, Pid: 05c4
    [NewGetVersion] START
    [NewGetVersion] count: 1, retry: 20
    [NewGetVersion] Run_WriteFileB() == TRUE, retryStatus = read
    [Run_ReadFileB][SUCCESS] Run_ReadFileB() return TRUE
    [NewGetVersion] Run_ReadFileB() == TRUE
    [NewGetVersion][SUCCESS] NewGetVersion Done, newGetVersionReadIdx: 48
    [CheckIcNumFromAPROM] productIdx: 1
    [CheckIcNumFromAPROM] serverIc: ZPJ21011, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 2
    [CheckIcNumFromAPROM] serverIc: ZPJ21050, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 3
    [CheckIcNumFromAPROM] serverIc: ZPJ21070, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 4
    [CheckIcNumFromAPROM] serverIc: ZPJ21071, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 5
    [CheckIcNumFromAPROM] serverIc: ZPJ21072, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 6
    [CheckIcNumFromAPROM] serverIc: ZPJ21073, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 7
    [CheckIcNumFromAPROM] serverIc: ZPJ210F0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 8
    [CheckIcNumFromAPROM] serverIc: ZPJ210J0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 9
    [CheckIcNumFromAPROM] serverIc: ZPJ210J1, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 10
    [CheckIcNumFromAPROM] serverIc: ZPJ210J2, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 11
    [CheckIcNumFromAPROM] serverIc: ZPJ210Q0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 12
    [CheckIcNumFromAPROM] serverIc: ZPJ210Q1, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 13
    [CheckIcNumFromAPROM] serverIc: ZPJ210T0, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [CheckIcNumFromAPROM] productIdx: 14
    [CheckIcNumFromAPROM] serverIc: ZPJ210T1, strlen(serverIc): 8
    [CheckIcNumFromAPROM] deviceIc: ZPJ21120, strlen(deviceIc): 8
    [CheckIcNumOneByOne] serverIc[0]: Z, deviceIc[0]: Z
    [CheckIcNumOneByOne] serverIc[1]: P, deviceIc[1]: P
    [CheckIcNumOneByOne] serverIc[2]: J, deviceIc[2]: J
    [CheckIcNumOneByOne] serverIc[3]: 2, deviceIc[3]: 2
    [CheckIcNumOneByOne] serverIc[4]: 1, deviceIc[4]: 1
    [CheckIcNumOneByOne] serverIc[5]: 0, deviceIc[5]: 1
    [CheckIcNumOneByOne][ERROR] This device's IC is incorrect!
    [AdjustCurrentProductFromAPROM][ERROR] NOT FOUND: currentProduct
    [OnTimer][GUI_SAY_WAITING_FOR_VIDPID] Controller's VID PID is in list, but AdjustCurrentProductFromAPROM == FALSE
    [OnPaint] STATUS_OF_PNG: -108
    => GUI_SAY_FAIL
    => FAILED_REASON_CANT_SEARCH_VIDPID
    [OnPaint] STATUS_OF_PNG: -108
    => GUI_SAY_FAIL
    => FAILED_REASON_CANT_SEARCH_VIDPID
    [OnBnClickedButton2][GUI_SAY_FAIL] Clicked
    [OnBnClickedCancel][Exit]STATUS_OF_PNG: -108