code: def _parse_project_urls(data: List[str]) -> Dict[str, str]:
      """Parse a list of label/URL string pairings separated by a comma."""
      urls = {}
      for pair in data:
          # Our logic is slightly tricky here as we want to try and do
          # *something* reasonable with malformed data.
          #
          # The main thing that we have to worry about, is data that does
          # not have a ',' at all to split the label from the Value. There
          # isn't a singular right answer here, and we will fail validation
          # later on (if the caller is validating) so it doesn't *really*
          # matter, but since the missing value has to be an empty str
          # and our return value is dict[str, str], if we let the key
          # be the missing value, then they'd have multiple '' values that
          # overwrite each other in a accumulating dict.
          #
          # The other potentional issue is that it's possible to have the
          # same label multiple times in the metadata, with no solid "right"
          # answer with what to do in that case. As such, we'll do the only
          # thing we can, which is treat the field as unparseable and add it
          # to our list of unparsed fields.
          parts = [p.strip() for p in pair.split(",", 1)]
          parts.extend(
              [""] * (max(0, 2 - len(parts)))
          )  # Ensure 2 items
  
          # TODO: The spec doesn't say anything about if the keys should be
          #       considered case sensitive or not... logically they should
          #       be case-preserving and case-insensitive, but doing that
          #       would open up more cases where we might have duplicate
          #       entries.
          label, url = parts
          if label in urls:
              # The label already exists in our set of urls, so this field
              # is unparseable, and we can just add the whole thing to our
              # unparseable data and stop processing it.
              raise KeyError("duplicate labels in project urls")
          urls[label] = url
  
      return urls
  
file_path: catboost/contrib/python/setuptools/py3/pkg_resources/_vendor/packaging/metadata.py
imports: import email.feedparser
  import email.header
  import email.message
  import email.parser
  import email.policy
  import sys
  import typing
  from typing import Dict, List, Optional, Tuple, Union, cast
label_desc: Use image node_id 2 for calling a global function with example usage: _parse_project_urls(data) and returns: urls