code: def _find_matching_allowance(self, args, kwargs):
          
  
          for allowance in self._allowances:
              if allowance.satisfy_exact_match(args, kwargs):
                  return allowance
  
          for allowance in self._allowances:
              if allowance.satisfy_custom_matcher(args, kwargs):
                  return allowance
  
          for allowance in self._allowances:
              if allowance.satisfy_any_args_match():
                  return allowance
docs: Return a matching allowance.
  
          Returns the first allowance that matches the ones declared. Tries one with specific
          arguments first, then falls back to an allowance that allows arbitrary arguments.
  
          :return: The matching ``Allowance``, if one was found.
          :rtype: Allowance, None