| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -40,15 +40,6 @@ input_data(istream& in, bool prompt) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return local;
 | 
					 | 
					 | 
					 | 
					    return local;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					};
 | 
					 | 
					 | 
					 | 
					};
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					size_t
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					write_data(void* items, size_t item_size, size_t item_count, void* ctx) {
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    size_t data_size = item_size * item_count;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    stringstream* buffer = reinterpret_cast<stringstream*>(ctx);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    (*buffer).write(reinterpret_cast<const char*>(items), data_size);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return data_size;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					Input
 | 
					 | 
					 | 
					 | 
					Input
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					download (const string& address) {
 | 
					 | 
					 | 
					 | 
					download (const string& address) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    stringstream buffer;
 | 
					 | 
					 | 
					 | 
					    stringstream buffer;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -56,9 +47,7 @@ download (const string& address) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if(curl) {
 | 
					 | 
					 | 
					 | 
					    if(curl) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        CURLcode res;
 | 
					 | 
					 | 
					 | 
					        CURLcode res;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        curl_easy_setopt(curl, CURLOPT_URL, address.c_str());
 | 
					 | 
					 | 
					 | 
					        curl_easy_setopt(curl, CURLOPT_URL, address);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        res = curl_easy_perform(curl);
 | 
					 | 
					 | 
					 | 
					        res = curl_easy_perform(curl);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (res != CURLE_OK) {
 | 
					 | 
					 | 
					 | 
					        if (res != CURLE_OK) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -72,6 +61,14 @@ download (const string& address) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return input_data(buffer, false);
 | 
					 | 
					 | 
					 | 
					    return input_data(buffer, false);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					size_t
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					write_data(void* items, size_t item_size, size_t item_count, void* ctx) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    size_t data_size = item_size * item_count;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    stringstream* buffer = reinterpret_cast<stringstream*>(ctx);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    buffer->write(static_cast<char*>(items), data_size);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    return data_size;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					int main(int argc, char* argv[]) {
 | 
					 | 
					 | 
					 | 
					int main(int argc, char* argv[]) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    std::string fill = "red";
 | 
					 | 
					 | 
					 | 
					    std::string fill = "red";
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |