<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def search_tasks(self, *queries):
 """Return a list of tasks that match some search criteria. .. note:: Example queries can be found `here <https://todoist.com/Help/timeQuery>`_. .. note:: A standard set of queries are available in the :class:`pytodoist.todoist.Query` class. :param queries: Return tasks that match at least one of these queries. :type queries: list str :return: A list tasks that match at least one query. :rtype: list of :class:`pytodoist.todoist.Task` """

        queries = json.dumps(queries)
        response = API.query(self.api_token, queries)
        _fail_if_contains_errors(response)
        query_results = response.json()
        tasks = []
        for result in query_results:
            if 'data' not in result:
                continue
            all_tasks = result['data']
            if result['type'] == Query.ALL:
                all_projects = all_tasks
                for project_json in all_projects:
                    uncompleted_tasks = project_json.get('uncompleted', [])
                    completed_tasks = project_json.get('completed', [])
                    all_tasks = uncompleted_tasks + completed_tasks
            for task_json in all_tasks:
                project_id = task_json['project_id']
                project = self.projects[project_id]
                task = Task(task_json, project)
                tasks.append(task)
        return tasks