#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ns_string.h"
#ifdef ENABLE_RUNLOGIC_PROGRESS
  #define UPDATE_USER_FLOW_COUNT(count) update_user_flow_count(count);
#else
  #define UPDATE_USER_FLOW_COUNT(count)
#endif


extern int init_script();
extern int exit_script();

typedef void FlowReturn;

// Note: Following extern declaration is used to find the list of used flows. Do not delete/edit it
// Start - List of used flows in the runlogic
extern FlowReturn A01_MPD_001_Launch();
extern FlowReturn A01_MPD_002_Login();
extern FlowReturn A01_MPD_003_ClkSearchLink();
extern FlowReturn A01_MPD_004_SearchPolicy();
extern FlowReturn A01_MPD_005_ClkCustomerTab();
extern FlowReturn A01_MPD_006_CreateNewQuote();
extern FlowReturn A01_MPD_007_PrefillPage();
extern FlowReturn A01_MPD_008_GenPg_Refresh();
extern FlowReturn A01_MPD_004_DOB_SearchPolicy();
extern FlowReturn A01_MPD_005_DOB_ClkCustomerTab();
extern FlowReturn A01_MPD_006_DOB_CreateNewQuote();
extern FlowReturn A01_MPD_007_DOB_PrefillPage();
extern FlowReturn A01_MPD_009_GenPg_Srch_Name_DOB();
extern FlowReturn A01_MPD_009a_GenPg_Srch_DOB_ClkPolicyLink();
extern FlowReturn A01_MPD_009b_GenPg_Srch_DOB_PolicyToAdd();
extern FlowReturn A01_MPD_004_zip_SearchPolicy();
extern FlowReturn A01_MPD_005_Zip_ClkCustomerTab();
extern FlowReturn A01_MPD_006_Zip_CreateNewQuote();
extern FlowReturn A01_MPD_007_Zip_PrefillPage();
extern FlowReturn A01_MPD_010_GenPg_Srch_Name_Zip();
extern FlowReturn A01_MPD_010a_GenPg_Srch_Zip_ClkPolicyLink();
extern FlowReturn A01_MPD_010b_GenPg_Srch_Zip_PolicyToAdd();
extern FlowReturn A01_MPD_004_MemNum_SearchPolicy();
extern FlowReturn A01_MPD_005_MemNum_ClkCustomerTab();
extern FlowReturn A01_MPD_006_MemNum_CreateNewQuote();
extern FlowReturn A01_MPD_007_MemNum_PrefillPage();
extern FlowReturn A01_MPD_011_GenPg_Srch_MemNum();
extern FlowReturn A01_MPD_011a_GenPg_Srch_MemNum_ClkPolicyLink();
extern FlowReturn A01_MPD_011b_GenPg_Srch_MemNum_PolicyToAdd();
extern FlowReturn A01_MPD_004_PhNum_SearchPolicy();
extern FlowReturn A01_MPD_005_PhNum_ClkCustomerTab();
extern FlowReturn A01_MPD_006_PhNum_CreateNewQuote();
extern FlowReturn A01_MPD_007_PhNum_PrefillPage();
extern FlowReturn A01_MPD_012_GenPg_Srch_PhoneNum();
extern FlowReturn A01_MPD_012a_GenPg_Srch_PhoneNum_ClkPolicyLink();
extern FlowReturn A01_MPD_012b_GenPg_Srch_PhoneNum_PolicyToAdd();
extern FlowReturn A01_MPD_004_email_SearchPolicy();
extern FlowReturn A01_MPD_005_email_ClkCustomerTab();
extern FlowReturn A01_MPD_006_email_CreateNewQuote();
extern FlowReturn A01_MPD_007_email_PrefillPage();
extern FlowReturn A01_MPD_013_GenPg_Srch_Email();
extern FlowReturn A01_MPD_013a_GenPg_Srch_Email_ClkPolicyLink();
extern FlowReturn A01_MPD_013b_GenPg_Srch_Email_PolicyToAdd();
extern FlowReturn A01_MPD_004_PolNum_SearchPolicy();
extern FlowReturn A01_MPD_005_PolNum_ClkCustomerTab();
extern FlowReturn A01_MPD_006_PolNum_CreateNewQuote();
extern FlowReturn A01_MPD_007_PolNum_PrefillPage();
extern FlowReturn A01_MPD_014_GenPg_Srch_PolicyNum();
extern FlowReturn A01_MPD_014a_GenPg_Srch_PolicyNum_ClkPolicyLink();
extern FlowReturn A01_MPD_014b_GenPg_Srch_PolicyNum_PolicyToAdd();
extern FlowReturn flow();
extern FlowReturn A01_MPD_015_Srch_Logout();
// End - List of used flows in the runlogic


void runlogic()
{
    NSDL2_RUNLOGIC(NULL, NULL, "Executing init_script()");

    init_script();

    NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - Run");
    {
        UPDATE_USER_FLOW_COUNT(0)

        NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - PAS_A01_MPD_SearchScenarios");
        {
            UPDATE_USER_FLOW_COUNT(1)
            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_001_Launch");
            UPDATE_USER_FLOW_COUNT(2)
            A01_MPD_001_Launch();
            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_002_Login");
            UPDATE_USER_FLOW_COUNT(6)
            A01_MPD_002_Login();
            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_003_ClkSearchLink");
            UPDATE_USER_FLOW_COUNT(11)
            A01_MPD_003_ClkSearchLink();
        }

        NSDL2_RUNLOGIC(NULL, NULL, "Executing percent block - PolicySearch");
        {
            UPDATE_USER_FLOW_COUNT(13)
            int PolicySearchpercent = ns_get_random_number_int(1, 10000);

            NSDL2_RUNLOGIC(NULL, NULL, "Percentage random number for block - PolicySearch = %d", PolicySearchpercent);

            if(PolicySearchpercent <= 1000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - GeneralPg_Refresh (pct value = 10.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(14)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_004_SearchPolicy");
                    UPDATE_USER_FLOW_COUNT(15)
                    A01_MPD_004_SearchPolicy();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_005_ClkCustomerTab");
                    UPDATE_USER_FLOW_COUNT(17)
                    A01_MPD_005_ClkCustomerTab();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_006_CreateNewQuote");
                    UPDATE_USER_FLOW_COUNT(20)
                    A01_MPD_006_CreateNewQuote();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_007_PrefillPage");
                    UPDATE_USER_FLOW_COUNT(25)
                    A01_MPD_007_PrefillPage();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_008_GenPg_Refresh");
                    UPDATE_USER_FLOW_COUNT(32)
                    A01_MPD_008_GenPg_Refresh();
                }
            }
            else if(PolicySearchpercent <= 2000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - DOB_Search (pct value = 10.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(34)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_004_DOB_SearchPolicy");
                    UPDATE_USER_FLOW_COUNT(35)
                    A01_MPD_004_DOB_SearchPolicy();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_005_DOB_ClkCustomerTab");
                    UPDATE_USER_FLOW_COUNT(37)
                    A01_MPD_005_DOB_ClkCustomerTab();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_006_DOB_CreateNewQuote");
                    UPDATE_USER_FLOW_COUNT(40)
                    A01_MPD_006_DOB_CreateNewQuote();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_007_DOB_PrefillPage");
                    UPDATE_USER_FLOW_COUNT(45)
                    A01_MPD_007_DOB_PrefillPage();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_009_GenPg_Srch_Name_DOB");
                    UPDATE_USER_FLOW_COUNT(52)
                    A01_MPD_009_GenPg_Srch_Name_DOB();

                    NSDL2_RUNLOGIC(NULL, NULL, "Executing percent block - DOB_Add_Select_Policy (pct value = 10.0%)");
                    {
                        UPDATE_USER_FLOW_COUNT(55)
                        int DOB_Add_Select_Policypercent = ns_get_random_number_int(1, 10000);

                        NSDL2_RUNLOGIC(NULL, NULL, "Percentage random number for block - DOB_Add_Select_Policy = %d", DOB_Add_Select_Policypercent);

                        if(DOB_Add_Select_Policypercent <= 5000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_009a_GenPg_Srch_DOB_ClkPolicyLink (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(56)
                            A01_MPD_009a_GenPg_Srch_DOB_ClkPolicyLink();
                        }
                        else if(DOB_Add_Select_Policypercent <= 10000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_009b_GenPg_Srch_DOB_PolicyToAdd (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(58)
                            A01_MPD_009b_GenPg_Srch_DOB_PolicyToAdd();
                        }
                    }
                }
            }
            else if(PolicySearchpercent <= 3000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - ZipSearch (pct value = 10.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(61)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_004_zip_SearchPolicy");
                    UPDATE_USER_FLOW_COUNT(62)
                    A01_MPD_004_zip_SearchPolicy();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_005_Zip_ClkCustomerTab");
                    UPDATE_USER_FLOW_COUNT(64)
                    A01_MPD_005_Zip_ClkCustomerTab();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_006_Zip_CreateNewQuote");
                    UPDATE_USER_FLOW_COUNT(67)
                    A01_MPD_006_Zip_CreateNewQuote();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_007_Zip_PrefillPage");
                    UPDATE_USER_FLOW_COUNT(72)
                    A01_MPD_007_Zip_PrefillPage();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_010_GenPg_Srch_Name_Zip");
                    UPDATE_USER_FLOW_COUNT(79)
                    A01_MPD_010_GenPg_Srch_Name_Zip();

                    NSDL2_RUNLOGIC(NULL, NULL, "Executing percent block - Zip_Add_Select_Policy (pct value = 10.0%)");
                    {
                        UPDATE_USER_FLOW_COUNT(83)
                        int Zip_Add_Select_Policypercent = ns_get_random_number_int(1, 10000);

                        NSDL2_RUNLOGIC(NULL, NULL, "Percentage random number for block - Zip_Add_Select_Policy = %d", Zip_Add_Select_Policypercent);

                        if(Zip_Add_Select_Policypercent <= 5000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_010a_GenPg_Srch_Zip_ClkPolicyLink (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(84)
                            A01_MPD_010a_GenPg_Srch_Zip_ClkPolicyLink();
                        }
                        else if(Zip_Add_Select_Policypercent <= 10000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_010b_GenPg_Srch_Zip_PolicyToAdd (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(86)
                            A01_MPD_010b_GenPg_Srch_Zip_PolicyToAdd();
                        }
                    }
                }
            }
            else if(PolicySearchpercent <= 4000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - MemNum_Search (pct value = 10.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(89)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_004_MemNum_SearchPolicy");
                    UPDATE_USER_FLOW_COUNT(90)
                    A01_MPD_004_MemNum_SearchPolicy();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_005_MemNum_ClkCustomerTab");
                    UPDATE_USER_FLOW_COUNT(92)
                    A01_MPD_005_MemNum_ClkCustomerTab();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_006_MemNum_CreateNewQuote");
                    UPDATE_USER_FLOW_COUNT(95)
                    A01_MPD_006_MemNum_CreateNewQuote();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_007_MemNum_PrefillPage");
                    UPDATE_USER_FLOW_COUNT(100)
                    A01_MPD_007_MemNum_PrefillPage();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_011_GenPg_Srch_MemNum");
                    UPDATE_USER_FLOW_COUNT(108)
                    A01_MPD_011_GenPg_Srch_MemNum();

                    NSDL2_RUNLOGIC(NULL, NULL, "Executing percent block - MemNum_Add_Select_Policy (pct value = 10.0%)");
                    {
                        UPDATE_USER_FLOW_COUNT(111)
                        int MemNum_Add_Select_Policypercent = ns_get_random_number_int(1, 10000);

                        NSDL2_RUNLOGIC(NULL, NULL, "Percentage random number for block - MemNum_Add_Select_Policy = %d", MemNum_Add_Select_Policypercent);

                        if(MemNum_Add_Select_Policypercent <= 5000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_011a_GenPg_Srch_MemNum_ClkPolicyLink (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(112)
                            A01_MPD_011a_GenPg_Srch_MemNum_ClkPolicyLink();
                        }
                        else if(MemNum_Add_Select_Policypercent <= 10000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_011b_GenPg_Srch_MemNum_PolicyToAdd (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(114)
                            A01_MPD_011b_GenPg_Srch_MemNum_PolicyToAdd();
                        }
                    }
                }
            }
            else if(PolicySearchpercent <= 5000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - PhoneNum_Search (pct value = 10.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(117)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_004_PhNum_SearchPolicy");
                    UPDATE_USER_FLOW_COUNT(118)
                    A01_MPD_004_PhNum_SearchPolicy();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_005_PhNum_ClkCustomerTab");
                    UPDATE_USER_FLOW_COUNT(120)
                    A01_MPD_005_PhNum_ClkCustomerTab();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_006_PhNum_CreateNewQuote");
                    UPDATE_USER_FLOW_COUNT(123)
                    A01_MPD_006_PhNum_CreateNewQuote();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_007_PhNum_PrefillPage");
                    UPDATE_USER_FLOW_COUNT(128)
                    A01_MPD_007_PhNum_PrefillPage();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_012_GenPg_Srch_PhoneNum");
                    UPDATE_USER_FLOW_COUNT(135)
                    A01_MPD_012_GenPg_Srch_PhoneNum();

                    NSDL2_RUNLOGIC(NULL, NULL, "Executing percent block - PhNum_Add_Select_Policy (pct value = 10.0%)");
                    {
                        UPDATE_USER_FLOW_COUNT(138)
                        int PhNum_Add_Select_Policypercent = ns_get_random_number_int(1, 10000);

                        NSDL2_RUNLOGIC(NULL, NULL, "Percentage random number for block - PhNum_Add_Select_Policy = %d", PhNum_Add_Select_Policypercent);

                        if(PhNum_Add_Select_Policypercent <= 5000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_012a_GenPg_Srch_PhoneNum_ClkPolicyLink (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(139)
                            A01_MPD_012a_GenPg_Srch_PhoneNum_ClkPolicyLink();
                        }
                        else if(PhNum_Add_Select_Policypercent <= 10000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_012b_GenPg_Srch_PhoneNum_PolicyToAdd (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(141)
                            A01_MPD_012b_GenPg_Srch_PhoneNum_PolicyToAdd();
                        }
                    }
                }
            }
            else if(PolicySearchpercent <= 6000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - Email_Search (pct value = 10.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(144)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_004_email_SearchPolicy");
                    UPDATE_USER_FLOW_COUNT(145)
                    A01_MPD_004_email_SearchPolicy();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_005_email_ClkCustomerTab");
                    UPDATE_USER_FLOW_COUNT(147)
                    A01_MPD_005_email_ClkCustomerTab();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_006_email_CreateNewQuote");
                    UPDATE_USER_FLOW_COUNT(150)
                    A01_MPD_006_email_CreateNewQuote();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_007_email_PrefillPage");
                    UPDATE_USER_FLOW_COUNT(155)
                    A01_MPD_007_email_PrefillPage();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_013_GenPg_Srch_Email");
                    UPDATE_USER_FLOW_COUNT(163)
                    A01_MPD_013_GenPg_Srch_Email();

                    NSDL2_RUNLOGIC(NULL, NULL, "Executing percent block - Email_Add_Select_Policy (pct value = 10.0%)");
                    {
                        UPDATE_USER_FLOW_COUNT(166)
                        int Email_Add_Select_Policypercent = ns_get_random_number_int(1, 10000);

                        NSDL2_RUNLOGIC(NULL, NULL, "Percentage random number for block - Email_Add_Select_Policy = %d", Email_Add_Select_Policypercent);

                        if(Email_Add_Select_Policypercent <= 5000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_013a_GenPg_Srch_Email_ClkPolicyLink (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(167)
                            A01_MPD_013a_GenPg_Srch_Email_ClkPolicyLink();
                        }
                        else if(Email_Add_Select_Policypercent <= 10000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_013b_GenPg_Srch_Email_PolicyToAdd (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(169)
                            A01_MPD_013b_GenPg_Srch_Email_PolicyToAdd();
                        }
                    }
                }
            }
            else if(PolicySearchpercent <= 7000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - PolNum_Search (pct value = 10.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(172)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_004_PolNum_SearchPolicy");
                    UPDATE_USER_FLOW_COUNT(173)
                    A01_MPD_004_PolNum_SearchPolicy();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_005_PolNum_ClkCustomerTab");
                    UPDATE_USER_FLOW_COUNT(175)
                    A01_MPD_005_PolNum_ClkCustomerTab();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_006_PolNum_CreateNewQuote");
                    UPDATE_USER_FLOW_COUNT(178)
                    A01_MPD_006_PolNum_CreateNewQuote();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_007_PolNum_PrefillPage");
                    UPDATE_USER_FLOW_COUNT(183)
                    A01_MPD_007_PolNum_PrefillPage();
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_014_GenPg_Srch_PolicyNum");
                    UPDATE_USER_FLOW_COUNT(190)
                    A01_MPD_014_GenPg_Srch_PolicyNum();

                    NSDL2_RUNLOGIC(NULL, NULL, "Executing percent block - PolNum_Add_Select_Policy (pct value = 10.0%)");
                    {
                        UPDATE_USER_FLOW_COUNT(195)
                        int PolNum_Add_Select_Policypercent = ns_get_random_number_int(1, 10000);

                        NSDL2_RUNLOGIC(NULL, NULL, "Percentage random number for block - PolNum_Add_Select_Policy = %d", PolNum_Add_Select_Policypercent);

                        if(PolNum_Add_Select_Policypercent <= 5000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_014a_GenPg_Srch_PolicyNum_ClkPolicyLink (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(196)
                            A01_MPD_014a_GenPg_Srch_PolicyNum_ClkPolicyLink();
                        }
                        else if(PolNum_Add_Select_Policypercent <= 10000)
                        {
                            NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_014b_GenPg_Srch_PolicyNum_PolicyToAdd (pct value = 50.0%)");
                            UPDATE_USER_FLOW_COUNT(198)
                            A01_MPD_014b_GenPg_Srch_PolicyNum_PolicyToAdd();
                        }
                    }
                }
            }
            else if(PolicySearchpercent <= 10000)
            {

                NSDL2_RUNLOGIC(NULL, NULL, "Executing sequence block - Done_Block (pct value = 30.0%)");
                {
                    UPDATE_USER_FLOW_COUNT(201)
                    NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - flow");
                    UPDATE_USER_FLOW_COUNT(202)
                    flow();
                }
            }
        }
        NSDL2_RUNLOGIC(NULL, NULL, "Executing flow - A01_MPD_015_Srch_Logout");
        UPDATE_USER_FLOW_COUNT(203)
        A01_MPD_015_Srch_Logout();
    }

    NSDL2_RUNLOGIC(NULL, NULL, "Executing ns_exit_session()");
    ns_exit_session();
}
