'''simple docstring'''
import unittest

from transformers import load_tool

from .test_tools_common import ToolTesterMixin


lowercase__  :      str        =					"\nHugging Face was founded in 2016 by French entrepreneurs Clément Delangue, Julien Chaumond, and Thomas Wolf originally as a company that developed a chatbot app targeted at teenagers.[2] After open-sourcing the model behind the chatbot, the company pivoted to focus on being a platform for machine learning.\n\nIn March 2021, Hugging Face raised $40 million in a Series B funding round.[3]\n\nOn April 28, 2021, the company launched the BigScience Research Workshop in collaboration with several other research groups to release an open large language model.[4] In 2022, the workshop concluded with the announcement of BLOOM, a multilingual large language model with 176 billion parameters.[5]\n"







class lowerCamelCase							(	unittest.TestCase     ,		lowerCamelCase					):




  '''simple docstring'''



  def  lowerCAmelCase__ (      self			:       Dict  )				->str:
        UpperCAmelCase_            =  load_tool('''text-question-answering'''  )
        self.tool.setup()
        UpperCAmelCase_            =  load_tool('''text-question-answering'''  ,							remote=UpperCAmelCase__  )






  def  lowerCAmelCase__ (      self			:       Union[str, Any]  )				->Any:
        UpperCAmelCase_            =  self.tool(UpperCAmelCase__  ,							'''What did Hugging Face do in April 2021?'''  )
        self.assertEqual(UpperCAmelCase__  ,							'''launched the BigScience Research Workshop'''  )






  def  lowerCAmelCase__ (      self			:       Union[str, Any]  )				->Optional[Any]:
        UpperCAmelCase_            =  self.remote_tool(UpperCAmelCase__  ,							'''What did Hugging Face do in April 2021?'''  )
        self.assertEqual(UpperCAmelCase__  ,							'''launched the BigScience Research Workshop'''  )






  def  lowerCAmelCase__ (      self			:       Any  )				->Any:
        UpperCAmelCase_            =  self.tool(text=UpperCAmelCase__  ,							question='''What did Hugging Face do in April 2021?'''  )
        self.assertEqual(UpperCAmelCase__  ,							'''launched the BigScience Research Workshop'''  )






  def  lowerCAmelCase__ (      self			:       List[str]  )				->List[Any]:
        UpperCAmelCase_            =  self.remote_tool(text=UpperCAmelCase__  ,							question='''What did Hugging Face do in April 2021?'''  )
        self.assertEqual(UpperCAmelCase__  ,							'''launched the BigScience Research Workshop'''  )






'''simple docstring'''
from heapq import heappop, heappush

import numpy as np



def  __lowerCamelCase       (      _UpperCamelCase  :  np.ndarray							,    _UpperCamelCase  :  tuple[int, int]							,    _UpperCamelCase  :  tuple[int, int]							,    _UpperCamelCase  :  bool							,    ):


      '''simple docstring'''


      UpperCAmelCase_      ,		UpperCAmelCase_            =  grid.shape
      UpperCAmelCase_            =  [-1, 1, 0, 0]
      UpperCAmelCase_            =  [0, 0, -1, 1]
      if allow_diagonal:
            dx += [-1, -1, 1, 1]
            dy += [-1, 1, -1, 1]

      UpperCAmelCase_      ,		UpperCAmelCase_            =  [(0, source)], set()
      UpperCAmelCase_            =  np.full((rows, cols)							,    np.inf					)
      UpperCAmelCase_            =  0
      UpperCAmelCase_            =  np.empty((rows, cols)							,    dtype=_UpperCamelCase					)
      UpperCAmelCase_            =  None

      while queue:
            ((UpperCAmelCase_)      ,		(UpperCAmelCase_))            =  heappop(_UpperCamelCase					)
            if (x, y) in visited:
                  continue
            visited.add((x, y)					)

            if (x, y) == destination:
                  UpperCAmelCase_            =  []
                  while (x, y) != source:
                        path.append((x, y)					)
                        UpperCAmelCase_      ,		UpperCAmelCase_            =  predecessors[x, y]
                  path.append(_UpperCamelCase					)  # add the source manually
                  path.reverse()
                  return matrix[destination], path

            for i in range(len(_UpperCamelCase					)					):
                  UpperCAmelCase_      ,		UpperCAmelCase_            =  x + dx[i], y + dy[i]
                  if 0 <= nx < rows and 0 <= ny < cols:
                        UpperCAmelCase_            =  grid[nx][ny]
                        if next_node == 1 and matrix[nx, ny] > dist + 1:
                              heappush(_UpperCamelCase							,    (dist + 1, (nx, ny))					)
                              UpperCAmelCase_            =  dist + 1
                              UpperCAmelCase_            =  (x, y)

      return np.inf, []


if __name__ == "__main__":
      import doctest

      doctest.testmod()





