/*The MIT License (MIT)
Copyright (c) 2014 https://github.com/kayalshri/
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.*/
(function ($) {
$.fn.extend({
tableExport: function (options) {
var defaults = {
separator: ',',
ignoreColumn: [],
tableName: 'MyOwnFileName',
type: 'csv',
pdfFontSize: 12,
pdfLeftMargin: 20,
escape: 'true',
htmlContent: 'false',
consoleLog: 'false'
};
var options = $.extend(defaults, options);
var el = this;
if (defaults.type == 'csv' || defaults.type == 'txt') {
// Header
var tdData = "";
$(el).find('thead').find('tr').each(function () {
tdData += "\n";
$(this).filter(':visible').find('th').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
tdData += '"' + parseString($(this)) + '"' + defaults.separator;
}
}
});
tdData = $.trim(tdData);
tdData = $.trim(tdData).substring(0, tdData.length - 1);
});
// Row vs Column
$(el).find('tbody').find('tr').each(function () {
tdData += "\n";
$(this).filter(':visible').find('td').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
tdData += '"' + parseString($(this)) + '"' + defaults.separator;
}
}
});
//tdData = $.trim(tdData);
tdData = $.trim(tdData).substring(0, tdData.length - 1);
});
//output
if (defaults.consoleLog == 'true') {
console.log(tdData);
}
var base64data = "base64," + $.base64.encode(tdData);
window.open('data:application/' + defaults.type + ';filename=exportData;' + base64data);
} else if (defaults.type == 'sql') {
// Header
var tdData = "INSERT INTO `" + defaults.tableName + "` (";
$(el).find('thead').find('tr').each(function () {
$(this).filter(':visible').find('th').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
tdData += '`' + parseString($(this)) + '`,';
}
}
});
tdData = $.trim(tdData);
tdData = $.trim(tdData).substring(0, tdData.length - 1);
});
tdData += ") VALUES ";
// Row vs Column
$(el).find('tbody').find('tr').each(function () {
tdData += "(";
$(this).filter(':visible').find('td').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
tdData += '"' + parseString($(this)) + '",';
}
}
});
tdData = $.trim(tdData).substring(0, tdData.length - 1);
tdData += "),";
});
tdData = $.trim(tdData).substring(0, tdData.length - 1);
tdData += ";";
//output
//console.log(tdData);
if (defaults.consoleLog == 'true') {
console.log(tdData);
}
var base64data = "base64," + $.base64.encode(tdData);
window.open('data:application/sql;filename=exportData;' + base64data);
} else if (defaults.type == 'json') {
var jsonHeaderArray = [];
$(el).find('thead').find('tr').each(function () {
var tdData = "";
var jsonArrayTd = [];
$(this).filter(':visible').find('th').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
jsonArrayTd.push(parseString($(this)));
}
}
});
jsonHeaderArray.push(jsonArrayTd);
});
var jsonArray = [];
$(el).find('tbody').find('tr').each(function () {
var tdData = "";
var jsonArrayTd = [];
$(this).filter(':visible').find('td').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
jsonArrayTd.push(parseString($(this)));
}
}
});
jsonArray.push(jsonArrayTd);
});
var jsonExportArray = [];
jsonExportArray.push({header: jsonHeaderArray, data: jsonArray});
//Return as JSON
//console.log(JSON.stringify(jsonExportArray));
//Return as Array
//console.log(jsonExportArray);
if (defaults.consoleLog == 'true') {
console.log(JSON.stringify(jsonExportArray));
}
var base64data = "base64," + $.base64.encode(JSON.stringify(jsonExportArray));
window.open('data:application/json;filename=exportData;' + base64data);
} else if (defaults.type == 'xml') {
var xml = '<?xml version="1.0" encoding="utf-8"?>';
xml += '<tabledata><fields>';
// Header
$(el).find('thead').find('tr').each(function () {
$(this).filter(':visible').find('th').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
xml += "<field>" + parseString($(this)) + "</field>";
}
}
});
});
xml += '</fields><data>';
// Row Vs Column
var rowCount = 1;
$(el).find('tbody').find('tr').each(function () {
xml += '<row id="' + rowCount + '">';
var colCount = 0;
$(this).filter(':visible').find('td').each(function (index, data) {
if ($(this).css('display') != 'none') {
if (defaults.ignoreColumn.indexOf(index) == -1) {
xml += "<column-" + colCount + ">" + parseString($(this)) + "</column-" + colCount + ">";
}
}
colCount++;
});
rowCount++;
xml += '</row>';
});
xml += '</data></tabledata>'
if (defaults.consoleLog == 'true') {
console.log(xml);
}
var base64data = "base64," + $.base64.encode(xml);
window.open('data:application/xml;filename=exportData;' + base64data);
} else if (defaults.type == 'excel' || defaults.type == 'doc' || defaults.type == 'powerpoint') {
//console.log($(this).html());
var excel = "<table border='1'>";
// Header
$(el).find('thead').find('tr').each(function (index, data) {
if (data.id !== 'hide') {
if ($(el).find('thead').find('tr').id !== 'hide') {
excel += "<tr>";
$(this).find('th').each(function (index, data) {
if (data.colSpan > 1 && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
if (data.id !== 'hide') {
return excel += "<th colspan=" + data.colSpan + " align=" + data.align + ">" + parseString($(this)) + "</th>";
}
} else if (data.rowSpan > 1 && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
if (data.id !== 'hide') {
return excel += "<th rowSpan=" + data.colSpan + " align=" + data.align + ">" + parseString($(this)) + "</th>";
}
} else if (data.colSpan > 1) {
if ($(this).find('th').length > 0) {
excel += "<th colspan=" + data.colSpan + ">" + (data.firstChild.data).trim();
excel += "<table>";
$(data).find('table').find('tr').each(function (index, data1) {
excel += "<tr>";
if ($(data1).find('th').length > 0) {
$(data1).find('th').each(function (index, data2) {
excel += "<th>" + data2.textContent + "</th>";
});
}
excel += "</tr>";
});
excel += "</table>";
excel += "</th>";
} else {
if (data.id !== 'hide') {
return excel += "<th colspan=" + data.colSpan + ">" + parseString($(this)) + "</th>";
}
}
} else if (data.rowSpan > 1) {
if (data.id !== 'hide') {
return excel += "<th rowSpan=" + data.rowSpan + ">" + parseString($(this)) + "</th>";
}
} else if (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify') {
if (data.id !== 'hide') {
return excel += "<th align=" + data.align + ">" + parseString($(this)) + "</th>";
}
} else if (defaults.ignoreColumn.indexOf(index) == -1) {
if (data.id !== 'hide') {
return excel += "<th>" + parseString($(this)) + "</th>";
}
}
});
$(this).find('td').each(function (index, data) {
if (data.colSpan > 1 && data.bgColor !=="" && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td colspan=" + data.colSpan + " align=" + data.align + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1 && data.bgColor !=="" (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td rowSpan=" + data.colSpan + " align=" + data.align + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
}else if (data.colSpan > 1 && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td colspan=" + data.colSpan + " align=" + data.align + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1 && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td rowSpan=" + data.colSpan + " align=" + data.align + ">" + parseString($(this)) + "</td>";
} else if (data.colSpan > 1 && data.bgColor !=="") {
excel += "<td colspan=" + data.colSpan + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1 && data.bgColor !=="") {
excel += "<td rowSpan=" + data.colSpan + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
}else if (data.colSpan > 1) {
excel += "<td colspan=" + data.colSpan + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1) {
excel += "<td rowSpan=" + data.colSpan + ">" + parseString($(this)) + "</td>";
} else if ((data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')&& data.bgColor !=="") {
excel += "<td align=" + data.align + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify') {
excel += "<td align=" + data.align + ">" + parseString($(this)) + "</td>";
} else if(data.bgColor !==""){
excel += "<td bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (defaults.ignoreColumn.indexOf(index) == -1) {
excel += "<td>" + parseString($(this)) + "</td>";
}
});
excel += '</tr>';
}
}
});
// Row Vs Column
if (defaults.data.name === 'undefined' || defaults.data.name === undefined) {
var rowCount = 1;
$(el).find('tbody').find('tr').each(function (index, data) {
if (data.id !== 'hide') {
excel += "<tr>";
var colCount = 0;
$(this).find('td').each(function (index, data) {
if (data.id !== 'hide') {
if (data.colSpan > 1 && data.bgColor !=="" && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td colspan=" + data.colSpan + " align=" + data.align + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1 && data.bgColor !=="" (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td rowSpan=" + data.colSpan + " align=" + data.align + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
}else if (data.colSpan > 1 && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td colspan=" + data.colSpan + " align=" + data.align + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1 && (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')) {
excel += "<td rowSpan=" + data.colSpan + " align=" + data.align + ">" + parseString($(this)) + "</td>";
} else if (data.colSpan > 1 && data.bgColor !=="") {
excel += "<td colspan=" + data.colSpan + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1 && data.bgColor !=="") {
excel += "<td rowSpan=" + data.colSpan + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
}else if (data.colSpan > 1) {
excel += "<td colspan=" + data.colSpan + ">" + parseString($(this)) + "</td>";
} else if (data.rowSpan > 1) {
excel += "<td rowSpan=" + data.colSpan + ">" + parseString($(this)) + "</td>";
} else if ((data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify')&& data.bgColor !=="") {
excel += "<td align=" + data.align + " bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (data.align === 'left' || data.align === 'right' || data.align === 'center' || data.align === 'justify') {
excel += "<td align=" + data.align + ">" + parseString($(this)) + "</td>";
} else if(data.bgColor !==""){
excel += "<td bgcolor="+ data.bgColor + ">" + parseString($(this)) + "</td>";
} else if (defaults.ignoreColumn.indexOf(index) == -1) {
var data1 = data.textContent.trim();
var removeAllSpecialCharactors = data1.replace(/[^\w\s]/gi, '');
var checkNumberOnly = /^\d+$/;
if (removeAllSpecialCharactors.match(checkNumberOnly)) {
if (data.id === "invalidNo") {
var data = data.textContent + ":00"
excel += "<td align=right>" + data + "</td>";
} else {
excel += "<td align=right>" + parseString($(this)) + "</td>";
}
} else {
excel += "<td align=left>" + parseString($(this)) + "</td>";
}
}
// if (defaults.ignoreColumn.indexOf(index) == -1) {
// excel += "<td>" + parseString($(this)) + "</td>";
// }
colCount++;
}
});
rowCount++;
excel += '</tr>';
}
});
} else {
var rowCount = 1;
$(el).find('tbody').find('tr').each(function () {
if ($(this).find('td').length > 2) {
excel += "<tr>";
var colCount = 0;
$(this).find('td').each(function (index, data) {
if (data.colSpan > 1 || data.id === 'show' || data.id === 'shown') {
if (data.colSpan > 1) {
excel += "<td colspan=" + data.colSpan + ">";
excel += "<table>";
excel += "<tr>";
} else if (data.id === 'show') {
excel += "<td align='center'> " + data.textContent + "</td>";
} else if (data.id === 'shown') {
excel += "<td align='center'>" + data.textContent + "</td>";
excel += "</tr>";
excel += "</table>";
excel += "</td>";
}
} else {
var data = data.textContent.trim();
var removeAllSpecialCharactors = data.replace(/[^\w\s]/gi, '');
var checkNumberOnly = /^\d+$/;
if (removeAllSpecialCharactors.match(checkNumberOnly)) {
excel += "<td align=right>" + parseString($(this)) + "</td>";
} else {
excel += "<td align=left>" + parseString($(this)) + "</td>";
}
}
colCount++;
});
rowCount++;
excel += '</tr>';
}
});
}
excel += '</table>';
if (defaults.consoleLog === 'true') {
}
var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:" + defaults.type + "' xmlns='http://www.w3.org/TR/REC-html40'>";
excelFile += "<head>";
excelFile += "<!--[if gte mso 9]>";
excelFile += "<xml>";
excelFile += "<x:ExcelWorkbook>";
excelFile += "<x:ExcelWorksheets>";
excelFile += "<x:ExcelWorksheet>";
excelFile += "<x:Name>";
excelFile += "{worksheet}";
excelFile += "</x:Name>";
excelFile += "<x:WorksheetOptions>";
excelFile += "<x:DisplayGridlines/>";
excelFile += "</x:WorksheetOptions>";
excelFile += "</x:ExcelWorksheet>";
excelFile += "</x:ExcelWorksheets>";
excelFile += "</x:ExcelWorkbook>";
excelFile += "</xml>";
excelFile += "<![endif]-->";
excelFile += "</head>";
excelFile += "<body>";
excelFile += excel;
excelFile += "</body>";
excelFile += "</html>";
var Base64 = {_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (e) {
var t = "";
var n, r, i, s, o, u, a;
var f = 0;
e = Base64._utf8_encode(e);
while (f < e.length) {
n = e.charCodeAt(f++);
r = e.charCodeAt(f++);
i = e.charCodeAt(f++);
s = n >> 2;
o = (n & 3) << 4 | r >> 4;
u = (r & 15) << 2 | i >> 6;
a = i & 63;
if (isNaN(r)) {
u = a = 64;
} else if (isNaN(i)) {
a = 64;
}
t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a)
}
return t;
}, decode: function (e) {
var t = "";
var n, r, i;
var s, o, u, a;
var f = 0;
e = e.replace(/[^A-Za-z0-9+/=]/g, "");
while (f < e.length) {
s = this._keyStr.indexOf(e.charAt(f++));
o = this._keyStr.indexOf(e.charAt(f++));
u = this._keyStr.indexOf(e.charAt(f++));
a = this._keyStr.indexOf(e.charAt(f++));
n = s << 2 | o >> 4;
r = (o & 15) << 4 | u >> 2;
i = (u & 3) << 6 | a;
t = t + String.fromCharCode(n);
if (u != 64) {
t = t + String.fromCharCode(r)
}
if (a != 64) {
t = t + String.fromCharCode(i)
}
}
t = Base64._utf8_decode(t);
return t
}, _utf8_encode: function (e) {
e = e.replace(/rn/g, "n");
var t = "";
for (var n = 0; n < e.length; n++) {
var r = e.charCodeAt(n);
if (r < 128) {
t += String.fromCharCode(r)
} else if (r > 127 && r < 2048) {
t += String.fromCharCode(r >> 6 | 192);
t += String.fromCharCode(r & 63 | 128)
} else {
t += String.fromCharCode(r >> 12 | 224);
t += String.fromCharCode(r >> 6 & 63 | 128);
t += String.fromCharCode(r & 63 | 128)
}
}
return t
}, _utf8_decode: function (e) {
var t = "";
var n = 0;
var r = c1 = c2 = 0;
while (n < e.length) {
r = e.charCodeAt(n);
if (r < 128) {
t += String.fromCharCode(r);
n++
} else if (r > 191 && r < 224) {
c2 = e.charCodeAt(n + 1);
t += String.fromCharCode((r & 31) << 6 | c2 & 63);
n += 2
} else {
c2 = e.charCodeAt(n + 1);
c3 = e.charCodeAt(n + 2);
t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);
n += 3
}
}
return t
}}
var base64data = "base64," + Base64.encode(excelFile);
// document.getElementById("dlink").href = 'data:application/vnd.ms-' + defaults.type + ';filename=exportData.doc;' + base64data;
// document.getElementById("dlink").download = defaults.tableName.toString() + '.xls';
// document.getElementById("dlink").click();
// // window.open('data:application/vnd.ms-' + defaults.type + ';filename=exportData.doc;' + base64data);
$('<a style="display:none" href="data:application/vnd.ms-' + defaults.type + ';filename=exportData.doc;' + base64data + '" download="' + defaults.data.filename.toString() + '.xls"><span></span></a>').appendTo(document.body).find('span').trigger("click").parent().remove();
} else if (defaults.type == 'png') {
html2canvas($(el), {
onrendered: function (canvas) {
var img = canvas.toDataURL("image/png");
window.open(img);
}
});
} else
if (defaults.type == 'pdf') {
var mValue;
if(options.data.Header5){
mValue=105;
}else{
mValue=85;
}
if (options.data.heading === 'Consolidate Payroll Report') {
var doc = new jsPDF('l', 'pt', 'a4', true);
} else {
var doc = new jsPDF('p', 'pt', 'a4', true);
}
var totalPagesExp = "{total_pages_count_string}";
var val = [];
doc.setFontSize(defaults.pdfFontSize);
var res = doc.autoTableHtmlToJson(document.getElementById("testTablePDF"), false);
var base64data;
//var imgData = 'data:image/png;base64,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/GMzLdsAAECyaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTExLTIwVDE1OjUzOjQ0KzA1OjMwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMTlUMTM6MjA6NTkrMDU6MzA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE1LTA1LTE5VDEzOjIwOjU5KzA1OjMwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8cGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+YWNhZGVteTwvcGhvdG9zaG9wOkxheWVyTmFtZT4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllclRleHQ+YWNhZGVteTwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDo2MzgwYTkyNi1jMzBkLThmNDEtYjY1Zi04ZmE2YWQxOTRjZmM8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6ODk4ZWFhNjItMzZjYS04OTRhLTlmZjQtMmJmY2Y4Y2EyNmNkPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ODk4ZWFhNjItMzZjYS04OTRhLTlmZjQtMmJmY2Y4Y2EyNmNkPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjg5OGVhYTYyLTM2Y2EtODk0YS05ZmY0LTJiZmNmOGNhMjZjZDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0xMS0yMFQxNTo1Mzo0NCswNTozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NDFjZmIxOWYtNGVkMS00NDRjLTg0MDAtNmVhYjJkZmU5MTdkPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTA1LTE5VDEzOjIwOjU5KzA1OjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y29udmVydGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5kZXJpdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2MzgwYTkyNi1jMzBkLThmNDEtYjY1Zi04ZmE2YWQxOTRjZmM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMTlUMTM6MjA6NTkrMDU6MzA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDo0MWNmYjE5Zi00ZWQxLTQ0NGMtODQwMC02ZWFiMmRmZTkxN2Q8L3N0UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnhtcC5kaWQ6ODk4ZWFhNjItMzZjYS04OTRhLTlmZjQtMmJmY2Y4Y2EyNmNkPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ODk4ZWFhNjItMzZjYS04OTRhLTlmZjQtMmJmY2Y4Y2EyNmNkPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE3NDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj41ODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+keFjjAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAATT0lEQVR42uyceXQcxZ3HP1Xdc2gkjS5Llm9byPjAFwYMBgIGmzOBBMIVIMfmZR95CUsONi+P5QG7OBBCDq7wwu6GK4SEhA3mSDZAgDUkIU4wCb5iMMb4lizJOizNjGamu2r/6Bp5NJqRRocNhP6+189WTXdXd9W36vf9/epXLbTW+PDxQYP0m8CHT1wfPnzi+vDhE9eHT1wfPnzi+vDhE9fHhwc2QPuUI3PLlwLzgB8DQwZ6w9qhS4YB+H3oCG6OnoXUIPBjxIPOGimLHRdspOO4nZC0D11FYYfxLxzJxN/NxA07Y3bbeDrIt5c9zUVz/kpvOnjY2i38lR3ka60VwJPAxcWQNojLi+EjubNsGb3CJiZCCJ+0Pg6zVLgAWAV0Aa8WdQOt+XlkMe/YNXSKElwE0ietj8NI3POAx4EyoAZ4DbgVGNIGhLRDULvYKJ+0Pg4rceuA/wasDBeBmcB1wINZ5f0gjJZIigDCb0sf7wFxbwTGFzjncuAzuYUaKNUp1ganstGuJ6QdvzV9FIOKsSTueUOcd1EuaSM6zT6rnO9EV5AStu+MfUhhiaL6vQb4NPBH4KqxJG5psaNE44W/WmU510XPY4tVS9ifbT+U0EBbIjLYKWXAPcB64CfAicCYxP0yN3nHjIpC2NjniOHQJsv4ctXFvGmPp1Qn/bn2Q4xtneMG+7kSuDqnTI3ljHv3IOckgfs8liuEhtujy/m7XU+pTvo992F3kgaXCgroPmTOmUQ/KtFfs1CxjFaVaALa7Qhp59Kgdt4o0Wk0cFPFuTwfmk257vV7zcd7BhsgjYWGO1PCfqZUp84Na2dyr7C3tVjRpw7IcLOFJqRdHoss5lclCylXPml9eHDUoOkuCQauvqbHjLhfqP4UCkFcBHtrVOzlMpWkS4Zptirq4iKwX6LTGugVAaIeaSVwNFBi7iOAbcCerHsL4BRgCTAfmGjK4sC7wGbgz8Bfi3jOcmBhjl+wDujJcSBPBxYDc42+AugA3gY2Aa8AO0fZZlXAcaaO6XhhxDDgmLp2mPpeN77DWKDKODZzgAbTluVZRGgydb0FrAF2DfSkRL4F/Ebj22jTNy2mb7KjASuAY00fVuPF9L8D/FIAjVVtfQEGYAEQyLp+XB5nrMG0X77QvwC2AvuLIu4Wuw7QCLhpj1Xxz8os29paJQS6EdgLENBu5rog8CtgWta9rsdbacO85D3AqUPUr4DHgGuGeNi5wO9zyk4wxAe40DRm4xD1dQI/AFaOgDz1wL8ClwKTizg/DjwP3GEGzEhQA3wdL44+uchrOoAHgG/3takr6G5oQ4VnHKSoh2/TP9T5MPA58/8rTH9OzVPHNA1YUjG/dq83KLwIwrN4i1mD4UvmKIQrgJ8VpXGDZsk2oF0V0g4lOk1IO1goV6LJHLlWooC3eKHpqFOLaGSJt8Dx/BAvnM8DyJicW80gaiyivkrg5oyzOQx8DC9349phECgCfAJ4CfiPEYSBjsKLe/7bMOrMzM7XmoE+z2spi/iMdjpnt2ClrMHaNdOH1wA/LUDafuY+RyoctjRZewiC6GGQ6YAZvb/IeoE1ZlbMmK4pwEeMOc/GYryl5fOKDJdoc94PgS+bsm7TWW8ArXjL1rOA5Xk64CpjVu8ooq6bzJHPtG02smC/Iep0Q7iyrHMsvJXJE81s3d7fOOpCFuZ5Iwmy0Qv8ycie/aadxwOL8pjfOcBzwEnAdoRm/+LdVG4aP1QfXg7cVcA6poy1tQYhtM5j/vPdSwxjkhqSuKPBGcAy05jrzah9Oc95FvAvwPdyGuBco4lXF1FXL/BV4LPm78eNVHk7z7nVhqC5y9bfAO43nVUI1wD/nqf8OeBbZlDmOhszgC+a58tOUFoBPAqcn7lGaIGVDOR2oQR+lIe0zxvZsKnAs54AfBc4Oatsomnra3EkveNiuJE0Vq+Nlnn5scSY6mwiP2EkwJtADG+xqi3PtT3AmVmc0saKrqL/AtfdRsoUIu6Ow03cT5h/nzGE6ihwngvcaTr1Ozm/XVokccNZpL1xCM3abnRbLXBOVvkE48w9WeC6mYacuTPF9cBtg9T3LvBN4LfGikzP+u1sQ+p7Ml0bPBDKnWPOMQM4GxuAS/DSTQthjRn8LxgCZnA58C2U6HBLU6QqEkTi0ULEXZr1/18bTf9WQbOnIeuDMi5ZC1VZk0auBd1pHOvRx3HHEBuBywYhbTbuMJGIbBxf5DNlRut9RTpa2pj73EY8aZBrbs3y3DO4YQjSZmO1Gcy5AfjryaxSCgh0hUH1m3w+k+deNw5BWrLk0so8TuVxaIEOuDilqdz68uFl4JOFSStIOppkWmEFAmCrQgovnKcsMBZEG2vi3mS86WKQNs5HbiOXFXn9/gJmfLBBlRsmml7g3NnAx3PK1uexEENhnTHf2RhvZkG00FjxfunOwTz6v6OA5CqEzUaLZsPbmyU1TlkKoQclbsxYhRSA0hBzBD2uJO5KYq4knlLMGh/kB1fPZuFRV5DYUglWAES6WIk65s7ZaLDVmJfhYHvO3yVmlB4o4toXgH3DqCthwnrTcjzwfLgsz8zwkDGHw8UDRjqU5oR87tW2UpHmckIt5STreiAtlSF1IIdIHcOor8e8azAnrOaZHjkksR41epaUEkRszZmTkswMxKgJOLgIoj3tLD2qiqqPriD1ciuJN2YTmnI0OrYeEX0DVHoQCfv+I+6GPCN9KLijqO/vI7jGKcLjBTgtj3V4doTPuQf4W47TNB+YpKXeFegOUf9/jey47G+Z53ttlP0Qy2O3h8OiJzKkLbU135vfxrL6JHTH0FIihMDtjpNOh3F7FRoXEdDoVDWqbRFSaUTVGnBtEzMW4v1O3LYRXDOal9p1iOorZ2BMeAejWwVbk0PciHH+drkhh6pN4+ncMIGueU2QLhRpImQczCojp8KmTJqB5RriR0fRr93ABkcLSizF7Yu7WVbVSywl0a4E7RFXuRKJ6G+ShAtWL6p9LlYwDtHN4EhwUiUegyVIq/hIp1ae93cYiHu4U8USh+i+dQxM8dw+AmuSjXxOTp++Fo6k+o2JdM1vyj2nxkQZzsGL004wcsoa65dWSqOV7nIQrcq2uX1uG6fXpYgljBskBEjpHZYFARsRiSBCIa8sEABLgla4LcdgyQbsBaVtWnRerPdtWaHjHafrRMdsoAQhD5JUKNCumVIs0CEQEQiVI2zrsBD3cG87O1T1lTFwg2jHKO+Z7/qKbN3ZvmAAab+Et+dv8qFqQK2RSmlAEykN7Smvq7ynpoT0x8O7OLsuSUKHIeCCUuC65TrRW08yWadjsVq3vSOaXPV0UL2zTenu7m717vZOnUi0imBwL6Fwi7O1BNWmU9acSatkZXSVnBoJ6fieM9Tuv8R0bxuIgCcn0lGQ49C6FtRkdJeFKK/FmrUYa0I9SHHIifuPAlmENh4u8ml5C0CmLQ7MbKNrXnNGJtThxX/PHeKeB/AWYpLmmYPGqQtxMPkpz9Qq+uKvUgoVrYy8OGFG7YOzJkWem3lgR9tHStpoUO3EOuJz3bbty3R7xyLd3TNT93Q36mSqFscJoTUoRfoPr4K0EIEA7tZtEAhoEQy2UxrZKcLhrSIY+ruzqWq1PfeItZS7PbJq/K+xZqG2R9GJKAQng12NqJ7gyRApINUOKgDCBhnwiTsMpI1zY+XMwqNBvv0tvRm70XrCTi8WmrQCeAkmywto+qeAPwBbTEQlbgaVMM8bxFveftFo3QH6UdU7lNeU0WulaWys+caEErVzibuTk5JdjN+3eaLbE7+ws2nfRaqtfSnJZLCfTBDi4CElws6ij7RBKaETiRri8Rqt9dFeubzJfWfrdhmteFZOmvQTOXP+n1RTHSRiyPqoJztIm/tKTzr007k+cYtFuyFE9uJD/Sjvmc/ctwhXkqyOE5vSAWkJ3srh8jzeyl3ALUU6wO5gv5zY2MW1OsamAy7R8T07T9zzGjVvrzvKcfmnnubWz+lYrAYhjI4d5lpBhtS5L9DVOd3taP+iu3f3VXL3jpdEefl9srryWQKyBzGyuK9P3IFoNfHeWVlljXi5pW0jvOfiPGTcKh1JfFIXqjQFXtbWJ/Nce4MhbbGoHTDDay0QmmgywG2tdTTUJTi+No3bsuOoxLrXbog1t1yA6waRBcjqaQuPlEYm9JuJM78VinxZlndoLdSu3cuB5aqi4k077dwsZzb+HNsGx/WJOwZSYX0Ocavw1v//d4Qy4cScsmbgbTQkanvAWxSQDFzJa8LL6xgOZvTrV+0ipC1k2OJz7VNocKMkwHLWbrjGeW3tjbo3WYltg217BHQVKLf/DGrbiECgR2sdF4FArygJOyC0TqUsnUiEkbIUx4ngOFYfqTWePs1IjMz9jLzQ3d2z039Z+zO5a/eVwbNWfFNUV2/EdX3ijhJP4n30LxufGiFxT8FL58zGi0C3tjS947szuQNBBuZGbMJbUBgOrjwoDVJMLKt/7kuzz3/45GZYuH0PieZ3Tkq+vvY2tX3nydi2NxM6jkfaYNAV5aXvyOqqjaIiuo5QaIcoK2sWoVCLqKxoU03N3aTTaXvpEoWUuG9tEerdnQFr9pFlOh6v0u0dtWhdrzo6J5FKzVadnQt1T89cepMRtPbqksb3Nf+qPXvP7f354ycHlhy70j528fc8zesTd6R4Bm/Fa1JW2YXA9/HyfYczMdycp/wBtEAFXVKViQxxnT6H7SCG++3OE7wBp0G5zKue+djRdbM+/5H2QOKUFzaR2LHtisRLq39MojeMbYHrQjjcIyfU/0nWjvutqK5+UVRE3xLl5UmUhnQKQiHQGhEKejLCdQ8SUEpvBg2Hu0QotAfLQpSUICoroSyC1RMD227Qra1LVEfnGWpP03J9oHsa6IPXBwKQSkXTq1/5rmpqWhJYesJV2HaHT9yRoRsvX/iOHJP/MN5uiGJW7Sy89MXj8sy2q4WGdGmKdHkym7i78RLRM1hk9PXWIuqbBtyP1gHQzK2acfeF007+6oIWV5/YnBLda169Lr1u/S0oBeGQKyqif7OOaPiFiJQ8IevqtmkpIZHwyOQ4nmRwHPpmQKUOat3cQ6lMrNe7xnEg7YDSiNLSbSIc3mbNnfOYamqu0G37l7nN+y7RrW2n6nh8Up8jGAzivLnlYtXR2RC64PwrRTD4pk/ckeGHeMkwx2aVLcDbZfFVCufxgrdl5vt4idW5+vmbgBZK4pSkUMF+uu4V4Kysv6N4e/IuYWAKaDbOwUvxnIpK6Yumnf61xujEu05T41l2IBnoeeS/Hkr95bXLRVmZIyfUP2Qd2XifrKl5XZSVopqaPcK57kFyjiWUGQDpNAjZJaZMfsoeN+4pja7Wbfsvdbe8fZXu7FoIIEIh1L7WY5KPP/GSNW3K2db0qet1LO4Td5hwgM+bGbI2Z2ZbBfwO+I3RoV14gf8ZeMnpFxWI/X4Fb/cvKHDDDtp2we1b83jQDIrs+o7B267zQ1Nns3F9qvCSdT6B911jgZPgzMlL7/30jNPumtStOCZVQc9Pbnkw+cofL7dmTPuVfdwxt6HUWoKeAtHp9MEIweGA1n0zsoiUtMsZ038kq6sf0InEJc669dfptvY5ImCj9rdPiN957zOl0Yoz7EULtuh0+n1HXPU+J+8GM2venyekdYY5ikGXIeRDfSFPLbykbqmzI69Nxrn6nxxHrc5o5ZtNjFkb6XIw/uSmOWXCsY/cPP/KrzUkAtQmE6LnW7fem964qSF0wfnLseRLorIS3dKSCU29ty2rtTcLQ1JOm/pIoCL6tN7f/llnw8av09E1Te1rmdpz3Q2/Kbv9lnOteXPfJtFf/ucub4Zy/i6lcE5AZIhri3r8IuuTY2QtcpdCw0Vc8wZemuO9Ixxor+LteH5owKgNufne9nm8LT6bBmn3/u2kXOoiNfddP/+yz09PhZ3absdKPPbLq9yduzpDHz37VFFf91KfHHi/IUNgy+qyFs6/O/ixc4635s29X1gWuqOzMb7ytl/qvc1RpCT7HXI7fyP9vwEQJ3/Wl8LLyp+UE7oZLrbl1NdD/iysLgZ+m2DvCOpbkxNe+muR1x3A+3jbI3h73U42kiHPsiopE5FYj7d8+wSFch30oGQ/CW+z5nnAEXj7t3LR5vWZvqskGHmy6kCK2tYWUm9tqXObml63Fi64TysNH4SvaWoNyRQEg/sCp536BVldtcZZv3Gls2Xrot6Hf7qy5Btf/4p23D5LkUvcH5hjKKQw209GiUfNMRQ2U9x3GobC1aO8/s/msPBSDKcYPVpmBni7GVA7GX3aZRfe/rGVRirMwNv2U2bCZnvxcoRbAVwBkY5uZCe4nZ3NoiLapGPxg6taHxQoBakU1tw5P7YXLfhd6jfP/mdy1dPXyIYZrwbPWvELHU/4ztko4JrQ1e7DVF+LOQaftITwRJVl6fdcw44WqRTU1uwIXvjx8zQ8knzokQetyZNWi4qKfYW0ow8f75O4jgOumw5dcP4VcurUB3offexO1dmJT1wfHwzpIIVrzz/qatLOZt22/0xfKvj4YDhtCKy5c7COnLlSd3cfDyC09j+E7+ODB18q+PCJ68OHT1wfPnzi+vCJ68OHT1wfPkaG/x8AvRIG7/i56SIAAAAASUVORK5CYII=';
var pageContent = function (data) {
// HEADER
doc.setFontSize(18);
doc.setTextColor(40);
doc.setFontStyle('normal');
if (options.data.datas.loadedImg) {
//doc.addImage(options.data.datas.loadedImg, options.data.datas.logo.fileType, data.settings.margin.left, 10, 75, 25);
}
if (options.data.Header1) {
var Header = options.data.Header1;
var Semicolon = " : ";
var Content = options.data.Content1;
doc.setFontSize(9);
doc.setTextColor(40);
var xOffset = (doc.internal.pageSize.width / 2) - (doc.getStringUnitWidth(Semicolon) * doc.internal.getFontSize() / 2);
doc.text(Header, data.settings.margin.left, 50);
doc.text(Semicolon, xOffset - 175, 50);
doc.text(Content, xOffset - 110, 50);
}
if (options.data.Header2) {
var Header = options.data.Header2;
var Semicolon = " : ";
var Content = options.data.Content2;
doc.setFontSize(9);
doc.setTextColor(40);
var xOffset = (doc.internal.pageSize.width / 2) - (doc.getStringUnitWidth(Semicolon) * doc.internal.getFontSize() / 2);
doc.text(Header, data.settings.margin.left, 60);
doc.text(Semicolon, xOffset - 175, 60);
doc.text(Content, xOffset - 110, 60);
}
if (options.data.Header3) {
var Header = options.data.Header3;
var Semicolon = " : ";
var Content = options.data.Content3.toString();
doc.setFontSize(9);
doc.setTextColor(40);
var xOffset = (doc.internal.pageSize.width / 2) - (doc.getStringUnitWidth(Semicolon) * doc.internal.getFontSize() / 2);
doc.text(Header, data.settings.margin.left, 70);