def StringS(name, size, uninitialized=False, explicit_name=False, **kwargs):
n = _make_name(String.STRING_TYPE_IDENTIFIER + name, size, False if explicit_name is None else explicit_name)<EOL>result = String("<STR_LIT>", (n, uninitialized), length=size, symbolic=True, eager_backends=None, uninitialized=uninitialized, variables={n}, **kwargs)<EOL>return result<EOL>
Create a new symbolic string (analogous to z3.String())

:param name:                 The name of the symbolic string (i. e. the name of the variable)
:param size:                 The size in bytes of the string (i. e. the length of the string)
:param uninitialized:        Whether this value should be counted as an "uninitialized" value in the course of an
                             analysis.
:param bool explicit_name:   If False, an identifier is appended to the name to ensure uniqueness.

:returns:                    The String object representing the symbolic string