mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
1044 lines
48 KiB
C++
1044 lines
48 KiB
C++
#include <array>
|
|
#include <sstream>
|
|
#include <string>
|
|
#include <unordered_map>
|
|
|
|
#include <pugixml.hpp>
|
|
|
|
#include "writer.h"
|
|
#include "cell.h"
|
|
#include "constants.h"
|
|
#include "range.h"
|
|
#include "range_reference.h"
|
|
#include "worksheet.h"
|
|
|
|
namespace xlnt {
|
|
|
|
std::string writer::write_worksheet(worksheet ws, const std::vector<std::string> &string_table)
|
|
{
|
|
pugi::xml_document doc;
|
|
auto root_node = doc.append_child("worksheet");
|
|
root_node.append_attribute("xmlns").set_value(constants::Namespaces.at("spreadsheetml").c_str());
|
|
root_node.append_attribute("xmlns:r").set_value(constants::Namespaces.at("r").c_str());
|
|
auto dimension_node = root_node.append_child("dimension");
|
|
dimension_node.append_attribute("ref").set_value(ws.calculate_dimension().to_string().c_str());
|
|
auto sheet_views_node = root_node.append_child("sheetViews");
|
|
auto sheet_view_node = sheet_views_node.append_child("sheetView");
|
|
sheet_view_node.append_attribute("tabSelected").set_value(1);
|
|
sheet_view_node.append_attribute("workbookViewId").set_value(0);
|
|
|
|
auto selection_node = sheet_view_node.append_child("selection");
|
|
|
|
std::string active_cell = "B2";
|
|
selection_node.append_attribute("activeCell").set_value(active_cell.c_str());
|
|
selection_node.append_attribute("sqref").set_value(active_cell.c_str());
|
|
|
|
auto sheet_format_pr_node = root_node.append_child("sheetFormatPr");
|
|
sheet_format_pr_node.append_attribute("defaultRowHeight").set_value(15);
|
|
|
|
auto sheet_data_node = root_node.append_child("sheetData");
|
|
for(auto row : ws.rows())
|
|
{
|
|
row_t min = (int)row.num_cells();
|
|
row_t max = 0;
|
|
bool any_non_null = false;
|
|
|
|
for(auto cell : row)
|
|
{
|
|
min = std::min(min, cell_reference::column_index_from_string(cell.get_column()));
|
|
max = std::max(max, cell_reference::column_index_from_string(cell.get_column()));
|
|
|
|
if(cell.get_data_type() != cell::type::null)
|
|
{
|
|
any_non_null = true;
|
|
}
|
|
}
|
|
|
|
if(!any_non_null)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
auto row_node = sheet_data_node.append_child("row");
|
|
row_node.append_attribute("r").set_value(row.front().get_row());
|
|
|
|
row_node.append_attribute("spans").set_value((std::to_string(min) + ":" + std::to_string(max)).c_str());
|
|
row_node.append_attribute("x14ac:dyDescent").set_value(0.25);
|
|
|
|
for(auto cell : row)
|
|
{
|
|
if(cell.get_data_type() != cell::type::null || cell.is_merged())
|
|
{
|
|
auto cell_node = row_node.append_child("c");
|
|
cell_node.append_attribute("r").set_value(cell.get_reference().to_string().c_str());
|
|
|
|
if(cell.get_data_type() == cell::type::string)
|
|
{
|
|
int match_index = -1;
|
|
for(int i = 0; i < (int)string_table.size(); i++)
|
|
{
|
|
if(string_table[i] == cell.get_value())
|
|
{
|
|
match_index = i;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(match_index == -1)
|
|
{
|
|
cell_node.append_attribute("t").set_value("inlineStr");
|
|
auto inline_string_node = cell_node.append_child("is");
|
|
inline_string_node.append_child("t").set_value(cell.get_value().c_str());
|
|
}
|
|
else
|
|
{
|
|
cell_node.append_attribute("t").set_value("s");
|
|
auto value_node = cell_node.append_child("v");
|
|
value_node.text().set(match_index);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(cell.get_data_type() != cell::type::null)
|
|
{
|
|
auto value_node = cell_node.append_child("v");
|
|
value_node.text().set(cell.get_value().c_str());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!ws.get_merged_ranges().empty())
|
|
{
|
|
auto merge_cells_node = root_node.append_child("mergeCells");
|
|
merge_cells_node.append_attribute("count").set_value((unsigned int)ws.get_merged_ranges().size());
|
|
|
|
for(auto merged_range : ws.get_merged_ranges())
|
|
{
|
|
auto merge_cell_node = merge_cells_node.append_child("mergeCell");
|
|
merge_cell_node.append_attribute("ref").set_value(merged_range.to_string().c_str());
|
|
}
|
|
}
|
|
|
|
if(!ws.get_page_margins().is_default())
|
|
{
|
|
auto page_margins_node = root_node.append_child("pageMargins");
|
|
|
|
page_margins_node.append_attribute("left").set_value(ws.get_page_margins().get_left());
|
|
page_margins_node.append_attribute("right").set_value(ws.get_page_margins().get_right());
|
|
page_margins_node.append_attribute("top").set_value(ws.get_page_margins().get_top());
|
|
page_margins_node.append_attribute("bottom").set_value(ws.get_page_margins().get_bottom());
|
|
page_margins_node.append_attribute("header").set_value(ws.get_page_margins().get_header());
|
|
page_margins_node.append_attribute("footer").set_value(ws.get_page_margins().get_footer());
|
|
}
|
|
|
|
if(!ws.get_page_setup().is_default())
|
|
{
|
|
auto page_setup_node = root_node.append_child("pageSetup");
|
|
|
|
std::string orientation_string = ws.get_page_setup().get_orientation() == page_setup::orientation::landscape ? "landscape" : "portrait";
|
|
page_setup_node.append_attribute("orientation").set_value(orientation_string.c_str());
|
|
page_setup_node.append_attribute("paperSize").set_value((int)ws.get_page_setup().get_paper_size());
|
|
page_setup_node.append_attribute("fitToHeight").set_value(ws.get_page_setup().fit_to_height() ? 1 : 0);
|
|
page_setup_node.append_attribute("fitToWidth").set_value(ws.get_page_setup().fit_to_width() ? 1 : 0);
|
|
|
|
auto page_set_up_pr_node = root_node.append_child("pageSetUpPr");
|
|
page_set_up_pr_node.append_attribute("fitToPage").set_value(ws.get_page_setup().fit_to_page() ? 1 : 0);
|
|
}
|
|
|
|
std::stringstream ss;
|
|
doc.save(ss);
|
|
|
|
return ss.str();
|
|
}
|
|
|
|
std::string writer::write_worksheet(worksheet ws)
|
|
{
|
|
return write_worksheet(ws, std::vector<std::string>());
|
|
}
|
|
|
|
|
|
std::string writer::write_content_types(const std::pair<std::unordered_map<std::string, std::string>, std::unordered_map<std::string, std::string>> &content_types)
|
|
{
|
|
/*std::set<std::string> seen;
|
|
|
|
pugi::xml_node root;
|
|
|
|
if(wb.has_vba_archive())
|
|
{
|
|
root = fromstring(wb.get_vba_archive().read(ARC_CONTENT_TYPES));
|
|
|
|
for(auto elem : root.findall("{" + CONTYPES_NS + "}Override"))
|
|
{
|
|
seen.insert(elem.attrib["PartName"]);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
root = Element("{" + CONTYPES_NS + "}Types");
|
|
|
|
for(auto content_type : static_content_types_config)
|
|
{
|
|
if(setting_type == "Override")
|
|
{
|
|
tag = "{" + CONTYPES_NS + "}Override";
|
|
attrib = {"PartName": "/" + name};
|
|
}
|
|
else
|
|
{
|
|
tag = "{" + CONTYPES_NS + "}Default";
|
|
attrib = {"Extension": name};
|
|
}
|
|
|
|
attrib["ContentType"] = content_type;
|
|
SubElement(root, tag, attrib);
|
|
}
|
|
}
|
|
|
|
int drawing_id = 1;
|
|
int chart_id = 1;
|
|
int comments_id = 1;
|
|
int sheet_id = 0;
|
|
|
|
for(auto sheet : wb)
|
|
{
|
|
std::string name = "/xl/worksheets/sheet" + std::to_string(sheet_id) + ".xml";
|
|
|
|
if(seen.find(name) == seen.end())
|
|
{
|
|
SubElement(root, "{" + CONTYPES_NS + "}Override", {{"PartName", name},
|
|
{"ContentType", "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"}});
|
|
}
|
|
|
|
if(sheet._charts || sheet._images)
|
|
{
|
|
name = "/xl/drawings/drawing" + drawing_id + ".xml";
|
|
|
|
if(seen.find(name) == seen.end())
|
|
{
|
|
SubElement(root, "{%s}Override" % CONTYPES_NS, {"PartName" : name,
|
|
"ContentType" : "application/vnd.openxmlformats-officedocument.drawing+xml"});
|
|
}
|
|
|
|
drawing_id += 1;
|
|
|
|
for(auto chart : sheet._charts)
|
|
{
|
|
name = "/xl/charts/chart%d.xml" % chart_id;
|
|
|
|
if(seen.find(name) == seen.end())
|
|
{
|
|
SubElement(root, "{%s}Override" % CONTYPES_NS, {"PartName" : name,
|
|
"ContentType" : "application/vnd.openxmlformats-officedocument.drawingml.chart+xml"});
|
|
}
|
|
|
|
chart_id += 1;
|
|
|
|
if(chart._shapes)
|
|
{
|
|
name = "/xl/drawings/drawing%d.xml" % drawing_id;
|
|
|
|
if(seen.find(name) == seen.end())
|
|
{
|
|
SubElement(root, "{%s}Override" % CONTYPES_NS, {"PartName" : name,
|
|
"ContentType" : "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml"});
|
|
}
|
|
|
|
drawing_id += 1;
|
|
}
|
|
}
|
|
}
|
|
if(sheet.get_comment_count() > 0)
|
|
{
|
|
SubElement(root, "{%s}Override" % CONTYPES_NS,
|
|
{"PartName": "/xl/comments%d.xml" % comments_id,
|
|
"ContentType" : "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml"});
|
|
comments_id += 1;
|
|
}
|
|
}*/
|
|
|
|
pugi::xml_document doc;
|
|
auto root_node = doc.append_child("Types");
|
|
root_node.append_attribute("xmlns").set_value(constants::Namespaces.at("content-types").c_str());
|
|
|
|
for(auto default_type : content_types.first)
|
|
{
|
|
auto xml_node = root_node.append_child("Default");
|
|
xml_node.append_attribute("Extension").set_value(default_type.first.c_str());
|
|
xml_node.append_attribute("ContentType").set_value(default_type.second.c_str());
|
|
}
|
|
|
|
for(auto override_type : content_types.second)
|
|
{
|
|
auto theme_node = root_node.append_child("Override");
|
|
theme_node.append_attribute("PartName").set_value(override_type.first.c_str());
|
|
theme_node.append_attribute("ContentType").set_value(override_type.second.c_str());
|
|
}
|
|
|
|
std::stringstream ss;
|
|
doc.save(ss);
|
|
return ss.str();
|
|
}
|
|
|
|
std::string writer::write_relationships(const std::unordered_map<std::string, std::pair<std::string, std::string>> &relationships)
|
|
{
|
|
pugi::xml_document doc;
|
|
auto root_node = doc.append_child("Relationships");
|
|
root_node.append_attribute("xmlns").set_value(constants::Namespaces.at("relationships").c_str());
|
|
|
|
for(auto relationship : relationships)
|
|
{
|
|
auto app_props_node = root_node.append_child("Relationship");
|
|
app_props_node.append_attribute("Id").set_value(relationship.first.c_str());
|
|
app_props_node.append_attribute("Type").set_value(relationship.second.first.c_str());
|
|
app_props_node.append_attribute("Target").set_value(relationship.second.second.c_str());
|
|
}
|
|
|
|
std::stringstream ss;
|
|
doc.save(ss);
|
|
return ss.str();
|
|
}
|
|
|
|
std::string writer::write_theme()
|
|
{
|
|
/*
|
|
pugi::xml_document doc;
|
|
auto theme_node = doc.append_child("a:theme");
|
|
theme_node.append_attribute("xmlns:a").set_value(constants::Namespaces.at("drawingml").c_str());
|
|
theme_node.append_attribute("name").set_value("Office Theme");
|
|
auto theme_elements_node = theme_node.append_child("a:themeElements");
|
|
auto clr_scheme_node = theme_elements_node.append_child("a:clrScheme");
|
|
clr_scheme_node.append_attribute("name").set_value("Office");
|
|
|
|
struct scheme_element
|
|
{
|
|
std::string name;
|
|
std::string sub_element_name;
|
|
std::string val;
|
|
};
|
|
|
|
std::vector<scheme_element> scheme_elements =
|
|
{
|
|
{"a:dk1", "a:sysClr", "windowText"}
|
|
};
|
|
|
|
for(auto element : scheme_elements)
|
|
{
|
|
auto element_node = clr_scheme_node.append_child("a:dk1");
|
|
element_node.append_child(element.sub_element_name.c_str()).append_attribute("val").set_value(element.val.c_str());
|
|
}
|
|
|
|
std::stringstream ss;
|
|
doc.print(ss);
|
|
return ss.str();
|
|
*/
|
|
std::array<unsigned char, 6994> data =
|
|
{{
|
|
60, 63, 120, 109, 108, 32, 118, 101, 114, 115,
|
|
105, 111, 110, 61, 34, 49, 46, 48, 34, 32,
|
|
101, 110, 99, 111, 100, 105, 110, 103, 61, 34,
|
|
85, 84, 70, 45, 56, 34, 32, 115, 116, 97,
|
|
110, 100, 97, 108, 111, 110, 101, 61, 34, 121,
|
|
101, 115, 34, 63, 62, 10, 60, 97, 58, 116,
|
|
104, 101, 109, 101, 32, 120, 109, 108, 110, 115,
|
|
58, 97, 61, 34, 104, 116, 116, 112, 58, 47,
|
|
47, 115, 99, 104, 101, 109, 97, 115, 46, 111,
|
|
112, 101, 110, 120, 109, 108, 102, 111, 114, 109,
|
|
97, 116, 115, 46, 111, 114, 103, 47, 100, 114,
|
|
97, 119, 105, 110, 103, 109, 108, 47, 50, 48,
|
|
48, 54, 47, 109, 97, 105, 110, 34, 32, 110,
|
|
97, 109, 101, 61, 34, 79, 102, 102, 105, 99,
|
|
101, 32, 84, 104, 101, 109, 101, 34, 62, 60,
|
|
97, 58, 116, 104, 101, 109, 101, 69, 108, 101,
|
|
109, 101, 110, 116, 115, 62, 60, 97, 58, 99,
|
|
108, 114, 83, 99, 104, 101, 109, 101, 32, 110,
|
|
97, 109, 101, 61, 34, 79, 102, 102, 105, 99,
|
|
101, 34, 62, 60, 97, 58, 100, 107, 49, 62,
|
|
60, 97, 58, 115, 121, 115, 67, 108, 114, 32,
|
|
118, 97, 108, 61, 34, 119, 105, 110, 100, 111,
|
|
119, 84, 101, 120, 116, 34, 32, 108, 97, 115,
|
|
116, 67, 108, 114, 61, 34, 48, 48, 48, 48,
|
|
48, 48, 34, 47, 62, 60, 47, 97, 58, 100,
|
|
107, 49, 62, 60, 97, 58, 108, 116, 49, 62,
|
|
60, 97, 58, 115, 121, 115, 67, 108, 114, 32,
|
|
118, 97, 108, 61, 34, 119, 105, 110, 100, 111,
|
|
119, 34, 32, 108, 97, 115, 116, 67, 108, 114,
|
|
61, 34, 70, 70, 70, 70, 70, 70, 34, 47,
|
|
62, 60, 47, 97, 58, 108, 116, 49, 62, 60,
|
|
97, 58, 100, 107, 50, 62, 60, 97, 58, 115,
|
|
114, 103, 98, 67, 108, 114, 32, 118, 97, 108,
|
|
61, 34, 49, 70, 52, 57, 55, 68, 34, 47,
|
|
62, 60, 47, 97, 58, 100, 107, 50, 62, 60,
|
|
97, 58, 108, 116, 50, 62, 60, 97, 58, 115,
|
|
114, 103, 98, 67, 108, 114, 32, 118, 97, 108,
|
|
61, 34, 69, 69, 69, 67, 69, 49, 34, 47,
|
|
62, 60, 47, 97, 58, 108, 116, 50, 62, 60,
|
|
97, 58, 97, 99, 99, 101, 110, 116, 49, 62,
|
|
60, 97, 58, 115, 114, 103, 98, 67, 108, 114,
|
|
32, 118, 97, 108, 61, 34, 52, 70, 56, 49,
|
|
66, 68, 34, 47, 62, 60, 47, 97, 58, 97,
|
|
99, 99, 101, 110, 116, 49, 62, 60, 97, 58,
|
|
97, 99, 99, 101, 110, 116, 50, 62, 60, 97,
|
|
58, 115, 114, 103, 98, 67, 108, 114, 32, 118,
|
|
97, 108, 61, 34, 67, 48, 53, 48, 52, 68,
|
|
34, 47, 62, 60, 47, 97, 58, 97, 99, 99,
|
|
101, 110, 116, 50, 62, 60, 97, 58, 97, 99,
|
|
99, 101, 110, 116, 51, 62, 60, 97, 58, 115,
|
|
114, 103, 98, 67, 108, 114, 32, 118, 97, 108,
|
|
61, 34, 57, 66, 66, 66, 53, 57, 34, 47,
|
|
62, 60, 47, 97, 58, 97, 99, 99, 101, 110,
|
|
116, 51, 62, 60, 97, 58, 97, 99, 99, 101,
|
|
110, 116, 52, 62, 60, 97, 58, 115, 114, 103,
|
|
98, 67, 108, 114, 32, 118, 97, 108, 61, 34,
|
|
56, 48, 54, 52, 65, 50, 34, 47, 62, 60,
|
|
47, 97, 58, 97, 99, 99, 101, 110, 116, 52,
|
|
62, 60, 97, 58, 97, 99, 99, 101, 110, 116,
|
|
53, 62, 60, 97, 58, 115, 114, 103, 98, 67,
|
|
108, 114, 32, 118, 97, 108, 61, 34, 52, 66,
|
|
65, 67, 67, 54, 34, 47, 62, 60, 47, 97,
|
|
58, 97, 99, 99, 101, 110, 116, 53, 62, 60,
|
|
97, 58, 97, 99, 99, 101, 110, 116, 54, 62,
|
|
60, 97, 58, 115, 114, 103, 98, 67, 108, 114,
|
|
32, 118, 97, 108, 61, 34, 70, 55, 57, 54,
|
|
52, 54, 34, 47, 62, 60, 47, 97, 58, 97,
|
|
99, 99, 101, 110, 116, 54, 62, 60, 97, 58,
|
|
104, 108, 105, 110, 107, 62, 60, 97, 58, 115,
|
|
114, 103, 98, 67, 108, 114, 32, 118, 97, 108,
|
|
61, 34, 48, 48, 48, 48, 70, 70, 34, 47,
|
|
62, 60, 47, 97, 58, 104, 108, 105, 110, 107,
|
|
62, 60, 97, 58, 102, 111, 108, 72, 108, 105,
|
|
110, 107, 62, 60, 97, 58, 115, 114, 103, 98,
|
|
67, 108, 114, 32, 118, 97, 108, 61, 34, 56,
|
|
48, 48, 48, 56, 48, 34, 47, 62, 60, 47,
|
|
97, 58, 102, 111, 108, 72, 108, 105, 110, 107,
|
|
62, 60, 47, 97, 58, 99, 108, 114, 83, 99,
|
|
104, 101, 109, 101, 62, 60, 97, 58, 102, 111,
|
|
110, 116, 83, 99, 104, 101, 109, 101, 32, 110,
|
|
97, 109, 101, 61, 34, 79, 102, 102, 105, 99,
|
|
101, 34, 62, 60, 97, 58, 109, 97, 106, 111,
|
|
114, 70, 111, 110, 116, 62, 60, 97, 58, 108,
|
|
97, 116, 105, 110, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 67, 97, 109, 98, 114,
|
|
105, 97, 34, 47, 62, 60, 97, 58, 101, 97,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 34, 47, 62, 60, 97, 58, 99, 115, 32,
|
|
116, 121, 112, 101, 102, 97, 99, 101, 61, 34,
|
|
34, 47, 62, 60, 97, 58, 102, 111, 110, 116,
|
|
32, 115, 99, 114, 105, 112, 116, 61, 34, 74,
|
|
112, 97, 110, 34, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 239, 188, 173, 239, 188,
|
|
179, 32, 239, 188, 176, 227, 130, 180, 227, 130,
|
|
183, 227, 131, 131, 227, 130, 175, 34, 47, 62,
|
|
60, 97, 58, 102, 111, 110, 116, 32, 115, 99,
|
|
114, 105, 112, 116, 61, 34, 72, 97, 110, 103,
|
|
34, 32, 116, 121, 112, 101, 102, 97, 99, 101,
|
|
61, 34, 235, 167, 145, 236, 157, 128, 32, 234,
|
|
179, 160, 235, 148, 149, 34, 47, 62, 60, 97,
|
|
58, 102, 111, 110, 116, 32, 115, 99, 114, 105,
|
|
112, 116, 61, 34, 72, 97, 110, 115, 34, 32,
|
|
116, 121, 112, 101, 102, 97, 99, 101, 61, 34,
|
|
229, 174, 139, 228, 189, 147, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 72, 97, 110, 116, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 230, 150, 176, 231, 180, 176, 230, 152, 142,
|
|
233, 171, 148, 34, 47, 62, 60, 97, 58, 102,
|
|
111, 110, 116, 32, 115, 99, 114, 105, 112, 116,
|
|
61, 34, 65, 114, 97, 98, 34, 32, 116, 121,
|
|
112, 101, 102, 97, 99, 101, 61, 34, 84, 105,
|
|
109, 101, 115, 32, 78, 101, 119, 32, 82, 111,
|
|
109, 97, 110, 34, 47, 62, 60, 97, 58, 102,
|
|
111, 110, 116, 32, 115, 99, 114, 105, 112, 116,
|
|
61, 34, 72, 101, 98, 114, 34, 32, 116, 121,
|
|
112, 101, 102, 97, 99, 101, 61, 34, 84, 105,
|
|
109, 101, 115, 32, 78, 101, 119, 32, 82, 111,
|
|
109, 97, 110, 34, 47, 62, 60, 97, 58, 102,
|
|
111, 110, 116, 32, 115, 99, 114, 105, 112, 116,
|
|
61, 34, 84, 104, 97, 105, 34, 32, 116, 121,
|
|
112, 101, 102, 97, 99, 101, 61, 34, 84, 97,
|
|
104, 111, 109, 97, 34, 47, 62, 60, 97, 58,
|
|
102, 111, 110, 116, 32, 115, 99, 114, 105, 112,
|
|
116, 61, 34, 69, 116, 104, 105, 34, 32, 116,
|
|
121, 112, 101, 102, 97, 99, 101, 61, 34, 78,
|
|
121, 97, 108, 97, 34, 47, 62, 60, 97, 58,
|
|
102, 111, 110, 116, 32, 115, 99, 114, 105, 112,
|
|
116, 61, 34, 66, 101, 110, 103, 34, 32, 116,
|
|
121, 112, 101, 102, 97, 99, 101, 61, 34, 86,
|
|
114, 105, 110, 100, 97, 34, 47, 62, 60, 97,
|
|
58, 102, 111, 110, 116, 32, 115, 99, 114, 105,
|
|
112, 116, 61, 34, 71, 117, 106, 114, 34, 32,
|
|
116, 121, 112, 101, 102, 97, 99, 101, 61, 34,
|
|
83, 104, 114, 117, 116, 105, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 75, 104, 109, 114, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 77, 111, 111, 108, 66, 111, 114, 97, 110,
|
|
34, 47, 62, 60, 97, 58, 102, 111, 110, 116,
|
|
32, 115, 99, 114, 105, 112, 116, 61, 34, 75,
|
|
110, 100, 97, 34, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 84, 117, 110, 103, 97,
|
|
34, 47, 62, 60, 97, 58, 102, 111, 110, 116,
|
|
32, 115, 99, 114, 105, 112, 116, 61, 34, 71,
|
|
117, 114, 117, 34, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 82, 97, 97, 118, 105,
|
|
34, 47, 62, 60, 97, 58, 102, 111, 110, 116,
|
|
32, 115, 99, 114, 105, 112, 116, 61, 34, 67,
|
|
97, 110, 115, 34, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 69, 117, 112, 104, 101,
|
|
109, 105, 97, 34, 47, 62, 60, 97, 58, 102,
|
|
111, 110, 116, 32, 115, 99, 114, 105, 112, 116,
|
|
61, 34, 67, 104, 101, 114, 34, 32, 116, 121,
|
|
112, 101, 102, 97, 99, 101, 61, 34, 80, 108,
|
|
97, 110, 116, 97, 103, 101, 110, 101, 116, 32,
|
|
67, 104, 101, 114, 111, 107, 101, 101, 34, 47,
|
|
62, 60, 97, 58, 102, 111, 110, 116, 32, 115,
|
|
99, 114, 105, 112, 116, 61, 34, 89, 105, 105,
|
|
105, 34, 32, 116, 121, 112, 101, 102, 97, 99,
|
|
101, 61, 34, 77, 105, 99, 114, 111, 115, 111,
|
|
102, 116, 32, 89, 105, 32, 66, 97, 105, 116,
|
|
105, 34, 47, 62, 60, 97, 58, 102, 111, 110,
|
|
116, 32, 115, 99, 114, 105, 112, 116, 61, 34,
|
|
84, 105, 98, 116, 34, 32, 116, 121, 112, 101,
|
|
102, 97, 99, 101, 61, 34, 77, 105, 99, 114,
|
|
111, 115, 111, 102, 116, 32, 72, 105, 109, 97,
|
|
108, 97, 121, 97, 34, 47, 62, 60, 97, 58,
|
|
102, 111, 110, 116, 32, 115, 99, 114, 105, 112,
|
|
116, 61, 34, 84, 104, 97, 97, 34, 32, 116,
|
|
121, 112, 101, 102, 97, 99, 101, 61, 34, 77,
|
|
86, 32, 66, 111, 108, 105, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 68, 101, 118, 97, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 77, 97, 110, 103, 97, 108, 34, 47, 62,
|
|
60, 97, 58, 102, 111, 110, 116, 32, 115, 99,
|
|
114, 105, 112, 116, 61, 34, 84, 101, 108, 117,
|
|
34, 32, 116, 121, 112, 101, 102, 97, 99, 101,
|
|
61, 34, 71, 97, 117, 116, 97, 109, 105, 34,
|
|
47, 62, 60, 97, 58, 102, 111, 110, 116, 32,
|
|
115, 99, 114, 105, 112, 116, 61, 34, 84, 97,
|
|
109, 108, 34, 32, 116, 121, 112, 101, 102, 97,
|
|
99, 101, 61, 34, 76, 97, 116, 104, 97, 34,
|
|
47, 62, 60, 97, 58, 102, 111, 110, 116, 32,
|
|
115, 99, 114, 105, 112, 116, 61, 34, 83, 121,
|
|
114, 99, 34, 32, 116, 121, 112, 101, 102, 97,
|
|
99, 101, 61, 34, 69, 115, 116, 114, 97, 110,
|
|
103, 101, 108, 111, 32, 69, 100, 101, 115, 115,
|
|
97, 34, 47, 62, 60, 97, 58, 102, 111, 110,
|
|
116, 32, 115, 99, 114, 105, 112, 116, 61, 34,
|
|
79, 114, 121, 97, 34, 32, 116, 121, 112, 101,
|
|
102, 97, 99, 101, 61, 34, 75, 97, 108, 105,
|
|
110, 103, 97, 34, 47, 62, 60, 97, 58, 102,
|
|
111, 110, 116, 32, 115, 99, 114, 105, 112, 116,
|
|
61, 34, 77, 108, 121, 109, 34, 32, 116, 121,
|
|
112, 101, 102, 97, 99, 101, 61, 34, 75, 97,
|
|
114, 116, 105, 107, 97, 34, 47, 62, 60, 97,
|
|
58, 102, 111, 110, 116, 32, 115, 99, 114, 105,
|
|
112, 116, 61, 34, 76, 97, 111, 111, 34, 32,
|
|
116, 121, 112, 101, 102, 97, 99, 101, 61, 34,
|
|
68, 111, 107, 67, 104, 97, 109, 112, 97, 34,
|
|
47, 62, 60, 97, 58, 102, 111, 110, 116, 32,
|
|
115, 99, 114, 105, 112, 116, 61, 34, 83, 105,
|
|
110, 104, 34, 32, 116, 121, 112, 101, 102, 97,
|
|
99, 101, 61, 34, 73, 115, 107, 111, 111, 108,
|
|
97, 32, 80, 111, 116, 97, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 77, 111, 110, 103, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 77, 111, 110, 103, 111, 108, 105, 97, 110,
|
|
32, 66, 97, 105, 116, 105, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 86, 105, 101, 116, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 84, 105, 109, 101, 115, 32, 78, 101, 119,
|
|
32, 82, 111, 109, 97, 110, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 85, 105, 103, 104, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 77, 105, 99, 114, 111, 115, 111, 102, 116,
|
|
32, 85, 105, 103, 104, 117, 114, 34, 47, 62,
|
|
60, 47, 97, 58, 109, 97, 106, 111, 114, 70,
|
|
111, 110, 116, 62, 60, 97, 58, 109, 105, 110,
|
|
111, 114, 70, 111, 110, 116, 62, 60, 97, 58,
|
|
108, 97, 116, 105, 110, 32, 116, 121, 112, 101,
|
|
102, 97, 99, 101, 61, 34, 67, 97, 108, 105,
|
|
98, 114, 105, 34, 47, 62, 60, 97, 58, 101,
|
|
97, 32, 116, 121, 112, 101, 102, 97, 99, 101,
|
|
61, 34, 34, 47, 62, 60, 97, 58, 99, 115,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 34, 47, 62, 60, 97, 58, 102, 111, 110,
|
|
116, 32, 115, 99, 114, 105, 112, 116, 61, 34,
|
|
74, 112, 97, 110, 34, 32, 116, 121, 112, 101,
|
|
102, 97, 99, 101, 61, 34, 239, 188, 173, 239,
|
|
188, 179, 32, 239, 188, 176, 227, 130, 180, 227,
|
|
130, 183, 227, 131, 131, 227, 130, 175, 34, 47,
|
|
62, 60, 97, 58, 102, 111, 110, 116, 32, 115,
|
|
99, 114, 105, 112, 116, 61, 34, 72, 97, 110,
|
|
103, 34, 32, 116, 121, 112, 101, 102, 97, 99,
|
|
101, 61, 34, 235, 167, 145, 236, 157, 128, 32,
|
|
234, 179, 160, 235, 148, 149, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 72, 97, 110, 115, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 229, 174, 139, 228, 189, 147, 34, 47, 62,
|
|
60, 97, 58, 102, 111, 110, 116, 32, 115, 99,
|
|
114, 105, 112, 116, 61, 34, 72, 97, 110, 116,
|
|
34, 32, 116, 121, 112, 101, 102, 97, 99, 101,
|
|
61, 34, 230, 150, 176, 231, 180, 176, 230, 152,
|
|
142, 233, 171, 148, 34, 47, 62, 60, 97, 58,
|
|
102, 111, 110, 116, 32, 115, 99, 114, 105, 112,
|
|
116, 61, 34, 65, 114, 97, 98, 34, 32, 116,
|
|
121, 112, 101, 102, 97, 99, 101, 61, 34, 65,
|
|
114, 105, 97, 108, 34, 47, 62, 60, 97, 58,
|
|
102, 111, 110, 116, 32, 115, 99, 114, 105, 112,
|
|
116, 61, 34, 72, 101, 98, 114, 34, 32, 116,
|
|
121, 112, 101, 102, 97, 99, 101, 61, 34, 65,
|
|
114, 105, 97, 108, 34, 47, 62, 60, 97, 58,
|
|
102, 111, 110, 116, 32, 115, 99, 114, 105, 112,
|
|
116, 61, 34, 84, 104, 97, 105, 34, 32, 116,
|
|
121, 112, 101, 102, 97, 99, 101, 61, 34, 84,
|
|
97, 104, 111, 109, 97, 34, 47, 62, 60, 97,
|
|
58, 102, 111, 110, 116, 32, 115, 99, 114, 105,
|
|
112, 116, 61, 34, 69, 116, 104, 105, 34, 32,
|
|
116, 121, 112, 101, 102, 97, 99, 101, 61, 34,
|
|
78, 121, 97, 108, 97, 34, 47, 62, 60, 97,
|
|
58, 102, 111, 110, 116, 32, 115, 99, 114, 105,
|
|
112, 116, 61, 34, 66, 101, 110, 103, 34, 32,
|
|
116, 121, 112, 101, 102, 97, 99, 101, 61, 34,
|
|
86, 114, 105, 110, 100, 97, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 71, 117, 106, 114, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 83, 104, 114, 117, 116, 105, 34, 47, 62,
|
|
60, 97, 58, 102, 111, 110, 116, 32, 115, 99,
|
|
114, 105, 112, 116, 61, 34, 75, 104, 109, 114,
|
|
34, 32, 116, 121, 112, 101, 102, 97, 99, 101,
|
|
61, 34, 68, 97, 117, 110, 80, 101, 110, 104,
|
|
34, 47, 62, 60, 97, 58, 102, 111, 110, 116,
|
|
32, 115, 99, 114, 105, 112, 116, 61, 34, 75,
|
|
110, 100, 97, 34, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 84, 117, 110, 103, 97,
|
|
34, 47, 62, 60, 97, 58, 102, 111, 110, 116,
|
|
32, 115, 99, 114, 105, 112, 116, 61, 34, 71,
|
|
117, 114, 117, 34, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 82, 97, 97, 118, 105,
|
|
34, 47, 62, 60, 97, 58, 102, 111, 110, 116,
|
|
32, 115, 99, 114, 105, 112, 116, 61, 34, 67,
|
|
97, 110, 115, 34, 32, 116, 121, 112, 101, 102,
|
|
97, 99, 101, 61, 34, 69, 117, 112, 104, 101,
|
|
109, 105, 97, 34, 47, 62, 60, 97, 58, 102,
|
|
111, 110, 116, 32, 115, 99, 114, 105, 112, 116,
|
|
61, 34, 67, 104, 101, 114, 34, 32, 116, 121,
|
|
112, 101, 102, 97, 99, 101, 61, 34, 80, 108,
|
|
97, 110, 116, 97, 103, 101, 110, 101, 116, 32,
|
|
67, 104, 101, 114, 111, 107, 101, 101, 34, 47,
|
|
62, 60, 97, 58, 102, 111, 110, 116, 32, 115,
|
|
99, 114, 105, 112, 116, 61, 34, 89, 105, 105,
|
|
105, 34, 32, 116, 121, 112, 101, 102, 97, 99,
|
|
101, 61, 34, 77, 105, 99, 114, 111, 115, 111,
|
|
102, 116, 32, 89, 105, 32, 66, 97, 105, 116,
|
|
105, 34, 47, 62, 60, 97, 58, 102, 111, 110,
|
|
116, 32, 115, 99, 114, 105, 112, 116, 61, 34,
|
|
84, 105, 98, 116, 34, 32, 116, 121, 112, 101,
|
|
102, 97, 99, 101, 61, 34, 77, 105, 99, 114,
|
|
111, 115, 111, 102, 116, 32, 72, 105, 109, 97,
|
|
108, 97, 121, 97, 34, 47, 62, 60, 97, 58,
|
|
102, 111, 110, 116, 32, 115, 99, 114, 105, 112,
|
|
116, 61, 34, 84, 104, 97, 97, 34, 32, 116,
|
|
121, 112, 101, 102, 97, 99, 101, 61, 34, 77,
|
|
86, 32, 66, 111, 108, 105, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 68, 101, 118, 97, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 77, 97, 110, 103, 97, 108, 34, 47, 62,
|
|
60, 97, 58, 102, 111, 110, 116, 32, 115, 99,
|
|
114, 105, 112, 116, 61, 34, 84, 101, 108, 117,
|
|
34, 32, 116, 121, 112, 101, 102, 97, 99, 101,
|
|
61, 34, 71, 97, 117, 116, 97, 109, 105, 34,
|
|
47, 62, 60, 97, 58, 102, 111, 110, 116, 32,
|
|
115, 99, 114, 105, 112, 116, 61, 34, 84, 97,
|
|
109, 108, 34, 32, 116, 121, 112, 101, 102, 97,
|
|
99, 101, 61, 34, 76, 97, 116, 104, 97, 34,
|
|
47, 62, 60, 97, 58, 102, 111, 110, 116, 32,
|
|
115, 99, 114, 105, 112, 116, 61, 34, 83, 121,
|
|
114, 99, 34, 32, 116, 121, 112, 101, 102, 97,
|
|
99, 101, 61, 34, 69, 115, 116, 114, 97, 110,
|
|
103, 101, 108, 111, 32, 69, 100, 101, 115, 115,
|
|
97, 34, 47, 62, 60, 97, 58, 102, 111, 110,
|
|
116, 32, 115, 99, 114, 105, 112, 116, 61, 34,
|
|
79, 114, 121, 97, 34, 32, 116, 121, 112, 101,
|
|
102, 97, 99, 101, 61, 34, 75, 97, 108, 105,
|
|
110, 103, 97, 34, 47, 62, 60, 97, 58, 102,
|
|
111, 110, 116, 32, 115, 99, 114, 105, 112, 116,
|
|
61, 34, 77, 108, 121, 109, 34, 32, 116, 121,
|
|
112, 101, 102, 97, 99, 101, 61, 34, 75, 97,
|
|
114, 116, 105, 107, 97, 34, 47, 62, 60, 97,
|
|
58, 102, 111, 110, 116, 32, 115, 99, 114, 105,
|
|
112, 116, 61, 34, 76, 97, 111, 111, 34, 32,
|
|
116, 121, 112, 101, 102, 97, 99, 101, 61, 34,
|
|
68, 111, 107, 67, 104, 97, 109, 112, 97, 34,
|
|
47, 62, 60, 97, 58, 102, 111, 110, 116, 32,
|
|
115, 99, 114, 105, 112, 116, 61, 34, 83, 105,
|
|
110, 104, 34, 32, 116, 121, 112, 101, 102, 97,
|
|
99, 101, 61, 34, 73, 115, 107, 111, 111, 108,
|
|
97, 32, 80, 111, 116, 97, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 77, 111, 110, 103, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 77, 111, 110, 103, 111, 108, 105, 97, 110,
|
|
32, 66, 97, 105, 116, 105, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 86, 105, 101, 116, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 65, 114, 105, 97, 108, 34, 47, 62, 60,
|
|
97, 58, 102, 111, 110, 116, 32, 115, 99, 114,
|
|
105, 112, 116, 61, 34, 85, 105, 103, 104, 34,
|
|
32, 116, 121, 112, 101, 102, 97, 99, 101, 61,
|
|
34, 77, 105, 99, 114, 111, 115, 111, 102, 116,
|
|
32, 85, 105, 103, 104, 117, 114, 34, 47, 62,
|
|
60, 47, 97, 58, 109, 105, 110, 111, 114, 70,
|
|
111, 110, 116, 62, 60, 47, 97, 58, 102, 111,
|
|
110, 116, 83, 99, 104, 101, 109, 101, 62, 60,
|
|
97, 58, 102, 109, 116, 83, 99, 104, 101, 109,
|
|
101, 32, 110, 97, 109, 101, 61, 34, 79, 102,
|
|
102, 105, 99, 101, 34, 62, 60, 97, 58, 102,
|
|
105, 108, 108, 83, 116, 121, 108, 101, 76, 115,
|
|
116, 62, 60, 97, 58, 115, 111, 108, 105, 100,
|
|
70, 105, 108, 108, 62, 60, 97, 58, 115, 99,
|
|
104, 101, 109, 101, 67, 108, 114, 32, 118, 97,
|
|
108, 61, 34, 112, 104, 67, 108, 114, 34, 47,
|
|
62, 60, 47, 97, 58, 115, 111, 108, 105, 100,
|
|
70, 105, 108, 108, 62, 60, 97, 58, 103, 114,
|
|
97, 100, 70, 105, 108, 108, 32, 114, 111, 116,
|
|
87, 105, 116, 104, 83, 104, 97, 112, 101, 61,
|
|
34, 49, 34, 62, 60, 97, 58, 103, 115, 76,
|
|
115, 116, 62, 60, 97, 58, 103, 115, 32, 112,
|
|
111, 115, 61, 34, 48, 34, 62, 60, 97, 58,
|
|
115, 99, 104, 101, 109, 101, 67, 108, 114, 32,
|
|
118, 97, 108, 61, 34, 112, 104, 67, 108, 114,
|
|
34, 62, 60, 97, 58, 116, 105, 110, 116, 32,
|
|
118, 97, 108, 61, 34, 53, 48, 48, 48, 48,
|
|
34, 47, 62, 60, 97, 58, 115, 97, 116, 77,
|
|
111, 100, 32, 118, 97, 108, 61, 34, 51, 48,
|
|
48, 48, 48, 48, 34, 47, 62, 60, 47, 97,
|
|
58, 115, 99, 104, 101, 109, 101, 67, 108, 114,
|
|
62, 60, 47, 97, 58, 103, 115, 62, 60, 97,
|
|
58, 103, 115, 32, 112, 111, 115, 61, 34, 51,
|
|
53, 48, 48, 48, 34, 62, 60, 97, 58, 115,
|
|
99, 104, 101, 109, 101, 67, 108, 114, 32, 118,
|
|
97, 108, 61, 34, 112, 104, 67, 108, 114, 34,
|
|
62, 60, 97, 58, 116, 105, 110, 116, 32, 118,
|
|
97, 108, 61, 34, 51, 55, 48, 48, 48, 34,
|
|
47, 62, 60, 97, 58, 115, 97, 116, 77, 111,
|
|
100, 32, 118, 97, 108, 61, 34, 51, 48, 48,
|
|
48, 48, 48, 34, 47, 62, 60, 47, 97, 58,
|
|
115, 99, 104, 101, 109, 101, 67, 108, 114, 62,
|
|
60, 47, 97, 58, 103, 115, 62, 60, 97, 58,
|
|
103, 115, 32, 112, 111, 115, 61, 34, 49, 48,
|
|
48, 48, 48, 48, 34, 62, 60, 97, 58, 115,
|
|
99, 104, 101, 109, 101, 67, 108, 114, 32, 118,
|
|
97, 108, 61, 34, 112, 104, 67, 108, 114, 34,
|
|
62, 60, 97, 58, 116, 105, 110, 116, 32, 118,
|
|
97, 108, 61, 34, 49, 53, 48, 48, 48, 34,
|
|
47, 62, 60, 97, 58, 115, 97, 116, 77, 111,
|
|
100, 32, 118, 97, 108, 61, 34, 51, 53, 48,
|
|
48, 48, 48, 34, 47, 62, 60, 47, 97, 58,
|
|
115, 99, 104, 101, 109, 101, 67, 108, 114, 62,
|
|
60, 47, 97, 58, 103, 115, 62, 60, 47, 97,
|
|
58, 103, 115, 76, 115, 116, 62, 60, 97, 58,
|
|
108, 105, 110, 32, 97, 110, 103, 61, 34, 49,
|
|
54, 50, 48, 48, 48, 48, 48, 34, 32, 115,
|
|
99, 97, 108, 101, 100, 61, 34, 49, 34, 47,
|
|
62, 60, 47, 97, 58, 103, 114, 97, 100, 70,
|
|
105, 108, 108, 62, 60, 97, 58, 103, 114, 97,
|
|
100, 70, 105, 108, 108, 32, 114, 111, 116, 87,
|
|
105, 116, 104, 83, 104, 97, 112, 101, 61, 34,
|
|
49, 34, 62, 60, 97, 58, 103, 115, 76, 115,
|
|
116, 62, 60, 97, 58, 103, 115, 32, 112, 111,
|
|
115, 61, 34, 48, 34, 62, 60, 97, 58, 115,
|
|
99, 104, 101, 109, 101, 67, 108, 114, 32, 118,
|
|
97, 108, 61, 34, 112, 104, 67, 108, 114, 34,
|
|
62, 60, 97, 58, 115, 104, 97, 100, 101, 32,
|
|
118, 97, 108, 61, 34, 53, 49, 48, 48, 48,
|
|
34, 47, 62, 60, 97, 58, 115, 97, 116, 77,
|
|
111, 100, 32, 118, 97, 108, 61, 34, 49, 51,
|
|
48, 48, 48, 48, 34, 47, 62, 60, 47, 97,
|
|
58, 115, 99, 104, 101, 109, 101, 67, 108, 114,
|
|
62, 60, 47, 97, 58, 103, 115, 62, 60, 97,
|
|
58, 103, 115, 32, 112, 111, 115, 61, 34, 56,
|
|
48, 48, 48, 48, 34, 62, 60, 97, 58, 115,
|
|
99, 104, 101, 109, 101, 67, 108, 114, 32, 118,
|
|
97, 108, 61, 34, 112, 104, 67, 108, 114, 34,
|
|
62, 60, 97, 58, 115, 104, 97, 100, 101, 32,
|
|
118, 97, 108, 61, 34, 57, 51, 48, 48, 48,
|
|
34, 47, 62, 60, 97, 58, 115, 97, 116, 77,
|
|
111, 100, 32, 118, 97, 108, 61, 34, 49, 51,
|
|
48, 48, 48, 48, 34, 47, 62, 60, 47, 97,
|
|
58, 115, 99, 104, 101, 109, 101, 67, 108, 114,
|
|
62, 60, 47, 97, 58, 103, 115, 62, 60, 97,
|
|
58, 103, 115, 32, 112, 111, 115, 61, 34, 49,
|
|
48, 48, 48, 48, 48, 34, 62, 60, 97, 58,
|
|
115, 99, 104, 101, 109, 101, 67, 108, 114, 32,
|
|
118, 97, 108, 61, 34, 112, 104, 67, 108, 114,
|
|
34, 62, 60, 97, 58, 115, 104, 97, 100, 101,
|
|
32, 118, 97, 108, 61, 34, 57, 52, 48, 48,
|
|
48, 34, 47, 62, 60, 97, 58, 115, 97, 116,
|
|
77, 111, 100, 32, 118, 97, 108, 61, 34, 49,
|
|
51, 53, 48, 48, 48, 34, 47, 62, 60, 47,
|
|
97, 58, 115, 99, 104, 101, 109, 101, 67, 108,
|
|
114, 62, 60, 47, 97, 58, 103, 115, 62, 60,
|
|
47, 97, 58, 103, 115, 76, 115, 116, 62, 60,
|
|
97, 58, 108, 105, 110, 32, 97, 110, 103, 61,
|
|
34, 49, 54, 50, 48, 48, 48, 48, 48, 34,
|
|
32, 115, 99, 97, 108, 101, 100, 61, 34, 48,
|
|
34, 47, 62, 60, 47, 97, 58, 103, 114, 97,
|
|
100, 70, 105, 108, 108, 62, 60, 47, 97, 58,
|
|
102, 105, 108, 108, 83, 116, 121, 108, 101, 76,
|
|
115, 116, 62, 60, 97, 58, 108, 110, 83, 116,
|
|
121, 108, 101, 76, 115, 116, 62, 60, 97, 58,
|
|
108, 110, 32, 119, 61, 34, 57, 53, 50, 53,
|
|
34, 32, 99, 97, 112, 61, 34, 102, 108, 97,
|
|
116, 34, 32, 99, 109, 112, 100, 61, 34, 115,
|
|
110, 103, 34, 32, 97, 108, 103, 110, 61, 34,
|
|
99, 116, 114, 34, 62, 60, 97, 58, 115, 111,
|
|
108, 105, 100, 70, 105, 108, 108, 62, 60, 97,
|
|
58, 115, 99, 104, 101, 109, 101, 67, 108, 114,
|
|
32, 118, 97, 108, 61, 34, 112, 104, 67, 108,
|
|
114, 34, 62, 60, 97, 58, 115, 104, 97, 100,
|
|
101, 32, 118, 97, 108, 61, 34, 57, 53, 48,
|
|
48, 48, 34, 47, 62, 60, 97, 58, 115, 97,
|
|
116, 77, 111, 100, 32, 118, 97, 108, 61, 34,
|
|
49, 48, 53, 48, 48, 48, 34, 47, 62, 60,
|
|
47, 97, 58, 115, 99, 104, 101, 109, 101, 67,
|
|
108, 114, 62, 60, 47, 97, 58, 115, 111, 108,
|
|
105, 100, 70, 105, 108, 108, 62, 60, 97, 58,
|
|
112, 114, 115, 116, 68, 97, 115, 104, 32, 118,
|
|
97, 108, 61, 34, 115, 111, 108, 105, 100, 34,
|
|
47, 62, 60, 47, 97, 58, 108, 110, 62, 60,
|
|
97, 58, 108, 110, 32, 119, 61, 34, 50, 53,
|
|
52, 48, 48, 34, 32, 99, 97, 112, 61, 34,
|
|
102, 108, 97, 116, 34, 32, 99, 109, 112, 100,
|
|
61, 34, 115, 110, 103, 34, 32, 97, 108, 103,
|
|
110, 61, 34, 99, 116, 114, 34, 62, 60, 97,
|
|
58, 115, 111, 108, 105, 100, 70, 105, 108, 108,
|
|
62, 60, 97, 58, 115, 99, 104, 101, 109, 101,
|
|
67, 108, 114, 32, 118, 97, 108, 61, 34, 112,
|
|
104, 67, 108, 114, 34, 47, 62, 60, 47, 97,
|
|
58, 115, 111, 108, 105, 100, 70, 105, 108, 108,
|
|
62, 60, 97, 58, 112, 114, 115, 116, 68, 97,
|
|
115, 104, 32, 118, 97, 108, 61, 34, 115, 111,
|
|
108, 105, 100, 34, 47, 62, 60, 47, 97, 58,
|
|
108, 110, 62, 60, 97, 58, 108, 110, 32, 119,
|
|
61, 34, 51, 56, 49, 48, 48, 34, 32, 99,
|
|
97, 112, 61, 34, 102, 108, 97, 116, 34, 32,
|
|
99, 109, 112, 100, 61, 34, 115, 110, 103, 34,
|
|
32, 97, 108, 103, 110, 61, 34, 99, 116, 114,
|
|
34, 62, 60, 97, 58, 115, 111, 108, 105, 100,
|
|
70, 105, 108, 108, 62, 60, 97, 58, 115, 99,
|
|
104, 101, 109, 101, 67, 108, 114, 32, 118, 97,
|
|
108, 61, 34, 112, 104, 67, 108, 114, 34, 47,
|
|
62, 60, 47, 97, 58, 115, 111, 108, 105, 100,
|
|
70, 105, 108, 108, 62, 60, 97, 58, 112, 114,
|
|
115, 116, 68, 97, 115, 104, 32, 118, 97, 108,
|
|
61, 34, 115, 111, 108, 105, 100, 34, 47, 62,
|
|
60, 47, 97, 58, 108, 110, 62, 60, 47, 97,
|
|
58, 108, 110, 83, 116, 121, 108, 101, 76, 115,
|
|
116, 62, 60, 97, 58, 101, 102, 102, 101, 99,
|
|
116, 83, 116, 121, 108, 101, 76, 115, 116, 62,
|
|
60, 97, 58, 101, 102, 102, 101, 99, 116, 83,
|
|
116, 121, 108, 101, 62, 60, 97, 58, 101, 102,
|
|
102, 101, 99, 116, 76, 115, 116, 62, 60, 97,
|
|
58, 111, 117, 116, 101, 114, 83, 104, 100, 119,
|
|
32, 98, 108, 117, 114, 82, 97, 100, 61, 34,
|
|
52, 48, 48, 48, 48, 34, 32, 100, 105, 115,
|
|
116, 61, 34, 50, 48, 48, 48, 48, 34, 32,
|
|
100, 105, 114, 61, 34, 53, 52, 48, 48, 48,
|
|
48, 48, 34, 32, 114, 111, 116, 87, 105, 116,
|
|
104, 83, 104, 97, 112, 101, 61, 34, 48, 34,
|
|
62, 60, 97, 58, 115, 114, 103, 98, 67, 108,
|
|
114, 32, 118, 97, 108, 61, 34, 48, 48, 48,
|
|
48, 48, 48, 34, 62, 60, 97, 58, 97, 108,
|
|
112, 104, 97, 32, 118, 97, 108, 61, 34, 51,
|
|
56, 48, 48, 48, 34, 47, 62, 60, 47, 97,
|
|
58, 115, 114, 103, 98, 67, 108, 114, 62, 60,
|
|
47, 97, 58, 111, 117, 116, 101, 114, 83, 104,
|
|
100, 119, 62, 60, 47, 97, 58, 101, 102, 102,
|
|
101, 99, 116, 76, 115, 116, 62, 60, 47, 97,
|
|
58, 101, 102, 102, 101, 99, 116, 83, 116, 121,
|
|
108, 101, 62, 60, 97, 58, 101, 102, 102, 101,
|
|
99, 116, 83, 116, 121, 108, 101, 62, 60, 97,
|
|
58, 101, 102, 102, 101, 99, 116, 76, 115, 116,
|
|
62, 60, 97, 58, 111, 117, 116, 101, 114, 83,
|
|
104, 100, 119, 32, 98, 108, 117, 114, 82, 97,
|
|
100, 61, 34, 52, 48, 48, 48, 48, 34, 32,
|
|
100, 105, 115, 116, 61, 34, 50, 51, 48, 48,
|
|
48, 34, 32, 100, 105, 114, 61, 34, 53, 52,
|
|
48, 48, 48, 48, 48, 34, 32, 114, 111, 116,
|
|
87, 105, 116, 104, 83, 104, 97, 112, 101, 61,
|
|
34, 48, 34, 62, 60, 97, 58, 115, 114, 103,
|
|
98, 67, 108, 114, 32, 118, 97, 108, 61, 34,
|
|
48, 48, 48, 48, 48, 48, 34, 62, 60, 97,
|
|
58, 97, 108, 112, 104, 97, 32, 118, 97, 108,
|
|
61, 34, 51, 53, 48, 48, 48, 34, 47, 62,
|
|
60, 47, 97, 58, 115, 114, 103, 98, 67, 108,
|
|
114, 62, 60, 47, 97, 58, 111, 117, 116, 101,
|
|
114, 83, 104, 100, 119, 62, 60, 47, 97, 58,
|
|
101, 102, 102, 101, 99, 116, 76, 115, 116, 62,
|
|
60, 47, 97, 58, 101, 102, 102, 101, 99, 116,
|
|
83, 116, 121, 108, 101, 62, 60, 97, 58, 101,
|
|
102, 102, 101, 99, 116, 83, 116, 121, 108, 101,
|
|
62, 60, 97, 58, 101, 102, 102, 101, 99, 116,
|
|
76, 115, 116, 62, 60, 97, 58, 111, 117, 116,
|
|
101, 114, 83, 104, 100, 119, 32, 98, 108, 117,
|
|
114, 82, 97, 100, 61, 34, 52, 48, 48, 48,
|
|
48, 34, 32, 100, 105, 115, 116, 61, 34, 50,
|
|
51, 48, 48, 48, 34, 32, 100, 105, 114, 61,
|
|
34, 53, 52, 48, 48, 48, 48, 48, 34, 32,
|
|
114, 111, 116, 87, 105, 116, 104, 83, 104, 97,
|
|
112, 101, 61, 34, 48, 34, 62, 60, 97, 58,
|
|
115, 114, 103, 98, 67, 108, 114, 32, 118, 97,
|
|
108, 61, 34, 48, 48, 48, 48, 48, 48, 34,
|
|
62, 60, 97, 58, 97, 108, 112, 104, 97, 32,
|
|
118, 97, 108, 61, 34, 51, 53, 48, 48, 48,
|
|
34, 47, 62, 60, 47, 97, 58, 115, 114, 103,
|
|
98, 67, 108, 114, 62, 60, 47, 97, 58, 111,
|
|
117, 116, 101, 114, 83, 104, 100, 119, 62, 60,
|
|
47, 97, 58, 101, 102, 102, 101, 99, 116, 76,
|
|
115, 116, 62, 60, 97, 58, 115, 99, 101, 110,
|
|
101, 51, 100, 62, 60, 97, 58, 99, 97, 109,
|
|
101, 114, 97, 32, 112, 114, 115, 116, 61, 34,
|
|
111, 114, 116, 104, 111, 103, 114, 97, 112, 104,
|
|
105, 99, 70, 114, 111, 110, 116, 34, 62, 60,
|
|
97, 58, 114, 111, 116, 32, 108, 97, 116, 61,
|
|
34, 48, 34, 32, 108, 111, 110, 61, 34, 48,
|
|
34, 32, 114, 101, 118, 61, 34, 48, 34, 47,
|
|
62, 60, 47, 97, 58, 99, 97, 109, 101, 114,
|
|
97, 62, 60, 97, 58, 108, 105, 103, 104, 116,
|
|
82, 105, 103, 32, 114, 105, 103, 61, 34, 116,
|
|
104, 114, 101, 101, 80, 116, 34, 32, 100, 105,
|
|
114, 61, 34, 116, 34, 62, 60, 97, 58, 114,
|
|
111, 116, 32, 108, 97, 116, 61, 34, 48, 34,
|
|
32, 108, 111, 110, 61, 34, 48, 34, 32, 114,
|
|
101, 118, 61, 34, 49, 50, 48, 48, 48, 48,
|
|
48, 34, 47, 62, 60, 47, 97, 58, 108, 105,
|
|
103, 104, 116, 82, 105, 103, 62, 60, 47, 97,
|
|
58, 115, 99, 101, 110, 101, 51, 100, 62, 60,
|
|
97, 58, 115, 112, 51, 100, 62, 60, 97, 58,
|
|
98, 101, 118, 101, 108, 84, 32, 119, 61, 34,
|
|
54, 51, 53, 48, 48, 34, 32, 104, 61, 34,
|
|
50, 53, 52, 48, 48, 34, 47, 62, 60, 47,
|
|
97, 58, 115, 112, 51, 100, 62, 60, 47, 97,
|
|
58, 101, 102, 102, 101, 99, 116, 83, 116, 121,
|
|
108, 101, 62, 60, 47, 97, 58, 101, 102, 102,
|
|
101, 99, 116, 83, 116, 121, 108, 101, 76, 115,
|
|
116, 62, 60, 97, 58, 98, 103, 70, 105, 108,
|
|
108, 83, 116, 121, 108, 101, 76, 115, 116, 62,
|
|
60, 97, 58, 115, 111, 108, 105, 100, 70, 105,
|
|
108, 108, 62, 60, 97, 58, 115, 99, 104, 101,
|
|
109, 101, 67, 108, 114, 32, 118, 97, 108, 61,
|
|
34, 112, 104, 67, 108, 114, 34, 47, 62, 60,
|
|
47, 97, 58, 115, 111, 108, 105, 100, 70, 105,
|
|
108, 108, 62, 60, 97, 58, 103, 114, 97, 100,
|
|
70, 105, 108, 108, 32, 114, 111, 116, 87, 105,
|
|
116, 104, 83, 104, 97, 112, 101, 61, 34, 49,
|
|
34, 62, 60, 97, 58, 103, 115, 76, 115, 116,
|
|
62, 60, 97, 58, 103, 115, 32, 112, 111, 115,
|
|
61, 34, 48, 34, 62, 60, 97, 58, 115, 99,
|
|
104, 101, 109, 101, 67, 108, 114, 32, 118, 97,
|
|
108, 61, 34, 112, 104, 67, 108, 114, 34, 62,
|
|
60, 97, 58, 116, 105, 110, 116, 32, 118, 97,
|
|
108, 61, 34, 52, 48, 48, 48, 48, 34, 47,
|
|
62, 60, 97, 58, 115, 97, 116, 77, 111, 100,
|
|
32, 118, 97, 108, 61, 34, 51, 53, 48, 48,
|
|
48, 48, 34, 47, 62, 60, 47, 97, 58, 115,
|
|
99, 104, 101, 109, 101, 67, 108, 114, 62, 60,
|
|
47, 97, 58, 103, 115, 62, 60, 97, 58, 103,
|
|
115, 32, 112, 111, 115, 61, 34, 52, 48, 48,
|
|
48, 48, 34, 62, 60, 97, 58, 115, 99, 104,
|
|
101, 109, 101, 67, 108, 114, 32, 118, 97, 108,
|
|
61, 34, 112, 104, 67, 108, 114, 34, 62, 60,
|
|
97, 58, 116, 105, 110, 116, 32, 118, 97, 108,
|
|
61, 34, 52, 53, 48, 48, 48, 34, 47, 62,
|
|
60, 97, 58, 115, 104, 97, 100, 101, 32, 118,
|
|
97, 108, 61, 34, 57, 57, 48, 48, 48, 34,
|
|
47, 62, 60, 97, 58, 115, 97, 116, 77, 111,
|
|
100, 32, 118, 97, 108, 61, 34, 51, 53, 48,
|
|
48, 48, 48, 34, 47, 62, 60, 47, 97, 58,
|
|
115, 99, 104, 101, 109, 101, 67, 108, 114, 62,
|
|
60, 47, 97, 58, 103, 115, 62, 60, 97, 58,
|
|
103, 115, 32, 112, 111, 115, 61, 34, 49, 48,
|
|
48, 48, 48, 48, 34, 62, 60, 97, 58, 115,
|
|
99, 104, 101, 109, 101, 67, 108, 114, 32, 118,
|
|
97, 108, 61, 34, 112, 104, 67, 108, 114, 34,
|
|
62, 60, 97, 58, 115, 104, 97, 100, 101, 32,
|
|
118, 97, 108, 61, 34, 50, 48, 48, 48, 48,
|
|
34, 47, 62, 60, 97, 58, 115, 97, 116, 77,
|
|
111, 100, 32, 118, 97, 108, 61, 34, 50, 53,
|
|
53, 48, 48, 48, 34, 47, 62, 60, 47, 97,
|
|
58, 115, 99, 104, 101, 109, 101, 67, 108, 114,
|
|
62, 60, 47, 97, 58, 103, 115, 62, 60, 47,
|
|
97, 58, 103, 115, 76, 115, 116, 62, 60, 97,
|
|
58, 112, 97, 116, 104, 32, 112, 97, 116, 104,
|
|
61, 34, 99, 105, 114, 99, 108, 101, 34, 62,
|
|
60, 97, 58, 102, 105, 108, 108, 84, 111, 82,
|
|
101, 99, 116, 32, 108, 61, 34, 53, 48, 48,
|
|
48, 48, 34, 32, 116, 61, 34, 45, 56, 48,
|
|
48, 48, 48, 34, 32, 114, 61, 34, 53, 48,
|
|
48, 48, 48, 34, 32, 98, 61, 34, 49, 56,
|
|
48, 48, 48, 48, 34, 47, 62, 60, 47, 97,
|
|
58, 112, 97, 116, 104, 62, 60, 47, 97, 58,
|
|
103, 114, 97, 100, 70, 105, 108, 108, 62, 60,
|
|
97, 58, 103, 114, 97, 100, 70, 105, 108, 108,
|
|
32, 114, 111, 116, 87, 105, 116, 104, 83, 104,
|
|
97, 112, 101, 61, 34, 49, 34, 62, 60, 97,
|
|
58, 103, 115, 76, 115, 116, 62, 60, 97, 58,
|
|
103, 115, 32, 112, 111, 115, 61, 34, 48, 34,
|
|
62, 60, 97, 58, 115, 99, 104, 101, 109, 101,
|
|
67, 108, 114, 32, 118, 97, 108, 61, 34, 112,
|
|
104, 67, 108, 114, 34, 62, 60, 97, 58, 116,
|
|
105, 110, 116, 32, 118, 97, 108, 61, 34, 56,
|
|
48, 48, 48, 48, 34, 47, 62, 60, 97, 58,
|
|
115, 97, 116, 77, 111, 100, 32, 118, 97, 108,
|
|
61, 34, 51, 48, 48, 48, 48, 48, 34, 47,
|
|
62, 60, 47, 97, 58, 115, 99, 104, 101, 109,
|
|
101, 67, 108, 114, 62, 60, 47, 97, 58, 103,
|
|
115, 62, 60, 97, 58, 103, 115, 32, 112, 111,
|
|
115, 61, 34, 49, 48, 48, 48, 48, 48, 34,
|
|
62, 60, 97, 58, 115, 99, 104, 101, 109, 101,
|
|
67, 108, 114, 32, 118, 97, 108, 61, 34, 112,
|
|
104, 67, 108, 114, 34, 62, 60, 97, 58, 115,
|
|
104, 97, 100, 101, 32, 118, 97, 108, 61, 34,
|
|
51, 48, 48, 48, 48, 34, 47, 62, 60, 97,
|
|
58, 115, 97, 116, 77, 111, 100, 32, 118, 97,
|
|
108, 61, 34, 50, 48, 48, 48, 48, 48, 34,
|
|
47, 62, 60, 47, 97, 58, 115, 99, 104, 101,
|
|
109, 101, 67, 108, 114, 62, 60, 47, 97, 58,
|
|
103, 115, 62, 60, 47, 97, 58, 103, 115, 76,
|
|
115, 116, 62, 60, 97, 58, 112, 97, 116, 104,
|
|
32, 112, 97, 116, 104, 61, 34, 99, 105, 114,
|
|
99, 108, 101, 34, 62, 60, 97, 58, 102, 105,
|
|
108, 108, 84, 111, 82, 101, 99, 116, 32, 108,
|
|
61, 34, 53, 48, 48, 48, 48, 34, 32, 116,
|
|
61, 34, 53, 48, 48, 48, 48, 34, 32, 114,
|
|
61, 34, 53, 48, 48, 48, 48, 34, 32, 98,
|
|
61, 34, 53, 48, 48, 48, 48, 34, 47, 62,
|
|
60, 47, 97, 58, 112, 97, 116, 104, 62, 60,
|
|
47, 97, 58, 103, 114, 97, 100, 70, 105, 108,
|
|
108, 62, 60, 47, 97, 58, 98, 103, 70, 105,
|
|
108, 108, 83, 116, 121, 108, 101, 76, 115, 116,
|
|
62, 60, 47, 97, 58, 102, 109, 116, 83, 99,
|
|
104, 101, 109, 101, 62, 60, 47, 97, 58, 116,
|
|
104, 101, 109, 101, 69, 108, 101, 109, 101, 110,
|
|
116, 115, 62, 60, 97, 58, 111, 98, 106, 101,
|
|
99, 116, 68, 101, 102, 97, 117, 108, 116, 115,
|
|
47, 62, 60, 97, 58, 101, 120, 116, 114, 97,
|
|
67, 108, 114, 83, 99, 104, 101, 109, 101, 76,
|
|
115, 116, 47, 62, 60, 47, 97, 58, 116, 104,
|
|
101, 109, 101, 62
|
|
}};
|
|
|
|
return std::string(data.begin(), data.end());;
|
|
}
|
|
|
|
}
|