From 86b521287c8edf17a4b62943dc4ff49fbdd4a880 Mon Sep 17 00:00:00 2001
From: Regis Houssin <regis.houssin@capnetworks.com>
Date: Sun, 24 Mar 2013 22:05:46 +0100
Subject: [PATCH] Fix: upgrade all files

---
 .../datatables/css/jquery.dataTables.css      |    3 +-
 .../datatables/css/jquery.dataTables_jui.css  |   25 -
 .../extras/ColReorder/js/ColReorder.js        |   73 +-
 .../extras/ColReorder/js/ColReorder.min.js    |   42 +-
 .../datatables/extras/ColVis/js/ColVis.js     |   30 +-
 .../datatables/extras/ColVis/js/ColVis.min.js |   41 +-
 .../extras/TableTools/css/TableTools.css      |  116 +-
 .../extras/TableTools/css/TableTools_JUI.css  |   10 +-
 .../extras/TableTools/js/TableTools.js        | 1378 ++++++++---------
 .../extras/TableTools/js/TableTools.min.js    |  121 +-
 .../extras/TableTools/js/ZeroClipboard.js     |   15 +-
 .../extras/TableTools/swf/copy_csv_xls.swf    |  Bin 2138 -> 2142 bytes
 .../TableTools/swf/copy_csv_xls_pdf.swf       |  Bin 58818 -> 58814 bytes
 13 files changed, 908 insertions(+), 946 deletions(-)

diff --git a/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables.css b/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables.css
index 83df98ea711..7da7faec899 100644
--- a/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables.css
+++ b/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables.css
@@ -201,7 +201,8 @@ table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; }
 .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; }
 .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; }
  
-table.dataTable th:active {
+table.dataTable thead th:active,
+table.dataTable thead td:active {
 	outline: none;
 }
 
diff --git a/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables_jui.css b/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables_jui.css
index de7c8426105..a210af51ae9 100644
--- a/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables_jui.css
+++ b/htdocs/includes/jquery/plugins/datatables/css/jquery.dataTables_jui.css
@@ -82,7 +82,6 @@ div.dataTables_wrapper .ui-widget-header {
 table.display thead th div.DataTables_sort_wrapper {
 	position: relative;
 	padding-right: 20px;
-	padding-right: 20px;
 }
 
 table.display thead th div.DataTables_sort_wrapper span {
@@ -147,30 +146,6 @@ table.display thead th div.DataTables_sort_wrapper span {
 	text-align: right;
 }
 
-/* Pagination nested */
-.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
-	height: 19px;
-	width: 19px;
-	margin-left: 3px;
-	float: left;
-}
-
-.paginate_disabled_previous {
-	background-image: url('../images/back_disabled.jpg');
-}
-
-.paginate_enabled_previous {
-	background-image: url('../images/back_enabled.jpg');
-}
-
-.paginate_disabled_next {
-	background-image: url('../images/forward_disabled.jpg');
-}
-
-.paginate_enabled_next {
-	background-image: url('../images/forward_enabled.jpg');
-}
-
 
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.js b/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.js
index 7c7b728a274..35b96594fb8 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.js
+++ b/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.js
@@ -1,8 +1,8 @@
 /*
  * File:        ColReorder.js
- * Version:     1.0.5
+ * Version:     1.0.8
  * CVS:         $Id$
- * Description: Controls for column visiblity in DataTables
+ * Description: Allow columns to be reordered in a DataTable
  * Author:      Allan Jardine (www.sprymedia.co.uk)
  * Created:     Wed Sep 15 18:23:29 BST 2010
  * Modified:    $Date$ by $Author$
@@ -174,10 +174,10 @@ $.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo )
 	for ( i=0, iLen=iCols ; i<iLen ; i++ )
 	{
 		oCol = oSettings.aoColumns[i];
-		if ( typeof oCol.mDataProp == 'number' ) {
-			oCol.mDataProp = aiInvertMapping[ oCol.mDataProp ];
-			oCol.fnGetData = oSettings.oApi._fnGetObjectDataFn( oCol.mDataProp );
-			oCol.fnSetData = oSettings.oApi._fnSetObjectDataFn( oCol.mDataProp );
+		if ( typeof oCol.mData == 'number' ) {
+			oCol.mData = aiInvertMapping[ oCol.mData ];
+			oCol.fnGetData = oSettings.oApi._fnGetObjectDataFn( oCol.mData );
+			oCol.fnSetData = oSettings.oApi._fnSetObjectDataFn( oCol.mData );
 		}
 	}
 	
@@ -274,13 +274,12 @@ $.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo )
 	}
 	
 	
-	/*
-	 * Any extra operations for the other plug-ins
-	 */
-	if ( typeof ColVis != 'undefined' )
-	{
-		ColVis.fnRebuild( oSettings.oInstance );
-	}
+	/* Fire an event so other plug-ins can update */
+	$(oSettings.oInstance).trigger( 'column-reorder', [ oSettings, {
+		"iFrom": iFrom,
+		"iTo": iTo,
+		"aiInvertMapping": aiInvertMapping
+	} ] );
 	
 	if ( typeof oSettings.oInstance._oPluginFixedHeader != 'undefined' )
 	{
@@ -295,10 +294,10 @@ $.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo )
  * ColReorder provides column visiblity control for DataTables
  * @class ColReorder
  * @constructor
- * @param {object} DataTables object
+ * @param {object} DataTables settings object
  * @param {object} ColReorder options
  */
-ColReorder = function( oTable, oOpts )
+ColReorder = function( oDTSettings, oOpts )
 {
 	/* Santiy check that we are a new instance */
 	if ( !this.CLASS || this.CLASS != "ColReorder" )
@@ -401,9 +400,12 @@ ColReorder = function( oTable, oOpts )
 	
 	
 	/* Constructor logic */
-	this.s.dt = oTable.fnSettings();
+	this.s.dt = oDTSettings.oInstance.fnSettings();
 	this._fnConstruct();
-	
+
+	/* Add destroy callback */
+	oDTSettings.oApi._fnCallbackReg(oDTSettings, 'aoDestroyCallback', jQuery.proxy(this._fnDestroy, this), 'ColReorder');
+
 	/* Store the instance for later use */
 	ColReorder.aoInstances.push( this );
 	return this;
@@ -527,7 +529,7 @@ ColReorder.prototype = {
 	{
 		if ( a.length != this.s.dt.aoColumns.length )
 		{
-			this.s.dt.oInstance.oApi._fnLog( oDTSettings, 1, "ColReorder - array reorder does not "+
+			this.s.dt.oInstance.oApi._fnLog( this.s.dt, 1, "ColReorder - array reorder does not "+
 			 	"match known number of columns. Skipping." );
 			return;
 		}
@@ -611,8 +613,8 @@ ColReorder.prototype = {
 	{
 		var that = this;
 		$(nTh).bind( 'mousedown.ColReorder', function (e) {
+			e.preventDefault();
 			that._fnMouseDown.call( that, e, nTh );
-			return false;
 		} );
 	},
 	
@@ -812,7 +814,7 @@ ColReorder.prototype = {
 		}
 		
 		$('thead tr:eq(0)', this.dom.drag).each( function () {
-			$('th:not(:eq('+that.s.mouse.targetIndex+'))', this).remove();
+			$('th', this).eq(that.s.mouse.targetIndex).siblings().remove();
 		} );
 		$('tr', this.dom.drag).height( $('tr:eq(0)', that.s.dt.nTHead).height() );
 		
@@ -845,6 +847,29 @@ ColReorder.prototype = {
 	
 		document.body.appendChild( this.dom.pointer );
 		document.body.appendChild( this.dom.drag );
+	},
+
+	/**
+	 * Clean up ColReorder memory references and event handlers
+	 *  @method  _fnDestroy
+	 *  @returns void
+	 *  @private
+	 */
+	"_fnDestroy": function ()
+	{
+		for ( var i=0, iLen=ColReorder.aoInstances.length ; i<iLen ; i++ )
+		{
+			if ( ColReorder.aoInstances[i] === this )
+			{
+				ColReorder.aoInstances.splice( i, 1 );
+				break;
+			}
+		}
+
+		$(this.s.dt.nTHead).find( '*' ).unbind( '.ColReorder' );
+
+		this.s.dt.oInstance._oPluginColReorder = null;
+		this.s = null;
 	}
 };
 
@@ -914,7 +939,7 @@ ColReorder.prototype.CLASS = "ColReorder";
  *  @type      String
  *  @default   As code
  */
-ColReorder.VERSION = "1.0.5";
+ColReorder.VERSION = "1.0.8";
 ColReorder.prototype.VERSION = ColReorder.VERSION;
 
 
@@ -930,7 +955,7 @@ ColReorder.prototype.VERSION = ColReorder.VERSION;
  */
 if ( typeof $.fn.dataTable == "function" &&
      typeof $.fn.dataTableExt.fnVersionCheck == "function" &&
-     $.fn.dataTableExt.fnVersionCheck('1.9.0') )
+     $.fn.dataTableExt.fnVersionCheck('1.9.3') )
 {
 	$.fn.dataTableExt.aoFeatures.push( {
 		"fnInit": function( oDTSettings ) {
@@ -938,7 +963,7 @@ if ( typeof $.fn.dataTable == "function" &&
 			if ( typeof oTable._oPluginColReorder == 'undefined' ) {
 				var opts = typeof oDTSettings.oInit.oColReorder != 'undefined' ? 
 					oDTSettings.oInit.oColReorder : {};
-				oTable._oPluginColReorder = new ColReorder( oDTSettings.oInstance, opts );
+				oTable._oPluginColReorder = new ColReorder( oDTSettings, opts );
 			} else {
 				oTable.oApi._fnLog( oDTSettings, 1, "ColReorder attempted to initialise twice. Ignoring second" );
 			}
@@ -951,7 +976,7 @@ if ( typeof $.fn.dataTable == "function" &&
 }
 else
 {
-	alert( "Warning: ColReorder requires DataTables 1.9.0 or greater - www.datatables.net/download");
+	alert( "Warning: ColReorder requires DataTables 1.9.3 or greater - www.datatables.net/download");
 }
 
 })(jQuery, window, document);
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.min.js b/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.min.js
index e322c42ce9d..111f4b81888 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.min.js
+++ b/htdocs/includes/jquery/plugins/datatables/extras/ColReorder/js/ColReorder.min.js
@@ -1,9 +1,9 @@
 /*
  * File:        ColReorder.min.js
- * Version:     1.0.5
+ * Version:     1.0.8
  * Author:      Allan Jardine (www.sprymedia.co.uk)
  * 
- * Copyright 2010-2011 Allan Jardine, all rights reserved.
+ * Copyright 2010-2012 Allan Jardine, all rights reserved.
  *
  * This source file is free software, under either the GPL v2 license or a
  * BSD (3 point) style license, as supplied with this software.
@@ -12,22 +12,22 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
  * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
  */
-(function(f,o,i){function m(a){for(var c=[],d=0,b=a.length;d<b;d++)c[a[d]]=d;return c}function j(a,c,d){c=a.splice(c,1)[0];a.splice(d,0,c)}function n(a,c,d){for(var b=[],e=0,f=a.childNodes.length;e<f;e++)1==a.childNodes[e].nodeType&&b.push(a.childNodes[e]);c=b[c];null!==d?a.insertBefore(c,b[d]):a.appendChild(c)}f.fn.dataTableExt.oApi.fnColReorder=function(a,c,d){var b,e,g,l,k=a.aoColumns.length,h;if(c!=d)if(0>c||c>=k)this.oApi._fnLog(a,1,"ColReorder 'from' index is out of bounds: "+c);else if(0>d||
-d>=k)this.oApi._fnLog(a,1,"ColReorder 'to' index is out of bounds: "+d);else{g=[];for(b=0,e=k;b<e;b++)g[b]=b;j(g,c,d);var i=m(g);for(b=0,e=a.aaSorting.length;b<e;b++)a.aaSorting[b][0]=i[a.aaSorting[b][0]];if(null!==a.aaSortingFixed)for(b=0,e=a.aaSortingFixed.length;b<e;b++)a.aaSortingFixed[b][0]=i[a.aaSortingFixed[b][0]];for(b=0,e=k;b<e;b++){h=a.aoColumns[b];for(g=0,l=h.aDataSort.length;g<l;g++)h.aDataSort[g]=i[h.aDataSort[g]]}for(b=0,e=k;b<e;b++)if(h=a.aoColumns[b],"number"==typeof h.mDataProp)h.mDataProp=
-i[h.mDataProp],h.fnGetData=a.oApi._fnGetObjectDataFn(h.mDataProp),h.fnSetData=a.oApi._fnSetObjectDataFn(h.mDataProp);if(a.aoColumns[c].bVisible){l=this.oApi._fnColumnIndexToVisible(a,c);h=null;for(b=d<c?d:d+1;null===h&&b<k;)h=this.oApi._fnColumnIndexToVisible(a,b),b++;g=a.nTHead.getElementsByTagName("tr");for(b=0,e=g.length;b<e;b++)n(g[b],l,h);if(null!==a.nTFoot){g=a.nTFoot.getElementsByTagName("tr");for(b=0,e=g.length;b<e;b++)n(g[b],l,h)}for(b=0,e=a.aoData.length;b<e;b++)null!==a.aoData[b].nTr&&
-n(a.aoData[b].nTr,l,h)}j(a.aoColumns,c,d);j(a.aoPreSearchCols,c,d);for(b=0,e=a.aoData.length;b<e;b++)f.isArray(a.aoData[b]._aData)&&j(a.aoData[b]._aData,c,d),j(a.aoData[b]._anHidden,c,d);for(b=0,e=a.aoHeader.length;b<e;b++)j(a.aoHeader[b],c,d);if(null!==a.aoFooter)for(b=0,e=a.aoFooter.length;b<e;b++)j(a.aoFooter[b],c,d);for(b=0,e=k;b<e;b++)f(a.aoColumns[b].nTh).unbind("click"),this.oApi._fnSortAttachListener(a,a.aoColumns[b].nTh,b);"undefined"!=typeof ColVis&&ColVis.fnRebuild(a.oInstance);"undefined"!=
-typeof a.oInstance._oPluginFixedHeader&&a.oInstance._oPluginFixedHeader.fnUpdate()}};ColReorder=function(a,c){(!this.CLASS||"ColReorder"!=this.CLASS)&&alert("Warning: ColReorder must be initialised with the keyword 'new'");"undefined"==typeof c&&(c={});this.s={dt:null,init:c,fixed:0,dropCallback:null,mouse:{startX:-1,startY:-1,offsetX:-1,offsetY:-1,target:-1,targetIndex:-1,fromIndex:-1},aoTargets:[]};this.dom={drag:null,pointer:null};this.s.dt=a.fnSettings();this._fnConstruct();ColReorder.aoInstances.push(this);
-return this};ColReorder.prototype={fnReset:function(){for(var a=[],c=0,d=this.s.dt.aoColumns.length;c<d;c++)a.push(this.s.dt.aoColumns[c]._ColReorder_iOrigCol);this._fnOrderColumns(a)},_fnConstruct:function(){var a=this,c,d;if("undefined"!=typeof this.s.init.iFixedColumns)this.s.fixed=this.s.init.iFixedColumns;if("undefined"!=typeof this.s.init.fnReorderCallback)this.s.dropCallback=this.s.init.fnReorderCallback;for(c=0,d=this.s.dt.aoColumns.length;c<d;c++)c>this.s.fixed-1&&this._fnMouseListener(c,
-this.s.dt.aoColumns[c].nTh),this.s.dt.aoColumns[c]._ColReorder_iOrigCol=c;this.s.dt.oApi._fnCallbackReg(this.s.dt,"aoStateSaveParams",function(b,c){a._fnStateSave.call(a,c)},"ColReorder_State");var b=null;"undefined"!=typeof this.s.init.aiOrder&&(b=this.s.init.aiOrder.slice());if(this.s.dt.oLoadedState&&"undefined"!=typeof this.s.dt.oLoadedState.ColReorder&&this.s.dt.oLoadedState.ColReorder.length==this.s.dt.aoColumns.length)b=this.s.dt.oLoadedState.ColReorder;if(b)if(a.s.dt._bInitComplete)c=m(b),
-a._fnOrderColumns.call(a,c);else{var e=!1;this.s.dt.aoDrawCallback.push({fn:function(){if(!a.s.dt._bInitComplete&&!e){e=!0;var c=m(b);a._fnOrderColumns.call(a,c)}},sName:"ColReorder_Pre"})}},_fnOrderColumns:function(a){if(a.length!=this.s.dt.aoColumns.length)this.s.dt.oInstance.oApi._fnLog(oDTSettings,1,"ColReorder - array reorder does not match known number of columns. Skipping.");else{for(var c=0,d=a.length;c<d;c++){var b=f.inArray(c,a);c!=b&&(j(a,b,c),this.s.dt.oInstance.fnColReorder(b,c))}(""!==
-this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing();this.s.dt.oInstance.oApi._fnSaveState(this.s.dt)}},_fnStateSave:function(a){var c,d,b,e=this.s.dt;for(c=0;c<a.aaSorting.length;c++)a.aaSorting[c][0]=e.aoColumns[a.aaSorting[c][0]]._ColReorder_iOrigCol;aSearchCopy=f.extend(!0,[],a.aoSearchCols);a.ColReorder=[];for(c=0,d=e.aoColumns.length;c<d;c++)b=e.aoColumns[c]._ColReorder_iOrigCol,a.aoSearchCols[b]=aSearchCopy[c],a.abVisCols[b]=e.aoColumns[c].bVisible,a.ColReorder.push(b)},
-_fnMouseListener:function(a,c){var d=this;f(c).bind("mousedown.ColReorder",function(a){d._fnMouseDown.call(d,a,c);return!1})},_fnMouseDown:function(a,c){var d=this,b=this.s.dt.aoColumns,e="TH"==a.target.nodeName?a.target:f(a.target).parents("TH")[0],e=f(e).offset();this.s.mouse.startX=a.pageX;this.s.mouse.startY=a.pageY;this.s.mouse.offsetX=a.pageX-e.left;this.s.mouse.offsetY=a.pageY-e.top;this.s.mouse.target=c;this.s.mouse.targetIndex=f("th",c.parentNode).index(c);this.s.mouse.fromIndex=this.s.dt.oInstance.oApi._fnVisibleToColumnIndex(this.s.dt,
-this.s.mouse.targetIndex);this.s.aoTargets.splice(0,this.s.aoTargets.length);this.s.aoTargets.push({x:f(this.s.dt.nTable).offset().left,to:0});for(var g=e=0,j=b.length;g<j;g++)g!=this.s.mouse.fromIndex&&e++,b[g].bVisible&&this.s.aoTargets.push({x:f(b[g].nTh).offset().left+f(b[g].nTh).outerWidth(),to:e});0!==this.s.fixed&&this.s.aoTargets.splice(0,this.s.fixed);f(i).bind("mousemove.ColReorder",function(a){d._fnMouseMove.call(d,a)});f(i).bind("mouseup.ColReorder",function(a){d._fnMouseUp.call(d,a)})},
-_fnMouseMove:function(a){if(null===this.dom.drag){if(5>Math.pow(Math.pow(a.pageX-this.s.mouse.startX,2)+Math.pow(a.pageY-this.s.mouse.startY,2),0.5))return;this._fnCreateDragNode()}this.dom.drag.style.left=a.pageX-this.s.mouse.offsetX+"px";this.dom.drag.style.top=a.pageY-this.s.mouse.offsetY+"px";for(var c=!1,d=1,b=this.s.aoTargets.length;d<b;d++)if(a.pageX<this.s.aoTargets[d-1].x+(this.s.aoTargets[d].x-this.s.aoTargets[d-1].x)/2){this.dom.pointer.style.left=this.s.aoTargets[d-1].x+"px";this.s.mouse.toIndex=
-this.s.aoTargets[d-1].to;c=!0;break}if(!c)this.dom.pointer.style.left=this.s.aoTargets[this.s.aoTargets.length-1].x+"px",this.s.mouse.toIndex=this.s.aoTargets[this.s.aoTargets.length-1].to},_fnMouseUp:function(){f(i).unbind("mousemove.ColReorder");f(i).unbind("mouseup.ColReorder");if(null!==this.dom.drag)i.body.removeChild(this.dom.drag),i.body.removeChild(this.dom.pointer),this.dom.drag=null,this.dom.pointer=null,this.s.dt.oInstance.fnColReorder(this.s.mouse.fromIndex,this.s.mouse.toIndex),(""!==
-this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing(),null!==this.s.dropCallback&&this.s.dropCallback.call(this),this.s.dt.oInstance.oApi._fnSaveState(this.s.dt)},_fnCreateDragNode:function(){var a=this;this.dom.drag=f(this.s.dt.nTHead.parentNode).clone(!0)[0];for(this.dom.drag.className+=" DTCR_clonedTable";0<this.dom.drag.getElementsByTagName("caption").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("caption")[0]);for(;0<this.dom.drag.getElementsByTagName("tbody").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tbody")[0]);
-for(;0<this.dom.drag.getElementsByTagName("tfoot").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tfoot")[0]);f("thead tr:eq(0)",this.dom.drag).each(function(){f("th:not(:eq("+a.s.mouse.targetIndex+"))",this).remove()});f("tr",this.dom.drag).height(f("tr:eq(0)",a.s.dt.nTHead).height());f("thead tr:gt(0)",this.dom.drag).remove();f("thead th:eq(0)",this.dom.drag).each(function(){this.style.width=f("th:eq("+a.s.mouse.targetIndex+")",a.s.dt.nTHead).width()+"px"});this.dom.drag.style.position=
-"absolute";this.dom.drag.style.top="0px";this.dom.drag.style.left="0px";this.dom.drag.style.width=f("th:eq("+a.s.mouse.targetIndex+")",a.s.dt.nTHead).outerWidth()+"px";this.dom.pointer=i.createElement("div");this.dom.pointer.className="DTCR_pointer";this.dom.pointer.style.position="absolute";""===this.s.dt.oScroll.sX&&""===this.s.dt.oScroll.sY?(this.dom.pointer.style.top=f(this.s.dt.nTable).offset().top+"px",this.dom.pointer.style.height=f(this.s.dt.nTable).height()+"px"):(this.dom.pointer.style.top=
-f("div.dataTables_scroll",this.s.dt.nTableWrapper).offset().top+"px",this.dom.pointer.style.height=f("div.dataTables_scroll",this.s.dt.nTableWrapper).height()+"px");i.body.appendChild(this.dom.pointer);i.body.appendChild(this.dom.drag)}};ColReorder.aoInstances=[];ColReorder.fnReset=function(a){for(var c=0,d=ColReorder.aoInstances.length;c<d;c++)ColReorder.aoInstances[c].s.dt.oInstance==a&&ColReorder.aoInstances[c].fnReset()};ColReorder.prototype.CLASS="ColReorder";ColReorder.VERSION="1.0.5";ColReorder.prototype.VERSION=
-ColReorder.VERSION;"function"==typeof f.fn.dataTable&&"function"==typeof f.fn.dataTableExt.fnVersionCheck&&f.fn.dataTableExt.fnVersionCheck("1.9.0")?f.fn.dataTableExt.aoFeatures.push({fnInit:function(a){var c=a.oInstance;"undefined"==typeof c._oPluginColReorder?c._oPluginColReorder=new ColReorder(a.oInstance,"undefined"!=typeof a.oInit.oColReorder?a.oInit.oColReorder:{}):c.oApi._fnLog(a,1,"ColReorder attempted to initialise twice. Ignoring second");return null},cFeature:"R",sFeature:"ColReorder"}):
-alert("Warning: ColReorder requires DataTables 1.9.0 or greater - www.datatables.net/download")})(jQuery,window,document);
+(function(f,o,g){function m(a){for(var b=[],d=0,c=a.length;d<c;d++)b[a[d]]=d;return b}function j(a,b,d){b=a.splice(b,1)[0];a.splice(d,0,b)}function n(a,b,d){for(var c=[],e=0,f=a.childNodes.length;e<f;e++)1==a.childNodes[e].nodeType&&c.push(a.childNodes[e]);b=c[b];null!==d?a.insertBefore(b,c[d]):a.appendChild(b)}f.fn.dataTableExt.oApi.fnColReorder=function(a,b,d){var c,e,h,l,k=a.aoColumns.length,i;if(b!=d)if(0>b||b>=k)this.oApi._fnLog(a,1,"ColReorder 'from' index is out of bounds: "+b);else if(0>d||
+d>=k)this.oApi._fnLog(a,1,"ColReorder 'to' index is out of bounds: "+d);else{var g=[];c=0;for(e=k;c<e;c++)g[c]=c;j(g,b,d);g=m(g);c=0;for(e=a.aaSorting.length;c<e;c++)a.aaSorting[c][0]=g[a.aaSorting[c][0]];if(null!==a.aaSortingFixed){c=0;for(e=a.aaSortingFixed.length;c<e;c++)a.aaSortingFixed[c][0]=g[a.aaSortingFixed[c][0]]}c=0;for(e=k;c<e;c++){i=a.aoColumns[c];h=0;for(l=i.aDataSort.length;h<l;h++)i.aDataSort[h]=g[i.aDataSort[h]]}c=0;for(e=k;c<e;c++)i=a.aoColumns[c],"number"==typeof i.mData&&(i.mData=
+g[i.mData],i.fnGetData=a.oApi._fnGetObjectDataFn(i.mData),i.fnSetData=a.oApi._fnSetObjectDataFn(i.mData));if(a.aoColumns[b].bVisible){l=this.oApi._fnColumnIndexToVisible(a,b);i=null;for(c=d<b?d:d+1;null===i&&c<k;)i=this.oApi._fnColumnIndexToVisible(a,c),c++;h=a.nTHead.getElementsByTagName("tr");c=0;for(e=h.length;c<e;c++)n(h[c],l,i);if(null!==a.nTFoot){h=a.nTFoot.getElementsByTagName("tr");c=0;for(e=h.length;c<e;c++)n(h[c],l,i)}c=0;for(e=a.aoData.length;c<e;c++)null!==a.aoData[c].nTr&&n(a.aoData[c].nTr,
+l,i)}j(a.aoColumns,b,d);j(a.aoPreSearchCols,b,d);c=0;for(e=a.aoData.length;c<e;c++)f.isArray(a.aoData[c]._aData)&&j(a.aoData[c]._aData,b,d),j(a.aoData[c]._anHidden,b,d);c=0;for(e=a.aoHeader.length;c<e;c++)j(a.aoHeader[c],b,d);if(null!==a.aoFooter){c=0;for(e=a.aoFooter.length;c<e;c++)j(a.aoFooter[c],b,d)}c=0;for(e=k;c<e;c++)f(a.aoColumns[c].nTh).unbind("click"),this.oApi._fnSortAttachListener(a,a.aoColumns[c].nTh,c);f(a.oInstance).trigger("column-reorder",[a,{iFrom:b,iTo:d,aiInvertMapping:g}]);"undefined"!=
+typeof a.oInstance._oPluginFixedHeader&&a.oInstance._oPluginFixedHeader.fnUpdate()}};ColReorder=function(a,b){(!this.CLASS||"ColReorder"!=this.CLASS)&&alert("Warning: ColReorder must be initialised with the keyword 'new'");"undefined"==typeof b&&(b={});this.s={dt:null,init:b,fixed:0,dropCallback:null,mouse:{startX:-1,startY:-1,offsetX:-1,offsetY:-1,target:-1,targetIndex:-1,fromIndex:-1},aoTargets:[]};this.dom={drag:null,pointer:null};this.s.dt=a.oInstance.fnSettings();this._fnConstruct();a.oApi._fnCallbackReg(a,
+"aoDestroyCallback",jQuery.proxy(this._fnDestroy,this),"ColReorder");ColReorder.aoInstances.push(this);return this};ColReorder.prototype={fnReset:function(){for(var a=[],b=0,d=this.s.dt.aoColumns.length;b<d;b++)a.push(this.s.dt.aoColumns[b]._ColReorder_iOrigCol);this._fnOrderColumns(a)},_fnConstruct:function(){var a=this,b,d;"undefined"!=typeof this.s.init.iFixedColumns&&(this.s.fixed=this.s.init.iFixedColumns);"undefined"!=typeof this.s.init.fnReorderCallback&&(this.s.dropCallback=this.s.init.fnReorderCallback);
+b=0;for(d=this.s.dt.aoColumns.length;b<d;b++)b>this.s.fixed-1&&this._fnMouseListener(b,this.s.dt.aoColumns[b].nTh),this.s.dt.aoColumns[b]._ColReorder_iOrigCol=b;this.s.dt.oApi._fnCallbackReg(this.s.dt,"aoStateSaveParams",function(c,b){a._fnStateSave.call(a,b)},"ColReorder_State");var c=null;"undefined"!=typeof this.s.init.aiOrder&&(c=this.s.init.aiOrder.slice());this.s.dt.oLoadedState&&("undefined"!=typeof this.s.dt.oLoadedState.ColReorder&&this.s.dt.oLoadedState.ColReorder.length==this.s.dt.aoColumns.length)&&
+(c=this.s.dt.oLoadedState.ColReorder);if(c)if(a.s.dt._bInitComplete)b=m(c),a._fnOrderColumns.call(a,b);else{var e=!1;this.s.dt.aoDrawCallback.push({fn:function(){if(!a.s.dt._bInitComplete&&!e){e=true;var b=m(c);a._fnOrderColumns.call(a,b)}},sName:"ColReorder_Pre"})}},_fnOrderColumns:function(a){if(a.length!=this.s.dt.aoColumns.length)this.s.dt.oInstance.oApi._fnLog(this.s.dt,1,"ColReorder - array reorder does not match known number of columns. Skipping.");else{for(var b=0,d=a.length;b<d;b++){var c=
+f.inArray(b,a);b!=c&&(j(a,c,b),this.s.dt.oInstance.fnColReorder(c,b))}(""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing();this.s.dt.oInstance.oApi._fnSaveState(this.s.dt)}},_fnStateSave:function(a){var b,d,c,e=this.s.dt;for(b=0;b<a.aaSorting.length;b++)a.aaSorting[b][0]=e.aoColumns[a.aaSorting[b][0]]._ColReorder_iOrigCol;aSearchCopy=f.extend(!0,[],a.aoSearchCols);a.ColReorder=[];b=0;for(d=e.aoColumns.length;b<d;b++)c=e.aoColumns[b]._ColReorder_iOrigCol,
+a.aoSearchCols[c]=aSearchCopy[b],a.abVisCols[c]=e.aoColumns[b].bVisible,a.ColReorder.push(c)},_fnMouseListener:function(a,b){var d=this;f(b).bind("mousedown.ColReorder",function(a){a.preventDefault();d._fnMouseDown.call(d,a,b)})},_fnMouseDown:function(a,b){var d=this,c=this.s.dt.aoColumns,e="TH"==a.target.nodeName?a.target:f(a.target).parents("TH")[0],e=f(e).offset();this.s.mouse.startX=a.pageX;this.s.mouse.startY=a.pageY;this.s.mouse.offsetX=a.pageX-e.left;this.s.mouse.offsetY=a.pageY-e.top;this.s.mouse.target=
+b;this.s.mouse.targetIndex=f("th",b.parentNode).index(b);this.s.mouse.fromIndex=this.s.dt.oInstance.oApi._fnVisibleToColumnIndex(this.s.dt,this.s.mouse.targetIndex);this.s.aoTargets.splice(0,this.s.aoTargets.length);this.s.aoTargets.push({x:f(this.s.dt.nTable).offset().left,to:0});for(var h=e=0,j=c.length;h<j;h++)h!=this.s.mouse.fromIndex&&e++,c[h].bVisible&&this.s.aoTargets.push({x:f(c[h].nTh).offset().left+f(c[h].nTh).outerWidth(),to:e});0!==this.s.fixed&&this.s.aoTargets.splice(0,this.s.fixed);
+f(g).bind("mousemove.ColReorder",function(a){d._fnMouseMove.call(d,a)});f(g).bind("mouseup.ColReorder",function(a){d._fnMouseUp.call(d,a)})},_fnMouseMove:function(a){if(null===this.dom.drag){if(5>Math.pow(Math.pow(a.pageX-this.s.mouse.startX,2)+Math.pow(a.pageY-this.s.mouse.startY,2),0.5))return;this._fnCreateDragNode()}this.dom.drag.style.left=a.pageX-this.s.mouse.offsetX+"px";this.dom.drag.style.top=a.pageY-this.s.mouse.offsetY+"px";for(var b=!1,d=1,c=this.s.aoTargets.length;d<c;d++)if(a.pageX<
+this.s.aoTargets[d-1].x+(this.s.aoTargets[d].x-this.s.aoTargets[d-1].x)/2){this.dom.pointer.style.left=this.s.aoTargets[d-1].x+"px";this.s.mouse.toIndex=this.s.aoTargets[d-1].to;b=!0;break}b||(this.dom.pointer.style.left=this.s.aoTargets[this.s.aoTargets.length-1].x+"px",this.s.mouse.toIndex=this.s.aoTargets[this.s.aoTargets.length-1].to)},_fnMouseUp:function(){f(g).unbind("mousemove.ColReorder");f(g).unbind("mouseup.ColReorder");null!==this.dom.drag&&(g.body.removeChild(this.dom.drag),g.body.removeChild(this.dom.pointer),
+this.dom.drag=null,this.dom.pointer=null,this.s.dt.oInstance.fnColReorder(this.s.mouse.fromIndex,this.s.mouse.toIndex),(""!==this.s.dt.oScroll.sX||""!==this.s.dt.oScroll.sY)&&this.s.dt.oInstance.fnAdjustColumnSizing(),null!==this.s.dropCallback&&this.s.dropCallback.call(this),this.s.dt.oInstance.oApi._fnSaveState(this.s.dt))},_fnCreateDragNode:function(){var a=this;this.dom.drag=f(this.s.dt.nTHead.parentNode).clone(!0)[0];for(this.dom.drag.className+=" DTCR_clonedTable";0<this.dom.drag.getElementsByTagName("caption").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("caption")[0]);
+for(;0<this.dom.drag.getElementsByTagName("tbody").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tbody")[0]);for(;0<this.dom.drag.getElementsByTagName("tfoot").length;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tfoot")[0]);f("thead tr:eq(0)",this.dom.drag).each(function(){f("th",this).eq(a.s.mouse.targetIndex).siblings().remove()});f("tr",this.dom.drag).height(f("tr:eq(0)",a.s.dt.nTHead).height());f("thead tr:gt(0)",this.dom.drag).remove();f("thead th:eq(0)",
+this.dom.drag).each(function(){this.style.width=f("th:eq("+a.s.mouse.targetIndex+")",a.s.dt.nTHead).width()+"px"});this.dom.drag.style.position="absolute";this.dom.drag.style.top="0px";this.dom.drag.style.left="0px";this.dom.drag.style.width=f("th:eq("+a.s.mouse.targetIndex+")",a.s.dt.nTHead).outerWidth()+"px";this.dom.pointer=g.createElement("div");this.dom.pointer.className="DTCR_pointer";this.dom.pointer.style.position="absolute";""===this.s.dt.oScroll.sX&&""===this.s.dt.oScroll.sY?(this.dom.pointer.style.top=
+f(this.s.dt.nTable).offset().top+"px",this.dom.pointer.style.height=f(this.s.dt.nTable).height()+"px"):(this.dom.pointer.style.top=f("div.dataTables_scroll",this.s.dt.nTableWrapper).offset().top+"px",this.dom.pointer.style.height=f("div.dataTables_scroll",this.s.dt.nTableWrapper).height()+"px");g.body.appendChild(this.dom.pointer);g.body.appendChild(this.dom.drag)},_fnDestroy:function(){for(var a=0,b=ColReorder.aoInstances.length;a<b;a++)if(ColReorder.aoInstances[a]===this){ColReorder.aoInstances.splice(a,
+1);break}f(this.s.dt.nTHead).find("*").unbind(".ColReorder");this.s=this.s.dt.oInstance._oPluginColReorder=null}};ColReorder.aoInstances=[];ColReorder.fnReset=function(a){for(var b=0,d=ColReorder.aoInstances.length;b<d;b++)ColReorder.aoInstances[b].s.dt.oInstance==a&&ColReorder.aoInstances[b].fnReset()};ColReorder.prototype.CLASS="ColReorder";ColReorder.VERSION="1.0.8";ColReorder.prototype.VERSION=ColReorder.VERSION;"function"==typeof f.fn.dataTable&&"function"==typeof f.fn.dataTableExt.fnVersionCheck&&
+f.fn.dataTableExt.fnVersionCheck("1.9.3")?f.fn.dataTableExt.aoFeatures.push({fnInit:function(a){var b=a.oInstance;"undefined"==typeof b._oPluginColReorder?b._oPluginColReorder=new ColReorder(a,"undefined"!=typeof a.oInit.oColReorder?a.oInit.oColReorder:{}):b.oApi._fnLog(a,1,"ColReorder attempted to initialise twice. Ignoring second");return null},cFeature:"R",sFeature:"ColReorder"}):alert("Warning: ColReorder requires DataTables 1.9.3 or greater - www.datatables.net/download")})(jQuery,window,document);
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.js b/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.js
index 19d91d39b8e..10d66e15b30 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.js
+++ b/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.js
@@ -1,6 +1,6 @@
 /*
  * File:        ColVis.js
- * Version:     1.0.7
+ * Version:     1.0.8
  * CVS:         $Id$
  * Description: Controls for column visiblity in DataTables
  * Author:      Allan Jardine (www.sprymedia.co.uk)
@@ -313,6 +313,7 @@ ColVis.prototype = {
 		this._fnApplyCustomisation();
 		
 		var that = this;
+		var i, iLen;
 		this.dom.wrapper = document.createElement('div');
 		this.dom.wrapper.className = "ColVis TableTools";
 		
@@ -327,7 +328,7 @@ ColVis.prototype = {
 		this._fnAddButtons();
 		
 		/* Store the original visbility information */
-		for ( var i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
+		for ( i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
 		{
 			this.s.abOriginal.push( this.s.dt.aoColumns[i].bVisible );
 		}
@@ -339,6 +340,20 @@ ColVis.prototype = {
 			},
 			"sName": "ColVis"
 		} );
+
+		/* If columns are reordered, then we need to update our exclude list and
+		 * rebuild the displayed list
+		 */
+		$(this.s.dt.oInstance).bind( 'column-reorder', function ( e, oSettings, oReorder ) {
+			for ( i=0, iLen=that.s.aiExclude.length ; i<iLen ; i++ ) {
+				that.s.aiExclude[i] = oReorder.aiInvertMapping[ that.s.aiExclude[i] ];
+			}
+
+			var mStore = that.s.abOriginal.splice( oReorder.iFrom, 1 )[0];
+			that.s.abOriginal.splice( oReorder.iTo, 0, mStore );
+			
+			that.fnRebuild();
+		} );
 	},
 	
 	
@@ -420,8 +435,8 @@ ColVis.prototype = {
 	
 	
 	/**
-	 * On each table draw, check the visiblity checkboxes as needed. This allows any process to
-	 * update the table's column visiblity and ColVis will still be accurate.
+	 * On each table draw, check the visibility checkboxes as needed. This allows any process to
+	 * update the table's column visibility and ColVis will still be accurate.
 	 *  @method  _fnDrawCallback
 	 *  @returns void
 	 *  @private 
@@ -515,6 +530,7 @@ ColVis.prototype = {
 				that.s.dt.oInstance.fnSetColumnVis( i, that.s.abOriginal[i], false );
 			}
 			that._fnAdjustOpenRows();
+			that.s.dt.oInstance.fnAdjustColumnSizing( false );
 			that.s.dt.oInstance.fnDraw( false );
 		} );
 		
@@ -549,6 +565,7 @@ ColVis.prototype = {
 				}
 			}
 			that._fnAdjustOpenRows();
+			that.s.dt.oInstance.fnAdjustColumnSizing( false );
 			that.s.dt.oInstance.fnDraw( false );
 		} );
 		
@@ -597,6 +614,7 @@ ColVis.prototype = {
 			if ( dt.oFeatures.bServerSide && (dt.oScroll.sX !== "" || dt.oScroll.sY !== "" ) )
 			{
 				that.s.dt.oInstance.fnSetColumnVis( i, showHide, false );
+				that.s.dt.oInstance.fnAdjustColumnSizing( false );
 				that.s.dt.oInstance.oApi._fnScrollDraw( that.s.dt );
 				that._fnDrawCallback();
 			}
@@ -923,7 +941,7 @@ ColVis.fnRebuild = function ( oTable )
 
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Static object propterties
+ * Static object properties
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /**
@@ -958,7 +976,7 @@ ColVis.prototype.CLASS = "ColVis";
  *  @type      String
  *  @default   See code
  */
-ColVis.VERSION = "1.0.7";
+ColVis.VERSION = "1.0.8";
 ColVis.prototype.VERSION = ColVis.VERSION;
 
 
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.min.js b/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.min.js
index 429d6c72c1a..a831fd90944 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.min.js
+++ b/htdocs/includes/jquery/plugins/datatables/extras/ColVis/js/ColVis.min.js
@@ -1,9 +1,9 @@
 /*
  * File:        ColVis.min.js
- * Version:     1.0.7
+ * Version:     1.0.8
  * Author:      Allan Jardine (www.sprymedia.co.uk)
  * 
- * Copyright 2010-2011 Allan Jardine, all rights reserved.
+ * Copyright 2010-2012 Allan Jardine, all rights reserved.
  *
  * This source file is free software, under either the GPL v2 license or a
  * BSD (3 point) style license, as supplied with this software.
@@ -13,21 +13,22 @@
  * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
  */
 (function(d){ColVis=function(a,b){(!this.CLASS||"ColVis"!=this.CLASS)&&alert("Warning: ColVis must be initialised with the keyword 'new'");"undefined"==typeof b&&(b={});this.s={dt:null,oInit:b,fnStateChange:null,activate:"click",sAlign:"left",buttonText:"Show / hide columns",hidden:!0,aiExclude:[],abOriginal:[],bShowAll:!1,sShowAll:"Show All",bRestore:!1,sRestore:"Restore original",iOverlayFade:500,fnLabel:null,sSize:"auto",bCssPosition:!1};this.dom={wrapper:null,button:null,collection:null,background:null,
-catcher:null,buttons:[],restore:null};ColVis.aInstances.push(this);this.s.dt=a;this._fnConstruct();return this};ColVis.prototype={fnRebuild:function(){for(var a=this.dom.buttons.length-1;0<=a;a--)null!==this.dom.buttons[a]&&this.dom.collection.removeChild(this.dom.buttons[a]);this.dom.buttons.splice(0,this.dom.buttons.length);this.dom.restore&&this.dom.restore.parentNode(this.dom.restore);this._fnAddButtons();this._fnDrawCallback()},_fnConstruct:function(){this._fnApplyCustomisation();var a=this;
-this.dom.wrapper=document.createElement("div");this.dom.wrapper.className="ColVis TableTools";this.dom.button=this._fnDomBaseButton(this.s.buttonText);this.dom.button.className+=" ColVis_MasterButton";this.dom.wrapper.appendChild(this.dom.button);this.dom.catcher=this._fnDomCatcher();this.dom.collection=this._fnDomCollection();this.dom.background=this._fnDomBackground();this._fnAddButtons();for(var b=0,c=this.s.dt.aoColumns.length;b<c;b++)this.s.abOriginal.push(this.s.dt.aoColumns[b].bVisible);this.s.dt.aoDrawCallback.push({fn:function(){a._fnDrawCallback.call(a)},
-sName:"ColVis"})},_fnApplyCustomisation:function(){var a=this.s.oInit;if("undefined"!=typeof a.activate)this.s.activate=a.activate;if("undefined"!=typeof a.buttonText)this.s.buttonText=a.buttonText;if("undefined"!=typeof a.aiExclude)this.s.aiExclude=a.aiExclude;if("undefined"!=typeof a.bRestore)this.s.bRestore=a.bRestore;if("undefined"!=typeof a.sRestore)this.s.sRestore=a.sRestore;if("undefined"!=typeof a.bShowAll)this.s.bShowAll=a.bShowAll;if("undefined"!=typeof a.sShowAll)this.s.sShowAll=a.sShowAll;
-if("undefined"!=typeof a.sAlign)this.s.sAlign=a.sAlign;if("undefined"!=typeof a.fnStateChange)this.s.fnStateChange=a.fnStateChange;if("undefined"!=typeof a.iOverlayFade)this.s.iOverlayFade=a.iOverlayFade;if("undefined"!=typeof a.fnLabel)this.s.fnLabel=a.fnLabel;if("undefined"!=typeof a.sSize)this.s.sSize=a.sSize;if("undefined"!=typeof a.bCssPosition)this.s.bCssPosition=a.bCssPosition},_fnDrawCallback:function(){for(var a=this.s.dt.aoColumns,b=0,c=a.length;b<c;b++)null!==this.dom.buttons[b]&&(a[b].bVisible?
-d("input",this.dom.buttons[b]).attr("checked","checked"):d("input",this.dom.buttons[b]).removeAttr("checked"))},_fnAddButtons:function(){for(var a,b=","+this.s.aiExclude.join(",")+",",c=0,d=this.s.dt.aoColumns.length;c<d;c++)-1==b.indexOf(","+c+",")?(a=this._fnDomColumnButton(c),this.dom.buttons.push(a),this.dom.collection.appendChild(a)):this.dom.buttons.push(null);this.s.bRestore&&(a=this._fnDomRestoreButton(),a.className+=" ColVis_Restore",this.dom.buttons.push(a),this.dom.collection.appendChild(a));
-this.s.bShowAll&&(a=this._fnDomShowAllButton(),a.className+=" ColVis_ShowAll",this.dom.buttons.push(a),this.dom.collection.appendChild(a))},_fnDomRestoreButton:function(){var a=this,b=document.createElement("button"),c=document.createElement("span");b.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";b.appendChild(c);d(c).html('<span class="ColVis_title">'+this.s.sRestore+"</span>");d(b).click(function(){for(var b=0,c=a.s.abOriginal.length;b<
-c;b++)a.s.dt.oInstance.fnSetColumnVis(b,a.s.abOriginal[b],!1);a._fnAdjustOpenRows();a.s.dt.oInstance.fnDraw(!1)});return b},_fnDomShowAllButton:function(){var a=this,b=document.createElement("button"),c=document.createElement("span");b.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";b.appendChild(c);d(c).html('<span class="ColVis_title">'+this.s.sShowAll+"</span>");d(b).click(function(){for(var b=0,c=a.s.abOriginal.length;b<
-c;b++)-1===a.s.aiExclude.indexOf(b)&&a.s.dt.oInstance.fnSetColumnVis(b,!0,!1);a._fnAdjustOpenRows();a.s.dt.oInstance.fnDraw(!1)});return b},_fnDomColumnButton:function(a){var b=this,c=this.s.dt.aoColumns[a],e=document.createElement("button"),g=document.createElement("span"),f=this.s.dt;e.className=!f.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";e.appendChild(g);c=null===this.s.fnLabel?c.sTitle:this.s.fnLabel(a,c.sTitle,c.nTh);d(g).html('<span class="ColVis_radio"><input type="checkbox"/></span><span class="ColVis_title">'+
-c+"</span>");d(e).click(function(c){var e=!d("input",this).is(":checked");"input"==c.target.nodeName.toLowerCase()&&(e=d("input",this).is(":checked"));c=d.fn.dataTableExt.iApiIndex;d.fn.dataTableExt.iApiIndex=b._fnDataTablesApiIndex.call(b);f.oFeatures.bServerSide&&(""!==f.oScroll.sX||""!==f.oScroll.sY)?(b.s.dt.oInstance.fnSetColumnVis(a,e,!1),b.s.dt.oInstance.oApi._fnScrollDraw(b.s.dt),b._fnDrawCallback()):b.s.dt.oInstance.fnSetColumnVis(a,e);d.fn.dataTableExt.iApiIndex=c;null!==b.s.fnStateChange&&
-b.s.fnStateChange.call(b,a,e)});return e},_fnDataTablesApiIndex:function(){for(var a=0,b=this.s.dt.oInstance.length;a<b;a++)if(this.s.dt.oInstance[a]==this.s.dt.nTable)return a;return 0},_fnDomBaseButton:function(a){var b=this,c=document.createElement("button"),e=document.createElement("span"),g="mouseover"==this.s.activate?"mouseover":"click";c.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";c.appendChild(e);e.innerHTML=a;d(c).bind(g,
-function(a){b._fnCollectionShow();a.preventDefault()});return c},_fnDomCollection:function(){var a=document.createElement("div");a.style.display="none";a.className=!this.s.dt.bJUI?"ColVis_collection TableTools_collection":"ColVis_collection TableTools_collection ui-buttonset ui-buttonset-multi";if(!this.s.bCssPosition)a.style.position="absolute";d(a).css("opacity",0);return a},_fnDomCatcher:function(){var a=this,b=document.createElement("div");b.className="ColVis_catcher TableTools_catcher";d(b).click(function(){a._fnCollectionHide.call(a,
-null,null)});return b},_fnDomBackground:function(){var a=this,b=document.createElement("div");b.style.position="absolute";b.style.left="0px";b.style.top="0px";b.className="ColVis_collectionBackground TableTools_collectionBackground";d(b).css("opacity",0);d(b).click(function(){a._fnCollectionHide.call(a,null,null)});"mouseover"==this.s.activate&&d(b).mouseover(function(){a.s.overcollection=!1;a._fnCollectionHide.call(a,null,null)});return b},_fnCollectionShow:function(){var a=this,b,c;b=d(this.dom.button).offset();
-var e=this.dom.collection,g=this.dom.background,f=parseInt(b.left,10),h=parseInt(b.top+d(this.dom.button).outerHeight(),10);if(!this.s.bCssPosition)e.style.top=h+"px",e.style.left=f+"px";e.style.display="block";d(e).css("opacity",0);c=d(window).height();var i=d(document).height(),j=d(window).width(),h=d(document).width();g.style.height=(c>i?c:i)+"px";g.style.width=(j<h?j:h)+"px";c=this.dom.catcher.style;c.height=d(this.dom.button).outerHeight()+"px";c.width=d(this.dom.button).outerWidth()+"px";c.top=
-b.top+"px";c.left=f+"px";document.body.appendChild(g);document.body.appendChild(e);document.body.appendChild(this.dom.catcher);if("auto"==this.s.sSize){i=[];this.dom.collection.style.width="auto";for(b=0,c=this.dom.buttons.length;b<c;b++)if(null!==this.dom.buttons[b])this.dom.buttons[b].style.width="auto",i.push(d(this.dom.buttons[b]).outerWidth());iMax=Math.max.apply(window,i);for(b=0,c=this.dom.buttons.length;b<c;b++)if(null!==this.dom.buttons[b])this.dom.buttons[b].style.width=iMax+"px";this.dom.collection.style.width=
-iMax+"px"}if(!this.s.bCssPosition&&(e.style.left="left"==this.s.sAlign?f+"px":f-d(e).outerWidth()+d(this.dom.button).outerWidth()+"px",b=d(e).outerWidth(),d(e).outerHeight(),f+b>h))e.style.left=h-b+"px";setTimeout(function(){d(e).animate({opacity:1},a.s.iOverlayFade);d(g).animate({opacity:0.1},a.s.iOverlayFade,"linear",function(){jQuery.browser.msie&&"6.0"==jQuery.browser.version&&a._fnDrawCallback()})},10);this.s.hidden=!1},_fnCollectionHide:function(){var a=this;if(!this.s.hidden&&null!==this.dom.collection)this.s.hidden=
-!0,d(this.dom.collection).animate({opacity:0},a.s.iOverlayFade,function(){this.style.display="none"}),d(this.dom.background).animate({opacity:0},a.s.iOverlayFade,function(){document.body.removeChild(a.dom.background);document.body.removeChild(a.dom.catcher)})},_fnAdjustOpenRows:function(){for(var a=this.s.dt.aoOpenRows,b=this.s.dt.oApi._fnVisbleColumns(this.s.dt),c=0,d=a.length;c<d;c++)a[c].nTr.getElementsByTagName("td")[0].colSpan=b}};ColVis.fnRebuild=function(a){var b=null;if("undefined"!=typeof a)b=
-a.fnSettings().nTable;for(var c=0,d=ColVis.aInstances.length;c<d;c++)("undefined"==typeof a||b==ColVis.aInstances[c].s.dt.nTable)&&ColVis.aInstances[c].fnRebuild()};ColVis.aInstances=[];ColVis.prototype.CLASS="ColVis";ColVis.VERSION="1.0.7";ColVis.prototype.VERSION=ColVis.VERSION;"function"==typeof d.fn.dataTable&&"function"==typeof d.fn.dataTableExt.fnVersionCheck&&d.fn.dataTableExt.fnVersionCheck("1.7.0")?d.fn.dataTableExt.aoFeatures.push({fnInit:function(a){return(new ColVis(a,"undefined"==typeof a.oInit.oColVis?
-{}:a.oInit.oColVis)).dom.wrapper},cFeature:"C",sFeature:"ColVis"}):alert("Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download")})(jQuery);
+catcher:null,buttons:[],restore:null};ColVis.aInstances.push(this);this.s.dt=a;this._fnConstruct();return this};ColVis.prototype={fnRebuild:function(){for(var a=this.dom.buttons.length-1;0<=a;a--)null!==this.dom.buttons[a]&&this.dom.collection.removeChild(this.dom.buttons[a]);this.dom.buttons.splice(0,this.dom.buttons.length);this.dom.restore&&this.dom.restore.parentNode(this.dom.restore);this._fnAddButtons();this._fnDrawCallback()},_fnConstruct:function(){this._fnApplyCustomisation();var a=this,
+b,c;this.dom.wrapper=document.createElement("div");this.dom.wrapper.className="ColVis TableTools";this.dom.button=this._fnDomBaseButton(this.s.buttonText);this.dom.button.className+=" ColVis_MasterButton";this.dom.wrapper.appendChild(this.dom.button);this.dom.catcher=this._fnDomCatcher();this.dom.collection=this._fnDomCollection();this.dom.background=this._fnDomBackground();this._fnAddButtons();b=0;for(c=this.s.dt.aoColumns.length;b<c;b++)this.s.abOriginal.push(this.s.dt.aoColumns[b].bVisible);this.s.dt.aoDrawCallback.push({fn:function(){a._fnDrawCallback.call(a)},
+sName:"ColVis"});d(this.s.dt.oInstance).bind("column-reorder",function(d,g,f){b=0;for(c=a.s.aiExclude.length;b<c;b++)a.s.aiExclude[b]=f.aiInvertMapping[a.s.aiExclude[b]];d=a.s.abOriginal.splice(f.iFrom,1)[0];a.s.abOriginal.splice(f.iTo,0,d);a.fnRebuild()})},_fnApplyCustomisation:function(){var a=this.s.oInit;"undefined"!=typeof a.activate&&(this.s.activate=a.activate);"undefined"!=typeof a.buttonText&&(this.s.buttonText=a.buttonText);"undefined"!=typeof a.aiExclude&&(this.s.aiExclude=a.aiExclude);
+"undefined"!=typeof a.bRestore&&(this.s.bRestore=a.bRestore);"undefined"!=typeof a.sRestore&&(this.s.sRestore=a.sRestore);"undefined"!=typeof a.bShowAll&&(this.s.bShowAll=a.bShowAll);"undefined"!=typeof a.sShowAll&&(this.s.sShowAll=a.sShowAll);"undefined"!=typeof a.sAlign&&(this.s.sAlign=a.sAlign);"undefined"!=typeof a.fnStateChange&&(this.s.fnStateChange=a.fnStateChange);"undefined"!=typeof a.iOverlayFade&&(this.s.iOverlayFade=a.iOverlayFade);"undefined"!=typeof a.fnLabel&&(this.s.fnLabel=a.fnLabel);
+"undefined"!=typeof a.sSize&&(this.s.sSize=a.sSize);"undefined"!=typeof a.bCssPosition&&(this.s.bCssPosition=a.bCssPosition)},_fnDrawCallback:function(){for(var a=this.s.dt.aoColumns,b=0,c=a.length;b<c;b++)null!==this.dom.buttons[b]&&(a[b].bVisible?d("input",this.dom.buttons[b]).attr("checked","checked"):d("input",this.dom.buttons[b]).removeAttr("checked"))},_fnAddButtons:function(){for(var a,b=","+this.s.aiExclude.join(",")+",",c=0,d=this.s.dt.aoColumns.length;c<d;c++)-1==b.indexOf(","+c+",")?(a=
+this._fnDomColumnButton(c),this.dom.buttons.push(a),this.dom.collection.appendChild(a)):this.dom.buttons.push(null);this.s.bRestore&&(a=this._fnDomRestoreButton(),a.className+=" ColVis_Restore",this.dom.buttons.push(a),this.dom.collection.appendChild(a));this.s.bShowAll&&(a=this._fnDomShowAllButton(),a.className+=" ColVis_ShowAll",this.dom.buttons.push(a),this.dom.collection.appendChild(a))},_fnDomRestoreButton:function(){var a=this,b=document.createElement("button"),c=document.createElement("span");
+b.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";b.appendChild(c);d(c).html('<span class="ColVis_title">'+this.s.sRestore+"</span>");d(b).click(function(){for(var b=0,c=a.s.abOriginal.length;b<c;b++)a.s.dt.oInstance.fnSetColumnVis(b,a.s.abOriginal[b],!1);a._fnAdjustOpenRows();a.s.dt.oInstance.fnAdjustColumnSizing(!1);a.s.dt.oInstance.fnDraw(!1)});return b},_fnDomShowAllButton:function(){var a=this,b=document.createElement("button"),
+c=document.createElement("span");b.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";b.appendChild(c);d(c).html('<span class="ColVis_title">'+this.s.sShowAll+"</span>");d(b).click(function(){for(var b=0,c=a.s.abOriginal.length;b<c;b++)-1===a.s.aiExclude.indexOf(b)&&a.s.dt.oInstance.fnSetColumnVis(b,!0,!1);a._fnAdjustOpenRows();a.s.dt.oInstance.fnAdjustColumnSizing(!1);a.s.dt.oInstance.fnDraw(!1)});return b},_fnDomColumnButton:function(a){var b=
+this,c=this.s.dt.aoColumns[a],e=document.createElement("button"),g=document.createElement("span"),f=this.s.dt;e.className=!f.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";e.appendChild(g);c=null===this.s.fnLabel?c.sTitle:this.s.fnLabel(a,c.sTitle,c.nTh);d(g).html('<span class="ColVis_radio"><input type="checkbox"/></span><span class="ColVis_title">'+c+"</span>");d(e).click(function(c){var e=!d("input",this).is(":checked");"input"==c.target.nodeName.toLowerCase()&&
+(e=d("input",this).is(":checked"));c=d.fn.dataTableExt.iApiIndex;d.fn.dataTableExt.iApiIndex=b._fnDataTablesApiIndex.call(b);f.oFeatures.bServerSide&&(""!==f.oScroll.sX||""!==f.oScroll.sY)?(b.s.dt.oInstance.fnSetColumnVis(a,e,!1),b.s.dt.oInstance.fnAdjustColumnSizing(!1),b.s.dt.oInstance.oApi._fnScrollDraw(b.s.dt),b._fnDrawCallback()):b.s.dt.oInstance.fnSetColumnVis(a,e);d.fn.dataTableExt.iApiIndex=c;null!==b.s.fnStateChange&&b.s.fnStateChange.call(b,a,e)});return e},_fnDataTablesApiIndex:function(){for(var a=
+0,b=this.s.dt.oInstance.length;a<b;a++)if(this.s.dt.oInstance[a]==this.s.dt.nTable)return a;return 0},_fnDomBaseButton:function(a){var b=this,c=document.createElement("button"),e=document.createElement("span"),g="mouseover"==this.s.activate?"mouseover":"click";c.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";c.appendChild(e);e.innerHTML=a;d(c).bind(g,function(a){b._fnCollectionShow();a.preventDefault()});return c},_fnDomCollection:function(){var a=
+document.createElement("div");a.style.display="none";a.className=!this.s.dt.bJUI?"ColVis_collection TableTools_collection":"ColVis_collection TableTools_collection ui-buttonset ui-buttonset-multi";this.s.bCssPosition||(a.style.position="absolute");d(a).css("opacity",0);return a},_fnDomCatcher:function(){var a=this,b=document.createElement("div");b.className="ColVis_catcher TableTools_catcher";d(b).click(function(){a._fnCollectionHide.call(a,null,null)});return b},_fnDomBackground:function(){var a=
+this,b=document.createElement("div");b.style.position="absolute";b.style.left="0px";b.style.top="0px";b.className="ColVis_collectionBackground TableTools_collectionBackground";d(b).css("opacity",0);d(b).click(function(){a._fnCollectionHide.call(a,null,null)});"mouseover"==this.s.activate&&d(b).mouseover(function(){a.s.overcollection=!1;a._fnCollectionHide.call(a,null,null)});return b},_fnCollectionShow:function(){var a=this,b,c;b=d(this.dom.button).offset();var e=this.dom.collection,g=this.dom.background,
+f=parseInt(b.left,10),h=parseInt(b.top+d(this.dom.button).outerHeight(),10);this.s.bCssPosition||(e.style.top=h+"px",e.style.left=f+"px");e.style.display="block";d(e).css("opacity",0);c=d(window).height();var i=d(document).height(),j=d(window).width(),h=d(document).width();g.style.height=(c>i?c:i)+"px";g.style.width=(j<h?j:h)+"px";c=this.dom.catcher.style;c.height=d(this.dom.button).outerHeight()+"px";c.width=d(this.dom.button).outerWidth()+"px";c.top=b.top+"px";c.left=f+"px";document.body.appendChild(g);
+document.body.appendChild(e);document.body.appendChild(this.dom.catcher);if("auto"==this.s.sSize){i=[];this.dom.collection.style.width="auto";b=0;for(c=this.dom.buttons.length;b<c;b++)null!==this.dom.buttons[b]&&(this.dom.buttons[b].style.width="auto",i.push(d(this.dom.buttons[b]).outerWidth()));iMax=Math.max.apply(window,i);b=0;for(c=this.dom.buttons.length;b<c;b++)null!==this.dom.buttons[b]&&(this.dom.buttons[b].style.width=iMax+"px");this.dom.collection.style.width=iMax+"px"}this.s.bCssPosition||
+(e.style.left="left"==this.s.sAlign?f+"px":f-d(e).outerWidth()+d(this.dom.button).outerWidth()+"px",b=d(e).outerWidth(),d(e).outerHeight(),f+b>h&&(e.style.left=h-b+"px"));setTimeout(function(){d(e).animate({opacity:1},a.s.iOverlayFade);d(g).animate({opacity:0.1},a.s.iOverlayFade,"linear",function(){jQuery.browser.msie&&jQuery.browser.version=="6.0"&&a._fnDrawCallback()})},10);this.s.hidden=!1},_fnCollectionHide:function(){var a=this;!this.s.hidden&&null!==this.dom.collection&&(this.s.hidden=!0,d(this.dom.collection).animate({opacity:0},
+a.s.iOverlayFade,function(){this.style.display="none"}),d(this.dom.background).animate({opacity:0},a.s.iOverlayFade,function(){document.body.removeChild(a.dom.background);document.body.removeChild(a.dom.catcher)}))},_fnAdjustOpenRows:function(){for(var a=this.s.dt.aoOpenRows,b=this.s.dt.oApi._fnVisbleColumns(this.s.dt),c=0,d=a.length;c<d;c++)a[c].nTr.getElementsByTagName("td")[0].colSpan=b}};ColVis.fnRebuild=function(a){var b=null;"undefined"!=typeof a&&(b=a.fnSettings().nTable);for(var c=0,d=ColVis.aInstances.length;c<
+d;c++)("undefined"==typeof a||b==ColVis.aInstances[c].s.dt.nTable)&&ColVis.aInstances[c].fnRebuild()};ColVis.aInstances=[];ColVis.prototype.CLASS="ColVis";ColVis.VERSION="1.0.8";ColVis.prototype.VERSION=ColVis.VERSION;"function"==typeof d.fn.dataTable&&"function"==typeof d.fn.dataTableExt.fnVersionCheck&&d.fn.dataTableExt.fnVersionCheck("1.7.0")?d.fn.dataTableExt.aoFeatures.push({fnInit:function(a){return(new ColVis(a,"undefined"==typeof a.oInit.oColVis?{}:a.oInit.oColVis)).dom.wrapper},cFeature:"C",
+sFeature:"ColVis"}):alert("Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download")})(jQuery);
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools.css b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools.css
index 0d2ab8a6b1d..46c368d4e96 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools.css
+++ b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools.css
@@ -33,15 +33,17 @@ div.DTTT_container {
 }
 
 button.DTTT_button,
-div.DTTT_button {
+div.DTTT_button,
+a.DTTT_button {
 	position: relative;
 	float: left;
-	height: 30px;
 	margin-right: 3px;
-	padding: 3px 8px;
+	padding: 5px 8px;
 	border: 1px solid #999;
 	cursor: pointer;
 	*cursor: hand;
+	font-size: 0.88em;
+	color: black !important;
 
 	-webkit-border-radius: 2px;
 	   -moz-border-radius: 2px;
@@ -65,15 +67,22 @@ div.DTTT_button {
 	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
 }
 
-button.DTTT_button::-moz-focus-inner { 
-	border: none !important;
-	padding: 0;
+
+/* Buttons are cunning border-box sizing - we can't just use that for A and DIV due to IE6/7 */
+button.DTTT_button {
+	height: 30px;
+	padding: 3px 8px;
+}
+
+.DTTT_button embed { 
+	outline: none;
 }
 
-/* This would of course be better with :hover, but for Flash interaction... */
-button.DTTT_button_hover,
-div.DTTT_button_hover {
+button.DTTT_button:hover,
+div.DTTT_button:hover,
+a.DTTT_button:hover {
 	border: 1px solid #666;
+	text-decoration: none !important;
 
 	-webkit-box-shadow: 1px 1px 3px #999;
 	   -moz-box-shadow: 1px 1px 3px #999;
@@ -91,7 +100,8 @@ div.DTTT_button_hover {
 }
 
 button.DTTT_disabled,
-div.DTTT_disabled {
+div.DTTT_disabled,
+a.DTTT_disabled {
 	color: #999;
 	border: 1px solid #d0d0d0;
 	
@@ -132,19 +142,19 @@ button.DTTT_button_print span {
 
 
 button.DTTT_button_csv span { background: url(../images/csv.png) no-repeat bottom right; }
-button.DTTT_button_csv_hover span { background: url(../images/csv_hover.png) no-repeat center right; }
+button.DTTT_button_csv:hover span { background: url(../images/csv_hover.png) no-repeat center right; }
 
 button.DTTT_button_xls span { background: url(../images/xls.png) no-repeat center right; }
-button.DTTT_button_xls_hover span { background: #f0f0f0 url(../images/xls_hover.png) no-repeat center right; }
+button.DTTT_button_xls:hover span { background: #f0f0f0 url(../images/xls_hover.png) no-repeat center right; }
 
 button.DTTT_button_copy span { background: url(../images/copy.png) no-repeat center right; }
-button.DTTT_button_copy_hover span { background: #f0f0f0 url(../images/copy_hover.png) no-repeat center right; }
+button.DTTT_button_copy:hover span { background: #f0f0f0 url(../images/copy_hover.png) no-repeat center right; }
 
 button.DTTT_button_pdf span { background: url(../images/pdf.png) no-repeat center right; }
-button.DTTT_button_pdf_hover span { background: #f0f0f0 url(../images/pdf_hover.png) no-repeat center right; }
+button.DTTT_button_pdf:hover span { background: #f0f0f0 url(../images/pdf_hover.png) no-repeat center right; }
 
 button.DTTT_button_print span { background: url(../images/print.png) no-repeat center right; }
-button.DTTT_button_print_hover span { background: #f0f0f0 url(../images/print_hover.png) no-repeat center right; }
+button.DTTT_button_print:hover span { background: #f0f0f0 url(../images/print_hover.png) no-repeat center right; }
 
  */
 
@@ -153,9 +163,8 @@ button.DTTT_button_collection span {
 	background: url(../images/collection.png) no-repeat center right;
 }
 
-button.DTTT_button_collection_hover span {
+button.DTTT_button_collection:hover span {
 	padding-right: 17px;
-	border: 1px solid #999;
 	background: #f0f0f0 url(../images/collection_hover.png) no-repeat center right;
 }
 
@@ -210,11 +219,25 @@ table.dataTable tr.DTTT_selected.even td.sorting_3 {
 
 div.DTTT_collection {
 	width: 150px;
-	padding: 3px;
+	padding: 8px 8px 4px 8px;
 	border: 1px solid #ccc;
+	border: 1px solid rgba( 0, 0, 0, 0.4 );
 	background-color: #f3f3f3;
+	background-color: rgba( 255, 255, 255, 0.3 );
 	overflow: hidden;
 	z-index: 2002;
+
+	-webkit-border-radius: 5px;
+	   -moz-border-radius: 5px;
+	    -ms-border-radius: 5px;
+	     -o-border-radius: 5px;
+	        border-radius: 5px;
+	
+	-webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
+	   -moz-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
+	    -ms-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
+	     -o-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
+	        box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
 }
 
 div.DTTT_collection_background {
@@ -222,11 +245,22 @@ div.DTTT_collection_background {
 	z-index: 2001;
 }
 
-div.DTTT_collection button.DTTT_button {
+div.DTTT_collection button.DTTT_button,
+div.DTTT_collection div.DTTT_button,
+div.DTTT_collection a.DTTT_button {
+	position: relative;
+	left: 0;
+	right: 0;
+
+	display: block;
 	float: none;
-	width: 100%;
-	margin-bottom: 2px;
-	background-color: white;
+	margin-bottom: 4px;
+	
+	-webkit-box-shadow: 1px 1px 3px #999;
+	   -moz-box-shadow: 1px 1px 3px #999;
+	    -ms-box-shadow: 1px 1px 3px #999;
+	     -o-box-shadow: 1px 1px 3px #999;
+	        box-shadow: 1px 1px 3px #999;
 }
 
 
@@ -236,7 +270,7 @@ div.DTTT_collection button.DTTT_button {
  */
 
 .DTTT_print_info {
-	position: absolute;
+	position: fixed;
 	top: 50%;
 	left: 50%;
 	width: 400px;
@@ -244,23 +278,33 @@ div.DTTT_collection button.DTTT_button {
 	margin-left: -200px;
 	margin-top: -75px;
 	text-align: center;
-	background-color: #3f3f3f;
-	color: white;
+	color: #333;
 	padding: 10px 30px;
+
+	background: #ffffff; /* Old browsers */
+	background: -webkit-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Chrome10+,Safari5.1+ */
+	background:    -moz-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* FF3.6+ */
+	background:     -ms-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* IE10+ */
+	background:      -o-linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* Opera 11.10+ */
+	background:         linear-gradient(top, #ffffff 0%,#f3f3f3 89%,#f9f9f9 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
 	
-	opacity: 0.9;
+	opacity: 0.95;
+
+	border: 1px solid black;
+	border: 1px solid rgba(0, 0, 0, 0.5);
 	
-	-webkit-border-radius: 5px;
-	   -moz-border-radius: 5px;
-	    -ms-border-radius: 5px;
-	     -o-border-radius: 5px;
-	        border-radius: 5px;
+	-webkit-border-radius: 6px;
+	   -moz-border-radius: 6px;
+	    -ms-border-radius: 6px;
+	     -o-border-radius: 6px;
+	        border-radius: 6px;
 	
-	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
-	   -moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
-	    -ms-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
-	     -o-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
-	        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+	-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
+	   -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
+	    -ms-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
+	     -o-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
+	        box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
 }
 
 .DTTT_print_info h6 {
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools_JUI.css b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools_JUI.css
index 6a11c8886d5..963405f2d57 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools_JUI.css
+++ b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/css/TableTools_JUI.css
@@ -41,19 +41,19 @@ div.DTTT_container {
 	float: left;
 }
 
-button.DTTT_button {
+.DTTT_button {
 	position: relative;
 	float: left;
-	height: 24px;
 	margin-right: 3px;
 	padding: 3px 10px;
 	border: 1px solid #d0d0d0;
 	background-color: #fff;
+	color: #333 !important;
 	cursor: pointer;
 	*cursor: hand;
 }
 
-button.DTTT_button::-moz-focus-inner { 
+.DTTT_button::-moz-focus-inner { 
 	border: none !important;
 	padding: 0;
 }
@@ -124,7 +124,9 @@ div.DTTT_collection_background {
 	z-index: 2001;
 }
 
-div.DTTT_collection button.DTTT_button {
+div.DTTT_collection button.DTTT_button,
+div.DTTT_collection div.DTTT_button,
+div.DTTT_collection a.DTTT_button {
 	float: none;
 	width: 100%;
 	margin-bottom: -0.1em;
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.js b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.js
index 11c34dd035e..9e0cb0099da 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.js
+++ b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.js
@@ -1,6 +1,6 @@
 /*
  * File:        TableTools.js
- * Version:     2.0.3
+ * Version:     2.1.4
  * Description: Tools and buttons for DataTables
  * Author:      Allan Jardine (www.sprymedia.co.uk)
  * Language:    Javascript
@@ -36,7 +36,7 @@ var TableTools;
 TableTools = function( oDT, oOpts )
 {
 	/* Santiy check that we are a new instance */
-	if ( !this.CLASS || this.CLASS != "TableTools" )
+	if ( ! this instanceof TableTools )
 	{
 		alert( "Warning: TableTools must be initialised with the keyword 'new'" );
 	}
@@ -51,7 +51,7 @@ TableTools = function( oDT, oOpts )
 	 */
 	this.s = {
 		/**
-		 * Store 'this' so the instance can be retreieved from the settings object
+		 * Store 'this' so the instance can be retrieved from the settings object
 		 * @property that
 		 * @type	 object
 		 * @default  this
@@ -62,9 +62,9 @@ TableTools = function( oDT, oOpts )
 		 * DataTables settings objects
 		 * @property dt
 		 * @type	 object
-		 * @default  null
+		 * @default  <i>From the oDT init option</i>
 		 */
-		"dt": null,
+		"dt": oDT.fnSettings(),
 		
 		/**
 		 * @namespace Print specific information
@@ -204,7 +204,13 @@ TableTools = function( oDT, oOpts )
 		 *  @type	 boolean
 		 *  @default  false
 		 */
-		"master": false
+		"master": false,
+		
+		/**
+		 * Tag names that are used for creating collections and buttons
+		 *  @namesapce
+		 */
+		"tags": {}
 	};
 	
 	
@@ -241,7 +247,7 @@ TableTools = function( oDT, oOpts )
 		  "hidden": [],
 			
 			/**
-			 * The information display saying tellng the user about the print display
+			 * The information display saying telling the user about the print display
 			 *  @property message
 			 *  @type	 node
 		 	 *  @default  null
@@ -270,7 +276,16 @@ TableTools = function( oDT, oOpts )
 			"background": null
 		}
 	};
-	
+
+	/**
+	 * @namespace Name space for the classes that this TableTools instance will use
+	 * @extends TableTools.classes
+	 */
+	this.classes = $.extend( true, {}, TableTools.classes );
+	if ( this.s.dt.bJUI )
+	{
+		$.extend( true, this.classes, TableTools.classes_themeroller );
+	}
 	
 	
 	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -293,7 +308,6 @@ TableTools = function( oDT, oOpts )
 		oOpts = {};
 	}
 	
-	this.s.dt = oDT.fnSettings();
 	this._fnConstruct( oOpts );
 	
 	return this;
@@ -308,31 +322,64 @@ TableTools.prototype = {
 	
 	/**
 	 * Retreieve the settings object from an instance
-	 *  @method fnGetSelected
 	 *  @returns {array} List of TR nodes which are currently selected
+	 *  @param {boolean} [filtered=false] Get only selected rows which are  
+	 *    available given the filtering applied to the table. By default
+	 *    this is false -  i.e. all rows, regardless of filtering are 
+	      selected.
 	 */
-	"fnGetSelected": function ()
+	"fnGetSelected": function ( filtered )
 	{
-		var masterS = this._fnGetMasterSettings();
-		return masterS.select.selected;
+		var
+			out = [],
+			data = this.s.dt.aoData,
+			displayed = this.s.dt.aiDisplay,
+			i, iLen;
+
+		if ( filtered )
+		{
+			// Only consider filtered rows
+			for ( i=0, iLen=displayed.length ; i<iLen ; i++ )
+			{
+				if ( data[ displayed[i] ]._DTTT_selected )
+				{
+					out.push( data[ displayed[i] ].nTr );
+				}
+			}
+		}
+		else
+		{
+			// Use all rows
+			for ( i=0, iLen=data.length ; i<iLen ; i++ )
+			{
+				if ( data[i]._DTTT_selected )
+				{
+					out.push( data[i].nTr );
+				}
+			}
+		}
+
+		return out;
 	},
 
 
 	/**
 	 * Get the data source objects/arrays from DataTables for the selected rows (same as
 	 * fnGetSelected followed by fnGetData on each row from the table)
-	 *  @method fnGetSelectedData
 	 *  @returns {array} Data from the TR nodes which are currently selected
 	 */
 	"fnGetSelectedData": function ()
 	{
-		var masterS = this._fnGetMasterSettings();
-		var selected = masterS.select.selected;
 		var out = [];
+		var data=this.s.dt.aoData;
+		var i, iLen;
 
-		for ( var i=0, iLen=selected.length ; i<iLen ; i++ )
+		for ( i=0, iLen=data.length ; i<iLen ; i++ )
 		{
-			out.push( this.s.dt.oInstance.fnGetData( selected[i] ) );
+			if ( data[i]._DTTT_selected )
+			{
+				out.push( this.s.dt.oInstance.fnGetData(i) );
+			}
 		}
 
 		return out;
@@ -341,96 +388,80 @@ TableTools.prototype = {
 	
 	/**
 	 * Check to see if a current row is selected or not
-	 *  @method fnGetSelected
 	 *  @param {Node} n TR node to check if it is currently selected or not
 	 *  @returns {Boolean} true if select, false otherwise
 	 */
 	"fnIsSelected": function ( n )
 	{
-		var selected = this.fnGetSelected();
-		for ( var i=0, iLen=selected.length ; i<iLen ; i++ )
-		{
-			if ( n == selected[i] )
-			{
-				return true;
-			}
-		}
-		return false;
+		var pos = this.s.dt.oInstance.fnGetPosition( n );
+		return (this.s.dt.aoData[pos]._DTTT_selected===true) ? true : false;
 	},
 
 	
 	/**
 	 * Select all rows in the table
-	 *  @method  fnSelectAll
-	 *  @returns void
+	 *  @param {boolean} [filtered=false] Select only rows which are available 
+	 *    given the filtering applied to the table. By default this is false - 
+	 *    i.e. all rows, regardless of filtering are selected.
 	 */
-	"fnSelectAll": function ()
+	"fnSelectAll": function ( filtered )
 	{
-		var masterS = this._fnGetMasterSettings();
-		masterS.that._fnRowSelectAll();
+		var s = this._fnGetMasterSettings();
+		
+		this._fnRowSelect( (filtered === true) ?
+			s.dt.aiDisplay :
+			s.dt.aoData
+		);
 	},
 
 	
 	/**
 	 * Deselect all rows in the table
-	 *  @method  fnSelectNone
-	 *  @returns void
+	 *  @param {boolean} [filtered=false] Deselect only rows which are available 
+	 *    given the filtering applied to the table. By default this is false - 
+	 *    i.e. all rows, regardless of filtering are deselected.
 	 */
-	"fnSelectNone": function ()
+	"fnSelectNone": function ( filtered )
 	{
-		var masterS = this._fnGetMasterSettings();
-		masterS.that._fnRowDeselectAll();
+		var s = this._fnGetMasterSettings();
+
+		this._fnRowDeselect( this.fnGetSelected(filtered) );
 	},
 
 	
 	/**
-	 * Select an individual row
-	 *  @method  fnSelect
-	 *  @returns void
+	 * Select row(s)
+	 *  @param {node|object|array} n The row(s) to select. Can be a single DOM
+	 *    TR node, an array of TR nodes or a jQuery object.
 	 */
 	"fnSelect": function ( n )
 	{
-		/* Check if the row is already selected */
-		if ( !this.fnIsSelected( n ) )
+		if ( this.s.select.type == "single" )
 		{
-			if ( this.s.select.type == "single" )
-			{
-				this._fnRowSelectSingle( n );
-			}
-			else if ( this.s.select.type == "multi" )
-			{
-				this._fnRowSelectMulti( n );
-			}
+			this.fnSelectNone();
+			this._fnRowSelect( n );
+		}
+		else if ( this.s.select.type == "multi" )
+		{
+			this._fnRowSelect( n );
 		}
 	},
 
 	
 	/**
-	 * Deselect an individual row
-	 *  @method  fnDeselect
-	 *  @returns void
+	 * Deselect row(s)
+	 *  @param {node|object|array} n The row(s) to deselect. Can be a single DOM
+	 *    TR node, an array of TR nodes or a jQuery object.
 	 */
 	"fnDeselect": function ( n )
 	{
-		/* Check if the row is already deselected */
-		if ( this.fnIsSelected( n ) )
-		{
-			if ( this.s.select.type == "single" )
-			{
-				this._fnRowSelectSingle( n );
-			}
-			else if ( this.s.select.type == "multi" )
-			{
-				this._fnRowSelectMulti( n );
-			}
-		}
+		this._fnRowDeselect( n );
 	},
 	
 	
 	/**
 	 * Get the title of the document - useful for file names. The title is retrieved from either
 	 * the configuration object's 'title' parameter, or the HTML document title
-	 *  @method  fnGetTitle
 	 *  @param   {Object} oConfig Button configuration object
 	 *  @returns {String} Button title
 	 */
@@ -462,7 +493,6 @@ TableTools.prototype = {
 	 * Calculate a unity array with the column width by proportion for a set of columns to be
 	 * included for a button. This is particularly useful for PDF creation, where we can use the
 	 * column widths calculated by the browser to size the columns in the PDF.
-	 *  @method  fnCalcColRations
 	 *  @param   {Object} oConfig Button configuration object
 	 *  @returns {Array} Unity array of column ratios
 	 */
@@ -495,7 +525,6 @@ TableTools.prototype = {
 	
 	/**
 	 * Get the information contained in a table as a string
-	 *  @method  fnGetTableData
 	 *  @param   {Object} oConfig Button configuration object
 	 *  @returns {String} Table data as a string
 	 */
@@ -511,10 +540,8 @@ TableTools.prototype = {
 	
 	/**
 	 * Pass text to a flash button instance, which will be used on the button's click handler
-	 *  @method  fnSetText
 	 *  @param   {Object} clip Flash button object
 	 *  @param   {String} text Text to set
-	 *  @returns void
 	 */
 	"fnSetText": function ( clip, text )
 	{
@@ -526,8 +553,6 @@ TableTools.prototype = {
 	 * Resize the flash elements of the buttons attached to this TableTools instance - this is
 	 * useful for when initialising TableTools when it is hidden (display:none) since sizes can't
 	 * be calculated at that time.
-	 *  @method  fnResizeButtons
-	 *  @returns void
 	 */
 	"fnResizeButtons": function ()
 	{
@@ -537,7 +562,7 @@ TableTools.prototype = {
 			{
 				var client = ZeroClipboard_TableTools.clients[cli];
 				if ( typeof client.domElement != 'undefined' &&
-					 client.domElement.parentNode == this.dom.container )
+					 client.domElement.parentNode )
 				{
 					client.positionElement();
 				}
@@ -548,8 +573,6 @@ TableTools.prototype = {
 	
 	/**
 	 * Check to see if any of the ZeroClipboard client's attached need to be resized
-	 *  @method  fnResizeRequired
-	 *  @returns void
 	 */
 	"fnResizeRequired": function ()
 	{
@@ -570,6 +593,55 @@ TableTools.prototype = {
 	},
 	
 	
+	/**
+	 * Programmatically enable or disable the print view
+	 *  @param {boolean} [bView=true] Show the print view if true or not given. If false, then
+	 *    terminate the print view and return to normal.
+	 *  @param {object} [oConfig={}] Configuration for the print view
+	 *  @param {boolean} [oConfig.bShowAll=false] Show all rows in the table if true
+	 *  @param {string} [oConfig.sInfo] Information message, displayed as an overlay to the
+	 *    user to let them know what the print view is.
+	 *  @param {string} [oConfig.sMessage] HTML string to show at the top of the document - will
+	 *    be included in the printed document.
+	 */
+	"fnPrint": function ( bView, oConfig )
+	{
+		if ( oConfig === undefined )
+		{
+			oConfig = {};
+		}
+
+		if ( bView === undefined || bView )
+		{
+			this._fnPrintStart( oConfig );
+		}
+		else
+		{
+			this._fnPrintEnd();
+		}
+	},
+	
+	
+	/**
+	 * Show a message to the end user which is nicely styled
+	 *  @param {string} message The HTML string to show to the user
+	 *  @param {int} time The duration the message is to be shown on screen for (mS)
+	 */
+	"fnInfo": function ( message, time ) {
+		var nInfo = document.createElement( "div" );
+		nInfo.className = this.classes.print.info;
+		nInfo.innerHTML = message;
+
+		document.body.appendChild( nInfo );
+		
+		setTimeout( function() {
+			$(nInfo).fadeOut( "normal", function() {
+				document.body.removeChild( nInfo );
+			} );
+		}, time );
+	},
+	
+	
 	
 	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 	 * Private methods (they are of course public in JS, but recommended as private)
@@ -589,9 +661,8 @@ TableTools.prototype = {
 		this._fnCustomiseSettings( oOpts );
 		
 		/* Container element */
-		this.dom.container = document.createElement('div');
-		this.dom.container.className = !this.s.dt.bJUI ? "DTTT_container" :
-			"DTTT_container ui-buttonset ui-buttonset-multi";
+		this.dom.container = document.createElement( this.s.tags.container );
+		this.dom.container.className = this.classes.container;
 		
 		/* Row selection config */
 		if ( this.s.select.type != 'none' )
@@ -646,8 +717,15 @@ TableTools.prototype = {
 		this.s.select.preRowSelect = this.s.custom.fnPreRowSelect;
 		this.s.select.postSelected = this.s.custom.fnRowSelected;
 		this.s.select.postDeselected = this.s.custom.fnRowDeselected;
-		this.s.select.selectedClass = this.s.custom.sSelectedClass;
-		
+
+		// Backwards compatibility - allow the user to specify a custom class in the initialiser
+		if ( this.s.custom.sSelectedClass )
+		{
+			this.classes.select.row = this.s.custom.sSelectedClass;
+		}
+
+		this.s.tags = this.s.custom.oTags;
+
 		/* Button set */
 		this.s.buttonSet = this.s.custom.aButtons;
 	},
@@ -688,17 +766,10 @@ TableTools.prototype = {
 				buttonDef = $.extend( o, buttonSet[i], true );
 			}
 			
-			if ( this.s.dt.bJUI )
-			{
-				buttonDef.sButtonClass += " ui-button ui-state-default";
-				buttonDef.sButtonClassHover += " ui-state-hover";
-			}
-			else
-			{
-				buttonDef.sButtonClassHover += " DTTT_button_hover";
-			}
-			
-			wrapper.appendChild( this._fnCreateButton( buttonDef ) );
+			wrapper.appendChild( this._fnCreateButton( 
+				buttonDef, 
+				$(wrapper).hasClass(this.classes.collection.container)
+			) );
 		}
 	},
 	
@@ -710,16 +781,11 @@ TableTools.prototype = {
 	 *  @returns {Node} Button element
 	 *  @private 
 	 */
-	"_fnCreateButton": function ( oConfig )
+	"_fnCreateButton": function ( oConfig, bCollectionButton )
 	{
-	  var nButton = (oConfig.sAction == 'div') ?
-	  	this._fnDivBase( oConfig ) : this._fnButtonBase( oConfig );
+	  var nButton = this._fnButtonBase( oConfig, bCollectionButton );
 		
-		if ( oConfig.sAction == "print" )
-		{
-			this._fnPrintConfig( nButton, oConfig );
-		}
-		else if ( oConfig.sAction.match(/flash/) )
+		if ( oConfig.sAction.match(/flash/) )
 		{
 			this._fnFlashConfig( nButton, oConfig );
 		}
@@ -748,14 +814,29 @@ TableTools.prototype = {
 	 *  @returns {Node} DIV element for the button
 	 *  @private 
 	 */
-	"_fnButtonBase": function ( o )
+	"_fnButtonBase": function ( o, bCollectionButton )
 	{
+		var sTag, sLiner, sClass;
+
+		if ( bCollectionButton )
+		{
+			sTag = o.sTag !== "default" ? o.sTag : this.s.tags.collection.button;
+			sLiner = o.sLinerTag !== "default" ? o.sLiner : this.s.tags.collection.liner;
+			sClass = this.classes.collection.buttons.normal;
+		}
+		else
+		{
+			sTag = o.sTag !== "default" ? o.sTag : this.s.tags.button;
+			sLiner = o.sLinerTag !== "default" ? o.sLiner : this.s.tags.liner;
+			sClass = this.classes.buttons.normal;
+		}
+
 		var
-		  nButton = document.createElement('button'),
-		  nSpan = document.createElement('span'),
-			masterS = this._fnGetMasterSettings();
+		  nButton = document.createElement( sTag ),
+		  nSpan = document.createElement( sLiner ),
+		  masterS = this._fnGetMasterSettings();
 		
-		nButton.className = "DTTT_button "+o.sButtonClass;
+		nButton.className = sClass+" "+o.sButtonClass;
 		nButton.setAttribute('id', "ToolTables_"+this.s.dt.sInstance+"_"+masterS.buttonCounter );
 		nButton.appendChild( nSpan );
 		nSpan.innerHTML = o.sButtonText;
@@ -766,34 +847,6 @@ TableTools.prototype = {
 	},
 	
 	
-	/**
-	 * Create a DIV element to use for a non-button
-	 *  @method  _fnDivBase
-	 *  @param   {o} oConfig Button configuration object
-	 *  @returns {Node} DIV element for the button
-	 *  @private 
-	 */
-	"_fnDivBase": function ( o )
-	{
-		var
-		  nDiv = document.createElement('div'),
-			masterS = this._fnGetMasterSettings();
-		
-		nDiv.className = o.sButtonClass;
-		nDiv.setAttribute('id', "ToolTables_"+this.s.dt.sInstance+"_"+masterS.buttonCounter );
-		nDiv.innerHTML = o.sButtonText;
-
-		if ( o.nContent !== null )
-		{
-			nDiv.appendChild( o.nContent );
-		}
-		
-		masterS.buttonCounter++;
-		
-		return nDiv;
-	},
-	
-	
 	/**
 	 * Get the settings object for the master instance. When more than one TableTools instance is
 	 * assigned to a DataTable, only one of them can be the 'master' (for the select rows). As such,
@@ -829,7 +882,7 @@ TableTools.prototype = {
 	 */
 	
 	/**
-	 * Create a collection button, when activated will present a drop downlist of other buttons
+	 * Create a collection button, when activated will present a drop down list of other buttons
 	 *  @param   {Node} nButton Button to use for the collection activation
 	 *  @param   {Object} oConfig Button configuration object
 	 *  @returns void
@@ -837,10 +890,9 @@ TableTools.prototype = {
 	 */
 	"_fnCollectionConfig": function ( nButton, oConfig )
 	{
-		var nHidden = document.createElement('div');
+		var nHidden = document.createElement( this.s.tags.collection.container );
 		nHidden.style.display = "none";
-		nHidden.className = !this.s.dt.bJUI ? "DTTT_collection" :
-			"DTTT_collection ui-buttonset ui-buttonset-multi";
+		nHidden.className = this.classes.collection.container;
 		oConfig._collection = nHidden;
 		document.body.appendChild( nHidden );
 		
@@ -878,7 +930,7 @@ TableTools.prototype = {
 		nBackground.style.top = "0px";
 		nBackground.style.height = ((iWinHeight>iDocHeight)? iWinHeight : iDocHeight) +"px";
 		nBackground.style.width = ((iWinWidth>iDocWidth)? iWinWidth : iDocWidth) +"px";
-		nBackground.className = "DTTT_collection_background";
+		nBackground.className = this.classes.collection.background;
 		$(nBackground).css('opacity',0);
 		
 		document.body.appendChild( nBackground );
@@ -908,6 +960,9 @@ TableTools.prototype = {
 			$(nHidden).animate({"opacity": 1}, 500);
 			$(nBackground).animate({"opacity": 0.25}, 500);
 		}, 10 );
+
+		/* Resize the buttons to the Flash contents fit */
+		this.fnResizeButtons();
 		
 		/* Event handler to remove the collection display */
 		$(nBackground).click( function () {
@@ -964,229 +1019,197 @@ TableTools.prototype = {
 			var
 				that = this, 
 				i, iLen, 
+				dt = this.s.dt,
 				aoOpenRows = this.s.dt.aoOpenRows;
 			
-			$(that.s.dt.nTable).addClass( 'DTTT_selectable' );
+			$(dt.nTable).addClass( this.classes.select.table );
 			
-			$('tr', that.s.dt.nTBody).live( 'click', function(e) {
+			$('tr', dt.nTBody).live( 'click', function(e) {
 				/* Sub-table must be ignored (odd that the selector won't do this with >) */
-				if ( this.parentNode != that.s.dt.nTBody )
+				if ( this.parentNode != dt.nTBody )
 				{
 					return;
 				}
 				
 				/* Check that we are actually working with a DataTables controlled row */
-				var anTableRows = that.s.dt.oInstance.fnGetNodes();
-				if ( $.inArray( this, anTableRows ) === -1 ) {
+				if ( dt.oInstance.fnGetData(this) === null )
+				{
 				    return;
 				}
-				
-				/* User defined selection function */
-				if ( that.s.select.preRowSelect !== null && !that.s.select.preRowSelect.call(that, e) )
+
+				if ( that.fnIsSelected( this ) )
 				{
-					return;
+					that._fnRowDeselect( this, e );
 				}
-				
-				/* And go */
-				if ( that.s.select.type == "single" )
+				else if ( that.s.select.type == "single" )
 				{
-					that._fnRowSelectSingle.call( that, this );
+					that.fnSelectNone();
+					that._fnRowSelect( this, e );
 				}
-				else
+				else if ( that.s.select.type == "multi" )
 				{
-					that._fnRowSelectMulti.call( that, this );
+					that._fnRowSelect( this, e );
 				}
 			} );
-			
-			/* Add a draw callback handler for when 'select' all is active and we are using server-side
-			 * processing, so TableTools will automatically select the new rows for us
-			 */
-			that.s.dt.aoDrawCallback.push( {
-				"fn": function () {
-					if ( that.s.select.all && that.s.dt.oFeatures.bServerSide )
-					{
-						that.fnSelectAll();
-					}
-				},
-				"sName": "TableTools_select"
-			} );
+
+			// Bind a listener to the DataTable for when new rows are created.
+			// This allows rows to be visually selected when they should be and
+			// deferred rendering is used.
+			dt.oApi._fnCallbackReg( dt, 'aoRowCreatedCallback', function (tr, data, index) {
+				if ( dt.aoData[index]._DTTT_selected ) {
+					$(tr).addClass( that.classes.select.row );
+				}
+			}, 'TableTools-SelectAll' );
 		}
 	},
-	
-	
+
 	/**
-	 * Select or deselect a row based on its current state when only one row is allowed to be
-	 * selected at a time (i.e. if there is a row already selected, deselect it). If the selected
-	 * row is the one being passed in, just deselect and take no further action.
-	 *  @method  _fnRowSelectSingle
-	 *  @param   {Node} nNode TR element which is being 'activated' in some way
-	 *  @returns void
+	 * Select rows
+	 *  @param   {*} src Rows to select - see _fnSelectData for a description of valid inputs
 	 *  @private 
 	 */
-	"_fnRowSelectSingle": function ( nNode )
+	"_fnRowSelect": function ( src, e )
 	{
-		if ( this.s.master )
+		var
+			that = this,
+			data = this._fnSelectData( src ),
+			firstTr = data.length===0 ? null : data[0].nTr,
+			anSelected = [],
+			i, len;
+
+		// Get all the rows that will be selected
+		for ( i=0, len=data.length ; i<len ; i++ )
 		{
-			/* Do nothing on the DataTables 'empty' result set row */
-			if ( $('td', nNode).hasClass(this.s.dt.oClasses.sRowEmpty) )
-			{
-				return;
-			}
-			
-			if ( $(nNode).hasClass(this.s.select.selectedClass) )
-			{
-				this._fnRowDeselect( nNode );
-			}
-			else
+			if ( data[i].nTr )
 			{
-				if ( this.s.select.selected.length !== 0 )
-				{
-					this._fnRowDeselectAll();
-				}
-				
-				this.s.select.selected.push( nNode );
-				$(nNode).addClass( this.s.select.selectedClass );
-				
-				if ( this.s.select.postSelected !== null )
-				{
-					this.s.select.postSelected.call( this, nNode );
-				}
+				anSelected.push( data[i].nTr );
 			}
-			
-			TableTools._fnEventDispatch( this, 'select', nNode );
 		}
-	},
-	
-	
-	/**
-	 * Select or deselect a row based on its current state when multiple rows are allowed to be
-	 * selected.
-	 *  @method  _fnRowSelectMulti
-	 *  @param   {Node} nNode TR element which is being 'activated' in some way
-	 *  @returns void
-	 *  @private 
-	 */
-	"_fnRowSelectMulti": function ( nNode )
-	{
-		if ( this.s.master )
+		
+		// User defined pre-selection function
+		if ( this.s.select.preRowSelect !== null && !this.s.select.preRowSelect.call(this, e, anSelected, true) )
 		{
-			/* Do nothing on the DataTables 'empty' result set row */
-			if ( $('td', nNode).hasClass(this.s.dt.oClasses.sRowEmpty) )
-			{
-				return;
-			}
-			
-			if ( $(nNode).hasClass(this.s.select.selectedClass) )
-			{
-				this._fnRowDeselect( nNode );
-			}
-			else
-			{
-				this.s.select.selected.push( nNode );
-				$(nNode).addClass( this.s.select.selectedClass );
-				
-				if ( this.s.select.postSelected !== null )
-				{
-					this.s.select.postSelected.call( this, nNode );
-				}
-			}
-			
-			TableTools._fnEventDispatch( this, 'select', nNode );
+			return;
 		}
-	},
-	
-	
-	/**
-	 * Select all TR elements in the table. Note that this function will still operate in 'single'
-	 * select mode, which might not be what you desire (in which case, don't call this function!)
-	 *  @method  _fnRowSelectAll
-	 *  @returns void
-	 *  @private 
-	 */
-	"_fnRowSelectAll": function ( )
-	{
-		if ( this.s.master )
+
+		// Mark them as selected
+		for ( i=0, len=data.length ; i<len ; i++ )
 		{
-			var n;
-			for ( var i=0, iLen=this.s.dt.aiDisplayMaster.length ; i<iLen ; i++ )
-			{
-				n = this.s.dt.aoData[ this.s.dt.aiDisplayMaster[i] ].nTr;
-				
-				if ( !$(n).hasClass(this.s.select.selectedClass) )
-				{
-					this.s.select.selected.push( n );
-					$(n).addClass( this.s.select.selectedClass );
-				}
-			}
+			data[i]._DTTT_selected = true;
 
-			if ( this.s.select.postSelected !== null )
+			if ( data[i].nTr )
 			{
-				this.s.select.postSelected.call( this, null );
+				$(data[i].nTr).addClass( that.classes.select.row );
 			}
-			
-			this.s.select.all = true;
-			TableTools._fnEventDispatch( this, 'select', null );
 		}
+
+		// Post-selection function
+		if ( this.s.select.postSelected !== null )
+		{
+			this.s.select.postSelected.call( this, anSelected );
+		}
+
+		TableTools._fnEventDispatch( this, 'select', anSelected, true );
 	},
-	
-	
+
 	/**
-	 * Deselect all TR elements in the table. If nothing is currently selected, then no action is
-	 * taken.
-	 *  @method  _fnRowDeselectAll
-	 *  @returns void
+	 * Deselect rows
+	 *  @param   {*} src Rows to deselect - see _fnSelectData for a description of valid inputs
 	 *  @private 
 	 */
-	"_fnRowDeselectAll": function ( )
+	"_fnRowDeselect": function ( src, e )
 	{
-		if ( this.s.master )
+		var
+			that = this,
+			data = this._fnSelectData( src ),
+			firstTr = data.length===0 ? null : data[0].nTr,
+			anDeselectedTrs = [],
+			i, len;
+
+		// Get all the rows that will be deselected
+		for ( i=0, len=data.length ; i<len ; i++ )
 		{
-			for ( var i=this.s.select.selected.length-1 ; i>=0 ; i-- )
+			if ( data[i].nTr )
 			{
-				this._fnRowDeselect( i, false );
+				anDeselectedTrs.push( data[i].nTr );
 			}
+		}
+
+		// User defined pre-selection function
+		if ( this.s.select.preRowSelect !== null && !this.s.select.preRowSelect.call(this, e, anDeselectedTrs, false) )
+		{
+			return;
+		}
+
+		// Mark them as deselected
+		for ( i=0, len=data.length ; i<len ; i++ )
+		{
+			data[i]._DTTT_selected = false;
 
-			if ( this.s.select.postDeselected !== null )
+			if ( data[i].nTr )
 			{
-				this.s.select.postDeselected.call( this, null );
+				$(data[i].nTr).removeClass( that.classes.select.row );
 			}
-			
-			this.s.select.all = false;
-			TableTools._fnEventDispatch( this, 'select', null );
 		}
+
+		// Post-deselection function
+		if ( this.s.select.postDeselected !== null )
+		{
+			this.s.select.postDeselected.call( this, anDeselectedTrs );
+		}
+
+		TableTools._fnEventDispatch( this, 'select', anDeselectedTrs, false );
 	},
 	
-	
 	/**
-	 * Deselect a single row, based on its index in the selected array, or a TR node (when the
-	 * index is then computed)
-	 *  @method  _fnRowDeselect
-	 *  @param   {int|Node} i Node or index of node in selected array, which is to be deselected
-	 *  @param   {bool} [action=true] Run the post deselected method or not
-	 *  @returns void
-	 *  @private 
+	 * Take a data source for row selection and convert it into aoData points for the DT
+	 *   @param {*} src Can be a single DOM TR node, an array of TR nodes (including a
+	 *     a jQuery object), a single aoData point from DataTables, an array of aoData
+	 *     points or an array of aoData indexes
+	 *   @returns {array} An array of aoData points
 	 */
-	"_fnRowDeselect": function ( i, action )
+	"_fnSelectData": function ( src )
 	{
-		if ( typeof i.nodeName != 'undefined' )
+		var out = [], pos, i, iLen;
+
+		if ( src.nodeName )
 		{
-			i = $.inArray( i, this.s.select.selected );
+			// Single node
+			pos = this.s.dt.oInstance.fnGetPosition( src );
+			out.push( this.s.dt.aoData[pos] );
 		}
-		
-		var nNode = this.s.select.selected[i];
-		$(nNode).removeClass(this.s.select.selectedClass);
-		this.s.select.selected.splice( i, 1 );
-		
-		if ( (typeof action == 'undefined' || action) && this.s.select.postDeselected !== null )
+		else if ( typeof src.length !== 'undefined' )
+		{
+			// jQuery object or an array of nodes, or aoData points
+			for ( i=0, iLen=src.length ; i<iLen ; i++ )
+			{
+				if ( src[i].nodeName )
+				{
+					pos = this.s.dt.oInstance.fnGetPosition( src[i] );
+					out.push( this.s.dt.aoData[pos] );
+				}
+				else if ( typeof src[i] === 'number' )
+				{
+					out.push( this.s.dt.aoData[ src[i] ] );
+				}
+				else
+				{
+					out.push( src[i] );
+				}
+			}
+
+			return out;
+		}
+		else
 		{
-			this.s.select.postDeselected.call( this, nNode );
+			// A single aoData point
+			out.push( src );
 		}
-		
-		this.s.select.all = false;
+
+		return out;
 	},
 	
 	
-	
 	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 	 * Text button functions
 	 */
@@ -1214,13 +1237,11 @@ TableTools.prototype = {
 		}
 		
 		$(nButton).hover( function () {
-			$(nButton).addClass(oConfig.sButtonClassHover );
 			if ( oConfig.fnMouseover !== null )
 			{
 				oConfig.fnMouseover.call( this, nButton, oConfig, null );
 			}
 		}, function () {
-			$(nButton).removeClass( oConfig.sButtonClassHover );
 			if ( oConfig.fnMouseout !== null )
 			{
 				oConfig.fnMouseout.call( this, nButton, oConfig, null );
@@ -1235,7 +1256,7 @@ TableTools.prototype = {
 		}
 		
 		$(nButton).click( function (e) {
-			e.preventDefault();
+			//e.preventDefault();
 			
 			if ( oConfig.fnClick !== null )
 			{
@@ -1296,8 +1317,6 @@ TableTools.prototype = {
 		}
 		
 		flash.addEventListener('mouseOver', function(client) {
-			$(nButton).addClass(oConfig.sButtonClassHover );
-			
 			if ( oConfig.fnMouseover !== null )
 			{
 				oConfig.fnMouseover.call( that, nButton, oConfig, flash );
@@ -1305,8 +1324,6 @@ TableTools.prototype = {
 		} );
 		
 		flash.addEventListener('mouseOut', function(client) {
-			$(nButton).removeClass( oConfig.sButtonClassHover );
-			
 			if ( oConfig.fnMouseout !== null )
 			{
 				oConfig.fnMouseout.call( that, nButton, oConfig, flash );
@@ -1350,16 +1367,6 @@ TableTools.prototype = {
 		if ( document.getElementById(id) )
 		{
 			flash.glue( node, text );
-			
-			/* Catch those who are using a TableTools 1 version of ZeroClipboard */
-			if ( flash.domElement.parentNode != flash.div.parentNode && 
-				   typeof that.__bZCWarning == 'undefined' )
-			{
-				that.s.dt.oApi._fnLog( this.s.dt, 0, "It looks like you are using the version of "+
-					"ZeroClipboard which came with TableTools 1. Please update to use the version that "+
-					"came with TableTools 2." );
-				that.__bZCWarning = true;
-			}
 		}
 		else
 		{
@@ -1374,9 +1381,9 @@ TableTools.prototype = {
 	 * Set the text for the flash clip to deal with
 	 * 
 	 * This function is required for large information sets. There is a limit on the 
-	 * amount of data that can be transfered between Javascript and Flash in a single call, so
+	 * amount of data that can be transferred between Javascript and Flash in a single call, so
 	 * we use this method to build up the text in Flash by sending over chunks. It is estimated
-	 * that the data limit is around 64k, although it is undocuments, and appears to be different
+	 * that the data limit is around 64k, although it is undocumented, and appears to be different
 	 * between different flash versions. We chunk at 8KiB.
 	 *  @method  _fnFlashSetText
 	 *  @param   {Object} clip the ZeroClipboard object
@@ -1405,7 +1412,7 @@ TableTools.prototype = {
 	 * Convert the mixed columns variable into a boolean array the same size as the columns, which
 	 * indicates which columns we want to include
 	 *  @method  _fnColumnTargets
-	 *  @param   {String|Array} mColumns The columns to be included in data retreieval. If a string
+	 *  @param   {String|Array} mColumns The columns to be included in data retrieval. If a string
 	 *			 then it can take the value of "visible" or "hidden" (to include all visible or
 	 *			 hidden columns respectively). Or an array of column indexes
 	 *  @returns {Array} A boolean array the length of the columns of the table, which each value
@@ -1486,20 +1493,20 @@ TableTools.prototype = {
 	 *  @method  _fnGetDataTablesData
 	 *  @param   {Object} oConfig Button configuration object
 	 *  @param   {String} oConfig.sFieldBoundary Field boundary for the data cells in the string
-	 *  @param   {String} oConfig.sFieldSeperator Field seperator for the data cells
+	 *  @param   {String} oConfig.sFieldSeperator Field separator for the data cells
 	 *  @param   {String} oConfig.sNewline New line options
 	 *  @param   {Mixed} oConfig.mColumns Which columns should be included in the output
 	 *  @param   {Boolean} oConfig.bHeader Include the header
 	 *  @param   {Boolean} oConfig.bFooter Include the footer
 	 *  @param   {Boolean} oConfig.bSelectedOnly Include only the selected rows in the output
-	 *  @returns {String} Concatinated string of data
+	 *  @returns {String} Concatenated string of data
 	 *  @private 
 	 */
 	"_fnGetDataTablesData": function ( oConfig )
 	{
 		var i, iLen, j, jLen;
-		var aRow, aData=[], sLoopData='';
-		var dt = this.s.dt;
+		var aRow, aData=[], sLoopData='', arr;
+		var dt = this.s.dt, tr, child;
 		var regex = new RegExp(oConfig.sFieldBoundary, "g"); /* Do it here for speed */
 		var aColumnsInc = this._fnColumnTargets( oConfig.mColumns );
 		var bSelectedOnly = (typeof oConfig.bSelectedOnly != 'undefined') ? oConfig.bSelectedOnly : false;
@@ -1528,49 +1535,68 @@ TableTools.prototype = {
 		/*
 		 * Body
 		 */
-		for ( j=0, jLen=dt.aiDisplay.length ; j<jLen ; j++ )
+		var aDataIndex = dt.aiDisplay;
+		var aSelected = this.fnGetSelected();
+		if ( this.s.select.type !== "none" && bSelectedOnly && aSelected.length !== 0 )
 		{
-			if ( this.s.select.type == "none" || !bSelectedOnly ||
-				   (bSelectedOnly && $(dt.aoData[ dt.aiDisplay[j] ].nTr).hasClass( this.s.select.selectedClass )) ||
-			     (bSelectedOnly && this.s.select.selected.length == 0) )
+			aDataIndex = [];
+			for ( i=0, iLen=aSelected.length ; i<iLen ; i++ )
 			{
-				aRow = [];
-				
-				/* Columns */
-				for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+				aDataIndex.push( dt.oInstance.fnGetPosition( aSelected[i] ) );
+			}
+		}
+		
+		for ( j=0, jLen=aDataIndex.length ; j<jLen ; j++ )
+		{
+			tr = dt.aoData[ aDataIndex[j] ].nTr;
+			aRow = [];
+			
+			/* Columns */
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				if ( aColumnsInc[i] )
 				{
-					if ( aColumnsInc[i] )
+					/* Convert to strings (with small optimisation) */
+					var mTypeData = dt.oApi._fnGetCellData( dt, aDataIndex[j], i, 'display' );
+					if ( oConfig.fnCellRender )
+					{
+						sLoopData = oConfig.fnCellRender( mTypeData, i, tr, aDataIndex[j] )+"";
+					}
+					else if ( typeof mTypeData == "string" )
 					{
-						/* Convert to strings (with small optimisation) */
-						var mTypeData = dt.oApi._fnGetCellData( dt, dt.aiDisplay[j], i, 'display' );
-						if ( oConfig.fnCellRender )
-						{
-							sLoopData = oConfig.fnCellRender( mTypeData, i )+"";
-						}
-						else if ( typeof mTypeData == "string" )
-						{
-							/* Strip newlines, replace img tags with alt attr. and finally strip html... */
-							sLoopData = mTypeData.replace(/\n/g," ");
-							sLoopData =
-							 	sLoopData.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,
-							 		'$1$2$3');
-							sLoopData = sLoopData.replace( /<.*?>/g, "" );
-						}
-						else
-						{
-							sLoopData = mTypeData+"";
-						}
-						
-						/* Trim and clean the data */
-						sLoopData = sLoopData.replace(/^\s+/, '').replace(/\s+$/, '');
-						sLoopData = this._fnHtmlDecode( sLoopData );
-						
-						/* Bound it and add it to the total data */
-						aRow.push( this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) );
+						/* Strip newlines, replace img tags with alt attr. and finally strip html... */
+						sLoopData = mTypeData.replace(/\n/g," ");
+						sLoopData =
+						 	sLoopData.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,
+						 		'$1$2$3');
+						sLoopData = sLoopData.replace( /<.*?>/g, "" );
 					}
+					else
+					{
+						sLoopData = mTypeData+"";
+					}
+					
+					/* Trim and clean the data */
+					sLoopData = sLoopData.replace(/^\s+/, '').replace(/\s+$/, '');
+					sLoopData = this._fnHtmlDecode( sLoopData );
+					
+					/* Bound it and add it to the total data */
+					aRow.push( this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) );
+				}
+			}
+      
+			aData.push( aRow.join(oConfig.sFieldSeperator) );
+      
+			/* Details rows from fnOpen */
+			if ( oConfig.bOpenRows )
+			{
+				arr = $.grep(dt.aoOpenRows, function(o) { return o.nParent === tr; });
+				
+				if ( arr.length === 1 )
+				{
+					sLoopData = this._fnBoundData( $('td', arr[0].nTr).html(), oConfig.sFieldBoundary, regex );
+					aData.push( sLoopData );
 				}
-
-				aData.push( aRow.join(oConfig.sFieldSeperator) );
 			}
 		}
 		
@@ -1605,7 +1631,7 @@ TableTools.prototype = {
 	 *  @method  _fnBoundData
 	 *  @param   {String} sData data to bound
 	 *  @param   {String} sBoundary bounding char(s)
-	 *  @param   {RegExp} regex search for the bounding chars - constructed outside for efficincy
+	 *  @param   {RegExp} regex search for the bounding chars - constructed outside for efficiency
 	 *			 in the loop
 	 *  @returns {String} bound data
 	 *  @private 
@@ -1661,36 +1687,24 @@ TableTools.prototype = {
 	 */
 	"_fnHtmlDecode": function ( sData )
 	{
-		if ( sData.indexOf('&') == -1 )
+		if ( sData.indexOf('&') === -1 )
 		{
 			return sData;
 		}
 		
-		var 
-			aData = this._fnChunkData( sData, 2048 ),
-			n = document.createElement('div'),
-			i, iLen, iIndex,
-			sReturn = "", sInner;
-		
-		/* nodeValue has a limit in browsers - so we chunk the data into smaller segments to build
-		 * up the string. Note that the 'trick' here is to remember than we might have split over
-		 * an HTML entity, so we backtrack a little to make sure this doesn't happen
-		 */
-		for ( i=0, iLen=aData.length ; i<iLen ; i++ )
-		{
-			/* Magic number 8 is because no entity is longer then strlen 8 in ISO 8859-1 */
-			iIndex = aData[i].lastIndexOf( '&' );
-			if ( iIndex != -1 && aData[i].length >= 8 && iIndex > aData[i].length - 8 )
+		var n = document.createElement('div');
+
+		return sData.replace( /&([^\s]*);/g, function( match, match2 ) {
+			if ( match.substr(1, 1) === '#' )
 			{
-				sInner = aData[i].substr( iIndex );
-				aData[i] = aData[i].substr( 0, iIndex );
+				return String.fromCharCode( Number(match2.substr(1)) );
 			}
-			
-			n.innerHTML = aData[i];
-			sReturn += n.childNodes[0].nodeValue;
-		}
-		
-		return sReturn;
+			else
+			{
+				n.innerHTML = match;
+				return n.childNodes[0].nodeValue;
+			}
+		} );
 	},
 	
 	
@@ -1699,61 +1713,6 @@ TableTools.prototype = {
 	 * Printing functions
 	 */
 	
-	/**
-	 * Configure a button for printing
-	 *  @method  _fnPrintConfig
-	 *  @param   {Node} nButton Button element which is being considered
-	 *  @param   {Object} oConfig Button configuration object
-	 *  @returns void
-	 *  @private 
-	 */
-	"_fnPrintConfig": function ( nButton, oConfig )
-	{
-	  var that = this;
-
-		if ( oConfig.fnInit !== null )
-		{
-			oConfig.fnInit.call( this, nButton, oConfig );
-		}
-		
-		if ( oConfig.sToolTip !== "" )
-		{
-			nButton.title = oConfig.sToolTip;
-		}
-
-	  $(nButton).hover( function () {
-			$(nButton).addClass(oConfig.sButtonClassHover );
-		}, function () {
-			$(nButton).removeClass( oConfig.sButtonClassHover );
-		} );
-		
-		if ( oConfig.fnSelect !== null )
-		{
-			TableTools._fnEventListen( this, 'select', function (n) {
-				oConfig.fnSelect.call( that, nButton, oConfig, n );
-			} );
-		}
-		
-		$(nButton).click( function (e) {
-			e.preventDefault();
-			
-			that._fnPrintStart.call( that, e, oConfig);
-			
-			if ( oConfig.fnClick !== null )
-			{
-				oConfig.fnClick.call( that, nButton, oConfig, null );
-			}
-			
-			/* Provide a complete function to match the behaviour of the flash elements */
-			if ( oConfig.fnComplete !== null )
-			{
-				oConfig.fnComplete.call( that, nButton, oConfig, null, null );
-			}
-			
-			that._fnCollectionHide( nButton, oConfig );
-		} );
-	},
-	
 	/**
 	 * Show print display
 	 *  @method  _fnPrintStart
@@ -1762,7 +1721,7 @@ TableTools.prototype = {
 	 *  @returns void
 	 *  @private 
 	 */
-	"_fnPrintStart": function ( e, oConfig )
+	"_fnPrintStart": function ( oConfig )
 	{
 	  var that = this;
 	  var oSetDT = this.s.dt;
@@ -1786,6 +1745,12 @@ TableTools.prototype = {
 		if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
 		{
 			this._fnPrintScrollStart( oSetDT );
+
+			// If the table redraws while in print view, the DataTables scrolling
+			// setup would hide the header, so we need to readd it on draw
+			$(this.s.dt.nTable).bind('draw.DTTT_Print', function () {
+				that._fnPrintScrollStart( oSetDT );
+			} );
 		}
 		
 		/* Remove the other DataTables feature nodes - but leave the table! and info div */
@@ -1806,40 +1771,38 @@ TableTools.prototype = {
 		}
 		
 		/* Print class can be used for styling */
-		$(document.body).addClass( 'DTTT_Print' );
-	
-		/* Add a node telling the user what is going on */
+		$(document.body).addClass( this.classes.print.body );
+
+		/* Show information message to let the user know what is happening */
 		if ( oConfig.sInfo !== "" )
 		{
-		  var nInfo = document.createElement( "div" );
-		  nInfo.className = "DTTT_print_info";
-		  nInfo.innerHTML = oConfig.sInfo;
-		  document.body.appendChild( nInfo );
-		  
-		  setTimeout( function() {
-		  	$(nInfo).fadeOut( "normal", function() {
-		  		document.body.removeChild( nInfo );
-		  	} );
-		  }, 2000 );
+			this.fnInfo( oConfig.sInfo, 3000 );
 		}
-		
+
 		/* Add a message at the top of the page */
-		if ( oConfig.sMessage !== "" )
+		if ( oConfig.sMessage )
 		{
 			this.dom.print.message = document.createElement( "div" );
-			this.dom.print.message.className = "DTTT_PrintMessage";
+			this.dom.print.message.className = this.classes.print.message;
 			this.dom.print.message.innerHTML = oConfig.sMessage;
 			document.body.insertBefore( this.dom.print.message, document.body.childNodes[0] );
 		}
 		
-		/* Cache the scrolling and the jump to the top of the t=page */
+		/* Cache the scrolling and the jump to the top of the page */
 		this.s.print.saveScroll = $(window).scrollTop();
 		window.scrollTo( 0, 0 );
-		
-		this.s.print.funcEnd = function(e) {
-			that._fnPrintEnd.call( that, e ); 
-		};
-		$(document).bind( "keydown", null, this.s.print.funcEnd );
+
+		/* Bind a key event listener to the document for the escape key -
+		 * it is removed in the callback
+		 */
+		$(document).bind( "keydown.DTTT", function(e) {
+			/* Only interested in the escape key */
+			if ( e.keyCode == 27 )
+			{
+				e.preventDefault();
+				that._fnPrintEnd.call( that, e );
+			}
+		} );
 	},
 	
 	
@@ -1852,47 +1815,42 @@ TableTools.prototype = {
 	 */
 	"_fnPrintEnd": function ( e )
 	{
-		/* Only interested in the escape key */
-		if ( e.keyCode == 27 )
+		var that = this;
+		var oSetDT = this.s.dt;
+		var oSetPrint = this.s.print;
+		var oDomPrint = this.dom.print;
+		
+		/* Show all hidden nodes */
+		this._fnPrintShowNodes();
+		
+		/* Restore DataTables' scrolling */
+		if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
 		{
-			e.preventDefault();
-			
-			var that = this;
-			var oSetDT = this.s.dt;
-			var oSetPrint = this.s.print;
-			var oDomPrint = this.dom.print;
-			
-			/* Show all hidden nodes */
-			this._fnPrintShowNodes();
-			
-			/* Restore DataTables' scrolling */
-			if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
-			{
-				this._fnPrintScrollEnd();
-			}
-			
-			/* Restore the scroll */
-			window.scrollTo( 0, oSetPrint.saveScroll );
-			
-			/* Drop the print message */
-			if ( oDomPrint.message !== null )
-			{
-				document.body.removeChild( oDomPrint.message );
-				oDomPrint.message = null;
-			}
-			
-			/* Styling class */
-			$(document.body).removeClass( 'DTTT_Print' );
-			
-			/* Restore the table length */
-			oSetDT._iDisplayStart = oSetPrint.saveStart;
-			oSetDT._iDisplayLength = oSetPrint.saveLength;
-			oSetDT.oApi._fnCalculateEnd( oSetDT );
-			oSetDT.oApi._fnDraw( oSetDT );
-			
-			$(document).unbind( "keydown", this.s.print.funcEnd );
-			this.s.print.funcEnd = null;
+			$(this.s.dt.nTable).unbind('draw.DTTT_Print');
+
+			this._fnPrintScrollEnd();
+		}
+		
+		/* Restore the scroll */
+		window.scrollTo( 0, oSetPrint.saveScroll );
+		
+		/* Drop the print message */
+		if ( oDomPrint.message !== null )
+		{
+			document.body.removeChild( oDomPrint.message );
+			oDomPrint.message = null;
 		}
+		
+		/* Styling class */
+		$(document.body).removeClass( 'DTTT_Print' );
+		
+		/* Restore the table length */
+		oSetDT._iDisplayStart = oSetPrint.saveStart;
+		oSetDT._iDisplayLength = oSetPrint.saveLength;
+		oSetDT.oApi._fnCalculateEnd( oSetDT );
+		oSetDT.oApi._fnDraw( oSetDT );
+		
+		$(document).unbind( "keydown.DTTT" );
 	},
 	
 	
@@ -1954,7 +1912,7 @@ TableTools.prototype = {
 	
 	/**
 	 * Take account of scrolling in DataTables by showing the full table. Note that the redraw of
-	 * the DataTable that we do will actually deal with the majority of the hardword here
+	 * the DataTable that we do will actually deal with the majority of the hard work here
 	 *  @returns void
 	 *  @private 
 	 */
@@ -2130,24 +2088,25 @@ TableTools._fnEventListen = function ( that, type, fn )
 	
 
 /**
- * An event has occured - look up every listener and fire it off. We check that the event we are
+ * An event has occurred - look up every listener and fire it off. We check that the event we are
  * going to fire is attached to the same table (using the table node as reference) before firing
  *  @method  _fnEventDispatch
  *  @param   {Object} that Scope of the listening function (i.e. 'this' in the caller)
  *  @param   {String} type Event type
- *  @param   {Node} node Element that the event occured on (may be null)
+ *  @param   {Node} node Element that the event occurred on (may be null)
+ *  @param   {boolean} [selected] Indicate if the node was selected (true) or deselected (false)
  *  @returns void
  *  @private
  *  @static
  */
-TableTools._fnEventDispatch = function ( that, type, node )
+TableTools._fnEventDispatch = function ( that, type, node, selected )
 {
 	var listeners = TableTools._aListeners;
 	for ( var i=0, iLen=listeners.length ; i<iLen ; i++ )
 	{
 		if ( that.dom.table == listeners[i].that.dom.table && listeners[i].type == type )
 		{
-			listeners[i].fn( node );
+			listeners[i].fn( node, selected );
 		}
 	}
 };
@@ -2162,110 +2121,92 @@ TableTools._fnEventDispatch = function ( that, type, node )
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 
+
+TableTools.buttonBase = {
+	// Button base
+	"sAction": "text",
+	"sTag": "default",
+	"sLinerTag": "default",
+	"sButtonClass": "DTTT_button_text",
+	"sButtonText": "Button text",
+	"sTitle": "",
+	"sToolTip": "",
+
+	// Common button specific options
+	"sCharSet": "utf8",
+	"bBomInc": false,
+	"sFileName": "*.csv",
+	"sFieldBoundary": "",
+	"sFieldSeperator": "\t",
+	"sNewLine": "auto",
+	"mColumns": "all", /* "all", "visible", "hidden" or array of column integers */
+	"bHeader": true,
+	"bFooter": true,
+	"bOpenRows": false,
+	"bSelectedOnly": false,
+
+	// Callbacks
+	"fnMouseover": null,
+	"fnMouseout": null,
+	"fnClick": null,
+	"fnSelect": null,
+	"fnComplete": null,
+	"fnInit": null,
+	"fnCellRender": null
+};
+
+
 /**
  * @namespace Default button configurations
  */
 TableTools.BUTTONS = {
-	"csv": {
+	"csv": $.extend( {}, TableTools.buttonBase, {
 		"sAction": "flash_save",
-		"sCharSet": "utf8",
-		"bBomInc": false,
-		"sFileName": "*.csv",
-		"sFieldBoundary": '"',
-		"sFieldSeperator": ",",
-		"sNewLine": "auto",
-		"sTitle": "",
-		"sToolTip": "",
 		"sButtonClass": "DTTT_button_csv",
-		"sButtonClassHover": "DTTT_button_csv_hover",
 		"sButtonText": "CSV",
-		"mColumns": "all", /* "all", "visible", "hidden" or array of column integers */
-		"bHeader": true,
-		"bFooter": true,
-		"bSelectedOnly": false,
-		"fnMouseover": null,
-		"fnMouseout": null,
+		"sFieldBoundary": '"',
+		"sFieldSeperator": ",",
 		"fnClick": function( nButton, oConfig, flash ) {
 			this.fnSetText( flash, this.fnGetTableData(oConfig) );
-		},
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
-		"fnCellRender": null
-	},
-	"xls": {
+		}
+	} ),
+
+	"xls": $.extend( {}, TableTools.buttonBase, {
 		"sAction": "flash_save",
 		"sCharSet": "utf16le",
 		"bBomInc": true,
-		"sFileName": "*.csv",
-		"sFieldBoundary": "",
-		"sFieldSeperator": "\t",
-		"sNewLine": "auto",
-		"sTitle": "",
-		"sToolTip": "",
 		"sButtonClass": "DTTT_button_xls",
-		"sButtonClassHover": "DTTT_button_xls_hover",
 		"sButtonText": "Excel",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"bSelectedOnly": false,
-		"fnMouseover": null,
-		"fnMouseout": null,
 		"fnClick": function( nButton, oConfig, flash ) {
 			this.fnSetText( flash, this.fnGetTableData(oConfig) );
-		},
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
-		"fnCellRender": null
-	},
-	"copy": {
+		}
+	} ),
+
+	"copy": $.extend( {}, TableTools.buttonBase, {
 		"sAction": "flash_copy",
-		"sFieldBoundary": "",
-		"sFieldSeperator": "\t",
-		"sNewLine": "auto",
-		"sToolTip": "",
 		"sButtonClass": "DTTT_button_copy",
-		"sButtonClassHover": "DTTT_button_copy_hover",
 		"sButtonText": "Copy",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"bSelectedOnly": false,
-		"fnMouseover": null,
-		"fnMouseout": null,
 		"fnClick": function( nButton, oConfig, flash ) {
 			this.fnSetText( flash, this.fnGetTableData(oConfig) );
 		},
-		"fnSelect": null,
 		"fnComplete": function(nButton, oConfig, flash, text) {
 			var
 				lines = text.split('\n').length,
 				len = this.s.dt.nTFoot === null ? lines-1 : lines-2,
 				plural = (len==1) ? "" : "s";
-			alert( 'Copied '+len+' row'+plural+' to the clipboard' );
-		},
-		"fnInit": null,
-		"fnCellRender": null
-	},
-	"pdf": {
+			this.fnInfo( '<h6>Table copied</h6>'+
+				'<p>Copied '+len+' row'+plural+' to the clipboard.</p>',
+				1500
+			);
+		}
+	} ),
+
+	"pdf": $.extend( {}, TableTools.buttonBase, {
 		"sAction": "flash_pdf",
-		"sFieldBoundary": "",
-		"sFieldSeperator": "\t",
 		"sNewLine": "\n",
 		"sFileName": "*.pdf",
-		"sToolTip": "",
-		"sTitle": "",
 		"sButtonClass": "DTTT_button_pdf",
-		"sButtonClassHover": "DTTT_button_pdf_hover",
 		"sButtonText": "PDF",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": false,
-		"bSelectedOnly": false,
-		"fnMouseover": null,
-		"fnMouseout": null,
 		"sPdfOrientation": "portrait",
 		"sPdfSize": "A4",
 		"sPdfMessage": "",
@@ -2279,167 +2220,87 @@ TableTools.BUTTONS = {
 				"--/TableToolsOpts--\n" +
 				this.fnGetTableData(oConfig)
 			);
-		},
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
-		"fnCellRender": null
-	},
-	"print": {
-		"sAction": "print",
+		}
+	} ),
+
+	"print": $.extend( {}, TableTools.buttonBase, {
 		"sInfo": "<h6>Print view</h6><p>Please use your browser's print function to "+
 		  "print this table. Press escape when finished.",
-		"sMessage": "",
+		"sMessage": null,
 		"bShowAll": true,
 		"sToolTip": "View print view",
 		"sButtonClass": "DTTT_button_print",
-		"sButtonClassHover": "DTTT_button_print_hover",
 		"sButtonText": "Print",
-		"fnMouseover": null,
-		"fnMouseout": null,
-		"fnClick": null,
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
-		"fnCellRender": null
-	},
-	"text": {
-		"sAction": "text",
-		"sToolTip": "",
-		"sButtonClass": "DTTT_button_text",
-		"sButtonClassHover": "DTTT_button_text_hover",
-		"sButtonText": "Text button",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"bSelectedOnly": false,
-		"fnMouseover": null,
-		"fnMouseout": null,
-		"fnClick": null,
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
-		"fnCellRender": null
-	},
-	"select": {
-		"sAction": "text",
-		"sToolTip": "",
-		"sButtonClass": "DTTT_button_text",
-		"sButtonClassHover": "DTTT_button_text_hover",
+		"fnClick": function ( nButton, oConfig ) {
+			this.fnPrint( true, oConfig );
+		}
+	} ),
+
+	"text": $.extend( {}, TableTools.buttonBase ),
+
+	"select": $.extend( {}, TableTools.buttonBase, {
 		"sButtonText": "Select button",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"fnMouseover": null,
-		"fnMouseout": null,
-		"fnClick": null,
 		"fnSelect": function( nButton, oConfig ) {
 			if ( this.fnGetSelected().length !== 0 ) {
-				$(nButton).removeClass('DTTT_disabled');
+				$(nButton).removeClass( this.classes.buttons.disabled );
 			} else {
-				$(nButton).addClass('DTTT_disabled');
+				$(nButton).addClass( this.classes.buttons.disabled );
 			}
 		},
-		"fnComplete": null,
 		"fnInit": function( nButton, oConfig ) {
-			$(nButton).addClass('DTTT_disabled');
-		},
-		"fnCellRender": null
-	},
-	"select_single": {
-		"sAction": "text",
-		"sToolTip": "",
-		"sButtonClass": "DTTT_button_text",
-		"sButtonClassHover": "DTTT_button_text_hover",
+			$(nButton).addClass( this.classes.buttons.disabled );
+		}
+	} ),
+
+	"select_single": $.extend( {}, TableTools.buttonBase, {
 		"sButtonText": "Select button",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"fnMouseover": null,
-		"fnMouseout": null,
-		"fnClick": null,
 		"fnSelect": function( nButton, oConfig ) {
 			var iSelected = this.fnGetSelected().length;
 			if ( iSelected == 1 ) {
-				$(nButton).removeClass('DTTT_disabled');
+				$(nButton).removeClass( this.classes.buttons.disabled );
 			} else {
-				$(nButton).addClass('DTTT_disabled');
+				$(nButton).addClass( this.classes.buttons.disabled );
 			}
 		},
-		"fnComplete": null,
 		"fnInit": function( nButton, oConfig ) {
-			$(nButton).addClass('DTTT_disabled');
-		},
-		"fnCellRender": null
-	},
-	"select_all": {
-		"sAction": "text",
-		"sToolTip": "",
-		"sButtonClass": "DTTT_button_text",
-		"sButtonClassHover": "DTTT_button_text_hover",
+			$(nButton).addClass( this.classes.buttons.disabled );
+		}
+	} ),
+
+	"select_all": $.extend( {}, TableTools.buttonBase, {
 		"sButtonText": "Select all",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"fnMouseover": null,
-		"fnMouseout": null,
 		"fnClick": function( nButton, oConfig ) {
 			this.fnSelectAll();
 		},
 		"fnSelect": function( nButton, oConfig ) {
 			if ( this.fnGetSelected().length == this.s.dt.fnRecordsDisplay() ) {
-				$(nButton).addClass('DTTT_disabled');
+				$(nButton).addClass( this.classes.buttons.disabled );
 			} else {
-				$(nButton).removeClass('DTTT_disabled');
+				$(nButton).removeClass( this.classes.buttons.disabled );
 			}
-		},
-		"fnComplete": null,
-		"fnInit": null,
-		"fnCellRender": null
-	},
-	"select_none": {
-		"sAction": "text",
-		"sToolTip": "",
-		"sButtonClass": "DTTT_button_text",
-		"sButtonClassHover": "DTTT_button_text_hover",
+		}
+	} ),
+
+	"select_none": $.extend( {}, TableTools.buttonBase, {
 		"sButtonText": "Deselect all",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"fnMouseover": null,
-		"fnMouseout": null,
 		"fnClick": function( nButton, oConfig ) {
 			this.fnSelectNone();
 		},
 		"fnSelect": function( nButton, oConfig ) {
 			if ( this.fnGetSelected().length !== 0 ) {
-				$(nButton).removeClass('DTTT_disabled');
+				$(nButton).removeClass( this.classes.buttons.disabled );
 			} else {
-				$(nButton).addClass('DTTT_disabled');
+				$(nButton).addClass( this.classes.buttons.disabled );
 			}
 		},
-		"fnComplete": null,
 		"fnInit": function( nButton, oConfig ) {
-			$(nButton).addClass('DTTT_disabled');
-		},
-		"fnCellRender": null
-	},
-	"ajax": {
-		"sAction": "text",
-		"sFieldBoundary": "",
-		"sFieldSeperator": "\t",
-		"sNewLine": "\n",
+			$(nButton).addClass( this.classes.buttons.disabled );
+		}
+	} ),
+
+	"ajax": $.extend( {}, TableTools.buttonBase, {
 		"sAjaxUrl": "/xhr.php",
-		"sToolTip": "",
-		"sButtonClass": "DTTT_button_text",
-		"sButtonClassHover": "DTTT_button_text_hover",
 		"sButtonText": "Ajax button",
-		"mColumns": "all",
-		"bHeader": true,
-		"bFooter": true,
-		"bSelectedOnly": false,
-		"fnMouseover": null,
-		"fnMouseout": null,
 		"fnClick": function( nButton, oConfig ) {
 			var sData = this.fnGetTableData(oConfig);
 			$.ajax( {
@@ -2456,45 +2317,26 @@ TableTools.BUTTONS = {
 				}
 			} );
 		},
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
 		"fnAjaxComplete": function( json ) {
 			alert( 'Ajax complete' );
-		},
-		"fnCellRender": null
-	},
-	"div": {
+		}
+	} ),
+
+	"div": $.extend( {}, TableTools.buttonBase, {
 		"sAction": "div",
-		"sToolTip": "",
+		"sTag": "div",
 		"sButtonClass": "DTTT_nonbutton",
-		"sButtonClassHover": "",
-		"sButtonText": "Text button",
-		"fnMouseover": null,
-		"fnMouseout": null,
-		"fnClick": null,
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
-		"nContent": null,
-		"fnCellRender": null
-	},
-	"collection": {
+		"sButtonText": "Text button"
+	} ),
+
+	"collection": $.extend( {}, TableTools.buttonBase, {
 		"sAction": "collection",
-		"sToolTip": "",
 		"sButtonClass": "DTTT_button_collection",
-		"sButtonClassHover": "DTTT_button_collection_hover",
 		"sButtonText": "Collection",
-		"fnMouseover": null,
-		"fnMouseout": null,
 		"fnClick": function( nButton, oConfig ) {
 			this._fnCollectionShow(nButton, oConfig);
-		},
-		"fnSelect": null,
-		"fnComplete": null,
-		"fnInit": null,
-		"fnCellRender": null
-	}
+		}
+	} )
 };
 /*
  *  on* callback parameters:
@@ -2505,17 +2347,75 @@ TableTools.BUTTONS = {
  */
 
 
+
+/**
+ * @namespace Classes used by TableTools - allows the styles to be override easily.
+ *   Note that when TableTools initialises it will take a copy of the classes object
+ *   and will use its internal copy for the remainder of its run time.
+ */
+TableTools.classes = {
+	"container": "DTTT_container",
+	"buttons": {
+		"normal": "DTTT_button",
+		"disabled": "DTTT_disabled"
+	},
+	"collection": {
+		"container": "DTTT_collection",
+		"background": "DTTT_collection_background",
+		"buttons": {
+			"normal": "DTTT_button",
+			"disabled": "DTTT_disabled"
+		}
+	},
+	"select": {
+		"table": "DTTT_selectable",
+		"row": "DTTT_selected"
+	},
+	"print": {
+		"body": "DTTT_Print",
+		"info": "DTTT_print_info",
+		"message": "DTTT_PrintMessage"
+	}
+};
+
+
+/**
+ * @namespace ThemeRoller classes - built in for compatibility with DataTables' 
+ *   bJQueryUI option.
+ */
+TableTools.classes_themeroller = {
+	"container": "DTTT_container ui-buttonset ui-buttonset-multi",
+	"buttons": {
+		"normal": "DTTT_button ui-button ui-state-default"
+	},
+	"collection": {
+		"container": "DTTT_collection ui-buttonset ui-buttonset-multi"
+	}
+};
+
+
 /**
  * @namespace TableTools default settings for initialisation
  */
 TableTools.DEFAULTS = {
 	"sSwfPath":        "media/swf/copy_csv_xls_pdf.swf",
 	"sRowSelect":      "none",
-	"sSelectedClass":  "DTTT_selected",
+	"sSelectedClass":  null,
 	"fnPreRowSelect":  null,
 	"fnRowSelected":   null,
 	"fnRowDeselected": null,
-	"aButtons":        [ "copy", "csv", "xls", "pdf", "print" ]
+	"aButtons":        [ "copy", "csv", "xls", "pdf", "print" ],
+	"oTags": {
+		"container": "div",
+		"button": "a", // We really want to use buttons here, but Firefox and IE ignore the
+		                 // click on the Flash element in the button (but not mouse[in|out]).
+		"liner": "span",
+		"collection": {
+			"container": "div",
+			"button": "a",
+			"liner": "span"
+		}
+	}
 };
 
 
@@ -2532,9 +2432,9 @@ TableTools.prototype.CLASS = "TableTools";
  * TableTools version
  *  @constant  VERSION
  *  @type	  String
- *  @default   2.0.3.dev
+ *  @default   See code
  */
-TableTools.VERSION = "2.0.3";
+TableTools.VERSION = "2.1.4";
 TableTools.prototype.VERSION = TableTools.VERSION;
 
 
@@ -2549,7 +2449,7 @@ TableTools.prototype.VERSION = TableTools.VERSION;
  */
 if ( typeof $.fn.dataTable == "function" &&
 	 typeof $.fn.dataTableExt.fnVersionCheck == "function" &&
-	 $.fn.dataTableExt.fnVersionCheck('1.8.2') )
+	 $.fn.dataTableExt.fnVersionCheck('1.9.0') )
 {
 	$.fn.dataTableExt.aoFeatures.push( {
 		"fnInit": function( oDTSettings ) {
@@ -2567,7 +2467,9 @@ if ( typeof $.fn.dataTable == "function" &&
 }
 else
 {
-	alert( "Warning: TableTools 2 requires DataTables 1.8.2 or newer - www.datatables.net/download");
+	alert( "Warning: TableTools 2 requires DataTables 1.9.0 or newer - www.datatables.net/download");
 }
 
+$.fn.DataTable.TableTools = TableTools;
+
 })(jQuery, window, document);
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.min.js b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.min.js
index 0fdf175da85..1017ee5ce37 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.min.js
+++ b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/TableTools.min.js
@@ -1,26 +1,26 @@
 // Simple Set Clipboard System
 // Author: Joseph Huckaby
-var ZeroClipboard_TableTools={version:"1.0.4-TableTools2",clients:{},moviePath:"",nextId:1,$:function(a){"string"==typeof a&&(a=document.getElementById(a));if(!a.addClass)a.hide=function(){this.style.display="none"},a.show=function(){this.style.display=""},a.addClass=function(a){this.removeClass(a);this.className+=" "+a},a.removeClass=function(a){this.className=this.className.replace(RegExp("\\s*"+a+"\\s*")," ").replace(/^\s+/,"").replace(/\s+$/,"")},a.hasClass=function(a){return!!this.className.match(RegExp("\\s*"+
-a+"\\s*"))};return a},setMoviePath:function(a){this.moviePath=a},dispatch:function(a,b,c){(a=this.clients[a])&&a.receiveEvent(b,c)},register:function(a,b){this.clients[a]=b},getDOMObjectPosition:function(a){var b={left:0,top:0,width:a.width?a.width:a.offsetWidth,height:a.height?a.height:a.offsetHeight};if(""!=a.style.width)b.width=a.style.width.replace("px","");if(""!=a.style.height)b.height=a.style.height.replace("px","");for(;a;)b.left+=a.offsetLeft,b.top+=a.offsetTop,a=a.offsetParent;return b},
+var ZeroClipboard_TableTools={version:"1.0.4-TableTools2",clients:{},moviePath:"",nextId:1,$:function(a){"string"==typeof a&&(a=document.getElementById(a));a.addClass||(a.hide=function(){this.style.display="none"},a.show=function(){this.style.display=""},a.addClass=function(a){this.removeClass(a);this.className+=" "+a},a.removeClass=function(a){this.className=this.className.replace(RegExp("\\s*"+a+"\\s*")," ").replace(/^\s+/,"").replace(/\s+$/,"")},a.hasClass=function(a){return!!this.className.match(RegExp("\\s*"+
+a+"\\s*"))});return a},setMoviePath:function(a){this.moviePath=a},dispatch:function(a,b,c){(a=this.clients[a])&&a.receiveEvent(b,c)},register:function(a,b){this.clients[a]=b},getDOMObjectPosition:function(a){var b={left:0,top:0,width:a.width?a.width:a.offsetWidth,height:a.height?a.height:a.offsetHeight};""!=a.style.width&&(b.width=a.style.width.replace("px",""));""!=a.style.height&&(b.height=a.style.height.replace("px",""));for(;a;)b.left+=a.offsetLeft,b.top+=a.offsetTop,a=a.offsetParent;return b},
 Client:function(a){this.handlers={};this.id=ZeroClipboard_TableTools.nextId++;this.movieId="ZeroClipboard_TableToolsMovie_"+this.id;ZeroClipboard_TableTools.register(this.id,this);a&&this.glue(a)}};
-ZeroClipboard_TableTools.Client.prototype={id:0,ready:!1,movie:null,clipText:"",fileName:"",action:"copy",handCursorEnabled:!0,cssEffects:!0,handlers:null,sized:!1,glue:function(a,b){this.domElement=ZeroClipboard_TableTools.$(a);var c=99;this.domElement.style.zIndex&&(c=parseInt(this.domElement.style.zIndex)+1);var d=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement);this.div=document.createElement("div");var e=this.div.style;e.position="absolute";e.left=this.domElement.offsetLeft+"px";
-e.top=this.domElement.offsetTop+"px";e.width=d.width+"px";e.height=d.height+"px";e.zIndex=c;if("undefined"!=typeof b&&""!=b)this.div.title=b;if(0!=d.width&&0!=d.height)this.sized=!0;if(this.domElement.parentNode)this.domElement.parentNode.appendChild(this.div),this.div.innerHTML=this.getHTML(d.width,d.height)},positionElement:function(){var a=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement),b=this.div.style;b.position="absolute";b.left=this.domElement.offsetLeft+"px";b.top=this.domElement.offsetTop+
-"px";b.width=a.width+"px";b.height=a.height+"px";if(0!=a.width&&0!=a.height)this.sized=!0,b=this.div.childNodes[0],b.width=a.width,b.height=a.height},getHTML:function(a,b){var c="",d="id="+this.id+"&width="+a+"&height="+b;if(navigator.userAgent.match(/MSIE/))var e=location.href.match(/^https/i)?"https://":"http://",c=c+('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+e+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="'+a+'" height="'+
-b+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard_TableTools.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+d+'"/><param name="wmode" value="transparent"/></object>');else c+='<embed id="'+this.movieId+'" src="'+ZeroClipboard_TableTools.moviePath+
-'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+a+'" height="'+b+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+d+'" wmode="transparent" />';return c},hide:function(){if(this.div)this.div.style.left="-2000px"},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide();this.div.innerHTML=
-"";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.div=this.domElement=null}},reposition:function(a){if(a)(this.domElement=ZeroClipboard_TableTools.$(a))||this.hide();if(this.domElement&&this.div){var a=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement),b=this.div.style;b.left=""+a.left+"px";b.top=""+a.top+"px"}},clearText:function(){this.clipText="";this.ready&&this.movie.clearText()},appendText:function(a){this.clipText+=a;this.ready&&this.movie.appendText(a)},
-setText:function(a){this.clipText=a;this.ready&&this.movie.setText(a)},setCharSet:function(a){this.charSet=a;this.ready&&this.movie.setCharSet(a)},setBomInc:function(a){this.incBom=a;this.ready&&this.movie.setBomInc(a)},setFileName:function(a){this.fileName=a;this.ready&&this.movie.setFileName(a)},setAction:function(a){this.action=a;this.ready&&this.movie.setAction(a)},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");this.handlers[a]||(this.handlers[a]=[]);this.handlers[a].push(b)},
-setHandCursor:function(a){this.handCursorEnabled=a;this.ready&&this.movie.setHandCursor(a)},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");switch(a){case "load":this.movie=document.getElementById(this.movieId);if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){c=this;setTimeout(function(){c.receiveEvent("load",
-null)},100);this.ready=!0;return}this.ready=!0;this.movie.clearText();this.movie.appendText(this.clipText);this.movie.setFileName(this.fileName);this.movie.setAction(this.action);this.movie.setCharSet(this.charSet);this.movie.setBomInc(this.incBom);this.movie.setHandCursor(this.handCursorEnabled);break;case "mouseover":this.domElement&&this.cssEffects&&this.recoverActive&&this.domElement.addClass("active");break;case "mouseout":if(this.domElement&&this.cssEffects&&(this.recoverActive=!1,this.domElement.hasClass("active")))this.domElement.removeClass("active"),
-this.recoverActive=!0;break;case "mousedown":this.domElement&&this.cssEffects&&this.domElement.addClass("active");break;case "mouseup":if(this.domElement&&this.cssEffects)this.domElement.removeClass("active"),this.recoverActive=!1}if(this.handlers[a])for(var d=0,e=this.handlers[a].length;d<e;d++){var f=this.handlers[a][d];if("function"==typeof f)f(this,b);else if("object"==typeof f&&2==f.length)f[0][f[1]](this,b);else if("string"==typeof f)window[f](this,b)}}};
+ZeroClipboard_TableTools.Client.prototype={id:0,ready:!1,movie:null,clipText:"",fileName:"",action:"copy",handCursorEnabled:!0,cssEffects:!0,handlers:null,sized:!1,glue:function(a,b){this.domElement=ZeroClipboard_TableTools.$(a);var c=99;this.domElement.style.zIndex&&(c=parseInt(this.domElement.style.zIndex)+1);var d=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement);this.div=document.createElement("div");var e=this.div.style;e.position="absolute";e.left="0px";e.top="0px";e.width=d.width+
+"px";e.height=d.height+"px";e.zIndex=c;"undefined"!=typeof b&&""!=b&&(this.div.title=b);0!=d.width&&0!=d.height&&(this.sized=!0);this.domElement&&(this.domElement.appendChild(this.div),this.div.innerHTML=this.getHTML(d.width,d.height))},positionElement:function(){var a=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement),b=this.div.style;b.position="absolute";b.width=a.width+"px";b.height=a.height+"px";0!=a.width&&0!=a.height&&(this.sized=!0,b=this.div.childNodes[0],b.width=a.width,b.height=
+a.height)},getHTML:function(a,b){var c="",d="id="+this.id+"&width="+a+"&height="+b;if(navigator.userAgent.match(/MSIE/))var e=location.href.match(/^https/i)?"https://":"http://",c=c+('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+e+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="'+a+'" height="'+b+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+
+ZeroClipboard_TableTools.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+d+'"/><param name="wmode" value="transparent"/></object>');else c+='<embed id="'+this.movieId+'" src="'+ZeroClipboard_TableTools.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+a+'" height="'+b+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+
+d+'" wmode="transparent" />';return c},hide:function(){this.div&&(this.div.style.left="-2000px")},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide();this.div.innerHTML="";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.div=this.domElement=null}},reposition:function(a){a&&((this.domElement=ZeroClipboard_TableTools.$(a))||this.hide());if(this.domElement&&this.div){var a=ZeroClipboard_TableTools.getDOMObjectPosition(this.domElement),
+b=this.div.style;b.left=""+a.left+"px";b.top=""+a.top+"px"}},clearText:function(){this.clipText="";this.ready&&this.movie.clearText()},appendText:function(a){this.clipText+=a;this.ready&&this.movie.appendText(a)},setText:function(a){this.clipText=a;this.ready&&this.movie.setText(a)},setCharSet:function(a){this.charSet=a;this.ready&&this.movie.setCharSet(a)},setBomInc:function(a){this.incBom=a;this.ready&&this.movie.setBomInc(a)},setFileName:function(a){this.fileName=a;this.ready&&this.movie.setFileName(a)},
+setAction:function(a){this.action=a;this.ready&&this.movie.setAction(a)},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");this.handlers[a]||(this.handlers[a]=[]);this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled=a;this.ready&&this.movie.setHandCursor(a)},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");switch(a){case "load":this.movie=document.getElementById(this.movieId);
+if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){c=this;setTimeout(function(){c.receiveEvent("load",null)},100);this.ready=!0;return}this.ready=!0;this.movie.clearText();this.movie.appendText(this.clipText);this.movie.setFileName(this.fileName);this.movie.setAction(this.action);this.movie.setCharSet(this.charSet);this.movie.setBomInc(this.incBom);this.movie.setHandCursor(this.handCursorEnabled);
+break;case "mouseover":this.domElement&&this.cssEffects&&this.recoverActive&&this.domElement.addClass("active");break;case "mouseout":this.domElement&&this.cssEffects&&(this.recoverActive=!1,this.domElement.hasClass("active")&&(this.domElement.removeClass("active"),this.recoverActive=!0));break;case "mousedown":this.domElement&&this.cssEffects&&this.domElement.addClass("active");break;case "mouseup":this.domElement&&this.cssEffects&&(this.domElement.removeClass("active"),this.recoverActive=!1)}if(this.handlers[a])for(var d=
+0,e=this.handlers[a].length;d<e;d++){var f=this.handlers[a][d];if("function"==typeof f)f(this,b);else if("object"==typeof f&&2==f.length)f[0][f[1]](this,b);else if("string"==typeof f)window[f](this,b)}}};
 
 
 /*
  * File:        TableTools.min.js
- * Version:     2.0.3
+ * Version:     2.1.4
  * Author:      Allan Jardine (www.sprymedia.co.uk)
  * 
- * Copyright 2009-2011 Allan Jardine, all rights reserved.
+ * Copyright 2009-2012 Allan Jardine, all rights reserved.
  *
  * This source file is free software, under either the GPL v2 license or a
  * BSD (3 point) style license, as supplied with this software.
@@ -30,52 +30,47 @@ this.recoverActive=!0;break;case "mousedown":this.domElement&&this.cssEffects&&t
  * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
  */
 var TableTools;
-(function(e,m,f){TableTools=function(a,b){(!this.CLASS||"TableTools"!=this.CLASS)&&alert("Warning: TableTools must be initialised with the keyword 'new'");this.s={that:this,dt:null,print:{saveStart:-1,saveLength:-1,saveScroll:-1,funcEnd:function(){}},buttonCounter:0,select:{type:"",selected:[],preRowSelect:null,postSelected:null,postDeselected:null,all:!1,selectedClass:""},custom:{},swfPath:"",buttonSet:[],master:!1};this.dom={container:null,table:null,print:{hidden:[],message:null},collection:{collection:null,
-background:null}};this.fnSettings=function(){return this.s};"undefined"==typeof b&&(b={});this.s.dt=a.fnSettings();this._fnConstruct(b);return this};TableTools.prototype={fnGetSelected:function(){return this._fnGetMasterSettings().select.selected},fnGetSelectedData:function(){for(var a=this._fnGetMasterSettings().select.selected,b=[],c=0,d=a.length;c<d;c++)b.push(this.s.dt.oInstance.fnGetData(a[c]));return b},fnIsSelected:function(a){for(var b=this.fnGetSelected(),c=0,d=b.length;c<d;c++)if(a==b[c])return!0;
-return!1},fnSelectAll:function(){this._fnGetMasterSettings().that._fnRowSelectAll()},fnSelectNone:function(){this._fnGetMasterSettings().that._fnRowDeselectAll()},fnSelect:function(a){this.fnIsSelected(a)||("single"==this.s.select.type?this._fnRowSelectSingle(a):"multi"==this.s.select.type&&this._fnRowSelectMulti(a))},fnDeselect:function(a){this.fnIsSelected(a)&&("single"==this.s.select.type?this._fnRowSelectSingle(a):"multi"==this.s.select.type&&this._fnRowSelectMulti(a))},fnGetTitle:function(a){var b=
-"";if("undefined"!=typeof a.sTitle&&""!==a.sTitle)b=a.sTitle;else if(a=f.getElementsByTagName("title"),0<a.length)b=a[0].innerHTML;return 4>"\u00a1".toString().length?b.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,""):b.replace(/[^a-zA-Z0-9_\.,\-_ !\(\)]/g,"")},fnCalcColRatios:function(a){var b=this.s.dt.aoColumns,a=this._fnColumnTargets(a.mColumns),c=[],d=0,e=0,g,f;for(g=0,f=a.length;g<f;g++)if(a[g])d=b[g].nTh.offsetWidth,e+=d,c.push(d);for(g=0,f=c.length;g<f;g++)c[g]/=e;return c.join("\t")},
-fnGetTableData:function(a){if(this.s.dt)return this._fnGetDataTablesData(a)},fnSetText:function(a,b){this._fnFlashSetText(a,b)},fnResizeButtons:function(){for(var a in ZeroClipboard_TableTools.clients)if(a){var b=ZeroClipboard_TableTools.clients[a];"undefined"!=typeof b.domElement&&b.domElement.parentNode==this.dom.container&&b.positionElement()}},fnResizeRequired:function(){for(var a in ZeroClipboard_TableTools.clients)if(a){var b=ZeroClipboard_TableTools.clients[a];if("undefined"!=typeof b.domElement&&
-b.domElement.parentNode==this.dom.container&&!1===b.sized)return!0}return!1},_fnConstruct:function(a){var b=this;this._fnCustomiseSettings(a);this.dom.container=f.createElement("div");this.dom.container.className=!this.s.dt.bJUI?"DTTT_container":"DTTT_container ui-buttonset ui-buttonset-multi";"none"!=this.s.select.type&&this._fnRowSelectConfig();this._fnButtonDefinations(this.s.buttonSet,this.dom.container);this.s.dt.aoDestroyCallback.push({sName:"TableTools",fn:function(){b.dom.container.innerHTML=
-""}})},_fnCustomiseSettings:function(a){if("undefined"==typeof this.s.dt._TableToolsInit)this.s.master=!0,this.s.dt._TableToolsInit=!0;this.dom.table=this.s.dt.nTable;this.s.custom=e.extend({},TableTools.DEFAULTS,a);this.s.swfPath=this.s.custom.sSwfPath;if("undefined"!=typeof ZeroClipboard_TableTools)ZeroClipboard_TableTools.moviePath=this.s.swfPath;this.s.select.type=this.s.custom.sRowSelect;this.s.select.preRowSelect=this.s.custom.fnPreRowSelect;this.s.select.postSelected=this.s.custom.fnRowSelected;
-this.s.select.postDeselected=this.s.custom.fnRowDeselected;this.s.select.selectedClass=this.s.custom.sSelectedClass;this.s.buttonSet=this.s.custom.aButtons},_fnButtonDefinations:function(a,b){for(var c,d=0,j=a.length;d<j;d++){if("string"==typeof a[d]){if("undefined"==typeof TableTools.BUTTONS[a[d]]){alert("TableTools: Warning - unknown button type: "+a[d]);continue}c=e.extend({},TableTools.BUTTONS[a[d]],!0)}else{if("undefined"==typeof TableTools.BUTTONS[a[d].sExtends]){alert("TableTools: Warning - unknown button type: "+
-a[d].sExtends);continue}c=e.extend({},TableTools.BUTTONS[a[d].sExtends],!0);c=e.extend(c,a[d],!0)}this.s.dt.bJUI?(c.sButtonClass+=" ui-button ui-state-default",c.sButtonClassHover+=" ui-state-hover"):c.sButtonClassHover+=" DTTT_button_hover";b.appendChild(this._fnCreateButton(c))}},_fnCreateButton:function(a){var b="div"==a.sAction?this._fnDivBase(a):this._fnButtonBase(a);"print"==a.sAction?this._fnPrintConfig(b,a):a.sAction.match(/flash/)?this._fnFlashConfig(b,a):"text"==a.sAction?this._fnTextConfig(b,
-a):"div"==a.sAction?this._fnTextConfig(b,a):"collection"==a.sAction&&(this._fnTextConfig(b,a),this._fnCollectionConfig(b,a));return b},_fnButtonBase:function(a){var b=f.createElement("button"),c=f.createElement("span"),d=this._fnGetMasterSettings();b.className="DTTT_button "+a.sButtonClass;b.setAttribute("id","ToolTables_"+this.s.dt.sInstance+"_"+d.buttonCounter);b.appendChild(c);c.innerHTML=a.sButtonText;d.buttonCounter++;return b},_fnDivBase:function(a){var b=f.createElement("div"),c=this._fnGetMasterSettings();
-b.className=a.sButtonClass;b.setAttribute("id","ToolTables_"+this.s.dt.sInstance+"_"+c.buttonCounter);b.innerHTML=a.sButtonText;null!==a.nContent&&b.appendChild(a.nContent);c.buttonCounter++;return b},_fnGetMasterSettings:function(){if(this.s.master)return this.s;for(var a=TableTools._aInstances,b=0,c=a.length;b<c;b++)if(this.dom.table==a[b].s.dt.nTable)return a[b].s},_fnCollectionConfig:function(a,b){var c=f.createElement("div");c.style.display="none";c.className=!this.s.dt.bJUI?"DTTT_collection":
-"DTTT_collection ui-buttonset ui-buttonset-multi";b._collection=c;f.body.appendChild(c);this._fnButtonDefinations(b.aButtons,c)},_fnCollectionShow:function(a,b){var c=this,d=e(a).offset(),j=b._collection,g=d.left,d=d.top+e(a).outerHeight(),o=e(m).height(),h=e(f).height(),k=e(m).width(),n=e(f).width();j.style.position="absolute";j.style.left=g+"px";j.style.top=d+"px";j.style.display="block";e(j).css("opacity",0);var l=f.createElement("div");l.style.position="absolute";l.style.left="0px";l.style.top=
-"0px";l.style.height=(o>h?o:h)+"px";l.style.width=(k>n?k:n)+"px";l.className="DTTT_collection_background";e(l).css("opacity",0);f.body.appendChild(l);f.body.appendChild(j);o=e(j).outerWidth();k=e(j).outerHeight();if(g+o>n)j.style.left=n-o+"px";if(d+k>h)j.style.top=d-k-e(a).outerHeight()+"px";this.dom.collection.collection=j;this.dom.collection.background=l;setTimeout(function(){e(j).animate({opacity:1},500);e(l).animate({opacity:0.25},500)},10);e(l).click(function(){c._fnCollectionHide.call(c,null,
-null)})},_fnCollectionHide:function(a,b){if(!(null!==b&&"collection"==b.sExtends)&&null!==this.dom.collection.collection)e(this.dom.collection.collection).animate({opacity:0},500,function(){this.style.display="none"}),e(this.dom.collection.background).animate({opacity:0},500,function(){this.parentNode.removeChild(this)}),this.dom.collection.collection=null,this.dom.collection.background=null},_fnRowSelectConfig:function(){if(this.s.master){var a=this;e(a.s.dt.nTable).addClass("DTTT_selectable");e("tr",
-a.s.dt.nTBody).live("click",function(b){if(this.parentNode==a.s.dt.nTBody){var c=a.s.dt.oInstance.fnGetNodes();-1===e.inArray(this,c)||null!==a.s.select.preRowSelect&&!a.s.select.preRowSelect.call(a,b)||("single"==a.s.select.type?a._fnRowSelectSingle.call(a,this):a._fnRowSelectMulti.call(a,this))}});a.s.dt.aoDrawCallback.push({fn:function(){a.s.select.all&&a.s.dt.oFeatures.bServerSide&&a.fnSelectAll()},sName:"TableTools_select"})}},_fnRowSelectSingle:function(a){this.s.master&&!e("td",a).hasClass(this.s.dt.oClasses.sRowEmpty)&&
-(e(a).hasClass(this.s.select.selectedClass)?this._fnRowDeselect(a):(0!==this.s.select.selected.length&&this._fnRowDeselectAll(),this.s.select.selected.push(a),e(a).addClass(this.s.select.selectedClass),null!==this.s.select.postSelected&&this.s.select.postSelected.call(this,a)),TableTools._fnEventDispatch(this,"select",a))},_fnRowSelectMulti:function(a){this.s.master&&!e("td",a).hasClass(this.s.dt.oClasses.sRowEmpty)&&(e(a).hasClass(this.s.select.selectedClass)?this._fnRowDeselect(a):(this.s.select.selected.push(a),
-e(a).addClass(this.s.select.selectedClass),null!==this.s.select.postSelected&&this.s.select.postSelected.call(this,a)),TableTools._fnEventDispatch(this,"select",a))},_fnRowSelectAll:function(){if(this.s.master){for(var a,b=0,c=this.s.dt.aiDisplayMaster.length;b<c;b++)a=this.s.dt.aoData[this.s.dt.aiDisplayMaster[b]].nTr,e(a).hasClass(this.s.select.selectedClass)||(this.s.select.selected.push(a),e(a).addClass(this.s.select.selectedClass));null!==this.s.select.postSelected&&this.s.select.postSelected.call(this,
-null);this.s.select.all=!0;TableTools._fnEventDispatch(this,"select",null)}},_fnRowDeselectAll:function(){if(this.s.master){for(var a=this.s.select.selected.length-1;0<=a;a--)this._fnRowDeselect(a,!1);null!==this.s.select.postDeselected&&this.s.select.postDeselected.call(this,null);this.s.select.all=!1;TableTools._fnEventDispatch(this,"select",null)}},_fnRowDeselect:function(a,b){"undefined"!=typeof a.nodeName&&(a=e.inArray(a,this.s.select.selected));var c=this.s.select.selected[a];e(c).removeClass(this.s.select.selectedClass);
-this.s.select.selected.splice(a,1);("undefined"==typeof b||b)&&null!==this.s.select.postDeselected&&this.s.select.postDeselected.call(this,c);this.s.select.all=!1},_fnTextConfig:function(a,b){var c=this;null!==b.fnInit&&b.fnInit.call(this,a,b);if(""!==b.sToolTip)a.title=b.sToolTip;e(a).hover(function(){e(a).addClass(b.sButtonClassHover);null!==b.fnMouseover&&b.fnMouseover.call(this,a,b,null)},function(){e(a).removeClass(b.sButtonClassHover);null!==b.fnMouseout&&b.fnMouseout.call(this,a,b,null)});
-null!==b.fnSelect&&TableTools._fnEventListen(this,"select",function(d){b.fnSelect.call(c,a,b,d)});e(a).click(function(d){d.preventDefault();null!==b.fnClick&&b.fnClick.call(c,a,b,null);null!==b.fnComplete&&b.fnComplete.call(c,a,b,null,null);c._fnCollectionHide(a,b)})},_fnFlashConfig:function(a,b){var c=this,d=new ZeroClipboard_TableTools.Client;null!==b.fnInit&&b.fnInit.call(this,a,b);d.setHandCursor(!0);"flash_save"==b.sAction?(d.setAction("save"),d.setCharSet("utf16le"==b.sCharSet?"UTF16LE":"UTF8"),
-d.setBomInc(b.bBomInc),d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))):"flash_pdf"==b.sAction?(d.setAction("pdf"),d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))):d.setAction("copy");d.addEventListener("mouseOver",function(){e(a).addClass(b.sButtonClassHover);null!==b.fnMouseover&&b.fnMouseover.call(c,a,b,d)});d.addEventListener("mouseOut",function(){e(a).removeClass(b.sButtonClassHover);null!==b.fnMouseout&&b.fnMouseout.call(c,a,b,d)});d.addEventListener("mouseDown",function(){null!==
-b.fnClick&&b.fnClick.call(c,a,b,d)});d.addEventListener("complete",function(e,g){null!==b.fnComplete&&b.fnComplete.call(c,a,b,d,g);c._fnCollectionHide(a,b)});this._fnFlashGlue(d,a,b.sToolTip)},_fnFlashGlue:function(a,b,c){var d=this,e=b.getAttribute("id");if(f.getElementById(e)){if(a.glue(b,c),a.domElement.parentNode!=a.div.parentNode&&"undefined"==typeof d.__bZCWarning)d.s.dt.oApi._fnLog(this.s.dt,0,"It looks like you are using the version of ZeroClipboard which came with TableTools 1. Please update to use the version that came with TableTools 2."),
-d.__bZCWarning=!0}else setTimeout(function(){d._fnFlashGlue(a,b,c)},100)},_fnFlashSetText:function(a,b){var c=this._fnChunkData(b,8192);a.clearText();for(var d=0,e=c.length;d<e;d++)a.appendText(c[d])},_fnColumnTargets:function(a){var b=[],c=this.s.dt;if("object"==typeof a){for(i=0,iLen=c.aoColumns.length;i<iLen;i++)b.push(!1);for(i=0,iLen=a.length;i<iLen;i++)b[a[i]]=!0}else if("visible"==a)for(i=0,iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?!0:!1);else if("hidden"==a)for(i=0,
-iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?!1:!0);else if("sortable"==a)for(i=0,iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bSortable?!0:!1);else for(i=0,iLen=c.aoColumns.length;i<iLen;i++)b.push(!0);return b},_fnNewline:function(a){return"auto"==a.sNewLine?navigator.userAgent.match(/Windows/)?"\r\n":"\n":a.sNewLine},_fnGetDataTablesData:function(a){var b,c,d,j,g,f=[],h="",k=this.s.dt,n=RegExp(a.sFieldBoundary,"g"),l=this._fnColumnTargets(a.mColumns),m="undefined"!=
-typeof a.bSelectedOnly?a.bSelectedOnly:!1;if(a.bHeader){g=[];for(b=0,c=k.aoColumns.length;b<c;b++)l[b]&&(h=k.aoColumns[b].sTitle.replace(/\n/g," ").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,""),h=this._fnHtmlDecode(h),g.push(this._fnBoundData(h,a.sFieldBoundary,n)));f.push(g.join(a.sFieldSeperator))}for(d=0,j=k.aiDisplay.length;d<j;d++)if("none"==this.s.select.type||!m||m&&e(k.aoData[k.aiDisplay[d]].nTr).hasClass(this.s.select.selectedClass)||m&&0==this.s.select.selected.length){g=[];for(b=0,c=k.aoColumns.length;b<
-c;b++)l[b]&&(h=k.oApi._fnGetCellData(k,k.aiDisplay[d],b,"display"),a.fnCellRender?h=a.fnCellRender(h,b)+"":"string"==typeof h?(h=h.replace(/\n/g," "),h=h.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,"$1$2$3"),h=h.replace(/<.*?>/g,"")):h+="",h=h.replace(/^\s+/,"").replace(/\s+$/,""),h=this._fnHtmlDecode(h),g.push(this._fnBoundData(h,a.sFieldBoundary,n)));f.push(g.join(a.sFieldSeperator))}if(a.bFooter&&null!==k.nTFoot){g=[];for(b=0,c=k.aoColumns.length;b<c;b++)l[b]&&null!==
-k.aoColumns[b].nTf&&(h=k.aoColumns[b].nTf.innerHTML.replace(/\n/g," ").replace(/<.*?>/g,""),h=this._fnHtmlDecode(h),g.push(this._fnBoundData(h,a.sFieldBoundary,n)));f.push(g.join(a.sFieldSeperator))}return _sLastData=f.join(this._fnNewline(a))},_fnBoundData:function(a,b,c){return""===b?a:b+a.replace(c,b+b)+b},_fnChunkData:function(a,b){for(var c=[],d=a.length,e=0;e<d;e+=b)e+b<d?c.push(a.substring(e,e+b)):c.push(a.substring(e,d));return c},_fnHtmlDecode:function(a){if(-1==a.indexOf("&"))return a;var a=
-this._fnChunkData(a,2048),b=f.createElement("div"),c,d,e,g="";for(c=0,d=a.length;c<d;c++)e=a[c].lastIndexOf("&"),-1!=e&&8<=a[c].length&&e>a[c].length-8&&(a[c].substr(e),a[c]=a[c].substr(0,e)),b.innerHTML=a[c],g+=b.childNodes[0].nodeValue;return g},_fnPrintConfig:function(a,b){var c=this;null!==b.fnInit&&b.fnInit.call(this,a,b);if(""!==b.sToolTip)a.title=b.sToolTip;e(a).hover(function(){e(a).addClass(b.sButtonClassHover)},function(){e(a).removeClass(b.sButtonClassHover)});null!==b.fnSelect&&TableTools._fnEventListen(this,
-"select",function(d){b.fnSelect.call(c,a,b,d)});e(a).click(function(d){d.preventDefault();c._fnPrintStart.call(c,d,b);null!==b.fnClick&&b.fnClick.call(c,a,b,null);null!==b.fnComplete&&b.fnComplete.call(c,a,b,null,null);c._fnCollectionHide(a,b)})},_fnPrintStart:function(a,b){var c=this,d=this.s.dt;this._fnPrintHideNodes(d.nTable);this.s.print.saveStart=d._iDisplayStart;this.s.print.saveLength=d._iDisplayLength;if(b.bShowAll)d._iDisplayStart=0,d._iDisplayLength=-1,d.oApi._fnCalculateEnd(d),d.oApi._fnDraw(d);
-(""!==d.oScroll.sX||""!==d.oScroll.sY)&&this._fnPrintScrollStart(d);var d=d.aanFeatures,j;for(j in d)if("i"!=j&&"t"!=j&&1==j.length)for(var g=0,o=d[j].length;g<o;g++)this.dom.print.hidden.push({node:d[j][g],display:"block"}),d[j][g].style.display="none";e(f.body).addClass("DTTT_Print");if(""!==b.sInfo){var h=f.createElement("div");h.className="DTTT_print_info";h.innerHTML=b.sInfo;f.body.appendChild(h);setTimeout(function(){e(h).fadeOut("normal",function(){f.body.removeChild(h)})},2E3)}if(""!==b.sMessage)this.dom.print.message=
-f.createElement("div"),this.dom.print.message.className="DTTT_PrintMessage",this.dom.print.message.innerHTML=b.sMessage,f.body.insertBefore(this.dom.print.message,f.body.childNodes[0]);this.s.print.saveScroll=e(m).scrollTop();m.scrollTo(0,0);this.s.print.funcEnd=function(a){c._fnPrintEnd.call(c,a)};e(f).bind("keydown",null,this.s.print.funcEnd)},_fnPrintEnd:function(a){if(27==a.keyCode){a.preventDefault();var a=this.s.dt,b=this.s.print,c=this.dom.print;this._fnPrintShowNodes();(""!==a.oScroll.sX||
-""!==a.oScroll.sY)&&this._fnPrintScrollEnd();m.scrollTo(0,b.saveScroll);if(null!==c.message)f.body.removeChild(c.message),c.message=null;e(f.body).removeClass("DTTT_Print");a._iDisplayStart=b.saveStart;a._iDisplayLength=b.saveLength;a.oApi._fnCalculateEnd(a);a.oApi._fnDraw(a);e(f).unbind("keydown",this.s.print.funcEnd);this.s.print.funcEnd=null}},_fnPrintScrollStart:function(){var a=this.s.dt;a.nScrollHead.getElementsByTagName("div")[0].getElementsByTagName("table");var b=a.nTable.parentNode,c=a.nTable.getElementsByTagName("thead");
-0<c.length&&a.nTable.removeChild(c[0]);null!==a.nTFoot&&(c=a.nTable.getElementsByTagName("tfoot"),0<c.length&&a.nTable.removeChild(c[0]));c=a.nTHead.cloneNode(!0);a.nTable.insertBefore(c,a.nTable.childNodes[0]);null!==a.nTFoot&&(c=a.nTFoot.cloneNode(!0),a.nTable.insertBefore(c,a.nTable.childNodes[1]));if(""!==a.oScroll.sX)a.nTable.style.width=e(a.nTable).outerWidth()+"px",b.style.width=e(a.nTable).outerWidth()+"px",b.style.overflow="visible";if(""!==a.oScroll.sY)b.style.height=e(a.nTable).outerHeight()+
-"px",b.style.overflow="visible"},_fnPrintScrollEnd:function(){var a=this.s.dt,b=a.nTable.parentNode;if(""!==a.oScroll.sX)b.style.width=a.oApi._fnStringToCss(a.oScroll.sX),b.style.overflow="auto";if(""!==a.oScroll.sY)b.style.height=a.oApi._fnStringToCss(a.oScroll.sY),b.style.overflow="auto"},_fnPrintShowNodes:function(){for(var a=this.dom.print.hidden,b=0,c=a.length;b<c;b++)a[b].node.style.display=a[b].display;a.splice(0,a.length)},_fnPrintHideNodes:function(a){for(var b=this.dom.print.hidden,c=a.parentNode,
-d=c.childNodes,j=0,g=d.length;j<g;j++)if(d[j]!=a&&1==d[j].nodeType){var f=e(d[j]).css("display");if("none"!=f)b.push({node:d[j],display:f}),d[j].style.display="none"}"BODY"!=c.nodeName&&this._fnPrintHideNodes(c)}};TableTools._aInstances=[];TableTools._aListeners=[];TableTools.fnGetMasters=function(){for(var a=[],b=0,c=TableTools._aInstances.length;b<c;b++)TableTools._aInstances[b].s.master&&a.push(TableTools._aInstances[b]);return a};TableTools.fnGetInstance=function(a){"object"!=typeof a&&(a=f.getElementById(a));
-for(var b=0,c=TableTools._aInstances.length;b<c;b++)if(TableTools._aInstances[b].s.master&&TableTools._aInstances[b].dom.table==a)return TableTools._aInstances[b];return null};TableTools._fnEventListen=function(a,b,c){TableTools._aListeners.push({that:a,type:b,fn:c})};TableTools._fnEventDispatch=function(a,b,c){for(var d=TableTools._aListeners,e=0,f=d.length;e<f;e++)a.dom.table==d[e].that.dom.table&&d[e].type==b&&d[e].fn(c)};TableTools.BUTTONS={csv:{sAction:"flash_save",sCharSet:"utf8",bBomInc:!1,
-sFileName:"*.csv",sFieldBoundary:'"',sFieldSeperator:",",sNewLine:"auto",sTitle:"",sToolTip:"",sButtonClass:"DTTT_button_csv",sButtonClassHover:"DTTT_button_csv_hover",sButtonText:"CSV",mColumns:"all",bHeader:!0,bFooter:!0,bSelectedOnly:!1,fnMouseover:null,fnMouseout:null,fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnSelect:null,fnComplete:null,fnInit:null,fnCellRender:null},xls:{sAction:"flash_save",sCharSet:"utf16le",bBomInc:!0,sFileName:"*.csv",sFieldBoundary:"",sFieldSeperator:"\t",
-sNewLine:"auto",sTitle:"",sToolTip:"",sButtonClass:"DTTT_button_xls",sButtonClassHover:"DTTT_button_xls_hover",sButtonText:"Excel",mColumns:"all",bHeader:!0,bFooter:!0,bSelectedOnly:!1,fnMouseover:null,fnMouseout:null,fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnSelect:null,fnComplete:null,fnInit:null,fnCellRender:null},copy:{sAction:"flash_copy",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"auto",sToolTip:"",sButtonClass:"DTTT_button_copy",sButtonClassHover:"DTTT_button_copy_hover",
-sButtonText:"Copy",mColumns:"all",bHeader:!0,bFooter:!0,bSelectedOnly:!1,fnMouseover:null,fnMouseout:null,fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnSelect:null,fnComplete:function(a,b,c,d){a=d.split("\n").length;a=null===this.s.dt.nTFoot?a-1:a-2;alert("Copied "+a+" row"+(1==a?"":"s")+" to the clipboard")},fnInit:null,fnCellRender:null},pdf:{sAction:"flash_pdf",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"\n",sFileName:"*.pdf",sToolTip:"",sTitle:"",sButtonClass:"DTTT_button_pdf",
-sButtonClassHover:"DTTT_button_pdf_hover",sButtonText:"PDF",mColumns:"all",bHeader:!0,bFooter:!1,bSelectedOnly:!1,fnMouseover:null,fnMouseout:null,sPdfOrientation:"portrait",sPdfSize:"A4",sPdfMessage:"",fnClick:function(a,b,c){this.fnSetText(c,"title:"+this.fnGetTitle(b)+"\nmessage:"+b.sPdfMessage+"\ncolWidth:"+this.fnCalcColRatios(b)+"\norientation:"+b.sPdfOrientation+"\nsize:"+b.sPdfSize+"\n--/TableToolsOpts--\n"+this.fnGetTableData(b))},fnSelect:null,fnComplete:null,fnInit:null,fnCellRender:null},
-print:{sAction:"print",sInfo:"<h6>Print view</h6><p>Please use your browser's print function to print this table. Press escape when finished.",sMessage:"",bShowAll:!0,sToolTip:"View print view",sButtonClass:"DTTT_button_print",sButtonClassHover:"DTTT_button_print_hover",sButtonText:"Print",fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:null,fnComplete:null,fnInit:null,fnCellRender:null},text:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",
-sButtonText:"Text button",mColumns:"all",bHeader:!0,bFooter:!0,bSelectedOnly:!1,fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:null,fnComplete:null,fnInit:null,fnCellRender:null},select:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Select button",mColumns:"all",bHeader:!0,bFooter:!0,fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:function(a){0!==this.fnGetSelected().length?e(a).removeClass("DTTT_disabled"):e(a).addClass("DTTT_disabled")},
-fnComplete:null,fnInit:function(a){e(a).addClass("DTTT_disabled")},fnCellRender:null},select_single:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Select button",mColumns:"all",bHeader:!0,bFooter:!0,fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:function(a){1==this.fnGetSelected().length?e(a).removeClass("DTTT_disabled"):e(a).addClass("DTTT_disabled")},fnComplete:null,fnInit:function(a){e(a).addClass("DTTT_disabled")},fnCellRender:null},
-select_all:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Select all",mColumns:"all",bHeader:!0,bFooter:!0,fnMouseover:null,fnMouseout:null,fnClick:function(){this.fnSelectAll()},fnSelect:function(a){this.fnGetSelected().length==this.s.dt.fnRecordsDisplay()?e(a).addClass("DTTT_disabled"):e(a).removeClass("DTTT_disabled")},fnComplete:null,fnInit:null,fnCellRender:null},select_none:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",
-sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Deselect all",mColumns:"all",bHeader:!0,bFooter:!0,fnMouseover:null,fnMouseout:null,fnClick:function(){this.fnSelectNone()},fnSelect:function(a){0!==this.fnGetSelected().length?e(a).removeClass("DTTT_disabled"):e(a).addClass("DTTT_disabled")},fnComplete:null,fnInit:function(a){e(a).addClass("DTTT_disabled")},fnCellRender:null},ajax:{sAction:"text",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"\n",sAjaxUrl:"/xhr.php",sToolTip:"",sButtonClass:"DTTT_button_text",
-sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Ajax button",mColumns:"all",bHeader:!0,bFooter:!0,bSelectedOnly:!1,fnMouseover:null,fnMouseout:null,fnClick:function(a,b){var c=this.fnGetTableData(b);e.ajax({url:b.sAjaxUrl,data:[{name:"tableData",value:c}],success:b.fnAjaxComplete,dataType:"json",type:"POST",cache:!1,error:function(){alert("Error detected when sending table data to server")}})},fnSelect:null,fnComplete:null,fnInit:null,fnAjaxComplete:function(){alert("Ajax complete")},fnCellRender:null},
-div:{sAction:"div",sToolTip:"",sButtonClass:"DTTT_nonbutton",sButtonClassHover:"",sButtonText:"Text button",fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:null,fnComplete:null,fnInit:null,nContent:null,fnCellRender:null},collection:{sAction:"collection",sToolTip:"",sButtonClass:"DTTT_button_collection",sButtonClassHover:"DTTT_button_collection_hover",sButtonText:"Collection",fnMouseover:null,fnMouseout:null,fnClick:function(a,b){this._fnCollectionShow(a,b)},fnSelect:null,fnComplete:null,fnInit:null,
-fnCellRender:null}};TableTools.DEFAULTS={sSwfPath:"media/swf/copy_csv_xls_pdf.swf",sRowSelect:"none",sSelectedClass:"DTTT_selected",fnPreRowSelect:null,fnRowSelected:null,fnRowDeselected:null,aButtons:["copy","csv","xls","pdf","print"]};TableTools.prototype.CLASS="TableTools";TableTools.VERSION="2.0.3";TableTools.prototype.VERSION=TableTools.VERSION;"function"==typeof e.fn.dataTable&&"function"==typeof e.fn.dataTableExt.fnVersionCheck&&e.fn.dataTableExt.fnVersionCheck("1.8.2")?e.fn.dataTableExt.aoFeatures.push({fnInit:function(a){a=
-new TableTools(a.oInstance,"undefined"!=typeof a.oInit.oTableTools?a.oInit.oTableTools:{});TableTools._aInstances.push(a);return a.dom.container},cFeature:"T",sFeature:"TableTools"}):alert("Warning: TableTools 2 requires DataTables 1.8.2 or newer - www.datatables.net/download")})(jQuery,window,document);
+(function(f,n,g){TableTools=function(a,b){!this instanceof TableTools&&alert("Warning: TableTools must be initialised with the keyword 'new'");this.s={that:this,dt:a.fnSettings(),print:{saveStart:-1,saveLength:-1,saveScroll:-1,funcEnd:function(){}},buttonCounter:0,select:{type:"",selected:[],preRowSelect:null,postSelected:null,postDeselected:null,all:!1,selectedClass:""},custom:{},swfPath:"",buttonSet:[],master:!1,tags:{}};this.dom={container:null,table:null,print:{hidden:[],message:null},collection:{collection:null,
+background:null}};this.classes=f.extend(!0,{},TableTools.classes);this.s.dt.bJUI&&f.extend(!0,this.classes,TableTools.classes_themeroller);this.fnSettings=function(){return this.s};"undefined"==typeof b&&(b={});this._fnConstruct(b);return this};TableTools.prototype={fnGetSelected:function(a){var b=[],c=this.s.dt.aoData,d=this.s.dt.aiDisplay,e;if(a){a=0;for(e=d.length;a<e;a++)c[d[a]]._DTTT_selected&&b.push(c[d[a]].nTr)}else{a=0;for(e=c.length;a<e;a++)c[a]._DTTT_selected&&b.push(c[a].nTr)}return b},
+fnGetSelectedData:function(){var a=[],b=this.s.dt.aoData,c,d;c=0;for(d=b.length;c<d;c++)b[c]._DTTT_selected&&a.push(this.s.dt.oInstance.fnGetData(c));return a},fnIsSelected:function(a){a=this.s.dt.oInstance.fnGetPosition(a);return!0===this.s.dt.aoData[a]._DTTT_selected?!0:!1},fnSelectAll:function(a){var b=this._fnGetMasterSettings();this._fnRowSelect(!0===a?b.dt.aiDisplay:b.dt.aoData)},fnSelectNone:function(a){this._fnGetMasterSettings();this._fnRowDeselect(this.fnGetSelected(a))},fnSelect:function(a){"single"==
+this.s.select.type?(this.fnSelectNone(),this._fnRowSelect(a)):"multi"==this.s.select.type&&this._fnRowSelect(a)},fnDeselect:function(a){this._fnRowDeselect(a)},fnGetTitle:function(a){var b="";"undefined"!=typeof a.sTitle&&""!==a.sTitle?b=a.sTitle:(a=g.getElementsByTagName("title"),0<a.length&&(b=a[0].innerHTML));return 4>"\u00a1".toString().length?b.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,""):b.replace(/[^a-zA-Z0-9_\.,\-_ !\(\)]/g,"")},fnCalcColRatios:function(a){var b=this.s.dt.aoColumns,
+a=this._fnColumnTargets(a.mColumns),c=[],d=0,e=0,f,g;f=0;for(g=a.length;f<g;f++)a[f]&&(d=b[f].nTh.offsetWidth,e+=d,c.push(d));f=0;for(g=c.length;f<g;f++)c[f]/=e;return c.join("\t")},fnGetTableData:function(a){if(this.s.dt)return this._fnGetDataTablesData(a)},fnSetText:function(a,b){this._fnFlashSetText(a,b)},fnResizeButtons:function(){for(var a in ZeroClipboard_TableTools.clients)if(a){var b=ZeroClipboard_TableTools.clients[a];"undefined"!=typeof b.domElement&&b.domElement.parentNode&&b.positionElement()}},
+fnResizeRequired:function(){for(var a in ZeroClipboard_TableTools.clients)if(a){var b=ZeroClipboard_TableTools.clients[a];if("undefined"!=typeof b.domElement&&b.domElement.parentNode==this.dom.container&&!1===b.sized)return!0}return!1},fnPrint:function(a,b){void 0===b&&(b={});void 0===a||a?this._fnPrintStart(b):this._fnPrintEnd()},fnInfo:function(a,b){var c=g.createElement("div");c.className=this.classes.print.info;c.innerHTML=a;g.body.appendChild(c);setTimeout(function(){f(c).fadeOut("normal",function(){g.body.removeChild(c)})},
+b)},_fnConstruct:function(a){var b=this;this._fnCustomiseSettings(a);this.dom.container=g.createElement(this.s.tags.container);this.dom.container.className=this.classes.container;"none"!=this.s.select.type&&this._fnRowSelectConfig();this._fnButtonDefinations(this.s.buttonSet,this.dom.container);this.s.dt.aoDestroyCallback.push({sName:"TableTools",fn:function(){b.dom.container.innerHTML=""}})},_fnCustomiseSettings:function(a){"undefined"==typeof this.s.dt._TableToolsInit&&(this.s.master=!0,this.s.dt._TableToolsInit=
+!0);this.dom.table=this.s.dt.nTable;this.s.custom=f.extend({},TableTools.DEFAULTS,a);this.s.swfPath=this.s.custom.sSwfPath;"undefined"!=typeof ZeroClipboard_TableTools&&(ZeroClipboard_TableTools.moviePath=this.s.swfPath);this.s.select.type=this.s.custom.sRowSelect;this.s.select.preRowSelect=this.s.custom.fnPreRowSelect;this.s.select.postSelected=this.s.custom.fnRowSelected;this.s.select.postDeselected=this.s.custom.fnRowDeselected;this.s.custom.sSelectedClass&&(this.classes.select.row=this.s.custom.sSelectedClass);
+this.s.tags=this.s.custom.oTags;this.s.buttonSet=this.s.custom.aButtons},_fnButtonDefinations:function(a,b){for(var c,d=0,e=a.length;d<e;d++){if("string"==typeof a[d]){if("undefined"==typeof TableTools.BUTTONS[a[d]]){alert("TableTools: Warning - unknown button type: "+a[d]);continue}c=f.extend({},TableTools.BUTTONS[a[d]],!0)}else{if("undefined"==typeof TableTools.BUTTONS[a[d].sExtends]){alert("TableTools: Warning - unknown button type: "+a[d].sExtends);continue}c=f.extend({},TableTools.BUTTONS[a[d].sExtends],
+!0);c=f.extend(c,a[d],!0)}b.appendChild(this._fnCreateButton(c,f(b).hasClass(this.classes.collection.container)))}},_fnCreateButton:function(a,b){var c=this._fnButtonBase(a,b);a.sAction.match(/flash/)?this._fnFlashConfig(c,a):"text"==a.sAction?this._fnTextConfig(c,a):"div"==a.sAction?this._fnTextConfig(c,a):"collection"==a.sAction&&(this._fnTextConfig(c,a),this._fnCollectionConfig(c,a));return c},_fnButtonBase:function(a,b){var c,d,e;b?(c="default"!==a.sTag?a.sTag:this.s.tags.collection.button,d=
+"default"!==a.sLinerTag?a.sLiner:this.s.tags.collection.liner,e=this.classes.collection.buttons.normal):(c="default"!==a.sTag?a.sTag:this.s.tags.button,d="default"!==a.sLinerTag?a.sLiner:this.s.tags.liner,e=this.classes.buttons.normal);c=g.createElement(c);d=g.createElement(d);var f=this._fnGetMasterSettings();c.className=e+" "+a.sButtonClass;c.setAttribute("id","ToolTables_"+this.s.dt.sInstance+"_"+f.buttonCounter);c.appendChild(d);d.innerHTML=a.sButtonText;f.buttonCounter++;return c},_fnGetMasterSettings:function(){if(this.s.master)return this.s;
+for(var a=TableTools._aInstances,b=0,c=a.length;b<c;b++)if(this.dom.table==a[b].s.dt.nTable)return a[b].s},_fnCollectionConfig:function(a,b){var c=g.createElement(this.s.tags.collection.container);c.style.display="none";c.className=this.classes.collection.container;b._collection=c;g.body.appendChild(c);this._fnButtonDefinations(b.aButtons,c)},_fnCollectionShow:function(a,b){var c=this,d=f(a).offset(),e=b._collection,j=d.left,d=d.top+f(a).outerHeight(),m=f(n).height(),h=f(g).height(),k=f(n).width(),
+o=f(g).width();e.style.position="absolute";e.style.left=j+"px";e.style.top=d+"px";e.style.display="block";f(e).css("opacity",0);var l=g.createElement("div");l.style.position="absolute";l.style.left="0px";l.style.top="0px";l.style.height=(m>h?m:h)+"px";l.style.width=(k>o?k:o)+"px";l.className=this.classes.collection.background;f(l).css("opacity",0);g.body.appendChild(l);g.body.appendChild(e);m=f(e).outerWidth();k=f(e).outerHeight();j+m>o&&(e.style.left=o-m+"px");d+k>h&&(e.style.top=d-k-f(a).outerHeight()+
+"px");this.dom.collection.collection=e;this.dom.collection.background=l;setTimeout(function(){f(e).animate({opacity:1},500);f(l).animate({opacity:0.25},500)},10);this.fnResizeButtons();f(l).click(function(){c._fnCollectionHide.call(c,null,null)})},_fnCollectionHide:function(a,b){!(null!==b&&"collection"==b.sExtends)&&null!==this.dom.collection.collection&&(f(this.dom.collection.collection).animate({opacity:0},500,function(){this.style.display="none"}),f(this.dom.collection.background).animate({opacity:0},
+500,function(){this.parentNode.removeChild(this)}),this.dom.collection.collection=null,this.dom.collection.background=null)},_fnRowSelectConfig:function(){if(this.s.master){var a=this,b=this.s.dt;f(b.nTable).addClass(this.classes.select.table);f("tr",b.nTBody).live("click",function(c){this.parentNode==b.nTBody&&null!==b.oInstance.fnGetData(this)&&(a.fnIsSelected(this)?a._fnRowDeselect(this,c):"single"==a.s.select.type?(a.fnSelectNone(),a._fnRowSelect(this,c)):"multi"==a.s.select.type&&a._fnRowSelect(this,
+c))});b.oApi._fnCallbackReg(b,"aoRowCreatedCallback",function(c,d,e){b.aoData[e]._DTTT_selected&&f(c).addClass(a.classes.select.row)},"TableTools-SelectAll")}},_fnRowSelect:function(a,b){var c=this._fnSelectData(a),d=[],e,j;e=0;for(j=c.length;e<j;e++)c[e].nTr&&d.push(c[e].nTr);if(null===this.s.select.preRowSelect||this.s.select.preRowSelect.call(this,b,d,!0)){e=0;for(j=c.length;e<j;e++)c[e]._DTTT_selected=!0,c[e].nTr&&f(c[e].nTr).addClass(this.classes.select.row);null!==this.s.select.postSelected&&
+this.s.select.postSelected.call(this,d);TableTools._fnEventDispatch(this,"select",d,!0)}},_fnRowDeselect:function(a,b){var c=this._fnSelectData(a),d=[],e,j;e=0;for(j=c.length;e<j;e++)c[e].nTr&&d.push(c[e].nTr);if(null===this.s.select.preRowSelect||this.s.select.preRowSelect.call(this,b,d,!1)){e=0;for(j=c.length;e<j;e++)c[e]._DTTT_selected=!1,c[e].nTr&&f(c[e].nTr).removeClass(this.classes.select.row);null!==this.s.select.postDeselected&&this.s.select.postDeselected.call(this,d);TableTools._fnEventDispatch(this,
+"select",d,!1)}},_fnSelectData:function(a){var b=[],c,d,e;if(a.nodeName)c=this.s.dt.oInstance.fnGetPosition(a),b.push(this.s.dt.aoData[c]);else if("undefined"!==typeof a.length){d=0;for(e=a.length;d<e;d++)a[d].nodeName?(c=this.s.dt.oInstance.fnGetPosition(a[d]),b.push(this.s.dt.aoData[c])):"number"===typeof a[d]?b.push(this.s.dt.aoData[a[d]]):b.push(a[d])}else b.push(a);return b},_fnTextConfig:function(a,b){var c=this;null!==b.fnInit&&b.fnInit.call(this,a,b);""!==b.sToolTip&&(a.title=b.sToolTip);
+f(a).hover(function(){b.fnMouseover!==null&&b.fnMouseover.call(this,a,b,null)},function(){b.fnMouseout!==null&&b.fnMouseout.call(this,a,b,null)});null!==b.fnSelect&&TableTools._fnEventListen(this,"select",function(d){b.fnSelect.call(c,a,b,d)});f(a).click(function(){b.fnClick!==null&&b.fnClick.call(c,a,b,null);b.fnComplete!==null&&b.fnComplete.call(c,a,b,null,null);c._fnCollectionHide(a,b)})},_fnFlashConfig:function(a,b){var c=this,d=new ZeroClipboard_TableTools.Client;null!==b.fnInit&&b.fnInit.call(this,
+a,b);d.setHandCursor(!0);"flash_save"==b.sAction?(d.setAction("save"),d.setCharSet("utf16le"==b.sCharSet?"UTF16LE":"UTF8"),d.setBomInc(b.bBomInc),d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))):"flash_pdf"==b.sAction?(d.setAction("pdf"),d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))):d.setAction("copy");d.addEventListener("mouseOver",function(){b.fnMouseover!==null&&b.fnMouseover.call(c,a,b,d)});d.addEventListener("mouseOut",function(){b.fnMouseout!==null&&b.fnMouseout.call(c,
+a,b,d)});d.addEventListener("mouseDown",function(){b.fnClick!==null&&b.fnClick.call(c,a,b,d)});d.addEventListener("complete",function(e,f){b.fnComplete!==null&&b.fnComplete.call(c,a,b,d,f);c._fnCollectionHide(a,b)});this._fnFlashGlue(d,a,b.sToolTip)},_fnFlashGlue:function(a,b,c){var d=this,e=b.getAttribute("id");g.getElementById(e)?a.glue(b,c):setTimeout(function(){d._fnFlashGlue(a,b,c)},100)},_fnFlashSetText:function(a,b){var c=this._fnChunkData(b,8192);a.clearText();for(var d=0,e=c.length;d<e;d++)a.appendText(c[d])},
+_fnColumnTargets:function(a){var b=[],c=this.s.dt;if("object"==typeof a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(!1);i=0;for(iLen=a.length;i<iLen;i++)b[a[i]]=!0}else if("visible"==a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?!0:!1)}else if("hidden"==a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?!1:!0)}else if("sortable"==a){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bSortable?!0:!1)}else{i=0;for(iLen=c.aoColumns.length;i<
+iLen;i++)b.push(!0)}return b},_fnNewline:function(a){return"auto"==a.sNewLine?navigator.userAgent.match(/Windows/)?"\r\n":"\n":a.sNewLine},_fnGetDataTablesData:function(a){var b,c,d,e,j,g=[],h="",k=this.s.dt,o,l=RegExp(a.sFieldBoundary,"g"),n=this._fnColumnTargets(a.mColumns);d="undefined"!=typeof a.bSelectedOnly?a.bSelectedOnly:!1;if(a.bHeader){j=[];b=0;for(c=k.aoColumns.length;b<c;b++)n[b]&&(h=k.aoColumns[b].sTitle.replace(/\n/g," ").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,""),h=this._fnHtmlDecode(h),
+j.push(this._fnBoundData(h,a.sFieldBoundary,l)));g.push(j.join(a.sFieldSeperator))}var p=k.aiDisplay;e=this.fnGetSelected();if("none"!==this.s.select.type&&d&&0!==e.length){p=[];b=0;for(c=e.length;b<c;b++)p.push(k.oInstance.fnGetPosition(e[b]))}d=0;for(e=p.length;d<e;d++){o=k.aoData[p[d]].nTr;j=[];b=0;for(c=k.aoColumns.length;b<c;b++)n[b]&&(h=k.oApi._fnGetCellData(k,p[d],b,"display"),a.fnCellRender?h=a.fnCellRender(h,b,o,p[d])+"":"string"==typeof h?(h=h.replace(/\n/g," "),h=h.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,
+"$1$2$3"),h=h.replace(/<.*?>/g,"")):h+="",h=h.replace(/^\s+/,"").replace(/\s+$/,""),h=this._fnHtmlDecode(h),j.push(this._fnBoundData(h,a.sFieldBoundary,l)));g.push(j.join(a.sFieldSeperator));a.bOpenRows&&(b=f.grep(k.aoOpenRows,function(a){return a.nParent===o}),1===b.length&&(h=this._fnBoundData(f("td",b[0].nTr).html(),a.sFieldBoundary,l),g.push(h)))}if(a.bFooter&&null!==k.nTFoot){j=[];b=0;for(c=k.aoColumns.length;b<c;b++)n[b]&&null!==k.aoColumns[b].nTf&&(h=k.aoColumns[b].nTf.innerHTML.replace(/\n/g,
+" ").replace(/<.*?>/g,""),h=this._fnHtmlDecode(h),j.push(this._fnBoundData(h,a.sFieldBoundary,l)));g.push(j.join(a.sFieldSeperator))}return _sLastData=g.join(this._fnNewline(a))},_fnBoundData:function(a,b,c){return""===b?a:b+a.replace(c,b+b)+b},_fnChunkData:function(a,b){for(var c=[],d=a.length,e=0;e<d;e+=b)e+b<d?c.push(a.substring(e,e+b)):c.push(a.substring(e,d));return c},_fnHtmlDecode:function(a){if(-1===a.indexOf("&"))return a;var b=g.createElement("div");return a.replace(/&([^\s]*);/g,function(a,
+d){if("#"===a.substr(1,1))return String.fromCharCode(Number(d.substr(1)));b.innerHTML=a;return b.childNodes[0].nodeValue})},_fnPrintStart:function(a){var b=this,c=this.s.dt;this._fnPrintHideNodes(c.nTable);this.s.print.saveStart=c._iDisplayStart;this.s.print.saveLength=c._iDisplayLength;a.bShowAll&&(c._iDisplayStart=0,c._iDisplayLength=-1,c.oApi._fnCalculateEnd(c),c.oApi._fnDraw(c));if(""!==c.oScroll.sX||""!==c.oScroll.sY)this._fnPrintScrollStart(c),f(this.s.dt.nTable).bind("draw.DTTT_Print",function(){b._fnPrintScrollStart(c)});
+var d=c.aanFeatures,e;for(e in d)if("i"!=e&&"t"!=e&&1==e.length)for(var j=0,m=d[e].length;j<m;j++)this.dom.print.hidden.push({node:d[e][j],display:"block"}),d[e][j].style.display="none";f(g.body).addClass(this.classes.print.body);""!==a.sInfo&&this.fnInfo(a.sInfo,3E3);a.sMessage&&(this.dom.print.message=g.createElement("div"),this.dom.print.message.className=this.classes.print.message,this.dom.print.message.innerHTML=a.sMessage,g.body.insertBefore(this.dom.print.message,g.body.childNodes[0]));this.s.print.saveScroll=
+f(n).scrollTop();n.scrollTo(0,0);f(g).bind("keydown.DTTT",function(a){if(a.keyCode==27){a.preventDefault();b._fnPrintEnd.call(b,a)}})},_fnPrintEnd:function(){var a=this.s.dt,b=this.s.print,c=this.dom.print;this._fnPrintShowNodes();if(""!==a.oScroll.sX||""!==a.oScroll.sY)f(this.s.dt.nTable).unbind("draw.DTTT_Print"),this._fnPrintScrollEnd();n.scrollTo(0,b.saveScroll);null!==c.message&&(g.body.removeChild(c.message),c.message=null);f(g.body).removeClass("DTTT_Print");a._iDisplayStart=b.saveStart;a._iDisplayLength=
+b.saveLength;a.oApi._fnCalculateEnd(a);a.oApi._fnDraw(a);f(g).unbind("keydown.DTTT")},_fnPrintScrollStart:function(){var a=this.s.dt;a.nScrollHead.getElementsByTagName("div")[0].getElementsByTagName("table");var b=a.nTable.parentNode,c=a.nTable.getElementsByTagName("thead");0<c.length&&a.nTable.removeChild(c[0]);null!==a.nTFoot&&(c=a.nTable.getElementsByTagName("tfoot"),0<c.length&&a.nTable.removeChild(c[0]));c=a.nTHead.cloneNode(!0);a.nTable.insertBefore(c,a.nTable.childNodes[0]);null!==a.nTFoot&&
+(c=a.nTFoot.cloneNode(!0),a.nTable.insertBefore(c,a.nTable.childNodes[1]));""!==a.oScroll.sX&&(a.nTable.style.width=f(a.nTable).outerWidth()+"px",b.style.width=f(a.nTable).outerWidth()+"px",b.style.overflow="visible");""!==a.oScroll.sY&&(b.style.height=f(a.nTable).outerHeight()+"px",b.style.overflow="visible")},_fnPrintScrollEnd:function(){var a=this.s.dt,b=a.nTable.parentNode;""!==a.oScroll.sX&&(b.style.width=a.oApi._fnStringToCss(a.oScroll.sX),b.style.overflow="auto");""!==a.oScroll.sY&&(b.style.height=
+a.oApi._fnStringToCss(a.oScroll.sY),b.style.overflow="auto")},_fnPrintShowNodes:function(){for(var a=this.dom.print.hidden,b=0,c=a.length;b<c;b++)a[b].node.style.display=a[b].display;a.splice(0,a.length)},_fnPrintHideNodes:function(a){for(var b=this.dom.print.hidden,c=a.parentNode,d=c.childNodes,e=0,g=d.length;e<g;e++)if(d[e]!=a&&1==d[e].nodeType){var m=f(d[e]).css("display");"none"!=m&&(b.push({node:d[e],display:m}),d[e].style.display="none")}"BODY"!=c.nodeName&&this._fnPrintHideNodes(c)}};TableTools._aInstances=
+[];TableTools._aListeners=[];TableTools.fnGetMasters=function(){for(var a=[],b=0,c=TableTools._aInstances.length;b<c;b++)TableTools._aInstances[b].s.master&&a.push(TableTools._aInstances[b]);return a};TableTools.fnGetInstance=function(a){"object"!=typeof a&&(a=g.getElementById(a));for(var b=0,c=TableTools._aInstances.length;b<c;b++)if(TableTools._aInstances[b].s.master&&TableTools._aInstances[b].dom.table==a)return TableTools._aInstances[b];return null};TableTools._fnEventListen=function(a,b,c){TableTools._aListeners.push({that:a,
+type:b,fn:c})};TableTools._fnEventDispatch=function(a,b,c,d){for(var e=TableTools._aListeners,f=0,g=e.length;f<g;f++)a.dom.table==e[f].that.dom.table&&e[f].type==b&&e[f].fn(c,d)};TableTools.buttonBase={sAction:"text",sTag:"default",sLinerTag:"default",sButtonClass:"DTTT_button_text",sButtonText:"Button text",sTitle:"",sToolTip:"",sCharSet:"utf8",bBomInc:!1,sFileName:"*.csv",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"auto",mColumns:"all",bHeader:!0,bFooter:!0,bOpenRows:!1,bSelectedOnly:!1,fnMouseover:null,
+fnMouseout:null,fnClick:null,fnSelect:null,fnComplete:null,fnInit:null,fnCellRender:null};TableTools.BUTTONS={csv:f.extend({},TableTools.buttonBase,{sAction:"flash_save",sButtonClass:"DTTT_button_csv",sButtonText:"CSV",sFieldBoundary:'"',sFieldSeperator:",",fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))}}),xls:f.extend({},TableTools.buttonBase,{sAction:"flash_save",sCharSet:"utf16le",bBomInc:!0,sButtonClass:"DTTT_button_xls",sButtonText:"Excel",fnClick:function(a,b,c){this.fnSetText(c,
+this.fnGetTableData(b))}}),copy:f.extend({},TableTools.buttonBase,{sAction:"flash_copy",sButtonClass:"DTTT_button_copy",sButtonText:"Copy",fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnComplete:function(a,b,c,d){a=d.split("\n").length;a=null===this.s.dt.nTFoot?a-1:a-2;this.fnInfo("<h6>Table copied</h6><p>Copied "+a+" row"+(1==a?"":"s")+" to the clipboard.</p>",1500)}}),pdf:f.extend({},TableTools.buttonBase,{sAction:"flash_pdf",sNewLine:"\n",sFileName:"*.pdf",sButtonClass:"DTTT_button_pdf",
+sButtonText:"PDF",sPdfOrientation:"portrait",sPdfSize:"A4",sPdfMessage:"",fnClick:function(a,b,c){this.fnSetText(c,"title:"+this.fnGetTitle(b)+"\nmessage:"+b.sPdfMessage+"\ncolWidth:"+this.fnCalcColRatios(b)+"\norientation:"+b.sPdfOrientation+"\nsize:"+b.sPdfSize+"\n--/TableToolsOpts--\n"+this.fnGetTableData(b))}}),print:f.extend({},TableTools.buttonBase,{sInfo:"<h6>Print view</h6><p>Please use your browser's print function to print this table. Press escape when finished.",sMessage:null,bShowAll:!0,
+sToolTip:"View print view",sButtonClass:"DTTT_button_print",sButtonText:"Print",fnClick:function(a,b){this.fnPrint(!0,b)}}),text:f.extend({},TableTools.buttonBase),select:f.extend({},TableTools.buttonBase,{sButtonText:"Select button",fnSelect:function(a){0!==this.fnGetSelected().length?f(a).removeClass(this.classes.buttons.disabled):f(a).addClass(this.classes.buttons.disabled)},fnInit:function(a){f(a).addClass(this.classes.buttons.disabled)}}),select_single:f.extend({},TableTools.buttonBase,{sButtonText:"Select button",
+fnSelect:function(a){1==this.fnGetSelected().length?f(a).removeClass(this.classes.buttons.disabled):f(a).addClass(this.classes.buttons.disabled)},fnInit:function(a){f(a).addClass(this.classes.buttons.disabled)}}),select_all:f.extend({},TableTools.buttonBase,{sButtonText:"Select all",fnClick:function(){this.fnSelectAll()},fnSelect:function(a){this.fnGetSelected().length==this.s.dt.fnRecordsDisplay()?f(a).addClass(this.classes.buttons.disabled):f(a).removeClass(this.classes.buttons.disabled)}}),select_none:f.extend({},
+TableTools.buttonBase,{sButtonText:"Deselect all",fnClick:function(){this.fnSelectNone()},fnSelect:function(a){0!==this.fnGetSelected().length?f(a).removeClass(this.classes.buttons.disabled):f(a).addClass(this.classes.buttons.disabled)},fnInit:function(a){f(a).addClass(this.classes.buttons.disabled)}}),ajax:f.extend({},TableTools.buttonBase,{sAjaxUrl:"/xhr.php",sButtonText:"Ajax button",fnClick:function(a,b){var c=this.fnGetTableData(b);f.ajax({url:b.sAjaxUrl,data:[{name:"tableData",value:c}],success:b.fnAjaxComplete,
+dataType:"json",type:"POST",cache:!1,error:function(){alert("Error detected when sending table data to server")}})},fnAjaxComplete:function(){alert("Ajax complete")}}),div:f.extend({},TableTools.buttonBase,{sAction:"div",sTag:"div",sButtonClass:"DTTT_nonbutton",sButtonText:"Text button"}),collection:f.extend({},TableTools.buttonBase,{sAction:"collection",sButtonClass:"DTTT_button_collection",sButtonText:"Collection",fnClick:function(a,b){this._fnCollectionShow(a,b)}})};TableTools.classes={container:"DTTT_container",
+buttons:{normal:"DTTT_button",disabled:"DTTT_disabled"},collection:{container:"DTTT_collection",background:"DTTT_collection_background",buttons:{normal:"DTTT_button",disabled:"DTTT_disabled"}},select:{table:"DTTT_selectable",row:"DTTT_selected"},print:{body:"DTTT_Print",info:"DTTT_print_info",message:"DTTT_PrintMessage"}};TableTools.classes_themeroller={container:"DTTT_container ui-buttonset ui-buttonset-multi",buttons:{normal:"DTTT_button ui-button ui-state-default"},collection:{container:"DTTT_collection ui-buttonset ui-buttonset-multi"}};
+TableTools.DEFAULTS={sSwfPath:"media/swf/copy_csv_xls_pdf.swf",sRowSelect:"none",sSelectedClass:null,fnPreRowSelect:null,fnRowSelected:null,fnRowDeselected:null,aButtons:["copy","csv","xls","pdf","print"],oTags:{container:"div",button:"a",liner:"span",collection:{container:"div",button:"a",liner:"span"}}};TableTools.prototype.CLASS="TableTools";TableTools.VERSION="2.1.4";TableTools.prototype.VERSION=TableTools.VERSION;"function"==typeof f.fn.dataTable&&"function"==typeof f.fn.dataTableExt.fnVersionCheck&&
+f.fn.dataTableExt.fnVersionCheck("1.9.0")?f.fn.dataTableExt.aoFeatures.push({fnInit:function(a){a=new TableTools(a.oInstance,"undefined"!=typeof a.oInit.oTableTools?a.oInit.oTableTools:{});TableTools._aInstances.push(a);return a.dom.container},cFeature:"T",sFeature:"TableTools"}):alert("Warning: TableTools 2 requires DataTables 1.9.0 or newer - www.datatables.net/download");f.fn.DataTable.TableTools=TableTools})(jQuery,window,document);
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/ZeroClipboard.js b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/ZeroClipboard.js
index afb932d6bc7..de0f6b67b58 100644
--- a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/ZeroClipboard.js
+++ b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/js/ZeroClipboard.js
@@ -115,13 +115,12 @@ ZeroClipboard_TableTools.Client.prototype = {
 		this.div = document.createElement('div');
 		var style = this.div.style;
 		style.position = 'absolute';
-		style.left = (this.domElement.offsetLeft)+'px';
-		//style.left = (this.domElement.offsetLeft+2)+'px';
-		style.top = this.domElement.offsetTop+'px';
+		style.left = '0px';
+		style.top = '0px';
 		style.width = (box.width) + 'px';
-		//style.width = (box.width-4) + 'px';
 		style.height = box.height + 'px';
 		style.zIndex = zIndex;
+		
 		if ( typeof title != "undefined" && title != "" ) {
 			this.div.title = title;
 		}
@@ -130,8 +129,8 @@ ZeroClipboard_TableTools.Client.prototype = {
 		}
 		
 		// style.backgroundColor = '#f00'; // debug
-		if ( this.domElement.parentNode ) {
-			this.domElement.parentNode.appendChild(this.div);
+		if ( this.domElement ) {
+			this.domElement.appendChild(this.div);
 			this.div.innerHTML = this.getHTML( box.width, box.height );
 		}
 	},
@@ -141,8 +140,8 @@ ZeroClipboard_TableTools.Client.prototype = {
 		var style = this.div.style;
 		
 		style.position = 'absolute';
-		style.left = (this.domElement.offsetLeft)+'px';
-		style.top = this.domElement.offsetTop+'px';
+		//style.left = (this.domElement.offsetLeft)+'px';
+		//style.top = this.domElement.offsetTop+'px';
 		style.width = box.width + 'px';
 		style.height = box.height + 'px';
 		
diff --git a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf/copy_csv_xls.swf b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf/copy_csv_xls.swf
index 5c89a09af3ef713fda7b76700af35ae9667eb0b8..157f5fc45f294b069a528b46fe6b49923588cf91 100644
GIT binary patch
literal 2142
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

literal 2138
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

diff --git a/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf/copy_csv_xls_pdf.swf b/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf/copy_csv_xls_pdf.swf
index 12b9e7c08db7dce4a1b43c3d6b40b93ab510a646..cdc013b6a4d44a0fe5352b92c899e4cf431a1dab 100644
GIT binary patch
delta 55067
zcmX?fnt9)8=6dJwV6ISaCWeYzZ)({Sl&@~x<}Q_KQWTm0xhwXRfPzZP)?KIf>8_}}
z{-8})Ux)j=|FmP<A|i`SE>%tce(yg=qkxyw3QpA}jExf}I0yxCL^>(7nsBUKB6!K;
z)1~UW|E;(8sH{J`ueScg|E|5i&+h$x$LRaK>OAY>v@PpBYnQF8U-`CgncDnIQ(`JZ
zf`c#bUt8ysnRP4XoNum_?>EWcY22>a!cNhC^HzpDGyD1X^XJcVKR-MdRC!DO&D*zM
z*`59cWGDyaZ22axJ+oH2`x>Wuek!YquXgmg^P!)XE^>T$CS_&R&7w~y7hQ?DrdP5q
zN^gTwape9;gY>gWM?bM!H*3^uOuuUqs&zh1E84iYxV6U2`RLE@xm(h_ZrXmHx%b(z
zl}^WI-F&lNb&1W?nxzSOy-&R+FS{6S@Lf_+IqdZLpwB8(EW%g6xV9@TO`|-0o5}0>
z+S7}!>bx>(T@>-`mrlr$n9@xXwx^x>bS<mUf1}Cy{J_OQvvO{p3GwRHROx-hJ+uB%
ziK%gJo-gl43+pqlW~`hM?fkGe`PrRg0SXe2wkkYI`_Gid&GjokJ9yLI$mh?NwLE@s
zu=#n#+!qPv3(R=S%{T6U#;m;mm1}$bwd%e|JyousJ5L5Jo0Dy|<J+65zP?=E#We~E
zJ^NJ}>=$p2SoP$L=KGJ03hJz{Jrw=8u1-8O$4O+Jva5w=kb75A(3ZX{M?GUpm*n}q
zTBrQAAjn^K<@Cu_uRRR?x~@)qG)H8;vZ{q<pu1O5(5AjAkCueUuI!)uD{IN*awhG`
zg-nL^6FzH49A7W+TwEqwZ?dW5gF8*h?@o&uZC+52cCa#YYlva-WY!B7+aHLm-aI+&
z<|%)1$EQ5aleI;;W*TYCi7$9|rbsN9+hb0Afzf7#sF_K8F6Rs_-pGaRvxr@As$kv0
znWv|mO*%Md5tGIJ2L?%&_O{L;=d3IwS0_#Td`<3x#rygPXGB+t9hy^EV6gE_n!|&f
zX5-EEdB>Kh6|6hxc=wa)DyeiSnQk@f_a76_8Ci%Y+)+AX$+kSiW$xiQu?1S6MNV6?
zE;kA`)0}6_c`jrnmsqQ1_XD4&--B$P^UG-O=XX3OX)$f*^el;IHjT-jrnOtzKM?u6
zhG~v)!KS57okay^^#?Ydxw%KBDDHsf46zE~XKNag_idTwDBf<V{=nz5O=eK2rS^k8
zTe6}|?pF5q7vvo{xj;|w9Jhrbi-r1wBZ3cV8YVk5d}i<yVm!xSp~+J5`r#MF1Go9o
zt(o@REhtksaGPhjJmb9ti{;7(q`9B-uv92N<WV>f&5<s^c+bkhnWO$g*+I!~a`I1k
zn~a+n^7-c&3qE+;Xxs&28nRSWKUgC8;H@G%<2^YGYmiK_7}Flxf^%*S+u6_Qf#l~j
zgOr{uQrmre%?C$;r@GC?oU10B(a2YnnHbj7tC6oWr)TQf=bL{PZR={3eR{SnSofKM
z(B`E^N0xVQmp@luV(H9u^JpalyYjN`&kW~OnC7q-Y~m=8J8*Ep%SSd1&a5D2%jKh$
z4Czvg=a?;4)QUf6oMQu0cFw)wGXo!6sd&Dn3`eGTzM;&P<=y7Od`~uYoAdFpC7S08
z&#?r#agPYd{S)5j-IKGB5V*U?w&1`)5IdBmqQ3gU8&{BLY(V}pDB4|F{osu|NPv~&
z!?%*pcBYm6WuMDRgZqPGD^BmKjGwhgeRrksZdd=XPpvW%ch26v6>Gl!dqB5yW5gkk
z(9B7%I5!%EO}oWnJ#*uPo$7~@gT8&ydlBe%+$L9SgZai!4?O+Fm$UZ7q*cvY)-o^8
zubz{OD_XXyN>b2RMeX7#pOvT7f6lW||1Nd;YE5Hkqxs(U?WWg~pL|NY`DA;NF0bmY
z-kfDV!oK|ZDSM8en6=Ypn)v&VdmZDx%Egt&MXb-r)K}*^_O;E@G;w>-60x=Zw@PL@
zn#ecBxkfGea4fk!L994u&(}}KlA9CGadBl=3hb=cdg^m-&e<u78}}}{yD@6_Q(u?E
zzk6=_OxwC?y1BKax!2_gzX{gIQq9xWUoh0$RPduo>TwWvyVyRaF7{q-{W&>Xdt8mU
z1$zoNwi-w3y*2FiIg=Dqle}e5%FiCT$4+zJ7`7eVBlLI@k9zd1+xoBMl7(cCoH08U
zcG)K^q@CMbranuTPej!)_2`a<!<ti;6-sD0ggJ`ptk6AZsQ0+w)U%R#w^E!clJ@)-
zj&<WX?J~!h)$iP#w9{F0`m-#yTs!})d&`64ma8A-=x$q;<LSQm@towsjcV6j3$`6R
znX+0`YifVB#b${gh36bCZd9fi*q&>&1hH$5JH$K)?JIWsR{vE(_23DMbQPH|xp#9}
zwRiUxF>61bGxeiY7}vAomiiADD6F}jy3G#6Y_OWFnIP9uoOUSDSJbo9bk2OuoWmE+
zu{=%}aBrS5Wj9N5hJf|Ly4fO+Rx-KyoXS=@;~DGbv_a=!C5L*L^jXex?iL%3gfFlp
zrwTZmr%u0j)>BcrK6U!N!`}W9oQB*g7VHm~Jo#(!+2HIvWzE94faw!YP1Tw-vy&y?
z|HO@Z2cEDbM+y91Yb^CrbDmw=m)logKK6Wk%)$AR%5%ACXAA?+s-(-6SvxNZ@;qn#
zrl?Kob5UfAu}-jC#i<rUo%}gZ-ZUHQEc>G(?rL$^R8M`U#-W*O#kA^w?qqVSowRwv
zHOrGPQuOybUXTzdnkm90VSFq_)q+1$a+~(S)V?{pqKn=oYFaPvyY6|;S|{$gM_WN*
zbF*ub*y)2Qj5~v!-Yjx+3)53QvhMte+bW7>HyTdtTGDdk;;RGNa~>tJs|T-+?fT5?
z*VY~D)e*Zs@zzrAjfc17P1if3SD%^U`ZYM_&4U@A>YUzeSm50yusiSYnq*h6j@TPB
z@?LzOBCtCz*<U%fBlgaT+gAmX+B-KZX3iJby&$nO>l^3BZVA`Gm3E3{v2Gg;^~J3%
zRA&Zt$g1&IKDIk&XQ8TCRvYu?!IZ3+caM|U)u-Q|oqn?ALTm4;l;ZgUyCwt*I9)eY
zZ{a&G6v?VsQn)xPypdaWPS#!C)(fgV+^;O|s<-H+#wgspcwGE)+~R3(9^5(|W@>6V
zZL9WVM^2IYf5x|_YJB5Ou64X+&*H#c6xEU8=*V3d#k8eiiJ`BHiASa3*}|xn%StZX
zoKaIQS9OR9Zqf5ge)^R|D%i=zStoz}g0BTq-q%$#d`ty-H<#RP5_@biO;0PsCtA=|
zcy;mQ)*vybi<2LyaKr~rnl$H1vWHWbu!2SKq$|fg_A)N6j}crFcW%eM1%WFfj3txw
z!yma+JGZG6Ec@Eldq>VQ$%Z>w_Uz+=-ig60&UoJSH4!^-r|)uM-li@2nR|UXPS;7g
zH|w0;7gH#FC};Z2+1k^;b$afczEQWu(QWfKm2X8!A?L14l8at2{bANTgKK4xCp~vn
zCoNp&q){uTrCJs2{jy%L>bKat^~rO311Bx)n6Oadxw6{jjr%4{m@bi?Iwi$O>q-CW
zZY7WDGfzElHVIj}Poqh5n(#+{7rn;7Ni#M~&{^lwm2hk-=i#7Ek%MQnI|UcIIlaqU
z)jwga#Pow2Crd(lW=l+W^f{N&y@z|cqgDU6*48=4cL*e{a;uzlEJE_-*81C*ZYzIr
z_n5Jy#py?KjEJH8Vh6`=ZnbZMzC0Zk=}F?rYa}`f&mGZA$_WUWkUc?(@%OQX8?MN?
zGEM4?*w@0wx$|&{^u^Gaei6=+o1BY-K=kb+dJCPL-s!FCe{le0grS*|g!FTtH%iCc
zQhr+q@0Lhr-TZh?XY7$1D+KB%?MO&Eu&>bJMel?OX>A=oH@0_3O~~$3ig=YOUgCLI
zP$gJs_oAR`5zgB-uU}32wb<iGnyY_*h@$HuGv(b?OSv?g=FXXNyCFo`RjKUMJiV13
zT?xS&o4<R62B{>azkfOH))J1g>P=@lLNr`AJf3`H#T8B04R0qO(OVhRmGD}<v;J<-
ze3655v^s5rW{MpA=Py*f)JjumTjX`&3A>hXlr>J0nDT0g#}Tz}W!}9(DoMsW)m5%~
zPV6}QWZs4=8m=2cryS|HqUow+Hoa<5&{`4B+jlR@PRd&9apT;*tGZvkCU)FCbFbry
zj;oTHbJgLXog$pKo9@a^`?b{L$g`S!hpZV&^@6j#_Xe&^>~eYY?gg(GYp_bv^qZHp
zOMNDG+;!ipxH74$B}dJ@YRM!{W-p=UyFq6~IB%`t{^sEttde4^A~a#wGLH+>b_E2y
znx*6zeZWa^Wqw!7n<)?FRu*=#<eqD13VJTWdGqGsy+Ln9IB&&pm3p2HR>?3{xuQGO
zf8v6>-va9Uuh_aam6f+tEq$aZw8dIaW<u0*j|<OgEHu9QO<ZtxSAmDtTqVb7k;92A
z%ez`~l9q(8nrF~`OH(=My$I(`A3pb`uQY`=vFhAWo$5bv!r7$-+ppMz4O9yHFT#22
zX7k=4R#DEIXM0LKRYSmTo?5lS<HEG10U@gvDJj;^{ycF)h?}dE*>t75L6V}JH}48^
zddG&Sq)eCO^ePQeN%<bA^2m0_w_8(veb1$qUfE=o6)C%QO<z=)yYA}6)2;@dezoHH
z*&FTl=5Ki=gIj|v<7?{9)K~3z={NmgYd_ES|H5vLe-3K0Jt%m!f5}SzeARP0i<0}U
zd~@HTpEJd0W&LALrx|5e=M~Fk{W`qVQtkTdn9O}Y{wD|=c`9?RF0H&c<(nh#wW#xn
ziXsicTF;klkou_l`lqSDs?AG(y-!gI$-nk(PMA}pMe=i<Wi45aA3wiOP!(C9%e3P}
z;aYzNKOY^Ln5V)G!jsc1=BzJB`ue$Hiv&~Urkr=SPTh)`4980AZ5S;$XXnQp6>gY3
zX=>D=C=CYns{xwloGn)F(lYqg%A8bq#H=W2RXJ0^uhfZiDhqx|cZslN*Sgiu-N|Eq
z^FXI6r{q#!k?^-H4|qH;&lA|6yWTKZ>+MOOX;0QpHxlJKAh~Y8Y4}?f!+f6eQ%)UK
z-X^wc``^b}a~Uj~R>sU1R;XWoFhaw@&)Ia|;e-yi)hnXA%+1d{54?Egxq&#>fs-A(
z3S9jd{M@1*7OZTZymEcFi3FFlq++Ril7Y(ECp(_0F{o#I%ZA@!c`##BkhcUk>w_7*
zQy<kdCtnM7^oX6{uRljVCR4a!@^sgtmCcj$HG*b*{VMs>s#;R9G-7G%mBQ8pUk1Ox
zsBZ-;4=d`2ukxAIddX)0=b$zxMvJAttiN+EJbbdF{EgsEuB*|WMY_HWexU_ZR%b93
ztm0kf#AtD~&C8~Jr@*zwRVyO9-cNs&p<P-uzv959^f%j!Wn+F<SnplCb@E1j;rg^l
z!_8}E{G7kM>u2=qNT(&A7o^u*e5Y46<!5=&7Lz$o{#}j|%U<=#-sz&z?DJ1oq`I$3
zSZO``&;Q`HE{_=%9q;bl8?;-fmz{NE`<u->npCCuZysp~S?}^Vakj)Hsc9KDNz)~#
zf#@t@<)G6-z2!HLtO(iW^7yXVMY9#1$Exdd7Uc#A_kO=s{(jP_sTnqT%eUmFFZ$Rr
z_tLhxoyR6m@^BM~*)P<){K<qx?cZW{3-x|KIps^k-0bj0oejP`o~+&`fyuEhuOb$8
zO1(Z5v|q^A<65a}^^z{tTj}NQ8@#n57S%e=zM(r+=i<HzzHcUaP1EQ*f7zrZJ?+fN
zO_utiy7hrFiyXJ78U6me*{Cbqa*=1{@pbDuLP}gFJI<Dvx~nh4C`EYpl4Z)XwnRH#
zvx>PX=<Ak~)E`pjGC6Se4Q)}mi%Ucr^o%w?s_M_!bX$#W=_BP?Z#H%+uKeAhR-Ky^
zvC4jtXLXQ@vG%$@9cquw47H}pUrafqR_6KC-DKvL&bvYN{{?+-1v#dL#rziZ{dV(6
z+{(Wl%W~=_%@hr9a0xcEKY6C>wZkIK+4EBZkBTZ>oO0HG(~3t{6EaRcQ;!TO<n=H~
z{XAJ`)ebS0S(|=(ie<%c3;Evsqmpd0j-wM~jHb->R<JP_I#)Y`jj=hpMMlwTrm&&Q
z=C%vPEcF)Fhi1s}t=qeI@5+-~*IbRbmZg(zI&G`e>8Re+wZ}GvB}cCQct3je$NTa1
zAI$^9TMjy})L1d4OVv9|=TJh*8Uypm6R-T&`lfh(v7(2D0?)_H{}(^otkyU*A?x7n
z{f)XFJC+~!NMuRSoZ9-WsA~PhRVVzOoa!p@Kl4KWYDfFU@cNeO7mJlDFWovJ<DIE<
z=!;W)vhFVnS?!x^EOqlwUKM?KuVJFQt=I|q@aPu9M>GC-PIZ-7teY2R6cjCZ%;NUE
z#NBG^R&pdasGeo=7JS;W;z{R~z!t+z=N`6}d@eBG=&q%9Xs@kXRon66Z;4X`S1;l9
z*kPVFXX4D+r#)C*C6x2(6^yNCp1!e6elKV82Cb_?5AQ8844L|?qagp3g|)t@;KO@%
zCnHw2aU|FDJz4rsvB%KLDtMAtn*rPXh`L!(XGD1td-jwp(+cHIl&apeH)f;2u>;aG
zPkK*vl5o~L*tBP-M4ob3+^y^u!%GqRp2fWdJ=|V%71{Dlc%AAN@6xzeRo}DU=kAt+
zy5@%@>eHHIIGFi*oGy#G<n0&i`)asSz-8SHj?2YAj#;0oIHws@RG9hjSFeHFW0lt)
z>uzx*OZXLMKFsPha7*m-<_^znG5q6m(stbij%1#=1Kbba9RBdw@thscUask4>ke`x
zpLsfSOTklDiO0G8)5X^9;7Fbz+OnmdV=`}#q12a{Sixfxw8ECoQ|fWts;@69lE|}k
z(iE|E^Ei@a&OTilr_|FJtd=PlCMjVi=II@<O8Jn4h1hiYbzL0E4?;ZZb_gl;BnD5F
zd7#x{&~{dalPBD+<>l!tofDD`fyVBi4vX?7_RJKTF262^Bl*G;=_l>c2`z?YtGJ)m
zw?`+o7<PE^PUbZ~!jWtdDy`D7Usw3p0j;ZPV*eJ3ec!YyDKd29npF{Dp*pLzriF^0
zUe%Qvdh}C!)Iayy6{;<z|0lekt5d(>sr|QuVk%3{ce%7G=>6O)c41M8@XS8$q$ze<
zLX*sYR@bg&H4%C=LEz2*{qot4PLE1F>SR+_=GSj+aP#RsAzjQ?CK#-|sIY#!K3L?`
zFWveTsXv`{Ps?XT{tGz$sXc1mbN;P&c5hng8I4rGB2~M;;=kAh<UH)3^T+>xiFeM!
z^VvG}XHtJA>z$S_w)~Q;$7o?_IOSh<{TWq;<?++LoBy2Ted<QNo}I>~E7N0`3fi7-
z5AJ&-toNUP|Bo-_Kias%I{rD=f9brktxVs}|9&Coh1(WQ`v14?e=O86dHU18zIKn8
z!nhivUn%P`TB!bfIz{<+&FT7I+vok`yPtnBP|tmJ_t7&`S~fiVlm7j|qxprE$5$;=
zJHP2xT4e6#HQOS?ZtJYhop!a}>~z-b)U9XhopPH4Gwru`v9(GHc6>`-pYh@Y*IW;i
zod0fq4}M;Ld1dvCdET>yIdAYEei6;y9{9qA=^OLLjP-x6zVkRxS8!c)iv4X_&Kvyi
zb}@ZgzFV2`=M_T_|IbyH!Hdm;U-o|eulGK!@SSV*+jDQM_LOM|_1-+WdueE($}E=+
zoqI1W(-7*teMD}hUzbbnw~L2=sb2A%*zi|ihqlUA&xtEk*qTk77d8AnVRGwljMY-s
z{X8WpvzD@knV(-674>1a=lRu}OU2ePG8eo(JXuXbTkid4TOk_{N%0eNPG9qYp#R)!
zCNdQSO`Z9_c5=RiwD@$!Ack{wGiMvG?N2lPH#w;NmYi(N?~jugN=P$3_no{?LY#Ne
z)|Y}(-Eog)CcfT3b@C$#TaG<13#IN$R>n<MmsDZ=GTBGcv_7tm-KJw@s>8JFM~%xQ
zIXxqTl7){XswhTnm~u?5BT`jW@|Vo5SqT$NtQW0OzI=_P@Rn!S8t=a>6#~(#6jvVR
zDD>KHs8THZFu&gY<@Wv3yS{KtHFM0#aC>@o=Yxy8&X`Jizszac;-J6d?Zk}SrW^fB
zZqB<`xAKkU6m!R%v!{aUyFc#vBTymmxy*5z`jNh6p^lM3&B8|-&9!H2pTefzQF?kx
z(s!9#vlaS!mg&4cvBlhR&Wd8C*FpOk<&HettFcwe=}lG7qBEr}`~S%<jsKtb;=gjx
zBbJSYdZ(kg7am?Wjr(qp)f|PghO4aRwnDmo0>AHhHD4%9_2Wp&_b<JD>r_3LX7Q9|
zL6y6VgAWMi>zQA*4Alx-bIwIGy)R|i+0G*#1|o0sifqys8MpneJ~n$!yZ(yhp0+iM
zGA6(N(0R!B-QlpzEuPjjjuX|+KNM!2{pGMaSL4ifUy%%}4bOJH7Ae@fGIQ0OnWoLY
zZ+++bO3&tdlz&v}=*(<OvoCAPxLa*z)j$52Ez^Im^1bUi_57btW^dJxDfycGN_l(C
z{~4>c)jwVES@7#2?yHmaO!WS&{`|6kPmD9)+e6&{*Vxux_<6zc`E!B#3qL!X&$aVg
z*_U1TdBgE}I=_|vpTpk!$}ar8;`sbv^SSkMC1!IksQk;@HSwR_hPU&t-`V{4ws_2*
zx5ocJ<ktsp-}iC*?TR;-Zy$Q|{$y_bzSrXO<>$!UJa*~*t(sfy_cz@8-zz--rrFVd
zRsPbo|2Izm^TX$>NzA?aHy@rZ-<V?_TP)RY|I;MwPHW@kJ@Iv??@XJmXVrWEx<zl(
zy@%Wtzdl&aTlezE<+^D%3*UQu*nV41n>ViZJb&HZx4GKf_Ot72{!G99@8N-H`BU?M
z9M0vJkpKUj``n*z+djY3t1td@PJLUf*ze`<ZT~f?Z};6c|L*U3{x+N6POe_r#-Epc
z^Y_Ky!RB^V5Bg6=``hUMIm)c=H?QuI@cgP*2k!it-o<b8ZyxiWnfBd#H?8%&8-40|
z)UpibE1p@sT~ECxK9*a3VZqh<M@xeao)L-NSY)|*|K5fB8J~M>T0b*=-6M{ammmL%
zPF9V*J7LR&oAIl{u5A3ny39C!O@*6RYR<0DqQ@VssqT2WcF&$EnVU^k_a}+ZQrtWF
zUi;rakw0Tnk69lR2~>%=wIh`;@lxpjofbdWua?Sg$?#t4@@}D!*led{U5|%B+wT0W
z=PbHz;_~#=%*t7dC#`6iDSblxtl6E%GMi(pwByexE}ME?fBN=k7bNm+;%A;cqiQ_0
zr`mwo@9k$(k?ERZFT;g5Ox?D}@b-JjyK?E@^VXCq#@|Wa`K$1<tyjIb{ag9&nM~Y$
zTGlbaGn-P^S(Pl=`Rn%sjpf$o<zymm-jE3Kz8hD6?)jacO15k{bIrQbESr^uzs{^q
z+B8A)U8e7+Wjy}#_{(;?8y;O$?AEqzx8>2x;kug+H|#sC^Tt&B#yV~0a}9<2jI-b7
zKGB{&JMDvPPtv8uVHZ!|OPMD+LG%4};pW}v5`4>554f+^HEh-`5z|dQ86Mz0Y1vfW
z=g&3Vz0a(e@w;A&O(I?H{w4c4TGPF4mYUC<FFLd2p0ewl@5kKP-F%mET5nsJ^fOYZ
z<J?P|2)D`oPjBA4f8E{gXvFOsElJy4?yhP4%WP5j;zfcTlg)x7FDLI>tHR4Eb3omD
zX3;rYv+#4_KH=+3ZqG0F57QR?k}tL~Gvv-ui#Ib*iJwutb7pR0O?|-28!dV#k9lv7
z6629DKDgpkh`+bmbng@{)@2T#qS90kDwkGF+_rzl)y)zusam&Y&zyaD=CnOhi%#aY
z-B!<YjZAuzxAw!^17+HQy3tFExK~ZP>-?}OGH;_%^;wt9GQRZG;Mr!{%1<xNnWrnd
z{L^LSotk%7O}V`EV@bS!_ZQaP^=v_B4?nfJaZcsu4p+DD%Xa-R<yP<VouP5-cjW$w
zcT%-(N^XAhYWev!yOw9H2n(5HZ|?U{KxwUoXY-AquBgl`F5ZnXVq9k7PtUC6*|xK^
zJWEVvR#X_r|BRJ}d3$E8U-RhrqhD(zg15=b=s#*Zn_<v*)F-I)*A>IhoUbBM>ko?5
z*L};j$h~tv{6t9CvedN?4puP!HSP$#aQd*xQjUBj<Mgcs?_Vyp>6Mg|Xi=G3DpVPk
zXZ(}x3=gNu;!nRO<ny$rP5$i>e!*+sX0N9*+?v&UO3ulp*j&+GYWXfZt=;`y{!AUm
zp!CWGp&we>ZInv3eR;F$=w+VghYD7o>2O<?u2AoHB}066_pIWdD>Wxy;am1p)hj;D
zEdIv&$<sIbrg!<KO+JwEV(mn)&o=X;-B+_tKIU*MPiywdgV!^U?^$~O#LwlT(T9aN
z-S*_9ecN*0GhT}K$iqXE_1`gEp0Rwr%P*Dltg2h4?rO5Bm1tYKX}Y&|plt|K<(56I
zFSqSlZyJ86PNH7d@3}T>$7GJ)(3?Fs)DCadvNg_`e$e>L-_I|YPW#PQFtt4<!{%^I
z>d~S#Z<nSUFI8H`^(e&pMn+m%w(%3LH}TI;ec^p0<NZFV`1&i?Wybt%LH0jwCQZ%~
zRE}T!X1?)N8MTX3&DOhnh0XKa<-75Bu4~x217gt$Q|BzUc)7?>qCVw%z~&b<vt~VY
zP}-kt^yJtH2RHNoVmr*!`Co`~v+Xc<j%K_j_fA%+H(fh;?vu^QCQEcH<-MLd9uLr6
zoAyxB)!ax@-gG7FgsD@jKR??ODW^F*=w8X~-A!x%FD~<u{<!qmqpLfAiRN!&S=PY2
zbd%><DHYk;Ygy~QJ9Dkx>^du~Ubpx6+gqQmUS0Gp>D;1+7tO+#u4R6@TxRVR%g5U;
z%<s>NT$*K>ZFO$@ozF)KPxtoCJ;ru$mUiLB?IpL`4DwH_+)nsn$hZAEQ=yvex{Wi>
z%z1ft_V!Pce>&~kbiebevp%2tw*D!Z)vo*IKDg|4X4X@#9d2jdx~G1-`07ym?x%CN
z?XBMu#&g5ioqMfz(Wi)m*B0EGbFuA1My_4v@~_M4LW1_(h`ewj>Eq75k|pe6c~O2V
z3#4L0gbg>8#GT+dyJeZ}oEuIj+=W7w!pvvvNuBlZXP&@kw&F}lWkI2JPiN|V%&I*7
zEGJXn`_8ew8=V?eGo5d_`2N}>I^|UImPMBSvmHb=>(4Dat#?&PUT=5IliRM9leaES
z&()3Ce&~woB2$m8-)4Nyi!1-mGkevB9~(QnOa+4X&we#sZ|BVjT}#EUQYw8ORugZ;
zc<IQkUK^~NBz++LoTu<!r%9Wdem>gvBtxS+hX16*+YQk(+uayjubH&`c$N@vEExP|
zVe`w>O*8eA)h{{K-<ueeX#dh~#q6?43Swu%zPRRYzuhC?$6xKS(QmJd^sPRr<FCK(
zoMISzPUL6K*0!lT5~i$A=w0VoY<=XKPO|8f<n}zr=Jj{y-C+AHw(|AuA33V#5nHm8
zif0w9{NB<LFoB!#r;d>7vx`S=9l0L+ifNI`8K=guwT_o|2Rh7OE~{9t8gsO!c8mSp
zz?r%m_FSpWX;~w5bW_t0IpOciXEv$$%|AUw*Ld#CZMQycF1Aox>RZCfvaIsfmcJ#{
zvl=~KtlWKvqkr17+Xm0mzTa>b+^wN?F(`AlyXUcUuay1f&$~HWGC4Yz-zi5kQrEh{
z_QZMvsju-_DLp@LryMfemQxwny{7)8_(HGF?T%-i4}Iklb&}pynp3v0(@@t_dCSwx
z<lsrZ*;_aGZgh?a?5fOe+tqRGG}om&XF}hw?Yt4N!0~AQNin^xEq^y?M{7jp@K3xI
ze)F7|n3Pyq0_$`!Yo9YqbmK4TTshBVaek)2bfqN{hZ{^c>7JgqGg$Ug>g6{Hw$*0w
z^-fvd-Tf1visWBaiu%zjxq3~S+=D|$|1R&}YMOS{QdW4!ip?@kM&<Q|t5UXpic&4O
zpgm<-bVWygor_3Cm$Ku|-eMEYGBvBmcC+79uvlv+Z*p#)RjgXQH*4Ff$u}0N7|4fs
z#9huwJEF-bdSZ4McbQ~F!x6?#_Fo(4E}mAvSy*paZ(Yif%lX2?HT^=^&hUgQ-)8n)
z71%qg|1g`BS!Zk0jfX$^Y+3V@mM6H|wHqFZyfOcB_tl$kTmKdtPg7T%_MNx;$&|u%
zoVToYs%327ko9Q7*~_mwoy+~-3UhDszsLD|-dW+Tvn<p<S>8`dS2cV6q+puvrDYcm
z-K)B!Q&DI(r`~X_VVS@zRrmR;#JHG6+=cp1ZaaT3T7I)fch<&UX?Gun7aHc@OpTY`
z`Q^IE?BfbnE5Us|*-4i6RU1$EDqZrv9N6@BVxOIh_{NoDH*F4Hw=J78cfpB$dm>Nl
zRDWhEzIldw@)q4JLC(kn(WjT(u8h&?&U>D*?(~I?6|ymJ`lPz*m&x`dC(Tbz+Mn)}
z^EOINZR6VmP6x$81rxeAnHAbuuiff@fypR#S!mFbN8eKz<0{wPpLs&$#;dl**hkX4
zo^kTrvsqQr7#Vl{2D91To%LtF?LJ#;@_Tn>=+xR%|DNr7WqSSUxwG2WW5Px6t~+_k
zS?iLM&Vc~6wY8B;Gs^-Qmv+=I7QZ+zcaoLP(ltKXli$^uZI#`7!ZLNT&2kI13vYGI
zt(UHwbD->+)WTIsjoL{ovW06p^X9I&ksVN0|Cz-$ZLVo%&&m(tGB>?G$LuumU9NKH
z<k|iJ-LI8<w(9sj`Ec#st$iPs>215POYQq(o<+-l|E`Gbk6fczmQ%bb<#&IyPHKJZ
zp4s`g_Hyp#>VCP*?CK(0W#`-Tn`bIrn!Ws=vgzv9$JvdQ*JM|*+;tJ&ot>0b$8!1h
zl`|f$b7w5)uJH?KlstZ9PjZsme2wnEv$C6t)+JoOmDbb7UY2#m(`RL8V$gE4Lf;FK
zf`5;PSoC$;>iJCj>2=#>S>5^jw*<1*oqj(rx!%gTd}g+MpsRY;iZj~Aa*?{`+q18@
zn9kBJySnC?m8o{-w`tGj^;~KDxwGi+LarOWN~b~%z9;Q^x+>+?hn+v?oiLrMA1%6-
zqpPd=SKQPqifdCRzyJS?t5T-^<i7<G+}nM{R;B6gsM}b0?CZK$I>GK8qQ^HY&y`zP
z`?1Y+mFDA+dM>k9wdotKUnyI{&c316=GBB5zDma;Px`E$>9zFDt=W!$`=WjL_pMyU
zeqG&2*`wFfW&Va1|Jje%S<l;eX5ER4-K&DkKYHA~w@7~Tjgq9}T9x9;rha#~JYFEY
zV5w^5*}hnts>vO3jWcz#H`UtTcAc}KV^P)RCX;zFThFw3*w?DmZ>@cqd7v+M{_LCi
z6Mu3=|C(I<bLylG&1bJISTSQ(k#^?tuHanNdGq~5i+}nAE;atR=(DbCLe<9i8;^WR
zI=+30fmV^_x&n*5iF+MtYfih&t@E2LApG2A-Lk^`rGdQ*XJ}s7cGy^POX#g5HrW%8
zT~9x4J#pqN*@c~(*Bt-F)|&5BU$)b|>W)pcckRNnrQ59&S1wnbo%P&3=d{7KTNxME
z3;M?yB_~^5XOZRZi%$7-WxjQ&)YEgCbD~duni%{!(sb^UjV~^&@P459Y}v-jI~$Iq
z^*s9W_UV~_OW7M_SNk2_o+0%6Vdt#7^EI=s{GDNc_xHvV)1SSJbT0FM{8=&TpRW1b
zde3q``O=ItYI2K%Z1;Y9X7>EqY_6$Ss*dYjR9GmLT~jg1*meE)jj4ZLxGI}}^vK_&
zGJR9BxOk!D-Xwu)k<HhZ>PKyQEw1wA#N6K(yLn9{UrGv|x}Pj|_xh<Ds`46vS|{wn
zrU^bPE)G52J<s~Dn)Ti|U2!(AEvc7}yR+{&-`!I0`Dl8iUEa!~BAa{NO)f#YhvhOO
zZ@sDeR&wU(x~zTsXOupldCgz-=+5@c1a<?jjWru*dbhWqkEmLyF>h0)x9iW86W+xV
z_UCr4F18GcN)$Yorj^CG_3Fz*+vK%OeU~=ZbYGDSuAQ}0tu>Ul)4TYM$;(8mnv{ai
z>P2UlEIV9S?a6a<>HI}AKeYx`%;4h{5x;#?erv@1Pk-$v&$8Pl99i;hP4{=F6G5)W
zY?D78T|I5V%xxuy>i<0Id>!;c#UdxtGVS70_hV+4eg55<yh7_FBlqSaZ6?Ng*6zZE
z7vCf;ouV}R&b|p7o_spaowIN$TTJ@Vy-#*t&RgYwJ8gZl&W?`;k<!7dw?te2+^K78
z=IPD<eo5}C$EPk@Z7P|Z@pp67$tg|Wa&s(8HojhYer{^8vzY#F-PJF;`7f`D@)BQN
z`u3iS_1A)(uZ8Cq&G>t0*{!;Rll8ko=k{pTubO5yckPAEWkoYv#bVMK8(1<XU(R7?
zoUT3Z#T9Asf0i8eifLyTnr~s!cU~@^q&NA|9F34!%KOhxy#M~hdFxNca;JRxbxJ;M
z_<G}L-MXmsaIbY2+18}YeB<W%?)xTV`_=8z(bHD`vD@ByaO(Z%siqRE6PVwm#hpI=
z<3yR1?xH32b4yO;PQA^!kJGVZ{-Otx6QYIZ%E@jDdeNxzed|YdskE8w(J6+9?zH?k
z$))u1(*&#8DhqmZ=gc@L75!D?gqW(>!HVP4o{Pz)RPko(vTpmV{@6u(I@iit(QWLH
zyK2LDt|v{%Pte)fbVqUXp)c<}&ID~>R@Xf2>KmHvU-xc@s$cz!OD9f78g!rAJM)lX
z_i|ykK&_SY`eKbZvln^YZ}{M$eBtQTcQ$^r?_NI{SMvJ3_Ke?2Vp@07X7g`KX!qE-
za^jw(#;xzT=RH<a@{C^m_T9(xQ=6AY6!gzKe1CDe<FpqKH@k?ZaLU_x@7SoixIOpe
zi>7K9zWV+XO*#h;r*rC^5URJTnRcN`r}1z)XN6mv`{l(O|821okoM|RO;XmZRR}(_
zk@14fq&Kr~%#@OSEiYHZW_|eW#>RhhS6VGnzaaUhM`|%=u8yqtay6zyyj<ogcQz=u
z{TFoCc_rtu^zzEU>ke7fIS$^(A2A>P>zO8(d~tF3ES8v!7we9wwjFo>9lThoUTsp*
zJ)P|xA6#lG6mBYYNIzccl-JrL*~kB7zU90qMdfyN?w`}c&R+d$={oD`SJsY_Uwu~&
zoD11yFPOc#R>yyK?z)qc)~`9*bt&wcP{*cgX44cdt<BZ(SW>$5H+yjM*)7werQN+P
z)GH)gpMEJaQq6yO<)2BF;>ANR|K_OQjPtHPpL{!eX9d^y8|xfhb|3$C-ftS0?(-vV
zzb5^4zWsRPmx$ArGk303QJZtp=V%cxk9rcbo{#m+rfL&Yi#dKfUvefLz4B<|#w#x2
zM{G})PN;p%%q*<D@vSC*q{!yy^Lt9d>W%g~%laN=yAo&|d|}eceK&qML<ze|ubcSr
z-@+~3wma&}c=)V@e%QZ$C-3#fqj%@;n}>H@HGXDi*S^gA)5Q++nYV7v_wZF%qkeYp
z&o!L!n-%ipd*6O4(pp)kGPA^{$tP}Yy~a!{>#0|6tV(}&$2w?ZN>+%hq{s3rUtV08
zach3h(yRZj1YEjk|K<h1)i3A1e;XFtKYGJoX1VdkYvIYUg173AN9tPCykB|lWBN61
z_0>O}__FWKD|F0!tiEJjN6j4VCf%5|$EO)&r^Y6<?7jHr;p+JCC8bTjE52RjRh)Na
z>iOPT!S6PHdGSF~Gj)xvp+V2RgB<e&R9>%;TDe~SZ%}viMujy;LKkTS&pYzr0mrfQ
zQ<Fu1am}@=P_munRr&15<Er{v6VtYjQ#^WKep<N3b#aXe@3l?o4-<0le|V9g^ENI2
zcJ!+Y9|F8oe}8(m@81`fsu`WV_olC3GSf8B*z1kG`q33}>-MClxt}mA^vf!_G5OX^
zsaX<!YNofQ@jfrAsw$D$ddqaurzNLDw<Q(_YP?X&4=CZYU$^~ZL$0&hk%`@ztLts$
zGM8+*t!QX)-Nfbg;;C)Z&aKP&wz0Nm$;U#SKS|RT-Y|P8ess;MZXuQaEt=(NMV94_
zCxgB3Gn}1&G9<}jW|rFKh{^eudoA8@Z{l08z&EFOn#!Tmov$2L>93t6x>|jr)S)}G
zy{evQPhEHM-&^ZTdTD20Nw)6@2;Vv(y~4)!LcM)UX67BEqscO-y#-&&K5qVKDEs7#
zPifhuq{VeQjDnJ%F8LTtTdHoB7v^@zb*HelhJg3-<WAY<6$c}vS8U|kHp4i@A<^>k
zVP&sdvhse*+u85#>GN{3udUI!d;j`;FDrlfo9iaob!6+f8Gm*v4V+tYbkfO?OH&os
z?)g6F&lk)3nVGjjGk2f!nfzMv{z=;`wPfF|X&c_FB*%AqxIcbkKJm1l$g0ghm2ACc
zYfS5m)hRlxIPuLvKi%YKJB`xB&R49_FtHBS)1CBnhU+5nlyf%a&&~wRoV}cD>ZS|#
zI=1Wmc$}E6Iy-h}sNi+A)i;bqW*^^R!PBA0IdO&u4}T9o-^=>Lu9Kx@*Lch~)#(sc
ziC_Ejr%=D*;^W_TMW`j_mYEor<SeZ)+Zu2$&E-<V@;SL>Jg2WKEsD@HpKi4MsLB~r
zBQNfgGLh+4$;`~>j@<B5=QB9B$?~n7>GI&;&tx{Xc+KYw2!6cyuvV@10cT@&Ur}vg
z>!igSSyXb9Hq`e-y<TWqKjlc=>JQGP(f2cWrUb5G&pA`jY-HSCnxcN~#*%6JO^1KZ
z@r$1GabxF0<1lXd`G3`d7B4=$SUdF%$1?-Bi#IE~`f_xeXV$)1a`a5_j)@b`&7IdN
zXMTS{q56rr0_BJ9bQY+enw$6T%Z?j)vt!-;XRd@VVV@b3dFjZr`uc0~Tr9i(eCb+L
zUpC)fU+!K;lJ|9)mpl*R4TO5Wnb|R|oZ`jmy;<V;a+6sBZbp{;v#lRw&bw=_csfg1
z-~R36gHtshCh~VJE0|=v@8QvYPP5SED}VT9o?UW&+Nv4W-<%W-Q@G{i)`VHub_!2C
zR`a;{i`?NYH_hC_(@y)Jm-uoe`R0q*H8q)cCz*WonznU*NZvd{<8IC!o8m2(S~~OB
zPP$R?v^(zKl?I(dSBh4Kd=z{0;bYTuQ@dlw4$Yaqg>l7`?rf>Jj9W+I(=9hnyz!w+
zK-Q};cymomveGg2s>7-4PYUN%^i4iya)t5b<k_ZfEaH*+>n1-n)ss{#@96uG=HSM&
z?~TOdv{bpvTQ+Vq|L|cq&tx653h`;$XH6gF%-#QClGUz_5rSL2zwJ1DWdDQ7yUi4s
z#PcWLH7jCj7n>Yt{+{cFicieT&w=L0y(fEFXmK6wD~?~Y=S1PV?#Xo)35;JR-?uo=
z*gAQ=r6vpa6!8m_?^x>dbeH{qyz^;s_w&6^j!qW0ie#_x|NB;c-|@-iR%VP@lh;|b
zb6k)sd~~Gli}z+*>upTz9#TE??Y<>V{$+cCQE~EVyVZ;<CYRegh;bJbo;kNmCur-|
zH_JZv9=s=dW792*CzH?G2Z_YW@70+W_tPZo%KOQM+Oh9i){1vbHg=fL=so$egAJq8
zWC2I9`t_&&7j8WNHe>T2-l<pjNKKeA>(Tb__9{jXU0u?){_SFu{PnS%<Icx_3vay8
z%RjfQ;#d36VB<6u<5$O~G{}B!V%Pm+I<dY>bmQUYOy_$%dV|Csr9SgBO?#_4&tl`=
z{r&Q_n`7MjZ!Su@pc1%H-qPU4W6Spw&T8cS>H6IBXNkOVeL(Ed=c$<u-X`B=?(_LQ
zU%ta|#pZxHVJDl;$Lbm}|0>!VafG2@<ILQn0V|E14=-%;<Uac%bz3XjTBRM?Gq<#D
zJ<eR5W@f)t{?pm4WbNzCYbMXme*Zdb&!tC3GFi{h>t#7#RDS&9*;Lu2pNmUetc)j5
z3)3`wojo`E(2KJ{K^xxGKc5|c{~c@E_aHG_w(Yg|7fB!bRqMSu@%H}YGX~s0bl1Ag
z<+X7t4g276_|1duTO_|u`w(6Ag5}V!o-NLg))poAtq=X(SzO|^l;uvr-5H01`s?0>
z1n&$wI(w6S=&D&FX4wzxxV~RM^yP1M{#)f6TD2E$M*m*5*>2A4C-Qr9bAPndZ;0FU
zlJ|ba)#JHUhqu>%UFDnq!)A5*?jKQkr@!r5zpiSTYU!?dRc%Y=1^VArURnKWCG#Y!
z0DoPNtcCNeR8~5Fy|QSD*z1*xCs{@L>w0JHoTp`<e9tJ%f2#cRyp69`W_qsu|77EG
zrIlarFDX^O>3;0)pUD^B$?$*F|C#0aZ*@sjec$fv3Hg)i1oCJ7{m}d(<k|8Wp=Dou
zR&G%@?v&he^;=+!uKn*writ@^N-vJQ-<9!f`HZP$CM;dPCv`758_tVaY2mv#M74j{
zZHxD+vwm!3?zgeq`E%#Wo$olFbasl1d|6Ucn|Sqy;{B@;mis=ume&1S`aWXC)S{{T
zOFY|k?%LVZ?>zS6Xh-O`m%Ynsm&q5adLCc&y!+-R&u7+a|D6m{{I36Is%QPb2s7cl
zLoPi}cbUW<Ii=ATZSuHm-iFE|ZU2oo?RSbwGwfV<eeQ`p(`=hBK9}SEvgf77y6;aW
z&yP6#<8k-5UvJsY?*CG#UKAT?m5|~3vGtNt@L?<MnJ1qu44HMaerKB%v-a<uyzKG(
zFaE7=^Qk%$Xj0|(((uOX+T-;xF9WRR$j;--clSQNiZA|nTVJwOPoJ<=+>MPJm2YfZ
z`}j*=V_)L^8LLl*e>z)Q6HsVc8TahV-a{{UpL$uncJt#>zx%%D`ex7Fcip-+zu?!s
zXC<bkd+xvdJ>&BC!sYKT``zDOKWATl^RwUUE`P6G{=WUmUZ<~ny}sUE@hfh9*&fHQ
zdp*D2UDx!-?CSTjt&iufdLMW7d*0P@`-^r<e%Y=0C8zZMdC2|eq4&i@?uUoozaDbm
zJmmiND}C=*?R&p^pZsds|LcC$t@>5B?pNK)Uv+DL)vYf3<M;Ki;7_Z6tA6Db{>&@=
zd9VJ(r@c3y?mqi;_u<w@b}wI5oO$|t%jxfuEmrdif9`wzspkCC>S>Sao_zXy<EizF
zS36F;-F@S2b?fc#UggI{^X{*{yYKpr+UvV&ukT#Rvi<$#y!+{Q_o?5JonQWY--~ax
zH{bqVb^E*N_V?0x_qX5Km%qFAe&O$Z&%gaW@b>q@>c4YVXV(9{9jJWgo!t3f@{ir-
zrQ68f|E%yw+5dR{!*#(n^&i*BNB<8$|Eqc4SMgV`<Cm@9?-75$TY~>-^z}{uv<wR7
z=G%TOyleQnGyiql_5Hnb__bcY55HbNOUZ2Af5X7K<?H@0-u3U&wZ79)g|E#YwY^^X
z^7XvJwae2EeGf0SHDwi?|E&I8`rWx*&Y7V$r>vH;&R$-teNCfp_0;Ss*`lRiOHX}0
z#d|7y>UB+XEpyE-@9(i|G-S=S&qWLHHU-z)uGp@X?@(}9y0fUKXwIc&<y!ecTg;nx
zeAIQhGG)WPrFWLS*xoF%x7lM?UFV`bp^>HP8h6VDQ$@>qwD&|$*{=Ee9b4h&`rA{>
z1$IWhysjVWu){sGc6rgU-5q8ZCWXBVb$icT`sVJb>Xff;U&FOd{oQkB^L_Uz;o84;
zuAcH;+vVn8#zlV?8?E%$ln+spXE^ysz~i3wl+&WA&!U!ob$mK^&w|fWr+Ni$pTe*G
zn0>;UKLUcszxHdKI=tu0D|g3>@{UX8Q&Zpnt(Q0yUS)c8p=F3~VP;o!u*un#*;$*P
zWnG<O<{P<kXL$Clz*)~TeC@+N%dOuTzrb|<ib}srQGVB=;?`^}%kpx_=FYsQclPR9
z&AqcWc}5q`T6V<5bX}#;tVvhGmTb9ZcXp$5@t5qk=^5JWTSJv^tuo#kx_Fk+vdYW1
zW)<e1^~*h5A9-t5?5$bFTTGv4WuLn|h12(^y6?%1Q%jbmn5r(<T(-<7^VF7YX>QSz
zuV0(9e(lZ0Yc(^n(@ety>sKx+owAkB`}K+p+0eDg>#rHEFMV^_>RYy~c!uo%HKl*L
zuYFt}b^QNDtAD<)cL=PEXNzIkBeO$d2TKKOf#wIV2SyKy9&kOV_j(X|V0Gi_hU*OB
z%-0#NGhJuA&TP)Go;8mB4#ypqJ3M!o_Q>rJtziD(#&GG{$Fv8!2XYU*Js^7^y3x9E
zcf)qZa^`&YdyIFO_Xt;r7w8wrf5>}ad!V}UcjI@)_w05HGG5Cy{8oJ6_~7sX#s`WI
zln)#};NIxo;NIBJD9>)kSW_=l!Sh4pL#AtS4coi)#`BE*%>E4X+2^tBW2h1QA@m{j
zf%bv$#^oYwzh)Qg=c{4<q4q)dLFR+o2aFGtH@s)M&%BTS4?~6655*74uAl!&yxY%g
z&sxX!N9OP+@dNse@r?V~>X`qC{gC}o{eb^~e4{;MJ=;H~KcW^KF)uDmna(I)&#2F?
z$EL>^#~8!4M`#Dn4w)THJA^7kKV&`7dSH6s>H*UOTlv0N7ufzm3Y4B5(GAxR*K2=Z
zd(eAec7r){K4Ttp9{W3ndt7%o@38LS-636J{eka+T>G<X^;1>icd8qIJ5-y0kbAKA
zz~2ME8@@BkGuUz1Fw}5V)C>Hy<B?&IW3pqi;i(ZR>_1Q|@<ZZ7;RE3XwL(wr*}exK
zSpM)o&z<v3^PT@ZE|}l&yYhkO1MUOjjrxr7Z2OpML@T&{NPQ@MAbr5RF`v<&`99k`
z#(m5+;y>g*)IMN8u=xOgqdcQM+dtVKoF9T8q#ron7|*burH=KF)DPYd(GMo)d2`mc
z?D{A9gZo4H1BHTx!PZ>K4_9<QNV1XnTC_ug-#yVrruAdNm7{)ZzX~nC_wvHE_*Yl1
z?MDeJhQmz8+Bdirq@Trhh{lL4UEsm$s=c0Z9oss_b*$@{*B#f*E66&2=f#!2-A7k$
zy~}k=y3w35pY0yg9kx4scNpvUi0%;HaeC$40`mqF^*yo`>;?QE{2s&}*n6P%!0yKH
z4DVUrvEO@s#qSTpr+R?{1|g6nwaU1Fp`zmzFDTq9j;!1%SNh8R@NdoslMf{O<=$OB
z=hyN%tICX46@XAg;ivS5^Gx%Z<=E#j*zwzN)-e81`k?ycztIQL2lcBD*mODj&TIOf
z-SN-rD$mjS%PaSC{44dh-WoiwFiT(Ue|f`u%dNrn3^v>ir<XU~>(nY)#5LERsgCE5
z^#|bx%MYAyn9sbQp^ozp*ALSV(hs&Dc;9fJxt`%4#~;og#;-nzKUg2)+kUN5;9YBk
zC@dqcNZ8l#nd?E&gQ@igQdezzR}`APQ|Mnfb2uYX$g$@!#BuN8+rha*@@HP)*U1}y
z+*_6P(7fpjI3upQR?7Y%?8p0%t)b;BXFbpRai8(d;;g;zgSLu(Kloqn&cD5@w%xpB
zwx9ppZ$^WR)9fL+r`bc#eq~rBAF?$!;f2|SX#N$qGUe+T<=E`FY?y4gYIuHFeBcbt
z{;P85c!+M9{#m9StZC^_FBjM|*N7d+TDHLdv4qmc<Dt5Ifj!P5k6%o&uv+?)Gt}Fr
zvqa+WDe;GOoIf_LdKvF{(|@64y!(&Y2QDAj-k9F-enr&(?+^Yl9C)?DhWmT_f&P%(
z2kIGz&xho4<VrY6*UzeNEc@$qweNTDs@{KbSNGHhZ2dAnWbNPc1^*XiJ!XFx_u|qe
z{o>45t_AUYF+4F$dzjYj6RA-BGo5idb2vjd(|V@AR}X|9$ZlBOnB9=w_`2bBqjbY{
zruEEuEO|wl>t@H^+I4;Rme72LdrvNf?O}cQR`2bd?M&rN<&62v@7V6u^X*~Y!Cs;M
zLGMA_1G@)z4^%gNXZp_kp7|bs4Z{zG4-6l$7GMkW<lXPuJ-qbqW3Zm?=g0@e2Ob{~
zKJdIzy-}Ybo@F0PjbtUZ{8^Sc`F>&M&i9A^HhTYWxV+XkQ7&uNp%9Z+*%MdzC$be9
zPgp*)zWui_!}qyAH9r_Xcs_ZnuWNm3-rGOZnWrZdS8EnX7VM1Hj^q3ux*(qQd)AKY
zJ4|0!Jz!%9Ue}s=sY>_Hdgcq?uk{w>Gv%@6F~;%V;o8Gkq5MJZ!Px`R4YwO^H(IaI
zVX!vj-jscp^MCAt+YP%Lw=>TW*S&JQ3ZCym#P58!yYe0y63zeY>L2_K(K{s1VsLFO
zyTCtzhN(BJ1m3kbG9Pe0;NH;Q*w56@(9a~#Y{yr_^i!VMj<tsE$DHWw+B<9CRtx=T
zif&)LwT^SkdIo>Sc=mmqHoP{V0?O`#&ZmDIKQ>11j`+zLTjw@C{=(DgB|k-D>v~1@
zGuCnc;rn6xf&D@Mf%y&g_008*|F~jSB)($RV*{1dF>Eo6d$@LR?U33bwnMH$w?MhT
z_(RnLUT|@|ow1w&6uafj?-|}P-ebMPzK4B>e1-gnx(Cb$*c;g!_!;?`<k|Qb_%m;*
za+!rr*WjQ0esM`9%NO^?{=f&1OMbFA%~v^}T=H|uvb|0}O+4n;GupA+FxJTZVEUl?
zK>I-Of$NR=S+}O;AFP$CVEds5E^7H3<+E=sJ>~!6Q*cY2+r0UgpUOAHPk0XTlJE5U
z7oKh}+1aSKe(`BXbG`k__us$##J=m#M7=E*|2dC>3g7~Pika-)3I&`6pg6WHQ2mhg
z!1RFWfzkuK^#`&Wr5k5A$dz=tS1&E%j*a6#v{vrz9do99rh7blSa<O5kln#tp<SR}
zApXJZLEeM62dr&wrJk~WSUKIjc)#e@UE-~GA)#RZ!SR9ff%eAshW?5zr>C~R{1n(C
zr+EJLi%%M{cJD5(3$XJPF9@mR;e^DZ`({vqSq~{OU&J%*<Edf&q4h!JgXx3U2h1Dt
zneH>qW83%k;<}K1k1xh8t+~H=Z`4o5*m++we%HOYxGt!!hsB<??&ZZj`<s4eKQNbj
zYkKPagP+VD^)0{EADox_tE9d${&)fdyax8UE;Ie`UZgsBS6Oe7X}!($7g4{zT6xv$
zg0l4$^NKICOZ)4(-(6f6ns@bU^vvgGveR$BEMkwHw?LTn*~Q%&AIxGu-{ajAd%gP?
z+xoh-hr0`14BxwU@-xUY$+1AH+=3H(!gfl|(+@gj|KgW!m-xKn9e<?sUpXv%9dPMu
z++W>Q;q?L+PxZ$AHTzM2pXbi9>aV}|EZBQ{^?i>2f8$Pla9m%v`||4hjC-zjo?zee
zYwm~pto6U!_ssgGkimcWf8dUOhW<nU4R_3EDJTgn;0cv${vUi`dE<G8`K)&AHheaY
z=9QE5;=jDQUb#1cf5m;ZLz_SRVch;h`3|IwBJ-tbf4E8VBDb6C^R7Lwcig>BQgYq$
z)4U~>vaxwfPWzVZ+!?t)WNBB>gOh20vrN8MJ&<}3^}y;ul2?Iy_d4^}(=BABqb7Ws
zt6Q~t-Ten8FU+l?zedl={k8U-XjMjQpYQIvNx}6FfnW2jLjPtyu)eWT`}_6<-VMyU
zzrN3T)mHX*#nfL<SFMU)x$8?_3CEmz^Hr<O)?Dk4-JH0#Zu+f-_t#o|EnoTi%kPl;
zZHvErS9;65YMuRxOWW4C+ApyBB7FU||BBaN#dmL5AHCR~_0;u=>JP8%U!HfPV9USh
z(-wc-&lDdl^UMEA@|XDwJK`1ot`9hqf5mL=-_*4;?l(?n7H6K$us-9e{bReb!yA94
zzDxe<U4Qp@*85OB_Mh6iw`xy`uH6yiIX(R1Q`uE@mO`=bZN&Dt%>p-Jx4+sS-hVm2
z?B%c5v0J{fy{&!6%XWl&pLE0ZZLjhRN)tp5)F-e0r}pXo6|cRH)1#xl%2)JVpU-;l
z(Wl%BMls<fyKk?(|L)ZV`^F&qr&f;di(lL?oV(+p%HMkSb;4gS*GR{4a8@d|d~W@v
zez1LtfBnwiDSw3$KDhpx`cC|H_`&Ml-%og#FF3dSh572`4jBQj;v1UR-eP=u$Smer
z<MfHom3Hl!qbGiuHTeZY?r(k#`>&6hgl{rhO_Dt@)5m_rJ{SAV$%j||@;Khs`zxdU
z-;Uc0>kqDd8Q=6<^g+EQD7Q5(2UVs__u1!_THkxU=)O;|$ni(we=JWt4vdNtIqDfQ
z_0r_yJ5RW-J^!Y_YGsLe)2!eavERY7=lJ#CdlDF~@wP;M`KpSK*Pj$FU`Y=)7JY8}
z<WWFKOem}8gpk<9YeKC=uCCPh6*N^?JV?q~WbUcV%!j(!j`P&SUF(C>#1_SW%Vvzo
z^z~@d-ejV?qIr6T+<}vU;iVyQD}P2da-DVxjadI-&mtC=9g%)ql~coZ_@zr{&+Id^
z41HdB;?kjiF@Eeq3wXXSnkV{pjqjfRSugp{YFuvB){Y6;(0QHLGsY}C%&6?uy-;7d
zJC`2jWIim7@)fO{cxg*pSK*@iq!-%PH6MKSb_ku5_loJ2M*r`SrQiBLPP&@(HcC;z
zuXOFZMbYc8hHh{zuG+h3_q8HF^NkVe$+MXH+tOanS(ul^{I{4{?#k(#PfDx8%`0ts
z)|}8@zh!f$7Uv{+6_cwwXBjSimVEbl$*NV8EuIu@;tPwB4UybcQX*h{t#YrHwp)Fn
znYs4aHD!8JStg~NU-;T@)uxQSt2ly%TraZtM~mJM+!G$EzPp&abNip=i!R80xmgt^
zFW=d4>{8QSBVXfpt1Vp>Lz?bIFg?Ax<B81HsICW150_}X{o16~n3D71s;At^G~Kv(
zeK!{Ww@;6LzGgP1L?xkSA|r>z-HQu@JO9+3sehg$u_fUc+f<ddC#?%E@i^N)Uot~&
z5}VkT|8t5Syy9jSdfgiReYwd*kw49c9=R+#YJ6S1_Q=#=o7dTwS$$=*CZB#;WGZ`6
zp7ZYirSHx@UZS<`-^1wg_wORB%&r6$TuD1?DlpmRrcaWO(JPh0O*Woqj3z%U+q2C-
zNlb9Q`fme^`b{VL6i!_;KCE_l--&%4T@R{uN2fW2h?FxH9_C$Gf4}(M-n+I9YCmnx
z|2}@Y-EO<z)s?G)m;24N3f=z7Z^jfq!>Qg!mnwzFtyqxrKR)8pp@)x>wp#EM=QySB
z^NLCgNZzkzvwC@DTW@_U@0X~^H_J8ZcH9V-KBcAke@=LypX|wc)j1F6D@l62;E8?q
zvNK5Im+^5n`ykE7Uy584Lsk}gU72ZNxm01^+=K>^e1oSmbv{{soH8}{Wu@irDmCYq
z-CGL8eugtIQFofrYPgs4Wvs%a;3vghVkagAE_l!OW^sB1H;2g6$JQYtY8sQ$nTj%(
zXF18o>ugH8z|p`Pd_u+OMEy>t<v*DpJosaLy-#G;y$fnP6L?m*o#1G#Dw*@>=m|yT
zFNJe!X7MTP4s;gU&EV0SFWt1UBypid@4T~D6x#&;O?>&h(=)v2Cs(}}|IT7D57+%p
zEITjoW<7{{x<yaqm`n01t@G`!uK!D>i1HbPzPh>H_Fw2_7oCePJ(kma^1iCq^E@&>
z@!IF?zvX9sW+~`#$s7r4wmB^^vsO;DcJGcqF@YM6TQArqU(kQ@{7?G-l*Lz!4;hKS
zKPb0Haw+Rs*UKji;&eYLUP{^OAl&_9;(7l+C!+rUYc0Oh;FR{Xk@+|Kxp<8$#a36G
zn18pMl<9ay3J7UddAvM$_4r?I?>mBux+3*j1`C(}-O_*kxZMAqV0PK_UT*z~60dIl
zNO+T>a?6hGb%^Q9B6%~$J9^73&bqYNJzQR)_QYp$WI~l+=eIMH?=)XMvC?qq!v2lv
z3h&Cjmd}fdJFxkB<CoXZ-7}UR<k70x`$W`R<3g(G^7BT2TihD^izjexRX!fGa8~y}
zDfh4X9raQkNz<H|*}eY%|M7jZ<9x1Ak1GA{EzU7Ip7ST!^*%67GH~Z%{L}h_M@76d
zrl~;rPS(jEb0(ZQ&#n1IUP3WmKu9Ki<qK~ot$&*)cs<xW^$>ekU8qNDLFTFbdP}-a
zZ;1QZHer?C`o0j)bnmLt71Mt_+nM|%|K)}?r?z`4W@kp#?`>+kI9286YK|*`hsrg+
z#0tIo-ti>M={4tHyGD6|ll&)ne+f4JU$R3!SkqqdL$K5OiA#iDri=WtY>W>$q|a$0
zkg+6Z|Dpil#)T|7OodGQ)e3YO+Ygko2(heF{}4Y(WNMxB!uvuy8Y_OvHr@|*tylQq
zercz)W~szNb3qBe!g}-IJN4c{Q@_}^{Oi16AN)d}<)2sVXY;P#)=z)1H>NpiDrY23
zjgsg~so*{w*0$Y9=4indg=#~$3m;@pKfKLwoHKLJf+lr?i!N=GCH$WK(BxUpHEVX>
z^A9GDM)S`-w3aw0aOB5ap7)RT7)zc@5=&=3CwM7l(~6);iPDG59Q&f`+1sBNF8nO1
z_uve-q~4<|yDj%bT=?*oB}Qq<(m5M?9u^(gyhL<P<<bRl5l1D%ivMO?)af3-bGW%&
z_IcF#0_NlSDW`lJX18u>UDU_1ajJ1%@{ZUE;pOWEE>&7HRNZI4@Vu_!vpmC!o16s)
zn;FF4G404OcX*@Nu#cblOEt@a|BLGxnB|xyepnn(5PuM?$)L?!P{{V+vOfdQJ!XR?
z+z*WJGE9GSwCB&wT8`Rxo(<>Uv;XK{&am%;$pP{Cj6W_hHt5@Pf0+85LC==s!`0`E
z`@S(9xE{~4<Be)V{vMu!pV|!fYeXMJuV<|JE#UAru|fMn!pl?F8P{2H1$<{aP=1f)
zNBz5KhWpjh4_=isyy|DH`5)ULzlZ(9;qQ!fUl<S6*KvG!{FuT1C&z>3>I~~FIX`UH
zIdFb<s^Z@ymIM0H3{q}PCij>=tPX2f7M&U?WyPgfZQ@YFb71{(rkHB!24lVlyFM~>
zaxz@^XZf+-lVSf%o)5P*8O(iHf82e`uzx<=hxV8C4E1}M9~_fpIQ))f$4kA2hsKO~
z^H@LJ-^}<go$tW>XH0)AIX_G{YuLYy`OjMB2k$>K{4<na5UIl;qbSC-t;4lJ`RLt-
z?HxxO)-DqM5Vnz}U`hm+MU)P+jPf+*K2dFkd|_?I<DH>KygRNo2p^F;(3zzBK&6oX
zLCQwHg02XDi~7(UhCQ)4EOXS%82!X&GrkvyW=QW?+fd$>+fd&5w!!%5-iFOb_zv8B
zWOu;wQQb_pyUY!q8-+Lc+Hl;^D`PC{xZCjgh;zf|qlX)~k0>{AA6?wgeI&V|y!$w#
zIJfwQ;E=?-U(SA2n&T9%E1Y@YX#-bVEZf7Wk2nv6HkiEmrm&~pt%Px%=-r0z9eW#I
zAF<nM6{0(Dig{=8x6AV;e-SynoY7hEsbp2l6lSBFv(h;y&P%SC@bI(I?TO+6m(o5e
zJrMgS^dRh`(F3!OTo1||SQmc@Z7J`#&hTEio#8!u$P#vzukZcxo;Tk)7klU2-8<*n
zcg*GI-fUI0Zi?8k#F=Lf3(l;6zW2JM<*5(6B0ns|pLUru20zl>X;n0Di@Qg@@&)%>
z+Dpm>R!scH{ZfKS+~a)5huwEBeV5p$Kl$pPhQsnkHho6?9sLaRMb#PR3#&8ocj-L%
z{AkUq3$2&DAN@(YcS&ktz&o)vWzk7zba|pJzlPnqHOZ~;RmQEC6OI*}iD=tyC{yol
z9eAnY0H?vvt_g8slSLw{SOX@;rLx5dPZlip@L{ykS;i#i7%?%<Jz`>C*KNViZ8O+@
zEStgiW7-bp54ncSA7l&F9~c&jKiI9a;`<SwrB;{1e+l?8R@gAwFR;4ge<sN7#HpOL
zQoh4Gc_wpZ<V`e;TIKxLb+(b$yUXWv-y~Sn_dl#@<KEHAtr@dKC+SIETeoDHQOu#G
zdQaW-gEO8*^PO`$y+krO<x<baPh3atsI7OoeT?zcrHV??L&6NHnTz&F6-?U0W;mHK
zHM47v*u#|#n@V>3Oq!)O`O31>-yLR^pLi``>>RhgM|dHlkk2``r%ajC_5?<*cVY7?
zPOTK)p;158Oxa8`zcIy5wbWr^=bcGnCvKUg6<Hsy-Z|IWVVA(sI1SxN-K&(vz2|-s
zfB!h`?)eXlZPt=@Ckn(5-{p}{`eAU`UBd3v2SdHzg<_LV8yqz_Yp{4i^H-Mat8&ZU
zKl+h(ZmYO&jMDp7iD{=yxTc-_EwDMJPKYT&@$#3=LHGJU)NB3JJaE<MEN6DgEQ#w*
zAu~E76J9IWxJI2<x}#v<`@zj2@|KEy^M^DCp5mVjhoTt`&pb^RyvL{E{r%K=#&--M
zOMX9TZuri8>Jsy(&kfd$qAwkPvL1+S*t8|OPVj@GgKJep9p^)L2GN&+Gef=@{!Be#
zZxrE`sIb7h&BOnM>-zel;P~W<4r%+Ttc5cUyG!gl_d(;Zxx~JcCi#XnvmaVsop|2k
z?xs(C%jJ_jroNl1tq?QgP<h~E)kn5796s7DuWRTyfAEi{yiwJhhwePytCZ)ri-!0W
zoS*Y#hfdVzMR(SOweMs2t<oE?`eDoYpnKD<icOsnf7G{PV(wXwBXjicGSyGg_uk;O
zc9qOeuAYfCtG(9j(~M`BZQ|9c7pFCM%GZl?>Uj=t<jD`#pRnnZh3Mr)Msfu$MvSSo
zy=yMGlunWQX|<-`##5DdKF_6#r$kEU%k1Jw`){^1X_c4GopqD4{DU+3)2+m-*pHu2
zs95eLd?2>LI5cybm$d!n!1ETVeO-<9E6=dbS)jtGu9e#`c}m%VlV0o(L>yi%spPo7
zZp%X5%TqSJy72T8&(aJ#@qG;soz|5I9^Ngf7q-`L+EQ!LOJ{bATsk?EYv#U4u9*jK
za`~DRPx0HT^Tl_iZ{V~QDS^`#ttv~^T=h0UYqj!yCw;wuE2%Mamg}CLnb+!d@3mLQ
ztJ^8{i^CKHyq9H~GKDW#KTSJ{_xpjLS0`#Wt`EAhwdelf0@=e~dCV8gf4yX@*F_P%
z`>R`bZH=%x7<@XV@8*h0&igty=cLKm$lh~$SWuy@%F+5|Et6bn=@aV>9+%8Ee75Bj
z%h<guv@?eHwDSGawL6(>E9V!<OU3)QJ*&G=JO9mTW{&zl4QEdIeRVYbqC8{r=Q72^
zd7)Jt{q3PI1*d-b5_sTv$jicM-KPzX+AIzIw8r?%Q(>O(3pU3t<u+Ja!n|zi-Ui83
z`3J(MCO1@1`P&eCD!Ae9sml%3Q`0Z-|DM9!;IDO_>0S6d<{B?cjvre-*<{QMjAO7_
zu!rNvnomLxicg(>@ULF|5_i`ZE++e_amW6&A22o97T-Lj-mUqkfZK`lOTUZGwA$L?
zeuDi};)K6V#|{aGx_^#KuMpX={|nn;^T2=Zr=lCwr)-a8d2e8I>_cqZd&RFyKG{A0
z+wicx<D}N{%9<LNAfZ#7RU+EznFm%zN)=>nX0s2GWwZ#&W!&Q`%Xwo}{XM3N)wj4T
zy!MI~Y_alM9OSNS<0jku!68%U@NJ1c=RXmpHV-UHo5Ex>4{%IVQ~IEt*`*a5A)9$f
zVePCXf%(2^7Of9M+O}t3Y0H$EckTmUn{mbY$9{bGmnMdVq%+-Hc#dh#!gFkUg6A?<
zOt%s*ST>7g&eCm+=fZ9?K3^f*P+T9nX@X~|+>K6eS*@R1Qf%vH@Ry0N;1;M|8?iz+
zY^&>;<9B()i|@{rI+@SOVSV-UlM|(vj6%P;sg&L;DqUvf?jj`7+&nF7i(K5Xozp&d
z&lBYdH;Or0u=Ut!55DzJ!|on_SjuzV_|5^<oF`X&Wj4?JdGpZ6Xvw_CyS5qc5#O^m
ztiGIKUEq7>nAP|AEBb#iJg_QNe^52;G}~03yKYl!Zu)Bd+&cRzyWsxT)Gbq&Zu7m%
zx+C^3Z-u^hS^F=62eq#bH+)~6Vj!Pz@?FSD54#nU6mKt$Q)pjzoFP;`@ts`i4~Z3W
z4{Q2Y^=B8oFqc@})G{q7cESFm0#k#fB8|H4EdI8-p6{;0+t8<5+{}~?zpZz=y|}eb
z|84kEy_BELEfa69y|_#!)pEf**C+Bzo8vZ~U(KI9<F3ZuC2`yOt>1d;CD|WdE@5}}
zQGMHCc8*o2HtXDeE+Lol!$y7ofe)^2`i3<#jrSk=5ZYJS`%tm1T~aRbht>918rvW9
zw&feubl<Fse!Q{%N8fjgXSVmQ-k7lOdE)zGLwN&hc_W*1AC%kFCFZ5f(mC>blNZ|y
z(XEl<2A0YU@xjpy{413i`B!gekPD1vj1NDVARC(R`h&Mr<iYG$83(psF>J_Roy>SY
zFrV3GSs!yvxGevVc~*=cYD<+Ku)k6{z<>2*!||({4e~348U0smuV<bYvYavP>dS_+
zw;Enu@V(^WyU+Q#+u09te^)CXUK%*7X8E~Aho)SNmx_?xC0XWj@;L95cb7QNU0JRC
zU)T4-lE{>r1dFuSZZG_k`uMsH!{@JU|K~GJ$#dcU15O^fBEMFfL{Gk@`NdpwrKhaO
zuiaM`dVbdU!k^iwc6NEd<^>D))i*RLvmD#8WkQo~Q`>tbu0D}_J8Zr8MPF|X(h_^U
zYmLk`*RA(F1=qh$;yk)%VfWHq>lT!rE{Sao)4g7*8?tE4g;Lukn%=B$xoox0Og)j}
zwR*zQDPhXZnrj*NYOZD7sd<+<D>!PocbnSU>!+t2KO(%Sg!$@c(Tx*VoqUxfT%@U7
z&$ChT=ah+UH=5>ntybKoq<>=D%Uuh5%#M^zS<+*AWbcZ2$@C7{U2<V+5|8X+`!y!>
z6z*Rqt{Kepv0<IK_IBx{<?E(vT;~0_VBK^rW1fq;Q({9t#<tz?H9f!R^5GSgeTwr$
zULBq?#pH<cln_n1rBnEvZQN|mE`P0lsr!P+LOZ|u5^mmyLa`xBI`TFuUUJ#ql9%fl
zsc4jux!ERYT3)MU`_VRTmDT<M=bpCRaJCGWTGYL19b5dAQr*~PU2j-DSA^VT?+OU1
zoOC39*&Fqb)3yC4{?MMX-1Co9C7YAue3=HH3+m^U_-a4Ns0ghJ;d4@0sFk`=C-J18
ztJe2RI~`YY*B9^i+0A+W)RyQEn`A2ErnhMAUEsY*ZSM+iFZq|M1^>GKY>Hz`{?!$?
zY_Hn>RnuR#Ke_(JNarX2%hYFrKR3jQRmIvZn%>%fD*xo8QW2p;UUAl5p|)uq<|`W4
zDc)PcX1Anc`-(<M=RLlEcO4gafBKcR%Pn8_RgSy*`9hmZ>}A)~v%S1r^3$_&ev0Ch
zy(-;tr`R97Zm|gpv|BRg{KbjcPip4%#VSAVZaZ*DF8hbINR(Xi$K4(i{RN)>e54|{
zFR8=N^<2=I>=K*VCies)-mVK-V%oLEZ>3bChtuRJ9?tId6Wi8(vGd+}bi$Ral~*Th
z$$A;)d};O4z_yeS@5Q_)*G#KFCK0qEN-EpqVb)7C=dKX%$2==nL`mg)9KCvpg_&D0
zbCKfIFz?Acno+vGW=l3@Wp)L&rM?SU>~ohvR`;@**5w|f+R2+j8&@^$o?Id!bH{Xc
z65Eb|D4#}Ey=&`ti#+vH+Hq8*T=3x9Wivck7W;nOu;~1vC2>h+OYfw0Sxzy!S1(e`
z+flqoa}t}1{Y{Zvwk4)lMIvt6t$z`7Z)r%+8XlpyQ_^Q?TJfyk{w#2w<gyw5m2BKP
ztl|QHW0ysENbb`R3v8RYtU@$2Gxb#Vsk<3h6?xi>-fk!g5fu5^_GzAymFE4JV3}~Q
z=?XXEqq>-Wd7qxJfBzPltC^R$LaxO}b*`%a<-MBc?hF03W+j{VZ#j0s`R~%LZF2AQ
z?<T*P`0tXHv;HgnwdP+Q{kz2Gtba4ZV>Zv;lFf>~0bg}Pf~Vf_;#p^Q)a+5gTFq_2
zldm~Wy0V0K*$qeETPa;9R~5-Wy^+-QTl2J8u#H1xA4j8V#BQy!pjX#frn!}0_BxjB
z878P5`ncZlh4<Di+&9alFF8-)-c&V1>sDr$`-(-e%PK@fThASvaUj9gz0yOpKbUdG
zS-J35?}P3>69Zihq;`eA^bBp<KX1{N<31nfXk8L1@%^}HRce5$+Y#Xlfjob0O9U3V
zylk4}wj@s@b466<MU{%})eDoiXC<3#<Zs+~t3vmWO3^is`ri{bx>a%g%v!R1;##*V
zwwqZ?m@mAQdKvkmtoMsd$!<3*j=Sq7&TG%R?op7xJnIo_(qq=(0~1@HTX74ErYZYa
z&ImF2r2bIpkoq52eM64PA1xmhg$jAMTnP2Nr{FSGOS7M2qkovHsdCFouc+w)`HWY;
zb2f(VNU>2pVqGyypQFBz=lq4=PIH!eJ$&qRCL~0&D5xVTR4Z$u>rO4v?WdGFZ%ndI
zHRSuYx@4QqHRk?9%J(|bZ`wrW9NhdTFEZ!o=0}B*A}fPZqr~)?*WOa@4*&3GtH0Ru
z6_+CYPcCwrdd^OvyIipPoMU87L;6?mO&Wnqi|<cy-Mq@{`CjF2!HREn_5NbpAKZMt
zLnrE^&3;$G#UIvWh8|(D(U(}<(OD5^5i1z{VNb?7rBflAX8ea4GVZr_tq56K*X`LJ
zvhshB>zYHw2e@3<94mg1<vM4*SM$5TBWw%i-&*9*wJIey{D|2D@%!sL-d5E8a&*1Z
z{yahA`tOf2pH?Wz9r$d_F1k_pymwrE$dS_(b>Bo?_cT3!9v6OObw%AjUDrKr&+GS`
zRtuI1jx#EG8S^r=O<wDffY5$}IMMcxe;%oX`dkQk=^Y$uD0p6f`^ra7p}$Vqgq~rp
zda0!1>=z%qsEhT${%ua8&sSc$UcNd>ttkH63@yEYrTI%1e)iZab2?P~e16izTmDn`
zwboC4DeSQS?;5RLAJ!Z_RjfZRJmD-`fAlUP?X8TfN<_ud{)VpPd%dA?)t9-Qvu1Gi
z{(2|kd*;yR>dPjE(&tyFXC&#(`)X`D@yO@j#U>Zqp7Y-_x!Cud|9R#j=JWEpSB}`&
z{4d_9_U!S`$4h5LG(7hY%Sck3XCJ$^)3qXQvzzdGhkB(;7K!IBzjzbmQP>`%=;<`=
zaN^>JmqPw7eZ*yD!MJ73%h1DCIcAa91UE1HXX@<QbjkQ(hMwcwnIGKr9AD4;kf!J8
z?sSp!A>YrJ3v8Y5tX{Ir+3j-TVap_*+PfK6SrPANf6bS86m{{#vWHgrlIL!_y`9}w
z5T<eVsyWB^sE^SP>-Qw9=xl!&TsnV}kofL%NB_3T8UOgGXFKP6Pxtw?^|2iKGLzXB
zvOTYDe!%Ybcea!3p#;M(&Wj&fT)ZxC-m&GS@?p!w7`0dO6I11FGh@`m7eqcbTFQ`X
zrXS3GLGW3s)Z(x6pQ@eo>wal9f2oE)$GYT5VUu{Sq$Qr)t_3^^uy|L`r`Yv6=DGIQ
z?K6CGcb}_gc^JR@oOpA=ozi^*E$d6?>a!*uFWo28GCSsZv17%G*ERDF3GCKfysG$)
zqGop1ic3>e%%|>9;p#0|d)v9w+d)8y>9A~5%lQl06;@MnnYOw-x_m(SNEXYE*ELpC
zpR8C^!{^lf`9;D4)ygR*Yo}Z=2&jMlNW_ZEFwmE`^|^y!)~v7Z+QK%kyE<i7^x1VL
zDc}3vS;c={VtwS6Za5#~;&ZA;s#;Z+cDCQjUvQo6`hCsQ7cVKi+7xqTduLsTscpzj
z_Jz0Bd#_NMn^_fIR`zo1hK-D|`JP$3L}Nd{{1v$D#P{Isj)C*`O-uYJ_3r7{i!WC`
z?Wz~!ihs)2>3P>sbKRqfWp1+%Kgud$aG7<^BKgde(r}GP>uVw#b6h1O&K`|i^vx`I
zUs3y{jaOHNm}PfrtFBZElH-yOj?k)33KI8PlX>mY(iN9x$*z)3?@G%R2yF>kvvc9C
zk0OHCb4=B$j=WemmFH&E+v_Q-&z=`Ek6C@UJG*yw{kp4yEzavogFYTkyuRxszuSdH
zi{>Y^O6aFWFxlK%U>=*-o~=IPh{I){qlI79F8BQqEZxPlE!g+{iF3+TfAtiDzG^Bi
z&D!1iL?$3<YVP4jt}EL<%?JtCOIlRdqqAJ<+ezR2ljp+r@=Xq3v!rf`&h2HYT3xD|
zqTM&HEJ^vh<1$CRvX8_m;Wj2Gj<eTR3h!DhzKB1^*0)Je^n%Rp8^>=&_<a4KTz=xE
z&((W5*YwuSO$pNW)~sJSz24xdex`+5G`Dk^=2M@jZl{waZ&QLd@g91+s4TlJvYpc|
z{Kny%Ifo-xtkn4Sy6sc<d1vpBFM8eW_djfYDz$sbyEO%$BR_7M5?e1e`Ax>(x0@z8
zy$?U-rSV6y+@m=#-Q%p=^w%}Z{^Y#yxxaW(U6<yiTJxXhbMG04@?SUa?FsFY<NDwF
z<-@Xf3dV;DO<Skk5xKr%frjXmuiO?V&%aojk$5UBJKy}M?_J3yVjH`Re0`FHqzb2O
z>QFW|EM{cQDK+xi9vZ#+)||6K_1t??&S?L=qj=rR_p0-(XB~>Z>HL|q()coG_1$0o
z;lI>M^Z(vFyPB@OathSGtJquqIxO>1-rmBEd9v4pyGxhM)ooezQtvF^fpd;Ky+n+5
z9$wP4dcELY;pxizW_kUv@p^G(?e(uN%kS-Q*?#YWu=kf^ORIdmbgoKIe`z=|Vwt&K
z{q^Lcq@DM6IQ46GiiRBBIcr&#_~I_MwSJR@Ubo0c^dCqI+#c!C>C5zW_evADblYpY
zPL#~+@u|JB<mla!N7rXYYzu1q#{0f3*Yx3znMbxRc(u0qw}12fj@Jhg{@?n#^?vEP
zTxXxz?e^Sv82`QAwyT5d<=2U+p{qZhE?d{*d76D{{pD+2uT_G)A1Y2d=(pg@=gxD+
ztM{`-O?H=EApRsU>8X<|C)ZzjgPzPqu~$Mw78-ChwwFXd@?WsKLn`cKN&V7ge|V47
zyBGg!+#(_B*(Prp<osQ$<CS-y+T?zP?F-}O@)h^g%gKBGXt1f{e#rc}Li=I!rypxu
z>b+QR-#-*{G^n0K+4)rIGp>wJn?7wmvFW@h@4_orZcQjioAL6OwXJIIj?-JFwbmR;
zkqs+7vRc$Ja(AjoSa2lgBBkp;*S)^7``q`K=dX4tZQYsC|5``L@aTC7;m?z=6-5Z~
zq<0ksH}4X9tCV|6WU^9J0B^0_m;0HQ<}R&T%GUR4`U#=$QJ$6?>gqf9@A#_Eb@Hu$
z<L?PmR;}c444hNzl|ALxrJs4(fB9y$)kOps3YH(|kA1#<-DlzJKR3SSDV{rj*E!R5
zpN+5o-1+*?qJI-OcAx9d((+OJJMsBllWQS!PFE~`{pV8YGv!sC|NoyVl}d;*^gip5
z?>;k)Eht}QvSh2koq5YlTs|iJI$xjnm;20@`LXHSGAx#u$p+2!Yqr|=Zi3czdoAuw
zf#SjMWBj-dGD%;1S~}V5?v%K&xT-AnSWnr_N>jX|v=gl+Ut2Zdy5*!VnUcy&%hxR_
zI(zz*WLSI6qJtrKx7%;qWt4X>X5y@_RTly;Znp7_D6VR~(5A>`^7fK(cG%AF>Z~lE
z`YY#540~Dj+;?_ed%Ezi<fC0$=~mC!mL&_We5cAKWIy$>7}vqxtnX4=?Uv8G))rGa
zUo~6&Txw&B{qm;M+&8axsS7n+Up{Nf)u&f}pUaP0WMr~Zb><GatF?9;ruZ@a{HNR=
z%m0S^O4tp>?ceeuwbbo7*6Lk78RvRfE_j32$|oP{U6f{R*N<NkGoQQYXvD4~M_yLW
zf4b-T@5;{E`X^tk3VPyu-JX}%_i8d{&kOzMH-5?8_~pg-TW^DRafI!L^;#R8H|%yk
zu}SL5PFu|-5APP_ZF;l$+B^0xOWkju&pD<Fyg6Xv^i**Daq}vv$%V4JWyNkLUktk~
z;l6BH<TB&iZ+5%Ymu%s`KUwdH!P#{pUyFS@=NTH7tn*|HSdu+iE#RnoaL=}xc9FYZ
zUb<tz-`vjqV#3O;@xdXXyRXSk(#vrQU*~wG>0NL|BH!+sKI2?R=1(?D)vns}Hzvi|
zE#0(!@{c`B@1*{GV16iJq5RKx-`j$&^#$0!wzGN9AIaZx>7@MXt*7f#4A<N~dqw}b
zk=}Afw_DQ|b*)`JdFRf?4@<TRAN!EF?9Vg%g*685KXs+pnj@RjJB>{46!pHixy0h|
ztguz*IQMRzqa+`+NP^+ox(V~&-d?pZ%l`Kdu62HCO%CV(EtQD2Hue2}x$OCmRad)0
za%U<W3u=Be@d*Fh4#}1FKAU|1OiQcZC!c)ncV~8XXX3iG>UFPfxjmA)ZYFGB{5Igx
z^L4U*f0$CX#r>Z&!M6GQw=b@Tt2B=MjrhGtF*r5vSk;ZyVyRa`5-!|`a60rSxLN)o
z+wC-8)|V~0Mq-~fPMEHlV>>JPH<xVA`U5Iqmv7lBtmEs*W`6XmVTYkY9$!a0+mXY}
zkLo9e1pj>X$x7s31jnyXyHhjQ9>{#1aF*Td_;HhC&wkD5JGS9PM1z(04DH^$;}Q8*
z^`$@02R?cn^62N{Ia^;PusWYicp}GdC>i-&QPJ&MwTA@n@*rP5>mvp+0nW--4V+?Q
z|FK@`{;Cvu+cA5|sR{j`czh<6I=h&k$_%`$A;A<@Z(*-9YpT+@Fy-9d@bn{Fm3K-h
z?9lcsIRBr!X?L5}-1jT9td7k660zcIz2=D{z8A%74b`|#%~#p+=lIS)|GhUZ+V`+A
zK>xS8)7d#{SC05Ti9Rs*#hiH(a$C71?!D!`EMi=vmZ_fCv}V0h<o*9AH?>VS<Q8^*
z<ZhYk`+t7M>%*+|x2!z>)Gu6noxN%ApZj7u{m+>$eoLHKx9QO})_K+Yj~tWp7D}I7
zaL+jC<*&s}+e-I2pF3e`QlBT1dc?b)!(vrog0kqBSYg()i(;o;(^LB;X=vkpVa?5w
z?pJ$OZg=C=uL#L!<=y(QGvL(BMH4K!)2h-}9Xe+6bk2mm&r?!`STEIQEIcRl%SQA~
zVf&dW%^jT+%<pQfeYRyvq|w@A`_dauYX1$JGQoc0vHiccx4L<M=+_iw$>-dgzEh)L
zEGxYI#F^FaCIp*oSSH%E%xYfS{MR>@1jhYdpk`>gtRx|>@8s6cK891Lw5DD>y2-=&
z{;k~RrwsuY*2e8sf0DAS_Y3FBnJV=!g;L+}-CSs#*3^0aMw;~(?aOTnwvE3I{yMs8
zp7zyiO-U;c%1MdLQ(t8D=7Xkb!h{=%(T}T~{u%pBRIFpUdLwI-J8#x)$(zrQ1ZM}#
zd~MLB(BfQI+QMSGq?zl|$$4ky&wOvPX_;+dMZZCk6U)j2{ug58oYr*A|64Kj<b^iY
zFZHKv7T>xe-X5B(^LFpnZzgeTjO~Tyn-n~f(!P*TnpMrVYw>e~XjSDSx6+<%(LGXh
zL)vTM>9b{dTW`*D&RN`BIK#r;>8moAA;;Nb(G@Fd6$7?^U2<;AR~@|rf6urjKC{Wa
zwB9N_Vw3yTlb4I^CACsaD!sg`9>uI^d-LX#%lXsa>qYW6@0q+=ICH=EzV!#E>MHdc
z%sm-k^{8$^($otc)v@=!T{F0)(pwih$%%KNkB`d6H!@=3#)d05&zZA1gpGUWl(kIP
z_Uk;!_%dZjc*~s5lP44J&MdjQEa%$V`p^s8F7sz9e#zeC8SQe}<!t4F2T!+eo!>fd
z(Td-_UbnnA&U>U`R39o+J750q7V+9`^1V!58-s2xjy#{>7`feDm@Dm&ZpxB+m)(K-
zpTjDa--^9lGv7=1vrfUi`ML&&CR?uTeYU(oZ^N0BPb7;}qIU=R&YiJWPc_ZzYG4Sz
zpy5OBu2O|5g>lm+U)#KJ$?QTt&8@prCT^Mc`0M9`0Y;WzR8@cJo~o9w=la<tE^)Nx
zn+~fIZ<phTo~H};{+D#BUSH6DBg<EH?Y%v<7oQcq+IpyT((96rw(uz;Hm|i8$`=SR
zJQJ9)`pVu#5+*Mf?T~Lb%)9=1UZraP^~=-vSx>XPc%=E7rM~o{lsVV!Pc<B;viAyn
zlI4AL=i01$N3CiWY-ix(i09ck$KX_b<^BA3-un*d2?+&hxeJD``^<d1WZJ}ImDUAQ
zerKjuT={bNyvE@~afi)LYghg#?$^qgvR9_7bH*9h14o2H&r9CwUewvfJb7;&KgV8m
zwQl35AExVCeg0Fe6XKJ;GwR#Y%MlezC$!cm{uC0?dziGJ<(|!p$V01JRWEp*yxu<l
zLQ(z3E3%gYURqU8eE4gZ*H16cUn|$Gj@r5Z>x<j(`div~u4_bS)U}1}Sby=^8O3Ys
z4=eugzb5!)#;h%I{2S+2TzS3U-09>Irl6_wC&qu>+JDz~(ca!GSB`wUV|HnF`W?4l
zJ2_WhIrq4<#VbGa1Z&RAzHJBCQZI=IE{U$+&m;XI?8Mgkb=&S8Yx%w?W_MKB9?^wg
z`_gx=O|Inrr<dWjYTorz3#*G3mhKd=UM(=^S!(@x{b#l3)pni>bq?2@u2FQeK7I4D
zL+}6AIo=kuo_SSMOVZ2y>5?Z$v^;*YUC*4D{e1SKp3)C(Q}!ROWX>&EmfHW}`^sgS
z5}%YaPWT_3;I5dtoLQ@$%e651=8?BgZvEr46uQhZ^I@?flgor!RjY6P#tXWV=Dc5U
zc4p?HSDF!#&&xi|tN!@!l8NI{i~Wl|PMMUnoxCHcyk)KXM`!UFTYmoVzNN)?vBu%{
z#EkgnH@*T#*1TRLG*=-@rTAC4(yN<STK|aosGfF-E<Sxau|IdJ`L9{4D-`ONWz9~#
z7&CQ7<Jam({d@9HITc*)l#Y$MU#@bDJO6Hd-~M<14UU9Nm|mRx;CRFO_{@Ya+DkIb
zmuaz1`>^4w`KNuy_Q$wPew5#AEjiO_q0S>;`Qy&_o;1oWc0I9SU5QR~;Gx(VeVxB%
zE|dAHY5z$h@LIqvS*4vD0~D35w|^{S-cY}Tuk&sLBS)TJg|wvYw#5oF?rvhp&(e<k
zV}I|>-Z>tTi;Ass4_?}J#y34^E5F0h$v(z=_AtGkGdbgy@17ZlW}Io8q*J@UcK<c!
zRo~q2eamlYsQ3J>@0|I5Y3H}NI@fA_UY+^RHq4e3F&F;anma2kuU$2?zQru>RXh_5
zv+^OE`bW`+Y#zBkV*Fj}Z80;x?yk#e{g9emi&a_eyx%@&gm$@KY^eCyP{HZ6)WAM-
z#&-LIIvIbMo}Itkd?8-INW*3JV)M&cmrI4VR21jAm5W{Om>^`nJ1qN#^flLYpZ`8c
zWnNMluu?ndb?}iqm5CpWzJ4lwaLwR@oV3Tie>pyn9EIv{Tzp^}v?%ul<5I_!!Art?
zq}+T;__P+wE&P69?$hfR^MZXs;tu@M)vBHTb?u(hzsz>7d6=Q`{J^opM~-R~Ow@Q$
zd*aY%i;9)Ux$UfdidpxXtgC1KJlo6q@_gYS=Cr3#t`3td)wkc!%c_bjeP^;~Y0=T=
z2YfrSBxSE8iL;A}xYaM2e6VGa>dMj>uiyJ4ytHl_uS(Z6ZVuXaWAT(=<F7qd%J#D9
zdM~f|%#R2<CiMJ@L))(7Qgd?~7Oc-MHr_gS(*dtFDqWUWyyvBdObgyL-6SG=d5G2i
zhcWE}yxTPlC&?Fh)~&Z!%jxCaeJwXJTSo5j;cG1gZO;}yV6XkY!@jYmo^!X#&CQ?L
zvtNFDlAyEuSa(@}`R*xe7{uTG*|<mldgWH>CvRse3eRX3_?T{_d$U2{ZOymz%lDOM
zAG`VIS?~?B*Y+Y(`=9FHkotPl`_Hj!NhK;%Pc>!;UuPDdTJ_<S(yP6?&3}F#ZA%VY
zbxUe4d#&U&KGAul@23d|v(9Nawdsy_{ltV8-usig4ywen_sz-QDr_&iWzuG~Hr<0x
zIjw<8>PZ1MN8(&Kc^xkE`L2yk;mXciG5JiJ?5^pPq8~-bP51xCuCj+ayJ&~%x~O1=
zi^jo+J9oQ$af>qJXfar`XJWDW>j=&5PxKzTsui;spLa3X+_1n_VS#J^{CjyS(G~3+
z74_U&{i%B=%l#02?7rN_D_M!}YWH;a=Nz1SQ^f<jFWfQOvg*_IDc^h8^jlS}=hkfK
zzMUmLdy{P2=H)l5{zlxq5$N*uhU?)^Q{QylT4g`+#>E+D*0apelvq|LA(ndW>Xr$M
zYy@|wMC?go&-omZI6ZM+9#?PEjfY8-nlEl~u~6<!tp8ZF`-q;u(!L{RUVKXFEPBUM
zLz-e^G!OsR`1So~-@oZDel}0c?yvY`q^a2A9Cq96P1m-AY_D0}j$Y||xW!Xya@*oN
z#?mGGr=5_@VqC6dsq^ps$&P52WzM1Y_A_mZPg@wTUYeC!6MLYCcjnDR7ZuO%b_+k=
zb2#*1r(TO>@#a(Y&Fw!w9rr8Vx}8Bs#<cm-t(S-0zPI__k~d?MpJa3~hKF~>f+wpN
zbcnlKdpzawF`jp7>V#9V?oHQ&I{I!TS|92;wq!=m!RKchf{WQ#7M|ea|ID?i+wjDi
zJEu?AcOI5KdXe$ME};xr-e?im=onSYRPDDbbCyns(A12cxOTeC!oqsK)Zg;oI07<H
zKHYgLaZXJ)tMFI-O+swO#+{tjhq|QyJ-O!oTl9o_i5gddJJ+{*CDk;Jo*AL`b~9Dm
zw6a$GT9ja5ApL-$l>d|=gQ{1C_^Mm)g6{1w%${Yw;$zppkEi~9Ts7-i+{euVm1cF%
zub50fzFN>?`?8%{_oRPadtSdZyFO*Z^CYH?yz*a5@+ulHiQd?|EY5FvWwFhzE35xs
z@VlJ*BGs3FvUH`pMdWqwD}K{583V6fIo+o;GyXTT{`aVd-~88zP3!pH)Ts2<uAi&-
z+{L8<UuH`=2s?FH-PcQAS~P8j?#Ed#ww4@ObIk6)(j>;cQXB^-TXD||@p;53@LsgF
zUaNIc{M02H)1J)Pab=2wgZsNj;t|G&zOi1likzp>qq>vD&@om-_!;Z-cjwZM&dL$%
z_s%+}zgu?oA*s)QGQ@8bzAf4v{#PaP+}1;vnX(x8KZN{ciFC2vYHaw|iGNwW&!43o
zpHr8euX$^<#{1E87jwmJD{VT?yx4L)Saxnb+pXgI#lkCRY-EYL*e95t^*Z+Fwxo+m
zXL$k~7i~;qT_GdOQc~8SwMAp=GnN&zCQm+AbV*_P$D3=u_2z6doBcP{tUB4u+G@7!
z`;%)<O^@8|_4?MaWuF4?w5)XaeN=n#_J^JC`ukG$X#EmDwtCUwjy>`sN>#S49;S=-
zFB0fB70J4>;972dfGSUu<HxQu7ru+`X6oL*aCXS<L+j+Mf>cYkN^ni)e)?Q=$NnX=
zrJt$B9=5x=Rr{^h^`EtGT_P72+nB_}?A{*xFem6|K}zf0>KATb@5|XbhU=Si^OPEd
z*)+$>*glke*^$5G_mAMxmYy_2w(EUCH_q8v-mWb3zg=neZ1(1pW%Xi*%hn0ZdmA%z
z^W1p7Epu1a-_3Gc#CPft%PBKsr>R>K^;9F(+WZm)<Lyhd=9LvDtZtjvFek`aJ$MOY
zci)*Dn|8S%0|%`iYwsQJnexIm<HJkWcKdZNF1&QTz1Oc)=bTdgeZJt`R(2ORZ}9%q
zcl5Y{#2N)#Pu~9Qe<}hGJr#`Vb<%%%{h!OJ@am)))93m>F4I`TKAtw_dh|HO$Cx?g
zgCU={LP?ZV$b~*t7T$D&Dn-kdc}eRGvcnI_%*j_h{O#vH%L*CgJ-QA*zcgKyTTmpj
zDz%hlg-|ZLmA=E(7a<EiGlz8FV=8fMc=g5YZj{6Vw=0ahG#t*p@Nc{)yFhW9SA93L
z$(gW~#tzCkQ>U?H2u3em${00gvzKblRIf9i&)==LiT?D0J@Su#{e-_y+iwQSr>V=H
zKW95Hw!&ujpNg`(AKz?yeDm({%`+e0RPRrB<o!SW*}QX(Pag7aIsG?R&#FTBMMru=
z(X362St`%1{`HeRa{jI-!X4GSjAmS1zr0)}wceI*RVC+t*Wa7}A2r@Pt+6&>ZE9ka
zK7ZHi!wcGXtxWcP^nTw>sot(@J7zVl_bTtYY(8E5<Frek3XIlWnls~*a##V&r=^vq
zE2FeE4=ww=c|WIX$Xi3JT87zP=^xL|u{wU+V`=;4g_S%^OjeA{W)??h*Kd^$IXKNC
z<ZyIp*@;HB`t}!dm%skAvL&poq(}Db<0)oVAqUDP)^Hf#>P~aEh*z7roA;H*rKpfC
zhg;%h*ICUtyX-G(jpoOk?0c_bpEqCqck2F^;2EYOKgDM$9*koai@&GoHUD^?`Qi0`
zhB^XF)7fSo@7Wx9_Q0F;IcHOTP3<ubdMdnJueD;f&VI(W9l}NRY`u%W+eoH&OHIx;
zIv18w7oQk@>+$dWn>tpXwr_DS@7dmODzxDE{PlvdD{qA^yRzrjn{!vz87@s!xwGTo
z<ho;K9hqnDnTkHXc&?3KB-__Qe)g7YZIkVGU7Mm4_`Pw_hXdc0Z(ePBv|*0z!YP+}
zxvGx)<iCBf#ny0D_+Bo?;E%8C|4n`La;kFhdVcdYX0O9$PjVMs^4=g}(Uw)~tK4tp
z3ltSBdsi;9gjHZseSXNQTXAQFyDA;MZJOc@6;(~o9)D7yxhE{jZu&*VyI%E=?g{Y4
z{nQm-w>f4>`=#HrpDHnDzYIDsbBW5d&MC#yoy4tb0;Sh&_PG+$x71bRwU!pwG3ENo
zHBZY5z4s_ZxoJftPXF$BRN_Kl)+trdr>W}?RIfDHsJCwa@hN|bSDj`#qv1KV%<)S`
z{k;wGYEpeCPpn+b_5YyF+zGGyPR>gy@$pG5@jt4czH)=9Ui;?f$C~}t`w46f2{4)d
zWQ}pLYRl?*&YV+Xta)Q)I>i&8GNi8A>nv8oP(Q;x>eNo>hr#DE?d)fs`M`ZJ<*%{R
zvps*`F8cLy)1l}IG0#(<^k>9K?^2#H;pDF$+MVAGl+N&%ZrgnC$@PLQUG}EiTKla!
z#jYJ)7OA#(Zoy|0X^-a-Ytv2?y>$!r^Z8t&7E`KztM#JPmQ&B?oI4=4<%6{&w}1YO
zwbSBtL`~-2uAezMWZlkI*5z}oMJ0SWY7&}X-Kz4@krL7OUvt1DYufcykDh({yyJ*u
zT<5l%>mBlHCYXyKoh!U5s(zB&U->Obq0;BJ&&uewQ7f(d*2mKz_E+Sqez(hKmr0Kp
zJXuyhOuSn*F>;DtqlEF{U1b?BM7O@Wm}Ay<an16VIxLd$lNr|6A6DWOyk*?1oLFJ5
z_;1DHPuG7Oxs<79-DanH`KY@WQ*XD6^+}@-fd!AWoMLi~qB9qraL+M|4vcGSWj8x1
z%QRo2B~H9x%DKScm!_c;a+^<TvMrx8VeiDM-Azk%+m~s6ZEty%_Ue91P4b~?@x&Vf
zoKKHES$6HdT6V<j!vVLgO6!e(`#oIse&V*4SKmK!zLb8sHjGnt7n{0f-A@Kbo?!2g
zTub>CpJTSp(Y{~1jQ4cK?G2aBbuOmcmdBao9}YU7ACYwB%bg8Z-n$k}v+i=Au-#Qz
z;rUCO%Z?{)*YEGxmS)gVHp3@xvaUju#iRX8W6kT;kGe#$IV(i)h<uOX5xJdMzk7xl
zb7Hja&X)TzDcar|^JSCV?=6`dQ#F6$6WztZSxH>;INs>o2|V#ujd$Gvy)xEqGqzm5
zFx}@$&czF>%(kvNS6vmmTI<Ev#KU2m%T{}ydU{QN3Ac>ptnw23v)67roGq7+NjDLD
z>fEnss%xP2_{ND|F_C-TtM8;uy>KhMq_3*JLG6R?vaO~$x!l)t4O7#WF3i7mOYT{D
z;`gLFuWMgL&(=OHv$%bMDNdke*0$N__C5<R>Fk!TT7IuUo|k{^KfB<*e|=p?Q$8hF
zOx;q}x;I$mV)g^YqlfRkb+dj`eZ*NI@raGckq?cLT{mTqoUoi8oH#w$@bL4pl+CA(
z-h4BC)6M$#X`3B#n3-hf&1cI$7k@R<d)Dv!TUOgm?2nT$`8_r1Q+8j~=6K)FiK2ds
zjoHe$o^AVNWb|g`t>3;ABYLJy`!67zoLOM9x;}QL)6U>?%*!@k&gtWma#@;CYV*bM
z@;U?Uws%HvSG?8{t4Yh=e$%c~(CW@tfeF9b73V3YYi(4Fsu!Oc5NC5jHsy&;Sti%z
zr^;%*ZwwcGbBx?DZ|cp5%fds_8v}o4PN|I8s$AOsutBzMazx(rYkk*QwqDPjvEtU!
zC#BbYL#7_dRr(csYs=y}+`Xr`72k(nb$a!d@oQQCtg0tl<wT@K=O-<8649}_zSEay
zZlc@X>gahUn!Vqi{*<w*pWoB))9g}NVQtW|(_8;fe!t0HwASmY+tf>m9#uCj8}64@
zo%7QEI_=q4F-u|QN21J+rZPVYWq!1m?a28>TQ;*FIqw)`nsNT<XPd6av6g?%9beD3
zpZmjZf&JYdx*uK_Z~6P{_;3CWeus>NE_Yw8r#4yF?2fe^&bXBu@$$pdMc)eR-`lM|
zX};cTpZj7vw|9CSUTf74{j)aHne!&-^{WTpvbS7o-EPTYGh20E`PHYD;Rn0l=kagl
z&DNiOaDB!mQNerL_%Cv85e;j(d83@o>`O!Mj1|5IjpAZwf8+4F!7j}g9D3;G;g@G!
ze4YgeI&rmk1-_rm`t{Sbj>Na$7j5`<?znCJ)Nbw{O(koVH=lWGc__W+P|@x={kjJ%
zZa=+u=w!iK=6lsVRw)sQuWM4TtjpMbI3ge<O+&<Sg;vy~qrWG1Jp9{|o_NRbQqrN@
z0gpC&7+PNDn`BlMfAQKh9=<;ptJXewy(dC*(c;;nva*LC@BLvLW4UvM&%2}ZTwhD?
z7H4u?QY%)!>Pm+7WaA@MX%Zs#-Cdu$w^m=AD;pKXYUse6H09C+!?$r;C4;AY{T#o*
zUV2;gLeX!LX0wvNXJs$HoBMmswmXTg>v!`9l~-S1cwTM#BbnbhWhxn`cgBBtt);eO
z^V_<4Z1b`&W`9kZrE>o3w&b<X56>-$(1=>;^=;=pv-P!kamMx4lhc%*w_f8;Oj){_
z>09fy?h`I;2fcgaMOcy?7p%{YcS%=CstH=8@2uA}ZD*L(6{qQI)*N@zy%+h#T14}f
zN(TS;m}Bmm4|bWaR%26hvT1tsTv?@f1)E~4v-plOd9A-S>lU{?Wc7Tl`hJGXm(~AY
zPm25IT@{`7FKfPm>aqFh^?#gR*IxEM&#*l)((9jsr-5kM{u$G@te$>}Q-|;Kyy>yF
zH5D}s1x6>CZ+_hJ`@YSJHRdP3=2R<4Y>ZQN6c=^bBld2O<-Pjj4%G{68)W=<+uxtF
zneU@Sr&!ziG&MD6?nU>XJP6^c6Fm4LJ@w>11G^JeGTYdH8ox?YjC5xTahYDvba&B@
z6+Zc1Yu_r$hb|Ikz3cKJ(Dathi$m@GSr_fOb}>CzTy;gPWcMNW-WUBWcc*^}H2$T#
zpr18E<5%T^=2{(@xBPFuHmvmclCwZLR9?5MtwD}AsC%)zQ};XW8CsokOuz2ig-O*)
z-H>L?HTflR;Vff!>cw1#`#eFX7i%}{s~24$deLk_K6^%L3D<>krY%}lLNAuuUF$Z#
zvf;#+3!5vP-!5D*Z*!%yuCU2BnR@}Zg%@1iv#?A@<44TBfNFDx^N)GAUT4};es1^6
z!}omUi!bbK_DlP1^Dpq*{lEMFFV49yeDnVIKmYmv*-!i*KJU!DdZX@3<zF`czIioN
zx-UKUb-k_s@jsF;{}vR8ygr{M`7F8B{CHQ^tnyVR($gn>PPtHh^+5D45pBkK7S&d2
zt}AcZF1uplRr>8!Ny3p_iKWXfl?C3_IKR}wE#A4|wuq~rb(Y(5{zWg77EI4x-4rwT
z>73lvhi-1$G+*#;Rn@kjQ)0mxr}C<9p8ipK^7+cd<+t|d)vL=anp@D(6}<Jgpo{Q{
zyP6;8&I~Fm_j+(ng!SFI^L}fWuy$YfTD5HD>5^T(UN^IYxKvwayscd(vinqe<=*3;
zs`^voH>m%uo$CK(ic{GP+ocBrH=XT~{TRD+zeGg7-1E~)t|b|F>Tj>R^s{hRLa))@
z#aCrZ6eKz1_bvO$aiwH={hhGdS!MP+o7b-?iaOSx_1#lL+J9q6k_@-GUBP9sJG=`P
z$zK0iDj>aQrHZ}t`ju;(CZErowZKaLmGAe<ffIHWKY3QXA?NDca*?k89_#<q6hyt*
z7Ods@Y{vPk4h#Nix<0hD)Ofrj?q}qWrJFaXaL!n^wd4AxTk5`&!KHydA_r&IA6T_+
z?kz8VpYxS^TI(J#^=lq^7VGx(=aU;B@A}^RbH};dr6?l&%N(XxGu=`x{CO`aJoH<9
z`SQ~kTX`o{?;mGE=FC1^J~{YK%9dP<otc$#R)3%7%{zJSWyy2vSdIRN7gybRoA%3$
zIX>gTqMu#Uj$JSK>5<g(^K+Er`vb-8MVh7cE-g<>J^11-UJwniI_5s5Rg%~0K1<}^
zseBIgCuNhiy1Za1xg;g&`RrKjrCqEuidWCs5~XRtWw_mKlJBm~F8)!Al{_U*?q9iU
zm2Y!kp|R<gsWa7#gLlV?Z_PgywAs^n>B*9?mvXaKl+KOvpZU&c?Zt^cm!yO}qmq^H
z{Y=}Q*jHch`WeT>8NJso2p&Gt^q{Z0-Qw%DY9o#<tc~(J{yltkWU5|$mx`g4$Ewfs
z&3~M~zmvE2)h~}u!$YON`Ma_^_urVcQuW`P@ZZ({f3k0{f7Jhjx4cq!dc@5AMena0
zh&8G%%IlmUG*?4AcDILEXO%(F>>qN|R^4B^cxm`<L(9Ucr|ac&J!;zTS^YiME2^6J
z<(@sS+0Tr3q9=-3|6RX-+PXLV$RXLz*LMyo`u$mZyMNJ>Z@<_l&ia3%_x6_iCG(8d
z77FI?y<};7QD?;>KU>4Du#@%tiKb>9c9INFCFDIVi+%rWD9Sy&S$2Qy58Dj3d0It(
zn)43T-;}+y;ikvZ*Jjd1^`Fz4*SDl+&2L-1^QMCFrl1R=(=@%LuN`Y~jDGo*MeK~m
z!pI9(9ex$G@3(Te(@}G$+A*ek!Q=y5maLE0x_or{#HM?%VxIGPUVL6Fcl{?vxsS>Q
zpJmPu{+yKG_dsZOk-?H=_x&&2mls_W?Amvr-|x3-Oy`ay|L1CMLG#vKocJ!f-sPRf
zr~eGOqKUy*v-Sr6zjxI}?Di6mQ_@EFN_q1|B>x@dd;iWnz}6x`lH*gD<M!6NlkZnF
zJ+9lZ{9c<{{pQZ{1DQ5{qAPhUf8KKwee1E(wtUr<GYhJBpAIU}y!tRUvu?ZPjSTkl
zi;Id}m+Lo|EqruQCSA0KYmw3Ry|usConF<yPrcbMxMjand{W`9Kh{e*E*Mr^F$%j-
zuBcUGI!nfr^%|>WzHkb|u}|wVx6e<Pxa;#kSNXjWQ_|%<>+7#xNcXuu>(KV69!!p2
z++peBRnawB@*>H$0;ejzr|c=Qx^n*BZ`D~**XEv`HEZRrYgarTs<y}$S%sSR-IwhZ
zUUFo9d%aTZo%BGRT?|h9f8233EI#<*ok*=eM=)D$|BB{!doNwKRy(J-rEJfFenubX
zZYjPQrR+W{e>Ut?5B<Hyb8h%=nLAA%E*0GfdEMvXe4|_7<gE=J+b*nprm$$~QtQy_
z3s2U&U9o$gy6Qx#Q_J+`eL0R1+%5-7Bbwe#;<&d;xMp2Uy-M&_{TV?*tF2|<_zIMK
zTyR8olIO)o`mw(kdCq@7OXGz~t@wS#JHeM@u1qx#Xbg3kJSW=K_bC6K@cZExFUtMX
z<FIPm)gJV6Epu&(mi*g2DVO-(U6}4u9<aUmYMI93wS0R|h4}h}gn!)H_4P|u8}Bop
zlvUjy`&92fby#>!XaDs2wBP3~1%FN94O{nMwz{BxRbES%*P`Ibt$V$`yB+Z2b~`O7
zr#rKIMeaS>=}Y2MqE*Zpx4B>XAbsh}HRT<*GD{1JX07w#oV6$>JFaCz)2-*qj~0}>
ztG#^_nk2MWxoj<~;GsV+#6{oRn%)#Sv}X?Y!SA6j-Y?m@LjAd2f4Oq4+O7Jn7L$Ce
z^)>!*PFv6`A~^Zai<MiJ2mKG&*WewpbPdNYK1b)}>YTg$Kl9#tFQdL^wte!8XXjb}
zot1al6{fE9NAc$FIorKH+Nry!Y8KtRcjxGwlQv1yKbe(Yoj2>6-Y)MJ!|g|=KfBcQ
zu+sVAi9H-o)@|h}UGmpz-h|Jkb23x(zR#=wn(Zm%_@qnj@O-Tov!#E<uG?xfNl)h2
zIpef`t9ce%`$Acdu6_PU@6^ZBZ=+;STIg!sU-4d1MC4j&R$}&r=;({l*(dMbR4bax
zwb55FE8?oyian3-xbD61cCY%UxS2{h71x!%Riraqu>KhECA7*`Vw3Ny1$kkeJ>`+7
zw!ZuLI;Q@){dM;je|M~RmR9<*t#e|}X1B~+i!AO|J-zO!Y3^pDlbPG3-}XTG9y{lT
z6H-stq^O2kEvqv6Vp6>MI)_kCc5Y`tqpjDwOFxy(uZ7K@oU0HiJz-5))}DhKY@Is9
zyLW|Ef44J=ShQB}zi>=ZdaKZ$U-1hoDyM6k&W*S*(}jIWy=Qc6oWH(hqI1J1Ju&X{
z!G?WL%vatCue-57Xu+pyr?p(M&!WD&ov`_}*!=OD;1}Jc5=k%R4xfJY>6k`O;I4nE
zlbNsG5vbjHZtJ_(hLs{GX4r8Z`upVc<n5O4+wMC!-!QAX!eG9u;6U4%O)pNaku*BV
zJ4<VeQ0VQ0(`y&#h2AZx=hs_z%_Lsp`U0Ib2Bv4P7791siA?z-;XAKn`qOgVk4gSh
zyWcMAj$)o&ZqM7#UNvi$cUO1B)b6uN`tNzCd_UbaU%WK^hsu48S4(^DZ1F1HRHgcL
zX8q>AKI<*3kIale?Z<IrrhB@=pRR50v$m}~S8~{0e#sZJuRWWd&H3+hZ(deCU#*i`
zn?i5T<VC!x&o;k#UMIfenx6gjcO9}Je*=!(53cntD|@vhPB1Fg@SlS2+K8$0-;BR~
z5nS{)<)pBy%fA*axr4K=^V_{zZuiVy{`}19`#n3RoenIr>srUP+Eg@t0jt&hh&SFc
zOO<#RhU9vfv{;BOOi8r7=$|m#a_c3*7xkXLHcslECzh=^7qiv#AkzoYZ!&*pn}3-m
zKF??U-#@d=?GJyQF=gI|?)#JTi^Gpxo3q<Q{<T_8S;Je^oUn$s$~kEbww^ccFx>W!
zxMXecs8*`e;3D(n>IAN2OSAclm~J&any0qL_P{*FHOdG01kBVA%yXR{+0Og^wcnxJ
z+v@Z#)jz5%n<2bhtmKBKRp7ha=Q2zDw$JOYSZ|i;k^8%&UF6uOw@#w>dL5_9|FYib
zHX-x_SCwK>*HYVL_Gd5Szs%Qn4Y(3@uzdUZDZHls!do2rgU`<PNZtJ5?(6V?4BN)i
zC$Z~W{g2E2V>|Tfg>TKhzg0K&FRtJHZ{DGm77y}_*E24wFV>dkiry*evfjl&c?PS`
zzN)ruf*;N1|Jdrm_;F!ybV>Vy^IvryIQy*EFz8tOkHu?7p=0;=XY=(QeD-SMleutl
z$Ac&0(*m|sa0xqdvmIV+BB4~a!(Y2Ld&^;Ksis9Imh9zvziLU}x!8*tm7yQ^bKh{f
zyxBi<wsZVf1FPobZ0GuT<C!MGhrUOB{@CvGKBRrVert~0L!<KyrWed}otyk@`4&u%
zox-*&F)sMcgz!@jn`SvX_s@`%6-ujE%KLtwijdysgwx7tH-fd^3q-BkJMF`*YQgT)
z;cE^H`nVo+=eMbpZ?tMwKWw>X!pf7<>W3}6Drf1fk6h1g;_kn=(sqGmz0`$0by8<1
zHazQXcy=PwB%j43pUouy%aX#i+Y?&mn2XA-YWo}}P_g@fz54loZ#m*0n$NjD<&Qf<
z&!K*XALe(eHDo$JUz|M8qPWYdU+=)@g7bzS)p#GSTyFXC!gWcf!z&{E=jUy{*IKq;
z{NuO%pEi}bB`{oams$Hg)1hBO;(}kj_k=Hus#`_WdU+<<Em<<L)pI+G=W)%K(+(}U
zrtnhPD@)fzPW`~$lO55!y{3J-vyip?liv}+nNbtIF1;M{M07jH{<nYD<@Ue+Gqr4*
z+%@f;e*|3%Dx<oJ<QIOLEU)P!_fq}((@FAIwO1FP+%B?k@xN)W-M-m7E?c8#y<Gil
zJp1B$|Id>hv}0!M|NS=hfc%RT_Al3zoc>mr@ju<GSts)7d1uo(nX|o*&sJpf2>pNf
zT+#XD>-`%$VkUoock=o2JF!nb2QRq2YpurH+UC<z;Zt~;9(TWx+G(md-E87zHPOI|
zBEj`Hmy56_?eF$2pR&YmYlpf2-<Fv<>Gs~7+r@txw;!+nVdBIsWwiIi<x@|0@_#xj
z^d)vyZ^ScxhxWgVUo!4UWSje?WUY0V&|;S_Y?D6TpRJa0Zm-*Og<U)CFB~ry$TQmK
zdO%<Qd5p1zcs*zT_q;#f<&Uf{O}`k_|H4mA>-!t|lXp)X-Szc$il)W+Eyvf!Uw&+H
zdE*0%V6F05D;vs^`ES*i`!9cMnSU+c^75Ul%}K8%HTIk=kPzc2uk^}4`$qF?q>QZa
z-7i)Lemh*s3Al1`UGRp>N8=~#SaqE-s`iZLE6b&M`fEzoO+OL;>RZyJIG#1fxbmCx
z%<`B2Z7OGL{+qQ#Z~588_ovU6#OSATzL(CwpL<vMsq~F=<=Q`lSJ)TK)vo`|`;=Gu
z){>o*_Jus$lXoe7u5f)(aOeAY$NIf9%owXL9#g1iT=CCVk?R}Bb1vVH`;s4BF>Sfy
zSUqR;HvU&$OWWg8Pc3U`)GJWDkhfZQ`Bl%vjG9CDZeP2jtggnbe?wJ$S;qseuV?d)
z?b=ngTxYv_`|;3wGc~<LV?O%rK9?eRr~YzA_UZjI3+8Gj38~*XasBH0DND>8=a(<_
z&s~yv{Pgc0m)#Re|2@d{%{H%JYqxG$#z*;c`O5DmWcJoyiGF-}<tx62@zNXexU1!-
zc|;{2+Vb4oUqm^TgZHFyOw9A<9$D9whkn2Q;(YAqo_w$S2f4!>G}m9>`<0JnTf^G-
zbMLi(sQ<J6>*wbinm^zC-1X;s$Nfar6*jvctmf9&(EPQlrsxH?*B5)ueUVcxE?;`V
zdQQSw{Z;l^r}hZ@NnO7+^<2LG^xx{Nm+z%td-?dKb;z1ctK*iPU(h4A(ZIFwXsgoq
zy|Zube1F$Q>GJP|u6On+*{>8!7V6!%JN-$r%+81v_x3G`_o)B-*ywF^>9-}NGs`+T
z?AHEk`=435v%G2F@$DfV8f_J~98`)}RQykwUf1Z<I+81LVrf<TX*14W9w)_rM8Ey=
zXhmM%1flb%1O6{hnI5*|tXtClH~VL2#wqQ(vrKhG{VYWx_6+eH<NSY@#ZS*={&I4@
zZsi}%L))KyOy|5m?f7@$ef75e@+yDgCfYBkn4ooIqIyLe$Gg*y{e|o5<?8!Buyb)$
z^l{xd>AXYa)-Hi-FI*)rhYG%Y)%^2bRouIq(Yrq#a+`ENdUv&3)!wfG`?l{8*uP!w
zo#*SX*Oc!>OPKNI|Ju9so8KE{F?mrnt0$^2${u^&m5njk@k4!6sgHb&(T*?b^+or0
zKi&6v%KQ`4S9eaWdaSj?on2h<Z)|PB%?CnDma}?T)K0y(L+a(z=EWZM{_-(~J9u7h
z=bljTD{F6I@4Iicj&H4<*^l0JZPrc}40t12`~HJh#A5SxUp4L-IBcAu;bqe$Zqv23
z>ap#D84JJP6=iZw57ZG_9QAI(?{yz`>~YVpk6CV>;j8_1S!mVeti74N_qK%P?{Z&%
z`OCuB9=7trTyN5Bbz{%03z@ugminRWrB}?4O#QR;jbcgM^4*zp{iLs@vrAu7b9*Yd
z)6w&)RuiAt^7Tvh-hIAjZ|tt?A1!us-B;NtKXI+<6QR9+_ZjQCy&s?LYUeyQE$G%o
zxlH%wEvakj<?`az-&5G@wei1{^ZUd$3!Urxd}seIU<+I(Zg=Xu)#Sbd%UNqD{Ex{G
zSt`_?YCe}CSM8&fY@&zEQor+0*xp<3v&z^jyyfxNmId}b2D7##Hs{r<ZgkAQvm!du
zc4J`voh8xAJxA2`7H-b#H4&Qq^_cFit63`BUi3zHmaV?G!?%9Bn{;Px)#I|eQrRlo
zUiW@~b<IM#aQ(d<&fC=_I%TUK*X}Ys>2YVd`Mveg!97R*Ry}6kRl0j(g+u<GmC=`b
zkNEBV=y-QlqKe#-f47vY{y4U;o1-NE+46d|`n^SFrN*yo5B$`-yX&;an@iH=udnGS
zZ;Z~b@!0-MqO*O)p1roGZ`V)PejmHvW^wtWT&?$>dh6v+RYz=}<n}0W??=JAt9)!0
zncJ<3mUVj+xc8&s-C6l6a*K<;f7kiGGG^!dpHFA)6@DME(_cK|Kzaq+9)%aH%U7<y
zw|HOG{NJyfXYR}R!uZr`LU?Dnr|P`3kKYUai;=6J|Dn0^5A&h<=O4=p{d4Nu|GmEU
zpVMC9<13blbN{I3e0IBf{;5Bv+7I$unEpkH{5o`LEm!TmswqzQx67>+IG!x}=!aRW
z-60ddjfYJ|t>(vg_$XceVpQ$R{POJwo3l4FE7B*3C0y*EG&gK%UZa}&F=dOmm2=m7
zCVZZ1b9=2x`2MJb#OReLu76@t?syO&m#_Gz0K7S4B4~5QdT|kpNnAEj0)^bJdnTSQ
z)P7oF+~2SCXRVFhtPk5i|A;tr|K#KCf^|Cm{mOst+T8Q`QEihR(_@+JD(Lz#@2l4)
z$;TV!#JM(Va;#Z)AVk&T@W;A5m-+|a(|43V(%JCe(XUtj`r1~vM}>PYUR|4U=&E$^
zuB|sb>X&>uwk1#3P$)C#F@N={k00mEs(B$U{c`RM&!nFmm-j5XU{Y^ne)fD&);diu
z5oNvT1uka`{)&9fFG*Xg?V4^C{e8(AQ`dWi?7O!3tiPOGbbG@(k=9GOnRc^y7Hwq=
zoa%1!)kG*xbV;(6>{Gv^OJ=+~YOZ4(yfNdgQLx;-w`qFy%Owk1eEO2><EJKHWc?y$
zX&CKz<IAC9foBI|vf{gCIKJ$-|LM`a&LXQv3hcc3szQ>+xz5s3ag#iP_C-IfIqiP(
z%e?JY5_YFEe&{TCSnN^u`hB3sfyGZ_-rx7#Yp>RSUb$w?obcn7A^&nKn~u5|tZP^>
znd8`VPOHuYC&q&{O7$~lsL$|cnf&R8(jj&6ln4jOWluQ81P)$dYHD>UsGgUgDCl$g
zv22U~`NwZt?khh3fA2s~%`GFZ-NAe&@08=;E!`{pxWX`QLbe)b7=Pvcvb|juGg?D@
zzXzoUOTLQKc+4{0(C@<gSsCx|b$)fRUfxiq=XI%<EANb2$%OA_=d_LMJBvydn;-MD
z?zyCP)KXFX*3@Hs{4>|6Saq!G&ANQfIaj@S>)P-a<-U@Ck1pzUxuSR3pyijT-NNY8
zy+?$r9?RX0%2fIGqBnNe)>|GWFMIFq+Ir2S<g&$^3DrG^D=k;1)UKTJ-7jZh)AQ3Q
zdK-jt@2rlGnRR2e`Mb;deQMuc_WIYq5}&R*?~3&I*W%OFzrF7De<>cWGVhY~{AKn9
zU$)%)!SlCqar&2I%wO31_+Ip$za(!_6_#J)*T1s!`IlqORXVdQJkIDOWQMa|%8OZ2
zkv~bOyQ8^vlUDXG#i{3}eW+}G+a-TvnTc-jiw7?pYhM_$I<Z9EmYHOu$mY?0X~(pQ
zwe`!UM65Q^JE_Q_`|ywd>#2dBSzqElyuB!#E%Hk{x9(Bnp(E-Rg${ZjZyq|5=lA7$
z&g(s<v*W{kR(*JUz24_fTYu;M8QsV0tqeP&=3kzC<-yUett&N-tN!08*uPxt-xRr~
z^DlG@7`rF=W+$H9{-Dz7nRpRrifHvBrg!O&SIt=xR<EhY>aI|sU-BVNuVQ}OPhJtW
z$B%OOBO;bw+1|pjl3n-sW`WM-Q+?d+|9kl+EfxAJyw-j1qj^`fU-lg;{W;^WRqgY3
z?HkAJCGOVnE;pNH_fYCdO;@~EaQ=n8_iR3{YM5vA<HqG*kxy^t1YZc8dr$khTAiew
z?T?0&-xfVk_@X3Ne<;Un+r*nYtj(Xew{f-AupYY~wkSR(VVZTSRrD4|zBfg)VyC-{
zTK)dML`f+2)c@@F-UlA9SXZ)p*R<PLUrmdemU2ePARxC{<2av+ig9GZi5@wN$r_U@
z6Dukg_g!i7J6ruwRhV(6?tPBOtT_f|Z0mJ4<y0QjK9*p>mVcw7T)*C9)5m>D%w};L
zd#Beux8J(;N$bo?<Dbu}@7Dx{-z}bAynX*W+j85T^E@o_t8=(YmvEc8L|JMz&AD@V
zr>U;`WShL&jOMJG6ERX7w>vHimOrKPfd9%`Q9i}S2+pRQpxjR?*`^&+`8KxQi`@Bc
z-j$NIf27Y;wdUk*u8p|;F-|wS-ugqFv%KcL+bP+W_im@YuC@G@JjKem;%e%KONko}
zC2lyDxZ&3%o;i0*Pb*25tE<0fJGG;2OZJWSM{{0oza^{jFOoIZiQVQ5-y^=@$*-DQ
zW}Ka}v+UQ~Me_HPZ;E7|UJ_jW^w(aaz28rM{as;xUuJ%`Sj_XH`G5ESz1xylZJs#0
zUgr18{c{ao<*KXvw*U5B*lq9MmX!L*`xhGI<ZI+i*5A4KgXy`GTLV6S`FwI+)q<yf
zThlmHr|hhB3|}9qW*WWG?7+LP3VMBi1=X%DkaJtO$zMxR=d>_O!XxGbFLiXbRr_h@
zE}vLd`$X-g=@!{#b01jQYh-_W=l{9ZCvts<N&2k%vr}!N|2Eo2@6|dKeWt+MF#N1E
zYv@6#>-Tt)772Xr;PDFc+7@%Jt?4UsX;It*@n1zEzoO^vxovgk-uJ!x-&WVl-xC*e
z`Odhg`uO(`j5a!2A2x8w-TP|0rm6iqm(7~i_M`jSw|>~L<iKI8iilU$5$yb@YpmF-
zDjgeSnD)dc9IQ9pafpAToMPCoFKid&MOYrZiVaPe*mg9_-bG6B+K(@87qYpTa$Fip
z_qFrbtkM54p|PFU@r=S3<%9L5Eb<PUcd{A%lQUY=%J_Y!U#8jhgL^KU-QM)y%|AqT
z$?Zdql}lSq-<zCf6P(6-W@%Fk^QJQ_qLEh(a;I#xKBIHmDsnwzy==^lhOhwUUxs&z
zS$SWyA51uLt>MJm=gTK#^E<8k+Y)^#(1ye2RP%vkn*bX=zT9~{#z#EUzI(l9h`GgG
zQO;r*EK^)LpW*%F4_i8oFE@9k+lrp&)SAkx(K-2^K*r{99)GJp>sM`Acg*A7<Qv=B
z?k+r~Iq61qghkedwF;l!-fOQvJ8{0-9_u|R_D?tL-F4{~lb$uV)4Qa={fBses!pmE
zb1mYtE3dX`v$9#Ya?7~`ss4=pdmVjV{Jr$FFwSqbwDL99ER*x6=dEh8uGsuwg$IA$
z<J{vhSu^_fDnBs~yLD7<+UX}T+a59RvwGZ=vrKuzVUPRnPgoU-_J=q4Td&-+?NYtg
zu^qM*{HmLHH#=2tjk<cq<;)y|<85bjB$b|>+%WUv+1qEL&+L2VcK6S^pOrUk<jm}Q
zX5<Qf4!N<$$eiOd>zr-I{w-&}byS+<$Z^k>75r>_H%583cS-Tilsu*PhhlVRGm92a
zOOoT8t*r7n;Km=FoPX!;$Qasp&9FZ7Ov`J(LH%}@GiwDud)%mTG88}gZ1<*}x=DSS
zM%&%b#JWD~>)1J&N3gj3$Q@zB?`~&m1&iyC#4P+C{(jy4)vDhzxBlMx>TlG7I{AGa
z%#M-MM4OD|H8OV1+iv&x&<vluak{gs+|FOKU#!oa*10Ha#f|yr7caK(aF{xEb#3kH
zZBAEjHAijxRllH3@wxh&#nMx6$>~P#cUNBC^Y}|<fZ(Q2Eh+JnFRDm|1ZQpUcmKG@
ze%;Y#J4wrSXXD;=QP<c^n;);YJP~*Emj9L|QGYwtO!>3?wc0M-xv}8N+lzCq+Hd;#
z`J_dg%iUP9*F4{TadFn}a9_!MU1MtB_WV^pbyi$rs1;Xb>ufkzf1U4%=yz$`#nJ~g
zzbw%xY74n1yq&L7&uewzb(7nM*>y6RdHuc1%MNiox^-pUJtGx{gEpzVgd6VO)QdRr
zjN!(gr~B<{j&U4XQ(Bg8-EX<9z9}Q_0z-{k=|{=yM;|WmDJ``B`lI>Q+@f~}{vFFX
z_{?qc^Ty4dyw!g;_Rh|44Bt@SH*dA=64j}%oM*N07IVDFDUO+b{&~mW=P_5;d)NiM
znl<H$-IG3k9-GDXmmc2oSjT&HNwVmdH6ho%zOC7!BU-MlRe!2PhsE;VN|D0Md@;VY
zEHf6o*4n*p2V1wymTOCn`Dx5np4&dheXm*ej>}Rp;hCn6?WZ<2nZ35iGfQG@y;Z+v
z*YT;V`mQ9dJ#{m&F5>W;9i|QoujR-;Gn?=5L0Il_y6mwl$8GqgPqy(`CTH+*r(15@
z*PYWW7G3<FCwo!I-84&U&Elv>Gu(RnOMSd$uCF+_q3<#GzeUBD{3{K63X*p0yCl^i
z;a9BQl=y@5>>Gh=oVtZU#^&6wmrVQNWW1f@bv?Ikp_lP?&etLm^FLajzPI<i^I|)R
zoPA5yMO_s*sIc_i;{+?yh=Wz;qK_iqxvi96A$u~A{pJ5gX^rM)fp;?Q@opFAA5-|V
zrOmOre0RK^{E>NiS*;bE)|1ypU7A<rw>-%ubJ9v3363xO%vXl#vZ}4WHR=5KML+an
ziZbkuNzQs+-#jZ|D_`~D&5H%^+<p6I!N#+dj}Lg&M_X<Ve7ooUYp2^*bDJ%Cdrz7z
z{gvrzHpM8~nepIHN!1%S=CN@kzB=)3XIa$z?3<RipSOLQn<3Msye?n)&_U%lan)|j
z^%1MDrkiZNeR{@u;VHRUrTcpIbdy^ST&?nIv^?`{q1UmF3G!#^Z%y3qF<rB1ezi^0
zQ~Na0WoMf9WlncaZZ1>h%Y4J}I{He`TJMhO8fO=_Y2C}1_Q_--`@Z=X%&#tg9`k$O
z|D5^K>9^Y*H`nGJ;tRiB@ww;X-MGzLS4v4ekKf$Q-(KXOeQh$=Gp9Q%dyIbbe7|b5
z{pAv)<Q07@k4{iGO*)h^ZO+^J<Q-nVzmM1k>z}_;-Db-DSwGW+QNyxYjGLElh3BU8
zUxl7VL>ZJV|90%$+v(2>eU@{oOMR%Fpgm1tWxUhu?>l<VKeN*LzB|Wx?aVcbrq)kN
zKAAX_sh$gL6-xL2718z}xzedjyky^%GqHz$1$oc8ddBvU)oRsqna}JJ=N>LM4yb?k
z<t_iDyZQespWoiU@sbo@U2|&vwfv4Z=YRDESe^f6t0{i&S8o7U+Fv(~du#3oZ?b;<
zy=nR{MXoyjJ1vp>(*>Uf+?>BjM$KJgrof_0TZKim*8CF|xhciJH1zRC{u@%uubiDS
zBVzTk;Kx&DJ$E&Dd*Qohr|!9B`PtlJ9dRla_v(-Io#ooEw(?I@^8T=!>!*h<UjFvv
zGWA>Q#jbK*`oC<$*QQA~#8Q4uUa(bn#*I8-_U3D4>c7&CO1)Mo7V`XlWmfXx(;2G4
z#!>AHe%WmLwMB+!l~mQWua4pSPZ@7A_x!9hO|AX+7mEw$e|?F#pj=aB@?xUhU#1t&
zYpO(E1j;P8ZK;=Pb+LJ0T_GnIx4<iCtF*_4pDID^Prv&crerJ&{G2}VnU%)uP3?S(
zZ8iEHp1LD*<bC7pm2&f$?;CEq|G0N*^PzZ;4N;;#ue3u{gBQ*_GHY4F2V+_DRgvqJ
z-dNn6Z|gqm*zYeT7ldnmg<jDA^~L0Z{?9KV7xaIZXuk+g3D1&$UC(fD#TGBa>R5(-
zotro+@3z!V_-n_jym_WaQg?ig@xh`X$DNznPj0%sy7#e#*USHn7E{mh?ARtY<(!D*
z>hs?&2>h;_+qv6W@H^Atn;Po_B_z*2{4|T3FL<v_Px+?{t1oFCH<91Y`1FhJyz6JA
z*L;q8)RZPCaE-O*=Vj~qpX;mQ>;JK|d%pL2ZMtFp!5EF7oqN*il-BH-mLc>k{ZQ5+
z$$vBF-aPZ^#-0}&b}qd%i`{H9_a{sDcP2q|_`mOrJ28FEgzaHb>kmKO+BD(w6TjD=
z^B36MW2qA>sNBQ)e|`1SkDCs!Ty<#|<7Y?Ko_jCmyffc>Bfjv^ov_Tkym{PDj&hjJ
z$*NcVxZ^?Wjj#RPM}(FB?Mt#%6k=}u`S{0+1(g;;@$x3&t&inTK9ipK!{_LqIrFOz
zeKej`sUmcK)w7Epe>SA>aUXsj{KrPNi+@sPg=qZJ8ON0#7|(ty{=#7WgXc4pKHNNa
zr)*;-`|R>tW`FMF9zS}1@1Hxz&wsSqA^UvGS$^ed%rf=YrE}~AJKqPMnLP1_o8#f2
zB?jsrWTX!nXWw>tBpf2O^iaB6KmXM;w-ai)gRY4O=3H^C7k@Xu{js;H)ZRmn4s-n3
zR`?<~amMO|y^aSSwF>N!Pw7`bv>~(q$a5~K+lOj;=F866(L3i$`k{_I55Y6>1#EtW
z-~2YeuC_Xpo$@38Q2n!~LT6^*@Soi<|LPm7fP=-;4v8MKargL8+;Mh(Vd!7JIJ4p>
z@*j)YpVv<9ndQY@asSZ8ywvN;i8pK(DztZ}%((yb`8JO~EjjZ#6|PL5_~XWc%4uhx
zPxv$c@1nW|9z35G8qZp|S-m3jg-^l@oqx^F=_bzUUs4wsPhMEuwa~b6VZHIgcxG8G
z*`{+W4(ZS8MM~Vn9nwvlm;3HBDM>Rb(eOPjDIizkW(?w_8I^4FZs4=!w0iPiV7C3^
zC;vgNyU_n*XY)bF3kz3pSUsubR?pJjEmU%%ZGm&7;)^*4VtD4sm6)+G&TZt8HQIea
zQbnlwKeyF?*17e}C2ZYCCe;6bwc+3D!@tZ+BAi_wc{)7zKG}XQqK%LB_ni6FJ1qJO
z9ED1r#k0&6=9&AGNA}TU$M!RFB`408J=@lO*80Yt%iA74&$HI6d-wFYU0qpb=`-UJ
z2ogKlaBc_FiyLdtwJ^P4h>LNMbn9fE`?cYm!cOjzb0QAy^KxUVm)}@c&*fuYaI?J8
zZySSEWSif&t_vHZWlzmxmpye%>fep&8!9cgtIoElmMif~P-Qr;2a=Vxa%Pm>bmPn$
z`$y0D^1}Cor3W~!cK#NgQ7UFwQf5>V=Gk!0ukD<7!@0>yA49@loC(<F^t^$gWSUWl
z#wl;7^oR8lC0x;STX{gJzLf{$w`tuAijRi1%WYr4ahI?A#rs3zj_t4Zd#~Q?{_@hR
z8y6Jc$1W&-p!8zGd~c`p)=Q#R>M8pVM}=HSjOCd-lXdO6U)@o2oA^$*`6ae*_4u}M
z^S}5Di8n7up1N@J6o{-8x=`t*()R0u;<D*2eu=9;&lk4x-m-4fxt8ww1<wB4ufF7(
z%Nd?k`mLsPb#i%x$d%U{PJHEBd+yL_hv)H^UY!Zqx9O@TNTadGyIZerT!=h!VP*is
zTvwjCjy!YMI?7u`M_!BMc)=sunHU>A_hk5+4Y%|!C;A5c7r3x6g0CPZf5Xk@a}jx^
z-yHfC=1qUI;akkA!%-!fhLwkw)-QBE#;cPqRFWp<(EjH3+q9WykN+@!|6tb56Q&Ow
z+t0Af)%>)d&ua1d8;QDF4SY+Vf0Dg+^uk8#HBK*dc5zrK@3<;?bkjMG{fDL0g#61}
z&t+Y0_gj5Q)QbCwxAXF?3$7}DuAi{x@~O3c+S{$xvTov=sed!^ZD`GlIZwmVyDxEC
z)i19xtlU=hGHkggbICVGD`QEkmrY^ma?b5sOXu1Om9X7R+H`H})td`{u02=0ieI)$
zsKjsMj60`f!?e3kwo6)ZOIZ19Hk@N=J13S`8fIK_!skNfQ@-wbEOS-49G`3El}1JS
z<UQqkt@&=l37-o$4<#8Hs=d&87}lOOXMyqTg~jz93!T%N&OJPR!fI{9xywo)d+ZP0
zQec?7l<9(^vEy@R#uqsujB~}`@Od+r9Ls3nn=0*?-pNps#^JDBRBFy6S*Zn|*D#bs
zu`U3alFf8M@f^$C$65<EJ2IE-3t^mVthL}XU;l=vP=|J{*$axJSWEm?Hk>oeE7kC3
znVZQox3J#kP}HdlGtXbB^kXiWcb!4D>Y2q^mbrye3ykG9or@`n;5KREOYK^)S!xsC
z#kkeZavWCOZw03@l<+ZFS-#uA_mQJ}hEU0|EFRf+8|J0F5NPPzSj(<HYr*Ci){=YS
zjB~?79iGRwopa*7Fmo}Zm43omY5yj^pXx8p1TxOu9^&x4-c<C$!XCjAw@e;c(F+T+
z6khaPVURTvF5z2rc+sRgXO{jFwCA*%BG3dXcAlF!w9kv)S;JwaY~t|TSMq|S7NeCu
z3*+2y2`hi2k{6yADg#+d;zBsB&UYLsn7FRakL6W+_mRy?bEWiN%@^$y+?Ltm(X+)@
z+3@qfX+6E>H&m+Xeg9`O`Ck8UY<AGS3gz@db-$X)LHB#sn(yFyo?LzZ?Cqj}iBpqS
zY@5I0aoJJEB(`sgr*0hi^tQx)j^J8(g$JK@tdLe+wfs@l*S<Nmy-7Q3l^;JoWFvoa
zhPcwr`K*P(O5b!(-B?>3$yTFvokJwqx>wM{^z}-yzi~RbPu?!=bx5e6c*i&BO6Iq1
zN%}%}GQZ4oGd!3!;YZ|!jnQvz@qT$bZAV#i?e3-P?h4$`TbONrXM6SWt<~4IM?bmM
z`{C`q(zkBE%1+1ZR<GUtblu(HeRqGayK8ViuQl8J%J%4&w`||uu6=OJR(Z#XjqBgU
z=ATTOv^ga)EXp`g@_l9Y{>818juDINU6XnYW;<Pzn5dAL<ZwcYn?d*89+pi<9-H5M
zczyY$s2<e`OIfq`pRRcOT`KNw)G8IR(~;SQ)0^c_r$$~nGWVR&hf9Z4A1pm5WMKB)
z+*N;LzWi<9y;~oK<>&semE6z1uWjo?RgX(uO;2}D-6XIo>{4ZA-y8c6*X}O+@j9=z
z^KempLBvzhOBRWIJduxGlJ*#|x3BrA<oNdTWW{VIuFTTsPEn6VFNG|h@GCUxee?aO
zXYTP1k6aVWw#SKdPH(Z)N!hC+q|g0%=7g`CJoYG^Nq4@ct#nc6%tXc2kt%9j#UUqV
zb<DU{+LyUk{IZGqvi0Fn+5(r^KCR%ielMNsDz;E@QvGg)X@QqAl>@Hk<%VopxL|77
zrLEE;n_ld9<cxYP`uy9y(v*m`U*gxYtO@n9+Um7(_PXV9S6`>U@L>s7-%_$Fc4eeE
z&!(eiSI&HL=~={@@K-%obT-{ciN3Nf^w)aTu<Qvtw#e{w1w5bnhUfOw8`k^2UXj_m
zths+j`pT=EQ}dSO|EpiW>eg>t70Jf-)H*GG&zbE@+h4p751L$I@k0GJN5HvDD@~s~
z4nH_cQL2(L^zIT?sk;aIlD3w5t@Ya{vhPeIv&PlmA}j0kZtGQg?0TEHZOMF|T-HpM
zgSTp?DV@-`!9HW%%~dP~w^+EAebW$ny3%azwWXnY3ra&atlU}k%GB1>zyAIFu%E~H
zuBqJDzy1Ds<Ep+@b=z&vB$}-%mA)Dh_2vGGO}`eOns6rk*n#;W5Ar8RZTIv|b^Y(V
zZ~ttWddKVXTW9&Zy|!5SEi`uOj*ct-XZ9BDFAa*Sik-iH^204(7M^N*mLM%T#r#Wy
z3RC{8#swTY7nnE6Re1AjR4J&hUd8cLwf>%%pTeqF9=RcR)@DeH{@!+ZjnU3k%??w!
zPj<Y{-MdlN)XTSOqubS!Qg?dT*{|$hd;HyVD-Z3ZcbOYq!gPHSzB<_^q+YeUEjBOb
z_pDMy&2QH&wp_m2T64UP;qQ_A#~pi3y|mVsNd%p{$X95(#o>v}U4eD48WmQ{akM?j
zzW(fU{lWSZ&!0d2oZ_UpeRb*EEG=cOM=$Q@U6<RI9=u-5>HdOwI;*ekS<HT6by$M)
z%DF4n%n#dFP#$l`-{1X(p^R~x;iZMsH>b@OI<S56%AXw@@14`DdA4rW1^+th7tG=d
z>&hA*`^{WEVdqz`SFy6&uN;W@JWsB`KgL$P)c<|XqWAGF^*?$Tf4_V7Yneu&#_XSM
zmHB&<JZ>!fDA>+X9XRo-*tSDLHg@wFrOt8Zr&?D}wk<Qt`TVkU!S>?h;($XR`7-lF
z&5qxjRTy#Z-8PQn6H9;h*~gf;$!mRE^eTMaUz3Atsx~Xd@-a#4^EZ|`pAvIYsFvhl
zk!0Fmu2|3+)O<*0PDs6^XlYUM{EUPDzW$%T=?-Vu^s}G*{xQ5exbAq|+v%rDd19_<
z&J3L5^QlPE?}tp8;cEFC?bG!Su8d|>&+}b(Alv+x^IG*%o$j6XH8YPi$^Ct07x1C_
z!8flCHtmbdZy)yk@Y|jIU+-7xt8=SYnEP)@P~Ll0NoX=l*+D;{&XYGf^6P!YIHiKW
zZjHLg`~K}6-uIt(Jyi8GuW?`c)$q~H^B)tI-xf*i<Btq>Nm^yFKi5~ZGxN|KflbRA
z?;f9fQ})9R-O?Mii!WI*l(BQ0Ew52}d|~^`+^Tmc9x-jW^-^i_>X~{?JJNQ43l&)3
zmB9D=#D?4t!I8R?rm{|2E9hs;)PLjps(L5o=w$Yi&8A7*zm5KGWZSxpgKPGR(iibd
zOhj+~VoUC=DGpe9a@8)UuZy4f1cm5dSIx;+Eerkn{`JizZMC-~0zc$kd%xL+UpeVf
zpZR1Sb?2+vUld&DuU+f&s#a@bz2Qn}+hu<1*G<U^dv$4(L1oZ_iy~Ys#iGqWuYEe7
zvePN7-fvUgG<T~Bb*%iN{O9@(C_hPgBN!v`n`6pidnVc5eute8l>>yoc{p>bF6*g#
zI_GQKjJf64Hj7n9aRt;LUFjY<<=nC3ArjK5y^FIox_O_ynWDNowBF(7N~L|@4wid)
zZaQN5!;jNz+6^{a%_8B)z6aB0w-os<ZD^A#+S<^UHo4w)PqmHY#`wT{8ai?>J=!!3
zJ@20VwaLiKIrC`#=btxrty@`oYS}^?v$?|2ex0!oRkpQHK2Y%KzU9M^$|%Oznv*>#
zlaGo&SC@3FJEb{usi<kl@4J)kPTJTNzwy;&=ehf*9KJVw)2W|9`yw-Ck4*nmd2o7>
z%QWRpo1$C!W-5K}XsG{vb;ol%k@pN9jdsEQqFL9%8iV(1PTBfBr+WRWSy!$0I+<pd
zXs)cd_hNVF0o9cOk~i3#%kE8jE8el$_v3N>*Qrb1R7hU9+Wq>&rpM<0j-<}m@&3ny
z)0G924KICNQ1VS+{(Gso9X<T|ri=GmsVD0lK75tuX3`1WzUv>?g>Ut4QmfzH#yS17
z;bl{w-(4}mms9pT_f=0XpC2vbrd*dJy(?k^-+~C{+Q>B=8fEhJ$*w02q*~lpOF6BH
zOVn!AkW6Cb4vutPwKmCdapQ_}^BZP~oQr;3e$gXCRLf~$$eB~mCqJARFyk<9>CqK6
zcE_iePQH`7Kcw#AyD8`7PZ+*uj(lBHuTUNqHU9y#r5?Me=c)#m1?fd+zxm4F>{|Ry
z<N~MV3a?ADJ9f`~yYk}`>63+w#_O^V#Xk1@vbP}joYQIZ(1g!>IjV!gw3a-$5wYuj
zFY})0J<fZjzue<}c#qe0ue8!$=|y{`yQ*)`+VL{{*6xMT@7s)mUwsgj?7k7z*d)?t
zc6&noPW2eOa2CCj?UTe7$7@!`2VK39(7y0qmVJ=4o-Bv&rNygvZ9KGp!cVuBe1~_g
zQ@`$CaPUI8Wbl(6E=l%^(^tGVvVOC}CAoZ(_r~IT4Ka0ZEJTiLEo8sUzv+JOG8X4~
zaUs>a-tTajfAMYBwzpRol>3&&uh4v3#%o*p;+*%fNs9GaA0)JI>82K6pCfeq>7?pz
z8^O&}n39T@G~9^t(3!;DvG^g=B3}^!b?(?{FIZi6UAQgxDeTvo)*794LH{Fdl|&Z&
zT0ix59FOJqe_`tv&-ZzGb<)yhEK|L={${;j5$&}u<k!{Ttv>7SnI06Jl(FK)WU181
z?yoLC?XEpld$?1gIk-OZcHJbF=1u$Et|l%C`MvS1ZQBleu^mpfY+q+gJU-{v;*c{A
zmb*`OlzOpo&tla}IlFy>@~Xaw^M`!Gg0i$!l|yWej@;C)I-@DdJ45PhrcCgYB_F#g
z|1&>RSQs;>dBg1H|2myD(R?rVO6`iBa^c2)orNnnR?IJHW=-p<TeFboWj%X==n}nG
zQdY~amsF^oUXXp>Q(7<ZQ2L7ry{v{)3sukSvn1`;o_b+v@!U6TW}a)SEKK@$wHnyJ
zxGrM1+#pr$%zWYW`9>aLOH)$MughRwb^W!5%<;$jpE^4oy!q<RinT=|>5P|r%>O$o
zepnVVq55X7H{Xq`|MPXy+rR#w!WFGmpY&$C--Q|8Neh@)zT&O=@ZWaV`GPHTZk>F_
zXS+=}>x<N>g&#NHkzBVufb~p}Oi)*^Qc>{{#b(1-M^}6;^Oz}GD#vTR<WQHD_({H%
zn--ljdpJQ#`<2bhDzP;yiaXy;Pz<{=v&{DOnia+UuPxu4mEK@fzE~rq?(O_%pIwhl
zul#kr{`|A+^UnT%7V~dn@lW^jkN1Ccsyp2J=liG1Pb~?SU&3WivrK6W{bG5Ry=;F&
zh|rNGzuo@66W+8n{>rkiyZcXHJ1)UHf6`rR(KL?FQzw`*Ph0+U-Eo(6=Ppa--N#+*
zxAu3Q3;R`n>bT4PFKXY6{~2D)zxd;SaErCJ|FItl5{5o!>P1TT@@nNfo0=@Xp<%er
zbe(ZiTM~zI){&m<9<RlxCiG4aH1z6S-TS&Xy7xBET@9mMlD0k4J<&Xue=HL;JJqwg
zXP#UB;{K1kkNp<kd69P~<BQS0v^$A4r+=&qOuUnFq<7!3x5u{kzL&UfoM*<fc>c%I
z$NfF_X8ZE*l>Wbab#_aA%2|=lNDtqh9qlh~Ht)FaxKBBB$_68^Q}V*A^Cw!qviLXg
zWBQQ|GlZ_qomAQWG5nZ+N38jxM=Af8A3J<ZzgK?Z`PrIR?jDPmnD%k|vH0LE<<j<Q
z`}dptyZ6KTvEt*nO}|?wn$#uRc$D$_C8c#9$x&H0#rW3sj1{Ylq)x;*zT8oNd|}mu
zpSQQ|?Al{-?f<Iz!nboK&QRuAneTf4UG4fs<^B7@zwdqaZ-S}2%CjJ?N4~y6HAl09
z{!CpNRC6<<^W|0kW9ok+Yi^x=WAKq%v+iB8=05A(>KGfJF8<Zs@h^@$KG^g{S@Yk+
z-)7y{=PUer{_**~V`l`|^u(XtI-_nU7XPDO{NvN@ah7353PKweF}U!q=+xg~yzg_=
zj^Hat=I@v=Q%C&x<HM%~Ixaa+6v{T5?7!*GLTgupaFw`ZoiIZQRV}$cOz+<R3;OnL
zmdBZ5MQN1;EuI)hhO3+=uHW5nT(_B6aW_#+rN2njIm+ycmh;L@i+}7r{GoK>4F2_I
z)>%F)PSuC5dLhlJQSY?oG>64kk%PW0^NJpS`|&uaMkRIT5!pjmZ40&LEfre$X!*w;
z5ql-U4eu3n{+ii2JYp$b{(cdAt@(8UmFkP%3%P6UL%;OaOx`ysU$Ei>>z{@NztY{d
ze!S1o^<DCB?|zeiyFVH~u4{V1eC)qLou5PXgoIg21yRTD*Gv3AonazpC}%2XT<8Ab
zZ}nsOM<LA2OMfV6+C_BnPkiL>^>O)<9|4;G=7`9vKJ2<9zQp3{Jqb;_u&(~ej~*|r
z=oXo;a?!%*p4QRj9)+v!X9m^m5~&aEI=|RzYQ`DqdgreFnn%SwK5k#~<91MuVxmKr
z{`5yJQ$&MmmWup$=vrT|<lynqbVsZCJY^Bjk7k<p^p0Aq#H`*O*(Lm<Oz_Z>A99-e
z!n@v2e)M~(#lnvbBK8_b?I%8RU;4vPvo5A<{)9*BODzumm?C1Yd-S}=NByP0qgB=|
z{;Bk_EqLyxb{=_IKi_?dLiu&3Cig@-Sy?Y|FbNoKFV{+Lep~l^LyUq@e!b`>oz!Iw
zZEgZTg`3(G3jXLeK2d99I~wY@AfdtH!UayXasit@22}?)x1<<}W9BO|dMu_kv<u2B
z{-5_lLg8<E`w7txAFn>B@K(7eww2rUe)jLU>)R*2+WP)$ZT^eZQjHapuY|w7z4?7_
zPRg1KpZ|UO$E|tgw$jJG6|pM6^o1DfU(1$kdY%#)e&wm-yzb+oXN_Hh-?J^v6N}Rl
z+xbtXJ7%*>)|_dXhI#pBa&xZSm>3e=o?3B2GRVcD=w-thhNTmas)S!&tvuJN<z-W0
z)H*wEUE??Lkz!}0%9D!@_okc0Nj>_h$o4Mkd4`GgjIyN}eDP+pZpN9syz-oDud7ul
zOZ|I+N2}dx4tb|(t(Gpz{%gVOHI2V~Yq8|!ec}aPZ8^>-`d*dJTWP1iI?+}3fcS+Q
zuc}tK82eq&Ikh^hcmC90tAi$c&73C1;xAhm(<|bTbwP2(>m4s!)@0?MRCWCy-E?AR
z^n=q+QrDQT|E=b;-(t<mim1qYMoD*{Pq4j`7&l>Iz0YI4n7Lu@v1e=oYkfGQj*BX-
z46VGZ=HIZyE_t8tJQmNlN21MsvL0Dxb26dp*QDB&e0jSKmzXKv@XHKM-hbRBD4G48
z(v`<Q_e?pQYx(kuB<pTnjjJ!OWEv?+ubRud&scNz`E>W*1qs`0T{pa05mW4V;!MXo
z=}$j-o^I9k?*CSwniXW~wd=pKc<tn-Zo9TbM?KT9!@oXD<cb{qIGf@8>*rC+KmH1_
zD)noWI``S@b;;{FlcH};Jhs*N`P8MnTF2|+5|6g0I4iHP-oRJN#})81D0NNV6H(1v
zmJf%rxIb@x+fq7jyW*T?p-*!Dg^T3E_e4KFuO;ce@&E(t_xBHHRn^B#I^Aeo@u-N+
zb*E=wyZfI_W$Q!_KAFL<8LcX3a_geL*Z!nmiG|8;_HpM5#I0V0JMMq?Wp`Jd?Td2L
zzv~v>-}+_uy7bFyd8byy^dIL<xjMPdJS~Cu`wjgJky&eUc5PktknLE8=O?y=bBmK>
zUtH2F*{)X-DZXnDckIR1ck^^S>&x<&O>2k~mX<zrGGY@`#=+ScQY%zXcZPjbvzqc|
znoe_?#-2_wi562ck&E3clCBs`6x^e37G~-)`RLh?XMA;gdBZJd`iQA2pLLtCzjDbD
zU!PB_QVdTP>Yn|$EMRk>$y23rF7uC<9xhVR+~%Xhp+4zh+7St_S6|*an%oN)=KWot
zJt<s$eP*BkAH}7wZY@#BoX9i7Ms4P1R?91j+qNmZPn={C9iS23+p+$?@;TRj!H?={
zhqt<adL{T#bbmhM<7~Gh=f7rbjEp}W7<>4A_N1wCR-K;4kM{a}`;yZC?8(*XrF;i}
zep<*nqns;trqp`Il+)|H<I-ESj?F#KTzuX5*}r;ogYw$+GY88RpK-lJ4W5686W{%E
zI&*P<aM5E^b6eI8*^_4VPU^P3v17MSgm_imjsGq;cHi?}(Z2WelZ(vvQ}5V*i9L3=
zdH(x4+vLp;tJv$$-}te+@#A-vT|911=XJ_Ay!B*r3uQhTGI2dS(@AOf29IwhOX@Yx
zZd=Jx{O!xUD>n+1OLP{Awwf=>+Z4O+(0ksK(s$3ZaXu`$8~bs^UK8VhgI`WKUrGJ4
zbKx@2rT5g*_W!zF>%aByuJyvA8{&hOPftI2aBld51H9A!YV6Pvn$`2`%NE-yx7G{%
zK5aB{<Ju>Fcf74#h2EsRteB|3?TD_^9rb@qf8*+-cb#8*W_HT=rY94fb=vkO3*0bL
znQ^da=9Gm_Rx{39&*8F>-FHJcPa~*FWr3}>wcy<p_bW=`E-r^A#lBQ|o{;A6&&*v=
zcz~g9<GbIU+vd1$N@ahPl5crDx^HjkfoQ=!3pXA3Ug}=b!XWy(PeAAU!L!q&XMUH9
zx%uYA{dM72zt+FvYzk^?i@sZ4JyU(-xrx*Ma+sJ;(f0T)xTlk&MZU3M?=GQra~o|R
zoZsr&v{3oeuRqRt3jR{xe(Y!cx9fa-`QBIC!tb7ESl6D^@?X>-JT=_yNf5(sl}%5)
z8{e-xH>1ug&|9>0?i<f%bC0OS{P)Pn+{N0x*(7c2S*5ur!|d0w)xWI1^0v@r#`nWt
z9_jWtUrCv<>B!Hf2DxpUMYnx+cihn0+A#g7*=ofy7Ry%xT{c}+5<-s(CRa&$Uut;G
zDx|%?t<g8mODs@Z(n~$}phe3<kA$wr>Su+DPAu%%Ev2+)+3X&jrFCsBhb+I@*r^*G
zQcR!nZb2cV<;GWAmb4Y@toE$$;6EDYbRr<xS>!dxlq|l~<K~BBKl-?(O%HONsMuw<
z=0?ZVJ6)=Q%5J?8oEtkg))~I2RXcV%=}PFd5_=!UuHH$Ryhl&;AD^}<)Tu&Eed*NC
zVN9pj&D1W`n3804>2H0}tM^*MtSk9h+O)hv0`I>zx%a8{amg#qsaj231seCV>a9$9
z^2L@V|3B0HeaheXk9!+V1{n8lowc#f|L5howT3Hv)1!Ty11G(Yc-&{>qx`xvW8Kx1
ziP={s30_}ugCpQg{?w#x_V!(~3<XzJSj~TaF>1x5_mY1Pi?l}F;oEoA$MoH@j|)pZ
zKK8UvEs4!<f3WfY^H|-!1I6=iKlr&N-{$e=dWl8LUgwoM=PVQOFWo9}>uS=Btavj~
zSAJF7Thk2Xj?B1S@!_J`y{+ZdOF9~UrMy40<XBlqU5%*TshpWNZp>R}xs>ISY5XPS
z=;A5%`<ILM-nwgPbNa%9^n&Nr!JgG-vwc&q>?(J;dwY@Ea_z`_6Q^x0Ut)QS@0?Y$
zR(iwL<<{o)+@{PSU5N|2^wq;Zw@CS1=V>~dV0xkSgvf99-OIj4*qT3+u(@ut_K{nG
zR?C&=A>J=Vc)Nqur@m4T75y&3WH3Y1BkQF|?}XrZ3%w{Qfh6&ZH(eRj&rayhFo-u~
zi|4w$r~B>v%stVc6+_q(0wRlK&D!rJ@jLOZ+*vv$c|oCG{o(!nCnJ{#Dl7hxJbL%c
z#b-Isev~c!DtYYbVbSj~2X`M@v*Dg-=l7PMRVS+aRm8YI_fFUvp)!r5*zrV^l8|@n
z&$1IyT0*B=e)^q=YMVJfeX8GWH@6DIt=5Kr1DBf0oVx6$^{%ty>7g3)6kYMo@2xv6
zQugW#X}45*Yzk|*Up%+|XYZ#Ur51nw?YLAW_Ge!BpV}yWjSH<M)2n?F*UUN>_4rE3
zIjMz@?yZ}s^{%$s@95tA#UU|kzwP0A>!H8mLZ3-gtI!g|2bNJE-{nhlU+qY)sgilI
z(ax6Xi^Y67&Z<5B_Uu(n{{2jU7x~-s|5BY_$N1&6ovqXtZ97}G665drrS&iCo}IpE
za;5Y3_I`hb!`gvHdpz3GB;u3~yGX>TIdk)@pO7fTb2eoL&tVs%Er%{RwP_mo1l{%i
zuBP=)HGTG+r2l?PONG}hejKH<C@Mzt%=>8Vz|_fB;Wty(pE9#f+#j9k>-KS**1OdE
zmqo&D&xdS%&U}A!TXOb?FHKUlQ<omEpM7D<#<b?}(C6Os7Tzkg;Vre1jY-!q+RC*%
zf;lDn{Ibah`Eu-D-7M+-`*m6H<xqdgCs$T1<|*2BYJ1u2<H~>L2A7-q$~we<f1msG
z{leLTa~8{8Ii~x!f5+~5>n0_9p4jIxDN3(Y&%@>XrX-yoR#z0(l+F^`X20>>k^?et
zyxLCHpGk{L^4DUX#lCgn-E(1QRCdZ-x8EMv{bALt%w;k6*0p>6*PPG)QqfE3>C`uc
z#inNh-n<ZfE4Dmie|)B|qvDw$u4#6kH|_mm8NKt#rROrN-t$$DJhdu+`q@gS<{WEz
z%!}~dSL1)|S-t7fF23teH0>8~v<2Os{lj6#<weiFtoWH#e`SuKX}a6l$iU*VD|3WR
zpSzvCzUbMW6+f%4%#k;}-!UuS?JR5H=d~+-mR*UFFumV7t9#M2-GQI?uGndjrPn#j
zd-1bPD|Xss?UOeRcR4#X@N@HuomyGz`etP>dUk8YPQ9#k{j;POJv+8yX5XxtD`xi2
z+PUIq;+354S#JY3D`(|()z6x}_?dgoy+hB|1{OzOxg%#<?s9f+U~%}BJF=$VUC!<e
zERMf&N8Z%F@86qazxZ8}rml$AJ;QvlS|xj`$C`(_x3gW6)*6Jjt=X!y(Qn3Tr)yRd
zBlLfL*>J7<2wUQjwY(blD|ZOTB~OUEzxw~zNn0aIeZ6yLq!pWLhlV*W)DZkt?;^2e
zom1J>cTp#twyzgIpCYqYzxkGI?Hk!0axzhoCykeVJj61;O)2BXhOJZhS1}pyv;0-C
z<c~E&)Lj<UtzH(1E^GUGRYm->X6Jcay<NIea<~5qZ$Y;SZ#3S?w0-<~yX3{Ed0DI7
zo>y;Oe`p%>B+G3tZ57{5yl5k#TED|dI^C|m{8o9!`EVEW(9>CE=O$>sxg~sK=ku<h
z6um|A=Z%*Iduts1YF%Q#S$5~SnL2K2-btY|4rqFc6|0?<zb&^)%H*1dSfkRMfC=VN
z1!gQWRm=jf1+ZniR7&S>-}u(@x`K$3!Q%yzO!roMoU#u8o8{p&V=I$oYv$YqCWk*X
zdWbFLs6VyuxbvHcG6!eP)9+4RN_kUtDr8#9<J_vo@D<AyPp1f;+F}wmYq60o@6k8L
ztDau)b#`^g^_g)e+1w&UaPmo|&lxkW`UZbmbmVkZ@0=AkPRoYY=C9ajq&Y$4nR?*0
zsZMim<d}*jtoFBEz5VJ9#hlIN_T5D_AsmWx<Y%rwcI(E!`hfJ`mRWCNx7pvhSvOBA
zJN5T@>)ZMP$>%rxop|nB{>mHCPT$-YKRr4}<a0zx+t*!E-W$Gt%=o$X!#b-{r}Yc|
zPI@c;YT5o(5#3iL<_jD6m-Hp9lhRKAJvmTM_4+^Guiqv;y43sp^TJ61hNc;H&Hr2P
zKCotQS$<=wFYBoleN`%a^~U*^XIdQ1GfC5YwvqqloNc*o<=W+c=6C)2Cc?9!@9yEh
zhlNaMx9D!(e`@9J74qt<_Eaz2`dn5%%tZ2N`&YJORo)lw?O(`|l@PZ1z-`C5M`X69
zOKPv3x0vt19REKJ5)ND4^*+Z;uhi1s(6zr*alXE!L+A{@v#Q%U)*GD(4Q#nk|7u><
z+08Y*y3RTCn2W8x?&`WDyf@(Jrugj5TLaFDMX~0tzQm+Gb?v2<Kee`<+L?7OK7EzJ
zif2EfU8Wv!()sDIsh3?nsB8ku<AZ6^ED6^pFZ4h3yGH5$7ooq)vi2^%^=r+&uxcf{
z>J`7XWzFjh%jfazFHMehs%OtXvv8Krj;^WozmMc^D$?4mct}gmUvENd@iyDZrCCSp
z?)KdjELy@9xj<vqs=r)S`_(i4ZtrsV8noun*4vYs_TIR(*|E2_e|ypDBdVv*Z_<ip
zQ()ZNb2~`X%8{*9#q(8o(KD{&#hY`xRW*<7zL1xA|Ixn1x+ipXzDi%;z4o;-@2<=K
z7aY{f`zO~+yo;OD_eg8`;vIDY`4Y<=Rn1@cW$(Y8_cqgHahQH^bAnG((O0gi+kGEj
zSdeC}@!l!JZ`B{cvnwLku^HQ**4g({X0O<kdA3f6W4AQEX088uuJp$HLeB}?SG5`Z
z^l5WWT)xaG;7S{V^pT#tybiTSfpgP;Fa7)USf0CV{hOE#Z|lRi<X%?ch%vN2a8n~^
zwk+d&U2#kOpv_bKbPG=2UisB4IB(Vc<&1B26dvUs-JMt|_^M)||9;+Ivh(Y>zbMU*
zWB3(2zfSl|wcTH~7f0=E<-Z8cpT}Oc(tkf&)lC2Mtb6Y)f8J1ce|dUy+{4S89oBz&
zS?*B(;PU&XxTlxjH^!~qQ7@kJ{!8D!y*jo9=A3oH3VQ24x}5GkR1>q=%;`(y=|%pL
zjTt-T9<MFcxKLWh@><|v)%-aAs%G`{cb}e~v0wNi@5sbr{cT$euD7l+N%GbXNM5mf
z<HHNvn{FRoe1l`fB!TY5=P#^Zvm^R@+3z{;70*deTsP<Vtx$tT=AGgvPe}gAtq;EQ
zwlQ;R>yw@?;~OIGyTy;o+4so@$Yi#>){r=y6J)j0`&81ANzKd8-g}X?UisMn%%xYk
zZ%q*Sf3H!OOYfK4%G7tse?8(%-#&K8)vDwFBYE_X;*7k{MbibJwN04ncrbUrM!D>V
z-G@)d?w-4wPc(hX!reDc->tJRzbfKxedz6{`bQ_YjAb`%>PY_XI(75$)pLAfENAa1
z`c}2Z{#)dK^Q66;YrcOxut|U8xrtk%<_mZ7w<=z(*AU88S$S=Hr_1gYy079zR^*F!
z@(Jd@ioD-=<GXgBRC!p)dFLa^558}-FR^31Ap2k|<D7Q0PuDc3-deKr+r%y(t5V0g
zSI=IPtcW{Xzl86_%4Vxd&*grK4;<%TWW6xIpvB^?Pt$ihyX?O!->0(gsd3}ow&>gz
zbrC}j-az&CyUJOwYBsdqSAHsXZ-3)iqdw;MaS7_tn|nL{9-15br}&*83#avr$d;^`
zt5jt}1=4?ZT$u8Uc~`P)k*>U`)&{Ml!dj`w1snN4_7nvjd{966`?Xb~k8?tu+eK8D
ztf+tgPD;SWUVO!Wm;E8XF0E8P_p?+=^G@FKV24>(jkj8TSv(=aP4(st#(t6RX{&#R
zOrLvp&uq=CX#VqFU)H$)Xt3scs_C_IQD4BDqQ{Jvbi?nho#6K3mAZ-6$!#UCR79gc
zGJFwFnRGh8`DIhr-0!?nD)m`X-P1Sa*m8+ZKefuY=D@P_;Lg%1MI}>~blay&$dp!u
znR004m(OHB{W#%gE7t>wM)zc`6Sc1v_a`wuEKVwn@NLVoyWHG%C9h@AUh$2$Rp!(#
z{pfC0>hRV~W;4UfD~em6yk8*S?=IYSX~B_yY;6jyfmTUd4ZKtM%8vYFI=-czllf-b
z3_+h`b8PQ#PcYu@?71;}!}Qw=o9>;<o>?Audf|<&-k&OePOYhnva`3JAKw&fFTtm|
zCsWPy<*$&VyOboit(sVW;OD}UtnOP*VGm1Q372VmEw|fzeZk>^Y(F=p88<g@My&pD
zp-Hu2{bq~OzLYzwRCxmrF`loSoU$+4SFD~{%)&uRLwTm~^SfRgvrczyVB>Yo5U2~V
z5Y5(qa(U*gMk%TN=XYxEy=-e**O`C)XGvkwoj{&S#aDCR*&Q-|oVF|eZj|a(y;)ti
zj0C)Hy>{RD>B#d1FN?aP>g{GY{(J4dY1_%gd)~5fUCVCEVw_Z=kel|(eD%v&f>8>w
zf2W8YsQ)Vba@NCHy_*@#rZ0VMCvweQEB<xhb+%-yuYyvo$z4$kSNJ}<pC0bFkGHkA
zC@V9^J@9hJQj;^2E?S<*ycwzU|JtfZpF8uF=cjuxb!`ZZZGX^NyXnuS)la9VR8G_J
zj`8-<ocuS^G}hLK`-741rX`|MolDZrL<l>~mbNxx2<EJhzIZ`z<<`DUw>K=hah9jm
zSc~^+*N-h6p=OUtGo)0lr>+m#^7Qirk<%N$FR}?ax6J5#$g7!2^E4mLJY-;6l<1l~
z|8eo+O<M6j%*k1T%JxSag%%kqt*)E3DX{g?(OE7zy)9;IqBrfBHmQ{7<f}CE*e@(u
zlOJA7d$XV8vrkP$q<MXu++oM}DTP5toBRrcW;5~c2~?h=bL#9$t*2ktEmAqTtwY&$
zo@VpYnyO{qilQP3Z=#?0pPy3CTVU6{WXh%I!Kcj6RIs{fE*A0@TX^85U^nYQ8DT5e
zou5|gbIt5Ixc#1oX`%J?BU68hT@kUn%(iaE>K#+{zMPz2tmFPc!|@+me7#lF>`1;P
z@2*yzD~(mVtdTKmyA?;;W`m3+^Bm89JT^n%{iMiS0bD-9pN*2@j;-AG_)}1CWAQen
z8pZiK&aZ=?ZLxcz{>tgxw@ve}pX}Qm#Ix_rE*W0Mg1o7^`NvM^9go-LwbWm6?yAG{
zt0n%~>T<gkqUVI9MDo_Ni*s+iDbD?|-qmsT)mP3{3qB@tZcktGJGH>u-}?Tl$qOoW
zM6TdrEqr}pZ_txhUNJM2Wv?+$lKaurVrOa-s`Ws^=QDe{Z1`J_ODiA0xLYUBapT;^
z-Imj@NC{>g6qfrikHghpF7ZiZ>K9&)YbV2tA0M9Q%38{K<KqR*vwlGj<1Vbbxw8NN
zV|(TLuLsXtes%xi5WqjDY17UR)veccGyjPE;rST+JpIPbhLaNxu3P#sv8%JH`p$+Y
zbCw>z>-i+mm94OQlHddBnHuSHdJ`TWUN!eY)9MLY&I#=A9d)#J@qQFZ*&Eht&Kmik
zXkB5^B(dM>TCQoG-LqUo@84FDX;D5qy>MsE3<JHIMf2;^ZfDEx+-EK*X_U0~^2@c-
zigoSFo#m4IHJZEjpMEa*A?~I7we<m89xjgAa(qWd|7*rb-Z>YTyEp<SuC98pMD7BI
zS(QV;!Pkuw<Sf>*m)I7#@wc2jvpb^v_U?_<w=N6qy`6M_Y1+lSqqmbS7c5U(BG&O$
zYs1>)+vz9EL}ss8X;QDscW%1K(>Y>68~59s3DLMxCmQ<Z<n!WZ3zF`M1{ilWIUB5!
z^lg(jlArOfCE<td34^RZJySwt6`w`jtA9H|{JzQJxZO7M`TynG{qO&2Gjjn??E9;2
z(Hp+pIGpe{q{y~)b?URWmml{{o@ZXQMp3W!_`)U~Jysd7Z;L`LqFNWtt)F#XyITJV
zfBXsm6VIbRRW35_51s1t;=#QC8!s+h|8cKSdPU4fVGqv33Ze@XZeNmoyereKpsUpB
z=!fPixwF^$YMEZWRoPOtc&&cOuOsuXGr8?xUCjHt*nX{%{0qY+Zf=49IlJtCzB`)t
z?QZuQ-r|r5SFSYPwM^yuv%Fd7Z{c}R|6yUU##Z@N&mKJbC!b`s<eB9OjoVj_=j`m<
zY_Lmu+5H8VqSn^AO}?;iY48`1w}C5**6z)Cc~0xXoV_gH)rz9l`p<ERp1-T@e9U3R
ztEX%CoILsX_=)#-xBX<;y7FL;;<Bw#?3&a1LuHcP|FFOPQLgwecGcEs*S7^xCwiVN
z30@vrUN2Rk?<c&0htGfI-8UWkR^3&V5llAsG_2cw)bic2SAVkRUCAjByAfJCf#G?K
zdzs_Y*C(>P6@;DS-rU{qvaN50&9x04r`Ag@*|;b2Hn*9C+PC*d%|nYeDb;P-<l%9a
zJ7(_lj43(Zlgl!53%he)t9Iqijt{vVoARcR_jjP-b4l6yZ(-&OoQw8{*DP{t;5stl
zR5fePrMH`I&)~8OskY)iTYq`2?5evv&uFr^zsz~3t*;SK)2n@aRcys#*2R3r>ocY_
zy;pW-DSWN+b*ig`R)WUEQ_KE#i@Y}AdRHu}yrv{;eb(FHYUQJO@wb*Nx^H^vFW2UR
z!mMvMtRIG!|NZQp{;2-RJ+EwCwUulu{_Qy}oVC1i`o<`$?B2xEmQ~j8i>`6j#V;-8
z{-!0?BDW@KLxH*<Lqe;?+>?51vvU0BUar0;ob&1~<Iyixk&|5ebZ^`|5np;>-Wu6U
zmY)hc{ur#*`=Vt3-sRr@ORsu;Q&}hShfZCwX3nIyH+pxUo^$eo;!&Hmnf2-`(=V@;
z&D*5+V&}Z?CsfW&iZv4I`rx<p^zN161((-7P+RvvY**9lI@awUMDKJZvA<0!vsIa@
z{lsWxoZ@WHw_HDcy0lYFBzHOaP5vdiX%<hs;`)<|*3CSd^nV`j{KPEv*r$9omn^ew
z82)T&U%01vp?p}>cBk2kyKZj2RkHtxd;OxkSz-StdgKU}25<SLtF$rnitp7|+q;gK
z1)6)VzON>9+ckD|*#20RvW{J1YwOxQ-iVa0&-iNXnlydI>=jqv3w7RIv@UY>eO;ky
zm%Axz>-eADYFj<mtjgwfZLe>lwP}4^rmusQ`-*pN{m(<n7au<zb)LO0WiQ9`z*W}0
zJHltwS36&eGpLU{s<ZL<AJ(gLb!+C#<o;Fv;P}+3*SsGXM16hVBfI#~p&<PS5iBiy
z`)@Jk9hh$NM{dPI)x7lzKXx=dcx=r+{{d_LBJU6L6)KFI_D2Z(S$ghZ{I@3lH$s2(
z1!|O<_6G^<*;)LdGwy?9Y}0>{gV6$emMZ*Ma_*pd^+ERfa?XF#IqWzOMsqj$zm%z2
zC0^q({lS0PgX+pZwlqDsY|UPOmHS`H^au9NAHrDX2MW}rJ%6xy&jbHb&N}-hf5#6u
zSr0xh;j_EWZMVhy!+xg^D>?o}Iew^|+r0lBtNb<9AIuzfya%5L3utDr?_Zt6P#WRN
zX#3&y{ePdbzwZAv`*@k$ud~f7*DtO6TQ8US=N5n6-v`e2EB`-r-v8sE|Gv84=K1_B
z`)*yn&irV#ZLRWxx~<EtnGR}K{YpGrd;edg!k?=>zgV}dPx*4W;nUTgeUcOQ-@3e=
p`BHfGuP_CHA3vS<|NY8e_tkvA=f7S5w)3-PNXY!ypO7C^0s!f1aZmsN

delta 55057
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

-- 
GitLab