patch 9.0.0347: MS-Windows: cannot set cursor shape in Windows Terminal

Problem:    MS-Windows: cannot set cursor shape in Windows Terminal.
Solution:   Make cursor shape work with Windows Terminal. (Ken Takata,
            closes #11028, closes #6576)
diff --git a/src/os_win32.c b/src/os_win32.c
index e6ffcba..f6bf91d 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1528,13 +1528,27 @@
     static void
 mch_set_cursor_shape(int thickness)
 {
-    CONSOLE_CURSOR_INFO ConsoleCursorInfo;
-    ConsoleCursorInfo.dwSize = thickness;
-    ConsoleCursorInfo.bVisible = s_cursor_visible;
+    if (USE_VTP || USE_WT)
+    {
+	if (*T_CSI == NUL)
+	{
+	    // If 't_SI' is not set, use the default cursor styles.
+	    if (thickness < 50)
+		vtp_printf("\033[3 q");	// underline
+	    else
+		vtp_printf("\033[0 q");	// default
+	}
+    }
+    else
+    {
+	CONSOLE_CURSOR_INFO ConsoleCursorInfo;
+	ConsoleCursorInfo.dwSize = thickness;
+	ConsoleCursorInfo.bVisible = s_cursor_visible;
 
-    SetConsoleCursorInfo(g_hConOut, &ConsoleCursorInfo);
-    if (s_cursor_visible)
-	SetConsoleCursorPosition(g_hConOut, g_coord);
+	SetConsoleCursorInfo(g_hConOut, &ConsoleCursorInfo);
+	if (s_cursor_visible)
+	    SetConsoleCursorPosition(g_hConOut, g_coord);
+    }
 }
 
     void
@@ -6770,6 +6784,21 @@
 	    }
 # endif
 	}
+	else if (s[0] == ESC && len >= 3-1 && s[1] == '[')
+	{
+	    int l = 2;
+
+	    if (isdigit(s[l]))
+		l++;
+	    if (s[l] == ' ' && s[l + 1] == 'q')
+	    {
+		// DECSCUSR (cursor style) sequences
+		if (USE_VTP || USE_WT)
+		    vtp_printf("%.*s", l + 2, s);   // Pass through
+		s += l + 2;
+		len -= l + 1;
+	    }
+	}
 	else
 	{
 	    // Write a single character
@@ -7953,7 +7982,7 @@
     if (argc == 0)
     {
 	sgrfgr = sgrbgr = -1;
-	vtp_printf("033[m");
+	vtp_printf("\033[m");
 	return;
     }
 
diff --git a/src/version.c b/src/version.c
index f6cdb1c..147f876 100644
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    347,
+/**/
     346,
 /**/
     345,