<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def print_stats(self, reset=True):
        '''Manually print profiling result.

        Args:
            reset (bool): If False is specified, the profiling statistics so
                far is maintained. If ``True`` (default),
                :obj:`~reset_stats`
                is called to reset the profiling statistics.

        '''
        if not self.ncalls:
            return

        stats = self.stats
        code = self.fn.__code__
        print('--- Function Profiling ---')
        print('File "{}", line {}, function {}'.format(
            code.co_filename,
            code.co_firstlineno,
            self.fn.__name__))
        stats.sort_stats(*self.sort_keys)
        stats.print_stats(*self.print_restrictions)
        print('--------------------------')
        if reset:
            self.reset_stats()