#include <algorithm>
#include <vector>
#include <iostream>
#include "histogram.h"
#include "text.h"
#include "svg.h"
#include <curl/curl.h>



using namespace std;


struct Input {
	vector<double> numbers;
	size_t bin_count{};
};

Input
input_data(istream& in, bool prompt = true){
	size_t number_count;
	Input iiin;
	if (prompt == true) {

		cerr << "Enter number_count ";
	}
	in >> number_count;

	iiin.numbers.resize(number_count);
	if (prompt == true) {
		cerr << "Enter numbers ";
	}
	for (int i = 0; i < number_count;i++) {
		in >> iiin.numbers[i];
	}
	if (prompt == true) {
		cerr << "Enter bin count \n";
		in >> iiin.bin_count;
	}
	return iiin;
}

int main(int argc, char* argv[]) {
	
	if (argc > 1) {
		CURL* curl = curl_easy_init();
		if (curl) {
			CURLcode res;
			curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
			res = curl_easy_perform(curl);
			curl_easy_cleanup(curl);
		}
		return 0;
	}
	Input in = input_data(cin);
	auto bins = make_histogram(in.numbers, in.bin_count);
	show_histogram_svg(bins);
	return 0;
}