You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2021/05/22 04:08:19 UTC

[tomee-site-generator] branch master updated (c91e370 -> ec96862)

This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git.


    from c91e370  Updates the contributors.adoc page by using data retrieved via GitHub API
     new 799c171  JSON model for Github's contributor data
     new 64ddeb0  Ability to aggregate committer stats
     new 87b1d3e  Code to get all TomEE repositories
     new 50aa433  Move Contributors into contributors package
     new 5983f87  Move Contributor to a top level class. Rename Main to Github
     new 1e0eed4  Create a unique list of contributors from a list of duplicates
     new b5b5d66  Get the full list of contributors from Github or fallback
     new ec96862  Sort the contributors list by score

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml                                            |     5 +
 .../tomee/website/contributors/Contributor.java    |    61 +
 .../website/contributors/ContributorData.java      |   106 +
 .../website/{ => contributors}/Contributors.java   |    51 +-
 .../apache/tomee/website/contributors/Github.java  |   132 +
 .../apache/tomee/website/contributors/Stats.java   |    66 +
 src/main/jbake/templates/contributors.gsp          |     2 +-
 .../website/contributors/ContributorDataTest.java  |    63 +
 .../website/contributors/ContributorTest.java      |    86 +
 .../tomee/website/contributors/StatsTest.java      |    57 +
 src/test/resources/contributor-data.json           | 14762 +++++++++++++++++++
 11 files changed, 15377 insertions(+), 14 deletions(-)
 create mode 100644 src/main/java/org/apache/tomee/website/contributors/Contributor.java
 create mode 100644 src/main/java/org/apache/tomee/website/contributors/ContributorData.java
 rename src/main/java/org/apache/tomee/website/{ => contributors}/Contributors.java (66%)
 create mode 100644 src/main/java/org/apache/tomee/website/contributors/Github.java
 create mode 100644 src/main/java/org/apache/tomee/website/contributors/Stats.java
 create mode 100644 src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java
 create mode 100644 src/test/java/org/apache/tomee/website/contributors/ContributorTest.java
 create mode 100644 src/test/java/org/apache/tomee/website/contributors/StatsTest.java
 create mode 100644 src/test/resources/contributor-data.json

[tomee-site-generator] 02/08: Ability to aggregate committer stats

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit 64ddeb048d47edb2824f784b4124a94484b9d8b8
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 18:23:33 2021 -0700

    Ability to aggregate committer stats
---
 .../website/contributors/ContributorData.java      |  7 +++
 .../apache/tomee/website/contributors/Stats.java   | 66 ++++++++++++++++++++++
 .../website/contributors/ContributorDataTest.java  | 17 ++++++
 .../tomee/website/contributors/StatsTest.java      | 57 +++++++++++++++++++
 4 files changed, 147 insertions(+)

diff --git a/src/main/java/org/apache/tomee/website/contributors/ContributorData.java b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
index 93b7078..3ace899 100644
--- a/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
+++ b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
@@ -41,6 +41,13 @@ public class ContributorData {
     @JsonbProperty("weeks")
     private List<Week> weeks;
 
+    public Stats getStats() {
+        return weeks.stream()
+                .map(week -> new Stats(week.c, week.a, week.d))
+                .reduce(Stats::add)
+                .orElse(new Stats(0, 0, 0));
+    }
+
     @Data
     @NoArgsConstructor
     @AllArgsConstructor
diff --git a/src/main/java/org/apache/tomee/website/contributors/Stats.java b/src/main/java/org/apache/tomee/website/contributors/Stats.java
new file mode 100644
index 0000000..e035c72
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/contributors/Stats.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import lombok.Data;
+
+/**
+ * We add a contributor's commits, lines added and lines removed together
+ * across all repos to create an overall score that is used to sort contributors.
+ */
+@Data
+@lombok.Builder(builderClassName = "Builder", toBuilder = true)
+public class Stats {
+    private final int commits;
+    private final int linesAdded;
+    private final int linesRemoved;
+
+    /**
+     * Aggregate the stats from one git repo with the same
+     * contributors stats on another repo
+     */
+    public Stats add(final Stats that) {
+        return new Stats(
+                this.commits + that.commits,
+                this.linesAdded + that.linesAdded,
+                this.linesRemoved + that.linesRemoved);
+    }
+
+    public Stats max(final Stats that) {
+        return new Stats(
+                Math.max(this.commits, that.commits),
+                Math.max(this.linesAdded, that.linesAdded),
+                Math.max(this.linesRemoved, that.linesRemoved));
+    }
+
+    /**
+     * Assumes this instance of Stats holds the max (highest)
+     * possible values for commits, lines added, and lines removed.
+     *
+     * The passed in stats will be evaluated against these numbers
+     * a percentage (0-100) will be returned.  The return value is
+     * intentionally an int so it can easily be used for sorting.
+     */
+    public int score(final Stats that) {
+        final double commitsPercentage = that.commits / (double) this.commits;
+        final double linesAddedPercentage = that.linesAdded / (double) this.linesAdded;
+        final double linesRemovedPercentage = that.linesRemoved / (double) this.linesRemoved;
+        final double average = (commitsPercentage + linesAddedPercentage + linesRemovedPercentage) / 3;
+
+        return (int) Math.round(average * 100);
+    }
+}
diff --git a/src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java b/src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java
index 4cf0f93..5669e44 100644
--- a/src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java
+++ b/src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java
@@ -43,4 +43,21 @@ public class ContributorDataTest {
         assertEquals(6, data[3].getWeeks().get(135).getC());
     }
 
+    @Test
+    public void getStats() throws Exception {
+
+        final URL resource = this.getClass().getClassLoader().getResource("contributor-data.json");
+        final String json = IO.slurp(resource);
+        final Jsonb jsonb = JsonbBuilder.create();
+        final ContributorData[] data = jsonb.fromJson(json, ContributorData[].class);
+
+        assertEquals(12, data.length);
+        assertEquals("djencks", data[3].getAuthor().getLogin());
+
+        final Stats stats = data[3].getStats();
+        assertEquals(36, stats.getCommits());
+        assertEquals(35243, stats.getLinesAdded());
+        assertEquals(25020, stats.getLinesRemoved());
+    }
+
 }
diff --git a/src/test/java/org/apache/tomee/website/contributors/StatsTest.java b/src/test/java/org/apache/tomee/website/contributors/StatsTest.java
new file mode 100644
index 0000000..8e4424d
--- /dev/null
+++ b/src/test/java/org/apache/tomee/website/contributors/StatsTest.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class StatsTest {
+
+    @Test
+    public void add() {
+        final Stats a = new Stats(3, 5, 7);
+        final Stats b = new Stats(11, 13, 17);
+
+        final Stats c = a.add(b);
+        assertEquals(14, c.getCommits());
+        assertEquals(18, c.getLinesAdded());
+        assertEquals(24, c.getLinesRemoved());
+    }
+
+    @Test
+    public void max() {
+        final Stats a = new Stats(157, 241, 37);
+        final Stats b = new Stats(211, 113, 23);
+
+        final Stats c = a.max(b);
+        assertEquals(211, c.getCommits());
+        assertEquals(241, c.getLinesAdded());
+        assertEquals(37, c.getLinesRemoved());
+    }
+
+    @Test
+    public void score() {
+        final Stats max = new Stats(157, 241, 37);
+
+        assertEquals(0, max.score(new Stats(0, 0, 0)));
+        assertEquals(33, max.score(new Stats(157, 0, 0)));
+        assertEquals(67, max.score(new Stats(157, 241, 0)));
+        assertEquals(100, max.score(new Stats(157, 241, 37)));
+        assertEquals(43, max.score(new Stats(50, 40, 30)));
+    }
+}

[tomee-site-generator] 06/08: Create a unique list of contributors from a list of duplicates

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit 1e0eed4c9a0f95ec26ba7c53e30716342a54d97c
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 20:01:07 2021 -0700

    Create a unique list of contributors from a list of duplicates
---
 .../org/apache/tomee/website/Configuration.java    |  2 +-
 .../tomee/website/contributors/Contributor.java    | 31 ++++++++
 .../website/contributors/ContributorData.java      | 15 ++++
 .../website/contributors/ContributorTest.java      | 86 ++++++++++++++++++++++
 4 files changed, 133 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/tomee/website/Configuration.java b/src/main/java/org/apache/tomee/website/Configuration.java
index d137778..9323bfe 100644
--- a/src/main/java/org/apache/tomee/website/Configuration.java
+++ b/src/main/java/org/apache/tomee/website/Configuration.java
@@ -89,7 +89,7 @@ public class Configuration {
                 new Source("https://github.com/eclipse-ee4j/websocket-api.git", "master", "websocket-api-ee9")
         };
 
-//        if (1 == 1) return new Source[0];
+        if (1 == 1) return new Source[0];
         return new Source[]{
 //                new Source("https://github.com/apache/tomee.git", "master", "tomee-8.0"),
                 new Source("https://github.com/apache/tomee.git", "master", "tomee-9.0").label("milestone").related(microProfile2).related(jakartaEE9).javadoc("^org.apache.(openejb|tomee).*"),
diff --git a/src/main/java/org/apache/tomee/website/contributors/Contributor.java b/src/main/java/org/apache/tomee/website/contributors/Contributor.java
index bdfa002..0ff60aa 100644
--- a/src/main/java/org/apache/tomee/website/contributors/Contributor.java
+++ b/src/main/java/org/apache/tomee/website/contributors/Contributor.java
@@ -19,6 +19,10 @@ package org.apache.tomee.website.contributors;
 import lombok.Builder;
 import lombok.Data;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 @Data
 @Builder
 public class Contributor {
@@ -27,4 +31,31 @@ public class Contributor {
     private String name;
     private String github;
     private String avatar;
+    private Stats stats;
+
+    public Contributor add(final Contributor that) {
+        return new Contributor(id, committer, name, github, avatar, stats.add(that.stats));
+    }
+
+    /**
+     * Take the specified list of Contributors, which may have duplicates, and
+     * combine each duplicate down to one Contributor instance while keeping a
+     * total of all their stats.
+     */
+    public static List<Contributor> unique(final List<Contributor> listWithDuplicates) {
+        final Map<String, List<Contributor>> map = listWithDuplicates.stream()
+                .collect(Collectors.groupingBy(Contributor::getName));
+
+        return map.values().stream()
+                .map(Contributor::reduce)
+                .collect(Collectors.toList());
+    }
+
+    private static Contributor reduce(final List<Contributor> instances) {
+        return instances.stream()
+                .reduce(Contributor::add)
+                .orElseThrow(IllegalStateException::new);
+    }
+
+
 }
diff --git a/src/main/java/org/apache/tomee/website/contributors/ContributorData.java b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
index 3ace899..4a6bfa3 100644
--- a/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
+++ b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
@@ -48,6 +48,21 @@ public class ContributorData {
                 .orElse(new Stats(0, 0, 0));
     }
 
+    /**
+     * Convert the ContributorData to a Contributor instance
+     */
+    public Contributor asContributor() {
+        final ContributorData.Author author = this.getAuthor();
+
+        return Contributor.builder()
+                .id(author.getId() + "")
+                .name(author.getLogin())
+                .github("https://github.com/" + author.getLogin())
+                .avatar(author.getAvatar())
+                .stats(this.getStats())
+                .build();
+    }
+
     @Data
     @NoArgsConstructor
     @AllArgsConstructor
diff --git a/src/test/java/org/apache/tomee/website/contributors/ContributorTest.java b/src/test/java/org/apache/tomee/website/contributors/ContributorTest.java
new file mode 100644
index 0000000..51da5d1
--- /dev/null
+++ b/src/test/java/org/apache/tomee/website/contributors/ContributorTest.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import org.apache.openejb.loader.IO;
+import org.junit.Test;
+
+import javax.json.bind.Jsonb;
+import javax.json.bind.JsonbBuilder;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import static org.junit.Assert.assertEquals;
+
+public class ContributorTest {
+
+    @Test
+    public void unique() throws IOException {
+        final URL resource = this.getClass().getClassLoader().getResource("contributor-data.json");
+        final String json = IO.slurp(resource);
+        final Jsonb jsonb = JsonbBuilder.create();
+        final ContributorData[] data = jsonb.fromJson(json, ContributorData[].class);
+
+        final List<ContributorData> list = new ArrayList<>(Arrays.asList(data));
+        list.add(data[3]); // djencks
+        list.add(data[5]); // rzo1
+        list.add(data[5]); // rzo1
+        list.add(data[5]); // rzo1
+        list.add(data[10]); // dblevins
+
+        final List<Contributor> duplicates = list.stream()
+                .map(ContributorData::asContributor)
+                .collect(Collectors.toList());
+
+        final List<Contributor> unique = Contributor.unique(duplicates);
+        final Map<String, Contributor> map = unique.stream().collect(Collectors.toMap(Contributor::getName, Function.identity()));
+        
+        assertEquals(17, duplicates.size());
+        assertEquals(12, unique.size());
+        assertEquals(12, map.size());
+
+        final Contributor djencks = map.get("djencks");
+        assertEquals("djencks", djencks.getName());
+        assertEquals(72, djencks.getStats().getCommits());
+        assertEquals(70486, djencks.getStats().getLinesAdded());
+        assertEquals(50040, djencks.getStats().getLinesRemoved());
+
+        final Contributor rzo1 = map.get("rzo1");
+        assertEquals("rzo1", rzo1.getName());
+        assertEquals(48, rzo1.getStats().getCommits());
+        assertEquals(5952, rzo1.getStats().getLinesAdded());
+        assertEquals(4164, rzo1.getStats().getLinesRemoved());
+
+        final Contributor dblevins = map.get("dblevins");
+        assertEquals("dblevins", dblevins.getName());
+        assertEquals(158, dblevins.getStats().getCommits());
+        assertEquals(88898, dblevins.getStats().getLinesAdded());
+        assertEquals(139256, dblevins.getStats().getLinesRemoved());
+
+        final Contributor cesarhernandezgt = map.get("cesarhernandezgt");
+        assertEquals("cesarhernandezgt", cesarhernandezgt.getName());
+        assertEquals(14, cesarhernandezgt.getStats().getCommits());
+        assertEquals(1073, cesarhernandezgt.getStats().getLinesAdded());
+        assertEquals(356, cesarhernandezgt.getStats().getLinesRemoved());
+    }
+}

[tomee-site-generator] 01/08: JSON model for Github's contributor data

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit 799c171b7a4e7567ad413e271d5f233845459b2c
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 18:11:52 2021 -0700

    JSON model for Github's contributor data
---
 pom.xml                                            |     5 +
 .../website/contributors/ContributorData.java      |    84 +
 .../website/contributors/ContributorDataTest.java  |    46 +
 src/test/resources/contributor-data.json           | 14762 +++++++++++++++++++
 4 files changed, 14897 insertions(+)

diff --git a/pom.xml b/pom.xml
index fcf0c73..38bf22d 100755
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,11 @@
       <version>1.2.11</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jsonb</artifactId>
+      <version>1.2.11</version>
+    </dependency>
+    <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-client</artifactId>
       <version>3.4.3</version>
diff --git a/src/main/java/org/apache/tomee/website/contributors/ContributorData.java b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
new file mode 100644
index 0000000..93b7078
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.json.bind.annotation.JsonbProperty;
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@EqualsAndHashCode(onlyExplicitlyIncluded = true)
+public class ContributorData {
+
+    @JsonbProperty("total")
+    private int total;
+
+    @JsonbProperty("author")
+    private Author author;
+
+    @JsonbProperty("weeks")
+    private List<Week> weeks;
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Builder
+    @EqualsAndHashCode(onlyExplicitlyIncluded = true)
+    public static class Author {
+        @JsonbProperty("id")
+        private int id;
+
+        @JsonbProperty("login")
+        private String login;
+
+        @JsonbProperty("avatar")
+        private String avatar;
+
+        @JsonbProperty("path")
+        private String path;
+
+        @JsonbProperty("hovercard_url")
+        private String hovercardUrl;
+    }
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Builder
+    @EqualsAndHashCode(onlyExplicitlyIncluded = true)
+    public static class Week {
+        @JsonbProperty("w")
+        private long w;
+
+        @JsonbProperty("a")
+        private int a;
+
+        @JsonbProperty("d")
+        private int d;
+
+        @JsonbProperty("c")
+        private int c;
+    }
+}
diff --git a/src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java b/src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java
new file mode 100644
index 0000000..4cf0f93
--- /dev/null
+++ b/src/test/java/org/apache/tomee/website/contributors/ContributorDataTest.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import org.apache.openejb.loader.IO;
+import org.junit.Test;
+
+import javax.json.bind.Jsonb;
+import javax.json.bind.JsonbBuilder;
+import java.net.URL;
+
+import static org.junit.Assert.assertEquals;
+
+public class ContributorDataTest {
+
+    @Test
+    public void read() throws Exception {
+
+        final URL resource = this.getClass().getClassLoader().getResource("contributor-data.json");
+        final String json = IO.slurp(resource);
+        final Jsonb jsonb = JsonbBuilder.create();
+        final ContributorData[] data = jsonb.fromJson(json, ContributorData[].class);
+
+        assertEquals(12, data.length);
+        assertEquals("djencks", data[3].getAuthor().getLogin());
+        assertEquals(36, data[3].getTotal());
+        assertEquals(19581, data[3].getWeeks().get(135).getA());
+        assertEquals(9998, data[3].getWeeks().get(135).getD());
+        assertEquals(6, data[3].getWeeks().get(135).getC());
+    }
+
+}
diff --git a/src/test/resources/contributor-data.json b/src/test/resources/contributor-data.json
new file mode 100644
index 0000000..2510473
--- /dev/null
+++ b/src/test/resources/contributor-data.json
@@ -0,0 +1,14762 @@
+[
+  {
+    "total": 1,
+    "author": {
+      "id": 7949105,
+      "login": "kaminfeuer",
+      "avatar": "https://avatars.githubusercontent.com/u/7949105?s=60&v=4",
+      "path": "/kaminfeuer",
+      "hovercard_url": "/users/kaminfeuer/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540080000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544313600,
+        "a": 147,
+        "d": 49,
+        "c": 1
+      },
+      {
+        "w": 1544918400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1545523200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1559433600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581206400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581811200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1582416000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583020800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590883200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1620518400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1621123200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      }
+    ]
+  },
+  {
+    "total": 1,
+    "author": {
+      "id": 6817157,
+      "login": "j4fm",
+      "avatar": "https://avatars.githubusercontent.com/u/6817157?s=60&v=4",
+      "path": "/j4fm",
+      "hovercard_url": "/users/j4fm/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540080000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544313600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544918400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1545523200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 33,
+        "d": 17,
+        "c": 1
+      },
+      {
+        "w": 1559433600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581206400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581811200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1582416000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583020800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590883200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1620518400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1621123200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      }
+    ]
+  },
+  {
+    "total": 29,
+    "author": {
+      "id": 548624,
+      "login": "jgallimore",
+      "avatar": "https://avatars.githubusercontent.com/u/548624?s=60&v=4",
+      "path": "/jgallimore",
+      "hovercard_url": "/users/jgallimore/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 75,
+        "d": 49,
+        "c": 3
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 17,
+        "d": 3,
+        "c": 1
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 41,
+        "d": 17,
+        "c": 4
+      },
+      {
+        "w": 1540080000,
+        "a": 14,
+        "d": 14,
+        "c": 1
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544313600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544918400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1545523200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 33,
+        "d": 21,
+        "c": 1
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1559433600,
+        "a": 30,
+        "d": 30,
+        "c": 2
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 56,
+        "d": 27,
+        "c": 1
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 67,
+        "d": 67,
+        "c": 2
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 70,
+        "d": 62,
+        "c": 3
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 83,
+        "d": 36,
+        "c": 1
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581206400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581811200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1582416000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583020800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 7,
+        "d": 9,
+        "c": 2
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 88,
+        "d": 43,
+        "c": 1
+      },
+      {
+        "w": 1590883200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 103,
+        "d": 74,
+        "c": 3
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 48,
+        "d": 21,
+        "c": 1
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 206,
+        "d": 156,
+        "c": 2
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 36,
+        "d": 22,
+        "c": 1
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1620518400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1621123200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      }
+    ]
+  },
+  {
+    "total": 36,
+    "author": {
+      "id": 569822,
+      "login": "djencks",
+      "avatar": "https://avatars.githubusercontent.com/u/569822?s=60&v=4",
+      "path": "/djencks",
+      "hovercard_url": "/users/djencks/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540080000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544313600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544918400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1545523200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1559433600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 19581,
+        "d": 9998,
+        "c": 6
+      },
+      {
+        "w": 1581206400,
+        "a": 12626,
+        "d": 12610,
+        "c": 5
+      },
+      {
+        "w": 1581811200,
+        "a": 655,
+        "d": 443,
+        "c": 16
+      },
+      {
+        "w": 1582416000,
+        "a": 172,
+        "d": 0,
+        "c": 1
+      },
+      {
+        "w": 1583020800,
+        "a": 2209,
+        "d": 1969,
+        "c": 8
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590883200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1620518400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1621123200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      }
+    ]
+  },
+  {
+    "total": 4,
+    "author": {
+      "id": 1249546,
+      "login": "rmannibucau",
+      "avatar": "https://avatars.githubusercontent.com/u/1249546?s=60&v=4",
+      "path": "/rmannibucau",
+      "hovercard_url": "/users/rmannibucau/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 59465,
+        "d": 26,
+        "c": 4
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540080000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544313600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544918400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1545523200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1559433600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581206400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581811200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1582416000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583020800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590883200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1620518400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1621123200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      }
+    ]
+  },
+  {
+    "total": 12,
+    "author": {
+      "id": 13417392,
+      "login": "rzo1",
+      "avatar": "https://avatars.githubusercontent.com/u/13417392?s=60&v=4",
+      "path": "/rzo1",
+      "hovercard_url": "/users/rzo1/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540080000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544313600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544918400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1545523200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1559433600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581206400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581811200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1582416000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583020800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590883200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 64,
+        "d": 58,
+        "c": 3
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 1186,
+        "d": 761,
+        "c": 3
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1620518400,
+        "a": 11,
+        "d": 6,
+        "c": 1
+      },
+      {
+        "w": 1621123200,
+        "a": 227,
+        "d": 216,
+        "c": 5
+      }
+    ]
+  },
+  {
+    "total": 5,
+    "author": {
+      "id": 8139890,
+      "login": "Daniel-Dos",
+      "avatar": "https://avatars.githubusercontent.com/u/8139890?s=60&v=4",
+      "path": "/Daniel-Dos",
+      "hovercard_url": "/users/Daniel-Dos/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540080000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 15,
+        "d": 15,
+        "c": 2
+      },
+      {
+        "w": 1544313600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544918400,
+        "a": 8,
+        "d": 0,
+        "c": 1
+      },
+      {
+        "w": 1545523200,
+        "a": 76,
+        "d": 76,
+        "c": 1
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1559433600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581206400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581811200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1582416000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583020800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590883200,
+        "a": 1,
+        "d": 1,
+        "c": 1
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1620518400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1621123200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      }
+    ]
+  },
+  {
+    "total": 2,
+    "author": {
+      "id": 12471122,
+      "login": "sendilkumarn",
+      "avatar": "https://avatars.githubusercontent.com/u/12471122?s=60&v=4",
+      "path": "/sendilkumarn",
+      "hovercard_url": "/users/sendilkumarn/hovercard"
+    },
+    "weeks": [
+      {
+        "w": 1498953600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1499558400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500163200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1500768000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501372800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1501977600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1502582400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503187200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1503792000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1504396800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505001600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1505606400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506211200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1506816000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1507420800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508025600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1508630400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509235200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1509840000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1510444800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511049600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1511654400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512259200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1512864000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1513468800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514073600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1514678400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515283200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1515888000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1516492800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517097600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1517702400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518307200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1518912000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1519516800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520121600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1520726400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521331200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1521936000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1522540800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523145600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1523750400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524355200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1524960000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1525564800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526169600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1526774400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527379200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1527984000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1528588800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529193600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1529798400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1530403200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531008000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1531612800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532217600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1532822400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1533427200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534032000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1534636800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535241600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1535846400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1536451200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537056000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1537660800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538265600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1538870400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1539475200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540080000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1540684800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541289600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1541894400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1542499200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543104000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1543708800,
+        "a": 18,
+        "d": 17,
+        "c": 2
+      },
+      {
+        "w": 1544313600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1544918400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1545523200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546128000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1546732800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547337600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1547942400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1548547200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549152000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1549756800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550361600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1550966400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1551571200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552176000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1552780800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553385600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1553990400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1554595200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555200000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1555804800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1556409600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557014400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1557619200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558224000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1558828800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1559433600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560038400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1560643200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561248000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1561852800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1562457600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563062400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1563667200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564272000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1564876800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1565481600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566086400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1566691200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567296000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1567900800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1568505600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569110400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1569715200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570320000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1570924800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1571529600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572134400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1572739200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573344000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1573948800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1574553600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575158400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1575763200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576368000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1576972800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1577577600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578182400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1578787200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579392000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1579996800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1580601600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581206400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1581811200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1582416000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583020800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1583625600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584230400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1584835200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1585440000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586044800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1586649600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587254400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1587859200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1588464000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589068800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1589673600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590278400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1590883200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1591488000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592092800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1592697600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593302400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1593907200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1594512000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595116800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1595721600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596326400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1596931200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1597536000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598140800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1598745600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599350400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1599955200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1600560000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601164800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1601769600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602374400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1602979200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1603584000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604188800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1604793600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1605398400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606003200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1606608000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607212800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1607817600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1608422400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609027200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1609632000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610236800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1610841600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1611446400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612051200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1612656000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613260800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1613865600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1614470400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615075200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1615680000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616284800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1616889600,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1617494400,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618099200,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1618704000,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619308800,
+        "a": 0,
+        "d": 0,
+        "c": 0
+      },
+      {
+        "w": 1619913600,
+        "a": 0,
... 4939 lines suppressed ...

[tomee-site-generator] 04/08: Move Contributors into contributors package

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit 50aa433fcd5f288c0db543a43811874ea8a0fdf6
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 18:45:28 2021 -0700

    Move Contributors into contributors package
---
 .../java/org/apache/tomee/website/{ => contributors}/Contributors.java  | 2 +-
 src/main/jbake/templates/contributors.gsp                               | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/tomee/website/Contributors.java b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
similarity index 98%
rename from src/main/java/org/apache/tomee/website/Contributors.java
rename to src/main/java/org/apache/tomee/website/contributors/Contributors.java
index f529506..ae95936 100755
--- a/src/main/java/org/apache/tomee/website/Contributors.java
+++ b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tomee.website;
+package org.apache.tomee.website.contributors;
 
 import lombok.Builder;
 import lombok.Data;
diff --git a/src/main/jbake/templates/contributors.gsp b/src/main/jbake/templates/contributors.gsp
index 8e8d40f..afd4fb3 100755
--- a/src/main/jbake/templates/contributors.gsp
+++ b/src/main/jbake/templates/contributors.gsp
@@ -19,7 +19,7 @@
               <div class="text-center" style="padding-bottom: 2em;">We want to thank the following individuals for contributing to Apache TomEE. An up to date contributor list can be found <a href="https://github.com/apache/tomee/graphs/contributors">here</a>. The current list of committers can be found <a href="https://projects.apache.org/committee.html?tomee">here</a>.</div>
               <ul>
                 <%
-                    org.apache.tomee.website.Contributors.load(content.body).each {contributor ->
+                    org.apache.tomee.website.contributors.Contributors.load(content.body).each { contributor ->
                 %>
                   <div class="col-sm-4">
                     <div class="photo col-sm-5">

[tomee-site-generator] 08/08: Sort the contributors list by score

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit ec968626510cf5356db69276c940875873d961a4
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 21:08:02 2021 -0700

    Sort the contributors list by score
---
 .../org/apache/tomee/website/Configuration.java    |  2 +-
 .../tomee/website/contributors/Contributors.java   | 23 +++++++++++++++++++++-
 .../apache/tomee/website/contributors/Stats.java   |  2 +-
 .../tomee/website/contributors/StatsTest.java      |  8 ++++----
 4 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/apache/tomee/website/Configuration.java b/src/main/java/org/apache/tomee/website/Configuration.java
index 9323bfe..d137778 100644
--- a/src/main/java/org/apache/tomee/website/Configuration.java
+++ b/src/main/java/org/apache/tomee/website/Configuration.java
@@ -89,7 +89,7 @@ public class Configuration {
                 new Source("https://github.com/eclipse-ee4j/websocket-api.git", "master", "websocket-api-ee9")
         };
 
-        if (1 == 1) return new Source[0];
+//        if (1 == 1) return new Source[0];
         return new Source[]{
 //                new Source("https://github.com/apache/tomee.git", "master", "tomee-8.0"),
                 new Source("https://github.com/apache/tomee.git", "master", "tomee-9.0").label("milestone").related(microProfile2).related(jakartaEE9).javadoc("^org.apache.(openejb|tomee).*"),
diff --git a/src/main/java/org/apache/tomee/website/contributors/Contributors.java b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
index 8718b4b..1c26dee 100755
--- a/src/main/java/org/apache/tomee/website/contributors/Contributors.java
+++ b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
@@ -55,7 +55,8 @@ public class Contributors {
          * Try getting the full list from Github across all repositories
          */
         try {
-            return new Github().getContributors();
+            final List<Contributor> contributors = new Github().getContributors();
+            return sort(contributors);
         } catch (Exception e) {
             log.log(Level.SEVERE, "Unable to fetch contributors from github.com", e);
         }
@@ -94,4 +95,24 @@ public class Contributors {
         return contributors;
     }
 
+    public static List<Contributor> sort(final List<Contributor> list) {
+        final Stats max = list.stream()
+                .map(Contributor::getStats)
+                .reduce(Stats::max)
+                .orElse(new Stats(0, 0, 0));
+
+        list.sort(Comparator.<Contributor, Integer>comparing(contributor -> max.score(contributor.getStats())).reversed());
+
+        final boolean debug = false;
+        if (debug){
+            for (final Contributor contributor : list) {
+                final Stats stats = contributor.getStats();
+                System.out.printf("Contributor: %-7s %-20s %5s %7s %7s%n",
+                        max.score(contributor.getStats()), contributor.getName(),
+                        stats.getCommits(), stats.getLinesAdded(),
+                        stats.getLinesRemoved());
+            }
+        }
+        return list;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/org/apache/tomee/website/contributors/Stats.java b/src/main/java/org/apache/tomee/website/contributors/Stats.java
index e035c72..447c7e0 100644
--- a/src/main/java/org/apache/tomee/website/contributors/Stats.java
+++ b/src/main/java/org/apache/tomee/website/contributors/Stats.java
@@ -61,6 +61,6 @@ public class Stats {
         final double linesRemovedPercentage = that.linesRemoved / (double) this.linesRemoved;
         final double average = (commitsPercentage + linesAddedPercentage + linesRemovedPercentage) / 3;
 
-        return (int) Math.round(average * 100);
+        return (int) Math.round(average * 1000000);
     }
 }
diff --git a/src/test/java/org/apache/tomee/website/contributors/StatsTest.java b/src/test/java/org/apache/tomee/website/contributors/StatsTest.java
index 8e4424d..f66efb7 100644
--- a/src/test/java/org/apache/tomee/website/contributors/StatsTest.java
+++ b/src/test/java/org/apache/tomee/website/contributors/StatsTest.java
@@ -49,9 +49,9 @@ public class StatsTest {
         final Stats max = new Stats(157, 241, 37);
 
         assertEquals(0, max.score(new Stats(0, 0, 0)));
-        assertEquals(33, max.score(new Stats(157, 0, 0)));
-        assertEquals(67, max.score(new Stats(157, 241, 0)));
-        assertEquals(100, max.score(new Stats(157, 241, 37)));
-        assertEquals(43, max.score(new Stats(50, 40, 30)));
+        assertEquals(333333, max.score(new Stats(157, 0, 0)));
+        assertEquals(666667, max.score(new Stats(157, 241, 0)));
+        assertEquals(1000000, max.score(new Stats(157, 241, 37)));
+        assertEquals(431752, max.score(new Stats(50, 40, 30)));
     }
 }

[tomee-site-generator] 03/08: Code to get all TomEE repositories

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit 87b1d3e925ba209f49c8aae7269572682515f4b4
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 18:38:33 2021 -0700

    Code to get all TomEE repositories
---
 .../apache/tomee/website/contributors/Main.java    | 74 ++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/src/main/java/org/apache/tomee/website/contributors/Main.java b/src/main/java/org/apache/tomee/website/contributors/Main.java
new file mode 100644
index 0000000..1b89fa8
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/contributors/Main.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import lombok.Builder;
+import lombok.Data;
+import org.apache.johnzon.jaxrs.JohnzonProvider;
+import org.apache.openejb.loader.IO;
+import org.tomitribe.swizzle.stream.StreamBuilder;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.WebTarget;
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class Main {
+    private final Client client = ClientBuilder.newClient().register(new JohnzonProvider<>());
+
+    public static void main(String[] args) throws IOException {
+        new Main().main();
+    }
+
+    private void main() throws IOException {
+
+
+        // Get Apache list of committers and PMC members
+        // Get list of TomEE repos in the Apache org
+        // Get Github contributors for each tomee repo
+        // Override some specific images
+        // Sort by commits
+
+        final List<URI> hrefs = getRepositoryURIs();
+
+    }
+
+    /**
+     * List all the repositories for Apache TomEE
+     */
+    private List<URI> getRepositoryURIs() throws IOException {
+        final WebTarget github = client.target("https://github.com");
+        final String content = github.path("/apache").queryParam("q", "tomee").request().get(String.class);
+        final List<String> links = new ArrayList<String>();
+        StreamBuilder.create(IO.read(content))
+                .watch("href=\"/apache/tomee", "\"", links::add)
+                .run();
+
+        return links.stream()
+                .filter(s -> !s.contains("/"))
+                .filter(s -> !s.equals("-site-pub"))
+                .distinct()
+                .map(s -> "https://github.com/apache/tomee" + s)
+                .map(URI::create)
+                .collect(Collectors.toList());
+    }
+
+}

[tomee-site-generator] 07/08: Get the full list of contributors from Github or fallback

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit b5b5d66f7f4b80ec95371eb8d3502d0ae8c6ae2b
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 20:32:54 2021 -0700

    Get the full list of contributors from Github or fallback
---
 .../website/contributors/ContributorData.java      |   2 +-
 .../tomee/website/contributors/Contributors.java   |  16 +++
 .../apache/tomee/website/contributors/Github.java  | 132 +++++++++++++++++++++
 .../apache/tomee/website/contributors/Main.java    |  74 ------------
 4 files changed, 149 insertions(+), 75 deletions(-)

diff --git a/src/main/java/org/apache/tomee/website/contributors/ContributorData.java b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
index 4a6bfa3..ccea200 100644
--- a/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
+++ b/src/main/java/org/apache/tomee/website/contributors/ContributorData.java
@@ -58,7 +58,7 @@ public class ContributorData {
                 .id(author.getId() + "")
                 .name(author.getLogin())
                 .github("https://github.com/" + author.getLogin())
-                .avatar(author.getAvatar())
+                .avatar("https://avatars.githubusercontent.com/u/" + author.getId() + "?v=4")
                 .stats(this.getStats())
                 .build();
     }
diff --git a/src/main/java/org/apache/tomee/website/contributors/Contributors.java b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
index a70b25e..8718b4b 100755
--- a/src/main/java/org/apache/tomee/website/contributors/Contributors.java
+++ b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
@@ -27,8 +27,12 @@ import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 public class Contributors {
+    private static final Logger log = Logger.getLogger(Github.class.getName());
+
     private Contributors() {
         // no-op
     }
@@ -47,6 +51,18 @@ public class Contributors {
     }
 
     public static Collection<Contributor> load(final String contributorsList) throws IOException { // used in page.gsp
+        /*
+         * Try getting the full list from Github across all repositories
+         */
+        try {
+            return new Github().getContributors();
+        } catch (Exception e) {
+            log.log(Level.SEVERE, "Unable to fetch contributors from github.com", e);
+        }
+
+        /*
+         * Fallback to our cached list
+         */
         final List<Contributor> contributors = new ArrayList<>();
         final ExecutorService es = Executors.newFixedThreadPool(16);
         final String rawList = contributorsList.substring(contributorsList.indexOf("<pre>") + "<pre>".length(), contributorsList.indexOf("</pre>"));
diff --git a/src/main/java/org/apache/tomee/website/contributors/Github.java b/src/main/java/org/apache/tomee/website/contributors/Github.java
new file mode 100644
index 0000000..bc1d4a2
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/contributors/Github.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import org.apache.johnzon.jaxrs.JohnzonProvider;
+import org.apache.openejb.loader.IO;
+import org.tomitribe.swizzle.stream.StreamBuilder;
+import sun.rmi.runtime.Log;
+
+import javax.json.bind.Jsonb;
+import javax.json.bind.JsonbBuilder;
+import javax.json.bind.JsonbException;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UncheckedIOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.logging.Logger;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class Github {
+
+    private static final Logger log = Logger.getLogger(Github.class.getName());
+    private final Client client = ClientBuilder.newClient().register(new JohnzonProvider<>());
+
+    public List<Contributor> getContributors() {
+        final List<URI> repositoryURIs = getRepositoryURIs();
+        final List<Contributor> list = repositoryURIs.stream()
+                .map(this::getContributorsForRepository)
+                .flatMap(Collection::stream)
+                .collect(Collectors.toList());
+
+        return Contributor.unique(list);
+    }
+
+    /**
+     * List all the repositories for Apache TomEE
+     */
+    public List<URI> getRepositoryURIs() {
+        try {
+            final WebTarget github = client.target("https://github.com");
+            final String content = github.path("/apache").queryParam("q", "tomee").request().get(String.class);
+            final List<String> links = new ArrayList<String>();
+            StreamBuilder.create(IO.read(content))
+                    .watch("href=\"/apache/tomee", "\"", links::add)
+                    .run();
+
+            return links.stream()
+                    .filter(s -> !s.contains("/"))
+                    .filter(s -> !s.equals("-site-pub"))
+                    .distinct()
+                    .map(s -> "https://github.com/apache/tomee" + s)
+                    .map(URI::create)
+                    .collect(Collectors.toList());
+        } catch (IOException e) {
+            throw new UncheckedIOException("Unable to list TomEE repositories", e);
+        }
+    }
+
+    /**
+     * Get the contributor-data json for the specified repository
+     */
+    private List<Contributor> getContributorsForRepository(final URI repositoryUri) {
+        final Response response = client.target(repositoryUri.toASCIIString())
+                .path("graphs/contributors-data")
+                .request()
+                .header("referer", repositoryUri.toASCIIString() + "/graphs/contributors")
+                .header("authority", "github.com")
+                .header("pragma", "no-cache")
+                .header("cache-control", "no-cache")
+                .header("sec-ch-ua", "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"90\", \"Google Chrome\";v=\"90\"")
+                .header("accept", "application/json")
+                .header("sec-ch-ua-mobile", "?0")
+                .header("user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36")
+                .header("sec-fetch-site", "same-origin")
+                .header("sec-fetch-mode", "cors")
+                .header("sec-fetch-dest", "empty")
+                .header("accept-language", "en-US,en;q=0.9,es;q=0.8")
+                .get();
+
+        if (response.getStatus() != 200) {
+            log.severe("Unexpected status from " + repositoryUri + ": " + response.getStatus());
+            return Collections.EMPTY_LIST;
+        }
+
+        if (!response.getHeaderString("content-type").startsWith("application/json")) {
+            log.severe("Unexpected content-type from " + repositoryUri + ": " + response.getHeaderString("content-type"));
+            return Collections.EMPTY_LIST;
+        }
+        
+        final String json;
+        try {
+            json = IO.slurp((InputStream) response.getEntity());
+        } catch (IOException e) {
+            throw new UncheckedIOException("Unable to read response from " + repositoryUri, e);
+        }
+        
+        final ContributorData[] data;
+        try {
+            final Jsonb jsonb = JsonbBuilder.create();
+            data = jsonb.fromJson(json, ContributorData[].class);
+        } catch (final Exception e) {
+            throw new IllegalStateException("Unable to unmarshal response from " + repositoryUri + "\n\n" + json, e);
+        }
+        return Stream.of(data)
+                .map(ContributorData::asContributor)
+                .collect(Collectors.toList());
+    }
+
+}
diff --git a/src/main/java/org/apache/tomee/website/contributors/Main.java b/src/main/java/org/apache/tomee/website/contributors/Main.java
deleted file mode 100644
index 1b89fa8..0000000
--- a/src/main/java/org/apache/tomee/website/contributors/Main.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.tomee.website.contributors;
-
-import lombok.Builder;
-import lombok.Data;
-import org.apache.johnzon.jaxrs.JohnzonProvider;
-import org.apache.openejb.loader.IO;
-import org.tomitribe.swizzle.stream.StreamBuilder;
-
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import java.io.IOException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-public class Main {
-    private final Client client = ClientBuilder.newClient().register(new JohnzonProvider<>());
-
-    public static void main(String[] args) throws IOException {
-        new Main().main();
-    }
-
-    private void main() throws IOException {
-
-
-        // Get Apache list of committers and PMC members
-        // Get list of TomEE repos in the Apache org
-        // Get Github contributors for each tomee repo
-        // Override some specific images
-        // Sort by commits
-
-        final List<URI> hrefs = getRepositoryURIs();
-
-    }
-
-    /**
-     * List all the repositories for Apache TomEE
-     */
-    private List<URI> getRepositoryURIs() throws IOException {
-        final WebTarget github = client.target("https://github.com");
-        final String content = github.path("/apache").queryParam("q", "tomee").request().get(String.class);
-        final List<String> links = new ArrayList<String>();
-        StreamBuilder.create(IO.read(content))
-                .watch("href=\"/apache/tomee", "\"", links::add)
-                .run();
-
-        return links.stream()
-                .filter(s -> !s.contains("/"))
-                .filter(s -> !s.equals("-site-pub"))
-                .distinct()
-                .map(s -> "https://github.com/apache/tomee" + s)
-                .map(URI::create)
-                .collect(Collectors.toList());
-    }
-
-}

[tomee-site-generator] 05/08: Move Contributor to a top level class. Rename Main to Github

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-site-generator.git

commit 5983f870f479c8a94dc954db72079300c8bd4ef3
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri May 21 18:53:35 2021 -0700

    Move Contributor to a top level class. Rename Main to Github
---
 .../tomee/website/contributors/Contributor.java    | 30 ++++++++++++++++++++++
 .../tomee/website/contributors/Contributors.java   | 14 +---------
 2 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/apache/tomee/website/contributors/Contributor.java b/src/main/java/org/apache/tomee/website/contributors/Contributor.java
new file mode 100644
index 0000000..bdfa002
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/contributors/Contributor.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tomee.website.contributors;
+
+import lombok.Builder;
+import lombok.Data;
+
+@Data
+@Builder
+public class Contributor {
+    private String id;
+    private boolean committer;
+    private String name;
+    private String github;
+    private String avatar;
+}
diff --git a/src/main/java/org/apache/tomee/website/contributors/Contributors.java b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
index ae95936..a70b25e 100755
--- a/src/main/java/org/apache/tomee/website/contributors/Contributors.java
+++ b/src/main/java/org/apache/tomee/website/contributors/Contributors.java
@@ -16,9 +16,6 @@
  */
 package org.apache.tomee.website.contributors;
 
-import lombok.Builder;
-import lombok.Data;
-
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.StringReader;
@@ -77,17 +74,8 @@ public class Contributors {
             Thread.interrupted();
             return Collections.emptyList();
         }
-        Collections.sort(contributors, Comparator.comparing(o -> o.name));
+        Collections.sort(contributors, Comparator.comparing(Contributor::getName));
         return contributors;
     }
 
-    @Data
-    @Builder
-    public static class Contributor {
-        private String id;
-        private boolean committer;
-        private String name;
-        private String github;
-        private String avatar;
-    }
 }
\ No newline at end of file