a, b, x, y = 1, 2, 3, 4

# UP031
print('%s %s' % (a, b))

print('%s%s' % (a, b))

print("trivial" % ())

print("%s" % ("simple",))

print("%s" % ("%s" % ("nested",),))

print("%s%% percent" % (15,))

print("%f" % (15,))

print("%.f" % (15,))

print("%.3f" % (15,))

print("%3f" % (15,))

print("%-5f" % (5,))

print("%9f" % (5,))

print("%#o" % (123,))

print("brace {} %s" % (1,))

print(
  "%s" % (
    "trailing comma",
        )
)

print("foo %s " % (x,))

print("%(k)s" % {"k": "v"})

print("%(k)s" % {
    "k": "v",
    "i": "j"
})

print("%(to_list)s" % {"to_list": []})

print("%(k)s" % {"k": "v", "i": 1, "j": []})

print("%(ab)s" % {"a" "b": 1})

print("%(a)s" % {"a"  :  1})

print((
    "foo %s "
    "bar %s" % (x, y)
))

print(
    "foo %(foo)s "
    "bar %(bar)s" % {"foo": x, "bar": y}
)

bar = {"bar": y}
print(
    "foo %(foo)s "
    "bar %(bar)s" % {"foo": x, **bar}
)

print("%s \N{snowman}" % (a,))

print("%(foo)s \N{snowman}" % {"foo": 1})

print(("foo %s " "bar %s") % (x, y))

# Single-value expressions
print('Hello %s' % "World")
print('Hello %s' % f"World")
print('Hello %s (%s)' % bar)
print('Hello %s (%s)' % bar.baz)
print('Hello %s (%s)' % bar['bop'])
print('Hello %(arg)s' % bar)
print('Hello %(arg)s' % bar.baz)
print('Hello %(arg)s' % bar['bop'])

# Hanging modulos
(
    "foo %s "
    "bar %s"
) % (x, y)

(
    "foo %(foo)s "
    "bar %(bar)s"
) % {"foo": x, "bar": y}

(
    """foo %s"""
    % (x,)
)

(
    """
    foo %s
    """
    % (x,)
)

"%s" % (
    x,  # comment
)


path = "%s-%s-%s.pem" % (
    safe_domain_name(cn), # common name, which should be filename safe because it is IDNA-encoded, but in case of a malformed cert make sure it's ok to use as a filename
    cert.not_valid_after.date().isoformat().replace("-", ""), # expiration date
    hexlify(cert.fingerprint(hashes.SHA256())).decode("ascii")[0:8], # fingerprint prefix
)
