/*!
Copyright 2017-2021 SpryMedia Ltd.
This source file is free software, available under the following license:
MIT license - http://datatables.net/license/mit
This source file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
For details please refer to: http://www.datatables.net
RowGroup 1.1.3
©2017-2021 SpryMedia Ltd - datatables.net/license
*/
(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(l){return c(l,window,document)}):"object"===typeof exports?module.exports=function(l,p){l||(l=window);p&&p.fn.dataTable||(p=require("datatables.net")(l,p).$);return c(p,l,l.document)}:c(jQuery,window,document)})(function(c,l,p,q){var f=c.fn.dataTable,m=function(a,b){if(!f.versionCheck||!f.versionCheck("1.10.8"))throw"RowGroup requires DataTables 1.10.8 or newer";this.c=c.extend(!0,{},f.defaults.rowGroup,
m.defaults,b);this.s={dt:new f.Api(a)};this.dom={};a=this.s.dt.settings()[0];if(b=a.rowGroup)return b;a.rowGroup=this;this._constructor()};c.extend(m.prototype,{dataSrc:function(a){if(a===q)return this.c.dataSrc;var b=this.s.dt;this.c.dataSrc=a;c(b.table().node()).triggerHandler("rowgroup-datasrc.dt",[b,a]);return this},disable:function(){this.c.enable=!1;return this},enable:function(a){if(!1===a)return this.disable();this.c.enable=!0;return this},enabled:function(){return this.c.enable},_constructor:function(){var a=
this,b=this.s.dt,d=b.settings()[0];b.on("draw.dtrg",function(g,r){a.c.enable&&d===r&&a._draw()});b.on("column-visibility.dt.dtrg responsive-resize.dt.dtrg",function(){a._adjustColspan()});b.on("destroy",function(){b.off(".dtrg")})},_adjustColspan:function(){c("tr."+this.c.className,this.s.dt.table().body()).find("td:visible").attr("colspan",this._colspan())},_colspan:function(){return this.s.dt.columns().visible().reduce(function(a,b){return a+b},0)},_draw:function(){var a=this._group(0,this.s.dt.rows({page:"current"}).indexes());
this._groupDisplay(0,a)},_group:function(a,b){for(var d=Array.isArray(this.c.dataSrc)?this.c.dataSrc:[this.c.dataSrc],g=f.ext.oApi._fnGetObjectDataFn(d[a]),r=this.s.dt,h,n,k=[],e=0,t=b.length;e