diff --git a/.gitignore b/.gitignore
index f40fbd8b..70c83fa7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ _site
.jekyll-cache
.jekyll-metadata
vendor
+.venv
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
index 441dd9e5..6fcb0995 100644
--- a/_config.yml
+++ b/_config.yml
@@ -6,5 +6,17 @@ theme: minima
baseurl: /plugo/
url: https://captnemo.in
timezone: Asia/Kolkata
-# mapboxtoken: pk.eyJ1IjoiY2FwdG4zbTAiLCJhIjoiY2wyYmdvNmcxMGYyMDNic2MyY3Rvd28yNiJ9.4IiMK807T05VEE2loTN1Jg
-mapboxtoken: pk.eyJ1IjoiY2FwdG4zbTAiLCJhIjoiY2pmanVvdWNkMHNmOTJ3bzNnYXIwcnpwZSJ9.C1N7hcYotH63uQjx5sk7Xg
\ No newline at end of file
+mapboxtoken: pk.eyJ1IjoiY2FwdG4zbTAiLCJhIjoiY2pmanVvdWNkMHNmOTJ3bzNnYXIwcnpwZSJ9.C1N7hcYotH63uQjx5sk7Xg
+exclude:
+ - x.sh
+ - .venv
+ - _site
+ - .jekyll-cache
+ - Gemfile
+ - Gemfile.lock
+ - .git
+ - .github
+ - _config.yml
+ - 404.html
+ - CITATION.cff
+ - "*.py"
\ No newline at end of file
diff --git a/_layouts/home.html b/_layouts/home.html
index 3e1ce597..d89c1911 100644
--- a/_layouts/home.html
+++ b/_layouts/home.html
@@ -12,6 +12,26 @@ layout: default
+
+ Show Number of Locations by Time
+
+
+
+
+ Show Number of Powerbanks by Time
+
+
+
+
+
+
+
{{content}}
{% assign zeroPowerBankLocations = 0 %}
diff --git a/assets/chart.js b/assets/chart.js
new file mode 100644
index 00000000..ceab9d27
--- /dev/null
+++ b/assets/chart.js
@@ -0,0 +1,99 @@
+// Set the dimensions and margins of the graph
+const margin = { top: 20, right: 30, bottom: 50, left: 50 };
+const width = 800 - margin.left - margin.right;
+const height = 400 - margin.top - margin.bottom;
+
+// Append the svg object to the body of the page
+const svg1 = d3.select("#chart")
+ .append("svg")
+ .attr("width", width + margin.left + margin.right)
+ .attr("height", height + margin.top + margin.bottom)
+ .append("g")
+ .attr("transform", `translate(${margin.left},${margin.top})`);
+
+const svg2 = d3.select("#chart2")
+ .append("svg")
+ .attr("width", width + margin.left + margin.right)
+ .attr("height", height + margin.top + margin.bottom)
+ .append("g")
+ .attr("transform", `translate(${margin.left},${margin.top})`);
+
+// Parse the date / time
+const parseTime = d3.timeParse("%Y-%m-%d");
+
+function d3Chart(data, svg) {
+ // Format the data
+ data.forEach(d => {
+ d.date = parseTime(d.date);
+ d.count = +d.count;
+ });
+
+ // Set the ranges
+ const x = d3.scaleTime().range([0, width]);
+ const y = d3.scaleLinear().range([height, 0]);
+
+ // Scale the range of the data
+ x.domain(d3.extent(data, d => d.date));
+ y.domain([0, d3.max(data, d => d.count)]);
+
+ // Define the line
+ const line = d3.line()
+ .x(d => x(d.date))
+ .y(d => y(d.count));
+
+ // Add the line path
+ svg.append("path")
+ .data([data])
+ .attr("class", "line")
+ .attr("d", line);
+
+ // Add the X Axis
+ svg.append("g")
+ .attr("transform", `translate(0,${height})`)
+ .call(d3.axisBottom(x).tickFormat(d3.timeFormat("%b %y")));
+
+ // Add the Y Axis
+ svg.append("g")
+ .call(d3.axisLeft(y));
+
+ // Tooltip
+ const tooltip = d3.select("body").append("div")
+ .attr("class", "tooltip")
+ .style("opacity", 0)
+ .style("position", "absolute")
+ .style("background", "#f9f9f9")
+ .style("border", "1px solid #d3d3d3")
+ .style("padding", "8px")
+ .style("border-radius", "4px")
+ .style("pointer-events", "none");
+
+ // Add circles for tooltip functionality
+ svg.selectAll("dot")
+ .data(data)
+ .enter().append("circle")
+ .attr("r", 3)
+ .attr("cx", d => x(d.date))
+ .attr("cy", d => y(d.count))
+ .attr("fill", "steelblue")
+ .on("mouseover", function(event, d) {
+ tooltip.transition()
+ .duration(200)
+ .style("opacity", .9);
+ tooltip.html(`Date: ${d3.timeFormat("%b %d, %Y")(d.date)}
Count: ${d.count}`)
+ .style("left", (event.pageX + 5) + "px")
+ .style("top", (event.pageY - 28) + "px");
+ })
+ .on("mouseout", function(d) {
+ tooltip.transition()
+ .duration(500)
+ .style("opacity", 0);
+ });
+}
+
+d3.csv("location-count.csv").then(data =>{
+ d3Chart(data, svg1)
+});
+
+d3.csv("powerbank-count.csv").then(data =>{
+ d3Chart(data, svg2)
+});
\ No newline at end of file
diff --git a/count.py b/count.py
new file mode 100644
index 00000000..55feaf1a
--- /dev/null
+++ b/count.py
@@ -0,0 +1,85 @@
+import pygit2
+import csv
+import concurrent.futures
+import msgspec
+from datetime import datetime
+
+# Define the structure of the JSON data using msgspec
+class PowerbankData(msgspec.Struct):
+ totalAvailablePowerbanks: int
+
+# Function to calculate totalAvailablePowerbanks from JSON data
+def calculate_total_powerbanks(file_content):
+ try:
+ data = msgspec.json.decode(file_content, type=list[PowerbankData])
+ total_powerbanks = sum(item.totalAvailablePowerbanks for item in data)
+ return total_powerbanks
+ except msgspec.DecodeError:
+ return None
+
+# Function to process a single commit and return results
+def process_commit(repo, commit):
+ try:
+ tree = commit.tree
+ if '_data/plugo.json' in tree:
+ blob = repo[tree['_data/plugo.json'].id]
+ file_content = blob.data.decode('utf-8')
+ total_powerbanks = calculate_total_powerbanks(file_content)
+ if total_powerbanks is not None:
+ commit_date = datetime.fromtimestamp(commit.commit_time).strftime('%Y-%m-%d')
+ return commit_date, total_powerbanks
+ except KeyError:
+ pass
+ return None
+
+# Generator function to iterate through every 5th commit
+def iterate_commits(repo):
+ commit_count = sum(1 for _ in repo.walk(repo.head.target, pygit2.GIT_SORT_TOPOLOGICAL))
+ processed_count = 0
+ skip_count = 0
+
+ for commit in repo.walk(repo.head.target, pygit2.GIT_SORT_TOPOLOGICAL):
+ processed_count += 1
+ if processed_count % 5 != 0:
+ continue
+
+ skip_count += 1
+ progress = (skip_count / (commit_count // 5)) * 100
+ print(f'Processing commit {skip_count}/{commit_count // 5} ({progress:.2f}%)', end='\r')
+
+ yield commit
+
+# Main function to process commits using concurrent.futures
+def main():
+ # Open the repository
+ repo_path = '.' # Assuming the script is run from the root of the repository
+ repo = pygit2.Repository(repo_path)
+
+ # Prepare CSV output
+ output = [['date', 'totalAvailablePowerbanks']]
+
+ # Process every 5th commit in parallel
+ with concurrent.futures.ThreadPoolExecutor() as executor:
+ futures = []
+ for commit in iterate_commits(repo):
+ future = executor.submit(process_commit, repo, commit)
+ futures.append(future)
+
+ for future in concurrent.futures.as_completed(futures):
+ result = future.result()
+ if result:
+ output.append(result)
+
+ # Sort output by date, excluding the header row
+ output_sorted = sorted(output[1:], key=lambda x: datetime.strptime(x[0], '%Y-%m-%d'))
+ output_sorted.insert(0, output[0]) # Insert the header row back
+
+ # Write the sorted output to CSV
+ with open('output.csv', 'w', newline='') as csvfile:
+ csvwriter = csv.writer(csvfile)
+ csvwriter.writerows(output_sorted)
+
+ print("\nProcessing complete.")
+
+if __name__ == "__main__":
+ main()
diff --git a/location-count.csv b/location-count.csv
new file mode 100644
index 00000000..62e1907b
--- /dev/null
+++ b/location-count.csv
@@ -0,0 +1,6 @@
+---
+permalink: /location-count.csv
+# This generates a count for every date
+---
+date,count{%assign count = 0 %}{% assign locations = site.data.plugo | sort:'createdAt' %}{% for l in locations %}{%assign count = count|plus:1 %}
+{{l.createdAt|slice:0,10}},{{count}}{% endfor %}
diff --git a/powerbank-count.csv b/powerbank-count.csv
new file mode 100644
index 00000000..6679a3d2
--- /dev/null
+++ b/powerbank-count.csv
@@ -0,0 +1,838 @@
+date,count
+2022-03-05,2048
+2022-03-06,1969
+2022-03-07,1789
+2022-03-07,1888
+2022-03-08,1933
+2022-03-09,1915
+2022-03-10,1834
+2022-03-11,1610
+2022-03-12,1620
+2022-03-13,1644
+2022-03-14,1649
+2022-03-14,1900
+2022-03-15,1783
+2022-03-16,1827
+2022-03-17,1771
+2022-03-18,1852
+2022-03-19,1842
+2022-03-20,1839
+2022-03-21,1850
+2022-03-22,1865
+2022-03-23,1982
+2022-03-24,1942
+2022-03-25,1969
+2022-03-26,1960
+2022-03-27,1802
+2022-03-28,1879
+2022-03-29,1996
+2022-03-30,1950
+2022-03-31,1878
+2022-04-01,1936
+2022-04-02,1882
+2022-04-03,1856
+2022-04-04,1846
+2022-04-05,1869
+2022-04-06,1940
+2022-04-07,1873
+2022-04-08,1868
+2022-04-09,1841
+2022-04-10,1789
+2022-04-11,1781
+2022-04-12,1842
+2022-04-13,1876
+2022-04-14,1861
+2022-04-15,1924
+2022-04-16,1875
+2022-04-17,1800
+2022-04-18,1879
+2022-04-19,1621
+2022-04-20,1612
+2022-04-21,1594
+2022-04-22,1552
+2022-04-23,1583
+2022-04-23,1995
+2022-04-24,1868
+2022-04-25,1810
+2022-04-26,1888
+2022-04-27,1930
+2022-04-28,1857
+2022-04-29,1966
+2022-04-30,1942
+2022-05-01,1865
+2022-05-02,1912
+2022-05-03,1865
+2022-05-04,1906
+2022-05-05,1867
+2022-05-06,1892
+2022-05-07,1878
+2022-05-08,1870
+2022-05-09,1886
+2022-05-10,1874
+2022-05-11,1851
+2022-05-12,1967
+2022-05-13,1959
+2022-05-14,1967
+2022-05-15,1902
+2022-05-16,1911
+2022-05-17,1941
+2022-05-18,1901
+2022-05-19,2004
+2022-05-20,2053
+2022-05-21,2138
+2022-05-22,2151
+2022-05-23,2206
+2022-05-24,2235
+2022-05-25,2248
+2022-05-26,2286
+2022-05-27,2279
+2022-05-28,2205
+2022-05-29,2148
+2022-05-30,2120
+2022-05-31,2283
+2022-06-01,2296
+2022-06-02,2469
+2022-06-03,2424
+2022-06-04,2455
+2022-06-05,2302
+2022-06-06,2372
+2022-06-07,2378
+2022-06-08,2428
+2022-06-09,2336
+2022-06-10,2324
+2022-06-11,2408
+2022-06-12,2281
+2022-06-13,2281
+2022-06-14,2319
+2022-06-15,2315
+2022-06-16,2306
+2022-06-17,2262
+2022-06-18,2357
+2022-06-19,2282
+2022-06-20,2199
+2022-06-21,2231
+2022-06-22,2381
+2022-06-23,2379
+2022-06-24,2362
+2022-06-25,2342
+2022-06-26,2290
+2022-06-27,2363
+2022-06-28,2218
+2022-06-29,2227
+2022-06-30,2231
+2022-07-01,2197
+2022-07-02,2188
+2022-07-03,2139
+2022-07-04,2131
+2022-07-05,2172
+2022-07-06,2212
+2022-07-07,2122
+2022-07-08,2053
+2022-07-09,2118
+2022-07-10,2155
+2022-07-11,2038
+2022-07-12,2053
+2022-07-13,2088
+2022-07-14,2068
+2022-07-15,2095
+2022-07-16,2205
+2022-07-17,2117
+2022-07-19,2164
+2022-07-20,2144
+2022-07-21,2185
+2022-07-22,2141
+2022-07-23,2140
+2022-07-24,2057
+2022-07-25,2024
+2022-07-26,2156
+2022-07-27,2166
+2022-07-28,2146
+2022-07-29,2155
+2022-07-30,2155
+2022-07-31,2173
+2022-08-01,2137
+2022-08-02,2137
+2022-08-03,2134
+2022-08-04,2136
+2022-08-06,2219
+2022-08-07,2085
+2022-08-08,2163
+2022-08-09,2141
+2022-08-10,2121
+2022-08-11,2154
+2022-08-12,2132
+2022-08-13,2166
+2022-08-14,2053
+2022-08-15,2024
+2022-08-16,2080
+2022-08-17,2024
+2022-08-18,2054
+2022-08-19,1997
+2022-08-20,2045
+2022-08-21,1888
+2022-08-22,1961
+2022-08-23,1977
+2022-08-24,2161
+2022-08-25,2163
+2022-08-26,2191
+2022-08-27,2250
+2022-08-28,2135
+2022-08-29,2206
+2022-08-30,2217
+2022-08-31,2155
+2022-09-01,2240
+2022-09-02,2219
+2022-09-03,2247
+2022-09-04,2188
+2022-09-05,2227
+2022-09-06,2230
+2022-09-07,2347
+2022-09-08,2296
+2022-09-09,2248
+2022-09-10,2366
+2022-09-11,2159
+2022-09-12,2200
+2022-09-13,2272
+2022-09-14,2282
+2022-09-15,2257
+2022-09-16,2238
+2022-09-17,2252
+2022-09-18,2152
+2022-09-19,2182
+2022-09-20,2106
+2022-09-21,2203
+2022-09-22,2290
+2022-09-23,2216
+2022-09-24,2270
+2022-09-25,2212
+2022-09-26,2229
+2022-09-27,2235
+2022-09-28,2242
+2022-09-29,2140
+2022-09-30,2236
+2022-10-01,2213
+2022-10-02,2029
+2022-10-03,2139
+2022-10-04,2164
+2022-10-05,2114
+2022-10-06,2259
+2022-10-07,2185
+2022-10-08,2132
+2022-10-09,2055
+2022-10-10,2114
+2022-10-11,2151
+2022-10-12,2196
+2022-10-13,2198
+2022-10-14,2208
+2022-10-15,2189
+2022-10-16,2108
+2022-10-17,2179
+2022-10-18,2156
+2022-10-19,2138
+2022-10-20,2242
+2022-10-21,2227
+2022-10-22,2247
+2022-10-23,2206
+2022-10-24,2112
+2022-10-25,2138
+2022-10-26,2124
+2022-10-27,2113
+2022-10-28,2219
+2022-10-29,2170
+2022-10-30,2125
+2022-10-31,2198
+2022-11-01,2170
+2022-11-02,2186
+2022-11-03,2242
+2022-11-04,2168
+2022-11-05,2104
+2022-11-06,2107
+2022-11-07,2166
+2022-11-08,2116
+2022-11-09,2097
+2022-11-10,2122
+2022-11-11,2175
+2022-11-12,2024
+2022-11-13,2063
+2022-11-14,2170
+2022-11-15,2088
+2022-11-16,2171
+2022-11-17,2205
+2022-11-18,2235
+2022-11-19,2248
+2022-11-20,2161
+2022-11-21,2182
+2022-11-22,2217
+2022-11-23,2184
+2022-11-24,2228
+2022-11-25,2268
+2022-11-26,2264
+2022-11-27,2209
+2022-11-28,2218
+2022-11-29,2174
+2022-11-30,2259
+2022-12-01,2265
+2022-12-02,2245
+2022-12-03,2230
+2022-12-04,2160
+2022-12-05,2182
+2022-12-06,2199
+2022-12-07,2157
+2022-12-08,2173
+2022-12-09,2158
+2022-12-10,2172
+2022-12-11,2060
+2022-12-12,2086
+2022-12-13,2163
+2022-12-14,2183
+2022-12-15,2175
+2022-12-16,2160
+2022-12-17,2150
+2022-12-18,2036
+2022-12-19,2078
+2022-12-20,2151
+2022-12-21,2140
+2022-12-22,2101
+2022-12-23,2103
+2022-12-24,2110
+2022-12-25,2015
+2022-12-26,2084
+2022-12-27,2091
+2022-12-28,2113
+2022-12-29,2130
+2022-12-30,2137
+2022-12-31,2147
+2023-01-01,2088
+2023-01-02,2141
+2023-01-03,2103
+2023-01-04,2173
+2023-01-05,2139
+2023-01-06,2131
+2023-01-07,2066
+2023-01-08,2021
+2023-01-09,2057
+2023-01-10,2045
+2023-01-11,2025
+2023-01-12,2078
+2023-01-13,2095
+2023-01-14,2092
+2023-01-15,2016
+2023-01-16,2016
+2023-01-17,2010
+2023-01-18,2066
+2023-01-19,1175
+2023-01-20,2043
+2023-01-21,1992
+2023-01-22,2003
+2023-01-23,1975
+2023-01-24,1757
+2023-01-25,1802
+2023-01-26,1802
+2023-01-27,1774
+2023-01-28,1758
+2023-01-29,1695
+2023-01-30,1681
+2023-01-31,1667
+2023-02-01,1743
+2023-02-02,1751
+2023-02-03,1796
+2023-02-04,1781
+2023-02-05,1725
+2023-02-06,1752
+2023-02-07,1690
+2023-02-08,1774
+2023-02-09,1746
+2023-02-10,1691
+2023-02-11,1772
+2023-02-12,1699
+2023-02-13,1794
+2023-02-14,1747
+2023-02-15,1871
+2023-02-16,1777
+2023-02-17,1895
+2023-02-19,1584
+2023-02-20,1627
+2023-02-21,1611
+2023-02-22,1690
+2023-02-23,1627
+2023-02-24,1585
+2023-02-25,1682
+2023-02-26,1623
+2023-02-27,1694
+2023-02-28,1731
+2023-03-01,1684
+2023-03-02,1641
+2023-03-03,1742
+2023-03-04,1722
+2023-03-05,1625
+2023-03-06,1621
+2023-03-07,1641
+2023-03-08,1634
+2023-03-09,1611
+2023-03-10,1668
+2023-03-11,1662
+2023-03-12,1642
+2023-03-13,1715
+2023-03-14,1677
+2023-03-15,1685
+2023-03-16,1675
+2023-03-17,1639
+2023-03-18,1625
+2023-03-19,1572
+2023-03-20,1659
+2023-03-21,1692
+2023-03-22,1677
+2023-03-23,1636
+2023-03-24,1651
+2023-03-25,1669
+2023-03-26,1634
+2023-03-27,1727
+2023-03-28,1694
+2023-03-29,1690
+2023-03-30,1712
+2023-03-31,1710
+2023-04-01,1729
+2023-04-02,1683
+2023-04-03,1759
+2023-04-04,1666
+2023-04-05,1738
+2023-04-06,1784
+2023-04-07,1708
+2023-04-08,1700
+2023-04-09,1679
+2023-04-10,1758
+2023-04-11,1761
+2023-04-12,1770
+2023-04-13,1734
+2023-04-14,1624
+2023-04-15,1658
+2023-04-16,1613
+2023-04-17,1689
+2023-04-18,1663
+2023-04-19,1723
+2023-04-20,1743
+2023-04-21,1667
+2023-04-22,1725
+2023-04-23,1601
+2023-04-24,1649
+2023-04-25,1638
+2023-04-26,1665
+2023-04-27,1662
+2023-04-28,1652
+2023-04-29,1728
+2023-04-30,1719
+2023-05-01,1603
+2023-05-02,1700
+2023-05-03,1676
+2023-05-04,1680
+2023-05-05,1745
+2023-05-06,1796
+2023-05-07,1796
+2023-05-08,1776
+2023-05-09,1789
+2023-05-10,1642
+2023-05-11,1881
+2023-05-12,1878
+2023-05-13,1820
+2023-05-14,1826
+2023-05-15,1822
+2023-05-16,1790
+2023-05-17,1823
+2023-05-18,1814
+2023-05-19,1768
+2023-05-20,1856
+2023-05-21,1784
+2023-05-22,1781
+2023-05-23,1725
+2023-05-24,1764
+2023-05-25,1756
+2023-05-26,1791
+2023-05-27,1725
+2023-05-28,1683
+2023-05-29,1750
+2023-05-30,1770
+2023-05-31,1713
+2023-06-01,1709
+2023-06-02,1723
+2023-06-03,1689
+2023-06-04,1677
+2023-06-05,1594
+2023-06-06,1581
+2023-06-07,1649
+2023-06-08,1740
+2023-06-09,1694
+2023-06-10,1748
+2023-06-11,1726
+2023-06-12,1712
+2023-06-13,1706
+2023-06-14,1710
+2023-06-15,1774
+2023-06-16,1714
+2023-06-17,1651
+2023-06-18,1580
+2023-06-19,1638
+2023-06-20,1600
+2023-06-21,1544
+2023-06-22,1631
+2023-06-23,1620
+2023-06-24,1669
+2023-06-25,1603
+2023-06-26,1620
+2023-06-27,1626
+2023-06-28,1626
+2023-06-29,1588
+2023-06-30,1631
+2023-07-01,1656
+2023-07-02,1601
+2023-07-03,1609
+2023-07-04,1616
+2023-07-05,1594
+2023-07-06,1615
+2023-07-07,1584
+2023-07-08,1572
+2023-07-09,1534
+2023-07-10,1548
+2023-07-11,1532
+2023-07-12,1577
+2023-07-13,1513
+2023-07-14,1546
+2023-07-15,1541
+2023-07-16,1432
+2023-07-17,1468
+2023-07-18,1542
+2023-07-19,1567
+2023-07-20,1562
+2023-07-21,1566
+2023-07-22,1509
+2023-07-23,1506
+2023-07-24,1575
+2023-07-25,1526
+2023-07-26,1590
+2023-07-27,764
+2023-07-28,1631
+2023-07-29,1576
+2023-07-30,1521
+2023-07-31,1521
+2023-08-01,1595
+2023-08-02,1488
+2023-08-03,1530
+2023-08-04,1551
+2023-08-05,1573
+2023-08-06,1514
+2023-08-07,1525
+2023-08-08,1561
+2023-08-09,1557
+2023-08-10,1508
+2023-08-11,1562
+2023-08-12,1520
+2023-08-13,1431
+2023-08-14,1422
+2023-08-15,1388
+2023-08-16,1401
+2023-08-17,1408
+2023-08-18,1396
+2023-08-19,1408
+2023-08-20,1397
+2023-08-21,1430
+2023-08-22,1419
+2023-08-23,1372
+2023-08-24,1392
+2023-08-25,1471
+2023-08-26,1468
+2023-08-27,1456
+2023-08-28,1401
+2023-08-29,1462
+2023-08-30,1434
+2023-08-31,1444
+2023-09-01,1496
+2023-09-02,1499
+2023-09-03,1490
+2023-09-04,1469
+2023-09-05,1473
+2023-09-06,1526
+2023-09-07,1542
+2023-09-08,1510
+2023-09-09,1504
+2023-09-10,1473
+2023-09-11,1562
+2023-09-12,843
+2023-09-13,1573
+2023-09-14,1606
+2023-09-15,1614
+2023-09-16,1627
+2023-09-17,1562
+2023-09-18,1530
+2023-09-19,1559
+2023-09-20,1573
+2023-09-21,1567
+2023-09-22,1565
+2023-09-23,1585
+2023-09-24,1548
+2023-09-25,1513
+2023-09-26,1526
+2023-09-27,1480
+2023-09-28,1516
+2023-09-29,1458
+2023-09-30,1500
+2023-10-01,1500
+2023-10-02,1396
+2023-10-03,1548
+2023-10-04,1466
+2023-10-05,1500
+2023-10-06,1533
+2023-10-07,1491
+2023-10-08,1504
+2023-10-09,1527
+2023-10-10,1546
+2023-10-11,1596
+2023-10-12,1565
+2023-10-13,1604
+2023-10-14,1595
+2023-10-15,1538
+2023-10-16,1546
+2023-10-17,1562
+2023-10-18,1505
+2023-10-19,1541
+2023-10-20,1495
+2023-10-21,1567
+2023-10-22,1519
+2023-10-23,1555
+2023-10-24,1500
+2023-10-25,1526
+2023-10-26,1567
+2023-10-27,1541
+2023-10-28,1507
+2023-10-29,1538
+2023-10-30,1497
+2023-10-31,1536
+2023-11-03,1363
+2023-11-04,1390
+2023-11-05,1261
+2023-11-06,1337
+2023-11-07,1349
+2023-11-08,1366
+2023-11-09,1385
+2023-11-10,1364
+2023-11-11,1403
+2023-11-12,1398
+2023-11-13,1355
+2023-11-14,1356
+2023-11-15,1366
+2023-11-16,1378
+2023-11-17,1407
+2023-11-18,1342
+2023-11-19,1366
+2023-11-20,1364
+2023-11-21,1401
+2023-11-22,1359
+2023-11-23,1455
+2023-11-24,1396
+2023-11-25,1430
+2023-11-26,1375
+2023-11-27,1344
+2023-11-28,1395
+2023-11-29,1371
+2023-11-30,1392
+2023-12-01,1406
+2023-12-02,1390
+2023-12-03,1371
+2023-12-04,1398
+2023-12-05,1341
+2023-12-06,905
+2023-12-07,913
+2023-12-08,898
+2023-12-09,872
+2023-12-10,932
+2023-12-11,865
+2023-12-12,903
+2023-12-13,895
+2023-12-14,866
+2023-12-15,832
+2023-12-16,870
+2023-12-17,865
+2023-12-18,880
+2023-12-19,902
+2023-12-20,857
+2023-12-21,918
+2023-12-22,890
+2023-12-23,854
+2023-12-24,887
+2023-12-25,822
+2023-12-26,827
+2023-12-27,826
+2023-12-28,823
+2023-12-29,801
+2023-12-30,836
+2023-12-31,757
+2024-01-01,780
+2024-01-02,831
+2024-01-03,880
+2024-01-04,851
+2024-01-05,841
+2024-01-06,859
+2024-01-07,826
+2024-01-08,853
+2024-01-09,837
+2024-01-10,957
+2024-01-11,960
+2024-01-12,903
+2024-01-13,917
+2024-01-14,836
+2024-01-15,860
+2024-01-16,905
+2024-01-17,912
+2024-01-18,882
+2024-01-19,840
+2024-01-20,844
+2024-01-21,818
+2024-01-22,976
+2024-01-23,965
+2024-01-24,898
+2024-01-25,888
+2024-01-26,849
+2024-01-27,815
+2024-01-28,833
+2024-01-29,899
+2024-01-30,879
+2024-01-31,904
+2024-02-01,894
+2024-02-02,916
+2024-02-03,902
+2024-02-04,878
+2024-02-05,878
+2024-02-06,899
+2024-02-07,917
+2024-02-08,939
+2024-02-09,910
+2024-02-10,953
+2024-02-11,910
+2024-02-12,896
+2024-02-13,848
+2024-02-14,801
+2024-02-15,862
+2024-02-16,814
+2024-02-17,860
+2024-02-18,792
+2024-02-19,838
+2024-02-20,877
+2024-02-21,880
+2024-02-22,862
+2024-02-23,836
+2024-02-24,859
+2024-02-25,818
+2024-02-26,821
+2024-02-27,786
+2024-02-28,827
+2024-02-29,825
+2024-03-01,851
+2024-03-02,894
+2024-03-03,832
+2024-03-04,848
+2024-03-05,849
+2024-03-06,849
+2024-03-07,813
+2024-03-08,800
+2024-03-09,762
+2024-03-10,778
+2024-03-11,830
+2024-03-12,849
+2024-03-13,840
+2024-03-14,835
+2024-03-15,798
+2024-03-16,762
+2024-03-17,739
+2024-03-18,760
+2024-03-19,769
+2024-03-20,817
+2024-03-21,788
+2024-03-22,768
+2024-03-23,764
+2024-03-24,739
+2024-03-25,732
+2024-03-26,784
+2024-03-27,808
+2024-03-28,819
+2024-03-29,746
+2024-03-30,779
+2024-03-31,735
+2024-04-01,751
+2024-04-02,773
+2024-04-03,800
+2024-04-04,801
+2024-04-05,763
+2024-04-06,749
+2024-04-07,730
+2024-04-08,766
+2024-04-09,747
+2024-04-10,747
+2024-04-11,714
+2024-04-12,724
+2024-04-13,718
+2024-04-14,701
+2024-04-15,734
+2024-04-16,758
+2024-04-17,745
+2024-04-18,788
+2024-04-19,749
+2024-04-20,696
+2024-04-21,671
+2024-04-22,752
+2024-04-23,728
+2024-04-24,723
+2024-04-25,678
+2024-04-26,691
+2024-04-27,678
+2024-04-28,700
+2024-04-29,703
+2024-04-30,730
+2024-05-01,726
+2024-05-02,752
+2024-05-03,705
+2024-05-04,658
+2024-05-05,655
+2024-05-06,677
+2024-05-07,646
+2024-05-08,662
+2024-05-09,653
+2024-05-10,684
+2024-05-11,616
+2024-05-12,608
+2024-05-13,618
+2024-05-14,637
+2024-05-15,632
+2024-05-16,618
+2024-05-17,599
+2024-05-18,623
+2024-05-19,586
+2024-05-20,565
+2024-05-21,616
+2024-05-22,598
+2024-05-23,609
+2024-05-24,628
+2024-05-25,592
+2024-05-26,583
+2024-05-27,648
+2024-05-28,613
+2024-05-29,567
+2024-05-30,588
+2024-05-31,585
+2024-06-01,588
+2024-06-02,590
+2024-06-03,552
+2024-06-04,570
+2024-06-05,551
+2024-06-06,589
+2024-06-07,570
+2024-06-08,607
+2024-06-09,540
+2024-06-10,552
+2024-06-11,526
+2024-06-12,553
+2024-06-13,560
+2024-06-14,586
+2024-06-15,573
+2024-06-16,573
+2024-06-17,560
+2024-06-18,603
+2024-06-19,571
+2024-06-20,624