!function(l){"function"==typeof define&&define.amd?define(["jquery","dataTables"],function(e){return l(e,window,document)}):"object"==typeof exports?module.exports=function(e,t){return e=e||window,t&&t.fn.dataTable||(t=require("dataTables")(e,t).$),l(t,e,e.document)}:l(jQuery,window,document)}(function(u,o,c,d){"use strict";var f=u.fn.dataTable;function i(n,e,t){function l(t,l){l<t&&(e=l,l=t,t=e);var e,s=!1;return n.columns(":visible").indexes().filter(function(e){return e===t&&(s=!0),e===l?!(s=!1):s})}function s(t,l){var e,s=n.rows({search:"applied"}).indexes(),c=(s.indexOf(t)>s.indexOf(l)&&(e=l,l=t,t=e),!1);return s.filter(function(e){return e===t&&(c=!0),e===l?!(c=!1):c})}var c,t=n.cells({selected:!0}).any()||t?(c=l(t.column,e.column),s(t.row,e.row)):(c=l(0,e.column),s(0,e.row)),t=n.cells(t,c).flatten();n.cells(e,{selected:!0}).any()?n.cells(t).deselect():n.cells(t).select()}function n(e){var t=e.settings()[0]._select.selector;u(e.table().container()).off("mousedown.dtSelect",t).off("mouseup.dtSelect",t).off("click.dtSelect",t),u("body").off("click.dtSelect"+e.table().node().id)}function r(a){var t=u(a.table().container()),l=a.settings()[0],s=l._select.selector;t.on("mousedown.dtSelect",s,function(e){(e.shiftKey||e.metaKey||e.ctrlKey)&&t.css("-moz-user-select","none").one("selectstart.dtSelect",s,function(){return!1})}).on("mouseup.dtSelect",s,function(){t.css("-moz-user-select","")}).on("click.dtSelect",s,function(e){var t,l,s,c,n=a.select.items();o.getSelection&&u.trim(o.getSelection().toString())||(l=a.settings()[0],u(e.target).closest("div.dataTables_wrapper")[0]==a.table().container()&&(s=a.cell(u(e.target).closest("td, th"))).any()&&(c=u.Event("user-select.dt"),m(a,c,[n,s,e]),c.isDefaultPrevented()||(c=s.index(),"row"===n?(t=c.row,b(e,a,l,"row",t)):"column"===n?(t=s.index().column,b(e,a,l,"column",t)):"cell"===n&&(t=s.index(),b(e,a,l,"cell",t)),l._select_lastCell=c)))}),u("body").on("click.dtSelect"+a.table().node().id,function(e){!l._select.blurable||u(e.target).parents().filter(a.table().container()).length||e.target.getRootNode()!==c||u(e.target).parents("div.DTE").length||p(l,!0)})}function m(e,t,l,s){s&&!e.flatten().length||("string"==typeof t&&(t+=".dt"),l.unshift(e),u(e.table().node()).trigger(t,l))}function _(s){var c,n,a,o,e=s.settings()[0];e._select.info&&e.aanFeatures.i&&(c=s.rows({selected:!0}).flatten().length,n=s.columns({selected:!0}).flatten().length,a=s.cells({selected:!0}).flatten().length,o=function(e,t,l){e.append(u('<span class="select-item"/>').append(s.i18n("select."+t+"s",{_:"%d "+t+"s selected",0:"",1:"1 "+t+" selected"},l)))},u.each(e.aanFeatures.i,function(e,t){t=u(t);var l=u('<span class="select-info"/>'),s=(o(l,"row",c),o(l,"column",n),o(l,"cell",a),t.children("span.select-info"));s.length&&s.remove(),""!==l.text()&&t.append(l)}))}function h(e,t,l,s){var c,n=e[t+"s"]({search:"applied"}).indexes(),s=u.inArray(s,n),a=u.inArray(l,n);e[t+"s"]({selected:!0}).any()||-1!==s?(a<s&&(c=a,a=s,s=c),n.splice(a+1,n.length),n.splice(0,s)):n.splice(u.inArray(l,n)+1,n.length),e[t](l,{selected:!0}).any()?(n.splice(u.inArray(l,n),1),e[t+"s"](n).deselect()):e[t+"s"](n).select()}function p(e,t){!t&&"single"!==e._select.style||((t=new f.Api(e)).rows({selected:!0}).deselect(),t.columns({selected:!0}).deselect(),t.cells({selected:!0}).deselect())}function b(e,t,l,s,c){var n,a=t.select.style(),o=t[s](c,{selected:!0}).any();"os"===a?e.ctrlKey||e.metaKey?t[s](c).select(!o):e.shiftKey?"cell"===s?i(t,c,l._select_lastCell||null):h(t,s,c,l._select_lastCell?l._select_lastCell[s]:null):(n=t[s+"s"]({selected:!0}),o&&1===n.flatten().length?t[s](c).deselect():(n.deselect(),t[s](c).select())):"multi+shift"==a&&e.shiftKey?"cell"===s?i(t,c,l._select_lastCell||null):h(t,s,c,l._select_lastCell?l._select_lastCell[s]:null):t[s](c).select(!o)}f.select={},f.select.version="1.2.2",f.select.init=function(e){var t=e.settings()[0],l=t.oInit.select,s=f.defaults.select,s=l===d?s:l,l="row",c="api",n=!1,a=!0,o="td, th",i="selected",r=!1;t._select={},!0===s?(c="os",r=!0):"string"==typeof s?(c=s,r=!0):u.isPlainObject(s)&&(s.blurable!==d&&(n=s.blurable),s.info!==d&&(a=s.info),s.items!==d&&(l=s.items),s.style!==d&&(c=s.style,r=!0),s.selector!==d&&(o=s.selector),s.className!==d)&&(i=s.className),e.select.selector(o),e.select.items(l),e.select.style(c),e.select.blurable(n),e.select.info(a),t._select.className=i,u.fn.dataTable.ext.order["select-checkbox"]=function(t,e){return this.api().column(e,{order:"index"}).nodes().map(function(e){return"row"===t._select.items?u(e).parent().hasClass(t._select.className):"cell"===t._select.items&&u(e).hasClass(t._select.className)})},!r&&u(e.table().node()).hasClass("selectable")&&e.select.style("os")},u.each([{type:"row",prop:"aoData"},{type:"column",prop:"aoColumns"}],function(e,i){f.ext.selector[i.type].push(function(e,t,l){var s,c=t.selected,n=[];if(c===d)return l;for(var a=0,o=l.length;a<o;a++)s=e[i.prop][l[a]],(!0===c&&!0===s._select_selected||!1===c&&!s._select_selected)&&n.push(l[a]);return n})}),f.ext.selector.cell.push(function(e,t,l){var s,c=t.selected,n=[];if(c===d)return l;for(var a=0,o=l.length;a<o;a++)s=e.aoData[l[a].row],(!0!==c||!s._selected_cells||!0!==s._selected_cells[l[a].column])&&(!1!==c||s._selected_cells&&s._selected_cells[l[a].column])||n.push(l[a]);return n});var e=f.Api.register,t=f.Api.registerPlural;function l(t,l){return function(e){return e.i18n("buttons."+t,l)}}function a(e){e=e._eventNamespace;return"draw.dt.DT"+e+" select.dt.DT"+e+" deselect.dt.DT"+e}e("select()",function(){return this.iterator("table",function(e){f.select.init(new f.Api(e))})}),e("select.blurable()",function(t){return t===d?this.context[0]._select.blurable:this.iterator("table",function(e){e._select.blurable=t})}),e("select.info()",function(t){return _===d?this.context[0]._select.info:this.iterator("table",function(e){e._select.info=t})}),e("select.items()",function(t){return t===d?this.context[0]._select.items:this.iterator("table",function(e){e._select.items=t,m(new f.Api(e),"selectItems",[t])})}),e("select.style()",function(s){return s===d?this.context[0]._select.style:this.iterator("table",function(e){e._select.style=s,e._select_init||(a=e,l=new f.Api(a),a.aoRowCreatedCallback.push({fn:function(e,t,l){var s,c,n=a.aoData[l];for(n._select_selected&&u(e).addClass(a._select.className),s=0,c=a.aoColumns.length;s<c;s++)(a.aoColumns[s]._select_selected||n._selected_cells&&n._selected_cells[s])&&u(n.anCells[s]).addClass(a._select.className)},sName:"select-deferRender"}),l.on("preXhr.dt.dtSelect",function(){var e=l.rows({selected:!0}).ids(!0).filter(function(e){return e!==d}),t=l.cells({selected:!0}).eq(0).map(function(e){var t=l.row(e.row).id(!0);return t?{row:t,column:e.column}:d}).filter(function(e){return e!==d});l.one("draw.dt.dtSelect",function(){l.rows(e).select(),t.any()&&t.each(function(e){l.cells(e.row,e.column).select()})})}),l.on("draw.dtSelect.dt select.dtSelect.dt deselect.dtSelect.dt info.dt",function(){_(l)}),l.on("destroy.dtSelect",function(){n(l),l.off(".dtSelect")}));var a,l,t=new f.Api(e);n(t),"api"!==s&&r(t),m(new f.Api(e),"selectStyle",[s])})}),e("select.selector()",function(t){return t===d?this.context[0]._select.selector:this.iterator("table",function(e){n(new f.Api(e)),e._select.selector=t,"api"!==e._select.style&&r(new f.Api(e))})}),t("rows().select()","row().select()",function(e){var l=this;return!1===e?this.deselect():(this.iterator("row",function(e,t){p(e),e.aoData[t]._select_selected=!0,u(e.aoData[t].nTr).addClass(e._select.className)}),this.iterator("table",function(e,t){m(l,"select",["row",l[t]],!0)}),this)}),t("columns().select()","column().select()",function(e){var l=this;return!1===e?this.deselect():(this.iterator("column",function(e,t){p(e),e.aoColumns[t]._select_selected=!0;t=new f.Api(e).column(t);u(t.header()).addClass(e._select.className),u(t.footer()).addClass(e._select.className),t.nodes().to$().addClass(e._select.className)}),this.iterator("table",function(e,t){m(l,"select",["column",l[t]],!0)}),this)}),t("cells().select()","cell().select()",function(e){var l=this;return!1===e?this.deselect():(this.iterator("cell",function(e,t,l){p(e);t=e.aoData[t];t._selected_cells===d&&(t._selected_cells=[]),t._selected_cells[l]=!0,t.anCells&&u(t.anCells[l]).addClass(e._select.className)}),this.iterator("table",function(e,t){m(l,"select",["cell",l[t]],!0)}),this)}),t("rows().deselect()","row().deselect()",function(){var l=this;return this.iterator("row",function(e,t){e.aoData[t]._select_selected=!1,u(e.aoData[t].nTr).removeClass(e._select.className)}),this.iterator("table",function(e,t){m(l,"deselect",["row",l[t]],!0)}),this}),t("columns().deselect()","column().deselect()",function(){var l=this;return this.iterator("column",function(s,e){s.aoColumns[e]._select_selected=!1;var t=new f.Api(s),l=t.column(e);u(l.header()).removeClass(s._select.className),u(l.footer()).removeClass(s._select.className),t.cells(null,e).indexes().each(function(e){var t=s.aoData[e.row],l=t._selected_cells;!t.anCells||l&&l[e.column]||u(t.anCells[e.column]).removeClass(s._select.className)})}),this.iterator("table",function(e,t){m(l,"deselect",["column",l[t]],!0)}),this}),t("cells().deselect()","cell().deselect()",function(){var l=this;return this.iterator("cell",function(e,t,l){t=e.aoData[t];t._selected_cells[l]=!1,t.anCells&&!e.aoColumns[l]._select_selected&&u(t.anCells[l]).removeClass(e._select.className)}),this.iterator("table",function(e,t){m(l,"deselect",["cell",l[t]],!0)}),this});var v=0;return u.extend(f.ext.buttons,{selected:{text:l("selected","Selected"),className:"buttons-selected",init:function(e,t,l){var s=this;l._eventNamespace=".select"+v++,e.on(a(l),function(){var e=s.rows({selected:!0}).any()||s.columns({selected:!0}).any()||s.cells({selected:!0}).any();s.enable(e)}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},selectedSingle:{text:l("selectedSingle","Selected single"),className:"buttons-selected-single",init:function(t,e,l){var s=this;l._eventNamespace=".select"+v++,t.on(a(l),function(){var e=t.rows({selected:!0}).flatten().length+t.columns({selected:!0}).flatten().length+t.cells({selected:!0}).flatten().length;s.enable(1===e)}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}},selectAll:{text:l("selectAll","Select all"),className:"buttons-select-all",action:function(){var e=this.select.items();this[e+"s"]().select()}},selectNone:{text:l("selectNone","Deselect all"),className:"buttons-select-none",action:function(){p(this.settings()[0],!0)},init:function(t,e,l){var s=this;l._eventNamespace=".select"+v++,t.on(a(l),function(){var e=t.rows({selected:!0}).flatten().length+t.columns({selected:!0}).flatten().length+t.cells({selected:!0}).flatten().length;s.enable(0<e)}),this.disable()},destroy:function(e,t,l){e.off(l._eventNamespace)}}}),u.each(["Row","Column","Cell"],function(e,t){var c=t.toLowerCase();f.ext.buttons["select"+t+"s"]={text:l("select"+t+"s","Select "+c+"s"),className:"buttons-select-"+c+"s",action:function(){this.select.items(c)},init:function(e){var s=this;e.on("selectItems.dt.DT",function(e,t,l){s.active(l===c)})}}}),u(c).on("preInit.dt.dtSelect",function(e,t){"dt"===e.namespace&&f.select.init(new f.Api(t))}),f.select});