Commit 097ded1a authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander.Trofimov

добавлена иерархия стилей в ячейке(таблицы, ячейки, условного форматирования)

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@47347 954022d7-b5bf-4e40-9824-e11837661b57
parent 6a12c0d6
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
this.AboveAverage = true; this.AboveAverage = true;
this.Bottom = false; this.Bottom = false;
this.DxfId = null; this.dxf = null;
this.EqualAverage = false; this.EqualAverage = false;
this.Operator = null; this.Operator = null;
this.Percent = false; this.Percent = false;
......
...@@ -5503,7 +5503,11 @@ function Binary_WorksheetTableReader(stream, wb, aSharedStrings, aCellXfs, Dxfs, ...@@ -5503,7 +5503,11 @@ function Binary_WorksheetTableReader(stream, wb, aSharedStrings, aCellXfs, Dxfs,
else if (c_oSer_ConditionalFormattingRule.Bottom === type) else if (c_oSer_ConditionalFormattingRule.Bottom === type)
oConditionalFormattingRule.Bottom = this.stream.GetBool(); oConditionalFormattingRule.Bottom = this.stream.GetBool();
else if (c_oSer_ConditionalFormattingRule.DxfId === type) else if (c_oSer_ConditionalFormattingRule.DxfId === type)
oConditionalFormattingRule.DxfId = this.stream.GetULongLE(); {
var DxfId = this.stream.GetULongLE();
var dxf = this.Dxfs[DxfId];
oConditionalFormattingRule.dxf = dxf;
}
else if (c_oSer_ConditionalFormattingRule.EqualAverage === type) else if (c_oSer_ConditionalFormattingRule.EqualAverage === type)
oConditionalFormattingRule.EqualAverage = this.stream.GetBool(); oConditionalFormattingRule.EqualAverage = this.stream.GetBool();
else if (c_oSer_ConditionalFormattingRule.Operator === type) else if (c_oSer_ConditionalFormattingRule.Operator === type)
...@@ -6118,6 +6122,8 @@ function CTableStyle() ...@@ -6118,6 +6122,8 @@ function CTableStyle()
this.name = null; this.name = null;
this.pivot = true; this.pivot = true;
this.table = true; this.table = true;
this.compiled = null;
this.blankRow = null; this.blankRow = null;
this.firstColumn = null; this.firstColumn = null;
...@@ -6148,6 +6154,175 @@ function CTableStyle() ...@@ -6148,6 +6154,175 @@ function CTableStyle()
this.totalRow = null; this.totalRow = null;
this.wholeTable = null; this.wholeTable = null;
} }
CTableStyle.prototype =
{
getStyle: function(bbox, rowAbs, colAbs, rowIndex, colIndex, options, headerRowCount, totalsRowCount)
{
if(null == this.compiled)
this._compile();
var res = null;
if(headerRowCount > 0 && rowAbs == bbox.r1)
res = this.compiled.header;
else if(totalsRowCount > 0 && rowAbs == bbox.r2)
res = this.compiled.total;
else
{
var option = this._getOption(options);
if(options.ShowFirstColumn && colAbs == bbox.c1)
{
if(0 == (rowIndex - headerRowCount) % 2)
res = option.leftRowFirstColFirst;
else
res = option.leftRowSecondColFirst;
}
else if(options.ShowLastColumn && colAbs == bbox.c2)
{
if(0 == (rowIndex - headerRowCount) % 2)
{
if(0 == colIndex % 2)
res = option.rightRowFirstColFirst;
else
res = option.rightRowFirstColSecond;
}
else
{
if(0 == colIndex % 2)
res = option.rightRowSecondColFirst;
else
res = option.rightRowSecondColSecond;
}
}
else if(options.ShowRowStripes || options.ShowColumnStripes)
{
if(0 == (rowIndex - headerRowCount) % 2)
{
if(0 == colIndex % 2)
res = option.rowFirstColFirst;
else
res = option.rowFirstColSecond;
}
else
{
if(0 == colIndex % 2)
res = option.rowSecondColFirst;
else
res = option.rowSecondColSecond;
}
}
else
res = this.wholeTable;
}
return res;
},
_getOption: function(options)
{
var nBitMask = 0;
if(options.ShowFirstColumn)
nBitMask += 1;
if(options.ShowLastColumn)
nBitMask += 1 << 1;
if(options.ShowRowStripes)
nBitMask += 1 << 2;
if(options.ShowColumnStripes)
nBitMask += 1 << 3;
var styles = this.compiled.options[nBitMask];
if(null == styles)
{
styles = {
leftRowFirstColFirst: new CellXfs(),
leftRowSecondColFirst: new CellXfs(),
rowFirstColFirst: new CellXfs(),
rowSecondColFirst: new CellXfs(),
rowFirstColSecond: new CellXfs(),
rowSecondColSecond: new CellXfs(),
rightRowFirstColFirst: new CellXfs(),
rightRowSecondColFirst: new CellXfs(),
rightRowFirstColSecond: new CellXfs(),
rightRowSecondColSecond: new CellXfs()
}
this._compileOption(options, styles);
this.compiled.options[nBitMask] = styles;
}
return styles;
},
_compileOption : function(options, styles)
{
for(var i in styles)
{
var elem = styles[i];
var xfs = elem;
if(options.ShowFirstColumn && elem == styles.leftRowFirstColFirst || elem == styles.leftRowSecondColFirst)
{
if(null != this.firstColumn)
xfs = xfs.merge(this.firstColumn.dxf);
}
else if(options.ShowLastColumn && elem == styles.rightRowFirstColFirst || elem == styles.rightRowSecondColFirst ||
elem == styles.rightRowFirstColSecond || elem == styles.rightRowSecondColSecond)
{
if(null != this.lastColumn)
xfs = xfs.merge(this.lastColumn.dxf);
}
if(options.ShowRowStripes)
{
if(elem == styles.leftRowFirstColFirst || elem == styles.rowFirstColFirst ||
elem == styles.rowFirstColSecond || elem == styles.rightRowFirstColFirst || elem == styles.rightRowFirstColSecond)
{
if(null != this.firstRowStripe)
xfs = xfs.merge(this.firstRowStripe.dxf);
}
else
{
if(null != this.secondRowStripe)
xfs = xfs.merge(this.secondRowStripe.dxf);
}
}
if(options.ShowColumnStripes)
{
if(elem == styles.leftRowFirstColFirst || elem == styles.leftRowSecondColFirst ||
elem == styles.rowFirstColFirst || elem == styles.rowSecondColFirst ||
elem == styles.rightRowFirstColFirst || elem == styles.rightRowSecondColFirst)
{
if(null != this.firstColumnStripe)
xfs = xfs.merge(this.firstColumnStripe.dxf);
}
else
{
if(null != this.secondColumnStripe)
xfs = xfs.merge(this.secondColumnStripe.dxf);
}
}
if(null != this.wholeTable)
xfs = xfs.merge(this.wholeTable.dxf);
styles[i] = xfs;
}
},
_compile : function()
{
this.compiled = {
header: null,
total: null,
options: new Object()
};
//header
if(null != this.headerRow && null != this.wholeTable)
{
this.compiled.header = new CellXfs();
if(null != this.headerRow)
this.compiled.header = this.compiled.header.merge(this.headerRow.dxf);
if(null != this.wholeTable)
this.compiled.header = this.compiled.header.merge(this.wholeTable.dxf);
}
//total
if(null != this.totalRow && null != this.wholeTable)
{
this.compiled.total = new CellXfs();
if(null != this.totalRow)
this.compiled.total = this.compiled.total.merge(this.totalRow.dxf);
if(null != this.wholeTable)
this.compiled.total = this.compiled.total.merge(this.wholeTable.dxf);
}
}
}
function CTableStyleElement() function CTableStyleElement()
{ {
this.size = 1; this.size = 1;
......
...@@ -3838,6 +3838,10 @@ function Cell(worksheet){ ...@@ -3838,6 +3838,10 @@ function Cell(worksheet){
this.sm = worksheet.workbook.oStyleManager; this.sm = worksheet.workbook.oStyleManager;
this.oValue = new CCellValue(this); this.oValue = new CCellValue(this);
this.xfs = null; this.xfs = null;
this.tableXfs = null;
this.conditionalFormattingXfs = null;
this.bNeedCompileXfs = false;
this.compiledXfs = null;
this.oId = null; this.oId = null;
this.oFormulaExt = null; this.oFormulaExt = null;
this.sFormula = null; this.sFormula = null;
...@@ -3845,6 +3849,36 @@ function Cell(worksheet){ ...@@ -3845,6 +3849,36 @@ function Cell(worksheet){
this.merged = null; this.merged = null;
this.hyperlinks = new Array(); this.hyperlinks = new Array();
}; };
Cell.prototype.getStyle=function(){
if(this.bNeedCompileXfs)
{
this.bNeedCompileXfs = false;
this.compileXfs();
}
return this.compiledXfs;
}
Cell.prototype.compileXfs=function(){
this.compiledXfs = null;
if(null != this.xfs || null != this.tableXfs || null != this.conditionalFormattingXfs)
{
if(null != this.tableXfs)
this.compiledXfs = this.tableXfs;
if(null != this.xfs)
{
if(null != this.compiledXfs)
this.compiledXfs = this.xfs.merge(this.compiledXfs);
else
this.compiledXfs = this.xfs;
}
if(null != this.conditionalFormattingXfs)
{
if(null != this.compiledXfs)
this.compiledXfs = this.conditionalFormattingXfs.merge(this.compiledXfs);
else
this.compiledXfs = this.xfs;
}
}
}
Cell.prototype.clone=function(){ Cell.prototype.clone=function(){
var oNewCell = new Cell(this.ws); var oNewCell = new Cell(this.ws);
oNewCell.oId = new CellAddress(this.oId.getRow(), this.oId.getCol()); oNewCell.oId = new CellAddress(this.oId.getRow(), this.oId.getCol());
...@@ -4069,6 +4103,7 @@ Cell.prototype.setNumFormat=function(val){ ...@@ -4069,6 +4103,7 @@ Cell.prototype.setNumFormat=function(val){
var oRes = this.sm.setNumFormat(this, val); var oRes = this.sm.setNumFormat(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Numformat, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Numformat, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.shiftNumFormat=function(nShift, dDigitsCount){ Cell.prototype.shiftNumFormat=function(nShift, dDigitsCount){
...@@ -4137,6 +4172,7 @@ Cell.prototype.setFont=function(val, bModifyValue){ ...@@ -4137,6 +4172,7 @@ Cell.prototype.setFont=function(val, bModifyValue){
newVal = oRes.newVal.clone(); newVal = oRes.newVal.clone();
History.Add(g_oUndoRedoCell, historyitem_Cell_SetFont, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oldVal, newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_SetFont, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oldVal, newVal));
} }
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setFontname=function(val){ Cell.prototype.setFontname=function(val){
...@@ -4144,6 +4180,7 @@ Cell.prototype.setFontname=function(val){ ...@@ -4144,6 +4180,7 @@ Cell.prototype.setFontname=function(val){
var oRes = this.sm.setFontname(this, val); var oRes = this.sm.setFontname(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Fontname, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Fontname, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setFontsize=function(val){ Cell.prototype.setFontsize=function(val){
...@@ -4151,6 +4188,7 @@ Cell.prototype.setFontsize=function(val){ ...@@ -4151,6 +4188,7 @@ Cell.prototype.setFontsize=function(val){
var oRes = this.sm.setFontsize(this, val); var oRes = this.sm.setFontsize(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Fontsize, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Fontsize, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setFontcolor=function(val){ Cell.prototype.setFontcolor=function(val){
...@@ -4158,6 +4196,7 @@ Cell.prototype.setFontcolor=function(val){ ...@@ -4158,6 +4196,7 @@ Cell.prototype.setFontcolor=function(val){
var oRes = this.sm.setFontcolor(this, val); var oRes = this.sm.setFontcolor(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Fontcolor, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Fontcolor, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setBold=function(val){ Cell.prototype.setBold=function(val){
...@@ -4165,6 +4204,7 @@ Cell.prototype.setBold=function(val){ ...@@ -4165,6 +4204,7 @@ Cell.prototype.setBold=function(val){
var oRes = this.sm.setBold(this, val); var oRes = this.sm.setBold(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Bold, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Bold, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setItalic=function(val){ Cell.prototype.setItalic=function(val){
...@@ -4172,6 +4212,7 @@ Cell.prototype.setItalic=function(val){ ...@@ -4172,6 +4212,7 @@ Cell.prototype.setItalic=function(val){
var oRes = this.sm.setItalic(this, val); var oRes = this.sm.setItalic(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Italic, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Italic, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setUnderline=function(val){ Cell.prototype.setUnderline=function(val){
...@@ -4179,6 +4220,7 @@ Cell.prototype.setUnderline=function(val){ ...@@ -4179,6 +4220,7 @@ Cell.prototype.setUnderline=function(val){
var oRes = this.sm.setUnderline(this, val); var oRes = this.sm.setUnderline(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Underline, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Underline, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setStrikeout=function(val){ Cell.prototype.setStrikeout=function(val){
...@@ -4186,6 +4228,7 @@ Cell.prototype.setStrikeout=function(val){ ...@@ -4186,6 +4228,7 @@ Cell.prototype.setStrikeout=function(val){
var oRes = this.sm.setStrikeout(this, val); var oRes = this.sm.setStrikeout(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Strikeout, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Strikeout, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setFontAlign=function(val){ Cell.prototype.setFontAlign=function(val){
...@@ -4193,24 +4236,28 @@ Cell.prototype.setFontAlign=function(val){ ...@@ -4193,24 +4236,28 @@ Cell.prototype.setFontAlign=function(val){
var oRes = this.sm.setFontAlign(this, val); var oRes = this.sm.setFontAlign(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_FontAlign, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_FontAlign, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
} }
Cell.prototype.setAlignVertical=function(val){ Cell.prototype.setAlignVertical=function(val){
var oRes = this.sm.setAlignVertical(this, val); var oRes = this.sm.setAlignVertical(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_AlignVertical, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_AlignVertical, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setAlignHorizontal=function(val){ Cell.prototype.setAlignHorizontal=function(val){
var oRes = this.sm.setAlignHorizontal(this, val); var oRes = this.sm.setAlignHorizontal(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_AlignHorizontal, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_AlignHorizontal, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setFill=function(val){ Cell.prototype.setFill=function(val){
var oRes = this.sm.setFill(this, val); var oRes = this.sm.setFill(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Fill, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Fill, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setBorder=function(val){ Cell.prototype.setBorder=function(val){
...@@ -4224,30 +4271,35 @@ Cell.prototype.setBorder=function(val){ ...@@ -4224,30 +4271,35 @@ Cell.prototype.setBorder=function(val){
newVal = oRes.newVal.clone(); newVal = oRes.newVal.clone();
History.Add(g_oUndoRedoCell, historyitem_Cell_Border, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oldVal, newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Border, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oldVal, newVal));
} }
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setShrinkToFit=function(val){ Cell.prototype.setShrinkToFit=function(val){
var oRes = this.sm.setShrinkToFit(this, val); var oRes = this.sm.setShrinkToFit(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_ShrinkToFit, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_ShrinkToFit, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setWrap=function(val){ Cell.prototype.setWrap=function(val){
var oRes = this.sm.setWrap(this, val); var oRes = this.sm.setWrap(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Wrap, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Wrap, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setAngle=function(val){ Cell.prototype.setAngle=function(val){
var oRes = this.sm.setAngle(this, val); var oRes = this.sm.setAngle(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Angle, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Angle, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setVerticalText=function(val){ Cell.prototype.setVerticalText=function(val){
var oRes = this.sm.setVerticalText(this, val); var oRes = this.sm.setVerticalText(this, val);
if(History.Is_On() && oRes.oldVal != oRes.newVal) if(History.Is_On() && oRes.oldVal != oRes.newVal)
History.Add(g_oUndoRedoCell, historyitem_Cell_Angle, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_Angle, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setQuotePrefix=function(val){ Cell.prototype.setQuotePrefix=function(val){
...@@ -4256,6 +4308,16 @@ Cell.prototype.setQuotePrefix=function(val){ ...@@ -4256,6 +4308,16 @@ Cell.prototype.setQuotePrefix=function(val){
History.Add(g_oUndoRedoCell, historyitem_Cell_SetQuotePrefix, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal)); History.Add(g_oUndoRedoCell, historyitem_Cell_SetQuotePrefix, this.ws.getId(), new Asc.Range(0, this.oId.getRow0(), gc_nMaxCol0, this.oId.getRow0()), new UndoRedoData_CellSimpleData(this.oId.getRow0(), this.oId.getCol0(), oRes.oldVal, oRes.newVal));
this.oValue.cleanCache(); this.oValue.cleanCache();
}; };
Cell.prototype.setConditionalFormattingStyle=function(xfs){
this.conditionalFormattingXfs = xfs;
this.bNeedCompileXfs = true;
this.oValue.cleanCache();
}
Cell.prototype.setTableStyle=function(xfs){
this.tableXfs = xfs;
this.bNeedCompileXfs = true;
this.oValue.cleanCache();
}
Cell.prototype.setStyle=function(xfs){ Cell.prototype.setStyle=function(xfs){
var oldVal = this.xfs; var oldVal = this.xfs;
var newVal = null; var newVal = null;
...@@ -4265,6 +4327,7 @@ Cell.prototype.setStyle=function(xfs){ ...@@ -4265,6 +4327,7 @@ Cell.prototype.setStyle=function(xfs){
this.xfs = xfs.clone(); this.xfs = xfs.clone();
newVal = this.xfs; newVal = this.xfs;
} }
this.bNeedCompileXfs = true;
this.oValue.cleanCache(); this.oValue.cleanCache();
if(History.Is_On() && false == ((null == oldVal && null == newVal) || (null != oldVal && null != newVal && true == oldVal.isEqual(newVal)))) if(History.Is_On() && false == ((null == oldVal && null == newVal) || (null != oldVal && null != newVal && true == oldVal.isEqual(newVal))))
{ {
...@@ -4302,9 +4365,6 @@ Cell.prototype.getValue2=function(dDigitsCount, fIsFitMeasurer){ ...@@ -4302,9 +4365,6 @@ Cell.prototype.getValue2=function(dDigitsCount, fIsFitMeasurer){
dDigitsCount = gc_nMaxDigCountView; dDigitsCount = gc_nMaxDigCountView;
return this.oValue.getValue2(dDigitsCount, fIsFitMeasurer); return this.oValue.getValue2(dDigitsCount, fIsFitMeasurer);
}; };
Cell.prototype.getStyle=function(){
return this.xfs;
};
Cell.prototype.getNumFormatStr=function(){ Cell.prototype.getNumFormatStr=function(){
if(null != this.xfs && null != this.xfs.num) if(null != this.xfs && null != this.xfs.num)
return this.xfs.num.f; return this.xfs.num.f;
...@@ -5120,7 +5180,7 @@ Range.prototype.setBorder=function(border){ ...@@ -5120,7 +5180,7 @@ Range.prototype.setBorder=function(border){
return; return;
var _cell = oThis.worksheet.getCell(new CellAddress(nRow, nCol, 0)); var _cell = oThis.worksheet.getCell(new CellAddress(nRow, nCol, 0));
var oCurBorder = _cell.getBorderSrc().clone(); var oCurBorder = _cell.getBorderSrc().clone();
oCurBorder.merge(oNewBorder); oCurBorder.mergeInner(oNewBorder);
var cell = oThis.worksheet._getCell(nRow, nCol); var cell = oThis.worksheet._getCell(nRow, nCol);
cell.setBorder(oCurBorder); cell.setBorder(oCurBorder);
} }
...@@ -5138,7 +5198,7 @@ Range.prototype.setBorder=function(border){ ...@@ -5138,7 +5198,7 @@ Range.prototype.setBorder=function(border){
oCurBorder = rowcol.xfs.border.clone(); oCurBorder = rowcol.xfs.border.clone();
else else
oCurBorder = new Border(); oCurBorder = new Border();
oCurBorder.merge(oNewBorder); oCurBorder.mergeInner(oNewBorder);
rowcol.setBorder(oNewBorder); rowcol.setBorder(oNewBorder);
} }
}; };
...@@ -5873,8 +5933,9 @@ Range.prototype.getNumFormatStr=function(){ ...@@ -5873,8 +5933,9 @@ Range.prototype.getNumFormatStr=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.num) var xfs = cell.getStyle();
return cell.xfs.num.f; if(null != xfs && null != xfs.num)
return xfs.num.f;
} }
else else
{ {
...@@ -5894,8 +5955,9 @@ Range.prototype.getFont = function(){ ...@@ -5894,8 +5955,9 @@ Range.prototype.getFont = function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font; if(null != xfs && null != xfs.font)
return xfs.font;
} }
else else
{ {
...@@ -5915,8 +5977,9 @@ Range.prototype.getFontname=function(){ ...@@ -5915,8 +5977,9 @@ Range.prototype.getFontname=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.fn; if(null != xfs && null != xfs.font)
return xfs.font.fn;
} }
else else
{ {
...@@ -5936,8 +5999,9 @@ Range.prototype.getFontsize=function(){ ...@@ -5936,8 +5999,9 @@ Range.prototype.getFontsize=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.fs; if(null != xfs && null != xfs.font)
return xfs.font.fs;
} }
else else
{ {
...@@ -5957,8 +6021,9 @@ Range.prototype.getFontcolor=function(){ ...@@ -5957,8 +6021,9 @@ Range.prototype.getFontcolor=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.c; if(null != xfs && null != xfs.font)
return xfs.font.c;
} }
else else
{ {
...@@ -5978,8 +6043,9 @@ Range.prototype.getBold=function(){ ...@@ -5978,8 +6043,9 @@ Range.prototype.getBold=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.b; if(null != xfs && null != xfs.font)
return xfs.font.b;
} }
else else
{ {
...@@ -5999,8 +6065,9 @@ Range.prototype.getItalic=function(){ ...@@ -5999,8 +6065,9 @@ Range.prototype.getItalic=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.i; if(null != xfs && null != xfs.font)
return xfs.font.i;
} }
else else
{ {
...@@ -6020,8 +6087,9 @@ Range.prototype.getUnderline=function(){ ...@@ -6020,8 +6087,9 @@ Range.prototype.getUnderline=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.u; if(null != xfs && null != xfs.font)
return xfs.font.u;
} }
else else
{ {
...@@ -6041,8 +6109,9 @@ Range.prototype.getStrikeout=function(val){ ...@@ -6041,8 +6109,9 @@ Range.prototype.getStrikeout=function(val){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.s; if(null != xfs && null != xfs.font)
return xfs.font.s;
} }
else else
{ {
...@@ -6062,8 +6131,9 @@ Range.prototype.getFontAlign=function(){ ...@@ -6062,8 +6131,9 @@ Range.prototype.getFontAlign=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.font) var xfs = cell.getStyle();
return cell.xfs.font.va; if(null != xfs && null != xfs.font)
return xfs.font.va;
} }
else else
{ {
...@@ -6081,8 +6151,12 @@ Range.prototype.getQuotePrefix=function(){ ...@@ -6081,8 +6151,12 @@ Range.prototype.getQuotePrefix=function(){
var nRow = this.bbox.r1; var nRow = this.bbox.r1;
var nCol = this.bbox.c1; var nCol = this.bbox.c1;
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell && null != cell.xfs && null != cell.xfs.QuotePrefix) if(null != cell)
return cell.xfs.QuotePrefix; {
var xfs = cell.getStyle();
if(null != xfs && null != xfs.QuotePrefix)
return xfs.QuotePrefix;
}
return false; return false;
}; };
Range.prototype.getAlignVertical=function(){ Range.prototype.getAlignVertical=function(){
...@@ -6091,8 +6165,9 @@ Range.prototype.getAlignVertical=function(){ ...@@ -6091,8 +6165,9 @@ Range.prototype.getAlignVertical=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.align) var xfs = cell.getStyle();
return cell.xfs.align.ver; if(null != xfs && null != xfs.align)
return xfs.align.ver;
} }
else else
{ {
...@@ -6112,8 +6187,9 @@ Range.prototype.getAlignHorizontal=function(){ ...@@ -6112,8 +6187,9 @@ Range.prototype.getAlignHorizontal=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.align) var xfs = cell.getStyle();
return cell.xfs.align.hor; if(null != xfs && null != xfs.align)
return xfs.align.hor;
} }
else else
{ {
...@@ -6168,8 +6244,9 @@ Range.prototype.getFill=function(){ ...@@ -6168,8 +6244,9 @@ Range.prototype.getFill=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.fill) var xfs = cell.getStyle();
return cell.xfs.fill.bg; if(null != xfs && null != xfs.fill)
return xfs.fill.bg;
} }
else else
{ {
...@@ -6197,8 +6274,9 @@ Range.prototype.getBorderSrc=function(_cell){ ...@@ -6197,8 +6274,9 @@ Range.prototype.getBorderSrc=function(_cell){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.border) var xfs = cell.getStyle();
return cell.xfs.border; if(null != xfs && null != xfs.border)
return xfs.border;
} }
else else
{ {
...@@ -6269,8 +6347,9 @@ Range.prototype.getShrinkToFit=function(){ ...@@ -6269,8 +6347,9 @@ Range.prototype.getShrinkToFit=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.align) var xfs = cell.getStyle();
return cell.xfs.align.shrink; if(null != xfs && null != xfs.align)
return xfs.align.shrink;
} }
else else
{ {
...@@ -6290,8 +6369,9 @@ Range.prototype.getWrap=function(){ ...@@ -6290,8 +6369,9 @@ Range.prototype.getWrap=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.align) var xfs = cell.getStyle();
return cell.xfs.align.wrap; if(null != xfs && null != xfs.align)
return xfs.align.wrap;
} }
else else
{ {
...@@ -6317,8 +6397,9 @@ Range.prototype.getAngle=function(){ ...@@ -6317,8 +6397,9 @@ Range.prototype.getAngle=function(){
}; };
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.align) var xfs = cell.getStyle();
return fProcAngle(cell.xfs.align.angle); if(null != xfs && null != xfs.align)
return fProcAngle(xfs.align.angle);
} }
else else
{ {
...@@ -6338,8 +6419,9 @@ Range.prototype.getVerticalText=function(){ ...@@ -6338,8 +6419,9 @@ Range.prototype.getVerticalText=function(){
var cell = this.worksheet._getCellNoEmpty(nRow, nCol); var cell = this.worksheet._getCellNoEmpty(nRow, nCol);
if(null != cell) if(null != cell)
{ {
if(null != cell.xfs && null != cell.xfs.align) var xfs = cell.getStyle();
return g_nVerticalTextAngle == cell.xfs.align.angle; if(null != xfs && null != xfs.align)
return g_nVerticalTextAngle == xfs.align.angle;
} }
else else
{ {
......
...@@ -10,6 +10,7 @@ var g_oDefaultNumAbs = null; ...@@ -10,6 +10,7 @@ var g_oDefaultNumAbs = null;
var g_oDefaultBorderAbs = null; var g_oDefaultBorderAbs = null;
var g_oDefaultAlignAbs = null; var g_oDefaultAlignAbs = null;
var g_nColorTextDefault = 1;
var g_nColorHyperlink = 10; var g_nColorHyperlink = 10;
var g_nColorHyperlinkVisited = 11; var g_nColorHyperlinkVisited = 11;
...@@ -311,7 +312,7 @@ function Font(val) ...@@ -311,7 +312,7 @@ function Font(val)
i : false, i : false,
u : "none", u : "none",
s : false, s : false,
c : g_oColorManager.getThemeColor(1), c : g_oColorManager.getThemeColor(g_nColorTextDefault),
va : "baseline", va : "baseline",
skip : false, skip : false,
repeat : false repeat : false
...@@ -343,6 +344,34 @@ function Font(val) ...@@ -343,6 +344,34 @@ function Font(val)
}; };
Font.prototype = Font.prototype =
{ {
_mergeProperty : function(first, second, def)
{
if(def != first)
return first;
else
return second;
},
merge : function(font)
{
var oRes = new Font();
oRes.fn = this._mergeProperty(this.fn, font.fn, g_oDefaultFont.fn);
oRes.fs = this._mergeProperty(this.fs, font.fs, g_oDefaultFont.fs);
oRes.b = this._mergeProperty(this.b, font.b, g_oDefaultFont.b);
oRes.i = this._mergeProperty(this.i, font.i, g_oDefaultFont.i);
oRes.u = this._mergeProperty(this.u, font.u, g_oDefaultFont.u);
oRes.s = this._mergeProperty(this.s, font.s, g_oDefaultFont.s);
//заглушка excel при merge стилей игнорирует default цвет
if(this.c instanceof ThemeColor && g_nColorTextDefault == this.c.theme && null == this.c.tint)
oRes.c = this._mergeProperty(font.c, this.c, g_oDefaultFont.c);
else
oRes.c = this._mergeProperty(this.c, font.c, g_oDefaultFont.c);
oRes.themeColor = this._mergeProperty(this.themeColor, font.themeColor, g_oDefaultFont.themeColor);
oRes.themeTint = this._mergeProperty(this.themeTint, font.themeTint, g_oDefaultFont.themeTint);
oRes.va = this._mergeProperty(this.va, font.va, g_oDefaultFont.va);
oRes.skip = this._mergeProperty(this.skip, font.skip, g_oDefaultFont.skip);
oRes.repeat = this._mergeProperty(this.repeat, font.repeat, g_oDefaultFont.repeat);
return oRes;
},
getRgbOrNull : function() getRgbOrNull : function()
{ {
var nRes = null; var nRes = null;
...@@ -526,6 +555,21 @@ function Fill(val) ...@@ -526,6 +555,21 @@ function Fill(val)
}; };
Fill.prototype = Fill.prototype =
{ {
_mergeProperty : function(first, second, def)
{
if(def != first)
return first;
else
return second;
},
merge : function(fill)
{
var oRes = new Fill();
oRes.bg = this._mergeProperty(this.bg, fill.bg, g_oDefaultFill.bg);
oRes.themeColor = this._mergeProperty(this.themeColor, fill.themeColor, g_oDefaultFill.themeColor);
oRes.themeTint = this._mergeProperty(this.themeTint, fill.themeTint, g_oDefaultFill.themeTint);
return oRes;
},
getRgbOrNull : function() getRgbOrNull : function()
{ {
var nRes = null; var nRes = null;
...@@ -681,6 +725,27 @@ function Border(val) ...@@ -681,6 +725,27 @@ function Border(val)
}; };
Border.prototype = Border.prototype =
{ {
_mergeProperty : function(first, second, def)
{
if((null != def.isEqual && false == def.isEqual(first)) || (null == def.isEqual && def != first))
return first;
else
return second;
},
merge : function(border)
{
var oRes = new Border();
oRes.l = this._mergeProperty(this.l, border.l, g_oDefaultBorder.l).clone();
oRes.t = this._mergeProperty(this.t, border.t, g_oDefaultBorder.t).clone();
oRes.r = this._mergeProperty(this.r, border.r, g_oDefaultBorder.r).clone();
oRes.b = this._mergeProperty(this.b, border.b, g_oDefaultBorder.b).clone();
oRes.d = this._mergeProperty(this.d, border.d, g_oDefaultBorder.d).clone();
oRes.ih = this._mergeProperty(this.ih, border.ih, g_oDefaultBorder.ih).clone();
oRes.iv = this._mergeProperty(this.iv, border.iv, g_oDefaultBorder.iv).clone();
oRes.dd = this._mergeProperty(this.dd, border.dd, g_oDefaultBorder.dd);
oRes.du = this._mergeProperty(this.du, border.du, g_oDefaultBorder.du);
return oRes;
},
getDif : function(val) getDif : function(val)
{ {
var oRes = new Border(this); var oRes = new Border(this);
...@@ -748,9 +813,9 @@ Border.prototype = ...@@ -748,9 +813,9 @@ Border.prototype =
{ {
//border может быть не класса Border //border может быть не класса Border
this.clean(); this.clean();
this.merge(border); this.mergeInner(border);
}, },
merge : function(border){ mergeInner : function(border){
//border может быть не класса Border //border может быть не класса Border
if(border){ if(border){
if(border.l) if(border.l)
...@@ -828,6 +893,15 @@ function Num(val) ...@@ -828,6 +893,15 @@ function Num(val)
}; };
Num.prototype = Num.prototype =
{ {
merge : function(num)
{
var oRes = new Num();
if(g_oDefaultNum.f != this.f)
oRes.f = this.f;
else
oRes.f = num.f;
return oRes;
},
getDif : function(val) getDif : function(val)
{ {
var oRes = new Num(this); var oRes = new Num(this);
...@@ -891,6 +965,36 @@ function CellXfs() ...@@ -891,6 +965,36 @@ function CellXfs()
}; };
CellXfs.prototype = CellXfs.prototype =
{ {
_mergeProperty : function(first, second)
{
var res = null;
if(null != first || null != second)
{
if(null == first)
res = second;
else if(null == second)
res = first;
else
{
if(null != first.merge)
res = first.merge(second);
else
res = from;
}
}
return res;
},
merge : function(xfs)
{
var oRes = new CellXfs();
oRes.border = this._mergeProperty(this.border, xfs.border);
oRes.fill = this._mergeProperty(this.fill, xfs.fill);
oRes.font = this._mergeProperty(this.font, xfs.font);
oRes.num = this._mergeProperty(this.num, xfs.num);
oRes.align = this._mergeProperty(this.align, xfs.align);
oRes.QuotePrefix = this._mergeProperty(this.QuotePrefix, xfs.QuotePrefix);
return oRes;
},
clone : function() clone : function()
{ {
var res = new CellXfs(); var res = new CellXfs();
...@@ -991,6 +1095,25 @@ function Align(val) ...@@ -991,6 +1095,25 @@ function Align(val)
}; };
Align.prototype = Align.prototype =
{ {
_mergeProperty : function(first, second, def)
{
if(false == def.isEqual(first))
return first;
else
return second;
},
merge : function(border)
{
var oRes = new Align();
oRes.hor = this._mergeProperty(this.hor, border.hor, g_oDefaultAlign.hor);
oRes.indent = this._mergeProperty(this.indent, border.indent, g_oDefaultAlign.indent);
oRes.RelativeIndent = this._mergeProperty(this.RelativeIndent, border.RelativeIndent, g_oDefaultAlign.RelativeIndent);
oRes.shrink = this._mergeProperty(this.shrink, border.shrink, g_oDefaultAlign.shrink);
oRes.angle = this._mergeProperty(this.angle, border.angle, g_oDefaultAlign.angle);
oRes.ver = this._mergeProperty(this.ver, border.ver, g_oDefaultAlign.ver);
oRes.wrap = this._mergeProperty(this.wrap, border.wrap, g_oDefaultAlign.wrap);
return oRes;
},
getDif : function(val) getDif : function(val)
{ {
var oRes = new Align(this); var oRes = new Align(this);
...@@ -2338,8 +2461,9 @@ CCellValue.prototype = ...@@ -2338,8 +2461,9 @@ CCellValue.prototype =
if(CellValueType.String == this.type) if(CellValueType.String == this.type)
bNeedMeasure = false; bNeedMeasure = false;
var oNumFormat; var oNumFormat;
if(null != this.cell.xfs && null != this.cell.xfs.num) var xfs = this.cell.getStyle();
oNumFormat = oNumFormatCache.get(this.cell.xfs.num.f); if(null != xfs && null != xfs.num)
oNumFormat = oNumFormatCache.get(xfs.num.f);
else else
oNumFormat = oNumFormatCache.get(g_oDefaultNum.f); oNumFormat = oNumFormatCache.get(g_oDefaultNum.f);
if(false == oNumFormat.isGeneralFormat()) if(false == oNumFormat.isGeneralFormat())
...@@ -2461,6 +2585,7 @@ CCellValue.prototype = ...@@ -2461,6 +2585,7 @@ CCellValue.prototype =
//применяем форматирование //применяем форматирование
var oValueText = null; var oValueText = null;
var oValueArray = null; var oValueArray = null;
var xfs = this.cell.getStyle();
if(this.cell.sFormula) if(this.cell.sFormula)
oValueText = "="+this.cell.sFormula; oValueText = "="+this.cell.sFormula;
else else
...@@ -2476,8 +2601,8 @@ CCellValue.prototype = ...@@ -2476,8 +2601,8 @@ CCellValue.prototype =
if(CellValueType.Number == this.type || CellValueType.String == this.type) if(CellValueType.Number == this.type || CellValueType.String == this.type)
{ {
var oNumFormat; var oNumFormat;
if(null != this.cell.xfs && null != this.cell.xfs.num) if(null != xfs && null != xfs.num)
oNumFormat = oNumFormatCache.get(this.cell.xfs.num.f); oNumFormat = oNumFormatCache.get(xfs.num.f);
else else
oNumFormat = oNumFormatCache.get(g_oDefaultNum.f); oNumFormat = oNumFormatCache.get(g_oDefaultNum.f);
if(CellValueType.String != this.type && null != oNumFormat && null != this.number) if(CellValueType.String != this.type && null != oNumFormat && null != this.number)
...@@ -2527,7 +2652,7 @@ CCellValue.prototype = ...@@ -2527,7 +2652,7 @@ CCellValue.prototype =
else if(this.multiText) else if(this.multiText)
oValueArray = this.multiText; oValueArray = this.multiText;
} }
if(null != this.cell.xfs && true == this.cell.xfs.QuotePrefix && CellValueType.String == this.type) if(null != xfs && true == xfs.QuotePrefix && CellValueType.String == this.type)
{ {
if(null != oValueText) if(null != oValueText)
oValueText = "'" + oValueText; oValueText = "'" + oValueText;
...@@ -2544,8 +2669,9 @@ CCellValue.prototype = ...@@ -2544,8 +2669,9 @@ CCellValue.prototype =
if(null == sText && null == aText) if(null == sText && null == aText)
sText = ""; sText = "";
var cellfont; var cellfont;
if(null != this.cell.xfs && null != this.cell.xfs.font) var xfs = this.cell.getStyle();
cellfont = this.cell.xfs.font; if(null != xfs && null != xfs.font)
cellfont = xfs.font;
else else
cellfont = g_oDefaultFont; cellfont = g_oDefaultFont;
if(null != sText){ if(null != sText){
...@@ -2595,8 +2721,9 @@ CCellValue.prototype = ...@@ -2595,8 +2721,9 @@ CCellValue.prototype =
if("" == val) if("" == val)
return; return;
var oNumFormat; var oNumFormat;
if(null != this.cell.xfs && null != this.cell.xfs.num) var xfs = this.cell.getStyle();
oNumFormat = oNumFormatCache.get(this.cell.xfs.num.f); if(null != xfs && null != xfs.num)
oNumFormat = oNumFormatCache.get(xfs.num.f);
else else
oNumFormat = oNumFormatCache.get(g_oDefaultNum.f); oNumFormat = oNumFormatCache.get(g_oDefaultNum.f);
if(oNumFormat.isTextFormat()) if(oNumFormat.isTextFormat())
......
...@@ -2892,136 +2892,56 @@ ...@@ -2892,136 +2892,56 @@
_setColorStyleTable: function(id,idNext,ws,options, isOpenFilter) _setColorStyleTable: function(id,idNext,ws,options, isOpenFilter)
{ {
var firstCell = ws.model.getCell(new CellAddress(id)); var firstCellAddress = new CellAddress(id);
var endCell = ws.model.getCell(new CellAddress(idNext)); var endCellAddress = new CellAddress(idNext);
var bbox = {r1: firstCellAddress.getRow0(), c1: firstCellAddress.getCol0(), r2: endCellAddress.getRow0(), c2: endCellAddress.getCol0()};
var style = options.TableStyleInfo; var style = options.TableStyleInfo;
var styleForCurTable;
if(style && style.Name && ws.model.workbook.TableStyles && ws.model.workbook.TableStyles.AllStyles && ws.model.workbook.TableStyles.AllStyles[style.Name]) //todo из файла
{ var headerRowCount = 1;
var styleForCurTable = ws.model.workbook.TableStyles.AllStyles[style.Name]; var totalRowShown = 0;
var allRange = ws.model.getRange(new CellAddress(id), new CellAddress(idNext)); var totalsRowCount = 0;
//allRange.setFill((styleForCurTable.wholeTable && styleForCurTable.wholeTable.dxf.fill) ? (styleForCurTable.wholeTable.dxf.fill) : null); if(options.TotalsRowCount)
for(var row = firstCell.first.row - 1; row < endCell.first.row; row++) totalsRowCount = options.TotalsRowCount;
{ if(style && style.Name && ws.model.workbook.TableStyles && ws.model.workbook.TableStyles.AllStyles && (styleForCurTable = ws.model.workbook.TableStyles.AllStyles[style.Name]))
{
for(var col = firstCell.first.col - 1; col < endCell.first.col; col++) //заполняем названия столбцов
if(true != isOpenFilter && headerRowCount > 0 && options.TableColumns)
{
for(var i = bbox.c1; i <= bbox.c2; i++)
{ {
var range = ws.model.getCell(new CellAddress(row,col,0)); var range = ws.model.getCell3(bbox.r1, i);
if(row == firstCell.first.row - 1 && options.TableColumns && !isOpenFilter) var num = i - bbox.c1;
{ var tableColumn = options.TableColumns[num];
var num = col - (firstCell.first.col - 1); if(null != tableColumn && null != tableColumn.Name)
var nameColumn = options.TableColumns[num].Name; range.setValue(tableColumn.Name);
range.setValue(nameColumn);
}
//clear prev table
//range.cleanFormat();
range.setFill(null);
range.setBorderSrc(null);
if(ws.model._getRow(row).hd)
continue;
if(row == firstCell.first.row - 1)//header row
{
this._setAllColorStyleForTable(range,styleForCurTable.headerRow,styleForCurTable.wholeTable);
}
else if(row == endCell.first.row - 1 && options.TotalsRowCount)//total row
{
this._setAllColorStyleForTable(range,styleForCurTable.totalRow,styleForCurTable.wholeTable);
}
else if(col == firstCell.first.col - 1 && options.TableStyleInfo.ShowFirstColumn && styleForCurTable.firstColumn)//first column
{
this._setAllColorStyleForTable(range,styleForCurTable.firstColumn,styleForCurTable.wholeTable);
}
else if(col == endCell.first.col - 1 && options.TableStyleInfo.ShowLastColumn && styleForCurTable.lastColumn)//last column
{
this._setAllColorStyleForTable(range,styleForCurTable.lastColumn,styleForCurTable.wholeTable);
}
else if(options.TableStyleInfo.ShowColumnStripes || options.TableStyleInfo.ShowRowStripes)//column stripes
{
//определяем четный/нечетный
if(options.TableStyleInfo.ShowColumnStripes)
{
var n = 0;
for(k = firstCell.first.col - 1; k < endCell.first.col;k++)
{
if(col == k)
{
n++;
break;
}
//if(!(options.TableStyleInfo.ShowFirstColumn && k == firstCell.first.col - 1) && !ws.model._getCol(k).hd)
n++;
}
if(n%2 != 0)
{
this._setAllColorStyleForTable(range,styleForCurTable.firstColumnStripe,styleForCurTable.wholeTable);
}
else
{
this._setAllColorStyleForTable(range,styleForCurTable.secondColumnStripe,styleForCurTable.wholeTable);
}
}
if(options.TableStyleInfo.ShowRowStripes)
{
//определяем четная/нечетная
var n = 0;
for(var k = firstCell.first.row - 1; k < endCell.first.row;k++)
{
if(ws.model._getRow(k).hd)
continue;
if(row == k)
{
n++;
break;
}
if(!(k == firstCell.first.row - 1) && !ws.model._getRow(k).hd)
n++;
}
var defaultStyles = styleForCurTable.wholeTable;
if(options.TableStyleInfo.ShowColumnStripes)
defaultStyles = undefined;
if(n%2 != 0)
{
this._setAllColorStyleForTable(range,styleForCurTable.firstRowStripe,defaultStyles);
}
else
{
this._setAllColorStyleForTable(range,styleForCurTable.secondRowStripe,defaultStyles);
}
}
}
//первая ячейка
if(styleForCurTable.firstHeaderCell && row == firstCell.first.row - 1 && col == firstCell.first.col - 1 && options.TableStyleInfo.ShowFirstColumn)
this._setAllColorStyleForTable(range,styleForCurTable.firstHeaderCell,styleForCurTable.wholeTable);
//последняя в первой строке
if(styleForCurTable.lastHeaderCell && row == firstCell.first.row - 1 && col == endCell.first.col - 1 && options.TableStyleInfo.ShowLastColumn)
this._setAllColorStyleForTable(range,styleForCurTable.lastHeaderCell,styleForCurTable.wholeTable);
//первая в последней строке
if(styleForCurTable.firstTotalCell && row == endCell.first.row - 1 && col == firstCell.first.col - 1 && options.TotalsRowCount && options.TableStyleInfo.ShowFirstColumn)
this._setAllColorStyleForTable(range,styleForCurTable.firstTotalCell,styleForCurTable.wholeTable);
//последняя ячейка
if(styleForCurTable.lastTotalCell && row == endCell.first.row - 1 && col == endCell.first.col - 1 && options.TotalsRowCount && options.TableStyleInfo.ShowLastColumn)
this._setAllColorStyleForTable(range,styleForCurTable.lastTotalCell,styleForCurTable.wholeTable);
} }
} }
//wholeTable //заполняем стили
allRange.setBorder((styleForCurTable.wholeTable && styleForCurTable.wholeTable.dxf.border) ? (styleForCurTable.wholeTable.dxf.border) : null); var aNoHiddenCol = new Array();
} for(var i = bbox.c1; i <= bbox.c2; i++)
else//test
{
for(var row = firstCell.first.row - 1; row < endCell.first.row; row++)
{ {
for(var col = firstCell.first.col - 1; col < endCell.first.col; col++) var col = ws.model._getColNoEmpty(i);
if(null == col || true != col.hd)
aNoHiddenCol.push(i);
}
aNoHiddenCol.sort(fSortAscending);
var nRowIndex = 0;//с учетом скрытых
for(var i = bbox.r1; i <= bbox.r2; i++)
{
if(true == ws.model._getRow(i).hd)
continue;
var nColIndex = 0;//с учетом скрытых
for(var j = 0, length = aNoHiddenCol.length; j < length; j++)
{ {
var range = ws.model.getCell(new CellAddress(row,col,0)); var nColIndexAbs = aNoHiddenCol[j];
if(row == firstCell.first.row - 1) var cell = ws.model._getCell(i, nColIndexAbs);
range.setFill(new RgbColor(5210557)); var dxf = styleForCurTable.getStyle(bbox, i, nColIndexAbs, nRowIndex, nColIndex, style, headerRowCount, totalsRowCount);
if(null != dxf)
cell.setTableStyle(dxf);
nColIndex++;
} }
nRowIndex++;
} }
} }
}, },
...@@ -4667,28 +4587,6 @@ ...@@ -4667,28 +4587,6 @@
return result; return result;
}, },
_setAllColorStyleForTable: function(range,styles,wholeTable)
{
if(!styles)
{
if(wholeTable && wholeTable.dxf.fill)
range.setFill((wholeTable && wholeTable.dxf.fill) ? (wholeTable.dxf.fill.bg) : null);
}
else
{
if(!styles.dxf.fill && wholeTable && wholeTable.dxf.fill)
range.setFill((wholeTable && wholeTable.dxf.fill) ? (wholeTable.dxf.fill.bg) : null);
else
range.setFill((styles && styles.dxf.fill) ? (styles.dxf.fill.bg) : null);
range.setBorderSrc((styles && styles.dxf.border) ? (styles.dxf.border) : null);
}
//style for text
if(styles && styles.dxf.font)
this._setStyleForTextInTable(range,styles.dxf.font);
/*else if(wholeTable && wholeTable.dxf.font)
this._setStyleForTextInTable(range,wholeTable.dxf.font);*/
},
_dataFilterParse: function(data,val) _dataFilterParse: function(data,val)
{ {
var curData = NumFormat.prototype.parseDate(val); var curData = NumFormat.prototype.parseDate(val);
......
function getTestWorkbook() {
return "XLSY;v2;31794;BgGAAgAAAjIDAAAFEwQAAAO7BAAABM4EAAAARWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK4AAAAAFQAAAAMQAAAAIQRCBD4EOwQxBDUERgQxAAAVAAAAAxAAAAAhBEIEPgQ7BDEENQRGBDIAABUAAAADEAAAACEEQgQ+BDsEMQQ1BEYEMwAAFQAAAAMQAAAAIQRCBD4EOwQxBDUERgQ0AAAVAAAAAxAAAAAhBEIEPgQ7BDEENQRGBDUAABUAAAADEAAAACEEQgQ+BDsEMQQ1BEYENgAADQAAAAMIAAAAGARCBD4EMwTdAAAAAB4AAAABGQAAAAAAAAAAAQAAAAACAAAAAAQAAAAABQAAAAAECgAAAAUAAAAABQAAAAAGLAAAAAcnAAAAAQYDAAAAAgEBBAYOAAAAQwBhAGwAaQBiAHIAaQAGBQAAAAAAACZAAh0AAAADGAAAAAYEAAAAAAcEAAAAAAgEAAAAAAkEAAAAAAoAAAAADE4AAAAAIgAAAFQAYQBiAGwAZQBTAHQAeQBsAGUATQBlAGQAaQB1AG0AMgABIgAAAFAAaQB2AG8AdABTAHQAeQBsAGUATABpAGcAaAB0ADEANgCkAAAAABUAAAACBAEAAAADAQEEBgYAAABPADcAMAAAEgAAAAIEAQAAAAQGBgAAAE8ANQA4AAASAAAAAgQBAAAABAYGAAAATwA0ADYAABIAAAACBAEAAAAEBgYAAABPADIANAAAEgAAAAIEAQAAAAQGBgAAAE8AMQAxAAASAAAAAgQBAAAABAYGAAAARwAyADMAABIAAAACBAEAAAAEBgYAAABHADEAMQAPAAAAAAAAAAABBQAAAAIAAAAAc2QAAAByYwAAARYAAAAABgoAAAAbBDgEQQRCBDEAAQQBAAAAAjwAAAADGQAAAAIEBwAAAAMEAgAAAAUFAAAAAAC2J0AGAQEDGQAAAAIEDwAAAAMECgAAAAUFAAAAAAC2J0AGAQEEDAAAAEIAMgA6AE8ANwAzAAsKAAAAAQUAAAAAAAAuQA48AAAAAAVH4XoUrscxQAEFzMzMzMwMM0ACBUfhehSuxzFAAwXMzMzMzAwzQAQFexSuR+F6HkAFBXsUrkfheh5ACTxTAAAK0gAAAAAEAgAAAAQGxgAAAAUcAAAAAAQAAABCADIAAgEAAAAFAwgAAAAAAAAAAAAAAAUcAAAAAAQAAABDADIAAgEAAAAFAwgAAAAAAAAAAADwPwUcAAAAAAQAAABEADIAAgEAAAAFAwgAAAAAAAAAAAAAQAUcAAAAAAQAAABFADIAAgEAAAAFAwgAAAAAAAAAAAAIQAUcAAAAAAQAAABGADIAAgEAAAAFAwgAAAAAAAAAAAAQQAUcAAAAAAQAAABHADIAAgEAAAAFAwgAAAAAAAAAAAAUQApQAQAAAAQDAAAABAZEAQAABRYAAAAABAAAAEIAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEMAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEQAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEUAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEYAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEcAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEoAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEsAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAEwAMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAE0AMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAE4AMwADCAAAAAAAAAAAAPA/BRYAAAAABAAAAE8AMwADCAAAAAAAAAAAAPA/ClABAAAABAQAAAAEBkQBAAAFFgAAAAAEAAAAQgA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAAQwA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAARAA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAARQA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAARgA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAARwA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAASgA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAASwA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAATAA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAATQA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAATgA0AAMIAAAAAAAAAAAAAEAFFgAAAAAEAAAATwA0AAMIAAAAAAAAAAAAAEAKUAEAAAAEBQAAAAQGRAEAAAUWAAAAAAQAAABCADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABDADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABEADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABFADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABGADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABHADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABKADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABLADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABMADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABNADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABOADUAAwgAAAAAAAAAAAAIQAUWAAAAAAQAAABPADUAAwgAAAAAAAAAAAAIQApQAQAAAAQGAAAABAZEAQAABRYAAAAABAAAAEIANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEMANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEQANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEUANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEYANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEcANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEoANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEsANgADCAAAAAAAAAAAABBABRYAAAAABAAAAEwANgADCAAAAAAAAAAAABBABRYAAAAABAAAAE0ANgADCAAAAAAAAAAAABBABRYAAAAABAAAAE4ANgADCAAAAAAAAAAAABBABRYAAAAABAAAAE8ANgADCAAAAAAAAAAAABBAClABAAAABAcAAAAEBkQBAAAFFgAAAAAEAAAAQgA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAAQwA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAARAA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAARQA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAARgA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAARwA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAASgA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAASwA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAATAA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAATQA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAATgA3AAMIAAAAAAAAAAAAFEAFFgAAAAAEAAAATwA3AAMIAAAAAAAAAAAAFEAKUAEAAAAECAAAAAQGRAEAAAUWAAAAAAQAAABCADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABDADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABEADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABFADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABGADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABHADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABKADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABLADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABMADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABNADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABOADgAAwgAAAAAAAAAAAAYQAUWAAAAAAQAAABPADgAAwgAAAAAAAAAAAAYQApQAQAAAAQJAAAABAZEAQAABRYAAAAABAAAAEIAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEMAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEQAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEUAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEYAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEcAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEoAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEsAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAEwAOQADCAAAAAAAAAAAABxABRYAAAAABAAAAE0AOQADCAAAAAAAAAAAABxABRYAAAAABAAAAE4AOQADCAAAAAAAAAAAABxABRYAAAAABAAAAE8AOQADCAAAAAAAAAAAABxACmgBAAAABAoAAAAEBlwBAAAFGAAAAAAGAAAAQgAxADAAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABDADEAMAADCAAAAAAAAAAAACBABRgAAAAABgAAAEQAMQAwAAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAARQAxADAAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABGADEAMAADCAAAAAAAAAAAACBABRgAAAAABgAAAEcAMQAwAAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAASgAxADAAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABLADEAMAADCAAAAAAAAAAAACBABRgAAAAABgAAAEwAMQAwAAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAATQAxADAAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABOADEAMAADCAAAAAAAAAAAACBABRgAAAAABgAAAE8AMQAwAAMIAAAAAAAAAAAAIEAKJAEAAAAECwAAAAQGGAEAAAUeAAAAAAYAAABCADEAMQACAQAAAAUDCAAAAAAAAAAAABhABWMAAAAABgAAAEcAMQAxAARGAAAADAZAAAAAUwBVAEIAVABPAFQAQQBMACgAMQAwADkALAAiBDAEMQQ7BDgERgQwBDEAWwAhBEIEPgQ7BDEENQRGBDYAXQApAAMIAAAAAAAAAAAAQkAFHgAAAAAGAAAASgAxADEAAgEAAAAFAwgAAAAAAAAAAAAYQAVlAAAAAAYAAABPADEAMQAESAAAAAwGQgAAAFMAVQBCAFQATwBUAEEATAAoADEAMAA5ACwAIgQwBDEEOwQ4BEYEMAQxADQAWwAhBEIEPgQ7BDEENQRGBDYAXQApAAMIAAAAAAAAAAAAQkAKjAEAAAAEDwAAAAQGgAEAAAUYAAAAAAYAAABCADEANQADCAAAAAAAAAAAAPA/BRgAAAAABgAAAEMAMQA1AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAARAAxADUAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABFADEANQADCAAAAAAAAAAAAPA/BRgAAAAABgAAAEYAMQA1AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAARwAxADUAAwgAAAAAAAAAAADwPwUeAAAAAAYAAABKADEANQACAQAAAAUDCAAAAAAAAAAAAAAABR4AAAAABgAAAEsAMQA1AAIBAAAABQMIAAAAAAAAAAAA8D8FHgAAAAAGAAAATAAxADUAAgEAAAAFAwgAAAAAAAAAAAAAQAUeAAAAAAYAAABNADEANQACAQAAAAUDCAAAAAAAAAAAAAhABR4AAAAABgAAAE4AMQA1AAIBAAAABQMIAAAAAAAAAAAAEEAFHgAAAAAGAAAATwAxADUAAgEAAAAFAwgAAAAAAAAAAAAUQApoAQAAAAQQAAAABAZcAQAABRgAAAAABgAAAEIAMQA2AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAAQwAxADYAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABEADEANgADCAAAAAAAAAAAAABABRgAAAAABgAAAEUAMQA2AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAARgAxADYAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABHADEANgADCAAAAAAAAAAAAABABRgAAAAABgAAAEoAMQA2AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAASwAxADYAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABMADEANgADCAAAAAAAAAAAAPA/BRgAAAAABgAAAE0AMQA2AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAATgAxADYAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABPADEANgADCAAAAAAAAAAAAPA/CmgBAAAABBEAAAAEBlwBAAAFGAAAAAAGAAAAQgAxADcAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABDADEANwADCAAAAAAAAAAAAAhABRgAAAAABgAAAEQAMQA3AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAARQAxADcAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABGADEANwADCAAAAAAAAAAAAAhABRgAAAAABgAAAEcAMQA3AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAASgAxADcAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABLADEANwADCAAAAAAAAAAAAABABRgAAAAABgAAAEwAMQA3AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAATQAxADcAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABOADEANwADCAAAAAAAAAAAAABABRgAAAAABgAAAE8AMQA3AAMIAAAAAAAAAAAAAEAKaAEAAAAEEgAAAAQGXAEAAAUYAAAAAAYAAABCADEAOAADCAAAAAAAAAAAABBABRgAAAAABgAAAEMAMQA4AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAARAAxADgAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABFADEAOAADCAAAAAAAAAAAABBABRgAAAAABgAAAEYAMQA4AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAARwAxADgAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABKADEAOAADCAAAAAAAAAAAAAhABRgAAAAABgAAAEsAMQA4AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAATAAxADgAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABNADEAOAADCAAAAAAAAAAAAAhABRgAAAAABgAAAE4AMQA4AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAATwAxADgAAwgAAAAAAAAAAAAIQApoAQAAAAQTAAAABAZcAQAABRgAAAAABgAAAEIAMQA5AAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAAQwAxADkAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABEADEAOQADCAAAAAAAAAAAABRABRgAAAAABgAAAEUAMQA5AAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAARgAxADkAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABHADEAOQADCAAAAAAAAAAAABRABRgAAAAABgAAAEoAMQA5AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAASwAxADkAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABMADEAOQADCAAAAAAAAAAAABBABRgAAAAABgAAAE0AMQA5AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAATgAxADkAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABPADEAOQADCAAAAAAAAAAAABBACmgBAAAABBQAAAAEBlwBAAAFGAAAAAAGAAAAQgAyADAAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABDADIAMAADCAAAAAAAAAAAABhABRgAAAAABgAAAEQAMgAwAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAARQAyADAAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABGADIAMAADCAAAAAAAAAAAABhABRgAAAAABgAAAEcAMgAwAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAASgAyADAAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABLADIAMAADCAAAAAAAAAAAABRABRgAAAAABgAAAEwAMgAwAAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAATQAyADAAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABOADIAMAADCAAAAAAAAAAAABRABRgAAAAABgAAAE8AMgAwAAMIAAAAAAAAAAAAFEAKaAEAAAAEFQAAAAQGXAEAAAUYAAAAAAYAAABCADIAMQADCAAAAAAAAAAAABxABRgAAAAABgAAAEMAMgAxAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAARAAyADEAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABFADIAMQADCAAAAAAAAAAAABxABRgAAAAABgAAAEYAMgAxAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAARwAyADEAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABKADIAMQADCAAAAAAAAAAAABhABRgAAAAABgAAAEsAMgAxAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAATAAyADEAAwgAAAAAAAAAAAAY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OAADCAAAAAAAAAAAAAhABRgAAAAABgAAAEUAMgA4AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAARgAyADgAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABHADIAOAADCAAAAAAAAAAAAAhABRgAAAAABgAAAEoAMgA4AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAASwAyADgAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABMADIAOAADCAAAAAAAAAAAAABABRgAAAAABgAAAE0AMgA4AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAATgAyADgAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABPADIAOAADCAAAAAAAAAAAAABACmgBAAAABB0AAAAEBlwBAAAFGAAAAAAGAAAAQgAyADkAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABDADIAOQADCAAAAAAAAAAAABBABRgAAAAABgAAAEQAMgA5AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAARQAyADkAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABGADIAOQADCAAAAAAAAAAAABBABRgAAAAABgAAAEcAMgA5AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAASgAyADkAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABLADIAOQADCAAAAAAAAAAAAAhABRgAAAAABgAAAEwAMgA5AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAATQAyADkAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABOADIAOQADCAAAAAAAAAAAAAhABRgAAAAABgAAAE8AMgA5AAMIAAAAAAAAAAAACEAKaAEAAAAEHgAAAAQGXAEAAAUYAAAAAAYAAABCADMAMAADCAAAAAAAAAAAABRABRgAAAAABgAAAEMAMwAwAAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAARAAzADAAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABFADMAMAADCAAAAAAAAAAAABRABRgAAAAABgAAAEYAMwAwAAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAARwAzADAAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABKADMAMAADCAAAAAAAAAAAABBABRgAAAAABgAAAEsAMwAwAAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAATAAzADAAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABNADMAMAADCAAAAAAAAAAAABBABRgAAAAABgAAAE4AMwAwAAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAATwAzADAAAwgAAAAAAAAAAAAQQApoAQAAAAQfAAAABAZcAQAABRgAAAAABgAAAEIAMwAxAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAAQwAzADEAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABEADMAMQADCAAAAAAAAAAAABhABRgAAAAABgAAAEUAMwAxAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAARgAzADEAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABHADMAMQADCAAAAAAAAAAAABhABRgAAAAABgAAAEoAMwAxAAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAASwAzADEAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABMADMAMQADCAAAAAAAAAAAABRABRgAAAAABgAAAE0AMwAxAAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAATgAzADEAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABPADMAMQADCAAAAAAAAAAAABRACmgBAAAABCAAAAAEBlwBAAAFGAAAAAAGAAAAQgAzADIAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABDADMAMgADCAAAAAAAAAAAABxABRgAAAAABgAAAEQAMwAyAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAARQAzADIAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABGADMAMgADCAAAAAAAAAAAABxABRgAAAAABgAAAEcAMwAyAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAASgAzADIAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABLADMAMgADCAAAAAAAAAAAABhABRgAAAAABgAAAEwAMwAyAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAATQAzADIAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABOADMAMgADCAAAAAAAAAAAABhABRgAAAAABgAAAE8AMwAyAAMIAAAAAAAAAAAAGEAKaAEAAAAEIQAAAAQGXAEAAAUYAAAAAAYAAABCADMAMwADCAAAAAAAAAAAACBABRgAAAAABgAAAEMAMwAzAAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAARAAzADMAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABFADMAMwADCAAAAAAAAAAAACBABRgAAAAABgAAAEYAMwAzAAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAARwAzADMAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABKADMAMwADCAAAAAAAAAAAABxABRgAAAAABgAAAEsAMwAzAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAATAAzADMAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABNADMAMwADCAAAAAAAAAAAABxABRgAAAAABgAAAE4AMwAzAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAATwAzADMAAwgAAAAAAAAAAAAcQAq6AAAAAAQiAAAABAauAAAABRgAAAAABgAAAEoAMwA0AAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAASwAzADQAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABMADMANAADCAAAAAAAAAAAACBABRgAAAAABgAAAE0AMwA0AAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAATgAzADQAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABPADMANAADCAAAAAAAAAAAACBACroAAAAABCQAAAAEBq4AAAAFGAAAAAAGAAAAQgAzADYAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABDADMANgADCAAAAAAAAAAAAPA/BRgAAAAABgAAAEQAMwA2AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAARQAzADYAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABGADMANgADCAAAAAAAAAAAAPA/BRgAAAAABgAAAEcAMwA2AAMIAAAAAAAAAAAA8D8KjAEAAAAEJQAAAAQGgAEAAAUYAAAAAAYAAABCADMANwADCAAAAAAAAAAAAABABRgAAAAABgAAAEMAMwA3AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAARAAzADcAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABFADMANwADCAAAAAAAAAAAAABABRgAAAAABgAAAEYAMwA3AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAARwAzADcAAwgAAAAAAAAAAAAAQAUeAAAAAAYAAABKADMANwACAQAAAAUDCAAAAAAAAAAAAAAABR4AAAAABgAAAEsAMwA3AAIBAAAABQMIAAAAAAAAAAAA8D8FHgAAAAAGAAAATAAzADcAAgEAAAAFAwgAAAAAAAAAAAAAQAUeAAAAAAYAAABNADMANwACAQAAAAUDCAAAAAAAAAAAAAhABR4AAAAABgAAAE4AMwA3AAIBAAAABQMIAAAAAAAAAAAAEEAFHgAAAAAGAAAATwAzADcAAgEAAAAFAwgAAAAAAAAAAAAUQApoAQAAAAQmAAAABAZcAQAABRgAAAAABgAAAEIAMwA4AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAAQwAzADgAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABEADMAOAADCAAAAAAAAAAAAAhABRgAAAAABgAAAEUAMwA4AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAARgAzADgAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABHADMAOAADCAAAAAAAAAAAAAhABRgAAAAABgAAAEoAMwA4AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAASwAzADgAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABMADMAOAADCAAAAAAAAAAAAPA/BRgAAAAABgAAAE0AMwA4AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAATgAzADgAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABPADMAOAADCAAAAAAAAAAAAPA/CmgBAAAABCcAAAAEBlwBAAAFGAAAAAAGAAAAQgAzADkAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABDADMAOQADCAAAAAAAAAAAABBABRgAAAAABgAAAEQAMwA5AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAARQAzADkAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABGADMAOQADCAAAAAAAAAAAABBABRgAAAAABgAAAEcAMwA5AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAASgAzADkAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABLADMAOQADCAAAAAAAAAAAAABABRgAAAAABgAAAEwAMwA5AAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAATQAzADkAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABOADMAOQADCAAAAAAAAAAAAABABRgAAAAABgAAAE8AMwA5AAMIAAAAAAAAAAAAAEAKaAEAAAAEKAAAAAQGXAEAAAUYAAAAAAYAAABCADQAMAADCAAAAAAAAAAAABRABRgAAAAABgAAAEMANAAwAAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAARAA0ADAAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABFADQAMAADCAAAAAAAAAAAABRABRgAAAAABgAAAEYANAAwAAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAARwA0ADAAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABKADQAMAADCAAAAAAAAAAAAAhABRgAAAAABgAAAEsANAAwAAMIAAAAAAAAAAAACEAFGAAAAAAGAAAATAA0ADAAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABNADQAMAADCAAAAAAAAAAAAAhABRgAAAAABgAAAE4ANAAwAAMIAAAAAAAAAAAACEAFGAAAAAAGAAAATwA0ADAAAwgAAAAAAAAAAAAIQApoAQAAAAQpAAAABAZcAQAABRgAAAAABgAAAEIANAAxAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAAQwA0ADEAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABEADQAMQADCAAAAAAAAAAAABhABRgAAAAABgAAAEUANAAxAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAARgA0ADEAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABHADQAMQADCAAAAAAAAAAAABhABRgAAAAABgAAAEoANAAxAAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAASwA0ADEAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABMADQAMQADCAAAAAAAAAAAABBABRgAAAAABgAAAE0ANAAxAAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAATgA0ADEAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABPADQAMQADCAAAAAAAAAAAABBACmgBAAAABCoAAAAEBlwBAAAFGAAAAAAGAAAAQgA0ADIAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABDADQAMgADCAAAAAAAAAAAABxABRgAAAAABgAAAEQANAAyAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAARQA0ADIAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABGADQAMgADCAAAAAAA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AAAAAAAYQAUYAAAAAAYAAABDADYAMQADCAAAAAAAAAAAABhABRgAAAAABgAAAEQANgAxAAMIAAAAAAAAAAAAGEAFGAAAAAAGAAAARQA2ADEAAwgAAAAAAAAAAAAYQAUYAAAAAAYAAABGADYAMQADCAAAAAAAAAAAABhABRgAAAAABgAAAEcANgAxAAMIAAAAAAAAAAAAGEAFHgAAAAAGAAAASgA2ADEAAgEAAAAFAwgAAAAAAAAAAAAAAAUeAAAAAAYAAABLADYAMQACAQAAAAUDCAAAAAAAAAAAAPA/BR4AAAAABgAAAEwANgAxAAIBAAAABQMIAAAAAAAAAAAAAEAFHgAAAAAGAAAATQA2ADEAAgEAAAAFAwgAAAAAAAAAAAAIQAUeAAAAAAYAAABOADYAMQACAQAAAAUDCAAAAAAAAAAAABBABR4AAAAABgAAAE8ANgAxAAIBAAAABQMIAAAAAAAAAAAAFEAKaAEAAAAEPgAAAAQGXAEAAAUYAAAAAAYAAABCADYAMgADCAAAAAAAAAAAABxABRgAAAAABgAAAEMANgAyAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAARAA2ADIAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABFADYAMgADCAAAAAAAAAAAABxABRgAAAAABgAAAEYANgAyAAMIAAAAAAAAAAAAHEAFGAAAAAAGAAAARwA2ADIAAwgAAAAAAAAAAAAcQAUYAAAAAAYAAABKADYAMgADCAAAAAAAAAAAAPA/BRgAAAAABgAAAEsANgAyAAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAATAA2ADIAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABNADYAMgADCAAAAAAAAAAAAPA/BRgAAAAABgAAAE4ANgAyAAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAATwA2ADIAAwgAAAAAAAAAAADwPwpoAQAAAAQ/AAAABAZcAQAABRgAAAAABgAAAEIANgAzAAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAAQwA2ADMAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABEADYAMwADCAAAAAAAAAAAACBABRgAAAAABgAAAEUANgAzAAMIAAAAAAAAAAAAIEAFGAAAAAAGAAAARgA2ADMAAwgAAAAAAAAAAAAgQAUYAAAAAAYAAABHADYAMwADCAAAAAAAAAAAACBABRgAAAAABgAAAEoANgAzAAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAASwA2ADMAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABMADYAMwADCAAAAAAAAAAAAABABRgAAAAABgAAAE0ANgAzAAMIAAAAAAAAAAAAAEAFGAAAAAAGAAAATgA2ADMAAwgAAAAAAAAAAAAAQAUYAAAAAAYAAABPADYAMwADCAAAAAAAAAAAAABACroAAAAABEAAAAAEBq4AAAAFGAAAAAAGAAAASgA2ADQAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABLADYANAADCAAAAAAAAAAAAAhABRgAAAAABgAAAEwANgA0AAMIAAAAAAAAAAAACEAFGAAAAAAGAAAATQA2ADQAAwgAAAAAAAAAAAAIQAUYAAAAAAYAAABOADYANAADCAAAAAAAAAAAAAhABRgAAAAABgAAAE8ANgA0AAMIAAAAAAAAAAAACEAKugAAAAAEQQAAAAQGrgAAAAUYAAAAAAYAAABKADYANQADCAAAAAAAAAAAABBABRgAAAAABgAAAEsANgA1AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAATAA2ADUAAwgAAAAAAAAAAAAQQAUYAAAAAAYAAABNADYANQADCAAAAAAAAAAAABBABRgAAAAABgAAAE4ANgA1AAMIAAAAAAAAAAAAEEAFGAAAAAAGAAAATwA2ADUAAwgAAAAAAAAAAAAQQApoAQAAAARCAAAABAZcAQAABRgAAAAABgAAAEIANgA2AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAAQwA2ADYAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABEADYANgADCAAAAAAAAAAAAPA/BRgAAAAABgAAAEUANgA2AAMIAAAAAAAAAAAA8D8FGAAAAAAGAAAARgA2ADYAAwgAAAAAAAAAAADwPwUYAAAAAAYAAABHADYANgADCAAAAAAAAAAAAPA/BRgAAAAABgAAAEoANgA2AAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAASwA2ADYAAwgAAAAAAAAAAAAUQAUYAAAAAAYAAABMADYANgADCAAAAAAAAAAAABRABRgAAAAABgAAAE0ANgA2AAMIAAAAAAAAAAAAFEAFGAAAAAAGAAAATgA2ADYAAwgA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";
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment