Quellcode durchsuchen

added module 08 and begin of module_09

bastien vor 2 Wochen
Ursprung
Commit
4446119b43

+ 1 - 1
Module_08/ex01/includes/Span.hpp

@@ -6,7 +6,7 @@
 /*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2026/01/13 18:18:53 by bchanot           #+#    #+#             */
-/*   Updated: 2026/01/14 16:18:13 by bchanot          ###   ########.fr       */
+/*   Updated: 2026/01/16 14:56:20 by bchanot          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 

+ 1 - 1
Module_08/ex01/srcs/Span.cpp

@@ -6,7 +6,7 @@
 /*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2026/01/13 18:18:53 by bchanot           #+#    #+#             */
-/*   Updated: 2026/01/14 17:08:45 by bchanot          ###   ########.fr       */
+/*   Updated: 2026/01/16 14:56:24 by bchanot          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 

+ 2 - 2
Module_08/ex02/Makefile

@@ -6,11 +6,11 @@
 #    By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+         #
 #                                                 +#+#+#+#+#+   +#+            #
 #    Created: 2016/07/24 00:00:08 by bchanot           #+#    #+#              #
-#    Updated: 2026/01/14 18:41:24 by bchanot          ###   ########.fr        #
+#    Updated: 2026/01/15 17:21:48 by bchanot          ###   ########.fr        #
 #                                                                              #
 # **************************************************************************** #
 
-NAME = a.out
+NAME = btc
 MAKE_LIBS = make --no-print-directory
 SRCS_DIR = srcs/
 OBJS_DIR = .objects/

+ 50 - 0
Module_09/ex00/Makefile

@@ -0,0 +1,50 @@
+# **************************************************************************** #
+#                                                                              #
+#                                                         :::      ::::::::    #
+#    Makefile                                           :+:      :+:    :+:    #
+#                                                     +:+ +:+         +:+      #
+#    By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+         #
+#                                                 +#+#+#+#+#+   +#+            #
+#    Created: 2016/07/24 00:00:08 by bchanot           #+#    #+#              #
+#    Updated: 2026/01/16 19:35:50 by bchanot          ###   ########.fr        #
+#                                                                              #
+# **************************************************************************** #
+
+NAME = btc
+MAKE_LIBS = make --no-print-directory
+SRCS_DIR = srcs/
+OBJS_DIR = .objects/
+CC = g++ -Wall -Wextra -Werror -g
+INC = -I./includes
+FILES = main BitcoinExchange Date
+SRCS = $(FILES)
+OBJS = $(addprefix $(OBJS_DIR), $(addsuffix .o, $(SRCS)))
+RED = \033[1;31m
+BLUE = \033[1;34m
+CYAN = \033[0;36m
+GREEN = \033[1;32m
+YELLOW = \033[1;33m
+EOC = \033[0m
+
+all: $(NAME)
+
+$(NAME): $(OBJS)
+	@echo -e "$(GREEN)Objects created.$(EOC)"
+	@$(CC) $(OBJS) $(INC) -o $(NAME)
+	@echo -e "$(GREEN)Compilation complete.$(EOC)"
+
+$(OBJS_DIR)%.o: $(SRCS_DIR)%.cpp
+	@mkdir -p $(dir $@)
+	$(CC) -c $< $(INC) -o $@
+
+clean:
+	@echo -e "$(RED)Deleting objects.$(EOC)"
+	@/bin/rm -rf $(OBJS_DIR)
+
+fclean: clean
+	@echo -e "$(RED)Deleting binary.$(EOC)"
+	@/bin/rm -rf $(NAME)
+
+re: fclean all
+
+.PHONY: all clean fclean re

BIN
Module_09/ex00/btc


+ 1613 - 0
Module_09/ex00/data.csv

@@ -0,0 +1,1613 @@
+date,exchange_rate
+2009-01-02,0
+2009-01-05,0
+2009-01-08,0
+2009-01-11,0
+2009-01-14,0
+2009-01-17,0
+2009-01-20,0
+2009-01-23,0
+2009-01-26,0
+2009-01-29,0
+2009-02-01,0
+2009-02-04,0
+2009-02-07,0
+2009-02-10,0
+2009-02-13,0
+2009-02-16,0
+2009-02-19,0
+2009-02-22,0
+2009-02-25,0
+2009-02-28,0
+2009-03-03,0
+2009-03-06,0
+2009-03-09,0
+2009-03-12,0
+2009-03-15,0
+2009-03-18,0
+2009-03-21,0
+2009-03-24,0
+2009-03-27,0
+2009-03-31,0
+2009-04-03,0
+2009-04-06,0
+2009-04-09,0
+2009-04-12,0
+2009-04-15,0
+2009-04-18,0
+2009-04-21,0
+2009-04-24,0
+2009-04-27,0
+2009-04-30,0
+2009-05-03,0
+2009-05-06,0
+2009-05-09,0
+2009-05-12,0
+2009-05-15,0
+2009-05-18,0
+2009-05-21,0
+2009-05-24,0
+2009-05-27,0
+2009-05-30,0
+2009-06-02,0
+2009-06-05,0
+2009-06-08,0
+2009-06-11,0
+2009-06-14,0
+2009-06-17,0
+2009-06-20,0
+2009-06-23,0
+2009-06-26,0
+2009-06-29,0
+2009-07-02,0
+2009-07-05,0
+2009-07-08,0
+2009-07-11,0
+2009-07-14,0
+2009-07-17,0
+2009-07-20,0
+2009-07-23,0
+2009-07-26,0
+2009-07-29,0
+2009-08-01,0
+2009-08-04,0
+2009-08-07,0
+2009-08-10,0
+2009-08-13,0
+2009-08-16,0
+2009-08-19,0
+2009-08-22,0
+2009-08-25,0
+2009-08-28,0
+2009-08-31,0
+2009-09-03,0
+2009-09-06,0
+2009-09-09,0
+2009-09-12,0
+2009-09-15,0
+2009-09-18,0
+2009-09-21,0
+2009-09-24,0
+2009-09-27,0
+2009-09-30,0
+2009-10-03,0
+2009-10-06,0
+2009-10-09,0
+2009-10-12,0
+2009-10-15,0
+2009-10-18,0
+2009-10-21,0
+2009-10-24,0
+2009-10-26,0
+2009-10-29,0
+2009-11-01,0
+2009-11-04,0
+2009-11-07,0
+2009-11-10,0
+2009-11-13,0
+2009-11-16,0
+2009-11-19,0
+2009-11-22,0
+2009-11-25,0
+2009-11-28,0
+2009-12-01,0
+2009-12-04,0
+2009-12-07,0
+2009-12-10,0
+2009-12-13,0
+2009-12-16,0
+2009-12-19,0
+2009-12-22,0
+2009-12-25,0
+2009-12-28,0
+2009-12-31,0
+2010-01-03,0
+2010-01-06,0
+2010-01-09,0
+2010-01-12,0
+2010-01-15,0
+2010-01-18,0
+2010-01-21,0
+2010-01-24,0
+2010-01-27,0
+2010-01-30,0
+2010-02-02,0
+2010-02-05,0
+2010-02-08,0
+2010-02-11,0
+2010-02-14,0
+2010-02-17,0
+2010-02-20,0
+2010-02-23,0
+2010-02-26,0
+2010-03-01,0
+2010-03-04,0
+2010-03-07,0
+2010-03-10,0
+2010-03-13,0
+2010-03-16,0
+2010-03-19,0
+2010-03-22,0
+2010-03-25,0
+2010-03-29,0
+2010-04-01,0
+2010-04-04,0
+2010-04-07,0
+2010-04-10,0
+2010-04-13,0
+2010-04-16,0
+2010-04-19,0
+2010-04-22,0
+2010-04-25,0
+2010-04-28,0
+2010-05-01,0
+2010-05-04,0
+2010-05-07,0
+2010-05-10,0
+2010-05-13,0
+2010-05-16,0
+2010-05-19,0
+2010-05-22,0
+2010-05-25,0
+2010-05-28,0
+2010-05-31,0
+2010-06-03,0
+2010-06-06,0
+2010-06-09,0
+2010-06-12,0
+2010-06-15,0
+2010-06-18,0
+2010-06-21,0
+2010-06-24,0
+2010-06-27,0
+2010-06-30,0
+2010-07-03,0
+2010-07-06,0
+2010-07-09,0
+2010-07-12,0
+2010-07-15,0
+2010-07-18,0
+2010-07-21,0
+2010-07-24,0
+2010-07-27,0
+2010-07-30,0
+2010-08-02,0
+2010-08-05,0
+2010-08-08,0
+2010-08-11,0
+2010-08-14,0
+2010-08-17,0
+2010-08-20,0.07
+2010-08-23,0.07
+2010-08-26,0.07
+2010-08-29,0.06
+2010-09-01,0.06
+2010-09-04,0.06
+2010-09-07,0.06
+2010-09-10,0.06
+2010-09-13,0.06
+2010-09-16,0.15
+2010-09-19,0.06
+2010-09-22,0.06
+2010-09-25,0.06
+2010-09-28,0.06
+2010-10-01,0.06
+2010-10-04,0.06
+2010-10-07,0.06
+2010-10-10,0.12
+2010-10-13,0.1
+2010-10-16,0.12
+2010-10-19,0.1
+2010-10-22,0.11
+2010-10-25,0.18
+2010-10-28,0.19
+2010-10-31,0.19
+2010-11-02,0.21
+2010-11-05,0.25
+2010-11-08,0.36
+2010-11-11,0.24
+2010-11-14,0.3
+2010-11-17,0.28
+2010-11-20,0.29
+2010-11-23,0.29
+2010-11-26,0.29
+2010-11-29,0.28
+2010-12-02,0.25
+2010-12-05,0.23
+2010-12-08,0.25
+2010-12-11,0.23
+2010-12-14,0.23
+2010-12-17,0.25
+2010-12-20,0.27
+2010-12-23,0.25
+2010-12-26,0.27
+2010-12-29,0.3
+2011-01-01,0.3
+2011-01-04,0.3
+2011-01-07,0.32
+2011-01-10,0.33
+2011-01-13,0.42
+2011-01-16,0.4
+2011-01-19,0.35
+2011-01-22,0.43
+2011-01-25,0.43
+2011-01-28,0.45
+2011-01-31,0.61
+2011-02-03,0.78
+2011-02-06,0.92
+2011-02-09,0.97
+2011-02-12,1.09
+2011-02-15,1.08
+2011-02-18,1.04
+2011-02-21,0.88
+2011-02-24,0.96
+2011-02-27,0.96
+2011-03-02,0.95
+2011-03-05,0.92
+2011-03-08,0.9
+2011-03-11,0.93
+2011-03-14,0.9
+2011-03-17,0.87
+2011-03-20,0.79
+2011-03-23,0.86
+2011-03-26,0.9
+2011-03-30,0.8
+2011-04-02,0.8
+2011-04-05,0.77
+2011-04-08,0.78
+2011-04-11,0.76
+2011-04-14,0.99
+2011-04-17,1.09
+2011-04-20,1.19
+2011-04-23,1.38
+2011-04-26,1.71
+2011-04-29,2.66
+2011-05-02,3.95
+2011-05-05,3.56
+2011-05-08,3.75
+2011-05-11,5.41
+2011-05-14,8.56
+2011-05-17,8.47
+2011-05-20,7.28
+2011-05-23,6.81
+2011-05-26,7.95
+2011-05-29,8.68
+2011-06-01,9.47
+2011-06-04,15.05
+2011-06-07,19.19
+2011-06-10,32.34
+2011-06-13,24.87
+2011-06-16,19.99
+2011-06-19,17.6
+2011-06-22,15.39
+2011-06-25,16.95
+2011-06-28,17.89
+2011-07-01,17.38
+2011-07-04,15.74
+2011-07-07,16.44
+2011-07-10,15.16
+2011-07-13,14.52
+2011-07-16,14.25
+2011-07-19,13.93
+2011-07-22,13.94
+2011-07-25,14.16
+2011-07-28,14.1
+2011-07-31,14.06
+2011-08-03,13.37
+2011-08-06,11.42
+2011-08-09,9.66
+2011-08-12,10.35
+2011-08-15,11.4
+2011-08-18,11.39
+2011-08-21,11.75
+2011-08-24,11.47
+2011-08-27,10.01
+2011-08-30,9.4
+2011-09-02,8.46
+2011-09-05,8.56
+2011-09-08,7.53
+2011-09-11,6.49
+2011-09-14,6.19
+2011-09-17,5.18
+2011-09-20,5.89
+2011-09-23,5.8
+2011-09-26,5.49
+2011-09-29,4.95
+2011-10-02,5.27
+2011-10-05,5.03
+2011-10-08,4.79
+2011-10-11,4.23
+2011-10-14,4.37
+2011-10-17,3.87
+2011-10-20,2.59
+2011-10-23,3.31
+2011-10-26,3
+2011-10-29,3.39
+2011-10-31,3.38
+2011-11-03,3.28
+2011-11-06,3.04
+2011-11-09,3.09
+2011-11-12,3.11
+2011-11-15,2.67
+2011-11-18,2.37
+2011-11-21,2.3
+2011-11-24,2.48
+2011-11-27,2.51
+2011-11-30,3
+2011-12-03,3.1
+2011-12-06,3.06
+2011-12-09,3.04
+2011-12-12,3.33
+2011-12-15,3.2
+2011-12-18,3.36
+2011-12-21,4.08
+2011-12-24,4.06
+2011-12-27,4.09
+2011-12-30,4.47
+2012-01-02,5.45
+2012-01-05,6.6
+2012-01-08,7.2
+2012-01-11,7.1
+2012-01-14,6.81
+2012-01-17,6.97
+2012-01-20,6.57
+2012-01-23,6.47
+2012-01-26,6.08
+2012-01-29,5.72
+2012-02-01,5.77
+2012-02-04,5.99
+2012-02-07,5.74
+2012-02-10,5.94
+2012-02-13,5.69
+2012-02-16,4.74
+2012-02-19,4.38
+2012-02-22,4.63
+2012-02-25,5.05
+2012-02-28,4.98
+2012-03-02,4.94
+2012-03-05,5.04
+2012-03-08,4.99
+2012-03-11,4.98
+2012-03-14,5.45
+2012-03-17,5.4
+2012-03-20,4.95
+2012-03-23,4.81
+2012-03-27,4.74
+2012-03-30,4.85
+2012-04-02,4.97
+2012-04-05,4.96
+2012-04-08,4.94
+2012-04-11,4.9
+2012-04-14,4.97
+2012-04-17,4.99
+2012-04-20,5.19
+2012-04-23,5.3
+2012-04-26,5.16
+2012-04-29,5.09
+2012-05-02,5.04
+2012-05-05,5.15
+2012-05-08,5.1
+2012-05-11,5.1
+2012-05-14,5.01
+2012-05-17,5.1
+2012-05-20,5.14
+2012-05-23,5.13
+2012-05-26,5.15
+2012-05-29,5.16
+2012-06-01,5.21
+2012-06-04,5.27
+2012-06-07,5.48
+2012-06-10,5.68
+2012-06-13,5.76
+2012-06-16,6.27
+2012-06-19,6.48
+2012-06-22,6.8
+2012-06-25,6.56
+2012-06-28,6.58
+2012-07-01,6.69
+2012-07-04,6.71
+2012-07-07,6.74
+2012-07-10,6.98
+2012-07-13,7.46
+2012-07-16,7.8
+2012-07-19,9.37
+2012-07-22,9.53
+2012-07-25,8.91
+2012-07-28,8.95
+2012-07-31,9.22
+2012-08-03,10.12
+2012-08-06,11.21
+2012-08-09,11.35
+2012-08-12,11.64
+2012-08-15,12.3
+2012-08-18,15.37
+2012-08-21,10.45
+2012-08-24,10.25
+2012-08-27,10.99
+2012-08-30,11.14
+2012-09-02,10.36
+2012-09-05,10.59
+2012-09-08,11.27
+2012-09-11,11.14
+2012-09-14,11.48
+2012-09-17,11.98
+2012-09-20,12.63
+2012-09-23,12.4
+2012-09-26,12.24
+2012-09-29,12.46
+2012-10-02,12.58
+2012-10-05,13.07
+2012-10-08,12.58
+2012-10-11,12.16
+2012-10-14,12.1
+2012-10-17,11.99
+2012-10-20,11.94
+2012-10-23,11.86
+2012-10-26,11.56
+2012-10-28,10.69
+2012-10-31,11.17
+2012-11-03,10.62
+2012-11-06,10.97
+2012-11-09,11.04
+2012-11-12,11.17
+2012-11-15,11.28
+2012-11-18,11.82
+2012-11-21,11.9
+2012-11-24,12.46
+2012-11-27,12.5
+2012-11-30,12.66
+2012-12-03,12.75
+2012-12-06,13.69
+2012-12-09,13.53
+2012-12-12,13.8
+2012-12-15,13.75
+2012-12-18,13.4
+2012-12-21,13.63
+2012-12-24,13.45
+2012-12-27,13.51
+2012-12-30,13.57
+2013-01-02,13.42
+2013-01-05,13.54
+2013-01-08,13.84
+2013-01-11,14.31
+2013-01-14,14.34
+2013-01-17,15.53
+2013-01-20,16.15
+2013-01-23,17.97
+2013-01-26,17.71
+2013-01-29,19.78
+2013-02-01,21.25
+2013-02-04,20.99
+2013-02-07,22.15
+2013-02-10,23.97
+2013-02-13,24.3
+2013-02-16,27.39
+2013-02-19,29.48
+2013-02-22,30.52
+2013-02-25,30.4
+2013-02-28,33.36
+2013-03-03,34.25
+2013-03-06,42
+2013-03-09,46.93
+2013-03-12,44.32
+2013-03-15,46.9
+2013-03-18,52.12
+2013-03-21,70.25
+2013-03-24,71.93
+2013-03-27,88.8
+2013-03-30,92.5
+2013-04-03,117.34
+2013-04-06,142.1
+2013-04-09,186.96
+2013-04-12,124.9
+2013-04-15,100
+2013-04-18,93.9
+2013-04-21,127.5
+2013-04-24,142.5
+2013-04-27,137
+2013-04-30,144.54
+2013-05-03,103.3
+2013-05-06,115.98
+2013-05-09,113.35
+2013-05-12,115.68
+2013-05-15,112
+2013-05-18,123.32
+2013-05-21,122.02
+2013-05-24,126.7
+2013-05-27,133.5
+2013-05-30,132.3
+2013-06-02,129.3
+2013-06-05,121.42
+2013-06-08,111.5
+2013-06-11,106.1
+2013-06-14,103.9
+2013-06-17,99.9
+2013-06-20,107.68
+2013-06-23,108.35
+2013-06-26,103.89
+2013-06-29,94.65
+2013-07-02,87
+2013-07-05,80.04
+2013-07-08,75
+2013-07-11,87.9
+2013-07-14,98
+2013-07-17,97.05
+2013-07-20,92
+2013-07-23,91.99
+2013-07-26,97
+2013-07-29,98.7
+2013-08-01,106.2
+2013-08-04,104.95
+2013-08-07,106.56
+2013-08-10,102.8
+2013-08-13,106.64
+2013-08-16,98.08
+2013-08-19,99.3
+2013-08-22,110.43
+2013-08-25,109.04
+2013-08-28,117.72
+2013-08-31,124.84
+2013-09-03,130.09
+2013-09-06,122.63
+2013-09-09,118.18
+2013-09-12,126.54
+2013-09-15,124.05
+2013-09-18,139.15
+2013-09-21,123.04
+2013-09-24,122.65
+2013-09-27,124.65
+2013-09-30,127.01
+2013-10-03,103.85
+2013-10-06,121.2
+2013-10-09,124.12
+2013-10-12,127.41
+2013-10-15,135.17
+2013-10-18,143.94
+2013-10-21,186.12
+2013-10-24,203.7
+2013-10-27,179.56
+2013-10-29,216
+2013-11-01,203
+2013-11-04,229.95
+2013-11-07,291.02
+2013-11-10,328
+2013-11-13,393
+2013-11-16,437.24
+2013-11-19,547
+2013-11-22,795
+2013-11-25,814.56
+2013-11-28,1014.1
+2013-12-01,955.01
+2013-12-04,1136.9
+2013-12-07,705.91
+2013-12-10,978.76
+2013-12-13,885
+2013-12-16,690
+2013-12-19,685.3
+2013-12-22,614.11
+2013-12-25,679.02
+2013-12-28,715
+2013-12-31,732
+2014-01-03,807.39
+2014-01-06,915.69
+2014-01-09,826.28
+2014-01-12,844.04
+2014-01-15,841.83
+2014-01-18,811.2
+2014-01-21,824.78
+2014-01-24,780.02
+2014-01-27,747.57
+2014-01-30,800
+2014-02-02,814.34
+2014-02-05,781
+2014-02-08,680.8
+2014-02-11,675.1
+2014-02-14,670.29
+2014-02-17,629.96
+2014-02-20,563
+2014-02-23,611.05
+2014-02-26,585.21
+2014-03-01,567.48
+2014-03-04,673.28
+2014-03-07,631.99
+2014-03-10,629.33
+2014-03-13,641.01
+2014-03-16,634.99
+2014-03-19,611.2
+2014-03-22,563.01
+2014-03-25,585.79
+2014-03-28,499.6
+2014-04-01,457.49
+2014-04-04,448.72
+2014-04-07,458
+2014-04-10,441.93
+2014-04-13,423.37
+2014-04-16,523
+2014-04-19,482.11
+2014-04-22,498.38
+2014-04-25,502.15
+2014-04-28,438.8
+2014-05-01,452.03
+2014-05-04,440
+2014-05-07,428.01
+2014-05-10,449
+2014-05-13,442.45
+2014-05-16,446.53
+2014-05-19,446.89
+2014-05-22,493.97
+2014-05-25,527.91
+2014-05-28,572.7
+2014-05-31,621.3
+2014-06-03,662
+2014-06-06,661.48
+2014-06-09,657.11
+2014-06-12,624.97
+2014-06-15,572.28
+2014-06-18,608
+2014-06-21,593.48
+2014-06-24,588.25
+2014-06-27,577.34
+2014-06-30,599.99
+2014-07-03,650.49
+2014-07-06,631
+2014-07-09,624.97
+2014-07-12,634
+2014-07-15,621.21
+2014-07-18,625.8
+2014-07-21,627
+2014-07-24,620.43
+2014-07-27,595.9
+2014-07-30,585.5
+2014-08-02,595.76
+2014-08-05,588.5
+2014-08-08,585.02
+2014-08-11,590.74
+2014-08-14,549.98
+2014-08-17,523.88
+2014-08-20,490
+2014-08-23,515.69
+2014-08-26,501.55
+2014-08-29,506.61
+2014-09-01,478.87
+2014-09-04,474.5
+2014-09-07,479.59
+2014-09-10,473.35
+2014-09-13,474.62
+2014-09-16,470.83
+2014-09-19,425.56
+2014-09-22,401.15
+2014-09-25,423.68
+2014-09-28,400.39
+2014-10-01,390.18
+2014-10-04,358.9
+2014-10-07,327.61
+2014-10-10,363.61
+2014-10-13,380.8
+2014-10-16,394.84
+2014-10-19,391
+2014-10-22,385.89
+2014-10-25,358.49
+2014-10-27,350.9
+2014-10-30,345.3
+2014-11-02,324.36
+2014-11-05,338.63
+2014-11-08,346.94
+2014-11-11,369.41
+2014-11-14,399.11
+2014-11-17,388.87
+2014-11-20,356.47
+2014-11-23,367.12
+2014-11-26,366.86
+2014-11-29,375.59
+2014-12-02,379.62
+2014-12-05,376
+2014-12-08,362.99
+2014-12-11,348.97
+2014-12-14,357.8
+2014-12-17,321.34
+2014-12-20,331.52
+2014-12-23,336.95
+2014-12-26,329.94
+2014-12-29,313.4
+2015-01-01,314.81
+2015-01-04,263.17
+2015-01-07,297.99
+2015-01-10,275.97
+2015-01-13,222
+2015-01-16,208.13
+2015-01-19,216.01
+2015-01-22,233.51
+2015-01-25,254.32
+2015-01-28,236.2
+2015-01-31,219.25
+2015-02-03,227.53
+2015-02-06,222.36
+2015-02-09,219.93
+2015-02-12,222.33
+2015-02-15,234.18
+2015-02-18,237.44
+2015-02-21,245.41
+2015-02-24,239.94
+2015-02-27,252.11
+2015-03-02,275.87
+2015-03-05,273.11
+2015-03-08,275
+2015-03-11,296.56
+2015-03-14,282.2
+2015-03-17,284.48
+2015-03-20,262.1
+2015-03-23,265.99
+2015-03-26,249.23
+2015-03-30,242.34
+2015-04-02,246.49
+2015-04-05,253.67
+2015-04-08,253.9
+2015-04-11,236
+2015-04-14,223.01
+2015-04-17,227.5
+2015-04-20,222.61
+2015-04-23,233.59
+2015-04-26,226.29
+2015-04-29,225.2
+2015-05-02,230.97
+2015-05-05,238.25
+2015-05-08,237.16
+2015-05-11,239.11
+2015-05-14,235.97
+2015-05-17,236.63
+2015-05-20,231.4
+2015-05-23,238.8
+2015-05-26,235.59
+2015-05-29,236.44
+2015-06-01,228.34
+2015-06-04,225.4
+2015-06-07,224.99
+2015-06-10,228.88
+2015-06-13,229.6
+2015-06-16,236
+2015-06-19,248.26
+2015-06-22,243.55
+2015-06-25,240.2
+2015-06-28,251.21
+2015-07-01,262.43
+2015-07-04,256.12
+2015-07-07,268.53
+2015-07-10,269
+2015-07-13,310.55
+2015-07-16,285.66
+2015-07-19,276.74
+2015-07-22,276.76
+2015-07-25,289
+2015-07-28,293.93
+2015-07-31,288.45
+2015-08-03,282.26
+2015-08-06,281
+2015-08-09,262.22
+2015-08-12,270.98
+2015-08-15,265.93
+2015-08-18,256.66
+2015-08-21,235.31
+2015-08-24,228.14
+2015-08-27,225.04
+2015-08-30,229.63
+2015-09-02,227.97
+2015-09-05,230.73
+2015-09-08,240.47
+2015-09-11,238.81
+2015-09-14,230
+2015-09-17,228.33
+2015-09-20,230.25
+2015-09-23,230.42
+2015-09-26,235.22
+2015-09-29,239.14
+2015-10-02,238.03
+2015-10-05,238.4
+2015-10-08,243.01
+2015-10-11,245.72
+2015-10-14,249.98
+2015-10-17,262.26
+2015-10-20,263.59
+2015-10-23,274.35
+2015-10-25,282.8
+2015-10-28,304.79
+2015-10-31,310.18
+2015-11-03,404.5
+2015-11-06,373.69
+2015-11-09,380.62
+2015-11-12,340.81
+2015-11-15,318.97
+2015-11-18,333.66
+2015-11-21,326.31
+2015-11-24,319.64
+2015-11-27,358
+2015-11-30,377.27
+2015-12-03,361.47
+2015-12-06,387.3
+2015-12-09,416.49
+2015-12-12,436.2
+2015-12-15,463.98
+2015-12-18,463
+2015-12-21,438.35
+2015-12-24,456
+2015-12-27,422.42
+2015-12-30,428.23
+2016-01-02,432.76
+2016-01-05,432.43
+2016-01-08,452.64
+2016-01-11,447.98
+2016-01-14,429.55
+2016-01-17,380.16
+2016-01-20,420.35
+2016-01-23,385.09
+2016-01-26,391.66
+2016-01-29,378.18
+2016-02-01,371.99
+2016-02-04,388
+2016-02-07,375
+2016-02-10,379.14
+2016-02-13,389.88
+2016-02-16,407
+2016-02-19,419.98
+2016-02-22,436.76
+2016-02-25,423.46
+2016-02-28,431.89
+2016-03-02,422.5
+2016-03-05,399.17
+2016-03-08,412.15
+2016-03-11,420.11
+2016-03-14,414.99
+2016-03-17,418.49
+2016-03-20,411.81
+2016-03-23,417.96
+2016-03-26,416.96
+2016-03-30,415.83
+2016-04-02,416.31
+2016-04-05,419.71
+2016-04-08,419.95
+2016-04-11,420.75
+2016-04-14,423.87
+2016-04-17,430.58
+2016-04-20,435.95
+2016-04-23,447.7
+2016-04-26,462.5
+2016-04-29,449.98
+2016-05-02,453
+2016-05-05,446.84
+2016-05-08,459.02
+2016-05-11,450.78
+2016-05-14,455.82
+2016-05-17,454
+2016-05-20,436.05
+2016-05-23,438.47
+2016-05-26,448.7
+2016-05-29,526.64
+2016-06-01,531.97
+2016-06-04,567.88
+2016-06-07,583.72
+2016-06-10,574.32
+2016-06-13,665.85
+2016-06-16,693.88
+2016-06-19,751.96
+2016-06-22,664.46
+2016-06-25,665
+2016-06-28,651.85
+2016-07-01,667.95
+2016-07-04,656.97
+2016-07-07,673.76
+2016-07-10,647.41
+2016-07-13,664.5
+2016-07-16,663.19
+2016-07-19,673.46
+2016-07-22,664
+2016-07-25,661.48
+2016-07-28,655.37
+2016-07-31,654.68
+2016-08-03,530.74
+2016-08-06,572.72
+2016-08-09,591.69
+2016-08-12,586.01
+2016-08-15,567.34
+2016-08-18,570.92
+2016-08-21,577.52
+2016-08-24,581.98
+2016-08-27,577.77
+2016-08-30,571.5
+2016-09-02,571
+2016-09-05,603.95
+2016-09-08,615.33
+2016-09-11,621.65
+2016-09-14,608.82
+2016-09-17,607.04
+2016-09-20,608.66
+2016-09-23,594.08
+2016-09-26,598.98
+2016-09-29,603.85
+2016-10-02,612.98
+2016-10-05,607.18
+2016-10-08,614.74
+2016-10-11,614.77
+2016-10-14,634.02
+2016-10-17,638.97
+2016-10-20,627.72
+2016-10-23,653.25
+2016-10-26,651.45
+2016-10-29,685.91
+2016-10-31,697.01
+2016-11-03,683.69
+2016-11-06,709.96
+2016-11-09,721.5
+2016-11-12,702.28
+2016-11-15,711.73
+2016-11-18,748.98
+2016-11-21,736.97
+2016-11-24,735.64
+2016-11-27,727.31
+2016-11-30,742.05
+2016-12-03,762.97
+2016-12-06,758.99
+2016-12-09,769.08
+2016-12-12,777.99
+2016-12-15,775.88
+2016-12-18,788.67
+2016-12-21,834.97
+2016-12-24,892.6
+2016-12-27,930.34
+2016-12-30,958.12
+2017-01-02,1013.42
+2017-01-05,999.65
+2017-01-08,910.49
+2017-01-11,780.92
+2017-01-14,819.55
+2017-01-17,906.6
+2017-01-20,895.64
+2017-01-23,919.97
+2017-01-26,915.05
+2017-01-29,912.19
+2017-02-01,983.42
+2017-02-04,1034.07
+2017-02-07,1052.84
+2017-02-10,997.59
+2017-02-13,1001.2
+2017-02-16,1035.2
+2017-02-19,1050.87
+2017-02-22,1130.01
+2017-02-25,1150.37
+2017-02-28,1190.89
+2017-03-03,1287
+2017-03-06,1279.5
+2017-03-09,1192.09
+2017-03-12,1227.68
+2017-03-15,1257
+2017-03-18,967.69
+2017-03-21,1113
+2017-03-24,927.93
+2017-03-28,1041.04
+2017-03-31,1034.74
+2017-04-03,1079.99
+2017-04-06,1133.53
+2017-04-09,1184.03
+2017-04-12,1219.09
+2017-04-15,1170.36
+2017-04-18,1176.97
+2017-04-21,1236.63
+2017-04-24,1240.84
+2017-04-27,1288.02
+2017-04-30,1333
+2017-05-03,1447.55
+2017-05-06,1518.75
+2017-05-09,1651.1
+2017-05-12,1829
+2017-05-15,1780
+2017-05-18,1783.98
+2017-05-21,2008.84
+2017-05-24,2256.32
+2017-05-27,2279.82
+2017-05-30,2290.02
+2017-06-02,2409.93
+2017-06-05,2529.53
+2017-06-08,2683.03
+2017-06-11,2898.63
+2017-06-14,2706
+2017-06-17,2477.94
+2017-06-20,2600
+2017-06-23,2713.48
+2017-06-26,2502.03
+2017-06-29,2558.3
+2017-07-02,2421.26
+2017-07-05,2598.89
+2017-07-08,2502.86
+2017-07-11,2327.09
+2017-07-14,2338.49
+2017-07-17,1910.96
+2017-07-20,2265.21
+2017-07-23,2825.51
+2017-07-26,2564.3
+2017-07-29,2784.8
+2017-08-01,2862.9
+2017-08-04,2790
+2017-08-07,3210.2
+2017-08-10,3340.28
+2017-08-13,3868.52
+2017-08-16,4179.97
+2017-08-19,4104.71
+2017-08-22,3986.28
+2017-08-25,4331.77
+2017-08-28,4339.05
+2017-08-31,4582.52
+2017-09-03,4585.57
+2017-09-06,4385.02
+2017-09-09,4312.26
+2017-09-12,4198.59
+2017-09-15,3216.43
+2017-09-18,3678.53
+2017-09-21,3894.48
+2017-09-24,3777.62
+2017-09-27,3881
+2017-09-30,4164.27
+2017-10-03,4394.07
+2017-10-06,4318.58
+2017-10-09,4605.66
+2017-10-12,4822.17
+2017-10-15,5825.99
+2017-10-18,5594.66
+2017-10-21,5986.44
+2017-10-24,5900.59
+2017-10-27,5889.82
+2017-10-29,6136.49
+2017-11-01,6751.98
+2017-11-04,7365.99
+2017-11-07,7128.64
+2017-11-10,6569.22
+2017-11-13,6493.63
+2017-11-16,7868.77
+2017-11-19,8049.72
+2017-11-22,8236.72
+2017-11-25,8768.8
+2017-11-28,9919
+2017-12-01,10879.88
+2017-12-04,11591.22
+2017-12-07,16860.88
+2017-12-10,15068.95
+2017-12-13,16252.31
+2017-12-16,19279.9
+2017-12-19,17382.94
+2017-12-22,13776.61
+2017-12-25,13740.94
+2017-12-28,14214.01
+2017-12-31,13796
+2018-01-03,15039.24
+2018-01-06,17155.95
+2018-01-09,14437.42
+2018-01-12,13791.19
+2018-01-15,13554.14
+2018-01-18,11174.82
+2018-01-21,11513.42
+2018-01-24,11392.03
+2018-01-27,11431.37
+2018-01-30,10082.52
+2018-02-02,8852.73
+2018-02-05,6925.46
+2018-02-08,8245.08
+2018-02-11,8068.02
+2018-02-14,9471.64
+2018-02-17,11085.83
+2018-02-20,11245.98
+2018-02-23,10171.3
+2018-02-26,10319.46
+2018-03-01,10931.12
+2018-03-04,11516.83
+2018-03-07,9920.46
+2018-03-10,8777.37
+2018-03-13,9153.54
+2018-03-16,8297.89
+2018-03-19,8605.64
+2018-03-22,8725.37
+2018-03-26,8457.96
+2018-03-29,7950.61
+2018-04-01,6937.56
+2018-04-04,7426.48
+2018-04-07,6634.68
+2018-04-10,6784.41
+2018-04-13,7941.46
+2018-04-16,8368.1
+2018-04-19,8175.96
+2018-04-22,8930.6
+2018-04-25,9658.11
+2018-04-28,8928.55
+2018-05-01,9239.55
+2018-05-04,9753.35
+2018-05-07,9631.44
+2018-05-10,9310.37
+2018-05-13,8463.52
+2018-05-16,8471.06
+2018-05-19,8239.08
+2018-05-22,8396.63
+2018-05-25,7576.78
+2018-05-28,7344.56
+2018-05-31,7386.72
+2018-06-03,7637.14
+2018-06-06,7619.43
+2018-06-09,7615.54
+2018-06-12,6879.31
+2018-06-15,6637.41
+2018-06-18,6445.79
+2018-06-21,6760.83
+2018-06-24,6170.46
+2018-06-27,6097.46
+2018-06-30,6223.28
+2018-07-03,6626.44
+2018-07-06,6555.51
+2018-07-09,6724.04
+2018-07-12,6403.18
+2018-07-15,6248.84
+2018-07-18,7321.62
+2018-07-21,7334.99
+2018-07-24,7715.1
+2018-07-27,7939.81
+2018-07-30,8220.91
+2018-08-02,7607.7
+2018-08-05,7011.28
+2018-08-08,6718.23
+2018-08-11,6138.96
+2018-08-14,6252.13
+2018-08-17,6312.75
+2018-08-20,6486.58
+2018-08-23,6354.57
+2018-08-26,6738.27
+2018-08-29,7078.19
+2018-09-01,7018.78
+2018-09-04,7265.08
+2018-09-07,6501.19
+2018-09-10,6240.98
+2018-09-13,6326.04
+2018-09-16,6522.39
+2018-09-19,6342.39
+2018-09-22,6756.12
+2018-09-25,6583.45
+2018-09-28,6686.08
+2018-10-01,6611.02
+2018-10-04,6483.73
+2018-10-07,6573.62
+2018-10-10,6626.85
+2018-10-13,6247
+2018-10-16,6599.17
+2018-10-19,6509.61
+2018-10-22,6504.78
+2018-10-25,6489.77
+2018-10-28,6457.21
+2018-10-30,6301.61
+2018-11-02,6390.42
+2018-11-05,6437.76
+2018-11-08,6444.97
+2018-11-11,6408.53
+2018-11-14,5756.77
+2018-11-17,5572.44
+2018-11-20,4491.98
+2018-11-23,4352.98
+2018-11-26,3793.35
+2018-11-29,4278.77
+2018-12-02,4140.6
+2018-12-05,3744.98
+2018-12-08,3453.66
+2018-12-11,3407.28
+2018-12-14,3242.42
+2018-12-17,3556.54
+2018-12-20,4135.19
+2018-12-23,3995.17
+2018-12-26,3848.21
+2018-12-29,3770.36
+2019-01-01,3855.88
+2019-01-04,3856.62
+2019-01-07,4032.25
+2019-01-10,3646.25
+2019-01-13,3531.96
+2019-01-16,3621.43
+2019-01-19,3703.98
+2019-01-22,3587.35
+2019-01-25,3577.79
+2019-01-28,3448.58
+2019-01-31,3444.81
+2019-02-03,3456.02
+2019-02-06,3405.7
+2019-02-09,3664.38
+2019-02-12,3632.42
+2019-02-15,3608.2
+2019-02-18,3910.8
+2019-02-21,3944.88
+2019-02-24,3766.89
+2019-02-27,3833.23
+2019-03-02,3831.44
+2019-03-05,3872.25
+2019-03-08,3875.96
+2019-03-11,3881.09
+2019-03-14,3885.21
+2019-03-17,3994.92
+2019-03-20,4056.4
+2019-03-23,4011.92
+2019-03-26,3947.74
+2019-03-29,4115.55
+2019-04-02,4152.53
+2019-04-05,4911.24
+2019-04-08,5189.39
+2019-04-11,5310.18
+2019-04-14,5064.62
+2019-04-17,5196.65
+2019-04-20,5277.04
+2019-04-23,5377.19
+2019-04-26,5195.61
+2019-04-29,5301.29
+2019-05-02,5326.67
+2019-05-05,5771.08
+2019-05-08,5755.72
+2019-05-11,6348.02
+2019-05-14,7823.11
+2019-05-17,7885.96
+2019-05-20,8193.7
+2019-05-23,7625.93
+2019-05-26,8071.45
+2019-05-29,8719.88
+2019-06-01,8553.81
+2019-06-04,8134.92
+2019-06-07,7803.23
+2019-06-10,7640.61
+2019-06-13,8173.06
+2019-06-16,8859.47
+2019-06-19,9076.18
+2019-06-22,10209.38
+2019-06-25,11017.5
+2019-06-28,11132.85
+2019-07-01,10737.73
+2019-07-04,11984.76
+2019-07-07,11232.04
+2019-07-10,12586.78
+2019-07-13,11803.97
+2019-07-16,10873.5
+2019-07-19,10638.56
+2019-07-22,10587.41
+2019-07-25,9772.17
+2019-07-28,9473.99
+2019-07-31,9589.13
+2019-08-03,10529.55
+2019-08-06,11787.99
+2019-08-09,11996.41
+2019-08-12,11566.84
+2019-08-15,10016.96
+2019-08-18,10214.52
+2019-08-21,10760.56
+2019-08-24,10405.81
+2019-08-27,10360.28
+2019-08-30,9484.55
+2019-09-02,9769.79
+2019-09-05,10584.16
+2019-09-08,10487.21
+2019-09-11,10101.03
+2019-09-14,10363.9
+2019-09-17,10265.63
+2019-09-20,10275.88
+2019-09-23,10033.05
+2019-09-26,8432.23
+2019-09-29,8225
+2019-10-02,8322.92
+2019-10-05,8155.48
+2019-10-08,8212.02
+2019-10-11,8586.9
+2019-10-14,8283.76
+2019-10-17,8002.51
+2019-10-20,7960.04
+2019-10-23,8026.76
+2019-10-26,8666.79
+2019-10-28,9218.76
+2019-10-31,9147.98
+2019-11-03,9206.16
+2019-11-06,9343.34
+2019-11-09,8809.41
+2019-11-12,8801.52
+2019-11-15,8457.69
+2019-11-18,8175.99
+2019-11-21,7617.07
+2019-11-24,6907.4
+2019-11-27,7523.83
+2019-11-30,7557.72
+2019-12-03,7296.77
+2019-12-06,7547.19
+2019-12-09,7337.42
+2019-12-12,7189.16
+2019-12-15,7111.14
+2019-12-18,7284.29
+2019-12-21,7143.2
+2019-12-24,7250.69
+2019-12-27,7243.93
+2019-12-30,7219.6
+2020-01-02,6944.33
+2020-01-05,7351.57
+2020-01-08,8042.65
+2020-01-11,8021.49
+2020-01-14,8842.42
+2020-01-17,8900.34
+2020-01-20,8626.47
+2020-01-23,8388.11
+2020-01-26,8588.42
+2020-01-29,9279.81
+2020-02-01,9378.09
+2020-02-04,9162.14
+2020-02-07,9807.54
+2020-02-10,9854.79
+2020-02-13,10242.43
+2020-02-16,9937.67
+2020-02-19,9604.72
+2020-02-22,9669.63
+2020-02-25,9309.15
+2020-02-28,8712.35
+2020-03-02,8912.82
+2020-03-05,9067.39
+2020-03-08,8039.38
+2020-03-11,7936.65
+2020-03-14,5166.26
+2020-03-17,5357.61
+2020-03-20,6226.44
+2020-03-23,6502.16
+2020-03-26,6763.75
+2020-03-30,5885.41
+2020-04-02,6652.87
+2020-04-05,6871.69
+2020-04-08,7205.55
+2020-04-11,6873.24
+2020-04-14,6857.66
+2020-04-17,7112.27
+2020-04-20,7130.04
+2020-04-23,7130.99
+2020-04-26,7549.52
+2020-04-29,7765.33
+2020-05-02,8824.66
+2020-05-05,8885.93
+2020-05-08,10002.48
+2020-05-11,8754.46
+2020-05-14,9305.93
+2020-05-17,9385.7
+2020-05-20,9785.74
+2020-05-23,9167.26
+2020-05-26,8899.66
+2020-05-29,9569.21
+2020-06-01,9450.84
+2020-06-04,9658.04
+2020-06-07,9670.43
+2020-06-10,9775.15
+2020-06-13,9459.97
+2020-06-16,9426.7
+2020-06-19,9380.03
+2020-06-22,9284.78
+2020-06-25,9276.58
+2020-06-28,9004.23
+2020-07-01,9133.97
+2020-07-04,9072.42
+2020-07-07,9348.91
+2020-07-10,9238.04
+2020-07-13,9295.9
+2020-07-16,9193.51
+2020-07-19,9174.71
+2020-07-22,9392.66
+2020-07-25,9551.28
+2020-07-28,11042.4
+2020-07-31,11114.93
+2020-08-03,11077.77
+2020-08-06,11750.28
+2020-08-09,11767.6
+2020-08-12,11392.43
+2020-08-15,11774.38
+2020-08-18,12293.72
+2020-08-21,11865.82
+2020-08-24,11653.02
+2020-08-27,11467.37
+2020-08-30,11481.64
+2020-09-02,11923.25
+2020-09-05,10467.89
+2020-09-08,10367.74
+2020-09-11,10352.66
+2020-09-14,10330.77
+2020-09-17,10948.43
+2020-09-20,11081.43
+2020-09-23,10532.22
+2020-09-26,10692.84
+2020-09-29,10692.33
+2020-10-02,10619.24
+2020-10-05,10673.46
+2020-10-08,10670.8
+2020-10-11,11302.67
+2020-10-14,11428.24
+2020-10-17,11327.57
+2020-10-20,11758.16
+2020-10-23,12990.25
+2020-10-25,13036.77
+2020-10-28,13289
+2020-10-31,13810.32
+2020-11-03,14023.31
+2020-11-06,15595.77
+2020-11-09,15328.53
+2020-11-12,16295.57
+2020-11-15,15968.16
+2020-11-18,17798.45
+2020-11-21,18699.75
+2020-11-24,19172.52
+2020-11-27,17138.87
+2020-11-30,19709.73
+2020-12-03,19454.54
+2020-12-06,19377.66
+2020-12-09,18554.15
+2020-12-12,18803.44
+2020-12-15,19439.75
+2020-12-18,23150.79
+2020-12-21,22745.48
+2020-12-24,23715.53
+2020-12-27,26246.58
+2020-12-30,28856.59
+2021-01-02,32195.46
+2021-01-05,34046.67
+2021-01-08,40670.25
+2021-01-11,35544.94
+2021-01-14,39158.47
+2021-01-17,35793.01
+2021-01-20,35538.98
+2021-01-23,32099.74
+2021-01-26,32541.8
+2021-01-29,34314.26
+2021-02-01,33522.9
+2021-02-04,37002.09
+2021-02-07,38928.1
+2021-02-10,44878.17
+2021-02-13,47185.19
+2021-02-16,49160.1
+2021-02-19,55916.5
+2021-02-22,54123.4
+2021-02-25,46800.42
+2021-02-28,45113.92
+2021-03-03,50477.7
+2021-03-06,48881.59
+2021-03-09,54881.52
+2021-03-12,57253.28
+2021-03-15,55754.72
+2021-03-18,57665.9
+2021-03-21,57411.17
+2021-03-24,52508.23
+2021-03-27,55863.93
+2021-03-31,58730.13
+2021-04-03,59031.32
+2021-04-06,59054.1
+2021-04-09,58048.59
+2021-04-12,59964.87
+2021-04-15,62969.12
+2021-04-18,60087.09
+2021-04-21,56507.91
+2021-04-24,51153.13
+2021-04-27,54056.64
+2021-04-30,53584.15
+2021-05-03,56610.46
+2021-05-06,57473.23
+2021-05-09,58928.81
+2021-05-12,56750
+2021-05-15,49922.52
+2021-05-18,43596.24
+2021-05-21,40784.32
+2021-05-24,34754.54
+2021-05-27,39266.04
+2021-05-30,34647.67
+2021-06-02,36662.64
+2021-06-05,36885.51
+2021-06-08,33514.87
+2021-06-11,36704.57
+2021-06-14,39066.82
+2021-06-17,38324.87
+2021-06-20,35524.17
+2021-06-23,32447.59
+2021-06-26,31640.58
+2021-06-29,34456.67
+2021-07-02,33536.88
+2021-07-05,35309.3
+2021-07-08,33839.04
+2021-07-11,33515.57
+2021-07-14,32686.56
+2021-07-17,31421.25
+2021-07-20,30815.94
+2021-07-23,32297.89
+2021-07-26,35365.2
+2021-07-29,40002.53
+2021-08-01,41659.06
+2021-08-04,38138
+2021-08-07,42825.95
+2021-08-10,46333.46
+2021-08-13,44417.78
+2021-08-16,47056.41
+2021-08-19,44777.86
+2021-08-22,48932.02
+2021-08-25,47744.58
+2021-08-28,49056.86
+2021-08-31,47074.77
+2021-09-03,49329.01
+2021-09-06,51769.06
+2021-09-09,46078.38
+2021-09-12,45144.79
+2021-09-15,47072.12
+2021-09-18,47263.6
+2021-09-21,42901.56
+2021-09-24,44888.96
+2021-09-27,43182.63
+2021-09-30,41522.38
+2021-10-03,47727.1
+2021-10-06,51505.83
+2021-10-09,53867.3
+2021-10-12,57452.01
+2021-10-15,57397.74
+2021-10-18,61546.21
+2021-10-21,66063.56
+2021-10-24,61277.28
+2021-10-27,60345.17
+2021-10-30,62249.18
+2021-11-01,61029.5
+2021-11-04,61441.83
+2021-11-07,63293.22
+2021-11-10,64976.73
+2021-11-13,64420.94
+2021-11-16,60172.26
+2021-11-19,58133.02
+2021-11-22,56301.52
+2021-11-25,58935.45
+2021-11-28,57292.28
+2021-12-01,57229.76
+2021-12-04,49253.86
+2021-12-07,50645.41
+2021-12-10,47137.46
+2021-12-13,46757.09
+2021-12-16,47658.38
+2021-12-19,46689.28
+2021-12-22,48628.35
+2021-12-25,50470.89
+2021-12-28,47601.26
+2021-12-31,46249.56
+2022-01-03,46441.99
+2022-01-06,43120.63
+2022-01-09,41864.44
+2022-01-12,43926
+2022-01-15,43146.53
+2022-01-18,42381.48
+2022-01-21,36480.85
+2022-01-24,36678.82
+2022-01-27,37146.85
+2022-01-30,37918.62
+2022-02-02,36912.68
+2022-02-05,41435.43
+2022-02-08,44133.28
+2022-02-11,42401.27
+2022-02-14,42580.94
+2022-02-17,40565.69
+2022-02-20,38382.32
+2022-02-23,37291.48
+2022-02-26,39103.91
+2022-03-01,44418.83
+2022-03-04,39141.25
+2022-03-07,38032.5
+2022-03-10,39437.89
+2022-03-13,37820.39
+2022-03-16,41133.08
+2022-03-19,42222.32
+2022-03-22,42372.67
+2022-03-25,44334.33
+2022-03-29,47115.93

+ 23 - 0
Module_09/ex00/includes/BitcoinExchange.hpp

@@ -0,0 +1,23 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   BitcoinExchange.hpp                                :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 19:30:57 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:32:06 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#ifndef BITCOINEXCHANGE_HPP
+# define BITCOINEXCHANGE_HPP
+
+#include <map>
+#include "Date.hpp"
+
+void    ft_getcsv(std::map<Date, float> &Data);
+void    ft_process(char **av, std::map<Date, float> &Data);
+
+
+#endif /* ************************************************* BITCOINEXCHANGE_H */

+ 32 - 0
Module_09/ex00/includes/Date.hpp

@@ -0,0 +1,32 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   Date.hpp                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 18:06:10 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:29:02 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#ifndef DATE_HPP
+# define DATE_HPP
+
+# include <iostream>
+# include <string>
+
+struct Date {
+        int year;
+        int month;
+        int day;
+        
+};
+
+bool operator<(const Date &a, const Date &b);
+bool operator==(const Date &a, const Date &b);
+bool operator!=(const Date &a, const Date &b);
+
+std::ostream    &operator<<(std::ostream &o, const Date &date);
+
+#endif /* ************************************************************ DATE_H */

+ 10 - 0
Module_09/ex00/input.txt

@@ -0,0 +1,10 @@
+date | value
+2011-01-03 | 3
+2011-01-03 | 2
+2011-01-03 | 1
+2011-01-03 | 1.2
+2011-01-09 | 1
+2012-01-11 | -1
+2001-42-42
+2012-01-11 | 1
+2012-01-11 | 2147483648

+ 92 - 0
Module_09/ex00/srcs/BitcoinExchange.cpp

@@ -0,0 +1,92 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   BitcoinExchange.cpp                                :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 19:29:59 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:35:25 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "BitcoinExchange.hpp"
+#include <fstream>
+#include <climits>
+
+void    ft_getcsv(std::map<Date, float> &Data)
+{
+    std::string     line;
+    std::ifstream   ifs;
+    std::string     token;
+    float           price;
+    Date            tmp;
+
+    ifs.open("data.csv");
+    if (!ifs) {
+        std::cout << "Error: could not open data.csv file." << std::endl;
+        throw std::exception();
+    }
+    std::getline(ifs, line);
+    while (std::getline(ifs, line)) {
+
+        token = line.substr(0, line.find(','));
+        tmp.year = atoi(token.substr(0, 4).c_str());
+        tmp.month = atoi(token.substr(5, 2).c_str());
+        tmp.day = atoi(token.substr(8, 2).c_str());
+
+        price = atof(line.substr(line.find(',') + 1, line.find('\n')).c_str());
+
+        if (tmp.year < 0 || tmp.month < 0 || tmp.month > 12 || tmp.day < 0 || tmp.day > 31) {
+            std::cout << "Error : Error in csv dates." << std::endl;
+            throw std::exception();
+        }
+        if (price < 0 || price > INT_MAX) {
+            std::cout << "Error : Error in csv price." << std::endl;
+            throw std::exception();
+        }
+        Data[tmp] = price;
+    }
+}
+
+void    ft_process(char **av, std::map<Date, float> &Data) {
+    std::ifstream                   ifs;
+    std::string                     line;
+    std::string                     token;
+    std::map<Date, float>::iterator it;
+    float                           amount;
+    Date                            tmp;
+
+    ifs.open(av[1]);
+    if (!ifs) {
+        std::cout << "Error: could not open " << av[1] << "." << std::endl;
+        throw std::exception();
+    }
+
+    std::getline(ifs, line);
+    while (std::getline(ifs, line)) { 
+        token = line.substr(0, line.find('|'));
+        tmp.year = atoi(token.substr(0, 4).c_str());
+        tmp.month = atoi(token.substr(5, 2).c_str());
+        tmp.day = atoi(token.substr(8, 2).c_str());
+
+        amount = atof(line.substr(line.find('|') + 1, line.find('\n')).c_str());
+        if (tmp.year < 0 || tmp.month < 0 || tmp.month > 12 || tmp.day < 0 || tmp.day > 31) {
+            std::cout << "Error : Bad date." << std::endl;
+            continue ;
+        }
+        if (amount < 0 || amount > INT_MAX) {
+            std::cout << "Error : Bad price." << std::endl;
+            continue ;
+        }
+
+        it = Data.lower_bound(tmp);
+        if (it->first != tmp) {
+            if (it == Data.begin())
+                std::cout << "Cannot find a price at the value " << tmp << "." << std::endl;
+            else
+                std::cout << tmp << " => " << amount << " = " << (--it)->second * amount << std::endl;
+        } else
+            std::cout << it->first << " => " << amount << " = " << it->second * amount << std::endl;
+    }
+}

+ 36 - 0
Module_09/ex00/srcs/Date.cpp

@@ -0,0 +1,36 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   Date.cpp                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 18:06:10 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:34:38 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include <iomanip>
+#include "Date.hpp"
+
+
+bool operator<(const Date &a, const Date &b) {
+    if (a.year != b.year)
+        return a.year < b.year;
+    if (a.month != b.month)
+        return a.month < b.month;
+    return a.day < b.day;
+}
+
+bool operator==(const Date &a, const Date &b) {
+    return a.year == b.year && a.month == b.month && a.day == b.day;
+}
+
+bool operator!=(const Date &a, const Date &b) {
+    return !(a == b);
+}
+
+std::ostream    &operator<<(std::ostream &o, const Date &date) {
+    o << date.year << "-" << std::setw(2) << std::setfill('0') << date.month << "-" << std::setw(2) << std::setfill('0') << date.day << std::setfill(' ');;
+    return o;
+}

+ 27 - 0
Module_09/ex00/srcs/main.cpp

@@ -0,0 +1,27 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   main.cpp                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/13 17:54:18 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:33:09 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "BitcoinExchange.hpp"
+
+
+int main(int ac, char **av)
+{
+    std::map<Date, float>    Data;
+
+    if (ac != 2) {
+        std::cout << "Error : no file specified." << std::endl;
+        throw std::exception();
+    } 
+    ft_getcsv(Data);
+    ft_process(av, Data);
+    return 0;
+}

+ 50 - 0
Module_09/ex01/Makefile

@@ -0,0 +1,50 @@
+# **************************************************************************** #
+#                                                                              #
+#                                                         :::      ::::::::    #
+#    Makefile                                           :+:      :+:    :+:    #
+#                                                     +:+ +:+         +:+      #
+#    By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+         #
+#                                                 +#+#+#+#+#+   +#+            #
+#    Created: 2016/07/24 00:00:08 by bchanot           #+#    #+#              #
+#    Updated: 2026/01/16 19:35:50 by bchanot          ###   ########.fr        #
+#                                                                              #
+# **************************************************************************** #
+
+NAME = btc
+MAKE_LIBS = make --no-print-directory
+SRCS_DIR = srcs/
+OBJS_DIR = .objects/
+CC = g++ -Wall -Wextra -Werror -g
+INC = -I./includes
+FILES = main BitcoinExchange Date
+SRCS = $(FILES)
+OBJS = $(addprefix $(OBJS_DIR), $(addsuffix .o, $(SRCS)))
+RED = \033[1;31m
+BLUE = \033[1;34m
+CYAN = \033[0;36m
+GREEN = \033[1;32m
+YELLOW = \033[1;33m
+EOC = \033[0m
+
+all: $(NAME)
+
+$(NAME): $(OBJS)
+	@echo -e "$(GREEN)Objects created.$(EOC)"
+	@$(CC) $(OBJS) $(INC) -o $(NAME)
+	@echo -e "$(GREEN)Compilation complete.$(EOC)"
+
+$(OBJS_DIR)%.o: $(SRCS_DIR)%.cpp
+	@mkdir -p $(dir $@)
+	$(CC) -c $< $(INC) -o $@
+
+clean:
+	@echo -e "$(RED)Deleting objects.$(EOC)"
+	@/bin/rm -rf $(OBJS_DIR)
+
+fclean: clean
+	@echo -e "$(RED)Deleting binary.$(EOC)"
+	@/bin/rm -rf $(NAME)
+
+re: fclean all
+
+.PHONY: all clean fclean re

BIN
Module_09/ex01/btc


+ 1613 - 0
Module_09/ex01/data.csv

@@ -0,0 +1,1613 @@
+date,exchange_rate
+2009-01-02,0
+2009-01-05,0
+2009-01-08,0
+2009-01-11,0
+2009-01-14,0
+2009-01-17,0
+2009-01-20,0
+2009-01-23,0
+2009-01-26,0
+2009-01-29,0
+2009-02-01,0
+2009-02-04,0
+2009-02-07,0
+2009-02-10,0
+2009-02-13,0
+2009-02-16,0
+2009-02-19,0
+2009-02-22,0
+2009-02-25,0
+2009-02-28,0
+2009-03-03,0
+2009-03-06,0
+2009-03-09,0
+2009-03-12,0
+2009-03-15,0
+2009-03-18,0
+2009-03-21,0
+2009-03-24,0
+2009-03-27,0
+2009-03-31,0
+2009-04-03,0
+2009-04-06,0
+2009-04-09,0
+2009-04-12,0
+2009-04-15,0
+2009-04-18,0
+2009-04-21,0
+2009-04-24,0
+2009-04-27,0
+2009-04-30,0
+2009-05-03,0
+2009-05-06,0
+2009-05-09,0
+2009-05-12,0
+2009-05-15,0
+2009-05-18,0
+2009-05-21,0
+2009-05-24,0
+2009-05-27,0
+2009-05-30,0
+2009-06-02,0
+2009-06-05,0
+2009-06-08,0
+2009-06-11,0
+2009-06-14,0
+2009-06-17,0
+2009-06-20,0
+2009-06-23,0
+2009-06-26,0
+2009-06-29,0
+2009-07-02,0
+2009-07-05,0
+2009-07-08,0
+2009-07-11,0
+2009-07-14,0
+2009-07-17,0
+2009-07-20,0
+2009-07-23,0
+2009-07-26,0
+2009-07-29,0
+2009-08-01,0
+2009-08-04,0
+2009-08-07,0
+2009-08-10,0
+2009-08-13,0
+2009-08-16,0
+2009-08-19,0
+2009-08-22,0
+2009-08-25,0
+2009-08-28,0
+2009-08-31,0
+2009-09-03,0
+2009-09-06,0
+2009-09-09,0
+2009-09-12,0
+2009-09-15,0
+2009-09-18,0
+2009-09-21,0
+2009-09-24,0
+2009-09-27,0
+2009-09-30,0
+2009-10-03,0
+2009-10-06,0
+2009-10-09,0
+2009-10-12,0
+2009-10-15,0
+2009-10-18,0
+2009-10-21,0
+2009-10-24,0
+2009-10-26,0
+2009-10-29,0
+2009-11-01,0
+2009-11-04,0
+2009-11-07,0
+2009-11-10,0
+2009-11-13,0
+2009-11-16,0
+2009-11-19,0
+2009-11-22,0
+2009-11-25,0
+2009-11-28,0
+2009-12-01,0
+2009-12-04,0
+2009-12-07,0
+2009-12-10,0
+2009-12-13,0
+2009-12-16,0
+2009-12-19,0
+2009-12-22,0
+2009-12-25,0
+2009-12-28,0
+2009-12-31,0
+2010-01-03,0
+2010-01-06,0
+2010-01-09,0
+2010-01-12,0
+2010-01-15,0
+2010-01-18,0
+2010-01-21,0
+2010-01-24,0
+2010-01-27,0
+2010-01-30,0
+2010-02-02,0
+2010-02-05,0
+2010-02-08,0
+2010-02-11,0
+2010-02-14,0
+2010-02-17,0
+2010-02-20,0
+2010-02-23,0
+2010-02-26,0
+2010-03-01,0
+2010-03-04,0
+2010-03-07,0
+2010-03-10,0
+2010-03-13,0
+2010-03-16,0
+2010-03-19,0
+2010-03-22,0
+2010-03-25,0
+2010-03-29,0
+2010-04-01,0
+2010-04-04,0
+2010-04-07,0
+2010-04-10,0
+2010-04-13,0
+2010-04-16,0
+2010-04-19,0
+2010-04-22,0
+2010-04-25,0
+2010-04-28,0
+2010-05-01,0
+2010-05-04,0
+2010-05-07,0
+2010-05-10,0
+2010-05-13,0
+2010-05-16,0
+2010-05-19,0
+2010-05-22,0
+2010-05-25,0
+2010-05-28,0
+2010-05-31,0
+2010-06-03,0
+2010-06-06,0
+2010-06-09,0
+2010-06-12,0
+2010-06-15,0
+2010-06-18,0
+2010-06-21,0
+2010-06-24,0
+2010-06-27,0
+2010-06-30,0
+2010-07-03,0
+2010-07-06,0
+2010-07-09,0
+2010-07-12,0
+2010-07-15,0
+2010-07-18,0
+2010-07-21,0
+2010-07-24,0
+2010-07-27,0
+2010-07-30,0
+2010-08-02,0
+2010-08-05,0
+2010-08-08,0
+2010-08-11,0
+2010-08-14,0
+2010-08-17,0
+2010-08-20,0.07
+2010-08-23,0.07
+2010-08-26,0.07
+2010-08-29,0.06
+2010-09-01,0.06
+2010-09-04,0.06
+2010-09-07,0.06
+2010-09-10,0.06
+2010-09-13,0.06
+2010-09-16,0.15
+2010-09-19,0.06
+2010-09-22,0.06
+2010-09-25,0.06
+2010-09-28,0.06
+2010-10-01,0.06
+2010-10-04,0.06
+2010-10-07,0.06
+2010-10-10,0.12
+2010-10-13,0.1
+2010-10-16,0.12
+2010-10-19,0.1
+2010-10-22,0.11
+2010-10-25,0.18
+2010-10-28,0.19
+2010-10-31,0.19
+2010-11-02,0.21
+2010-11-05,0.25
+2010-11-08,0.36
+2010-11-11,0.24
+2010-11-14,0.3
+2010-11-17,0.28
+2010-11-20,0.29
+2010-11-23,0.29
+2010-11-26,0.29
+2010-11-29,0.28
+2010-12-02,0.25
+2010-12-05,0.23
+2010-12-08,0.25
+2010-12-11,0.23
+2010-12-14,0.23
+2010-12-17,0.25
+2010-12-20,0.27
+2010-12-23,0.25
+2010-12-26,0.27
+2010-12-29,0.3
+2011-01-01,0.3
+2011-01-04,0.3
+2011-01-07,0.32
+2011-01-10,0.33
+2011-01-13,0.42
+2011-01-16,0.4
+2011-01-19,0.35
+2011-01-22,0.43
+2011-01-25,0.43
+2011-01-28,0.45
+2011-01-31,0.61
+2011-02-03,0.78
+2011-02-06,0.92
+2011-02-09,0.97
+2011-02-12,1.09
+2011-02-15,1.08
+2011-02-18,1.04
+2011-02-21,0.88
+2011-02-24,0.96
+2011-02-27,0.96
+2011-03-02,0.95
+2011-03-05,0.92
+2011-03-08,0.9
+2011-03-11,0.93
+2011-03-14,0.9
+2011-03-17,0.87
+2011-03-20,0.79
+2011-03-23,0.86
+2011-03-26,0.9
+2011-03-30,0.8
+2011-04-02,0.8
+2011-04-05,0.77
+2011-04-08,0.78
+2011-04-11,0.76
+2011-04-14,0.99
+2011-04-17,1.09
+2011-04-20,1.19
+2011-04-23,1.38
+2011-04-26,1.71
+2011-04-29,2.66
+2011-05-02,3.95
+2011-05-05,3.56
+2011-05-08,3.75
+2011-05-11,5.41
+2011-05-14,8.56
+2011-05-17,8.47
+2011-05-20,7.28
+2011-05-23,6.81
+2011-05-26,7.95
+2011-05-29,8.68
+2011-06-01,9.47
+2011-06-04,15.05
+2011-06-07,19.19
+2011-06-10,32.34
+2011-06-13,24.87
+2011-06-16,19.99
+2011-06-19,17.6
+2011-06-22,15.39
+2011-06-25,16.95
+2011-06-28,17.89
+2011-07-01,17.38
+2011-07-04,15.74
+2011-07-07,16.44
+2011-07-10,15.16
+2011-07-13,14.52
+2011-07-16,14.25
+2011-07-19,13.93
+2011-07-22,13.94
+2011-07-25,14.16
+2011-07-28,14.1
+2011-07-31,14.06
+2011-08-03,13.37
+2011-08-06,11.42
+2011-08-09,9.66
+2011-08-12,10.35
+2011-08-15,11.4
+2011-08-18,11.39
+2011-08-21,11.75
+2011-08-24,11.47
+2011-08-27,10.01
+2011-08-30,9.4
+2011-09-02,8.46
+2011-09-05,8.56
+2011-09-08,7.53
+2011-09-11,6.49
+2011-09-14,6.19
+2011-09-17,5.18
+2011-09-20,5.89
+2011-09-23,5.8
+2011-09-26,5.49
+2011-09-29,4.95
+2011-10-02,5.27
+2011-10-05,5.03
+2011-10-08,4.79
+2011-10-11,4.23
+2011-10-14,4.37
+2011-10-17,3.87
+2011-10-20,2.59
+2011-10-23,3.31
+2011-10-26,3
+2011-10-29,3.39
+2011-10-31,3.38
+2011-11-03,3.28
+2011-11-06,3.04
+2011-11-09,3.09
+2011-11-12,3.11
+2011-11-15,2.67
+2011-11-18,2.37
+2011-11-21,2.3
+2011-11-24,2.48
+2011-11-27,2.51
+2011-11-30,3
+2011-12-03,3.1
+2011-12-06,3.06
+2011-12-09,3.04
+2011-12-12,3.33
+2011-12-15,3.2
+2011-12-18,3.36
+2011-12-21,4.08
+2011-12-24,4.06
+2011-12-27,4.09
+2011-12-30,4.47
+2012-01-02,5.45
+2012-01-05,6.6
+2012-01-08,7.2
+2012-01-11,7.1
+2012-01-14,6.81
+2012-01-17,6.97
+2012-01-20,6.57
+2012-01-23,6.47
+2012-01-26,6.08
+2012-01-29,5.72
+2012-02-01,5.77
+2012-02-04,5.99
+2012-02-07,5.74
+2012-02-10,5.94
+2012-02-13,5.69
+2012-02-16,4.74
+2012-02-19,4.38
+2012-02-22,4.63
+2012-02-25,5.05
+2012-02-28,4.98
+2012-03-02,4.94
+2012-03-05,5.04
+2012-03-08,4.99
+2012-03-11,4.98
+2012-03-14,5.45
+2012-03-17,5.4
+2012-03-20,4.95
+2012-03-23,4.81
+2012-03-27,4.74
+2012-03-30,4.85
+2012-04-02,4.97
+2012-04-05,4.96
+2012-04-08,4.94
+2012-04-11,4.9
+2012-04-14,4.97
+2012-04-17,4.99
+2012-04-20,5.19
+2012-04-23,5.3
+2012-04-26,5.16
+2012-04-29,5.09
+2012-05-02,5.04
+2012-05-05,5.15
+2012-05-08,5.1
+2012-05-11,5.1
+2012-05-14,5.01
+2012-05-17,5.1
+2012-05-20,5.14
+2012-05-23,5.13
+2012-05-26,5.15
+2012-05-29,5.16
+2012-06-01,5.21
+2012-06-04,5.27
+2012-06-07,5.48
+2012-06-10,5.68
+2012-06-13,5.76
+2012-06-16,6.27
+2012-06-19,6.48
+2012-06-22,6.8
+2012-06-25,6.56
+2012-06-28,6.58
+2012-07-01,6.69
+2012-07-04,6.71
+2012-07-07,6.74
+2012-07-10,6.98
+2012-07-13,7.46
+2012-07-16,7.8
+2012-07-19,9.37
+2012-07-22,9.53
+2012-07-25,8.91
+2012-07-28,8.95
+2012-07-31,9.22
+2012-08-03,10.12
+2012-08-06,11.21
+2012-08-09,11.35
+2012-08-12,11.64
+2012-08-15,12.3
+2012-08-18,15.37
+2012-08-21,10.45
+2012-08-24,10.25
+2012-08-27,10.99
+2012-08-30,11.14
+2012-09-02,10.36
+2012-09-05,10.59
+2012-09-08,11.27
+2012-09-11,11.14
+2012-09-14,11.48
+2012-09-17,11.98
+2012-09-20,12.63
+2012-09-23,12.4
+2012-09-26,12.24
+2012-09-29,12.46
+2012-10-02,12.58
+2012-10-05,13.07
+2012-10-08,12.58
+2012-10-11,12.16
+2012-10-14,12.1
+2012-10-17,11.99
+2012-10-20,11.94
+2012-10-23,11.86
+2012-10-26,11.56
+2012-10-28,10.69
+2012-10-31,11.17
+2012-11-03,10.62
+2012-11-06,10.97
+2012-11-09,11.04
+2012-11-12,11.17
+2012-11-15,11.28
+2012-11-18,11.82
+2012-11-21,11.9
+2012-11-24,12.46
+2012-11-27,12.5
+2012-11-30,12.66
+2012-12-03,12.75
+2012-12-06,13.69
+2012-12-09,13.53
+2012-12-12,13.8
+2012-12-15,13.75
+2012-12-18,13.4
+2012-12-21,13.63
+2012-12-24,13.45
+2012-12-27,13.51
+2012-12-30,13.57
+2013-01-02,13.42
+2013-01-05,13.54
+2013-01-08,13.84
+2013-01-11,14.31
+2013-01-14,14.34
+2013-01-17,15.53
+2013-01-20,16.15
+2013-01-23,17.97
+2013-01-26,17.71
+2013-01-29,19.78
+2013-02-01,21.25
+2013-02-04,20.99
+2013-02-07,22.15
+2013-02-10,23.97
+2013-02-13,24.3
+2013-02-16,27.39
+2013-02-19,29.48
+2013-02-22,30.52
+2013-02-25,30.4
+2013-02-28,33.36
+2013-03-03,34.25
+2013-03-06,42
+2013-03-09,46.93
+2013-03-12,44.32
+2013-03-15,46.9
+2013-03-18,52.12
+2013-03-21,70.25
+2013-03-24,71.93
+2013-03-27,88.8
+2013-03-30,92.5
+2013-04-03,117.34
+2013-04-06,142.1
+2013-04-09,186.96
+2013-04-12,124.9
+2013-04-15,100
+2013-04-18,93.9
+2013-04-21,127.5
+2013-04-24,142.5
+2013-04-27,137
+2013-04-30,144.54
+2013-05-03,103.3
+2013-05-06,115.98
+2013-05-09,113.35
+2013-05-12,115.68
+2013-05-15,112
+2013-05-18,123.32
+2013-05-21,122.02
+2013-05-24,126.7
+2013-05-27,133.5
+2013-05-30,132.3
+2013-06-02,129.3
+2013-06-05,121.42
+2013-06-08,111.5
+2013-06-11,106.1
+2013-06-14,103.9
+2013-06-17,99.9
+2013-06-20,107.68
+2013-06-23,108.35
+2013-06-26,103.89
+2013-06-29,94.65
+2013-07-02,87
+2013-07-05,80.04
+2013-07-08,75
+2013-07-11,87.9
+2013-07-14,98
+2013-07-17,97.05
+2013-07-20,92
+2013-07-23,91.99
+2013-07-26,97
+2013-07-29,98.7
+2013-08-01,106.2
+2013-08-04,104.95
+2013-08-07,106.56
+2013-08-10,102.8
+2013-08-13,106.64
+2013-08-16,98.08
+2013-08-19,99.3
+2013-08-22,110.43
+2013-08-25,109.04
+2013-08-28,117.72
+2013-08-31,124.84
+2013-09-03,130.09
+2013-09-06,122.63
+2013-09-09,118.18
+2013-09-12,126.54
+2013-09-15,124.05
+2013-09-18,139.15
+2013-09-21,123.04
+2013-09-24,122.65
+2013-09-27,124.65
+2013-09-30,127.01
+2013-10-03,103.85
+2013-10-06,121.2
+2013-10-09,124.12
+2013-10-12,127.41
+2013-10-15,135.17
+2013-10-18,143.94
+2013-10-21,186.12
+2013-10-24,203.7
+2013-10-27,179.56
+2013-10-29,216
+2013-11-01,203
+2013-11-04,229.95
+2013-11-07,291.02
+2013-11-10,328
+2013-11-13,393
+2013-11-16,437.24
+2013-11-19,547
+2013-11-22,795
+2013-11-25,814.56
+2013-11-28,1014.1
+2013-12-01,955.01
+2013-12-04,1136.9
+2013-12-07,705.91
+2013-12-10,978.76
+2013-12-13,885
+2013-12-16,690
+2013-12-19,685.3
+2013-12-22,614.11
+2013-12-25,679.02
+2013-12-28,715
+2013-12-31,732
+2014-01-03,807.39
+2014-01-06,915.69
+2014-01-09,826.28
+2014-01-12,844.04
+2014-01-15,841.83
+2014-01-18,811.2
+2014-01-21,824.78
+2014-01-24,780.02
+2014-01-27,747.57
+2014-01-30,800
+2014-02-02,814.34
+2014-02-05,781
+2014-02-08,680.8
+2014-02-11,675.1
+2014-02-14,670.29
+2014-02-17,629.96
+2014-02-20,563
+2014-02-23,611.05
+2014-02-26,585.21
+2014-03-01,567.48
+2014-03-04,673.28
+2014-03-07,631.99
+2014-03-10,629.33
+2014-03-13,641.01
+2014-03-16,634.99
+2014-03-19,611.2
+2014-03-22,563.01
+2014-03-25,585.79
+2014-03-28,499.6
+2014-04-01,457.49
+2014-04-04,448.72
+2014-04-07,458
+2014-04-10,441.93
+2014-04-13,423.37
+2014-04-16,523
+2014-04-19,482.11
+2014-04-22,498.38
+2014-04-25,502.15
+2014-04-28,438.8
+2014-05-01,452.03
+2014-05-04,440
+2014-05-07,428.01
+2014-05-10,449
+2014-05-13,442.45
+2014-05-16,446.53
+2014-05-19,446.89
+2014-05-22,493.97
+2014-05-25,527.91
+2014-05-28,572.7
+2014-05-31,621.3
+2014-06-03,662
+2014-06-06,661.48
+2014-06-09,657.11
+2014-06-12,624.97
+2014-06-15,572.28
+2014-06-18,608
+2014-06-21,593.48
+2014-06-24,588.25
+2014-06-27,577.34
+2014-06-30,599.99
+2014-07-03,650.49
+2014-07-06,631
+2014-07-09,624.97
+2014-07-12,634
+2014-07-15,621.21
+2014-07-18,625.8
+2014-07-21,627
+2014-07-24,620.43
+2014-07-27,595.9
+2014-07-30,585.5
+2014-08-02,595.76
+2014-08-05,588.5
+2014-08-08,585.02
+2014-08-11,590.74
+2014-08-14,549.98
+2014-08-17,523.88
+2014-08-20,490
+2014-08-23,515.69
+2014-08-26,501.55
+2014-08-29,506.61
+2014-09-01,478.87
+2014-09-04,474.5
+2014-09-07,479.59
+2014-09-10,473.35
+2014-09-13,474.62
+2014-09-16,470.83
+2014-09-19,425.56
+2014-09-22,401.15
+2014-09-25,423.68
+2014-09-28,400.39
+2014-10-01,390.18
+2014-10-04,358.9
+2014-10-07,327.61
+2014-10-10,363.61
+2014-10-13,380.8
+2014-10-16,394.84
+2014-10-19,391
+2014-10-22,385.89
+2014-10-25,358.49
+2014-10-27,350.9
+2014-10-30,345.3
+2014-11-02,324.36
+2014-11-05,338.63
+2014-11-08,346.94
+2014-11-11,369.41
+2014-11-14,399.11
+2014-11-17,388.87
+2014-11-20,356.47
+2014-11-23,367.12
+2014-11-26,366.86
+2014-11-29,375.59
+2014-12-02,379.62
+2014-12-05,376
+2014-12-08,362.99
+2014-12-11,348.97
+2014-12-14,357.8
+2014-12-17,321.34
+2014-12-20,331.52
+2014-12-23,336.95
+2014-12-26,329.94
+2014-12-29,313.4
+2015-01-01,314.81
+2015-01-04,263.17
+2015-01-07,297.99
+2015-01-10,275.97
+2015-01-13,222
+2015-01-16,208.13
+2015-01-19,216.01
+2015-01-22,233.51
+2015-01-25,254.32
+2015-01-28,236.2
+2015-01-31,219.25
+2015-02-03,227.53
+2015-02-06,222.36
+2015-02-09,219.93
+2015-02-12,222.33
+2015-02-15,234.18
+2015-02-18,237.44
+2015-02-21,245.41
+2015-02-24,239.94
+2015-02-27,252.11
+2015-03-02,275.87
+2015-03-05,273.11
+2015-03-08,275
+2015-03-11,296.56
+2015-03-14,282.2
+2015-03-17,284.48
+2015-03-20,262.1
+2015-03-23,265.99
+2015-03-26,249.23
+2015-03-30,242.34
+2015-04-02,246.49
+2015-04-05,253.67
+2015-04-08,253.9
+2015-04-11,236
+2015-04-14,223.01
+2015-04-17,227.5
+2015-04-20,222.61
+2015-04-23,233.59
+2015-04-26,226.29
+2015-04-29,225.2
+2015-05-02,230.97
+2015-05-05,238.25
+2015-05-08,237.16
+2015-05-11,239.11
+2015-05-14,235.97
+2015-05-17,236.63
+2015-05-20,231.4
+2015-05-23,238.8
+2015-05-26,235.59
+2015-05-29,236.44
+2015-06-01,228.34
+2015-06-04,225.4
+2015-06-07,224.99
+2015-06-10,228.88
+2015-06-13,229.6
+2015-06-16,236
+2015-06-19,248.26
+2015-06-22,243.55
+2015-06-25,240.2
+2015-06-28,251.21
+2015-07-01,262.43
+2015-07-04,256.12
+2015-07-07,268.53
+2015-07-10,269
+2015-07-13,310.55
+2015-07-16,285.66
+2015-07-19,276.74
+2015-07-22,276.76
+2015-07-25,289
+2015-07-28,293.93
+2015-07-31,288.45
+2015-08-03,282.26
+2015-08-06,281
+2015-08-09,262.22
+2015-08-12,270.98
+2015-08-15,265.93
+2015-08-18,256.66
+2015-08-21,235.31
+2015-08-24,228.14
+2015-08-27,225.04
+2015-08-30,229.63
+2015-09-02,227.97
+2015-09-05,230.73
+2015-09-08,240.47
+2015-09-11,238.81
+2015-09-14,230
+2015-09-17,228.33
+2015-09-20,230.25
+2015-09-23,230.42
+2015-09-26,235.22
+2015-09-29,239.14
+2015-10-02,238.03
+2015-10-05,238.4
+2015-10-08,243.01
+2015-10-11,245.72
+2015-10-14,249.98
+2015-10-17,262.26
+2015-10-20,263.59
+2015-10-23,274.35
+2015-10-25,282.8
+2015-10-28,304.79
+2015-10-31,310.18
+2015-11-03,404.5
+2015-11-06,373.69
+2015-11-09,380.62
+2015-11-12,340.81
+2015-11-15,318.97
+2015-11-18,333.66
+2015-11-21,326.31
+2015-11-24,319.64
+2015-11-27,358
+2015-11-30,377.27
+2015-12-03,361.47
+2015-12-06,387.3
+2015-12-09,416.49
+2015-12-12,436.2
+2015-12-15,463.98
+2015-12-18,463
+2015-12-21,438.35
+2015-12-24,456
+2015-12-27,422.42
+2015-12-30,428.23
+2016-01-02,432.76
+2016-01-05,432.43
+2016-01-08,452.64
+2016-01-11,447.98
+2016-01-14,429.55
+2016-01-17,380.16
+2016-01-20,420.35
+2016-01-23,385.09
+2016-01-26,391.66
+2016-01-29,378.18
+2016-02-01,371.99
+2016-02-04,388
+2016-02-07,375
+2016-02-10,379.14
+2016-02-13,389.88
+2016-02-16,407
+2016-02-19,419.98
+2016-02-22,436.76
+2016-02-25,423.46
+2016-02-28,431.89
+2016-03-02,422.5
+2016-03-05,399.17
+2016-03-08,412.15
+2016-03-11,420.11
+2016-03-14,414.99
+2016-03-17,418.49
+2016-03-20,411.81
+2016-03-23,417.96
+2016-03-26,416.96
+2016-03-30,415.83
+2016-04-02,416.31
+2016-04-05,419.71
+2016-04-08,419.95
+2016-04-11,420.75
+2016-04-14,423.87
+2016-04-17,430.58
+2016-04-20,435.95
+2016-04-23,447.7
+2016-04-26,462.5
+2016-04-29,449.98
+2016-05-02,453
+2016-05-05,446.84
+2016-05-08,459.02
+2016-05-11,450.78
+2016-05-14,455.82
+2016-05-17,454
+2016-05-20,436.05
+2016-05-23,438.47
+2016-05-26,448.7
+2016-05-29,526.64
+2016-06-01,531.97
+2016-06-04,567.88
+2016-06-07,583.72
+2016-06-10,574.32
+2016-06-13,665.85
+2016-06-16,693.88
+2016-06-19,751.96
+2016-06-22,664.46
+2016-06-25,665
+2016-06-28,651.85
+2016-07-01,667.95
+2016-07-04,656.97
+2016-07-07,673.76
+2016-07-10,647.41
+2016-07-13,664.5
+2016-07-16,663.19
+2016-07-19,673.46
+2016-07-22,664
+2016-07-25,661.48
+2016-07-28,655.37
+2016-07-31,654.68
+2016-08-03,530.74
+2016-08-06,572.72
+2016-08-09,591.69
+2016-08-12,586.01
+2016-08-15,567.34
+2016-08-18,570.92
+2016-08-21,577.52
+2016-08-24,581.98
+2016-08-27,577.77
+2016-08-30,571.5
+2016-09-02,571
+2016-09-05,603.95
+2016-09-08,615.33
+2016-09-11,621.65
+2016-09-14,608.82
+2016-09-17,607.04
+2016-09-20,608.66
+2016-09-23,594.08
+2016-09-26,598.98
+2016-09-29,603.85
+2016-10-02,612.98
+2016-10-05,607.18
+2016-10-08,614.74
+2016-10-11,614.77
+2016-10-14,634.02
+2016-10-17,638.97
+2016-10-20,627.72
+2016-10-23,653.25
+2016-10-26,651.45
+2016-10-29,685.91
+2016-10-31,697.01
+2016-11-03,683.69
+2016-11-06,709.96
+2016-11-09,721.5
+2016-11-12,702.28
+2016-11-15,711.73
+2016-11-18,748.98
+2016-11-21,736.97
+2016-11-24,735.64
+2016-11-27,727.31
+2016-11-30,742.05
+2016-12-03,762.97
+2016-12-06,758.99
+2016-12-09,769.08
+2016-12-12,777.99
+2016-12-15,775.88
+2016-12-18,788.67
+2016-12-21,834.97
+2016-12-24,892.6
+2016-12-27,930.34
+2016-12-30,958.12
+2017-01-02,1013.42
+2017-01-05,999.65
+2017-01-08,910.49
+2017-01-11,780.92
+2017-01-14,819.55
+2017-01-17,906.6
+2017-01-20,895.64
+2017-01-23,919.97
+2017-01-26,915.05
+2017-01-29,912.19
+2017-02-01,983.42
+2017-02-04,1034.07
+2017-02-07,1052.84
+2017-02-10,997.59
+2017-02-13,1001.2
+2017-02-16,1035.2
+2017-02-19,1050.87
+2017-02-22,1130.01
+2017-02-25,1150.37
+2017-02-28,1190.89
+2017-03-03,1287
+2017-03-06,1279.5
+2017-03-09,1192.09
+2017-03-12,1227.68
+2017-03-15,1257
+2017-03-18,967.69
+2017-03-21,1113
+2017-03-24,927.93
+2017-03-28,1041.04
+2017-03-31,1034.74
+2017-04-03,1079.99
+2017-04-06,1133.53
+2017-04-09,1184.03
+2017-04-12,1219.09
+2017-04-15,1170.36
+2017-04-18,1176.97
+2017-04-21,1236.63
+2017-04-24,1240.84
+2017-04-27,1288.02
+2017-04-30,1333
+2017-05-03,1447.55
+2017-05-06,1518.75
+2017-05-09,1651.1
+2017-05-12,1829
+2017-05-15,1780
+2017-05-18,1783.98
+2017-05-21,2008.84
+2017-05-24,2256.32
+2017-05-27,2279.82
+2017-05-30,2290.02
+2017-06-02,2409.93
+2017-06-05,2529.53
+2017-06-08,2683.03
+2017-06-11,2898.63
+2017-06-14,2706
+2017-06-17,2477.94
+2017-06-20,2600
+2017-06-23,2713.48
+2017-06-26,2502.03
+2017-06-29,2558.3
+2017-07-02,2421.26
+2017-07-05,2598.89
+2017-07-08,2502.86
+2017-07-11,2327.09
+2017-07-14,2338.49
+2017-07-17,1910.96
+2017-07-20,2265.21
+2017-07-23,2825.51
+2017-07-26,2564.3
+2017-07-29,2784.8
+2017-08-01,2862.9
+2017-08-04,2790
+2017-08-07,3210.2
+2017-08-10,3340.28
+2017-08-13,3868.52
+2017-08-16,4179.97
+2017-08-19,4104.71
+2017-08-22,3986.28
+2017-08-25,4331.77
+2017-08-28,4339.05
+2017-08-31,4582.52
+2017-09-03,4585.57
+2017-09-06,4385.02
+2017-09-09,4312.26
+2017-09-12,4198.59
+2017-09-15,3216.43
+2017-09-18,3678.53
+2017-09-21,3894.48
+2017-09-24,3777.62
+2017-09-27,3881
+2017-09-30,4164.27
+2017-10-03,4394.07
+2017-10-06,4318.58
+2017-10-09,4605.66
+2017-10-12,4822.17
+2017-10-15,5825.99
+2017-10-18,5594.66
+2017-10-21,5986.44
+2017-10-24,5900.59
+2017-10-27,5889.82
+2017-10-29,6136.49
+2017-11-01,6751.98
+2017-11-04,7365.99
+2017-11-07,7128.64
+2017-11-10,6569.22
+2017-11-13,6493.63
+2017-11-16,7868.77
+2017-11-19,8049.72
+2017-11-22,8236.72
+2017-11-25,8768.8
+2017-11-28,9919
+2017-12-01,10879.88
+2017-12-04,11591.22
+2017-12-07,16860.88
+2017-12-10,15068.95
+2017-12-13,16252.31
+2017-12-16,19279.9
+2017-12-19,17382.94
+2017-12-22,13776.61
+2017-12-25,13740.94
+2017-12-28,14214.01
+2017-12-31,13796
+2018-01-03,15039.24
+2018-01-06,17155.95
+2018-01-09,14437.42
+2018-01-12,13791.19
+2018-01-15,13554.14
+2018-01-18,11174.82
+2018-01-21,11513.42
+2018-01-24,11392.03
+2018-01-27,11431.37
+2018-01-30,10082.52
+2018-02-02,8852.73
+2018-02-05,6925.46
+2018-02-08,8245.08
+2018-02-11,8068.02
+2018-02-14,9471.64
+2018-02-17,11085.83
+2018-02-20,11245.98
+2018-02-23,10171.3
+2018-02-26,10319.46
+2018-03-01,10931.12
+2018-03-04,11516.83
+2018-03-07,9920.46
+2018-03-10,8777.37
+2018-03-13,9153.54
+2018-03-16,8297.89
+2018-03-19,8605.64
+2018-03-22,8725.37
+2018-03-26,8457.96
+2018-03-29,7950.61
+2018-04-01,6937.56
+2018-04-04,7426.48
+2018-04-07,6634.68
+2018-04-10,6784.41
+2018-04-13,7941.46
+2018-04-16,8368.1
+2018-04-19,8175.96
+2018-04-22,8930.6
+2018-04-25,9658.11
+2018-04-28,8928.55
+2018-05-01,9239.55
+2018-05-04,9753.35
+2018-05-07,9631.44
+2018-05-10,9310.37
+2018-05-13,8463.52
+2018-05-16,8471.06
+2018-05-19,8239.08
+2018-05-22,8396.63
+2018-05-25,7576.78
+2018-05-28,7344.56
+2018-05-31,7386.72
+2018-06-03,7637.14
+2018-06-06,7619.43
+2018-06-09,7615.54
+2018-06-12,6879.31
+2018-06-15,6637.41
+2018-06-18,6445.79
+2018-06-21,6760.83
+2018-06-24,6170.46
+2018-06-27,6097.46
+2018-06-30,6223.28
+2018-07-03,6626.44
+2018-07-06,6555.51
+2018-07-09,6724.04
+2018-07-12,6403.18
+2018-07-15,6248.84
+2018-07-18,7321.62
+2018-07-21,7334.99
+2018-07-24,7715.1
+2018-07-27,7939.81
+2018-07-30,8220.91
+2018-08-02,7607.7
+2018-08-05,7011.28
+2018-08-08,6718.23
+2018-08-11,6138.96
+2018-08-14,6252.13
+2018-08-17,6312.75
+2018-08-20,6486.58
+2018-08-23,6354.57
+2018-08-26,6738.27
+2018-08-29,7078.19
+2018-09-01,7018.78
+2018-09-04,7265.08
+2018-09-07,6501.19
+2018-09-10,6240.98
+2018-09-13,6326.04
+2018-09-16,6522.39
+2018-09-19,6342.39
+2018-09-22,6756.12
+2018-09-25,6583.45
+2018-09-28,6686.08
+2018-10-01,6611.02
+2018-10-04,6483.73
+2018-10-07,6573.62
+2018-10-10,6626.85
+2018-10-13,6247
+2018-10-16,6599.17
+2018-10-19,6509.61
+2018-10-22,6504.78
+2018-10-25,6489.77
+2018-10-28,6457.21
+2018-10-30,6301.61
+2018-11-02,6390.42
+2018-11-05,6437.76
+2018-11-08,6444.97
+2018-11-11,6408.53
+2018-11-14,5756.77
+2018-11-17,5572.44
+2018-11-20,4491.98
+2018-11-23,4352.98
+2018-11-26,3793.35
+2018-11-29,4278.77
+2018-12-02,4140.6
+2018-12-05,3744.98
+2018-12-08,3453.66
+2018-12-11,3407.28
+2018-12-14,3242.42
+2018-12-17,3556.54
+2018-12-20,4135.19
+2018-12-23,3995.17
+2018-12-26,3848.21
+2018-12-29,3770.36
+2019-01-01,3855.88
+2019-01-04,3856.62
+2019-01-07,4032.25
+2019-01-10,3646.25
+2019-01-13,3531.96
+2019-01-16,3621.43
+2019-01-19,3703.98
+2019-01-22,3587.35
+2019-01-25,3577.79
+2019-01-28,3448.58
+2019-01-31,3444.81
+2019-02-03,3456.02
+2019-02-06,3405.7
+2019-02-09,3664.38
+2019-02-12,3632.42
+2019-02-15,3608.2
+2019-02-18,3910.8
+2019-02-21,3944.88
+2019-02-24,3766.89
+2019-02-27,3833.23
+2019-03-02,3831.44
+2019-03-05,3872.25
+2019-03-08,3875.96
+2019-03-11,3881.09
+2019-03-14,3885.21
+2019-03-17,3994.92
+2019-03-20,4056.4
+2019-03-23,4011.92
+2019-03-26,3947.74
+2019-03-29,4115.55
+2019-04-02,4152.53
+2019-04-05,4911.24
+2019-04-08,5189.39
+2019-04-11,5310.18
+2019-04-14,5064.62
+2019-04-17,5196.65
+2019-04-20,5277.04
+2019-04-23,5377.19
+2019-04-26,5195.61
+2019-04-29,5301.29
+2019-05-02,5326.67
+2019-05-05,5771.08
+2019-05-08,5755.72
+2019-05-11,6348.02
+2019-05-14,7823.11
+2019-05-17,7885.96
+2019-05-20,8193.7
+2019-05-23,7625.93
+2019-05-26,8071.45
+2019-05-29,8719.88
+2019-06-01,8553.81
+2019-06-04,8134.92
+2019-06-07,7803.23
+2019-06-10,7640.61
+2019-06-13,8173.06
+2019-06-16,8859.47
+2019-06-19,9076.18
+2019-06-22,10209.38
+2019-06-25,11017.5
+2019-06-28,11132.85
+2019-07-01,10737.73
+2019-07-04,11984.76
+2019-07-07,11232.04
+2019-07-10,12586.78
+2019-07-13,11803.97
+2019-07-16,10873.5
+2019-07-19,10638.56
+2019-07-22,10587.41
+2019-07-25,9772.17
+2019-07-28,9473.99
+2019-07-31,9589.13
+2019-08-03,10529.55
+2019-08-06,11787.99
+2019-08-09,11996.41
+2019-08-12,11566.84
+2019-08-15,10016.96
+2019-08-18,10214.52
+2019-08-21,10760.56
+2019-08-24,10405.81
+2019-08-27,10360.28
+2019-08-30,9484.55
+2019-09-02,9769.79
+2019-09-05,10584.16
+2019-09-08,10487.21
+2019-09-11,10101.03
+2019-09-14,10363.9
+2019-09-17,10265.63
+2019-09-20,10275.88
+2019-09-23,10033.05
+2019-09-26,8432.23
+2019-09-29,8225
+2019-10-02,8322.92
+2019-10-05,8155.48
+2019-10-08,8212.02
+2019-10-11,8586.9
+2019-10-14,8283.76
+2019-10-17,8002.51
+2019-10-20,7960.04
+2019-10-23,8026.76
+2019-10-26,8666.79
+2019-10-28,9218.76
+2019-10-31,9147.98
+2019-11-03,9206.16
+2019-11-06,9343.34
+2019-11-09,8809.41
+2019-11-12,8801.52
+2019-11-15,8457.69
+2019-11-18,8175.99
+2019-11-21,7617.07
+2019-11-24,6907.4
+2019-11-27,7523.83
+2019-11-30,7557.72
+2019-12-03,7296.77
+2019-12-06,7547.19
+2019-12-09,7337.42
+2019-12-12,7189.16
+2019-12-15,7111.14
+2019-12-18,7284.29
+2019-12-21,7143.2
+2019-12-24,7250.69
+2019-12-27,7243.93
+2019-12-30,7219.6
+2020-01-02,6944.33
+2020-01-05,7351.57
+2020-01-08,8042.65
+2020-01-11,8021.49
+2020-01-14,8842.42
+2020-01-17,8900.34
+2020-01-20,8626.47
+2020-01-23,8388.11
+2020-01-26,8588.42
+2020-01-29,9279.81
+2020-02-01,9378.09
+2020-02-04,9162.14
+2020-02-07,9807.54
+2020-02-10,9854.79
+2020-02-13,10242.43
+2020-02-16,9937.67
+2020-02-19,9604.72
+2020-02-22,9669.63
+2020-02-25,9309.15
+2020-02-28,8712.35
+2020-03-02,8912.82
+2020-03-05,9067.39
+2020-03-08,8039.38
+2020-03-11,7936.65
+2020-03-14,5166.26
+2020-03-17,5357.61
+2020-03-20,6226.44
+2020-03-23,6502.16
+2020-03-26,6763.75
+2020-03-30,5885.41
+2020-04-02,6652.87
+2020-04-05,6871.69
+2020-04-08,7205.55
+2020-04-11,6873.24
+2020-04-14,6857.66
+2020-04-17,7112.27
+2020-04-20,7130.04
+2020-04-23,7130.99
+2020-04-26,7549.52
+2020-04-29,7765.33
+2020-05-02,8824.66
+2020-05-05,8885.93
+2020-05-08,10002.48
+2020-05-11,8754.46
+2020-05-14,9305.93
+2020-05-17,9385.7
+2020-05-20,9785.74
+2020-05-23,9167.26
+2020-05-26,8899.66
+2020-05-29,9569.21
+2020-06-01,9450.84
+2020-06-04,9658.04
+2020-06-07,9670.43
+2020-06-10,9775.15
+2020-06-13,9459.97
+2020-06-16,9426.7
+2020-06-19,9380.03
+2020-06-22,9284.78
+2020-06-25,9276.58
+2020-06-28,9004.23
+2020-07-01,9133.97
+2020-07-04,9072.42
+2020-07-07,9348.91
+2020-07-10,9238.04
+2020-07-13,9295.9
+2020-07-16,9193.51
+2020-07-19,9174.71
+2020-07-22,9392.66
+2020-07-25,9551.28
+2020-07-28,11042.4
+2020-07-31,11114.93
+2020-08-03,11077.77
+2020-08-06,11750.28
+2020-08-09,11767.6
+2020-08-12,11392.43
+2020-08-15,11774.38
+2020-08-18,12293.72
+2020-08-21,11865.82
+2020-08-24,11653.02
+2020-08-27,11467.37
+2020-08-30,11481.64
+2020-09-02,11923.25
+2020-09-05,10467.89
+2020-09-08,10367.74
+2020-09-11,10352.66
+2020-09-14,10330.77
+2020-09-17,10948.43
+2020-09-20,11081.43
+2020-09-23,10532.22
+2020-09-26,10692.84
+2020-09-29,10692.33
+2020-10-02,10619.24
+2020-10-05,10673.46
+2020-10-08,10670.8
+2020-10-11,11302.67
+2020-10-14,11428.24
+2020-10-17,11327.57
+2020-10-20,11758.16
+2020-10-23,12990.25
+2020-10-25,13036.77
+2020-10-28,13289
+2020-10-31,13810.32
+2020-11-03,14023.31
+2020-11-06,15595.77
+2020-11-09,15328.53
+2020-11-12,16295.57
+2020-11-15,15968.16
+2020-11-18,17798.45
+2020-11-21,18699.75
+2020-11-24,19172.52
+2020-11-27,17138.87
+2020-11-30,19709.73
+2020-12-03,19454.54
+2020-12-06,19377.66
+2020-12-09,18554.15
+2020-12-12,18803.44
+2020-12-15,19439.75
+2020-12-18,23150.79
+2020-12-21,22745.48
+2020-12-24,23715.53
+2020-12-27,26246.58
+2020-12-30,28856.59
+2021-01-02,32195.46
+2021-01-05,34046.67
+2021-01-08,40670.25
+2021-01-11,35544.94
+2021-01-14,39158.47
+2021-01-17,35793.01
+2021-01-20,35538.98
+2021-01-23,32099.74
+2021-01-26,32541.8
+2021-01-29,34314.26
+2021-02-01,33522.9
+2021-02-04,37002.09
+2021-02-07,38928.1
+2021-02-10,44878.17
+2021-02-13,47185.19
+2021-02-16,49160.1
+2021-02-19,55916.5
+2021-02-22,54123.4
+2021-02-25,46800.42
+2021-02-28,45113.92
+2021-03-03,50477.7
+2021-03-06,48881.59
+2021-03-09,54881.52
+2021-03-12,57253.28
+2021-03-15,55754.72
+2021-03-18,57665.9
+2021-03-21,57411.17
+2021-03-24,52508.23
+2021-03-27,55863.93
+2021-03-31,58730.13
+2021-04-03,59031.32
+2021-04-06,59054.1
+2021-04-09,58048.59
+2021-04-12,59964.87
+2021-04-15,62969.12
+2021-04-18,60087.09
+2021-04-21,56507.91
+2021-04-24,51153.13
+2021-04-27,54056.64
+2021-04-30,53584.15
+2021-05-03,56610.46
+2021-05-06,57473.23
+2021-05-09,58928.81
+2021-05-12,56750
+2021-05-15,49922.52
+2021-05-18,43596.24
+2021-05-21,40784.32
+2021-05-24,34754.54
+2021-05-27,39266.04
+2021-05-30,34647.67
+2021-06-02,36662.64
+2021-06-05,36885.51
+2021-06-08,33514.87
+2021-06-11,36704.57
+2021-06-14,39066.82
+2021-06-17,38324.87
+2021-06-20,35524.17
+2021-06-23,32447.59
+2021-06-26,31640.58
+2021-06-29,34456.67
+2021-07-02,33536.88
+2021-07-05,35309.3
+2021-07-08,33839.04
+2021-07-11,33515.57
+2021-07-14,32686.56
+2021-07-17,31421.25
+2021-07-20,30815.94
+2021-07-23,32297.89
+2021-07-26,35365.2
+2021-07-29,40002.53
+2021-08-01,41659.06
+2021-08-04,38138
+2021-08-07,42825.95
+2021-08-10,46333.46
+2021-08-13,44417.78
+2021-08-16,47056.41
+2021-08-19,44777.86
+2021-08-22,48932.02
+2021-08-25,47744.58
+2021-08-28,49056.86
+2021-08-31,47074.77
+2021-09-03,49329.01
+2021-09-06,51769.06
+2021-09-09,46078.38
+2021-09-12,45144.79
+2021-09-15,47072.12
+2021-09-18,47263.6
+2021-09-21,42901.56
+2021-09-24,44888.96
+2021-09-27,43182.63
+2021-09-30,41522.38
+2021-10-03,47727.1
+2021-10-06,51505.83
+2021-10-09,53867.3
+2021-10-12,57452.01
+2021-10-15,57397.74
+2021-10-18,61546.21
+2021-10-21,66063.56
+2021-10-24,61277.28
+2021-10-27,60345.17
+2021-10-30,62249.18
+2021-11-01,61029.5
+2021-11-04,61441.83
+2021-11-07,63293.22
+2021-11-10,64976.73
+2021-11-13,64420.94
+2021-11-16,60172.26
+2021-11-19,58133.02
+2021-11-22,56301.52
+2021-11-25,58935.45
+2021-11-28,57292.28
+2021-12-01,57229.76
+2021-12-04,49253.86
+2021-12-07,50645.41
+2021-12-10,47137.46
+2021-12-13,46757.09
+2021-12-16,47658.38
+2021-12-19,46689.28
+2021-12-22,48628.35
+2021-12-25,50470.89
+2021-12-28,47601.26
+2021-12-31,46249.56
+2022-01-03,46441.99
+2022-01-06,43120.63
+2022-01-09,41864.44
+2022-01-12,43926
+2022-01-15,43146.53
+2022-01-18,42381.48
+2022-01-21,36480.85
+2022-01-24,36678.82
+2022-01-27,37146.85
+2022-01-30,37918.62
+2022-02-02,36912.68
+2022-02-05,41435.43
+2022-02-08,44133.28
+2022-02-11,42401.27
+2022-02-14,42580.94
+2022-02-17,40565.69
+2022-02-20,38382.32
+2022-02-23,37291.48
+2022-02-26,39103.91
+2022-03-01,44418.83
+2022-03-04,39141.25
+2022-03-07,38032.5
+2022-03-10,39437.89
+2022-03-13,37820.39
+2022-03-16,41133.08
+2022-03-19,42222.32
+2022-03-22,42372.67
+2022-03-25,44334.33
+2022-03-29,47115.93

+ 23 - 0
Module_09/ex01/includes/BitcoinExchange.hpp

@@ -0,0 +1,23 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   BitcoinExchange.hpp                                :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 19:30:57 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:32:06 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#ifndef BITCOINEXCHANGE_HPP
+# define BITCOINEXCHANGE_HPP
+
+#include <map>
+#include "Date.hpp"
+
+void    ft_getcsv(std::map<Date, float> &Data);
+void    ft_process(char **av, std::map<Date, float> &Data);
+
+
+#endif /* ************************************************* BITCOINEXCHANGE_H */

+ 32 - 0
Module_09/ex01/includes/Date.hpp

@@ -0,0 +1,32 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   Date.hpp                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 18:06:10 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:29:02 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#ifndef DATE_HPP
+# define DATE_HPP
+
+# include <iostream>
+# include <string>
+
+struct Date {
+        int year;
+        int month;
+        int day;
+        
+};
+
+bool operator<(const Date &a, const Date &b);
+bool operator==(const Date &a, const Date &b);
+bool operator!=(const Date &a, const Date &b);
+
+std::ostream    &operator<<(std::ostream &o, const Date &date);
+
+#endif /* ************************************************************ DATE_H */

+ 10 - 0
Module_09/ex01/input.txt

@@ -0,0 +1,10 @@
+date | value
+2011-01-03 | 3
+2011-01-03 | 2
+2011-01-03 | 1
+2011-01-03 | 1.2
+2011-01-09 | 1
+2012-01-11 | -1
+2001-42-42
+2012-01-11 | 1
+2012-01-11 | 2147483648

+ 92 - 0
Module_09/ex01/srcs/BitcoinExchange.cpp

@@ -0,0 +1,92 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   BitcoinExchange.cpp                                :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 19:29:59 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:35:25 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "BitcoinExchange.hpp"
+#include <fstream>
+#include <climits>
+
+void    ft_getcsv(std::map<Date, float> &Data)
+{
+    std::string     line;
+    std::ifstream   ifs;
+    std::string     token;
+    float           price;
+    Date            tmp;
+
+    ifs.open("data.csv");
+    if (!ifs) {
+        std::cout << "Error: could not open data.csv file." << std::endl;
+        throw std::exception();
+    }
+    std::getline(ifs, line);
+    while (std::getline(ifs, line)) {
+
+        token = line.substr(0, line.find(','));
+        tmp.year = atoi(token.substr(0, 4).c_str());
+        tmp.month = atoi(token.substr(5, 2).c_str());
+        tmp.day = atoi(token.substr(8, 2).c_str());
+
+        price = atof(line.substr(line.find(',') + 1, line.find('\n')).c_str());
+
+        if (tmp.year < 0 || tmp.month < 0 || tmp.month > 12 || tmp.day < 0 || tmp.day > 31) {
+            std::cout << "Error : Error in csv dates." << std::endl;
+            throw std::exception();
+        }
+        if (price < 0 || price > INT_MAX) {
+            std::cout << "Error : Error in csv price." << std::endl;
+            throw std::exception();
+        }
+        Data[tmp] = price;
+    }
+}
+
+void    ft_process(char **av, std::map<Date, float> &Data) {
+    std::ifstream                   ifs;
+    std::string                     line;
+    std::string                     token;
+    std::map<Date, float>::iterator it;
+    float                           amount;
+    Date                            tmp;
+
+    ifs.open(av[1]);
+    if (!ifs) {
+        std::cout << "Error: could not open " << av[1] << "." << std::endl;
+        throw std::exception();
+    }
+
+    std::getline(ifs, line);
+    while (std::getline(ifs, line)) { 
+        token = line.substr(0, line.find('|'));
+        tmp.year = atoi(token.substr(0, 4).c_str());
+        tmp.month = atoi(token.substr(5, 2).c_str());
+        tmp.day = atoi(token.substr(8, 2).c_str());
+
+        amount = atof(line.substr(line.find('|') + 1, line.find('\n')).c_str());
+        if (tmp.year < 0 || tmp.month < 0 || tmp.month > 12 || tmp.day < 0 || tmp.day > 31) {
+            std::cout << "Error : Bad date." << std::endl;
+            continue ;
+        }
+        if (amount < 0 || amount > INT_MAX) {
+            std::cout << "Error : Bad price." << std::endl;
+            continue ;
+        }
+
+        it = Data.lower_bound(tmp);
+        if (it->first != tmp) {
+            if (it == Data.begin())
+                std::cout << "Cannot find a price at the value " << tmp << "." << std::endl;
+            else
+                std::cout << tmp << " => " << amount << " = " << (--it)->second * amount << std::endl;
+        } else
+            std::cout << it->first << " => " << amount << " = " << it->second * amount << std::endl;
+    }
+}

+ 36 - 0
Module_09/ex01/srcs/Date.cpp

@@ -0,0 +1,36 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   Date.cpp                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/16 18:06:10 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:34:38 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include <iomanip>
+#include "Date.hpp"
+
+
+bool operator<(const Date &a, const Date &b) {
+    if (a.year != b.year)
+        return a.year < b.year;
+    if (a.month != b.month)
+        return a.month < b.month;
+    return a.day < b.day;
+}
+
+bool operator==(const Date &a, const Date &b) {
+    return a.year == b.year && a.month == b.month && a.day == b.day;
+}
+
+bool operator!=(const Date &a, const Date &b) {
+    return !(a == b);
+}
+
+std::ostream    &operator<<(std::ostream &o, const Date &date) {
+    o << date.year << "-" << std::setw(2) << std::setfill('0') << date.month << "-" << std::setw(2) << std::setfill('0') << date.day << std::setfill(' ');;
+    return o;
+}

+ 27 - 0
Module_09/ex01/srcs/main.cpp

@@ -0,0 +1,27 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   main.cpp                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: bchanot <bchanot@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2026/01/13 17:54:18 by bchanot           #+#    #+#             */
+/*   Updated: 2026/01/16 19:33:09 by bchanot          ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "BitcoinExchange.hpp"
+
+
+int main(int ac, char **av)
+{
+    std::map<Date, float>    Data;
+
+    if (ac != 2) {
+        std::cout << "Error : no file specified." << std::endl;
+        throw std::exception();
+    } 
+    ft_getcsv(Data);
+    ft_process(av, Data);
+    return 0;
+}