code: def parse_args():
      
      parser = argparse.ArgumentParser(description = "Generate secrets for YubiKeys using YubiHSM",
                                       add_help=True,
                                       formatter_class = argparse.ArgumentDefaultsHelpFormatter,
                                       )
      parser.add_argument('-D', '--device',
                          dest='device',
                          default=default_device,
                          required=False,
                          help='YubiHSM device',
                          )
      parser.add_argument('-O', '--output-dir', '--aead-dir',
                          dest='output_dir',
                          default=default_dir,
                          required=False,
                          help='Output directory (AEAD base dir)',
                          )
      parser.add_argument('-c', '--count',
                          dest='count',
                          type=int, default=1,
                          required=False,
                          help='Number of secrets to generate',
                          )
      parser.add_argument('-v', '--verbose',
                          dest='verbose',
                          action='store_true', default=False,
                          help='Enable verbose operation',
                          )
      parser.add_argument('--public-id-chars',
                          dest='public_id_chars',
                          type=int, default=12,
                          required=False,
                          help='Number of chars in generated public ids',
                          )
      parser.add_argument('--key-handles',
                          dest='key_handles',
                          nargs='+',
                          required=True,
                          help='Key handles to encrypt the generated secrets with',
                          )
      parser.add_argument('--start-public-id',
                          dest='start_id',
                          required=True,
                          help='The first public id to generate AEAD for',
                          )
  
      parser.add_argument('--random-nonce',
                          dest='random_nonce',
                          required=False,
                          action='store_true', default=False,
                          help='Let the HSM generate nonce',
                          )
  
      return parser.parse_args()
docs: Parse the command line arguments