code: def _maybe_strip_i18n_prefix_and_normalize(number, possible_idd_prefix):
      
      if len(number) == 0:
          return (CountryCodeSource.FROM_DEFAULT_COUNTRY, number)
      # Check to see if the number begins with one or more plus signs.
      m = _PLUS_CHARS_PATTERN.match(number)
      if m:
          number = number[m.end():]
          # Can now normalize the rest of the number since we've consumed the
          # "+" sign at the start.
          return (CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN,
                  _normalize(number))
  
      # Attempt to parse the first digits as an international prefix.
      idd_pattern = re.compile(possible_idd_prefix)
      number = _normalize(number)
      stripped, number = _parse_prefix_as_idd(idd_pattern, number)
      if stripped:
          return (CountryCodeSource.FROM_NUMBER_WITH_IDD, number)
      else:
          return (CountryCodeSource.FROM_DEFAULT_COUNTRY, number)
docs: Strips any international prefix (such as +, 00, 011) present in the
      number provided, normalizes the resulting number, and indicates if an
      international prefix was present.
  
      Arguments:
      number -- The non-normalized telephone number that we wish to strip any international
                dialing prefix from.
      possible_idd_prefix -- The international direct dialing prefix from the region we
                think this number may be dialed in.
  
      Returns a 2-tuple containing:
        - The corresponding CountryCodeSource if an international dialing prefix
          could be removed from the number, otherwise
          CountryCodeSource.FROM_DEFAULT_COUNTRY if the number did not seem to
          be in international format.
        - The number with the prefix stripped.