code: func (s *RepositoriesService) ListPunchCard(ctx context.Context, owner, repo string) ([]*PunchCard, *Response, error) {
  	u := fmt.Sprintf("repos/%v/%v/stats/punch_card", owner, repo)
  	req, err := s.client.NewRequest("GET", u, nil)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	var results [][]int
  	resp, err := s.client.Do(ctx, req, &results)
  
  	// convert int slices into Punchcards
  	var cards []*PunchCard
  	for _, result := range results {
  		if len(result) != 3 {
  			continue
  		}
  		card := &PunchCard{
  			Day:     Int(result[0]),
  			Hour:    Int(result[1]),
  			Commits: Int(result[2]),
  		}
  		cards = append(cards, card)
  	}
  
  	return cards, resp, err
  }
docs: // ListPunchCard returns the number of commits per hour in each day.
  //
  // If this is the first time these statistics are requested for the given
  // repository, this method will return an *AcceptedError and a status code of
  // 202. This is because this is the status that GitHub returns to signify that
  // it is now computing the requested statistics. A follow up request, after a
  // delay of a second or so, should result in a successful request.
  //
  // GitHub API docs: https://developer.github.com/v3/repos/statistics/#punch-card