from enum import Enum from typing import Dict, List class Template(Enum): MAXIMUM = "Maximum" LONG = "Long" MEDIUM = "Medium" SHORT = "Short" PIN = "PIN" NAME = "Name" PHRASE = "Phrase" BASIC = "Basic" _templates: Dict[Template, List[str]] = { Template.MAXIMUM: [ "anoxxxxxxxxxxxxxxxxx", "axxxxxxxxxxxxxxxxxno", ], Template.LONG: [ "CvcvnoCvcvCvcv", "CvcvCvcvnoCvcv", "CvcvCvcvCvcvno", "CvccnoCvcvCvcv", "CvccCvcvnoCvcv", "CvccCvcvCvcvno", "CvcvnoCvccCvcv", "CvcvCvccnoCvcv", "CvcvCvccCvcvno", "CvcvnoCvcvCvcc", "CvcvCvcvnoCvcc", "CvcvCvcvCvccno", "CvccnoCvccCvcv", "CvccCvccnoCvcv", "CvccCvccCvcvno", "CvcvnoCvccCvcc", "CvcvCvccnoCvcc", "CvcvCvccCvccno", "CvccnoCvcvCvcc", "CvccCvcvnoCvcc", "CvccCvcvCvccno", ], Template.MEDIUM: [ "CvcnoCvc", "CvcCvcno", ], Template.SHORT: [ "Cvcn", ], Template.PIN: [ "nnnn", ], Template.NAME: [ "cvccvcvcv", ], Template.PHRASE: [ "cvcc cvc cvccvcv cvc", "cvc cvccvcvcv cvcv", "cv cvccv cvc cvcvccv", ], Template.BASIC: [ "aaanaaan", "aannaaan", "aaannaaa", ], } _characters: Dict[str, str] = { "V": "AEIOU", "C": "BCDFGHJKLMNPQRSTVWXYZ", "v": "aeiou", "c": "bcdfghjklmnpqrstvwxyz", "A": "AEIOUBCDFGHJKLMNPQRSTVWXYZ", "a": "AEIOUaeiouBCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz", "n": "0123456789", "o": "@&%?,=[]_:-+*$#!'^~;()/.", "x": "AEIOUaeiouBCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz0123456789!@#$%^&*()", " ": " ", }