{"4.2.14",
 [{"4.2.13",[],
   [{load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.12",[],
   [{load_object_code,{emqx,"4.2.14",[emqx_shared_sub]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_shared_sub,soft_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.11",[],
   [{load_object_code,
        {emqx,"4.2.14",[emqx_router_sup,emqx_broker,emqx_router,emqx_trie]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.10",[],
   [{load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.14",[emqx_http_client]}},
    {load_object_code,{emqx_auth_mnesia,"4.2.14",[emqx_auth_mnesia_cli]}},
    {load_object_code,{ehttpc,"0.1.3",[ehttpc]}},
    {load_object_code,
        {emqx_management,"4.2.14",
            [emqx_mgmt,emqx_mgmt_cli,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{emqx_auth_mnesia_cli,brutal_purge,brutal_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_cli,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.9",[],
   [{load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,
             emqx_connection,emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.14",[emqx_http_client]}},
    {load_object_code,
        {emqx_auth_mnesia,"4.2.14",
            [emqx_acl_mnesia,emqx_auth_mnesia_cli,emqx_auth_mnesia_app]}},
    {load_object_code,{ehttpc,"0.1.3",[ehttpc]}},
    {load_object_code,{emqx_management,"4.2.14",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_connection,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{emqx_acl_mnesia,brutal_purge,brutal_purge}},
    {load,{emqx_auth_mnesia_cli,brutal_purge,brutal_purge}},
    {load,{emqx_auth_mnesia_app,brutal_purge,brutal_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.8",[],
   [{load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.14",[emqx_http_client]}},
    {load_object_code,{ehttpc,"0.1.3",[ehttpc]}},
    {load_object_code,{emqx_management,"4.2.14",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.7",[],
   [{load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.14",[emqx_http_client]}},
    {load_object_code,{ehttpc,"0.1.3",[ehttpc]}},
    {load_object_code,{emqx_management,"4.2.14",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.6",[],
   [{load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_auth_http,"4.2.14",[emqx_auth_http_cli,emqx_http_client]}},
    {load_object_code,{ehttpc,"0.1.3",[ehttpc]}},
    {load_object_code,{eredis,"1.2.2",[eredis_client]}},
    {load_object_code,{emqx_management,"4.2.14",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.5",[],
   [{load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_auth_http,"4.2.14",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.14",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{eredis,"1.2.2",[eredis_client]}},
    {load_object_code,{emqx_management,"4.2.14",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {code_change,up,[{ehttpc,[]}]},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.4",[],
   [{load_object_code,
        {ehttpc,"0.1.3",
            [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
             ehttpc_worker_sup]}},
    {load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.4",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_auth_http,"4.2.14",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.14",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{eredis,"1.2.2",[eredis_client]}},
    {load_object_code,{emqx_management,"4.2.14",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{ehttpc,brutal_purge,brutal_purge}},
    {load,{ehttpc_app,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {apply,{application,start,[ehttpc,permanent]}},
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.3",[],
   [{load_object_code,
        {gun,"1.3.4",
            [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
             gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]}},
    {load_object_code,
        {ehttpc,"0.1.3",
            [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
             ehttpc_worker_sup]}},
    {load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.2",[minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,
        {emqx_auth_http,"4.2.14",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.14",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{emqx_rule_engine,"4.2.14",[emqx_rule_events]}},
    {load_object_code,{eredis,"1.2.2",[eredis_client]}},
    {load_object_code,
        {eredis_cluster,"0.6.4",
            [eredis_cluster_pool_worker,eredis_cluster_monitor]}},
    {load_object_code,{emqx_auth_redis,"4.2.14",[emqx_auth_redis_sup]}},
    {load_object_code,{emqx_auth_mongo,"4.2.14",[emqx_auth_mongo]}},
    {load_object_code,{emqx_management,"4.2.14",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{gun,brutal_purge,brutal_purge}},
    {load,{gun_app,brutal_purge,brutal_purge}},
    {load,{gun_content_handler,brutal_purge,brutal_purge}},
    {load,{gun_data_h,brutal_purge,brutal_purge}},
    {load,{gun_http,brutal_purge,brutal_purge}},
    {load,{gun_http2,brutal_purge,brutal_purge}},
    {load,{gun_sse_h,brutal_purge,brutal_purge}},
    {load,{gun_sup,brutal_purge,brutal_purge}},
    {load,{gun_tcp,brutal_purge,brutal_purge}},
    {load,{gun_tls,brutal_purge,brutal_purge}},
    {load,{gun_ws,brutal_purge,brutal_purge}},
    {load,{gun_ws_h,brutal_purge,brutal_purge}},
    {apply,{application,start,[gun,permanent]}},
    {load,{ehttpc,brutal_purge,brutal_purge}},
    {load,{ehttpc_app,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {apply,{application,start,[ehttpc,permanent]}},
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.2",[],
   [{load_object_code,
        {gun,"1.3.4",
            [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
             gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]}},
    {load_object_code,
        {ehttpc,"0.1.3",
            [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
             ehttpc_worker_sup]}},
    {load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_metrics,emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.2",[minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{emqx_sn,"4.2.14",[emqx_sn_gateway]}},
    {load_object_code,
        {emqx_auth_http,"4.2.14",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.14",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,
        {emqx_rule_engine,"4.2.14",
            [emqx_rule_events,emqx_rule_funcs,emqx_rule_engine,
             emqx_rule_actions]}},
    {load_object_code,{emqx_sasl,"4.2.14",[emqx_sasl_api,emqx_sasl_cli]}},
    {load_object_code,{emqx_telemetry,"4.2.14",[emqx_telemetry]}},
    {load_object_code,{emqx_auth_pgsql,"4.2.14",[emqx_auth_pgsql_cli]}},
    {load_object_code,{eredis,"1.2.2",[eredis,eredis_client,eredis_parser]}},
    {load_object_code,
        {eredis_cluster,"0.6.4",
            [eredis_cluster_pool_worker,eredis_cluster_monitor,
             eredis_cluster_pool]}},
    {load_object_code,
        {emqx_auth_redis,"4.2.14",[emqx_auth_redis_cli,emqx_auth_redis_sup]}},
    {load_object_code,
        {emqx_auth_mongo,"4.2.14",
            [emqx_auth_mongo_app,emqx_acl_mongo,emqx_auth_mongo]}},
    {load_object_code,
        {emqx_management,"4.2.14",[emqx_mgmt,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{gun,brutal_purge,brutal_purge}},
    {load,{gun_app,brutal_purge,brutal_purge}},
    {load,{gun_content_handler,brutal_purge,brutal_purge}},
    {load,{gun_data_h,brutal_purge,brutal_purge}},
    {load,{gun_http,brutal_purge,brutal_purge}},
    {load,{gun_http2,brutal_purge,brutal_purge}},
    {load,{gun_sse_h,brutal_purge,brutal_purge}},
    {load,{gun_sup,brutal_purge,brutal_purge}},
    {load,{gun_tcp,brutal_purge,brutal_purge}},
    {load,{gun_tls,brutal_purge,brutal_purge}},
    {load,{gun_ws,brutal_purge,brutal_purge}},
    {load,{gun_ws_h,brutal_purge,brutal_purge}},
    {apply,{application,start,[gun,permanent]}},
    {load,{ehttpc,brutal_purge,brutal_purge}},
    {load,{ehttpc_app,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {apply,{application,start,[ehttpc,permanent]}},
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_metrics,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{emqx_sn_gateway,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{emqx_rule_funcs,brutal_purge,soft_purge}},
    {load,{emqx_rule_engine,brutal_purge,soft_purge}},
    {load,{emqx_rule_actions,brutal_purge,soft_purge}},
    {load,{emqx_sasl_api,brutal_purge,soft_purge}},
    {load,{emqx_sasl_cli,brutal_purge,soft_purge}},
    {load,{emqx_telemetry,brutal_purge,soft_purge}},
    {load,{emqx_auth_pgsql_cli,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis,brutal_purge,soft_purge}},
    {load,{eredis_parser,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_cli,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo_app,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_acl_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.1",[],
   [{load_object_code,
        {gun,"1.3.4",
            [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
             gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]}},
    {load_object_code,
        {ehttpc,"0.1.3",
            [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
             ehttpc_worker_sup]}},
    {load_object_code,{esockd,"5.7.4",[esockd_udp]}},
    {load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_metrics,emqx_channel,emqx_mod_topic_metrics,emqx_json,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.2",[minirest_handler,minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{emqx_sn,"4.2.14",[emqx_sn_gateway]}},
    {load_object_code,
        {emqx_auth_http,"4.2.14",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.14",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,
        {emqx_rule_engine,"4.2.14",
            [emqx_rule_events,emqx_rule_funcs,emqx_rule_maps,emqx_rule_engine,
             emqx_rule_actions]}},
    {load_object_code,{emqx_sasl,"4.2.14",[emqx_sasl_api,emqx_sasl_cli]}},
    {load_object_code,{emqx_telemetry,"4.2.14",[emqx_telemetry]}},
    {load_object_code,{emqx_auth_pgsql,"4.2.14",[emqx_auth_pgsql_cli]}},
    {load_object_code,{eredis,"1.2.2",[eredis,eredis_client,eredis_parser]}},
    {load_object_code,
        {eredis_cluster,"0.6.4",
            [eredis_cluster_pool_worker,eredis_cluster_monitor,
             eredis_cluster_pool]}},
    {load_object_code,
        {emqx_auth_redis,"4.2.14",[emqx_auth_redis_cli,emqx_auth_redis_sup]}},
    {load_object_code,
        {emqx_auth_mongo,"4.2.14",
            [emqx_auth_mongo_app,emqx_acl_mongo,emqx_auth_mongo]}},
    {load_object_code,
        {emqx_management,"4.2.14",[emqx_mgmt,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{gun,brutal_purge,brutal_purge}},
    {load,{gun_app,brutal_purge,brutal_purge}},
    {load,{gun_content_handler,brutal_purge,brutal_purge}},
    {load,{gun_data_h,brutal_purge,brutal_purge}},
    {load,{gun_http,brutal_purge,brutal_purge}},
    {load,{gun_http2,brutal_purge,brutal_purge}},
    {load,{gun_sse_h,brutal_purge,brutal_purge}},
    {load,{gun_sup,brutal_purge,brutal_purge}},
    {load,{gun_tcp,brutal_purge,brutal_purge}},
    {load,{gun_tls,brutal_purge,brutal_purge}},
    {load,{gun_ws,brutal_purge,brutal_purge}},
    {load,{gun_ws_h,brutal_purge,brutal_purge}},
    {apply,{application,start,[gun,permanent]}},
    {load,{ehttpc,brutal_purge,brutal_purge}},
    {load,{ehttpc_app,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {apply,{application,start,[ehttpc,permanent]}},
    {load,{esockd_udp,brutal_purge,soft_purge}},
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_metrics,brutal_purge,soft_purge}},
    {load,{emqx_channel,brutal_purge,soft_purge}},
    {load,{emqx_mod_topic_metrics,brutal_purge,soft_purge}},
    {load,{emqx_json,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest_handler,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{emqx_sn_gateway,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{emqx_rule_funcs,brutal_purge,soft_purge}},
    {load,{emqx_rule_maps,brutal_purge,soft_purge}},
    {load,{emqx_rule_engine,brutal_purge,soft_purge}},
    {load,{emqx_rule_actions,brutal_purge,soft_purge}},
    {load,{emqx_sasl_api,brutal_purge,soft_purge}},
    {load,{emqx_sasl_cli,brutal_purge,soft_purge}},
    {load,{emqx_telemetry,brutal_purge,soft_purge}},
    {load,{emqx_auth_pgsql_cli,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis,brutal_purge,soft_purge}},
    {load,{eredis_parser,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_cli,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo_app,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_acl_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.0",[],
   [{load_object_code,
        {gun,"1.3.4",
            [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
             gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]}},
    {load_object_code,
        {ehttpc,"0.1.3",
            [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
             ehttpc_worker_sup]}},
    {load_object_code,{esockd,"5.7.4",[esockd_udp,esockd_transport]}},
    {load_object_code,
        {emqx,"4.2.14",
            [emqx_router_sup,emqx_broker,emqx_router,emqx_trie,emqx_frame,
             emqx_metrics,emqx_channel,emqx_mod_topic_metrics,emqx_json,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.7",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.2",[minirest_handler,minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.14",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{emqx_sn,"4.2.14",[emqx_sn_gateway]}},
    {load_object_code,
        {emqx_auth_http,"4.2.14",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.14",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{rulesql,"0.1.2",[sql_lex,rulesql]}},
    {load_object_code,
        {emqx_rule_engine,"4.2.14",
            [emqx_rule_events,emqx_rule_funcs,emqx_rule_maps,emqx_rule_engine,
             emqx_rule_actions]}},
    {load_object_code,{emqx_sasl,"4.2.14",[emqx_sasl_api,emqx_sasl_cli]}},
    {load_object_code,{emqx_telemetry,"4.2.14",[emqx_telemetry]}},
    {load_object_code,{emqx_auth_pgsql,"4.2.14",[emqx_auth_pgsql_cli]}},
    {load_object_code,{eredis,"1.2.2",[eredis,eredis_client,eredis_parser]}},
    {load_object_code,
        {eredis_cluster,"0.6.4",
            [eredis_cluster_pool_worker,eredis_cluster_monitor,
             eredis_cluster_pool]}},
    {load_object_code,
        {emqx_auth_redis,"4.2.14",[emqx_auth_redis_cli,emqx_auth_redis_sup]}},
    {load_object_code,
        {emqx_auth_mongo,"4.2.14",
            [emqx_auth_mongo_app,emqx_acl_mongo,emqx_auth_mongo]}},
    {load_object_code,
        {emqx_management,"4.2.14",[emqx_mgmt,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.14",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{gun,brutal_purge,brutal_purge}},
    {load,{gun_app,brutal_purge,brutal_purge}},
    {load,{gun_content_handler,brutal_purge,brutal_purge}},
    {load,{gun_data_h,brutal_purge,brutal_purge}},
    {load,{gun_http,brutal_purge,brutal_purge}},
    {load,{gun_http2,brutal_purge,brutal_purge}},
    {load,{gun_sse_h,brutal_purge,brutal_purge}},
    {load,{gun_sup,brutal_purge,brutal_purge}},
    {load,{gun_tcp,brutal_purge,brutal_purge}},
    {load,{gun_tls,brutal_purge,brutal_purge}},
    {load,{gun_ws,brutal_purge,brutal_purge}},
    {load,{gun_ws_h,brutal_purge,brutal_purge}},
    {apply,{application,start,[gun,permanent]}},
    {load,{ehttpc,brutal_purge,brutal_purge}},
    {load,{ehttpc_app,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool,brutal_purge,brutal_purge}},
    {load,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_sup,brutal_purge,brutal_purge}},
    {load,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {apply,{application,start,[ehttpc,permanent]}},
    {load,{esockd_udp,brutal_purge,soft_purge}},
    {load,{esockd_transport,brutal_purge,soft_purge}},
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_metrics,brutal_purge,soft_purge}},
    {load,{emqx_channel,brutal_purge,soft_purge}},
    {load,{emqx_mod_topic_metrics,brutal_purge,soft_purge}},
    {load,{emqx_json,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {apply,
        {application,set_env,
            [emqx,force_shutdown_policy,
             #{max_heap_size => 8388608,message_queue_len => 10000}]}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest_handler,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{emqx_sn_gateway,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{sql_lex,brutal_purge,brutal_purge}},
    {load,{rulesql,brutal_purge,brutal_purge}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{emqx_rule_funcs,brutal_purge,soft_purge}},
    {load,{emqx_rule_maps,brutal_purge,soft_purge}},
    {load,{emqx_rule_engine,brutal_purge,soft_purge}},
    {load,{emqx_rule_actions,brutal_purge,soft_purge}},
    {load,{emqx_sasl_api,brutal_purge,soft_purge}},
    {load,{emqx_sasl_cli,brutal_purge,soft_purge}},
    {load,{emqx_telemetry,brutal_purge,soft_purge}},
    {load,{emqx_auth_pgsql_cli,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis,brutal_purge,soft_purge}},
    {load,{eredis_parser,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_cli,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo_app,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_acl_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]}],
 [{"4.2.13",[],
   [{load_object_code,
        {emqx_dashboard,"4.2.13",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.12",[],
   [{load_object_code,{emqx,"4.2.12",[emqx_shared_sub]}},
    {load_object_code,
        {emqx_dashboard,"4.2.12",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_shared_sub,soft_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.11",[],
   [{load_object_code,
        {emqx,"4.2.11",[emqx_router_sup,emqx_broker,emqx_trie,emqx_router]}},
    {load_object_code,{ekka,"0.7.6",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_dashboard,"4.2.11",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.10",[],
   [{load_object_code,
        {emqx,"4.2.10",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.6",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.10",[emqx_http_client]}},
    {load_object_code,{emqx_auth_mnesia,"4.2.10",[emqx_auth_mnesia_cli]}},
    {load_object_code,{ehttpc,"0.1.2",[ehttpc]}},
    {load_object_code,
        {emqx_management,"4.2.10",
            [emqx_mgmt,emqx_mgmt_cli,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.10",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{emqx_auth_mnesia_cli,brutal_purge,brutal_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_cli,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.9",[],
   [{load_object_code,
        {emqx,"4.2.9",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,
             emqx_connection,emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.6",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.9",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.9",[emqx_http_client]}},
    {load_object_code,
        {emqx_auth_mnesia,"4.2.9",
            [emqx_acl_mnesia,emqx_auth_mnesia_cli,emqx_auth_mnesia_app]}},
    {load_object_code,{ehttpc,"0.1.2",[ehttpc]}},
    {load_object_code,{emqx_management,"4.2.9",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.9",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_connection,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{emqx_acl_mnesia,brutal_purge,brutal_purge}},
    {load,{emqx_auth_mnesia_cli,brutal_purge,brutal_purge}},
    {load,{emqx_auth_mnesia_app,brutal_purge,brutal_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.8",[],
   [{load_object_code,{ekka,"0.7.6",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.8",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.8",[emqx_http_client]}},
    {load_object_code,{ehttpc,"0.1.2",[ehttpc]}},
    {load_object_code,{emqx_management,"4.2.8",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.8",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.7",[],
   [{load_object_code,
        {emqx,"4.2.7",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.6",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.7",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,{emqx_auth_http,"4.2.7",[emqx_http_client]}},
    {load_object_code,{ehttpc,"0.1.2",[ehttpc]}},
    {load_object_code,{emqx_management,"4.2.7",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.7",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.6",[],
   [{load_object_code,
        {emqx,"4.2.6",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.6",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.6",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_auth_http,"4.2.6",[emqx_auth_http_cli,emqx_http_client]}},
    {load_object_code,{ehttpc,"0.1.1",[ehttpc]}},
    {load_object_code,{eredis,"1.2.1",[eredis_client]}},
    {load_object_code,{emqx_management,"4.2.6",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.6",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,soft_purge}},
    {load,{emqx_http_client,brutal_purge,soft_purge}},
    {load,{ehttpc,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.5",[],
   [{load_object_code,
        {emqx,"4.2.5",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.5",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.5",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_auth_http,"4.2.5",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.5",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{eredis,"1.2.1",[eredis_client]}},
    {load_object_code,{emqx_management,"4.2.5",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.5",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {code_change,down,[{ehttpc,[]}]},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}}]},
  {"4.2.4",[],
   [{load_object_code,
        {emqx,"4.2.4",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.5",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.4",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{gun,"1.3.3",[gun,gun_http,gun_http2]}},
    {load_object_code,
        {emqx_auth_http,"4.2.4",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli,emqx_http_client,emqx_http_client_sup]}},
    {load_object_code,
        {emqx_web_hook,"4.2.4",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{eredis,"1.2.1",[eredis_client]}},
    {load_object_code,{emqx_management,"4.2.4",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.4",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{gun,brutal_purge,soft_purge}},
    {load,{gun_http,brutal_purge,soft_purge}},
    {load,{gun_http2,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {load,{emqx_http_client,brutal_purge,brutal_purge}},
    {load,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}},
    {apply,{application,stop,[ehttpc]}},
    {remove,{ehttpc,brutal_purge,brutal_purge}},
    {remove,{ehttpc_app,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {purge,
        [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
         ehttpc_worker_sup]},
    {apply,{application,unload,[ehttpc]}}]},
  {"4.2.3",[],
   [{load_object_code,
        {emqx,"4.2.3",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.4",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.1",[minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.3",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,
        {emqx_auth_http,"4.2.3",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli]}},
    {load_object_code,
        {emqx_web_hook,"4.2.3",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{emqx_rule_engine,"4.2.3",[emqx_rule_events]}},
    {load_object_code,{eredis,"1.2.0",[eredis_client]}},
    {load_object_code,
        {eredis_cluster,"0.6.2",
            [eredis_cluster_pool_worker,eredis_cluster_monitor]}},
    {load_object_code,{emqx_auth_redis,"4.2.3",[emqx_auth_redis_sup]}},
    {load_object_code,{emqx_auth_mongo,"4.2.3",[emqx_auth_mongo]}},
    {load_object_code,{emqx_management,"4.2.3",[emqx_mgmt]}},
    {load_object_code,
        {emqx_dashboard,"4.2.3",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}},
    {apply,{application,stop,[gun]}},
    {remove,{gun,brutal_purge,brutal_purge}},
    {remove,{gun_app,brutal_purge,brutal_purge}},
    {remove,{gun_content_handler,brutal_purge,brutal_purge}},
    {remove,{gun_data_h,brutal_purge,brutal_purge}},
    {remove,{gun_http,brutal_purge,brutal_purge}},
    {remove,{gun_http2,brutal_purge,brutal_purge}},
    {remove,{gun_sse_h,brutal_purge,brutal_purge}},
    {remove,{gun_sup,brutal_purge,brutal_purge}},
    {remove,{gun_tcp,brutal_purge,brutal_purge}},
    {remove,{gun_tls,brutal_purge,brutal_purge}},
    {remove,{gun_ws,brutal_purge,brutal_purge}},
    {remove,{gun_ws_h,brutal_purge,brutal_purge}},
    {purge,
        [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
         gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]},
    {apply,{application,unload,[gun]}},
    {apply,{application,stop,[ehttpc]}},
    {remove,{ehttpc,brutal_purge,brutal_purge}},
    {remove,{ehttpc_app,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {purge,
        [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
         ehttpc_worker_sup]},
    {apply,{application,unload,[ehttpc]}}]},
  {"4.2.2",[],
   [{load_object_code,
        {emqx,"4.2.2",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_metrics,emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.4",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.1",[minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.2",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{emqx_sn,"4.2.2",[emqx_sn_gateway]}},
    {load_object_code,
        {emqx_auth_http,"4.2.2",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli]}},
    {load_object_code,
        {emqx_web_hook,"4.2.2",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,
        {emqx_rule_engine,"4.2.2",
            [emqx_rule_events,emqx_rule_actions,emqx_rule_engine,
             emqx_rule_funcs]}},
    {load_object_code,{emqx_sasl,"4.2.2",[emqx_sasl_api,emqx_sasl_cli]}},
    {load_object_code,{emqx_telemetry,"4.2.2",[emqx_telemetry]}},
    {load_object_code,{emqx_auth_pgsql,"4.2.2",[emqx_auth_pgsql_cli]}},
    {load_object_code,{eredis,"1.1.0",[eredis,eredis_client,eredis_parser]}},
    {load_object_code,
        {eredis_cluster,"0.5.11",
            [eredis_cluster_pool_worker,eredis_cluster_monitor,
             eredis_cluster_pool]}},
    {load_object_code,
        {emqx_auth_redis,"4.2.2",[emqx_auth_redis_cli,emqx_auth_redis_sup]}},
    {load_object_code,
        {emqx_auth_mongo,"4.2.2",
            [emqx_auth_mongo_app,emqx_acl_mongo,emqx_auth_mongo]}},
    {load_object_code,
        {emqx_management,"4.2.2",[emqx_mgmt,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.2",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_metrics,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{emqx_sn_gateway,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{emqx_rule_actions,brutal_purge,soft_purge}},
    {load,{emqx_rule_engine,brutal_purge,soft_purge}},
    {load,{emqx_rule_funcs,brutal_purge,soft_purge}},
    {load,{emqx_sasl_api,brutal_purge,soft_purge}},
    {load,{emqx_sasl_cli,brutal_purge,soft_purge}},
    {load,{emqx_telemetry,brutal_purge,soft_purge}},
    {load,{emqx_auth_pgsql_cli,brutal_purge,soft_purge}},
    {load,{eredis,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis_parser,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_cli,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo_app,brutal_purge,soft_purge}},
    {load,{emqx_acl_mongo,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}},
    {apply,{application,stop,[gun]}},
    {remove,{gun,brutal_purge,brutal_purge}},
    {remove,{gun_app,brutal_purge,brutal_purge}},
    {remove,{gun_content_handler,brutal_purge,brutal_purge}},
    {remove,{gun_data_h,brutal_purge,brutal_purge}},
    {remove,{gun_http,brutal_purge,brutal_purge}},
    {remove,{gun_http2,brutal_purge,brutal_purge}},
    {remove,{gun_sse_h,brutal_purge,brutal_purge}},
    {remove,{gun_sup,brutal_purge,brutal_purge}},
    {remove,{gun_tcp,brutal_purge,brutal_purge}},
    {remove,{gun_tls,brutal_purge,brutal_purge}},
    {remove,{gun_ws,brutal_purge,brutal_purge}},
    {remove,{gun_ws_h,brutal_purge,brutal_purge}},
    {purge,
        [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
         gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]},
    {apply,{application,unload,[gun]}},
    {apply,{application,stop,[ehttpc]}},
    {remove,{ehttpc,brutal_purge,brutal_purge}},
    {remove,{ehttpc_app,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {purge,
        [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
         ehttpc_worker_sup]},
    {apply,{application,unload,[ehttpc]}}]},
  {"4.2.1",[],
   [{load_object_code,{esockd,"5.7.3",[esockd_udp]}},
    {load_object_code,
        {emqx,"4.2.1",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_metrics,emqx_channel,emqx_mod_topic_metrics,emqx_json,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.4",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.0",[minirest_handler,minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.1",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{emqx_sn,"4.2.1",[emqx_sn_gateway]}},
    {load_object_code,
        {emqx_auth_http,"4.2.1",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli]}},
    {load_object_code,
        {emqx_web_hook,"4.2.1",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,
        {emqx_rule_engine,"4.2.1",
            [emqx_rule_events,emqx_rule_funcs,emqx_rule_maps,emqx_rule_engine,
             emqx_rule_actions]}},
    {load_object_code,{emqx_sasl,"4.2.1",[emqx_sasl_api,emqx_sasl_cli]}},
    {load_object_code,{emqx_telemetry,"4.2.1",[emqx_telemetry]}},
    {load_object_code,{emqx_auth_pgsql,"4.2.1",[emqx_auth_pgsql_cli]}},
    {load_object_code,{eredis,"1.1.0",[eredis,eredis_client,eredis_parser]}},
    {load_object_code,
        {eredis_cluster,"0.5.11",
            [eredis_cluster_pool_worker,eredis_cluster_monitor,
             eredis_cluster_pool]}},
    {load_object_code,
        {emqx_auth_redis,"4.2.1",[emqx_auth_redis_cli,emqx_auth_redis_sup]}},
    {load_object_code,
        {emqx_auth_mongo,"4.2.1",
            [emqx_auth_mongo_app,emqx_acl_mongo,emqx_auth_mongo]}},
    {load_object_code,
        {emqx_management,"4.2.1",[emqx_mgmt,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.1",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{esockd_udp,brutal_purge,soft_purge}},
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_metrics,brutal_purge,soft_purge}},
    {load,{emqx_channel,brutal_purge,soft_purge}},
    {load,{emqx_mod_topic_metrics,brutal_purge,soft_purge}},
    {load,{emqx_json,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest_handler,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{emqx_sn_gateway,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{emqx_rule_funcs,brutal_purge,soft_purge}},
    {load,{emqx_rule_maps,brutal_purge,soft_purge}},
    {load,{emqx_rule_engine,brutal_purge,soft_purge}},
    {load,{emqx_rule_actions,brutal_purge,soft_purge}},
    {load,{emqx_sasl_api,brutal_purge,soft_purge}},
    {load,{emqx_sasl_cli,brutal_purge,soft_purge}},
    {load,{emqx_telemetry,brutal_purge,soft_purge}},
    {load,{emqx_auth_pgsql_cli,brutal_purge,soft_purge}},
    {load,{eredis,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis_parser,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_cli,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo_app,brutal_purge,soft_purge}},
    {load,{emqx_acl_mongo,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}},
    {apply,{application,stop,[gun]}},
    {remove,{gun,brutal_purge,brutal_purge}},
    {remove,{gun_app,brutal_purge,brutal_purge}},
    {remove,{gun_content_handler,brutal_purge,brutal_purge}},
    {remove,{gun_data_h,brutal_purge,brutal_purge}},
    {remove,{gun_http,brutal_purge,brutal_purge}},
    {remove,{gun_http2,brutal_purge,brutal_purge}},
    {remove,{gun_sse_h,brutal_purge,brutal_purge}},
    {remove,{gun_sup,brutal_purge,brutal_purge}},
    {remove,{gun_tcp,brutal_purge,brutal_purge}},
    {remove,{gun_tls,brutal_purge,brutal_purge}},
    {remove,{gun_ws,brutal_purge,brutal_purge}},
    {remove,{gun_ws_h,brutal_purge,brutal_purge}},
    {purge,
        [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
         gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]},
    {apply,{application,unload,[gun]}},
    {apply,{application,stop,[ehttpc]}},
    {remove,{ehttpc,brutal_purge,brutal_purge}},
    {remove,{ehttpc_app,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {purge,
        [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
         ehttpc_worker_sup]},
    {apply,{application,unload,[ehttpc]}}]},
  {"4.2.0",[],
   [{load_object_code,{esockd,"5.7.2",[esockd_udp,esockd_transport]}},
    {load_object_code,
        {emqx,"4.2.0",
            [emqx_router_sup,emqx_broker,emqx_trie,emqx_router,emqx_frame,
             emqx_metrics,emqx_channel,emqx_mod_topic_metrics,emqx_json,
             emqx_ws_connection]}},
    {load_object_code,{ekka,"0.7.4",[ekka_locker,ekka_dist,ekka_mnesia]}},
    {load_object_code,{minirest,"0.3.0",[minirest_handler,minirest]}},
    {load_object_code,
        {emqx_bridge_mqtt,"4.2.0",
            [emqx_bridge_mqtt_actions,emqx_bridge_mqtt,emqx_bridge_worker]}},
    {load_object_code,{emqx_sn,"4.2.0",[emqx_sn_gateway]}},
    {load_object_code,
        {emqx_auth_http,"4.2.0",
            [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,
             emqx_auth_http_cli]}},
    {load_object_code,
        {emqx_web_hook,"4.2.0",
            [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
             emqx_web_hook_sup]}},
    {load_object_code,{rulesql,"0.1.1",[sql_lex,rulesql]}},
    {load_object_code,
        {emqx_rule_engine,"4.2.0",
            [emqx_rule_events,emqx_rule_funcs,emqx_rule_maps,emqx_rule_engine,
             emqx_rule_actions]}},
    {load_object_code,{emqx_sasl,"4.2.0",[emqx_sasl_api,emqx_sasl_cli]}},
    {load_object_code,{emqx_telemetry,"4.2.0",[emqx_telemetry]}},
    {load_object_code,{emqx_auth_pgsql,"4.2.0",[emqx_auth_pgsql_cli]}},
    {load_object_code,{eredis,"1.1.0",[eredis,eredis_client,eredis_parser]}},
    {load_object_code,
        {eredis_cluster,"0.5.11",
            [eredis_cluster_pool_worker,eredis_cluster_monitor,
             eredis_cluster_pool]}},
    {load_object_code,
        {emqx_auth_redis,"4.2.0",[emqx_auth_redis_cli,emqx_auth_redis_sup]}},
    {load_object_code,
        {emqx_auth_mongo,"4.2.0",
            [emqx_auth_mongo_app,emqx_acl_mongo,emqx_auth_mongo]}},
    {load_object_code,
        {emqx_management,"4.2.0",[emqx_mgmt,emqx_mgmt_api_data]}},
    {load_object_code,
        {emqx_dashboard,"4.2.0",
            [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
             emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]}},
    point_of_no_return,
    {load,{esockd_udp,brutal_purge,soft_purge}},
    {load,{esockd_transport,brutal_purge,soft_purge}},
    {load,{emqx_router_sup,soft_purge,soft_purge}},
    {load,{emqx_broker,soft_purge,soft_purge}},
    {load,{emqx_trie,soft_purge,soft_purge}},
    {load,{emqx_router,soft_purge,soft_purge}},
    {load,{emqx_frame,brutal_purge,soft_purge}},
    {load,{emqx_metrics,brutal_purge,soft_purge}},
    {load,{emqx_channel,brutal_purge,soft_purge}},
    {load,{emqx_mod_topic_metrics,brutal_purge,soft_purge}},
    {load,{emqx_json,brutal_purge,soft_purge}},
    {load,{emqx_ws_connection,brutal_purge,soft_purge}},
    {load,{ekka_locker,brutal_purge,soft_purge}},
    {load,{ekka_dist,brutal_purge,soft_purge}},
    {load,{ekka_mnesia,brutal_purge,soft_purge}},
    {load,{minirest_handler,brutal_purge,soft_purge}},
    {load,{minirest,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt_actions,brutal_purge,soft_purge}},
    {load,{emqx_bridge_mqtt,brutal_purge,soft_purge}},
    {load,{emqx_bridge_worker,brutal_purge,soft_purge}},
    {apply,{emqx_rule_engine,load_providers,[]}},
    {load,{emqx_sn_gateway,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_auth_http]}},
    {remove,{emqx_acl_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {remove,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client,brutal_purge,brutal_purge}},
    {remove,{emqx_http_client_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_acl_http,emqx_auth_http,emqx_auth_http_app,emqx_auth_http_cli,
         emqx_http_client,emqx_http_client_sup]},
    {load,{emqx_acl_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_app,brutal_purge,brutal_purge}},
    {load,{emqx_auth_http_cli,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_auth_http]}},
    {apply,{application,stop,[emqx_web_hook]}},
    {remove,{emqx_web_hook,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {remove,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_web_hook,emqx_web_hook_actions,emqx_web_hook_app,
         emqx_web_hook_sup]},
    {load,{emqx_web_hook,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_actions,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_app,brutal_purge,brutal_purge}},
    {load,{emqx_web_hook_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_web_hook]}},
    {load,{sql_lex,brutal_purge,brutal_purge}},
    {load,{rulesql,brutal_purge,brutal_purge}},
    {load,{emqx_rule_events,brutal_purge,soft_purge}},
    {load,{emqx_rule_funcs,brutal_purge,soft_purge}},
    {load,{emqx_rule_maps,brutal_purge,soft_purge}},
    {load,{emqx_rule_engine,brutal_purge,soft_purge}},
    {load,{emqx_rule_actions,brutal_purge,soft_purge}},
    {load,{emqx_sasl_api,brutal_purge,soft_purge}},
    {load,{emqx_sasl_cli,brutal_purge,soft_purge}},
    {load,{emqx_telemetry,brutal_purge,soft_purge}},
    {load,{emqx_auth_pgsql_cli,brutal_purge,soft_purge}},
    {load,{eredis,brutal_purge,soft_purge}},
    {load,{eredis_client,brutal_purge,soft_purge}},
    {load,{eredis_parser,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool_worker,brutal_purge,soft_purge}},
    {load,{eredis_cluster_monitor,brutal_purge,soft_purge}},
    {load,{eredis_cluster_pool,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_cli,brutal_purge,soft_purge}},
    {load,{emqx_auth_redis_sup,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo_app,brutal_purge,soft_purge}},
    {load,{emqx_acl_mongo,brutal_purge,soft_purge}},
    {load,{emqx_auth_mongo,brutal_purge,soft_purge}},
    {load,{emqx_mgmt,brutal_purge,soft_purge}},
    {load,{emqx_mgmt_api_data,brutal_purge,soft_purge}},
    {apply,{application,stop,[emqx_dashboard]}},
    {remove,{emqx_dashboard,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {remove,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {purge,
        [emqx_dashboard,emqx_dashboard_admin,emqx_dashboard_api,
         emqx_dashboard_app,emqx_dashboard_cli,emqx_dashboard_sup]},
    {load,{emqx_dashboard,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_admin,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_api,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_app,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_cli,brutal_purge,brutal_purge}},
    {load,{emqx_dashboard_sup,brutal_purge,brutal_purge}},
    {apply,{application,load,[emqx_dashboard]}},
    {apply,{emqx_plugins,load,[]}},
    {apply,{application,stop,[gun]}},
    {remove,{gun,brutal_purge,brutal_purge}},
    {remove,{gun_app,brutal_purge,brutal_purge}},
    {remove,{gun_content_handler,brutal_purge,brutal_purge}},
    {remove,{gun_data_h,brutal_purge,brutal_purge}},
    {remove,{gun_http,brutal_purge,brutal_purge}},
    {remove,{gun_http2,brutal_purge,brutal_purge}},
    {remove,{gun_sse_h,brutal_purge,brutal_purge}},
    {remove,{gun_sup,brutal_purge,brutal_purge}},
    {remove,{gun_tcp,brutal_purge,brutal_purge}},
    {remove,{gun_tls,brutal_purge,brutal_purge}},
    {remove,{gun_ws,brutal_purge,brutal_purge}},
    {remove,{gun_ws_h,brutal_purge,brutal_purge}},
    {purge,
        [gun,gun_app,gun_content_handler,gun_data_h,gun_http,gun_http2,
         gun_sse_h,gun_sup,gun_tcp,gun_tls,gun_ws,gun_ws_h]},
    {apply,{application,unload,[gun]}},
    {apply,{application,stop,[ehttpc]}},
    {remove,{ehttpc,brutal_purge,brutal_purge}},
    {remove,{ehttpc_app,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool,brutal_purge,brutal_purge}},
    {remove,{ehttpc_pool_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_sup,brutal_purge,brutal_purge}},
    {remove,{ehttpc_worker_sup,brutal_purge,brutal_purge}},
    {purge,
        [ehttpc,ehttpc_app,ehttpc_pool,ehttpc_pool_sup,ehttpc_sup,
         ehttpc_worker_sup]},
    {apply,{application,unload,[ehttpc]}}]}]}. 