drop python3.6 support

python 3.6 reached end of life on 2021-12-23

Committed via https://github.com/asottile/all-repos
diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py
index 63f891f..5884394 100644
--- a/pre_commit_hooks/requirements_txt_fixer.py
+++ b/pre_commit_hooks/requirements_txt_fixer.py
@@ -1,8 +1,8 @@
+from __future__ import annotations
+
 import argparse
 import re
 from typing import IO
-from typing import List
-from typing import Optional
 from typing import Sequence
 
 
@@ -15,8 +15,8 @@
     UNTIL_SEP = re.compile(rb'[^;\s]+')
 
     def __init__(self) -> None:
-        self.value: Optional[bytes] = None
-        self.comments: List[bytes] = []
+        self.value: bytes | None = None
+        self.comments: list[bytes] = []
 
     @property
     def name(self) -> bytes:
@@ -36,7 +36,7 @@
 
         return name[:m.start()]
 
-    def __lt__(self, requirement: 'Requirement') -> bool:
+    def __lt__(self, requirement: Requirement) -> bool:
         # \n means top of file comment, so always return True,
         # otherwise just do a string comparison with value.
         assert self.value is not None, self.value
@@ -61,9 +61,9 @@
 
 
 def fix_requirements(f: IO[bytes]) -> int:
-    requirements: List[Requirement] = []
+    requirements: list[Requirement] = []
     before = list(f)
-    after: List[bytes] = []
+    after: list[bytes] = []
 
     before_string = b''.join(before)
 
@@ -130,7 +130,7 @@
         return FAIL
 
 
-def main(argv: Optional[Sequence[str]] = None) -> int:
+def main(argv: Sequence[str] | None = None) -> int:
     parser = argparse.ArgumentParser()
     parser.add_argument('filenames', nargs='*', help='Filenames to fix')
     args = parser.parse_args(argv)