2016-09-03 11:05:50 +00:00
/ *
* This combined file was created by the DataTables downloader builder :
* https : //datatables.net/download
*
* To rebuild or modify this file with the latest versions of the included
* software please visit :
2016-09-22 08:06:46 +00:00
* https : //datatables.net/download/#bs/jszip-2.5.0/pdfmake-0.1.18/dt-1.10.12/b-1.2.2/b-colvis-1.2.2/b-flash-1.2.2/b-html5-1.2.2/b-print-1.2.2/cr-1.3.2/fc-3.2.2/fh-3.1.2/kt-2.1.3/r-2.1.0/rr-1.1.2/se-1.2.0
2016-09-03 11:05:50 +00:00
*
* Included libraries :
2016-09-22 08:06:46 +00:00
* JSZip 2.5 . 0 , pdfmake 0.1 . 18 , DataTables 1.10 . 12 , Buttons 1.2 . 2 , Column visibility 1.2 . 2 , Flash export 1.2 . 2 , HTML5 export 1.2 . 2 , Print view 1.2 . 2 , ColReorder 1.3 . 2 , FixedColumns 3.2 . 2 , FixedHeader 3.1 . 2 , KeyTable 2.1 . 3 , Responsive 2.1 . 0 , RowReorder 1.1 . 2 , Select 1.2 . 0
2016-09-03 11:05:50 +00:00
* /
/ * !
JSZip - A Javascript class for generating and reading zip files
< http : //stuartk.com/jszip>
( c ) 2009 - 2014 Stuart Knightley < stuart [ at ] stuartk . com >
Dual licenced under the MIT license or GPLv3 . See https : //raw.github.com/Stuk/jszip/master/LICENSE.markdown.
JSZip uses the library pako released under the MIT license :
https : //github.com/nodeca/pako/blob/master/LICENSE
* /
! function ( a ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = a ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , a ) ; else { var b ; "undefined" != typeof window ? b = window : "undefined" != typeof global ? b = global : "undefined" != typeof self && ( b = self ) , b . JSZip = a ( ) } } ( function ( ) { return function a ( b , c , d ) { function e ( g , h ) { if ( ! c [ g ] ) { if ( ! b [ g ] ) { var i = "function" == typeof require && require ; if ( ! h && i ) return i ( g , ! 0 ) ; if ( f ) return f ( g , ! 0 ) ; throw new Error ( "Cannot find module '" + g + "'" ) } var j = c [ g ] = { exports : { } } ; b [ g ] [ 0 ] . call ( j . exports , function ( a ) { var c = b [ g ] [ 1 ] [ a ] ; return e ( c ? c : a ) } , j , j . exports , a , b , c , d ) } return c [ g ] . exports } for ( var f = "function" == typeof require && require , g = 0 ; g < d . length ; g ++ ) e ( d [ g ] ) ; return e } ( { 1 : [ function ( a , b , c ) { "use strict" ; var d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; c . encode = function ( a ) { for ( var b , c , e , f , g , h , i , j = "" , k = 0 ; k < a . length ; ) b = a . charCodeAt ( k ++ ) , c = a . charCodeAt ( k ++ ) , e = a . charCodeAt ( k ++ ) , f = b >> 2 , g = ( 3 & b ) << 4 | c >> 4 , h = ( 15 & c ) << 2 | e >> 6 , i = 63 & e , isNaN ( c ) ? h = i = 64 : isNaN ( e ) && ( i = 64 ) , j = j + d . charAt ( f ) + d . charAt ( g ) + d . charAt ( h ) + d . charAt ( i ) ; return j } , c . decode = function ( a ) { var b , c , e , f , g , h , i , j = "" , k = 0 ; for ( a = a . replace ( /[^A-Za-z0-9\+\/\=]/g , "" ) ; k < a . length ; ) f = d . indexOf ( a . charAt ( k ++ ) ) , g = d . indexOf ( a . charAt ( k ++ ) ) , h = d . indexOf ( a . charAt ( k ++ ) ) , i = d . indexOf ( a . charAt ( k ++ ) ) , b = f << 2 | g >> 4 , c = ( 15 & g ) << 4 | h >> 2 , e = ( 3 & h ) << 6 | i , j += String . fromCharCode ( b ) , 64 != h && ( j += String . fromCharCode ( c ) ) , 64 != i && ( j += String . fromCharCode ( e ) ) ; return j } } , { } ] , 2 : [ function ( a , b ) { "use strict" ; function c ( ) { this . compressedSize = 0 , this . uncompressedSize = 0 , this . crc32 = 0 , this . compressionMethod = null , this . compressedContent = null } c . prototype = { getContent : function ( ) { return null } , getCompressedContent : function ( ) { return null } } , b . exports = c } , { } ] , 3 : [ function ( a , b , c ) { "use strict" ; c . STORE = { magic : "\x00\x00" , compress : function ( a ) { return a } , uncompress : function ( a ) { return a } , compressInputType : null , uncompressInputType : null } , c . DEFLATE = a ( "./flate" ) } , { "./flate" : 8 } ] , 4 : [ function ( a , b ) { "use strict" ; var c = a ( "./utils" ) , d = [ 0 , 1996959894 , 3993919788 , 2567524794 , 124634137 , 1886057615 , 3915621685 , 2657392035 , 249268274 , 2044508324 , 3772115230 , 2547177864 , 162941995 , 2125561021 , 3887607047 , 2428444049 , 498536548 , 1789927666 , 4089016648 , 2227061214 , 450548861 , 1843258603 , 4107580753 , 2211677639 , 325883990 , 1684777152 , 4251122042 , 2321926636 , 335633487 , 1661365465 , 4195302755 , 2366115317 , 997073096 , 1281953886 , 3579855332 , 2724688242 , 1006888145 , 1258607687 , 3524101629 , 2768942443 , 901097722 , 1119000684 , 3686517206 , 2898065728 , 853044451 , 1172266101 , 3705015759 , 2882616665 , 651767980 , 1373503546 , 3369554304 , 3218104598 , 565507253 , 1454621731 , 3485111705 , 3099436303 , 671266974 , 1594198024 , 3322730930 , 2970347812 , 795835527 , 1483230225 , 3244367275 , 3060149565 , 1994146192 , 31158534 , 2563907772 , 4023717930 , 1907459465 , 112637215 , 2680153253 , 3904427059 , 2013776290 , 251722036 , 2517215374 , 3775830040 , 2137656763 , 141376813 , 2439277719 , 3865271297 , 1802195444 , 476864866 , 2238001368 , 4066508878 , 1812370925 , 453092731 , 2181625025 , 4111451223 , 1706088902 , 314042704 , 2344532202 , 4240017532 , 1658658271 , 366619977 , 2362670323 , 4224994405 , 1303535960 , 984961486 , 2747007092 , 3569037538 , 1256170817 , 1037604311 , 2765210733 , 3554079995 , 1131014506 , 879679996 , 2909243462 , 3663771856 , 1141124467 , 855842277 , 2852801631 , 3708648649 , 1342533948 , 654459306 , 3188396048 , 3373015174 , 1466479909 , 544179635 , 3110523913 , 3462522015 , 1591671054 , 702138776 , 2966460450 , 3352799412 , 1504918807 , 783551873 , 3082640443 , 3233442989 , 3988292384 , 2596254646 , 62317068 , 1957810842 , 3939845945 , 2647816111 , 81470997 , 1943803523 , 3814918930 , 2489596804 , 225274430 , 2053790376 , 3826175755 , 2466906013 , 167816743 , 2097651377 , 4027552580 , 2265490386 , 503444072 , 1762050814 , 4150417245 , 2154129355 , 426522225 , 1852507879 , 4275313526 , 2312317920 , 282753626 , 1742555852 , 4189708143 , 2394877945 , 397917763 , 1622183637 , 3604390888 , 2714866558 , 953729732 , 1340076626 , 3518719985 , 2797360999 , 1068828381 , 1219638859 , 3624741850 , 2936675148 , 906185462 , 1090812512 , 3747672003 , 2825379669 , 829329135 , 1181335161 , 3412177804 , 3160834842 , 628085408 , 1382605366 , 3423369109 , 3138078467 , 570562233 , 1426400815 , 3317316542 , 2998733608 , 733239954 , 1555261956 , 3268935591 , 3050360625 , 752459403 , 1541320221 , 2607071920 , 3965973030 , 1969922972 , 40735498 , 2617837225 , 3943577151 , 19130878
} return null } , findExtraFieldUnicodeComment : function ( ) { var a = this . extraFields [ 25461 ] ; if ( a ) { var b = new d ( a . value ) ; return 1 !== b . readInt ( 1 ) ? null : g . crc32 ( this . fileComment ) !== b . readInt ( 4 ) ? null : g . utf8decode ( b . readString ( a . length - 5 ) ) } return null } } , b . exports = c } , { "./compressedObject" : 2 , "./object" : 13 , "./stringReader" : 15 , "./utils" : 21 } ] , 24 : [ function ( a , b ) { "use strict" ; var c = a ( "./lib/utils/common" ) . assign , d = a ( "./lib/deflate" ) , e = a ( "./lib/inflate" ) , f = a ( "./lib/zlib/constants" ) , g = { } ; c ( g , d , e , f ) , b . exports = g } , { "./lib/deflate" : 25 , "./lib/inflate" : 26 , "./lib/utils/common" : 27 , "./lib/zlib/constants" : 30 } ] , 25 : [ function ( a , b , c ) { "use strict" ; function d ( a , b ) { var c = new s ( b ) ; if ( c . push ( a , ! 0 ) , c . err ) throw c . msg ; return c . result } function e ( a , b ) { return b = b || { } , b . raw = ! 0 , d ( a , b ) } function f ( a , b ) { return b = b || { } , b . gzip = ! 0 , d ( a , b ) } var g = a ( "./zlib/deflate.js" ) , h = a ( "./utils/common" ) , i = a ( "./utils/strings" ) , j = a ( "./zlib/messages" ) , k = a ( "./zlib/zstream" ) , l = 0 , m = 4 , n = 0 , o = 1 , p = - 1 , q = 0 , r = 8 , s = function ( a ) { this . options = h . assign ( { level : p , method : r , chunkSize : 16384 , windowBits : 15 , memLevel : 8 , strategy : q , to : "" } , a || { } ) ; var b = this . options ; b . raw && b . windowBits > 0 ? b . windowBits = - b . windowBits : b . gzip && b . windowBits > 0 && b . windowBits < 16 && ( b . windowBits += 16 ) , this . err = 0 , this . msg = "" , this . ended = ! 1 , this . chunks = [ ] , this . strm = new k , this . strm . avail _out = 0 ; var c = g . deflateInit2 ( this . strm , b . level , b . method , b . windowBits , b . memLevel , b . strategy ) ; if ( c !== n ) throw new Error ( j [ c ] ) ; b . header && g . deflateSetHeader ( this . strm , b . header ) } ; s . prototype . push = function ( a , b ) { var c , d , e = this . strm , f = this . options . chunkSize ; if ( this . ended ) return ! 1 ; d = b === ~ ~ b ? b : b === ! 0 ? m : l , e . input = "string" == typeof a ? i . string2buf ( a ) : a , e . next _in = 0 , e . avail _in = e . input . length ; do { if ( 0 === e . avail _out && ( e . output = new h . Buf8 ( f ) , e . next _out = 0 , e . avail _out = f ) , c = g . deflate ( e , d ) , c !== o && c !== n ) return this . onEnd ( c ) , this . ended = ! 0 , ! 1 ; ( 0 === e . avail _out || 0 === e . avail _in && d === m ) && this . onData ( "string" === this . options . to ? i . buf2binstring ( h . shrinkBuf ( e . output , e . next _out ) ) : h . shrinkBuf ( e . output , e . next _out ) ) } while ( ( e . avail _in > 0 || 0 === e . avail _out ) && c !== o ) ; return d === m ? ( c = g . deflateEnd ( this . strm ) , this . onEnd ( c ) , this . ended = ! 0 , c === n ) : ! 0 } , s . prototype . onData = function ( a ) { this . chunks . push ( a ) } , s . prototype . onEnd = function ( a ) { a === n && ( this . result = "string" === this . options . to ? this . chunks . join ( "" ) : h . flattenChunks ( this . chunks ) ) , this . chunks = [ ] , this . err = a , this . msg = this . strm . msg } , c . Deflate = s , c . deflate = d , c . deflateRaw = e , c . gzip = f } , { "./utils/common" : 27 , "./utils/strings" : 28 , "./zlib/deflate.js" : 32 , "./zlib/messages" : 37 , "./zlib/zstream" : 39 } ] , 26 : [ function ( a , b , c ) { "use strict" ; function d ( a , b ) { var c = new m ( b ) ; if ( c . push ( a , ! 0 ) , c . err ) throw c . msg ; return c . result } function e ( a , b ) { return b = b || { } , b . raw = ! 0 , d ( a , b ) } var f = a ( "./zlib/inflate.js" ) , g = a ( "./utils/common" ) , h = a ( "./utils/strings" ) , i = a ( "./zlib/constants" ) , j = a ( "./zlib/messages" ) , k = a ( "./zlib/zstream" ) , l = a ( "./zlib/gzheader" ) , m = function ( a ) { this . options = g . assign ( { chunkSize : 16384 , windowBits : 0 , to : "" } , a || { } ) ; var b = this . options ; b . raw && b . windowBits >= 0 && b . windowBits < 16 && ( b . windowBits = - b . windowBits , 0 === b . windowBits && ( b . windowBits = - 15 ) ) , ! ( b . windowBits >= 0 && b . windowBits < 16 ) || a && a . windowBits || ( b . windowBits += 32 ) , b . windowBits > 15 && b . windowBits < 48 && 0 === ( 15 & b . windowBits ) && ( b . windowBits |= 15 ) , this . err = 0 , this . msg = "" , this . ended = ! 1 , this . chunks = [ ] , this . strm = new k , this . strm . avail _out = 0 ; var c = f . inflateInit2 ( this . strm , b . windowBits ) ; if ( c !== i . Z _OK ) throw new Error ( j [ c ] ) ; this . header = new l , f . inflateGetHeader ( this . strm , this . header ) } ; m . prototype . push = function ( a , b ) { var c , d , e , j , k , l = this . strm , m = this . options . chunkSize ; if ( this . ended ) return ! 1 ; d = b === ~ ~ b ? b : b === ! 0 ? i . Z _FINISH : i . Z _NO _FLUSH , l . input = "string" == typeof a ? h . binstring2buf ( a ) : a , l . next _in = 0 , l . avail _in = l . input . length ; do { if ( 0 === l . avail _out && ( l . output = new g . Buf8 ( m ) , l . next _out = 0 , l . avail _out = m ) , c = f . inflate ( l , i . Z _NO _FLUSH ) , c !== i . Z _STREAM _END && c !== i . Z _OK ) return this . onEnd ( c ) , this . ended = ! 0 , ! 1 ; l . next _out && ( 0 === l . avail _out || c === i . Z _STREAM _END || 0 === l . avail _in && d === i . Z _FINISH ) && ( "string" === this . options . to ? ( e = h . utf8border ( l . output , l . next _out ) , j = l . next _out - e , k = h . buf2string ( l . output , e ) , l . next _out = j , l . avail _out = m - j , j && g . arraySet ( l . output , l . output , e , j , 0 ) , this . onData ( k ) ) : this . onData ( g . shrinkBuf ( l . output ,
break } for ( c . back = 0 ; Ab = c . lencode [ m & ( 1 << c . lenbits ) - 1 ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } if ( rb && 0 === ( 240 & rb ) ) { for ( tb = qb , ub = rb , vb = sb ; Ab = c . lencode [ vb + ( ( m & ( 1 << tb + ub ) - 1 ) >> tb ) ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= tb + qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } m >>>= tb , n -= tb , c . back += tb } if ( m >>>= qb , n -= qb , c . back += qb , c . length = sb , 0 === rb ) { c . mode = hb ; break } if ( 32 & rb ) { c . back = - 1 , c . mode = V ; break } if ( 64 & rb ) { a . msg = "invalid literal/length code" , c . mode = lb ; break } c . extra = 15 & rb , c . mode = db ; case db : if ( c . extra ) { for ( zb = c . extra ; zb > n ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } c . length += m & ( 1 << c . extra ) - 1 , m >>>= c . extra , n -= c . extra , c . back += c . extra } c . was = c . length , c . mode = eb ; case eb : for ( ; Ab = c . distcode [ m & ( 1 << c . distbits ) - 1 ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } if ( 0 === ( 240 & rb ) ) { for ( tb = qb , ub = rb , vb = sb ; Ab = c . distcode [ vb + ( ( m & ( 1 << tb + ub ) - 1 ) >> tb ) ] , qb = Ab >>> 24 , rb = Ab >>> 16 & 255 , sb = 65535 & Ab , ! ( n >= tb + qb ) ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } m >>>= tb , n -= tb , c . back += tb } if ( m >>>= qb , n -= qb , c . back += qb , 64 & rb ) { a . msg = "invalid distance code" , c . mode = lb ; break } c . offset = sb , c . extra = 15 & rb , c . mode = fb ; case fb : if ( c . extra ) { for ( zb = c . extra ; zb > n ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } c . offset += m & ( 1 << c . extra ) - 1 , m >>>= c . extra , n -= c . extra , c . back += c . extra } if ( c . offset > c . dmax ) { a . msg = "invalid distance too far back" , c . mode = lb ; break } c . mode = gb ; case gb : if ( 0 === j ) break a ; if ( q = p - j , c . offset > q ) { if ( q = c . offset - q , q > c . whave && c . sane ) { a . msg = "invalid distance too far back" , c . mode = lb ; break } q > c . wnext ? ( q -= c . wnext , ob = c . wsize - q ) : ob = c . wnext - q , q > c . length && ( q = c . length ) , pb = c . window } else pb = f , ob = h - c . offset , q = c . length ; q > j && ( q = j ) , j -= q , c . length -= q ; do f [ h ++ ] = pb [ ob ++ ] ; while ( -- q ) ; 0 === c . length && ( c . mode = cb ) ; break ; case hb : if ( 0 === j ) break a ; f [ h ++ ] = c . length , j -- , c . mode = cb ; break ; case ib : if ( c . wrap ) { for ( ; 32 > n ; ) { if ( 0 === i ) break a ; i -- , m |= e [ g ++ ] << n , n += 8 } if ( p -= j , a . total _out += p , c . total += p , p && ( a . adler = c . check = c . flags ? t ( c . check , f , p , h - p ) : s ( c . check , f , p , h - p ) ) , p = j , ( c . flags ? m : d ( m ) ) !== c . check ) { a . msg = "incorrect data check" , c . mode = lb ; break } m = 0 , n = 0 } c . mode = jb ; case jb : if ( c . wrap && c . flags ) { for ( ; 32 > n ; ) { if ( 0 === i ) break a ; i -- , m += e [ g ++ ] << n , n += 8 } if ( m !== ( 4294967295 & c . total ) ) { a . msg = "incorrect length check" , c . mode = lb ; break } m = 0 , n = 0 } c . mode = kb ; case kb : xb = D ; break a ; case lb : xb = G ; break a ; case mb : return H ; case nb : default : return F } return a . next _out = h , a . avail _out = j , a . next _in = g , a . avail _in = i , c . hold = m , c . bits = n , ( c . wsize || p !== a . avail _out && c . mode < lb && ( c . mode < ib || b !== z ) ) && l ( a , a . output , a . next _out , p - a . avail _out ) ? ( c . mode = mb , H ) : ( o -= a . avail _in , p -= a . avail _out , a . total _in += o , a . total _out += p , c . total += p , c . wrap && p && ( a . adler = c . check = c . flags ? t ( c . check , f , p , a . next _out - p ) : s ( c . check , f , p , a . next _out - p ) ) , a . data _type = c . bits + ( c . last ? 64 : 0 ) + ( c . mode === V ? 128 : 0 ) + ( c . mode === bb || c . mode === Y ? 256 : 0 ) , ( 0 === o && 0 === p || b === z ) && xb === C && ( xb = I ) , xb ) } function n ( a ) { if ( ! a || ! a . state ) return F ; var b = a . state ; return b . window && ( b . window = null ) , a . state = null , C } function o ( a , b ) { var c ; return a && a . state ? ( c = a . state , 0 === ( 2 & c . wrap ) ? F : ( c . head = b , b . done = ! 1 , C ) ) : F } var p , q , r = a ( "../utils/common" ) , s = a ( "./adler32" ) , t = a ( "./crc32" ) , u = a ( "./inffast" ) , v = a ( "./inftrees" ) , w = 0 , x = 1 , y = 2 , z = 4 , A = 5 , B = 6 , C = 0 , D = 1 , E = 2 , F = - 2 , G = - 3 , H = - 4 , I = - 5 , J = 8 , K = 1 , L = 2 , M = 3 , N = 4 , O = 5 , P = 6 , Q = 7 , R = 8 , S = 9 , T = 10 , U = 11 , V = 12 , W = 13 , X = 14 , Y = 15 , Z = 16 , $ = 17 , _ = 18 , ab = 19 , bb = 20 , cb = 21 , db = 22 , eb = 23 , fb = 24 , gb = 25 , hb = 26 , ib = 27 , jb = 28 , kb = 29 , lb = 30 , mb = 31 , nb = 32 , ob = 852 , pb = 592 , qb = 15 , rb = qb , sb = ! 0 ; c . inflateReset = g , c . inflateReset2 = h , c . inflateResetKeep = f , c . inflateInit = j , c . inflateInit2 = i , c . inflate = m , c . inflateEnd = n , c . inflateGetHeader = o , c . inflateInfo = "pako inflate (from Nodeca project)" } , { "../utils/common" : 27 , "./adler32" : 29 , "./crc32" : 31 , "./inffast" : 34 , "./inftrees" : 36 } ] , 36 : [ function ( a , b ) { "use strict" ; var c = a ( "../utils/common" ) , d = 15 , e = 852 , f = 592 , g = 0 , h = 1 , i = 2 , j = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15 , 17 , 19 , 23 , 27 , 31 , 35 , 43 , 51 , 59 , 67 , 83 , 99 , 115 , 131 , 163 , 195 , 227 , 258 , 0 , 0 ] , k = [ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 18 , 18 , 18 , 18 , 19 , 19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 16 , 72 , 78 ] , l = [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 13 , 17 , 25 , 33 , 49 , 65 , 97 , 129 , 193 , 257 , 385 , 513 , 769 , 1025 , 1537 , 2049 , 3073 , 4097 , 6145 , 8193 , 12289 , 16385 , 24577 , 0 , 0 ] , m = [ 16 , 16 , 16 , 16 , 17 , 17 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 22 , 22 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , 27 , 27 , 28 , 28 , 29
! function ( t ) { function e ( r ) { if ( n [ r ] ) return n [ r ] . exports ; var i = n [ r ] = { exports : { } , id : r , loaded : ! 1 } ; return t [ r ] . call ( i . exports , i , i . exports , e ) , i . loaded = ! 0 , i . exports } var n = { } ; return e . m = t , e . c = n , e . p = "" , e ( 0 ) } ( [ function ( t , e , n ) { ( function ( e ) { t . exports = e . pdfMake = n ( 1 ) } ) . call ( e , function ( ) { return this } ( ) ) } , function ( t , e , n ) { ( function ( e ) { "use strict" ; function r ( t , e , n ) { this . docDefinition = t , this . fonts = e || a , this . vfs = n } var i = n ( 2 ) , o = n ( 3 ) , a = { Roboto : { normal : "Roboto-Regular.ttf" , bold : "Roboto-Medium.ttf" , italics : "Roboto-Italic.ttf" , bolditalics : "Roboto-Italic.ttf" } } ; r . prototype . _createDoc = function ( t , n ) { var r = new i ( this . fonts ) ; r . fs . bindFS ( this . vfs ) ; var o , a = r . createPdfKitDocument ( this . docDefinition , t ) , s = [ ] ; a . on ( "data" , function ( t ) { s . push ( t ) } ) , a . on ( "end" , function ( ) { o = e . concat ( s ) , n ( o , a . _pdfMakePages ) } ) , a . end ( ) } , r . prototype . _getPages = function ( t , e ) { if ( ! e ) throw "getBuffer is an async method and needs a callback argument" ; this . _createDoc ( t , function ( t , n ) { e ( n ) } ) } , r . prototype . open = function ( t ) { var e = window . open ( "" , "_blank" ) ; try { this . getDataUrl ( function ( t ) { e . location . href = t } ) } catch ( n ) { throw e . close ( ) , n } } , r . prototype . print = function ( ) { this . getDataUrl ( function ( t ) { var e = document . createElement ( "iframe" ) ; e . style . position = "absolute" , e . style . left = "-99999px" , e . src = t , e . onload = function ( ) { function t ( ) { document . body . removeChild ( e ) , document . removeEventListener ( "click" , t ) } document . addEventListener ( "click" , t , ! 1 ) } , document . body . appendChild ( e ) } , { autoPrint : ! 0 } ) } , r . prototype . download = function ( t , e ) { "function" == typeof t && ( e = t , t = null ) , t = t || "file.pdf" , this . getBuffer ( function ( n ) { o ( new Blob ( [ n ] , { type : "application/pdf" } ) , t ) , "function" == typeof e && e ( ) } ) } , r . prototype . getBase64 = function ( t , e ) { if ( ! t ) throw "getBase64 is an async method and needs a callback argument" ; this . _createDoc ( e , function ( e ) { t ( e . toString ( "base64" ) ) } ) } , r . prototype . getDataUrl = function ( t , e ) { if ( ! t ) throw "getDataUrl is an async method and needs a callback argument" ; this . _createDoc ( e , function ( e ) { t ( "data:application/pdf;base64," + e . toString ( "base64" ) ) } ) } , r . prototype . getBuffer = function ( t , e ) { if ( ! t ) throw "getBuffer is an async method and needs a callback argument" ; this . _createDoc ( e , function ( e ) { t ( e ) } ) } , t . exports = { createPdf : function ( t ) { return new r ( t , window . pdfMake . fonts , window . pdfMake . vfs ) } } } ) . call ( e , n ( 4 ) . Buffer ) } , function ( t , e , n ) { "use strict" ; function r ( t ) { this . fontDescriptors = t } function i ( t ) { if ( ! t ) return null ; if ( "number" == typeof t || t instanceof Number ) t = { left : t , right : t , top : t , bottom : t } ; else if ( t instanceof Array ) if ( 2 === t . length ) t = { left : t [ 0 ] , top : t [ 1 ] , right : t [ 0 ] , bottom : t [ 1 ] } ; else { if ( 4 !== t . length ) throw "Invalid pageMargins definition" ; t = { left : t [ 0 ] , top : t [ 1 ] , right : t [ 2 ] , bottom : t [ 3 ] } } return t } function o ( t ) { t . registerTableLayouts ( { noBorders : { hLineWidth : function ( t ) { return 0 } , vLineWidth : function ( t ) { return 0 } , paddingLeft : function ( t ) { return t && 4 || 0 } , paddingRight : function ( t , e ) { return t < e . table . widths . length - 1 ? 4 : 0 } } , headerLineOnly : { hLineWidth : function ( t , e ) { return 0 === t || t === e . table . body . length ? 0 : t === e . table . headerRows ? 2 : 0 } , vLineWidth : function ( t ) { return 0 } , paddingLeft : function ( t ) { return 0 === t ? 0 : 8 } , paddingRight : function ( t , e ) { return t === e . table . widths . length - 1 ? 0 : 8 } } , lightHorizontalLines : { hLineWidth : function ( t , e ) { return 0 === t || t === e . table . body . length ? 0 : t === e . table . headerRows ? 2 : 1 } , vLineWidth : function ( t ) { return 0 } , hLineColor : function ( t ) { return 1 === t ? "black" : "#aaa" } , paddingLeft : function ( t ) { return 0 === t ? 0 : 8 } , paddingRight : function ( t , e ) { return t === e . table . widths . length - 1 ? 0 : 8 } } } ) } function a ( t ) { if ( "string" == typeof t || t instanceof String ) { var e = y [ t . toUpperCase ( ) ] ; if ( ! e ) throw "Page size " + t + " not recognized" ; return { width : e [ 0 ] , height : e [ 1 ] } } return t } function s ( t ) { this . isString = ! 0 , this . toString = function ( ) { return t } } function h ( t , e ) { var n = e . options . size [ 0 ] > e . options . size [ 1 ] ? "landscape" : "portrait" ; if ( t . pageSize . orientation !== n ) { var r = e . options . size [ 0 ] , i = e . options . size [ 1 ] ; e . options . size = [ i , r ] } } function u ( t , e , n ) { n . _pdfMakePages = t ; for ( var r = 0 ; r < t . length ; r ++ ) { r > 0 && ( h ( t [ r ] , n ) , n . addPage ( n . options ) ) ; for ( var i = t [ r ] , o = 0 , a = i . items . length ; a > o ; o ++ ) { var s = i . items [ o ] ; switch ( s . type ) { case "vector" : f ( s . item , n ) ; break ; case "line" : l ( s . item , s . item . x , s . item . y , n ) ; break ; case "image" : d ( s . item , s . item . x , s .
var o = o || "undefined" != typeof navigator && navigator . msSaveOrOpenBlob && navigator . msSaveOrOpenBlob . bind ( navigator ) || function ( t ) { "use strict" ; if ( "undefined" == typeof navigator || ! /MSIE [1-9]\./ . test ( navigator . userAgent ) ) { var e = t . document , n = function ( ) { return t . URL || t . webkitURL || t } , r = e . createElementNS ( "http://www.w3.org/1999/xhtml" , "a" ) , i = "download" in r , o = function ( n ) { var r = e . createEvent ( "MouseEvents" ) ; r . initMouseEvent ( "click" , ! 0 , ! 1 , t , 0 , 0 , 0 , 0 , 0 , ! 1 , ! 1 , ! 1 , ! 1 , 0 , null ) , n . dispatchEvent ( r ) } , a = t . webkitRequestFileSystem , s = t . requestFileSystem || a || t . mozRequestFileSystem , h = function ( e ) { ( t . setImmediate || t . setTimeout ) ( function ( ) { throw e } , 0 ) } , u = "application/octet-stream" , l = 0 , c = 10 , f = function ( e ) { var r = function ( ) { "string" == typeof e ? n ( ) . revokeObjectURL ( e ) : e . remove ( ) } ; t . chrome ? r ( ) : setTimeout ( r , c ) } , d = function ( t , e , n ) { e = [ ] . concat ( e ) ; for ( var r = e . length ; r -- ; ) { var i = t [ "on" + e [ r ] ] ; if ( "function" == typeof i ) try { i . call ( t , n || t ) } catch ( o ) { h ( o ) } } } , p = function ( e , h ) { var c , p , g , v = this , m = e . type , y = ! 1 , w = function ( ) { d ( v , "writestart progress write writeend" . split ( " " ) ) } , _ = function ( ) { if ( ( y || ! c ) && ( c = n ( ) . createObjectURL ( e ) ) , p ) p . location . href = c ; else { var r = t . open ( c , "_blank" ) ; void 0 == r && "undefined" != typeof safari && ( t . location . href = c ) } v . readyState = v . DONE , w ( ) , f ( c ) } , b = function ( t ) { return function ( ) { return v . readyState !== v . DONE ? t . apply ( this , arguments ) : void 0 } } , x = { create : ! 0 , exclusive : ! 1 } ; return v . readyState = v . INIT , h || ( h = "download" ) , i ? ( c = n ( ) . createObjectURL ( e ) , r . href = c , r . download = h , o ( r ) , v . readyState = v . DONE , w ( ) , void f ( c ) ) : ( t . chrome && m && m !== u && ( g = e . slice || e . webkitSlice , e = g . call ( e , 0 , e . size , u ) , y = ! 0 ) , a && "download" !== h && ( h += ".download" ) , ( m === u || a ) && ( p = t ) , s ? ( l += e . size , void s ( t . TEMPORARY , l , b ( function ( t ) { t . root . getDirectory ( "saved" , x , b ( function ( t ) { var n = function ( ) { t . getFile ( h , x , b ( function ( t ) { t . createWriter ( b ( function ( n ) { n . onwriteend = function ( e ) { p . location . href = t . toURL ( ) , v . readyState = v . DONE , d ( v , "writeend" , e ) , f ( t ) } , n . onerror = function ( ) { var t = n . error ; t . code !== t . ABORT _ERR && _ ( ) } , "writestart progress write abort" . split ( " " ) . forEach ( function ( t ) { n [ "on" + t ] = v [ "on" + t ] } ) , n . write ( e ) , v . abort = function ( ) { n . abort ( ) , v . readyState = v . DONE } , v . readyState = v . WRITING } ) , _ ) } ) , _ ) } ; t . getFile ( h , { create : ! 1 } , b ( function ( t ) { t . remove ( ) , n ( ) } ) , b ( function ( t ) { t . code === t . NOT _FOUND _ERR ? n ( ) : _ ( ) } ) ) } ) , _ ) } ) , _ ) ) : void _ ( ) ) } , g = p . prototype , v = function ( t , e ) { return new p ( t , e ) } ; return g . abort = function ( ) { var t = this ; t . readyState = t . DONE , d ( t , "abort" ) } , g . readyState = g . INIT = 0 , g . WRITING = 1 , g . DONE = 2 , g . error = g . onwritestart = g . onprogress = g . onwrite = g . onabort = g . onerror = g . onwriteend = null , v } } ( "undefined" != typeof self && self || "undefined" != typeof window && window || this . content ) ; "undefined" != typeof t && null !== t ? t . exports = o : null !== n ( 13 ) && null != n ( 14 ) && ( r = [ ] , i = function ( ) { return o } . apply ( e , r ) , ! ( void 0 !== i && ( t . exports = i ) ) ) } ) . call ( e , n ( 15 ) ( t ) ) } , function ( t , e , n ) { ( function ( t ) { function t ( e ) { return this instanceof t ? ( this . length = 0 , this . parent = void 0 , "number" == typeof e ? r ( this , e ) : "string" == typeof e ? i ( this , e , arguments . length > 1 ? arguments [ 1 ] : "utf8" ) : o ( this , e ) ) : arguments . length > 1 ? new t ( e , arguments [ 1 ] ) : new t ( e ) } function r ( e , n ) { if ( e = c ( e , 0 > n ? 0 : 0 | f ( n ) ) , ! t . TYPED _ARRAY _SUPPORT ) for ( var r = 0 ; n > r ; r ++ ) e [ r ] = 0 ; return e } function i ( t , e , n ) { ( "string" != typeof n || "" === n ) && ( n = "utf8" ) ; var r = 0 | p ( e , n ) ; return t = c ( t , r ) , t . write ( e , n ) , t } function o ( e , n ) { if ( t . isBuffer ( n ) ) return a ( e , n ) ; if ( G ( n ) ) return s ( e , n ) ; if ( null == n ) throw new TypeError ( "must start with number, buffer, array or string" ) ; return "undefined" != typeof ArrayBuffer && n . buffer instanceof ArrayBuffer ? h ( e , n ) : n . length ? u ( e , n ) : l ( e , n ) } function a ( t , e ) { var n = 0 | f ( e . length ) ; return t = c ( t , n ) , e . copy ( t , 0 , 0 , n ) , t } function s ( t , e ) { var n = 0 | f ( e . length ) ; t = c ( t , n ) ; for ( var r = 0 ; n > r ; r += 1 ) t [ r ] = 255 & e [ r ] ; return t } function h ( t , e ) { var n = 0 | f ( e . length ) ; t = c ( t , n ) ; for ( var r = 0 ; n > r ; r += 1 ) t [ r ] = 255 & e [ r ] ; return t } function u ( t , e ) { var n = 0 | f ( e . length ) ; t = c ( t , n ) ; for ( var r = 0 ; n > r ; r += 1 ) t [ r ] = 255 & e [ r ] ; return t } function l ( t , e ) { var n , r = 0 ; "Buffer" === e . type && G ( e . data ) && ( n = e . data , r = 0 | f ( n . length ) ) , t = c ( t , r ) ; for ( var i = 0 ; r > i ; i += 1 ) t [ i ] = 255 & n [ i ] ; return t } function c ( e , n ) { t . TYPED _ARRAY _SUPPORT ? e = t . _augment ( new Uint8Array ( n ) ) : ( e . length = n , e . _isBuffer = ! 0 ) ; var r = 0 !== n && n <= t . poolSize >>> 1 ; return r && ( e . parent = Y ) , e } function f ( t ) { if ( t >= q
* The buffer module from node . js , for the browser .
*
* @ author Feross Aboukhadijeh < feross @ feross . org > < http : //feross.org>
* @ license MIT
* /
var H = n ( 31 ) , Z = n ( 29 ) , G = n ( 30 ) ; e . Buffer = t , e . SlowBuffer = d , e . INSPECT _MAX _BYTES = 50 , t . poolSize = 8192 ; var q = 1073741823 , Y = { } ; t . TYPED _ARRAY _SUPPORT = function ( ) { try { var t = new ArrayBuffer ( 0 ) , e = new Uint8Array ( t ) ; return e . foo = function ( ) { return 42 } , 42 === e . foo ( ) && "function" == typeof e . subarray && 0 === new Uint8Array ( 1 ) . subarray ( 1 , 1 ) . byteLength } catch ( n ) { return ! 1 } } ( ) , t . isBuffer = function ( t ) { return ! ( null == t || ! t . _isBuffer ) } , t . compare = function ( e , n ) { if ( ! t . isBuffer ( e ) || ! t . isBuffer ( n ) ) throw new TypeError ( "Arguments must be Buffers" ) ; if ( e === n ) return 0 ; for ( var r = e . length , i = n . length , o = 0 , a = Math . min ( r , i ) ; a > o && e [ o ] === n [ o ] ; ) ++ o ; return o !== a && ( r = e [ o ] , i = n [ o ] ) , i > r ? - 1 : r > i ? 1 : 0 } , t . isEncoding = function ( t ) { switch ( String ( t ) . toLowerCase ( ) ) { case "hex" : case "utf8" : case "utf-8" : case "ascii" : case "binary" : case "base64" : case "raw" : case "ucs2" : case "ucs-2" : case "utf16le" : case "utf-16le" : return ! 0 ; default : return ! 1 } } , t . concat = function ( e , n ) { if ( ! G ( e ) ) throw new TypeError ( "list argument must be an Array of Buffers." ) ; if ( 0 === e . length ) return new t ( 0 ) ; if ( 1 === e . length ) return e [ 0 ] ; var r ; if ( void 0 === n ) for ( n = 0 , r = 0 ; r < e . length ; r ++ ) n += e [ r ] . length ; var i = new t ( n ) , o = 0 ; for ( r = 0 ; r < e . length ; r ++ ) { var a = e [ r ] ; a . copy ( i , o ) , o += a . length } return i } , t . byteLength = p , t . prototype . length = void 0 , t . prototype . parent = void 0 , t . prototype . toString = function ( t , e , n ) { var r = ! 1 ; if ( e = 0 | e , n = void 0 === n || n === 1 / 0 ? this . length : 0 | n , t || ( t = "utf8" ) , 0 > e && ( e = 0 ) , n > this . length && ( n = this . length ) , e >= n ) return "" ; for ( ; ; ) switch ( t ) { case "hex" : return E ( this , e , n ) ; case "utf8" : case "utf-8" : return x ( this , e , n ) ; case "ascii" : return S ( this , e , n ) ; case "binary" : return k ( this , e , n ) ; case "base64" : return b ( this , e , n ) ; case "ucs2" : case "ucs-2" : case "utf16le" : case "utf-16le" : return C ( this , e , n ) ; default : if ( r ) throw new TypeError ( "Unknown encoding: " + t ) ; t = ( t + "" ) . toLowerCase ( ) , r = ! 0 } } , t . prototype . equals = function ( e ) { if ( ! t . isBuffer ( e ) ) throw new TypeError ( "Argument must be a Buffer" ) ; return this === e ? ! 0 : 0 === t . compare ( this , e ) } , t . prototype . inspect = function ( ) { var t = "" , n = e . INSPECT _MAX _BYTES ; return this . length > 0 && ( t = this . toString ( "hex" , 0 , n ) . match ( /.{2}/g ) . join ( " " ) , this . length > n && ( t += " ... " ) ) , "<Buffer " + t + ">" } , t . prototype . compare = function ( e ) { if ( ! t . isBuffer ( e ) ) throw new TypeError ( "Argument must be a Buffer" ) ; return this === e ? 0 : t . compare ( this , e ) } , t . prototype . indexOf = function ( e , n ) { function r ( t , e , n ) { for ( var r = - 1 , i = 0 ; n + i < t . length ; i ++ ) if ( t [ n + i ] === e [ - 1 === r ? 0 : i - r ] ) { if ( - 1 === r && ( r = i ) , i - r + 1 === e . length ) return n + r } else r = - 1 ; return - 1 } if ( n > 2147483647 ? n = 2147483647 : - 2147483648 > n && ( n = - 2147483648 ) , n >>= 0 , 0 === this . length ) return - 1 ; if ( n >= this . length ) return - 1 ; if ( 0 > n && ( n = Math . max ( this . length + n , 0 ) ) , "string" == typeof e ) return 0 === e . length ? - 1 : String . prototype . indexOf . call ( this , e , n ) ; if ( t . isBuffer ( e ) ) return r ( this , e , n ) ; if ( "number" == typeof e ) return t . TYPED _ARRAY _SUPPORT && "function" === Uint8Array . prototype . indexOf ? Uint8Array . prototype . indexOf . call ( this , e , n ) : r ( this , [ e ] , n ) ; throw new TypeError ( "val must be string, number or Buffer" ) } , t . prototype . get = function ( t ) { return this . readUInt8 ( t ) } , t . prototype . set = function ( t , e ) { return this . writeUInt8 ( t , e ) } , t . prototype . write = function ( t , e , n , r ) { if ( void 0 === e ) r = "utf8" , n = this . length , e = 0 ; else if ( void 0 === n && "string" == typeof e ) r = e , n = this . length , e = 0 ; else if ( isFinite ( e ) ) e = 0 | e , isFinite ( n ) ? ( n = 0 | n , void 0 === r && ( r = "utf8" ) ) : ( r = n , n = void 0 ) ; else { var i = r ; r = e , e = 0 | n , n = i } var o = this . length - e ; if ( ( void 0 === n || n > o ) && ( n = o ) , t . length > 0 && ( 0 > n || 0 > e ) || e > this . length ) throw new RangeError ( "attempt to write outside buffer bounds" ) ; r || ( r = "utf8" ) ; for ( var a = ! 1 ; ; ) switch ( r ) { case "hex" : return g ( this , t , e , n ) ; case "utf8" : case "utf-8" : return v ( this , t , e , n ) ; case "ascii" : return m ( this , t , e , n ) ; case "binary" : return y ( this , t , e , n ) ; case "base64" : return w ( this , t , e , n ) ; case "ucs2" : case "ucs-2" : case "utf16le" : case "utf-16le" : return _ ( this , t , e , n ) ; default : if ( a ) throw new TypeError ( "Unknown encoding: " + r ) ; r = ( "" + r ) . toLowerCase ( ) , a = ! 0 } } , t . prototype . toJSON = function ( ) { return { type : "Buffer" , data : Array . prototype . slice . call ( this . _arr || this , 0 ) } } , t . prototype . slice = function ( e , n ) { var r = this . length ; e = ~ ~ e , n = void 0 === n ? r : ~ ~ n , 0 > e ? ( e += r , 0 > e && ( e = 0 ) ) : e > r && ( e = r ) , 0 > n ? ( n += r , 0 > n && ( n = 0 ) ) : n > r && ( n = r ) , e > n && ( n = e ) ; var i ; if ( t . TYPED _ARRAY _SUPPORT ) i = t . _augment ( this . subarray ( e , n ) ) ; else { var o = n - e ; i = new t
var o = i ? e : null != t && t [ e ] ; a [ ++ r ] = o ? o . apply ( t , n ) : C } ) , a } function Be ( t , e , n , r , i , o ) { if ( t === e ) return 0 !== t || 1 / t == 1 / e ; var a = typeof t , s = typeof e ; return "function" != a && "object" != a && "function" != s && "object" != s || null == t || null == e ? t !== t && e !== e : Te ( t , e , Be , n , r , i , o ) } function Te ( t , e , n , r , i , o , a ) { var s = ja ( t ) , h = ja ( e ) , u = Y , l = Y ; s || ( u = Ko . call ( t ) , u == q ? u = tt : u != tt && ( s = Ai ( t ) ) ) , h || ( l = Ko . call ( e ) , l == q ? l = tt : l != tt && ( h = Ai ( e ) ) ) ; var c = u == tt , f = l == tt , d = u == l ; if ( d && ! s && ! c ) return cn ( t , e , u ) ; var p = c && qo . call ( t , "__wrapped__" ) , g = f && qo . call ( e , "__wrapped__" ) ; if ( p || g ) return n ( p ? t . value ( ) : t , g ? e . value ( ) : e , r , i , o , a ) ; if ( ! d ) return ! 1 ; o || ( o = [ ] ) , a || ( a = [ ] ) ; for ( var v = o . length ; v -- ; ) if ( o [ v ] == t ) return a [ v ] == e ; o . push ( t ) , a . push ( e ) ; var m = ( s ? ln : fn ) ( t , e , n , r , i , o , a ) ; return o . pop ( ) , a . pop ( ) , m } function Me ( t , e , n , r , i ) { var o = e . length ; if ( null == t ) return ! o ; for ( var a = - 1 , s = ! i ; ++ a < o ; ) if ( s && r [ a ] ? n [ a ] !== t [ e [ a ] ] : ! qo . call ( t , e [ a ] ) ) return ! 1 ; for ( a = - 1 ; ++ a < o ; ) { var h = e [ a ] ; if ( s && r [ a ] ) var u = qo . call ( t , h ) ; else { var l = t [ h ] , c = n [ a ] ; u = i ? i ( l , c , h ) : C , "undefined" == typeof u && ( u = Be ( c , l , i , ! 0 ) ) } if ( ! u ) return ! 1 } return ! 0 } function Oe ( t , e ) { var n = [ ] ; return ye ( t , function ( t , r , i ) { n . push ( e ( t , r , i ) ) } ) , n } function De ( t ) { var e = qa ( t ) , n = e . length ; if ( 1 == n ) { var r = e [ 0 ] , i = t [ r ] ; if ( kn ( i ) ) return function ( t ) { return null != t && i === t [ r ] && qo . call ( t , r ) } } for ( var o = Bo ( n ) , a = Bo ( n ) ; n -- ; ) i = t [ e [ n ] ] , o [ n ] = i , a [ n ] = kn ( i ) ; return function ( t ) { return Me ( t , e , o , a ) } } function Ue ( t , e , n , r , i ) { var o = Sn ( e . length ) && ( ja ( e ) || Ai ( e ) ) ; return ( o ? $t : Ie ) ( e , function ( e , a , s ) { if ( y ( e ) ) return r || ( r = [ ] ) , i || ( i = [ ] ) , Pe ( t , s , a , Ue , n , r , i ) ; var h = t [ a ] , u = n ? n ( h , e , a , t , s ) : C , l = "undefined" == typeof u ; l && ( u = e ) , ! o && "undefined" == typeof u || ! l && ( u === u ? u === h : h !== h ) || ( t [ a ] = u ) } ) , t } function Pe ( t , e , n , r , i , o , a ) { for ( var s = o . length , h = e [ n ] ; s -- ; ) if ( o [ s ] == h ) return void ( t [ n ] = a [ s ] ) ; var u = t [ n ] , l = i ? i ( u , h , n , t , e ) : C , c = "undefined" == typeof l ; c && ( l = h , Sn ( h . length ) && ( ja ( h ) || Ai ( h ) ) ? l = ja ( u ) ? u : u ? Vt ( u ) : [ ] : Za ( h ) || fi ( h ) ? l = fi ( u ) ? Bi ( u ) : Za ( u ) ? u : { } : c = ! 1 ) , o . push ( h ) , a . push ( l ) , c ? t [ n ] = r ( l , h , i , o , a ) : ( l === l ? l !== u : u === u ) && ( t [ n ] = l ) } function Fe ( t ) { return function ( e ) { return null == e ? C : e [ t ] } } function ze ( t , e ) { var n = e . length , r = ce ( t , e ) ; for ( e . sort ( o ) ; n -- ; ) { var i = parseFloat ( e [ n ] ) ; if ( i != a && bn ( i ) ) { var a = i ; sa . call ( t , i , 1 ) } } return r } function We ( t , e ) { return t + ea ( _a ( ) * ( e - t + 1 ) ) } function Ne ( t , e , n , r , i ) { return i ( t , function ( t , i , o ) { n = r ? ( r = ! 1 , t ) : e ( n , t , i , o ) } ) , n } function je ( t , e , n ) { var r = - 1 , i = t . length ; e = null == e ? 0 : + e || 0 , 0 > e && ( e = - e > i ? 0 : i + e ) , n = "undefined" == typeof n || n > i ? i : + n || 0 , 0 > n && ( n += i ) , i = e > n ? 0 : n - e >>> 0 , e >>>= 0 ; for ( var o = Bo ( i ) ; ++ r < i ; ) o [ r ] = t [ r + e ] ; return o } function He ( t , e ) { var n ; return ye ( t , function ( t , r , i ) { return n = e ( t , r , i ) , ! n } ) , ! ! n } function Ze ( t , e ) { var n = - 1 , r = gn ( ) , i = t . length , o = r == a , s = o && i >= 200 , h = s && Ta ( ) , u = [ ] ; h ? ( r = Yt , o = ! 1 ) : ( s = ! 1 , h = e ? [ ] : u ) ; t : for ( ; ++ n < i ; ) { var l = t [ n ] , c = e ? e ( l , n , t ) : l ; if ( o && l === l ) { for ( var f = h . length ; f -- ; ) if ( h [ f ] === c ) continue t ; e && h . push ( c ) , u . push ( l ) } else r ( h , c ) < 0 && ( ( e || s ) && h . push ( c ) , u . push ( l ) ) } return u } function Ge ( t , e ) { for ( var n = - 1 , r = e . length , i = Bo ( r ) ; ++ n < r ; ) i [ n ] = t [ e [ n ] ] ; return i } function qe ( t , e ) { var n = t ; n instanceof r && ( n = n . value ( ) ) ; for ( var i = - 1 , o = e . length ; ++ i < o ; ) { var a = [ n ] , s = e [ i ] ; ra . apply ( a , s . args ) , n = s . func . apply ( s . thisArg , a ) } return n } function Ye ( t , e , n ) { var r = 0 , i = t ? t . length : r ; if ( "number" == typeof e && e === e && Ea >= i ) { for ( ; i > r ; ) { var o = r + i >>> 1 , a = t [ o ] ; ( n ? e >= a : e > a ) ? r = o + 1 : i = o } return i } return Ke ( t , e , bo , n ) } function Ke ( t , e , n , r ) { e = n ( e ) ; for ( var i = 0 , o = t ? t . length : 0 , a = e !== e , s = "undefined" == typeof e ; o > i ; ) { var h = ea ( ( i + o ) / 2 ) , u = n ( t [ h ] ) , l = u === u ; if ( a ) var c = l || r ; else c = s ? l && ( r || "undefined" != typeof u ) : r ? e >= u : e > u ; c ? i = h + 1 : o = h } return va ( o , ka ) } function Xe ( t , e , n ) { if ( "function" != typeof t ) return bo ; if ( "undefined" == typeof e ) return t ; switch ( n ) { case 1 : return function ( n ) { return t . call ( e , n ) } ; case 3 : return function ( n , r , i ) { return t . call ( e , n , r , i ) } ; case 4 : return function ( n , r , i , o ) { return t . call ( e , n , r , i , o ) } ; case 5 : return function ( n , r , i , o , a ) { return t . call ( e , n , r , i , o , a ) } } return function ( ) { return t . apply ( e , arguments ) } } function Ve ( t ) { return Jo . call ( t , 0 ) } function $e ( t , e , n ) { for ( var r = n . length , i = - 1 , o = ga ( t . length - r , 0 ) , a = - 1 , s = e . length , h = Bo ( o + s ) ; ++ a < s ; ) h [ a ] = e [ a ] ; for ( ; ++ i < r ; ) h [ n [ i ] ] = t [ i ] ; for ( ; o -- ; ) h [ a ++ ] = t [ i ++ ] ; return h } function Je ( t , e , n ) { for ( var r = - 1 , i = n . length , o = - 1 , a = ga ( t . length - i , 0 ) , s = - 1 , h = e . length , u = Bo ( a + h ) ; ++ o < a ; ) u [ o ] = t [ o ] ; for ( var l = o ;
e . pluck = Tr , e . property = Co , e . propertyOf = Io , e . pull = Vn , e . pullAt = $n , e . range = Ao , e . rearg = si , e . reject = Dr , e . remove = Jn , e . rest = Qn , e . shuffle = Pr , e . slice = tr , e . sortBy = Wr , e . sortByAll = Nr , e . take = rr , e . takeRight = ir , e . takeRightWhile = or , e . takeWhile = ar , e . tap = gr , e . throttle = hi , e . thru = vr , e . times = Lo , e . toArray = Ri , e . toPlainObject = Bi , e . transform = Xi , e . union = sr , e . uniq = hr , e . unzip = ur , e . values = Vi , e . valuesIn = $i , e . where = jr , e . without = lr , e . wrap = ui , e . xor = cr , e . zip = fr , e . zipObject = dr , e . backflow = ei , e . collect = Br , e . compose = ei , e . each = Ar , e . eachRight = Lr , e . extend = Ga , e . iteratee = wo , e . methods = Wi , e . object = dr , e . select = kr , e . tail = Qn , e . unique = hr , So ( e , e ) , e . attempt = yo , e . camelCase = Ka , e . capitalize = Qi , e . clone = li , e . cloneDeep = ci , e . deburr = to , e . endsWith = eo , e . escape = no , e . escapeRegExp = ro , e . every = Sr , e . find = Er , e . findIndex = Wn , e . findKey = Oi , e . findLast = Cr , e . findLastIndex = Nn , e . findLastKey = Di , e . findWhere = Ir , e . first = jn , e . has = Ni , e . identity = bo , e . includes = xr , e . indexOf = Gn , e . isArguments = fi , e . isArray = ja , e . isBoolean = di , e . isDate = pi , e . isElement = gi , e . isEmpty = vi , e . isEqual = mi , e . isError = yi , e . isFinite = Ha , e . isFunction = wi , e . isMatch = bi , e . isNaN = xi , e . isNative = Si , e . isNull = ki , e . isNumber = Ei , e . isObject = _i , e . isPlainObject = Za , e . isRegExp = Ci , e . isString = Ii , e . isTypedArray = Ai , e . isUndefined = Li , e . kebabCase = Xa , e . last = Kn , e . lastIndexOf = Xn , e . max = Fa , e . min = za , e . noConflict = ko , e . noop = Eo , e . now = Na , e . pad = io , e . padLeft = oo , e . padRight = ao , e . parseInt = so , e . random = Ji , e . reduce = Mr , e . reduceRight = Or , e . repeat = ho , e . result = Ki , e . runInContext = E , e . size = Fr , e . snakeCase = Va , e . some = zr , e . sortedIndex = er , e . sortedLastIndex = nr , e . startCase = $a , e . startsWith = uo , e . template = lo , e . trim = co , e . trimLeft = fo , e . trimRight = po , e . trunc = go , e . unescape = vo , e . uniqueId = Ro , e . words = mo , e . all = Sr , e . any = zr , e . contains = xr , e . detect = Er , e . foldl = Mr , e . foldr = Or , e . head = jn , e . include = xr , e . inject = Mr , So ( e , function ( ) { var t = { } ; return Ie ( e , function ( n , r ) { e . prototype [ r ] || ( t [ r ] = n ) } ) , t } ( ) , ! 1 ) , e . sample = Ur , e . prototype . sample = function ( t ) { return this . _ _chain _ _ || null != t ? this . thru ( function ( e ) { return Ur ( e , t ) } ) : Ur ( this . value ( ) ) } , e . VERSION = I , $t ( [ "bind" , "bindKey" , "curry" , "curryRight" , "partial" , "partialRight" ] , function ( t ) { e [ t ] . placeholder = e } ) , $t ( [ "filter" , "map" , "takeWhile" ] , function ( t , e ) { var n = e == N ; r . prototype [ t ] = function ( t , r ) { var i = this . clone ( ) , o = i . filtered , a = i . iteratees || ( i . iteratees = [ ] ) ; return i . filtered = o || n || e == H && i . dir < 0 , a . push ( { iteratee : pn ( t , r , 3 ) , type : e } ) , i } } ) , $t ( [ "drop" , "take" ] , function ( t , e ) { var n = t + "Count" , i = t + "While" ; r . prototype [ t ] = function ( r ) { r = null == r ? 1 : ga ( + r || 0 , 0 ) ; var i = this . clone ( ) ; if ( i . filtered ) { var o = i [ n ] ; i [ n ] = e ? va ( o , r ) : o + r } else { var a = i . views || ( i . views = [ ] ) ; a . push ( { size : r , type : t + ( i . dir < 0 ? "Right" : "" ) } ) } return i } , r . prototype [ t + "Right" ] = function ( e ) { return this . reverse ( ) [ t ] ( e ) . reverse ( ) } , r . prototype [ t + "RightWhile" ] = function ( t , e ) { return this . reverse ( ) [ i ] ( t , e ) . reverse ( ) } } ) , $t ( [ "first" , "last" ] , function ( t , e ) { var n = "take" + ( e ? "Right" : "" ) ; r . prototype [ t ] = function ( ) { return this [ n ] ( 1 ) . value ( ) [ 0 ] } } ) , $t ( [ "initial" , "rest" ] , function ( t , e ) { var n = "drop" + ( e ? "" : "Right" ) ; r . prototype [ t ] = function ( ) { return this [ n ] ( 1 ) } } ) , $t ( [ "pluck" , "where" ] , function ( t , e ) { var n = e ? "filter" : "map" , i = e ? De : Fe ; r . prototype [ t ] = function ( t ) { return this [ n ] ( i ( e ? t : t + "" ) ) } } ) , r . prototype . dropWhile = function ( t , e ) { var n , r , i = this . dir < 0 ; return t = pn ( t , e , 3 ) , this . filter ( function ( e , o , a ) { return n = n && ( i ? r > o : o > r ) , r = o , n || ( n = ! t ( e , o , a ) ) } ) } , r . prototype . reject = function ( t , e ) { return t = pn ( t , e , 3 ) , this . filter ( function ( e , n , r ) { return ! t ( e , n , r ) } ) } , r . prototype . slice = function ( t , e ) { t = null == t ? 0 : + t || 0 ; var n = 0 > t ? this . takeRight ( - t ) : this . drop ( t ) ; return "undefined" != typeof e && ( e = + e || 0 , n = 0 > e ? n . dropRight ( - e ) : n . take ( e - t ) ) , n } , Ie ( r . prototype , function ( t , i ) { var o = e [ i ] , a = /^(?:first|last)$/ . test ( i ) ; e . prototype [ i ] = function ( ) { var i = this . _ _wrapped _ _ , s = arguments , h = this . _ _chain _ _ , u = ! ! this . _ _actions _ _ . length , l = i instanceof r , c = l && ! u ; if ( a && ! h ) return c ? t . call ( i ) : o . call ( e , this . value ( ) ) ; var f = function ( t ) { var n = [ t ] ; return ra . apply ( n , s ) , o . apply ( e , n ) } ; if ( l || ja ( i ) ) { var d = c ? i : new r ( this ) , p = t . apply ( d , s ) ; if ( ! a && ( u || p . actions ) ) { var g = p . actions || ( p . actions = [ ] ) ; g . push ( { func : vr , args : [ f ] , thisArg : e } ) } return new n ( p , h ) } return this . thru ( f ) } } ) , $t ( [ "concat" , "join" , "pop" , "push" , "shift" , "sort" , "splice" , "unshift" ] , function ( t ) { var n = No [ t ] , r = / ^ ( ?
} e . context ( ) . page = s , e . context ( ) . y = h ; var C = this . tableNode . table . body [ t ] ; for ( o = 0 , i = C . length ; i > o ; o ++ ) { if ( C [ o ] . rowSpan && ( this . rowSpanData [ o ] . rowSpan = C [ o ] . rowSpan , C [ o ] . colSpan && C [ o ] . colSpan > 1 ) ) for ( var I = 1 ; I < C [ o ] . rowSpan ; I ++ ) this . tableNode . table . body [ t + I ] [ o ] . _colSpan = C [ o ] . colSpan ; this . rowSpanData [ o ] . rowSpan > 0 && this . rowSpanData [ o ] . rowSpan -- } this . drawHorizontalLine ( t + 1 , e ) , this . headerRows && t === this . headerRows - 1 && ( this . headerRepeatable = e . currentBlockToRepeatable ( ) ) , this . dontBreakRows && e . tracker . auto ( "pageChanged" , function ( ) { a . drawHorizontalLine ( t , e ) } , function ( ) { e . commitUnbreakableBlock ( ) , a . drawHorizontalLine ( t , e ) } ) , ! this . headerRepeatable || t !== this . rowsWithoutPageBreak - 1 && t !== this . tableNode . table . body . length - 1 || ( e . commitUnbreakableBlock ( ) , e . pushToRepeatables ( this . headerRepeatable ) , this . cleanUpRepeatables = ! 0 , this . headerRepeatable = null ) } , t . exports = r } , function ( t , e , n ) { "use strict" ; function r ( t ) { this . maxWidth = t , this . leadingCut = 0 , this . trailingCut = 0 , this . inlineWidths = 0 , this . inlines = [ ] } r . prototype . getAscenderHeight = function ( ) { var t = 0 ; return this . inlines . forEach ( function ( e ) { t = Math . max ( t , e . font . ascender / 1e3 * e . fontSize ) } ) , t } , r . prototype . hasEnoughSpaceForInline = function ( t ) { return 0 === this . inlines . length ? ! 0 : this . newLineForced ? ! 1 : this . inlineWidths + t . width - this . leadingCut - ( t . trailingCut || 0 ) <= this . maxWidth } , r . prototype . addInline = function ( t ) { 0 === this . inlines . length && ( this . leadingCut = t . leadingCut || 0 ) , this . trailingCut = t . trailingCut || 0 , t . x = this . inlineWidths - this . leadingCut , this . inlines . push ( t ) , this . inlineWidths += t . width , t . lineEnd && ( this . newLineForced = ! 0 ) } , r . prototype . getWidth = function ( ) { return this . inlineWidths - this . leadingCut - this . trailingCut } , r . prototype . getHeight = function ( ) { var t = 0 ; return this . inlines . forEach ( function ( e ) { t = Math . max ( t , e . height || 0 ) } ) , t } , t . exports = r } , function ( t , e , n ) { "use strict" ; function r ( ) { for ( var t = { } , e = 0 , n = arguments . length ; n > e ; e ++ ) { var r = arguments [ e ] ; if ( r ) for ( var i in r ) r . hasOwnProperty ( i ) && ( t [ i ] = r [ i ] ) } return t } function i ( t , e , n ) { switch ( t . type ) { case "ellipse" : case "rect" : t . x += e , t . y += n ; break ; case "line" : t . x1 += e , t . x2 += e , t . y1 += n , t . y2 += n ; break ; case "polyline" : for ( var r = 0 , i = t . points . length ; i > r ; r ++ ) t . points [ r ] . x += e , t . points [ r ] . y += n } } function o ( t , e ) { return "font" === t ? "font" : e } function a ( t ) { var e = { } ; return t && "[object Function]" === e . toString . call ( t ) } t . exports = { pack : r , fontStringify : o , offsetVector : i , isFunction : a } } , function ( t , e , n ) { "use strict" ; function r ( t ) { this . fontProvider = t } function i ( t ) { var e = [ ] ; t = t . replace ( " " , " " ) ; for ( var n = t . match ( l ) , r = 0 , i = n . length ; i - 1 > r ; r ++ ) { var o = n [ r ] , a = 0 === o . length ; if ( a ) { var s = 0 === e . length || e [ e . length - 1 ] . lineEnd ; s ? e . push ( { text : "" , lineEnd : ! 0 } ) : e [ e . length - 1 ] . lineEnd = ! 0 } else e . push ( { text : o } ) } return e } function o ( t , e ) { e = e || { } , t = t || { } ; for ( var n in t ) "text" != n && t . hasOwnProperty ( n ) && ( e [ n ] = t [ n ] ) ; return e } function a ( t ) { var e = [ ] ; ( "string" == typeof t || t instanceof String ) && ( t = [ t ] ) ; for ( var n = 0 , r = t . length ; r > n ; n ++ ) { var a , s = t [ n ] , h = null ; "string" == typeof s || s instanceof String ? a = i ( s ) : ( a = i ( s . text ) , h = o ( s ) ) ; for ( var u = 0 , l = a . length ; l > u ; u ++ ) { var c = { text : a [ u ] . text } ; a [ u ] . lineEnd && ( c . lineEnd = ! 0 ) , o ( h , c ) , e . push ( c ) } } return e } function s ( t ) { return t . replace ( /[^A-Za-z0-9\[\] ]/g , function ( t ) { return d [ t ] || t } ) } function h ( t , e , n , r ) { var i ; return void 0 !== t [ n ] && null !== t [ n ] ? t [ n ] : e ? ( e . auto ( t , function ( ) { i = e . getProperty ( n ) } ) , null !== i && void 0 !== i ? i : r ) : r } function u ( t , e , n ) { var r = a ( e ) ; return r . forEach ( function ( e ) { var r = h ( e , n , "font" , "Roboto" ) , i = h ( e , n , "fontSize" , 12 ) , o = h ( e , n , "bold" , ! 1 ) , a = h ( e , n , "italics" , ! 1 ) , u = h ( e , n , "color" , "black" ) , l = h ( e , n , "decoration" , null ) , d = h ( e , n , "decorationColor" , null ) , p = h ( e , n , "decorationStyle" , null ) , g = h ( e , n , "background" , null ) , v = h ( e , n , "lineHeight" , 1 ) , m = t . provideFont ( r , o , a ) ; e . width = m . widthOfString ( s ( e . text ) , i ) , e . height = m . lineHeight ( i ) * v ; var y = e . text . match ( c ) , w = e . text . match ( f ) ; e . leadingCut = y ? m . widthOfString ( y [ 0 ] , i ) : 0 , e . trailingCut = w ? m . widthOfString ( w [ 0 ] , i ) : 0 , e . alignment = h ( e , n , "alignment" , "left" ) , e . font = m , e . fontSize = i , e . color = u , e . decoration = l , e . decorationColor = d , e . decorationStyle = p , e . background = g } ) , r } var l = /([^ ,\/!.?:;\-\n]*[ ,\/!.?:;\-]*)|\n/g , c = /^(\s)+/g , f = /(\s)+$/g ; r . prototype . buildInlines = function ( t , e ) { function n ( t ) { return Math . max ( 0 , t . width - t . l
var e ; return null != ( e = t . resources . data ) . Font ? e . Font : e . Font = { } } } ( this ) } , xobjects : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . resources . data ) . XObject ? e . XObject : e . XObject = { } } } ( this ) } , ext _gstates : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . resources . data ) . ExtGState ? e . ExtGState : e . ExtGState = { } } } ( this ) } , patterns : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . resources . data ) . Pattern ? e . Pattern : e . Pattern = { } } } ( this ) } , annotations : { get : function ( t ) { return function ( ) { var e ; return null != ( e = t . dictionary . data ) . Annots ? e . Annots : e . Annots = [ ] } } ( this ) } } ) , this . dictionary = this . document . ref ( { Type : "Page" , Parent : this . document . _root . data . Pages , MediaBox : [ 0 , 0 , this . width , this . height ] , Contents : this . content , Resources : this . resources } ) } var e , n ; return t . prototype . maxY = function ( ) { return this . height - this . margins . bottom } , t . prototype . write = function ( t ) { return this . content . write ( t ) } , t . prototype . end = function ( ) { return this . dictionary . end ( ) , this . resources . end ( ) , this . content . end ( ) } , e = { top : 72 , left : 72 , bottom : 72 , right : 72 } , n = { "4A0" : [ 4767.87 , 6740.79 ] , "2A0" : [ 3370.39 , 4767.87 ] , A0 : [ 2383.94 , 3370.39 ] , A1 : [ 1683.78 , 2383.94 ] , A2 : [ 1190.55 , 1683.78 ] , A3 : [ 841.89 , 1190.55 ] , A4 : [ 595.28 , 841.89 ] , A5 : [ 419.53 , 595.28 ] , A6 : [ 297.64 , 419.53 ] , A7 : [ 209.76 , 297.64 ] , A8 : [ 147.4 , 209.76 ] , A9 : [ 104.88 , 147.4 ] , A10 : [ 73.7 , 104.88 ] , B0 : [ 2834.65 , 4008.19 ] , B1 : [ 2004.09 , 2834.65 ] , B2 : [ 1417.32 , 2004.09 ] , B3 : [ 1000.63 , 1417.32 ] , B4 : [ 708.66 , 1000.63 ] , B5 : [ 498.9 , 708.66 ] , B6 : [ 354.33 , 498.9 ] , B7 : [ 249.45 , 354.33 ] , B8 : [ 175.75 , 249.45 ] , B9 : [ 124.72 , 175.75 ] , B10 : [ 87.87 , 124.72 ] , C0 : [ 2599.37 , 3676.54 ] , C1 : [ 1836.85 , 2599.37 ] , C2 : [ 1298.27 , 1836.85 ] , C3 : [ 918.43 , 1298.27 ] , C4 : [ 649.13 , 918.43 ] , C5 : [ 459.21 , 649.13 ] , C6 : [ 323.15 , 459.21 ] , C7 : [ 229.61 , 323.15 ] , C8 : [ 161.57 , 229.61 ] , C9 : [ 113.39 , 161.57 ] , C10 : [ 79.37 , 113.39 ] , RA0 : [ 2437.8 , 3458.27 ] , RA1 : [ 1729.13 , 2437.8 ] , RA2 : [ 1218.9 , 1729.13 ] , RA3 : [ 864.57 , 1218.9 ] , RA4 : [ 609.45 , 864.57 ] , SRA0 : [ 2551.18 , 3628.35 ] , SRA1 : [ 1814.17 , 2551.18 ] , SRA2 : [ 1275.59 , 1814.17 ] , SRA3 : [ 907.09 , 1275.59 ] , SRA4 : [ 637.8 , 907.09 ] , EXECUTIVE : [ 521.86 , 756 ] , FOLIO : [ 612 , 936 ] , LEGAL : [ 612 , 1008 ] , LETTER : [ 612 , 792 ] , TABLOID : [ 792 , 1224 ] } , t } ( ) , t . exports = e } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , r , i = [ ] . slice ; r = n ( 47 ) , e = 4 * ( ( Math . sqrt ( 2 ) - 1 ) / 3 ) , t . exports = { initVector : function ( ) { return this . _ctm = [ 1 , 0 , 0 , 1 , 0 , 0 ] , this . _ctmStack = [ ] } , save : function ( ) { return this . _ctmStack . push ( this . _ctm . slice ( ) ) , this . addContent ( "q" ) } , restore : function ( ) { return this . _ctm = this . _ctmStack . pop ( ) || [ 1 , 0 , 0 , 1 , 0 , 0 ] , this . addContent ( "Q" ) } , closePath : function ( ) { return this . addContent ( "h" ) } , lineWidth : function ( t ) { return this . addContent ( "" + t + " w" ) } , _CAP _STYLES : { BUTT : 0 , ROUND : 1 , SQUARE : 2 } , lineCap : function ( t ) { return "string" == typeof t && ( t = this . _CAP _STYLES [ t . toUpperCase ( ) ] ) , this . addContent ( "" + t + " J" ) } , _JOIN _STYLES : { MITER : 0 , ROUND : 1 , BEVEL : 2 } , lineJoin : function ( t ) { return "string" == typeof t && ( t = this . _JOIN _STYLES [ t . toUpperCase ( ) ] ) , this . addContent ( "" + t + " j" ) } , miterLimit : function ( t ) { return this . addContent ( "" + t + " M" ) } , dash : function ( t , e ) { var n , r , i ; return null == e && ( e = { } ) , null == t ? this : ( r = null != ( i = e . space ) ? i : t , n = e . phase || 0 , this . addContent ( "[" + t + " " + r + "] " + n + " d" ) ) } , undash : function ( ) { return this . addContent ( "[] 0 d" ) } , moveTo : function ( t , e ) { return this . addContent ( "" + t + " " + e + " m" ) } , lineTo : function ( t , e ) { return this . addContent ( "" + t + " " + e + " l" ) } , bezierCurveTo : function ( t , e , n , r , i , o ) { return this . addContent ( "" + t + " " + e + " " + n + " " + r + " " + i + " " + o + " c" ) } , quadraticCurveTo : function ( t , e , n , r ) { return this . addContent ( "" + t + " " + e + " " + n + " " + r + " v" ) } , rect : function ( t , e , n , r ) { return this . addContent ( "" + t + " " + e + " " + n + " " + r + " re" ) } , roundedRect : function ( t , e , n , r , i ) { return null == i && ( i = 0 ) , this . moveTo ( t + i , e ) , this . lineTo ( t + n - i , e ) , this . quadraticCurveTo ( t + n , e , t + n , e + i ) , this . lineTo ( t + n , e + r - i ) , this . quadraticCurveTo ( t + n , e + r , t + n - i , e + r ) , this . lineTo ( t + i , e + r ) , this . quadraticCurveTo ( t , e + r , t , e + r - i ) , this . lineTo ( t , e + i ) , this . quadraticCurveTo ( t , e , t + i , e ) } , ellipse : function ( t , n , r , i ) { var o , a , s , h , u , l ; return null == i && ( i = r ) , t -= r , n -= i , o = r * e , a = i * e , s = t + 2 * r , u = n + 2 * i , h = t + r , l = n + i , this . moveTo ( t , l ) , this . bezierCurveTo ( t , l - a , h - o , n , h , n ) , this . bezierCurveTo ( h + o , n , s , l - a , s , l ) , this . bezierCurveTo ( s , l + a , h + o , u , h , u ) , this . bezierCurveTo ( h - o , u , t , l + a , t , l ) , this . closePath ( ) } , circle : function ( t , e , n ) { return this . e
t } ; e = n ( 54 ) . EventEmitter , r = n ( 66 ) , i = function ( t ) { function e ( t , e ) { var n ; this . document = t , this . indent = e . indent || 0 , this . characterSpacing = e . characterSpacing || 0 , this . wordSpacing = 0 === e . wordSpacing , this . columns = e . columns || 1 , this . columnGap = null != ( n = e . columnGap ) ? n : 18 , this . lineWidth = ( e . width - this . columnGap * ( this . columns - 1 ) ) / this . columns , this . spaceLeft = this . lineWidth , this . startX = this . document . x , this . startY = this . document . y , this . column = 1 , this . ellipsis = e . ellipsis , this . continuedX = 0 , null != e . height ? ( this . height = e . height , this . maxY = this . startY + e . height ) : this . maxY = this . document . page . maxY ( ) , this . on ( "firstLine" , function ( t ) { return function ( e ) { var n ; return n = t . continuedX || t . indent , t . document . x += n , t . lineWidth -= n , t . once ( "line" , function ( ) { return t . document . x -= n , t . lineWidth += n , e . continued && ! t . continuedX && ( t . continuedX = t . indent ) , e . continued ? void 0 : t . continuedX = 0 } ) } } ( this ) ) , this . on ( "lastLine" , function ( t ) { return function ( e ) { var n ; return n = e . align , "justify" === n && ( e . align = "left" ) , t . lastLine = ! 0 , t . once ( "line" , function ( ) { return t . document . y += e . paragraphGap || 0 , e . align = n , t . lastLine = ! 1 } ) } } ( this ) ) } return a ( e , t ) , e . prototype . wordWidth = function ( t ) { return this . document . widthOfString ( t , this ) + this . characterSpacing + this . wordSpacing } , e . prototype . eachWord = function ( t , e ) { var n , i , o , a , s , h , u , l , c , f ; for ( i = new r ( t ) , s = null , f = { } ; n = i . nextBreak ( ) ; ) { if ( c = t . slice ( ( null != s ? s . position : void 0 ) || 0 , n . position ) , l = null != f [ c ] ? f [ c ] : f [ c ] = this . wordWidth ( c ) , l > this . lineWidth + this . continuedX ) for ( h = s , o = { } ; c . length ; ) { for ( a = c . length ; l > this . spaceLeft ; ) l = this . wordWidth ( c . slice ( 0 , -- a ) ) ; if ( o . required = a < c . length , u = e ( c . slice ( 0 , a ) , l , o , h ) , h = { required : ! 1 } , c = c . slice ( a ) , l = this . wordWidth ( c ) , u === ! 1 ) break } else u = e ( c , l , n , s ) ; if ( u === ! 1 ) break ; s = n } } , e . prototype . wrap = function ( t , e ) { var n , r , i , o , a , s , h ; return null != e . indent && ( this . indent = e . indent ) , null != e . characterSpacing && ( this . characterSpacing = e . characterSpacing ) , null != e . wordSpacing && ( this . wordSpacing = e . wordSpacing ) , null != e . ellipsis && ( this . ellipsis = e . ellipsis ) , o = this . document . y + this . document . currentLineHeight ( ! 0 ) , ( this . document . y > this . maxY || o > this . maxY ) && this . nextSection ( ) , n = "" , a = 0 , s = 0 , i = 0 , h = this . document . y , r = function ( t ) { return function ( ) { return e . textWidth = a + t . wordSpacing * ( s - 1 ) , e . wordCount = s , e . lineWidth = t . lineWidth , h = t . document . y , t . emit ( "line" , n , e , t ) , i ++ } } ( this ) , this . emit ( "sectionStart" , e , this ) , this . eachWord ( t , function ( t ) { return function ( i , o , h , u ) { var l , c ; if ( ( null == u || u . required ) && ( t . emit ( "firstLine" , e , t ) , t . spaceLeft = t . lineWidth ) , o <= t . spaceLeft && ( n += i , a += o , s ++ ) , h . required || o > t . spaceLeft ) { if ( h . required && t . emit ( "lastLine" , e , t ) , l = t . document . currentLineHeight ( ! 0 ) , null != t . height && t . ellipsis && t . document . y + 2 * l > t . maxY && t . column >= t . columns ) { for ( t . ellipsis === ! 0 && ( t . ellipsis = "…" ) , n = n . replace ( /\s+$/ , "" ) , a = t . wordWidth ( n + t . ellipsis ) ; a > t . lineWidth ; ) n = n . slice ( 0 , - 1 ) . replace ( /\s+$/ , "" ) , a = t . wordWidth ( n + t . ellipsis ) ; n += t . ellipsis } return r ( ) , t . document . y + l > t . maxY && ( c = t . nextSection ( ) , ! c ) ? ( s = 0 , n = "" , ! 1 ) : h . required ? ( o > t . spaceLeft && ( n = i , a = o , s = 1 , r ( ) ) , t . spaceLeft = t . lineWidth , n = "" , a = 0 , s = 0 ) : ( t . spaceLeft = t . lineWidth - o , n = i , a = o , s = 1 ) } return t . spaceLeft -= o } } ( this ) ) , s > 0 && ( this . emit ( "lastLine" , e , this ) , r ( ) ) , this . emit ( "sectionEnd" , e , this ) , e . continued === ! 0 ? ( i > 1 && ( this . continuedX = 0 ) , this . continuedX += e . textWidth , this . document . y = h ) : this . document . x = this . startX } , e . prototype . nextSection = function ( t ) { var e ; if ( this . emit ( "sectionEnd" , t , this ) , ++ this . column > this . columns ) { if ( null != this . height ) return ! 1 ; this . document . addPage ( ) , this . column = 1 , this . startY = this . document . page . margins . top , this . maxY = this . document . page . maxY ( ) , this . document . x = this . startX , this . document . _fillColor && ( e = this . document ) . fillColor . apply ( e , this . document . _fillColor ) , this . emit ( "pageBreak" , t , this ) } else this . document . x += this . lineWidth + this . columnGap , this . document . y = this . startY , this . emit ( "columnBreak" , t , this ) ; return this . emit ( "sectionStart" , t , this ) , ! 0 } , e } ( e ) , t . exports = i } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , n , r , i = { } . hasOwnProperty , o = function ( t , e ) { function n ( ) { this . constructor = t } for ( var r in e ) i . call ( e , r ) && ( t [ r ] = e [ r ] ) ; return n . prototype = e . prototype , t . prototype = new n , t . _ _super _ _ = e . prototype , t } ; e = function ( ) { function t ( t ) { this . doc = t , this . stops = [ ] , this . embedde
} ; if ( r . noDeprecation === ! 0 ) return n ; var a = ! 1 ; return o } ; var B , T = { } ; e . debuglog = function ( t ) { if ( b ( B ) && ( B = r . env . NODE _DEBUG || "" ) , t = t . toUpperCase ( ) , ! T [ t ] ) if ( new RegExp ( "\\b" + t + "\\b" , "i" ) . test ( B ) ) { { r . pid } T [ t ] = function ( ) { e . format . apply ( e , arguments ) } } else T [ t ] = function ( ) { } ; return T [ t ] } , e . inspect = i , i . colors = { bold : [ 1 , 22 ] , italic : [ 3 , 23 ] , underline : [ 4 , 24 ] , inverse : [ 7 , 27 ] , white : [ 37 , 39 ] , grey : [ 90 , 39 ] , black : [ 30 , 39 ] , blue : [ 34 , 39 ] , cyan : [ 36 , 39 ] , green : [ 32 , 39 ] , magenta : [ 35 , 39 ] , red : [ 31 , 39 ] , yellow : [ 33 , 39 ] } , i . styles = { special : "cyan" , number : "yellow" , "boolean" : "yellow" , undefined : "grey" , "null" : "bold" , string : "green" , date : "magenta" , regexp : "red" } , e . isArray = p , e . isBoolean = g , e . isNull = v , e . isNullOrUndefined = m , e . isNumber = y , e . isString = w , e . isSymbol = _ , e . isUndefined = b , e . isRegExp = x , e . isObject = S , e . isDate = k , e . isError = E , e . isFunction = C , e . isPrimitive = I , e . isBuffer = n ( 72 ) ; e . log = function ( ) { } , e . inherits = n ( 94 ) , e . _extend = function ( t , e ) { if ( ! e || ! S ( e ) ) return t ; for ( var n = Object . keys ( e ) , r = n . length ; r -- ; ) t [ n [ r ] ] = e [ n [ r ] ] ; return t } } ) . call ( e , function ( ) { return this } ( ) , n ( 61 ) ) } , function ( t , e , n ) { function r ( ) { if ( ! s ) { s = ! 0 ; for ( var t , e = a . length ; e ; ) { t = a , a = [ ] ; for ( var n = - 1 ; ++ n < e ; ) t [ n ] ( ) ; e = a . length } s = ! 1 } } function i ( ) { } var o = t . exports = { } , a = [ ] , s = ! 1 ; o . nextTick = function ( t ) { a . push ( t ) , s || setTimeout ( r , 0 ) } , o . title = "browser" , o . browser = ! 0 , o . env = { } , o . argv = [ ] , o . version = "" , o . versions = { } , o . on = i , o . addListener = i , o . once = i , o . off = i , o . removeListener = i , o . removeAllListeners = i , o . emit = i , o . binding = function ( t ) { throw new Error ( "process.binding is not supported" ) } , o . cwd = function ( ) { return "/" } , o . chdir = function ( t ) { throw new Error ( "process.chdir is not supported" ) } , o . umask = function ( ) { return 0 } } , function ( t , e , n ) { t . exports = "function" == typeof Object . create ? function ( t , e ) { t . super _ = e , t . prototype = Object . create ( e . prototype , { constructor : { value : t , enumerable : ! 1 , writable : ! 0 , configurable : ! 0 } } ) } : function ( t , e ) { t . super _ = e ; var n = function ( ) { } ; n . prototype = e . prototype , t . prototype = new n , t . prototype . constructor = t } } , function ( t , e , n ) { ( function ( ) { var e , r ; r = n ( 10 ) , e = function ( ) { function t ( t ) { var e , r ; this . contents = t , this . attributes = { } , this . glyphWidths = { } , this . boundingBoxes = { } , this . parse ( ) , this . charWidths = function ( ) { var t , e ; for ( e = [ ] , r = t = 0 ; 255 >= t ; r = ++ t ) e . push ( this . glyphWidths [ n [ r ] ] ) ; return e } . call ( this ) , this . bbox = function ( ) { var t , n , r , i ; for ( r = this . attributes . FontBBox . split ( /\s+/ ) , i = [ ] , t = 0 , n = r . length ; n > t ; t ++ ) e = r [ t ] , i . push ( + e ) ; return i } . call ( this ) , this . ascender = + ( this . attributes . Ascender || 0 ) , this . decender = + ( this . attributes . Descender || 0 ) , this . lineGap = this . bbox [ 3 ] - this . bbox [ 1 ] - ( this . ascender - this . decender ) } var e , n ; return t . open = function ( e ) { return new t ( r . readFileSync ( e , "utf8" ) ) } , t . prototype . parse = function ( ) { var t , e , n , r , i , o , a , s , h , u ; for ( o = "" , u = this . contents . split ( "\n" ) , s = 0 , h = u . length ; h > s ; s ++ ) if ( n = u [ s ] , r = n . match ( /^Start(\w+)/ ) ) o = r [ 1 ] ; else if ( r = n . match ( /^End(\w+)/ ) ) o = "" ; else switch ( o ) { case "FontMetrics" : r = n . match ( /(^\w+)\s+(.*)/ ) , e = r [ 1 ] , a = r [ 2 ] , ( t = this . attributes [ e ] ) ? ( Array . isArray ( t ) || ( t = this . attributes [ e ] = [ t ] ) , t . push ( a ) ) : this . attributes [ e ] = a ; break ; case "CharMetrics" : if ( ! /^CH?\s/ . test ( n ) ) continue ; i = n . match ( /\bN\s+(\.?\w+)\s*;/ ) [ 1 ] , this . glyphWidths [ i ] = + n . match ( /\bWX\s+(\d+)\s*;/ ) [ 1 ] } } , e = { 402 : 131 , 8211 : 150 , 8212 : 151 , 8216 : 145 , 8217 : 146 , 8218 : 130 , 8220 : 147 , 8221 : 148 , 8222 : 132 , 8224 : 134 , 8225 : 135 , 8226 : 149 , 8230 : 133 , 8364 : 128 , 8240 : 137 , 8249 : 139 , 8250 : 155 , 710 : 136 , 8482 : 153 , 338 : 140 , 339 : 156 , 732 : 152 , 352 : 138 , 353 : 154 , 376 : 159 , 381 : 142 , 382 : 158 } , t . prototype . encodeText = function ( t ) { var n , r , i , o , a ; for ( i = "" , r = o = 0 , a = t . length ; a >= 0 ? a > o : o > a ; r = a >= 0 ? ++ o : -- o ) n = t . charCodeAt ( r ) , n = e [ n ] || n , i += String . fromCharCode ( n ) ; return i } , t . prototype . characterToGlyph = function ( t ) { return n [ e [ t ] || t ] } , t . prototype . widthOfGlyph = function ( t ) { return this . glyphWidths [ t ] } , n = " . notdef . notdef . notdef . notdef \ n . notdef . notdef . notdef . notdef \ n . notdef . notdef . notdef . notdef \ n . notdef . notdef . notdef . notdef \ n . notdef . notdef . notdef . notdef \ n . notdef . notdef . notdef . notdef \ n . notdef . notdef . notdef . notdef \ n . notdef . notdef . notdef . notdef \ n \ nspace exclam quotedbl numbersign \ n
t . strstart = r , s ( t , ! 1 ) , 0 === t . strm . avail _out ) ) return yt ; if ( t . strstart - t . block _start >= t . w _size - ut && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ) return yt } return t . insert = 0 , e === U ? ( s ( t , ! 0 ) , 0 === t . strm . avail _out ? _t : bt ) : t . strstart > t . block _start && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ? yt : yt } function p ( t , e ) { for ( var n , r ; ; ) { if ( t . lookahead < ut ) { if ( f ( t ) , t . lookahead < ut && e === M ) return yt ; if ( 0 === t . lookahead ) break } if ( n = 0 , t . lookahead >= st && ( t . ins _h = ( t . ins _h << t . hash _shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash _mask , n = t . prev [ t . strstart & t . w _mask ] = t . head [ t . ins _h ] , t . head [ t . ins _h ] = t . strstart ) , 0 !== n && t . strstart - n <= t . w _size - ut && ( t . match _length = c ( t , n ) ) , t . match _length >= st ) if ( r = L . _tr _tally ( t , t . strstart - t . match _start , t . match _length - st ) , t . lookahead -= t . match _length , t . match _length <= t . max _lazy _match && t . lookahead >= st ) { t . match _length -- ; do t . strstart ++ , t . ins _h = ( t . ins _h << t . hash _shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash _mask , n = t . prev [ t . strstart & t . w _mask ] = t . head [ t . ins _h ] , t . head [ t . ins _h ] = t . strstart ; while ( 0 !== -- t . match _length ) ; t . strstart ++ } else t . strstart += t . match _length , t . match _length = 0 , t . ins _h = t . window [ t . strstart ] , t . ins _h = ( t . ins _h << t . hash _shift ^ t . window [ t . strstart + 1 ] ) & t . hash _mask ; else r = L . _tr _tally ( t , 0 , t . window [ t . strstart ] ) , t . lookahead -- , t . strstart ++ ; if ( r && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ) return yt } return t . insert = t . strstart < st - 1 ? t . strstart : st - 1 , e === U ? ( s ( t , ! 0 ) , 0 === t . strm . avail _out ? _t : bt ) : t . last _lit && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ? yt : wt } function g ( t , e ) { for ( var n , r , i ; ; ) { if ( t . lookahead < ut ) { if ( f ( t ) , t . lookahead < ut && e === M ) return yt ; if ( 0 === t . lookahead ) break } if ( n = 0 , t . lookahead >= st && ( t . ins _h = ( t . ins _h << t . hash _shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash _mask , n = t . prev [ t . strstart & t . w _mask ] = t . head [ t . ins _h ] , t . head [ t . ins _h ] = t . strstart ) , t . prev _length = t . match _length , t . prev _match = t . match _start , t . match _length = st - 1 , 0 !== n && t . prev _length < t . max _lazy _match && t . strstart - n <= t . w _size - ut && ( t . match _length = c ( t , n ) , t . match _length <= 5 && ( t . strategy === Z || t . match _length === st && t . strstart - t . match _start > 4096 ) && ( t . match _length = st - 1 ) ) , t . prev _length >= st && t . match _length <= t . prev _length ) { i = t . strstart + t . lookahead - st , r = L . _tr _tally ( t , t . strstart - 1 - t . prev _match , t . prev _length - st ) , t . lookahead -= t . prev _length - 1 , t . prev _length -= 2 ; do ++ t . strstart <= i && ( t . ins _h = ( t . ins _h << t . hash _shift ^ t . window [ t . strstart + st - 1 ] ) & t . hash _mask , n = t . prev [ t . strstart & t . w _mask ] = t . head [ t . ins _h ] , t . head [ t . ins _h ] = t . strstart ) ; while ( 0 !== -- t . prev _length ) ; if ( t . match _available = 0 , t . match _length = st - 1 , t . strstart ++ , r && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ) return yt } else if ( t . match _available ) { if ( r = L . _tr _tally ( t , 0 , t . window [ t . strstart - 1 ] ) , r && s ( t , ! 1 ) , t . strstart ++ , t . lookahead -- , 0 === t . strm . avail _out ) return yt } else t . match _available = 1 , t . strstart ++ , t . lookahead -- } return t . match _available && ( r = L . _tr _tally ( t , 0 , t . window [ t . strstart - 1 ] ) , t . match _available = 0 ) , t . insert = t . strstart < st - 1 ? t . strstart : st - 1 , e === U ? ( s ( t , ! 0 ) , 0 === t . strm . avail _out ? _t : bt ) : t . last _lit && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ? yt : wt } function v ( t , e ) { for ( var n , r , i , o , a = t . window ; ; ) { if ( t . lookahead <= ht ) { if ( f ( t ) , t . lookahead <= ht && e === M ) return yt ; if ( 0 === t . lookahead ) break } if ( t . match _length = 0 , t . lookahead >= st && t . strstart > 0 && ( i = t . strstart - 1 , r = a [ i ] , r === a [ ++ i ] && r === a [ ++ i ] && r === a [ ++ i ] ) ) { o = t . strstart + ht ; do ; while ( r === a [ ++ i ] && r === a [ ++ i ] && r === a [ ++ i ] && r === a [ ++ i ] && r === a [ ++ i ] && r === a [ ++ i ] && r === a [ ++ i ] && r === a [ ++ i ] && o > i ) ; t . match _length = ht - ( o - i ) , t . match _length > t . lookahead && ( t . match _length = t . lookahead ) } if ( t . match _length >= st ? ( n = L . _tr _tally ( t , 1 , t . match _length - st ) , t . lookahead -= t . match _length , t . strstart += t . match _length , t . match _length = 0 ) : ( n = L . _tr _tally ( t , 0 , t . window [ t . strstart ] ) , t . lookahead -- , t . strstart ++ ) , n && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ) return yt } return t . insert = 0 , e === U ? ( s ( t , ! 0 ) , 0 === t . strm . avail _out ? _t : bt ) : t . last _lit && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ? yt : wt } function m ( t , e ) { for ( var n ; ; ) { if ( 0 === t . lookahead && ( f ( t ) , 0 === t . lookahead ) ) { if ( e === M ) return yt ; break } if ( t . match _length = 0 , n = L . _tr _tally ( t , 0 , t . window [ t . strstart ] ) , t . lookahead -- , t . strstart ++ , n && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ) return yt } return t . insert = 0 , e === U ? ( s ( t , ! 0 ) , 0 === t . strm . avail _out ? _t : bt ) : t . last _lit && ( s ( t , ! 1 ) , 0 === t . strm . avail _out ) ? yt : wt } function y ( t ) { t . window _size = 2 * t . w _size , o ( t . head ) , t . max _lazy _match = I [ t . level ] . max _lazy , t . good _match = I [ t . level ] . go
B . writeUInt16 ( 262 ) , B . writeUInt16 ( 0 ) , B . write ( v ) , k = { charMap : o , subtable : B . data , maxGlyphID : g + 1 } ; case "unicode" : for ( L = [ ] , c = [ ] , w = 0 , y = { } , n = { } , m = u = null , M = 0 , P = a . length ; P > M ; M ++ ) i = a [ M ] , b = t [ i ] , null == y [ b ] && ( y [ b ] = ++ w ) , n [ i ] = { old : b , "new" : y [ b ] } , s = y [ b ] - i , ( null == m || s !== u ) && ( m && c . push ( m ) , L . push ( i ) , u = s ) , m = i ; for ( m && c . push ( m ) , c . push ( 65535 ) , L . push ( 65535 ) , C = L . length , I = 2 * C , E = 2 * Math . pow ( Math . log ( C ) / Math . LN2 , 2 ) , f = Math . log ( E / 2 ) / Math . LN2 , S = 2 * C - E , h = [ ] , x = [ ] , d = [ ] , p = O = 0 , F = L . length ; F > O ; p = ++ O ) { if ( A = L [ p ] , l = c [ p ] , 65535 === A ) { h . push ( 0 ) , x . push ( 0 ) ; break } if ( R = n [ A ] [ "new" ] , A - R >= 32768 ) for ( h . push ( 0 ) , x . push ( 2 * ( d . length + C - p ) ) , i = D = A ; l >= A ? l >= D : D >= l ; i = l >= A ? ++ D : -- D ) d . push ( n [ i ] [ "new" ] ) ; else h . push ( R - A ) , x . push ( 0 ) } for ( B . writeUInt16 ( 3 ) , B . writeUInt16 ( 1 ) , B . writeUInt32 ( 12 ) , B . writeUInt16 ( 4 ) , B . writeUInt16 ( 16 + 8 * C + 2 * d . length ) , B . writeUInt16 ( 0 ) , B . writeUInt16 ( I ) , B . writeUInt16 ( E ) , B . writeUInt16 ( f ) , B . writeUInt16 ( S ) , Z = 0 , z = c . length ; z > Z ; Z ++ ) i = c [ Z ] , B . writeUInt16 ( i ) ; for ( B . writeUInt16 ( 0 ) , G = 0 , W = L . length ; W > G ; G ++ ) i = L [ G ] , B . writeUInt16 ( i ) ; for ( Y = 0 , N = h . length ; N > Y ; Y ++ ) s = h [ Y ] , B . writeUInt16 ( s ) ; for ( K = 0 , j = x . length ; j > K ; K ++ ) _ = x [ K ] , B . writeUInt16 ( _ ) ; for ( X = 0 , H = d . length ; H > X ; X ++ ) g = d [ X ] , B . writeUInt16 ( g ) ; return k = { charMap : n , subtable : B . data , maxGlyphID : w + 1 } } } , t } ( ) , t . exports = CmapTable } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , HmtxTable , r , i = { } . hasOwnProperty , o = function ( t , e ) { function n ( ) { this . constructor = t } for ( var r in e ) i . call ( e , r ) && ( t [ r ] = e [ r ] ) ; return n . prototype = e . prototype , t . prototype = new n , t . _ _super _ _ = e . prototype , t } ; r = n ( 99 ) , e = n ( 34 ) , HmtxTable = function ( t ) { function HmtxTable ( ) { return HmtxTable . _ _super _ _ . constructor . apply ( this , arguments ) } return o ( HmtxTable , t ) , HmtxTable . prototype . tag = "hmtx" , HmtxTable . prototype . parse = function ( t ) { var e , n , r , i , o , a , s , h ; for ( t . pos = this . offset , this . metrics = [ ] , e = o = 0 , s = this . file . hhea . numberOfMetrics ; s >= 0 ? s > o : o > s ; e = s >= 0 ? ++ o : -- o ) this . metrics . push ( { advance : t . readUInt16 ( ) , lsb : t . readInt16 ( ) } ) ; for ( r = this . file . maxp . numGlyphs - this . file . hhea . numberOfMetrics , this . leftSideBearings = function ( ) { var n , i ; for ( i = [ ] , e = n = 0 ; r >= 0 ? r > n : n > r ; e = r >= 0 ? ++ n : -- n ) i . push ( t . readInt16 ( ) ) ; return i } ( ) , this . widths = function ( ) { var t , e , n , r ; for ( n = this . metrics , r = [ ] , t = 0 , e = n . length ; e > t ; t ++ ) i = n [ t ] , r . push ( i . advance ) ; return r } . call ( this ) , n = this . widths [ this . widths . length - 1 ] , h = [ ] , e = a = 0 ; r >= 0 ? r > a : a > r ; e = r >= 0 ? ++ a : -- a ) h . push ( this . widths . push ( n ) ) ; return h } , HmtxTable . prototype . forGlyph = function ( t ) { var e ; return t in this . metrics ? this . metrics [ t ] : e = { advance : this . metrics [ this . metrics . length - 1 ] . advance , lsb : this . leftSideBearings [ t - this . metrics . length ] } } , HmtxTable . prototype . encode = function ( t ) { var n , r , i , o , a ; for ( i = new e , o = 0 , a = t . length ; a > o ; o ++ ) n = t [ o ] , r = this . forGlyph ( n ) , i . writeUInt16 ( r . advance ) , i . writeUInt16 ( r . lsb ) ; return i . data } , HmtxTable } ( r ) , t . exports = HmtxTable } ) . call ( this ) } , function ( t , e , n ) { ( function ( ) { var e , HheaTable , r , i = { } . hasOwnProperty , o = function ( t , e ) { function n ( ) { this . constructor = t } for ( var r in e ) i . call ( e , r ) && ( t [ r ] = e [ r ] ) ; return n . prototype = e . prototype , t . prototype = new n , t . _ _super _ _ = e . prototype , t } ; r = n ( 99 ) , e = n ( 34 ) , HheaTable = function ( t ) { function HheaTable ( ) { return HheaTable . _ _super _ _ . constructor . apply ( this , arguments ) } return o ( HheaTable , t ) , HheaTable . prototype . tag = "hhea" , HheaTable . prototype . parse = function ( t ) { return t . pos = this . offset , this . version = t . readInt ( ) , this . ascender = t . readShort ( ) , this . decender = t . readShort ( ) , this . lineGap = t . readShort ( ) , this . advanceWidthMax = t . readShort ( ) , this . minLeftSideBearing = t . readShort ( ) , this . minRightSideBearing = t . readShort ( ) , this . xMaxExtent = t . readShort ( ) , this . caretSlopeRise = t . readShort ( ) , this . caretSlopeRun = t . readShort ( ) , this . caretOffset = t . readShort ( ) , t . pos += 8 , this . metricDataFormat = t . readShort ( ) , this . numberOfMetrics = t . readUInt16 ( ) } , HheaTable . prototype . encode = function ( t ) { var n , r , i , o ; for ( r = new e , r . writeInt ( this . version ) , r . writeShort ( this . ascender ) , r . writeShort ( this . decender ) , r . writeShort ( this . lineGap ) , r . writeShort ( this . advanceWidthMax ) , r . writeShort ( this . minLeftSideBearing ) , r . writeShort ( this . minRightSideBearing ) , r . writeShort ( this . xMaxExtent ) , r . writeShort ( this . caretSlopeRise ) , r . writeShort ( this . caretSlopeRun ) , r . writeShort ( this . caretOffset ) , n = i = 0 , o = 8 ; o >= 0 ? o > i : i > o ; n = o >= 0 ? ++ i : -- i ) r . writeByte ( 0 ) ; return r . writeShort ( this . metricDataFormat ) , r . writeU
t . exports = function ( t , e , n , p , g , v , m , y ) { var w , _ , b , x , S , k , E , C , I , A = y . bits , L = 0 , R = 0 , B = 0 , T = 0 , M = 0 , O = 0 , D = 0 , U = 0 , P = 0 , F = 0 , z = null , W = 0 , N = new r . Buf16 ( i + 1 ) , j = new r . Buf16 ( i + 1 ) , H = null , Z = 0 ; for ( L = 0 ; i >= L ; L ++ ) N [ L ] = 0 ; for ( R = 0 ; p > R ; R ++ ) N [ e [ n + R ] ] ++ ; for ( M = A , T = i ; T >= 1 && 0 === N [ T ] ; T -- ) ; if ( M > T && ( M = T ) , 0 === T ) return g [ v ++ ] = 20971520 , g [ v ++ ] = 20971520 , y . bits = 1 , 0 ; for ( B = 1 ; T > B && 0 === N [ B ] ; B ++ ) ; for ( B > M && ( M = B ) , U = 1 , L = 1 ; i >= L ; L ++ ) if ( U <<= 1 , U -= N [ L ] , 0 > U ) return - 1 ; if ( U > 0 && ( t === s || 1 !== T ) ) return - 1 ; for ( j [ 1 ] = 0 , L = 1 ; i > L ; L ++ ) j [ L + 1 ] = j [ L ] + N [ L ] ; for ( R = 0 ; p > R ; R ++ ) 0 !== e [ n + R ] && ( m [ j [ e [ n + R ] ] ++ ] = R ) ; if ( t === s ? ( z = H = m , k = 19 ) : t === h ? ( z = l , W -= 257 , H = c , Z -= 257 , k = 256 ) : ( z = f , H = d , k = - 1 ) , F = 0 , R = 0 , L = B , S = v , O = M , D = 0 , b = - 1 , P = 1 << M , x = P - 1 , t === h && P > o || t === u && P > a ) return 1 ; for ( var G = 0 ; ; ) { G ++ , E = L - D , m [ R ] < k ? ( C = 0 , I = m [ R ] ) : m [ R ] > k ? ( C = H [ Z + m [ R ] ] , I = z [ W + m [ R ] ] ) : ( C = 96 , I = 0 ) , w = 1 << L - D , _ = 1 << O , B = _ ; do _ -= w , g [ S + ( F >> D ) + _ ] = E << 24 | C << 16 | I | 0 ; while ( 0 !== _ ) ; for ( w = 1 << L - 1 ; F & w ; ) w >>= 1 ; if ( 0 !== w ? ( F &= w - 1 , F += w ) : F = 0 , R ++ , 0 === -- N [ L ] ) { if ( L === T ) break ; L = e [ n + m [ R ] ] } if ( L > M && ( F & x ) !== b ) { for ( 0 === D && ( D = M ) , S += B , O = L - D , U = 1 << O ; T > O + D && ( U -= N [ O + D ] , ! ( 0 >= U ) ) ; ) O ++ , U <<= 1 ; if ( P += 1 << O , t === h && P > o || t === u && P > a ) return 1 ; b = F & x , g [ b ] = M << 24 | O << 16 | S - v | 0 } } return 0 !== F && ( g [ S + F ] = L - D << 24 | 64 << 16 | 0 ) , y . bits = M , 0 } } , function ( t , e , n ) { t . exports = "function" == typeof Object . create ? function ( t , e ) { t . super _ = e , t . prototype = Object . create ( e . prototype , { constructor : { value : t , enumerable : ! 1 , writable : ! 0 , configurable : ! 0 } } ) } : function ( t , e ) { t . super _ = e ; var n = function ( ) { } ; n . prototype = e . prototype , t . prototype = new n , t . prototype . constructor = t } } , function ( t , e , n ) { ( function ( t ) { function n ( t ) { return Array . isArray ( t ) } function r ( t ) { return "boolean" == typeof t } function i ( t ) { return null === t } function o ( t ) { return null == t } function a ( t ) { return "number" == typeof t } function s ( t ) { return "string" == typeof t } function h ( t ) { return "symbol" == typeof t } function u ( t ) { return void 0 === t } function l ( t ) { return c ( t ) && "[object RegExp]" === m ( t ) } function c ( t ) { return "object" == typeof t && null !== t } function f ( t ) { return c ( t ) && "[object Date]" === m ( t ) } function d ( t ) { return c ( t ) && ( "[object Error]" === m ( t ) || t instanceof Error ) } function p ( t ) { return "function" == typeof t } function g ( t ) { return null === t || "boolean" == typeof t || "number" == typeof t || "string" == typeof t || "symbol" == typeof t || "undefined" == typeof t } function v ( e ) { return t . isBuffer ( e ) } function m ( t ) { return Object . prototype . toString . call ( t ) } e . isArray = n , e . isBoolean = r , e . isNull = i , e . isNullOrUndefined = o , e . isNumber = a , e . isString = s , e . isSymbol = h , e . isUndefined = u , e . isRegExp = l , e . isObject = c , e . isDate = f , e . isError = d , e . isFunction = p , e . isPrimitive = g , e . isBuffer = v } ) . call ( e , n ( 4 ) . Buffer ) } , function ( t , e , n ) { t . exports = { data : [ 1961 , 1969 , 1977 , 1985 , 2025 , 2033 , 2041 , 2049 , 2057 , 2065 , 2073 , 2081 , 2089 , 2097 , 2105 , 2113 , 2121 , 2129 , 2137 , 2145 , 2153 , 2161 , 2169 , 2177 , 2185 , 2193 , 2201 , 2209 , 2217 , 2225 , 2233 , 2241 , 2249 , 2257 , 2265 , 2273 , 2281 , 2289 , 2297 , 2305 , 2313 , 2321 , 2329 , 2337 , 2345 , 2353 , 2361 , 2369 , 2377 , 2385 , 2393 , 2401 , 2409 , 2417 , 2425 , 2433 , 2441 , 2449 , 2457 , 2465 , 2473 , 2481 , 2489 , 2497 , 2505 , 2513 , 2521 , 2529 , 2529 , 2537 , 2009 , 2545 , 2553 , 2561 , 2569 , 2577 , 2585 , 2593 , 2601 , 2609 , 2617 , 2625 , 2633 , 2641 , 2649 , 2657 , 2665 , 2673 , 2681 , 2689 , 2697 , 2705 , 2713 , 2721 , 2729 , 2737 , 2745 , 2753 , 2761 , 2769 , 2777 , 2785 , 2793 , 2801 , 2809 , 2817 , 2825 , 2833 , 2841 , 2849 , 2857 , 2865 , 2873 , 2881 , 2889 , 2009 , 2897 , 2905 , 2913 , 2009 , 2921 , 2929 , 2937 , 2945 , 2953 , 2961 , 2969 , 2009 , 2977 , 2977 , 2985 , 2993 , 3001 , 3009 , 3009 , 3009 , 3017 , 3017 , 3017 , 3025 , 3025 , 3033 , 3041 , 3041 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3049 , 3057 , 3065 , 3073 , 3073 , 3073 , 3081 , 3089 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3097 , 3105 , 3113 , 3113 , 3121 , 3129 , 3137 , 3145 , 3153 , 3161 , 3161 , 3169 , 3177 , 3185 , 3193 , 3193 , 3193 , 3193 , 3201 , 3209 , 3209 , 3217 , 3225 , 3233 , 3241 , 3241 , 3241 , 3249 , 3257 , 3265 , 3273 , 3273 , 3281 , 3289 , 3297 , 2009 , 2009 , 3305 , 3313 , 3321 , 3329 , 3337 , 3345 , 3353 , 3361 , 3369 , 3377 , 3385 , 3393 , 2009 , 2009 , 3401 , 3409 , 3417 , 3417 , 3417 , 3417 , 3417 , 3417 , 3425 , 3425 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3433 , 3441 , 3449 , 3457 , 3465 , 3473 , 3481 , 3489 , 3497 , 3505 , 3513 , 3521 , 3529 , 3537 , 3545 , 3553 , 3561 , 3569 , 3577 , 3585 , 3593 , 3601 , 3609 , 3617 , 3625 , 3625 , 3633 , 3641 , 3649 , 3649 , 3649 , 3649 , 3649 , 3657 , 3665 , 3665 , 3673 , 3681 , 3681 , 3681 , 3681 , 3689 , 3697 , 3697 , 3705 , 3713 , 3721 , 3729 , 3737 , 3745 , 3753 , 3761 , 3769 , 3777 , 3785 , 3793 , 3801 , 3809 , 3817 , 3825 , 3833 , 3
highStart : 919552 , errorValue : 0 } } , function ( t , e , n ) { t . exports = Array . isArray || function ( t ) { return "[object Array]" == Object . prototype . toString . call ( t ) } } ] ) ;
//# sourceMappingURL=pdfmake.min.js.map
window . pdfMake = window . pdfMake || { } ; window . pdfMake . vfs = { "LICENSE.txt" : " DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNA0KICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLw0KDQogICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04NCg0KICAgMS4gRGVmaW5pdGlvbnMuDQoNCiAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sDQogICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4NCg0KICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4NCg0KICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbA0KICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbg0KICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwNCiAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQ0KICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3INCiAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQ0KICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4NCg0KICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQ0KICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4NCg0KICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsDQogICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uDQogICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLg0KDQogICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbA0KICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dA0KICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLA0KICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLg0KDQogICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcg0KICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQ0KICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrDQogICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLg0KDQogICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0DQogICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlDQogICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zDQogICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3Nlcw0KICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluDQogICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsDQogICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLg0KDQogICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZw0KICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucw0KICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5DQogICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyDQogICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YNCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIg0KICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudA0KICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8NCiAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3R
/ * !
2016-09-22 08:06:46 +00:00
DataTables 1.10 . 12
2016-09-03 11:05:50 +00:00
© 2008 - 2015 SpryMedia Ltd - datatables . net / license
* /
2016-09-22 08:06:46 +00:00
( function ( h ) { "function" === typeof define && define . amd ? define ( [ "jquery" ] , function ( D ) { return h ( D , window , document ) } ) : "object" === typeof exports ? module . exports = function ( D , I ) { D || ( D = window ) ; I || ( I = "undefined" !== typeof window ? require ( "jquery" ) : require ( "jquery" ) ( D ) ) ; return h ( I , D , D . document ) } : h ( jQuery , window , document ) } ) ( function ( h , D , I , k ) { function X ( a ) { var b , c , d = { } ; h . each ( a , function ( e ) { if ( ( b = e . match ( /^([^A-Z]+?)([A-Z])/ ) ) && - 1 !== "a aa ai ao as b fn i m o s " . indexOf ( b [ 1 ] + " " ) ) c = e . replace ( b [ 0 ] , b [ 2 ] . toLowerCase ( ) ) ,
d [ c ] = e , "o" === b [ 1 ] && X ( a [ e ] ) } ) ; a . _hungarianMap = d } function K ( a , b , c ) { a . _hungarianMap || X ( a ) ; var d ; h . each ( b , function ( e ) { d = a . _hungarianMap [ e ] ; if ( d !== k && ( c || b [ d ] === k ) ) "o" === d . charAt ( 0 ) ? ( b [ d ] || ( b [ d ] = { } ) , h . extend ( ! 0 , b [ d ] , b [ e ] ) , K ( a [ d ] , b [ d ] , c ) ) : b [ d ] = b [ e ] } ) } function Da ( a ) { var b = m . defaults . oLanguage , c = a . sZeroRecords ; ! a . sEmptyTable && ( c && "No data available in table" === b . sEmptyTable ) && E ( a , a , "sZeroRecords" , "sEmptyTable" ) ; ! a . sLoadingRecords && ( c && "Loading..." === b . sLoadingRecords ) && E ( a , a , "sZeroRecords" , "sLoadingRecords" ) ;
2016-09-03 11:05:50 +00:00
a . sInfoThousands && ( a . sThousands = a . sInfoThousands ) ; ( a = a . sDecimal ) && db ( a ) } function eb ( a ) { A ( a , "ordering" , "bSort" ) ; A ( a , "orderMulti" , "bSortMulti" ) ; A ( a , "orderClasses" , "bSortClasses" ) ; A ( a , "orderCellsTop" , "bSortCellsTop" ) ; A ( a , "order" , "aaSorting" ) ; A ( a , "orderFixed" , "aaSortingFixed" ) ; A ( a , "paging" , "bPaginate" ) ; A ( a , "pagingType" , "sPaginationType" ) ; A ( a , "pageLength" , "iDisplayLength" ) ; A ( a , "searching" , "bFilter" ) ; "boolean" === typeof a . sScrollX && ( a . sScrollX = a . sScrollX ? "100%" : "" ) ; "boolean" === typeof a . scrollX && ( a . scrollX =
2016-09-22 08:06:46 +00:00
a . scrollX ? "100%" : "" ) ; if ( a = a . aoSearchCols ) for ( var b = 0 , c = a . length ; b < c ; b ++ ) a [ b ] && K ( m . models . oSearch , a [ b ] ) } function fb ( a ) { A ( a , "orderable" , "bSortable" ) ; A ( a , "orderData" , "aDataSort" ) ; A ( a , "orderSequence" , "asSorting" ) ; A ( a , "orderDataType" , "sortDataType" ) ; var b = a . aDataSort ; b && ! h . isArray ( b ) && ( a . aDataSort = [ b ] ) } function gb ( a ) { if ( ! m . _ _browser ) { var b = { } ; m . _ _browser = b ; var c = h ( "<div/>" ) . css ( { position : "fixed" , top : 0 , left : 0 , height : 1 , width : 1 , overflow : "hidden" } ) . append ( h ( "<div/>" ) . css ( { position : "absolute" , top : 1 , left : 1 ,
2016-09-03 11:05:50 +00:00
width : 100 , overflow : "scroll" } ) . append ( h ( "<div/>" ) . css ( { width : "100%" , height : 10 } ) ) ) . appendTo ( "body" ) , d = c . children ( ) , e = d . children ( ) ; b . barWidth = d [ 0 ] . offsetWidth - d [ 0 ] . clientWidth ; b . bScrollOversize = 100 === e [ 0 ] . offsetWidth && 100 !== d [ 0 ] . clientWidth ; b . bScrollbarLeft = 1 !== Math . round ( e . offset ( ) . left ) ; b . bBounding = c [ 0 ] . getBoundingClientRect ( ) . width ? ! 0 : ! 1 ; c . remove ( ) } h . extend ( a . oBrowser , m . _ _browser ) ; a . oScroll . iBarWidth = m . _ _browser . barWidth } function hb ( a , b , c , d , e , f ) { var g , j = ! 1 ; c !== k && ( g = c , j = ! 0 ) ; for ( ; d !== e ; ) a . hasOwnProperty ( d ) &&
2016-09-22 08:06:46 +00:00
( g = j ? b ( g , a [ d ] , d , a ) : a [ d ] , j = ! 0 , d += f ) ; return g } function Ea ( a , b ) { var c = m . defaults . column , d = a . aoColumns . length , c = h . extend ( { } , m . models . oColumn , c , { nTh : b ? b : I . createElement ( "th" ) , sTitle : c . sTitle ? c . sTitle : b ? b . innerHTML : "" , aDataSort : c . aDataSort ? c . aDataSort : [ d ] , mData : c . mData ? c . mData : d , idx : d } ) ; a . aoColumns . push ( c ) ; c = a . aoPreSearchCols ; c [ d ] = h . extend ( { } , m . models . oSearch , c [ d ] ) ; ja ( a , d , h ( b ) . data ( ) ) } function ja ( a , b , c ) { var b = a . aoColumns [ b ] , d = a . oClasses , e = h ( b . nTh ) ; if ( ! b . sWidthOrig ) { b . sWidthOrig = e . attr ( "width" ) || null ; var f =
( e . attr ( "style" ) || "" ) . match ( /width:\s*(\d+[pxem%]+)/ ) ; f && ( b . sWidthOrig = f [ 1 ] ) } c !== k && null !== c && ( fb ( c ) , K ( m . defaults . column , c ) , c . mDataProp !== k && ! c . mData && ( c . mData = c . mDataProp ) , c . sType && ( b . _sManualType = c . sType ) , c . className && ! c . sClass && ( c . sClass = c . className ) , h . extend ( b , c ) , E ( b , c , "sWidth" , "sWidthOrig" ) , c . iDataSort !== k && ( b . aDataSort = [ c . iDataSort ] ) , E ( b , c , "aDataSort" ) ) ; var g = b . mData , j = Q ( g ) , i = b . mRender ? Q ( b . mRender ) : null , c = function ( a ) { return "string" === typeof a && - 1 !== a . indexOf ( "@" ) } ; b . _bAttrSrc = h . isPlainObject ( g ) &&
( c ( g . sort ) || c ( g . type ) || c ( g . filter ) ) ; b . _setter = null ; b . fnGetData = function ( a , b , c ) { var d = j ( a , b , k , c ) ; return i && b ? i ( d , b , a , c ) : d } ; b . fnSetData = function ( a , b , c ) { return R ( g ) ( a , b , c ) } ; "number" !== typeof g && ( a . _rowReadObject = ! 0 ) ; a . oFeatures . bSort || ( b . bSortable = ! 1 , e . addClass ( d . sSortableNone ) ) ; a = - 1 !== h . inArray ( "asc" , b . asSorting ) ; c = - 1 !== h . inArray ( "desc" , b . asSorting ) ; ! b . bSortable || ! a && ! c ? ( b . sSortingClass = d . sSortableNone , b . sSortingClassJUI = "" ) : a && ! c ? ( b . sSortingClass = d . sSortableAsc , b . sSortingClassJUI = d . sSortJUIAscAllowed ) :
! a && c ? ( b . sSortingClass = d . sSortableDesc , b . sSortingClassJUI = d . sSortJUIDescAllowed ) : ( b . sSortingClass = d . sSortable , b . sSortingClassJUI = d . sSortJUI ) } function Y ( a ) { if ( ! 1 !== a . oFeatures . bAutoWidth ) { var b = a . aoColumns ; Fa ( a ) ; for ( var c = 0 , d = b . length ; c < d ; c ++ ) b [ c ] . nTh . style . width = b [ c ] . sWidth } b = a . oScroll ; ( "" !== b . sY || "" !== b . sX ) && ka ( a ) ; u ( a , null , "column-sizing" , [ a ] ) } function Z ( a , b ) { var c = la ( a , "bVisible" ) ; return "number" === typeof c [ b ] ? c [ b ] : null } function $ ( a , b ) { var c = la ( a , "bVisible" ) , c = h . inArray ( b , c ) ; return - 1 !== c ? c : null }
function aa ( a ) { var b = 0 ; h . each ( a . aoColumns , function ( a , d ) { d . bVisible && "none" !== h ( d . nTh ) . css ( "display" ) && b ++ } ) ; return b } function la ( a , b ) { var c = [ ] ; h . map ( a . aoColumns , function ( a , e ) { a [ b ] && c . push ( e ) } ) ; return c } function Ga ( a ) { var b = a . aoColumns , c = a . aoData , d = m . ext . type . detect , e , f , g , j , i , h , l , q , t ; e = 0 ; for ( f = b . length ; e < f ; e ++ ) if ( l = b [ e ] , t = [ ] , ! l . sType && l . _sManualType ) l . sType = l . _sManualType ; else if ( ! l . sType ) { g = 0 ; for ( j = d . length ; g < j ; g ++ ) { i = 0 ; for ( h = c . length ; i < h ; i ++ ) { t [ i ] === k && ( t [ i ] = B ( a , i , e , "type" ) ) ; q = d [ g ] ( t [ i ] , a ) ; if ( ! q &&
g !== d . length - 1 ) break ; if ( "html" === q ) break } if ( q ) { l . sType = q ; break } } l . sType || ( l . sType = "string" ) } } function ib ( a , b , c , d ) { var e , f , g , j , i , n , l = a . aoColumns ; if ( b ) for ( e = b . length - 1 ; 0 <= e ; e -- ) { n = b [ e ] ; var q = n . targets !== k ? n . targets : n . aTargets ; h . isArray ( q ) || ( q = [ q ] ) ; f = 0 ; for ( g = q . length ; f < g ; f ++ ) if ( "number" === typeof q [ f ] && 0 <= q [ f ] ) { for ( ; l . length <= q [ f ] ; ) Ea ( a ) ; d ( q [ f ] , n ) } else if ( "number" === typeof q [ f ] && 0 > q [ f ] ) d ( l . length + q [ f ] , n ) ; else if ( "string" === typeof q [ f ] ) { j = 0 ; for ( i = l . length ; j < i ; j ++ ) ( "_all" == q [ f ] || h ( l [ j ] . nTh ) . hasClass ( q [ f ] ) ) &&
d ( j , n ) } } if ( c ) { e = 0 ; for ( a = c . length ; e < a ; e ++ ) d ( e , c [ e ] ) } } function N ( a , b , c , d ) { var e = a . aoData . length , f = h . extend ( ! 0 , { } , m . models . oRow , { src : c ? "dom" : "data" , idx : e } ) ; f . _aData = b ; a . aoData . push ( f ) ; for ( var g = a . aoColumns , j = 0 , i = g . length ; j < i ; j ++ ) g [ j ] . sType = null ; a . aiDisplayMaster . push ( e ) ; b = a . rowIdFn ( b ) ; b !== k && ( a . aIds [ b ] = f ) ; ( c || ! a . oFeatures . bDeferRender ) && Ha ( a , e , c , d ) ; return e } function ma ( a , b ) { var c ; b instanceof h || ( b = h ( b ) ) ; return b . map ( function ( b , e ) { c = Ia ( a , e ) ; return N ( a , c . data , e , c . cells ) } ) } function B ( a , b , c , d ) { var e = a . iDraw ,
f = a . aoColumns [ c ] , g = a . aoData [ b ] . _aData , j = f . sDefaultContent , i = f . fnGetData ( g , d , { settings : a , row : b , col : c } ) ; if ( i === k ) return a . iDrawError != e && null === j && ( L ( a , 0 , "Requested unknown parameter " + ( "function" == typeof f . mData ? "{function}" : "'" + f . mData + "'" ) + " for row " + b + ", column " + c , 4 ) , a . iDrawError = e ) , j ; if ( ( i === g || null === i ) && null !== j && d !== k ) i = j ; else if ( "function" === typeof i ) return i . call ( g ) ; return null === i && "display" == d ? "" : i } function jb ( a , b , c , d ) { a . aoColumns [ c ] . fnSetData ( a . aoData [ b ] . _aData , d , { settings : a , row : b , col : c } ) }
function Ja ( a ) { return h . map ( a . match ( /(\\.|[^\.])+/g ) || [ "" ] , function ( a ) { return a . replace ( /\\./g , "." ) } ) } function Q ( a ) { if ( h . isPlainObject ( a ) ) { var b = { } ; h . each ( a , function ( a , c ) { c && ( b [ a ] = Q ( c ) ) } ) ; return function ( a , c , f , g ) { var j = b [ c ] || b . _ ; return j !== k ? j ( a , c , f , g ) : a } } if ( null === a ) return function ( a ) { return a } ; if ( "function" === typeof a ) return function ( b , c , f , g ) { return a ( b , c , f , g ) } ; if ( "string" === typeof a && ( - 1 !== a . indexOf ( "." ) || - 1 !== a . indexOf ( "[" ) || - 1 !== a . indexOf ( "(" ) ) ) { var c = function ( a , b , f ) { var g , j ; if ( "" !== f ) { j = Ja ( f ) ;
for ( var i = 0 , n = j . length ; i < n ; i ++ ) { f = j [ i ] . match ( ba ) ; g = j [ i ] . match ( U ) ; if ( f ) { j [ i ] = j [ i ] . replace ( ba , "" ) ; "" !== j [ i ] && ( a = a [ j [ i ] ] ) ; g = [ ] ; j . splice ( 0 , i + 1 ) ; j = j . join ( "." ) ; if ( h . isArray ( a ) ) { i = 0 ; for ( n = a . length ; i < n ; i ++ ) g . push ( c ( a [ i ] , b , j ) ) } a = f [ 0 ] . substring ( 1 , f [ 0 ] . length - 1 ) ; a = "" === a ? g : g . join ( a ) ; break } else if ( g ) { j [ i ] = j [ i ] . replace ( U , "" ) ; a = a [ j [ i ] ] ( ) ; continue } if ( null === a || a [ j [ i ] ] === k ) return k ; a = a [ j [ i ] ] } } return a } ; return function ( b , e ) { return c ( b , e , a ) } } return function ( b ) { return b [ a ] } } function R ( a ) { if ( h . isPlainObject ( a ) ) return R ( a . _ ) ;
if ( null === a ) return function ( ) { } ; if ( "function" === typeof a ) return function ( b , d , e ) { a ( b , "set" , d , e ) } ; if ( "string" === typeof a && ( - 1 !== a . indexOf ( "." ) || - 1 !== a . indexOf ( "[" ) || - 1 !== a . indexOf ( "(" ) ) ) { var b = function ( a , d , e ) { var e = Ja ( e ) , f ; f = e [ e . length - 1 ] ; for ( var g , j , i = 0 , n = e . length - 1 ; i < n ; i ++ ) { g = e [ i ] . match ( ba ) ; j = e [ i ] . match ( U ) ; if ( g ) { e [ i ] = e [ i ] . replace ( ba , "" ) ; a [ e [ i ] ] = [ ] ; f = e . slice ( ) ; f . splice ( 0 , i + 1 ) ; g = f . join ( "." ) ; if ( h . isArray ( d ) ) { j = 0 ; for ( n = d . length ; j < n ; j ++ ) f = { } , b ( f , d [ j ] , g ) , a [ e [ i ] ] . push ( f ) } else a [ e [ i ] ] = d ; return } j && ( e [ i ] = e [ i ] . replace ( U ,
"" ) , a = a [ e [ i ] ] ( d ) ) ; if ( null === a [ e [ i ] ] || a [ e [ i ] ] === k ) a [ e [ i ] ] = { } ; a = a [ e [ i ] ] } if ( f . match ( U ) ) a [ f . replace ( U , "" ) ] ( d ) ; else a [ f . replace ( ba , "" ) ] = d } ; return function ( c , d ) { return b ( c , d , a ) } } return function ( b , d ) { b [ a ] = d } } function Ka ( a ) { return G ( a . aoData , "_aData" ) } function na ( a ) { a . aoData . length = 0 ; a . aiDisplayMaster . length = 0 ; a . aiDisplay . length = 0 ; a . aIds = { } } function oa ( a , b , c ) { for ( var d = - 1 , e = 0 , f = a . length ; e < f ; e ++ ) a [ e ] == b ? d = e : a [ e ] > b && a [ e ] -- ; - 1 != d && c === k && a . splice ( d , 1 ) } function ca ( a , b , c , d ) { var e = a . aoData [ b ] , f , g = function ( c , d ) { for ( ; c . childNodes . length ; ) c . removeChild ( c . firstChild ) ;
c . innerHTML = B ( a , b , d , "display" ) } ; if ( "dom" === c || ( ! c || "auto" === c ) && "dom" === e . src ) e . _aData = Ia ( a , e , d , d === k ? k : e . _aData ) . data ; else { var j = e . anCells ; if ( j ) if ( d !== k ) g ( j [ d ] , d ) ; else { c = 0 ; for ( f = j . length ; c < f ; c ++ ) g ( j [ c ] , c ) } } e . _aSortData = null ; e . _aFilterData = null ; g = a . aoColumns ; if ( d !== k ) g [ d ] . sType = null ; else { c = 0 ; for ( f = g . length ; c < f ; c ++ ) g [ c ] . sType = null ; La ( a , e ) } } function Ia ( a , b , c , d ) { var e = [ ] , f = b . firstChild , g , j , i = 0 , n , l = a . aoColumns , q = a . _rowReadObject , d = d !== k ? d : q ? { } : [ ] , t = function ( a , b ) { if ( "string" === typeof a ) { var c = a . indexOf ( "@" ) ;
- 1 !== c && ( c = a . substring ( c + 1 ) , R ( a ) ( d , b . getAttribute ( c ) ) ) } } , S = function ( a ) { if ( c === k || c === i ) j = l [ i ] , n = h . trim ( a . innerHTML ) , j && j . _bAttrSrc ? ( R ( j . mData . _ ) ( d , n ) , t ( j . mData . sort , a ) , t ( j . mData . type , a ) , t ( j . mData . filter , a ) ) : q ? ( j . _setter || ( j . _setter = R ( j . mData ) ) , j . _setter ( d , n ) ) : d [ i ] = n ; i ++ } ; if ( f ) for ( ; f ; ) { g = f . nodeName . toUpperCase ( ) ; if ( "TD" == g || "TH" == g ) S ( f ) , e . push ( f ) ; f = f . nextSibling } else { e = b . anCells ; f = 0 ; for ( g = e . length ; f < g ; f ++ ) S ( e [ f ] ) } if ( b = b . firstChild ? b : b . nTr ) ( b = b . getAttribute ( "id" ) ) && R ( a . rowId ) ( d , b ) ; return { data : d , cells : e } }
function Ha ( a , b , c , d ) { var e = a . aoData [ b ] , f = e . _aData , g = [ ] , j , i , n , l , q ; if ( null === e . nTr ) { j = c || I . createElement ( "tr" ) ; e . nTr = j ; e . anCells = g ; j . _DT _RowIndex = b ; La ( a , e ) ; l = 0 ; for ( q = a . aoColumns . length ; l < q ; l ++ ) { n = a . aoColumns [ l ] ; i = c ? d [ l ] : I . createElement ( n . sCellType ) ; i . _DT _CellIndex = { row : b , column : l } ; g . push ( i ) ; if ( ( ! c || n . mRender || n . mData !== l ) && ( ! h . isPlainObject ( n . mData ) || n . mData . _ !== l + ".display" ) ) i . innerHTML = B ( a , b , l , "display" ) ; n . sClass && ( i . className += " " + n . sClass ) ; n . bVisible && ! c ? j . appendChild ( i ) : ! n . bVisible && c && i . parentNode . removeChild ( i ) ;
n . fnCreatedCell && n . fnCreatedCell . call ( a . oInstance , i , B ( a , b , l ) , f , b , l ) } u ( a , "aoRowCreatedCallback" , null , [ j , f , b ] ) } e . nTr . setAttribute ( "role" , "row" ) } function La ( a , b ) { var c = b . nTr , d = b . _aData ; if ( c ) { var e = a . rowIdFn ( d ) ; e && ( c . id = e ) ; d . DT _RowClass && ( e = d . DT _RowClass . split ( " " ) , b . _ _rowc = b . _ _rowc ? pa ( b . _ _rowc . concat ( e ) ) : e , h ( c ) . removeClass ( b . _ _rowc . join ( " " ) ) . addClass ( d . DT _RowClass ) ) ; d . DT _RowAttr && h ( c ) . attr ( d . DT _RowAttr ) ; d . DT _RowData && h ( c ) . data ( d . DT _RowData ) } } function kb ( a ) { var b , c , d , e , f , g = a . nTHead , j = a . nTFoot , i = 0 ===
h ( "th, td" , g ) . length , n = a . oClasses , l = a . aoColumns ; i && ( e = h ( "<tr/>" ) . appendTo ( g ) ) ; b = 0 ; for ( c = l . length ; b < c ; b ++ ) f = l [ b ] , d = h ( f . nTh ) . addClass ( f . sClass ) , i && d . appendTo ( e ) , a . oFeatures . bSort && ( d . addClass ( f . sSortingClass ) , ! 1 !== f . bSortable && ( d . attr ( "tabindex" , a . iTabIndex ) . attr ( "aria-controls" , a . sTableId ) , Ma ( a , f . nTh , b ) ) ) , f . sTitle != d [ 0 ] . innerHTML && d . html ( f . sTitle ) , Na ( a , "header" ) ( a , d , f , n ) ; i && da ( a . aoHeader , g ) ; h ( g ) . find ( ">tr" ) . attr ( "role" , "row" ) ; h ( g ) . find ( ">tr>th, >tr>td" ) . addClass ( n . sHeaderTH ) ; h ( j ) . find ( ">tr>th, >tr>td" ) . addClass ( n . sFooterTH ) ;
if ( null !== j ) { a = a . aoFooter [ 0 ] ; b = 0 ; for ( c = a . length ; b < c ; b ++ ) f = l [ b ] , f . nTf = a [ b ] . cell , f . sClass && h ( f . nTf ) . addClass ( f . sClass ) } } function ea ( a , b , c ) { var d , e , f , g = [ ] , j = [ ] , i = a . aoColumns . length , n ; if ( b ) { c === k && ( c = ! 1 ) ; d = 0 ; for ( e = b . length ; d < e ; d ++ ) { g [ d ] = b [ d ] . slice ( ) ; g [ d ] . nTr = b [ d ] . nTr ; for ( f = i - 1 ; 0 <= f ; f -- ) ! a . aoColumns [ f ] . bVisible && ! c && g [ d ] . splice ( f , 1 ) ; j . push ( [ ] ) } d = 0 ; for ( e = g . length ; d < e ; d ++ ) { if ( a = g [ d ] . nTr ) for ( ; f = a . firstChild ; ) a . removeChild ( f ) ; f = 0 ; for ( b = g [ d ] . length ; f < b ; f ++ ) if ( n = i = 1 , j [ d ] [ f ] === k ) { a . appendChild ( g [ d ] [ f ] . cell ) ;
for ( j [ d ] [ f ] = 1 ; g [ d + i ] !== k && g [ d ] [ f ] . cell == g [ d + i ] [ f ] . cell ; ) j [ d + i ] [ f ] = 1 , i ++ ; for ( ; g [ d ] [ f + n ] !== k && g [ d ] [ f ] . cell == g [ d ] [ f + n ] . cell ; ) { for ( c = 0 ; c < i ; c ++ ) j [ d + c ] [ f + n ] = 1 ; n ++ } h ( g [ d ] [ f ] . cell ) . attr ( "rowspan" , i ) . attr ( "colspan" , n ) } } } } function O ( a ) { var b = u ( a , "aoPreDrawCallback" , "preDraw" , [ a ] ) ; if ( - 1 !== h . inArray ( ! 1 , b ) ) C ( a , ! 1 ) ; else { var b = [ ] , c = 0 , d = a . asStripeClasses , e = d . length , f = a . oLanguage , g = a . iInitDisplayStart , j = "ssp" == y ( a ) , i = a . aiDisplay ; a . bDrawing = ! 0 ; g !== k && - 1 !== g && ( a . _iDisplayStart = j ? g : g >= a . fnRecordsDisplay ( ) ? 0 : g , a . iInitDisplayStart =
- 1 ) ; var g = a . _iDisplayStart , n = a . fnDisplayEnd ( ) ; if ( a . bDeferLoading ) a . bDeferLoading = ! 1 , a . iDraw ++ , C ( a , ! 1 ) ; else if ( j ) { if ( ! a . bDestroying && ! lb ( a ) ) return } else a . iDraw ++ ; if ( 0 !== i . length ) { f = j ? a . aoData . length : n ; for ( j = j ? 0 : g ; j < f ; j ++ ) { var l = i [ j ] , q = a . aoData [ l ] ; null === q . nTr && Ha ( a , l ) ; l = q . nTr ; if ( 0 !== e ) { var t = d [ c % e ] ; q . _sRowStripe != t && ( h ( l ) . removeClass ( q . _sRowStripe ) . addClass ( t ) , q . _sRowStripe = t ) } u ( a , "aoRowCallback" , null , [ l , q . _aData , c , j ] ) ; b . push ( l ) ; c ++ } } else c = f . sZeroRecords , 1 == a . iDraw && "ajax" == y ( a ) ? c = f . sLoadingRecords :
f . sEmptyTable && 0 === a . fnRecordsTotal ( ) && ( c = f . sEmptyTable ) , b [ 0 ] = h ( "<tr/>" , { "class" : e ? d [ 0 ] : "" } ) . append ( h ( "<td />" , { valign : "top" , colSpan : aa ( a ) , "class" : a . oClasses . sRowEmpty } ) . html ( c ) ) [ 0 ] ; u ( a , "aoHeaderCallback" , "header" , [ h ( a . nTHead ) . children ( "tr" ) [ 0 ] , Ka ( a ) , g , n , i ] ) ; u ( a , "aoFooterCallback" , "footer" , [ h ( a . nTFoot ) . children ( "tr" ) [ 0 ] , Ka ( a ) , g , n , i ] ) ; d = h ( a . nTBody ) ; d . children ( ) . detach ( ) ; d . append ( h ( b ) ) ; u ( a , "aoDrawCallback" , "draw" , [ a ] ) ; a . bSorted = ! 1 ; a . bFiltered = ! 1 ; a . bDrawing = ! 1 } } function T ( a , b ) { var c = a . oFeatures , d = c . bFilter ;
c . bSort && mb ( a ) ; d ? fa ( a , a . oPreviousSearch ) : a . aiDisplay = a . aiDisplayMaster . slice ( ) ; ! 0 !== b && ( a . _iDisplayStart = 0 ) ; a . _drawHold = b ; O ( a ) ; a . _drawHold = ! 1 } function nb ( a ) { var b = a . oClasses , c = h ( a . nTable ) , c = h ( "<div/>" ) . insertBefore ( c ) , d = a . oFeatures , e = h ( "<div/>" , { id : a . sTableId + "_wrapper" , "class" : b . sWrapper + ( a . nTFoot ? "" : " " + b . sNoFooter ) } ) ; a . nHolding = c [ 0 ] ; a . nTableWrapper = e [ 0 ] ; a . nTableReinsertBefore = a . nTable . nextSibling ; for ( var f = a . sDom . split ( "" ) , g , j , i , n , l , q , t = 0 ; t < f . length ; t ++ ) { g = null ; j = f [ t ] ; if ( "<" == j ) { i = h ( "<div/>" ) [ 0 ] ;
n = f [ t + 1 ] ; if ( "'" == n || '"' == n ) { l = "" ; for ( q = 2 ; f [ t + q ] != n ; ) l += f [ t + q ] , q ++ ; "H" == l ? l = b . sJUIHeader : "F" == l && ( l = b . sJUIFooter ) ; - 1 != l . indexOf ( "." ) ? ( n = l . split ( "." ) , i . id = n [ 0 ] . substr ( 1 , n [ 0 ] . length - 1 ) , i . className = n [ 1 ] ) : "#" == l . charAt ( 0 ) ? i . id = l . substr ( 1 , l . length - 1 ) : i . className = l ; t += q } e . append ( i ) ; e = h ( i ) } else if ( ">" == j ) e = e . parent ( ) ; else if ( "l" == j && d . bPaginate && d . bLengthChange ) g = ob ( a ) ; else if ( "f" == j && d . bFilter ) g = pb ( a ) ; else if ( "r" == j && d . bProcessing ) g = qb ( a ) ; else if ( "t" == j ) g = rb ( a ) ; else if ( "i" == j && d . bInfo ) g = sb ( a ) ; else if ( "p" ==
j && d . bPaginate ) g = tb ( a ) ; else if ( 0 !== m . ext . feature . length ) { i = m . ext . feature ; q = 0 ; for ( n = i . length ; q < n ; q ++ ) if ( j == i [ q ] . cFeature ) { g = i [ q ] . fnInit ( a ) ; break } } g && ( i = a . aanFeatures , i [ j ] || ( i [ j ] = [ ] ) , i [ j ] . push ( g ) , e . append ( g ) ) } c . replaceWith ( e ) ; a . nHolding = null } function da ( a , b ) { var c = h ( b ) . children ( "tr" ) , d , e , f , g , j , i , n , l , q , t ; a . splice ( 0 , a . length ) ; f = 0 ; for ( i = c . length ; f < i ; f ++ ) a . push ( [ ] ) ; f = 0 ; for ( i = c . length ; f < i ; f ++ ) { d = c [ f ] ; for ( e = d . firstChild ; e ; ) { if ( "TD" == e . nodeName . toUpperCase ( ) || "TH" == e . nodeName . toUpperCase ( ) ) { l = 1 * e . getAttribute ( "colspan" ) ;
q = 1 * e . getAttribute ( "rowspan" ) ; l = ! l || 0 === l || 1 === l ? 1 : l ; q = ! q || 0 === q || 1 === q ? 1 : q ; g = 0 ; for ( j = a [ f ] ; j [ g ] ; ) g ++ ; n = g ; t = 1 === l ? ! 0 : ! 1 ; for ( j = 0 ; j < l ; j ++ ) for ( g = 0 ; g < q ; g ++ ) a [ f + g ] [ n + j ] = { cell : e , unique : t } , a [ f + g ] . nTr = d } e = e . nextSibling } } } function qa ( a , b , c ) { var d = [ ] ; c || ( c = a . aoHeader , b && ( c = [ ] , da ( c , b ) ) ) ; for ( var b = 0 , e = c . length ; b < e ; b ++ ) for ( var f = 0 , g = c [ b ] . length ; f < g ; f ++ ) if ( c [ b ] [ f ] . unique && ( ! d [ f ] || ! a . bSortCellsTop ) ) d [ f ] = c [ b ] [ f ] . cell ; return d } function ra ( a , b , c ) { u ( a , "aoServerParams" , "serverParams" , [ b ] ) ; if ( b && h . isArray ( b ) ) { var d = { } ,
e = /(.*?)\[\]$/ ; h . each ( b , function ( a , b ) { var c = b . name . match ( e ) ; c ? ( c = c [ 0 ] , d [ c ] || ( d [ c ] = [ ] ) , d [ c ] . push ( b . value ) ) : d [ b . name ] = b . value } ) ; b = d } var f , g = a . ajax , j = a . oInstance , i = function ( b ) { u ( a , null , "xhr" , [ a , b , a . jqXHR ] ) ; c ( b ) } ; if ( h . isPlainObject ( g ) && g . data ) { f = g . data ; var n = h . isFunction ( f ) ? f ( b , a ) : f , b = h . isFunction ( f ) && n ? n : h . extend ( ! 0 , b , n ) ; delete g . data } n = { data : b , success : function ( b ) { var c = b . error || b . sError ; c && L ( a , 0 , c ) ; a . json = b ; i ( b ) } , dataType : "json" , cache : ! 1 , type : a . sServerMethod , error : function ( b , c ) { var d = u ( a , null , "xhr" ,
[ a , null , a . jqXHR ] ) ; - 1 === h . inArray ( ! 0 , d ) && ( "parsererror" == c ? L ( a , 0 , "Invalid JSON response" , 1 ) : 4 === b . readyState && L ( a , 0 , "Ajax error" , 7 ) ) ; C ( a , ! 1 ) } } ; a . oAjaxData = b ; u ( a , null , "preXhr" , [ a , b ] ) ; a . fnServerData ? a . fnServerData . call ( j , a . sAjaxSource , h . map ( b , function ( a , b ) { return { name : b , value : a } } ) , i , a ) : a . sAjaxSource || "string" === typeof g ? a . jqXHR = h . ajax ( h . extend ( n , { url : g || a . sAjaxSource } ) ) : h . isFunction ( g ) ? a . jqXHR = g . call ( j , b , i , a ) : ( a . jqXHR = h . ajax ( h . extend ( n , g ) ) , g . data = f ) } function lb ( a ) { return a . bAjaxDataGet ? ( a . iDraw ++ , C ( a ,
! 0 ) , ra ( a , ub ( a ) , function ( b ) { vb ( a , b ) } ) , ! 1 ) : ! 0 } function ub ( a ) { var b = a . aoColumns , c = b . length , d = a . oFeatures , e = a . oPreviousSearch , f = a . aoPreSearchCols , g , j = [ ] , i , n , l , q = V ( a ) ; g = a . _iDisplayStart ; i = ! 1 !== d . bPaginate ? a . _iDisplayLength : - 1 ; var k = function ( a , b ) { j . push ( { name : a , value : b } ) } ; k ( "sEcho" , a . iDraw ) ; k ( "iColumns" , c ) ; k ( "sColumns" , G ( b , "sName" ) . join ( "," ) ) ; k ( "iDisplayStart" , g ) ; k ( "iDisplayLength" , i ) ; var S = { draw : a . iDraw , columns : [ ] , order : [ ] , start : g , length : i , search : { value : e . sSearch , regex : e . bRegex } } ; for ( g = 0 ; g < c ; g ++ ) n = b [ g ] ,
l = f [ g ] , i = "function" == typeof n . mData ? "function" : n . mData , S . columns . push ( { data : i , name : n . sName , searchable : n . bSearchable , orderable : n . bSortable , search : { value : l . sSearch , regex : l . bRegex } } ) , k ( "mDataProp_" + g , i ) , d . bFilter && ( k ( "sSearch_" + g , l . sSearch ) , k ( "bRegex_" + g , l . bRegex ) , k ( "bSearchable_" + g , n . bSearchable ) ) , d . bSort && k ( "bSortable_" + g , n . bSortable ) ; d . bFilter && ( k ( "sSearch" , e . sSearch ) , k ( "bRegex" , e . bRegex ) ) ; d . bSort && ( h . each ( q , function ( a , b ) { S . order . push ( { column : b . col , dir : b . dir } ) ; k ( "iSortCol_" + a , b . col ) ; k ( "sSortDir_" +
a , b . dir ) } ) , k ( "iSortingCols" , q . length ) ) ; b = m . ext . legacy . ajax ; return null === b ? a . sAjaxSource ? j : S : b ? j : S } function vb ( a , b ) { var c = sa ( a , b ) , d = b . sEcho !== k ? b . sEcho : b . draw , e = b . iTotalRecords !== k ? b . iTotalRecords : b . recordsTotal , f = b . iTotalDisplayRecords !== k ? b . iTotalDisplayRecords : b . recordsFiltered ; if ( d ) { if ( 1 * d < a . iDraw ) return ; a . iDraw = 1 * d } na ( a ) ; a . _iRecordsTotal = parseInt ( e , 10 ) ; a . _iRecordsDisplay = parseInt ( f , 10 ) ; d = 0 ; for ( e = c . length ; d < e ; d ++ ) N ( a , c [ d ] ) ; a . aiDisplay = a . aiDisplayMaster . slice ( ) ; a . bAjaxDataGet = ! 1 ; O ( a ) ; a . _bInitComplete ||
ta ( a , b ) ; a . bAjaxDataGet = ! 0 ; C ( a , ! 1 ) } function sa ( a , b ) { var c = h . isPlainObject ( a . ajax ) && a . ajax . dataSrc !== k ? a . ajax . dataSrc : a . sAjaxDataProp ; return "data" === c ? b . aaData || b [ c ] : "" !== c ? Q ( c ) ( b ) : b } function pb ( a ) { var b = a . oClasses , c = a . sTableId , d = a . oLanguage , e = a . oPreviousSearch , f = a . aanFeatures , g = '<input type="search" class="' + b . sFilterInput + '"/>' , j = d . sSearch , j = j . match ( /_INPUT_/ ) ? j . replace ( "_INPUT_" , g ) : j + g , b = h ( "<div/>" , { id : ! f . f ? c + "_filter" : null , "class" : b . sFilter } ) . append ( h ( "<label/>" ) . append ( j ) ) , f = function ( ) { var b = ! this . value ?
"" : this . value ; b != e . sSearch && ( fa ( a , { sSearch : b , bRegex : e . bRegex , bSmart : e . bSmart , bCaseInsensitive : e . bCaseInsensitive } ) , a . _iDisplayStart = 0 , O ( a ) ) } , g = null !== a . searchDelay ? a . searchDelay : "ssp" === y ( a ) ? 400 : 0 , i = h ( "input" , b ) . val ( e . sSearch ) . attr ( "placeholder" , d . sSearchPlaceholder ) . bind ( "keyup.DT search.DT input.DT paste.DT cut.DT" , g ? Oa ( f , g ) : f ) . bind ( "keypress.DT" , function ( a ) { if ( 13 == a . keyCode ) return ! 1 } ) . attr ( "aria-controls" , c ) ; h ( a . nTable ) . on ( "search.dt.DT" , function ( b , c ) { if ( a === c ) try { i [ 0 ] !== I . activeElement && i . val ( e . sSearch ) } catch ( d ) { } } ) ;
return b [ 0 ] } function fa ( a , b , c ) { var d = a . oPreviousSearch , e = a . aoPreSearchCols , f = function ( a ) { d . sSearch = a . sSearch ; d . bRegex = a . bRegex ; d . bSmart = a . bSmart ; d . bCaseInsensitive = a . bCaseInsensitive } ; Ga ( a ) ; if ( "ssp" != y ( a ) ) { wb ( a , b . sSearch , c , b . bEscapeRegex !== k ? ! b . bEscapeRegex : b . bRegex , b . bSmart , b . bCaseInsensitive ) ; f ( b ) ; for ( b = 0 ; b < e . length ; b ++ ) xb ( a , e [ b ] . sSearch , b , e [ b ] . bEscapeRegex !== k ? ! e [ b ] . bEscapeRegex : e [ b ] . bRegex , e [ b ] . bSmart , e [ b ] . bCaseInsensitive ) ; yb ( a ) } else f ( b ) ; a . bFiltered = ! 0 ; u ( a , null , "search" , [ a ] ) } function yb ( a ) { for ( var b =
m . ext . search , c = a . aiDisplay , d , e , f = 0 , g = b . length ; f < g ; f ++ ) { for ( var j = [ ] , i = 0 , n = c . length ; i < n ; i ++ ) e = c [ i ] , d = a . aoData [ e ] , b [ f ] ( a , d . _aFilterData , e , d . _aData , i ) && j . push ( e ) ; c . length = 0 ; h . merge ( c , j ) } } function xb ( a , b , c , d , e , f ) { if ( "" !== b ) for ( var g = a . aiDisplay , d = Pa ( b , d , e , f ) , e = g . length - 1 ; 0 <= e ; e -- ) b = a . aoData [ g [ e ] ] . _aFilterData [ c ] , d . test ( b ) || g . splice ( e , 1 ) } function wb ( a , b , c , d , e , f ) { var d = Pa ( b , d , e , f ) , e = a . oPreviousSearch . sSearch , f = a . aiDisplayMaster , g ; 0 !== m . ext . search . length && ( c = ! 0 ) ; g = zb ( a ) ; if ( 0 >= b . length ) a . aiDisplay = f . slice ( ) ;
else { if ( g || c || e . length > b . length || 0 !== b . indexOf ( e ) || a . bSorted ) a . aiDisplay = f . slice ( ) ; b = a . aiDisplay ; for ( c = b . length - 1 ; 0 <= c ; c -- ) d . test ( a . aoData [ b [ c ] ] . _sFilterRow ) || b . splice ( c , 1 ) } } function Pa ( a , b , c , d ) { a = b ? a : Qa ( a ) ; c && ( a = "^(?=.*?" + h . map ( a . match ( /"[^"]+"|[^ ]+/g ) || [ "" ] , function ( a ) { if ( '"' === a . charAt ( 0 ) ) var b = a . match ( /^"(.*)"$/ ) , a = b ? b [ 1 ] : a ; return a . replace ( '"' , "" ) } ) . join ( ")(?=.*?" ) + ").*$" ) ; return RegExp ( a , d ? "i" : "" ) } function zb ( a ) { var b = a . aoColumns , c , d , e , f , g , j , i , h , l = m . ext . type . search ; c = ! 1 ; d = 0 ; for ( f = a . aoData . length ; d <
f ; d ++ ) if ( h = a . aoData [ d ] , ! h . _aFilterData ) { j = [ ] ; e = 0 ; for ( g = b . length ; e < g ; e ++ ) c = b [ e ] , c . bSearchable ? ( i = B ( a , d , e , "filter" ) , l [ c . sType ] && ( i = l [ c . sType ] ( i ) ) , null === i && ( i = "" ) , "string" !== typeof i && i . toString && ( i = i . toString ( ) ) ) : i = "" , i . indexOf && - 1 !== i . indexOf ( "&" ) && ( ua . innerHTML = i , i = Zb ? ua . textContent : ua . innerText ) , i . replace && ( i = i . replace ( /[\r\n]/g , "" ) ) , j . push ( i ) ; h . _aFilterData = j ; h . _sFilterRow = j . join ( " " ) ; c = ! 0 } return c } function Ab ( a ) { return { search : a . sSearch , smart : a . bSmart , regex : a . bRegex , caseInsensitive : a . bCaseInsensitive } }
function Bb ( a ) { return { sSearch : a . search , bSmart : a . smart , bRegex : a . regex , bCaseInsensitive : a . caseInsensitive } } function sb ( a ) { var b = a . sTableId , c = a . aanFeatures . i , d = h ( "<div/>" , { "class" : a . oClasses . sInfo , id : ! c ? b + "_info" : null } ) ; c || ( a . aoDrawCallback . push ( { fn : Cb , sName : "information" } ) , d . attr ( "role" , "status" ) . attr ( "aria-live" , "polite" ) , h ( a . nTable ) . attr ( "aria-describedby" , b + "_info" ) ) ; return d [ 0 ] } function Cb ( a ) { var b = a . aanFeatures . i ; if ( 0 !== b . length ) { var c = a . oLanguage , d = a . _iDisplayStart + 1 , e = a . fnDisplayEnd ( ) , f = a . fnRecordsTotal ( ) ,
g = a . fnRecordsDisplay ( ) , j = g ? c . sInfo : c . sInfoEmpty ; g !== f && ( j += " " + c . sInfoFiltered ) ; j += c . sInfoPostFix ; j = Db ( a , j ) ; c = c . fnInfoCallback ; null !== c && ( j = c . call ( a . oInstance , a , d , e , f , g , j ) ) ; h ( b ) . html ( j ) } } function Db ( a , b ) { var c = a . fnFormatNumber , d = a . _iDisplayStart + 1 , e = a . _iDisplayLength , f = a . fnRecordsDisplay ( ) , g = - 1 === e ; return b . replace ( /_START_/g , c . call ( a , d ) ) . replace ( /_END_/g , c . call ( a , a . fnDisplayEnd ( ) ) ) . replace ( /_MAX_/g , c . call ( a , a . fnRecordsTotal ( ) ) ) . replace ( /_TOTAL_/g , c . call ( a , f ) ) . replace ( /_PAGE_/g , c . call ( a , g ? 1 : Math . ceil ( d /
e ) ) ) . replace ( /_PAGES_/g , c . call ( a , g ? 1 : Math . ceil ( f / e ) ) ) } function ga ( a ) { var b , c , d = a . iInitDisplayStart , e = a . aoColumns , f ; c = a . oFeatures ; var g = a . bDeferLoading ; if ( a . bInitialised ) { nb ( a ) ; kb ( a ) ; ea ( a , a . aoHeader ) ; ea ( a , a . aoFooter ) ; C ( a , ! 0 ) ; c . bAutoWidth && Fa ( a ) ; b = 0 ; for ( c = e . length ; b < c ; b ++ ) f = e [ b ] , f . sWidth && ( f . nTh . style . width = x ( f . sWidth ) ) ; u ( a , null , "preInit" , [ a ] ) ; T ( a ) ; e = y ( a ) ; if ( "ssp" != e || g ) "ajax" == e ? ra ( a , [ ] , function ( c ) { var f = sa ( a , c ) ; for ( b = 0 ; b < f . length ; b ++ ) N ( a , f [ b ] ) ; a . iInitDisplayStart = d ; T ( a ) ; C ( a , ! 1 ) ; ta ( a , c ) } , a ) : ( C ( a , ! 1 ) ,
ta ( a ) ) } else setTimeout ( function ( ) { ga ( a ) } , 200 ) } function ta ( a , b ) { a . _bInitComplete = ! 0 ; ( b || a . oInit . aaData ) && Y ( a ) ; u ( a , null , "plugin-init" , [ a , b ] ) ; u ( a , "aoInitComplete" , "init" , [ a , b ] ) } function Ra ( a , b ) { var c = parseInt ( b , 10 ) ; a . _iDisplayLength = c ; Sa ( a ) ; u ( a , null , "length" , [ a , c ] ) } function ob ( a ) { for ( var b = a . oClasses , c = a . sTableId , d = a . aLengthMenu , e = h . isArray ( d [ 0 ] ) , f = e ? d [ 0 ] : d , d = e ? d [ 1 ] : d , e = h ( "<select/>" , { name : c + "_length" , "aria-controls" : c , "class" : b . sLengthSelect } ) , g = 0 , j = f . length ; g < j ; g ++ ) e [ 0 ] [ g ] = new Option ( d [ g ] , f [ g ] ) ; var i =
h ( "<div><label/></div>" ) . addClass ( b . sLength ) ; a . aanFeatures . l || ( i [ 0 ] . id = c + "_length" ) ; i . children ( ) . append ( a . oLanguage . sLengthMenu . replace ( "_MENU_" , e [ 0 ] . outerHTML ) ) ; h ( "select" , i ) . val ( a . _iDisplayLength ) . bind ( "change.DT" , function ( ) { Ra ( a , h ( this ) . val ( ) ) ; O ( a ) } ) ; h ( a . nTable ) . bind ( "length.dt.DT" , function ( b , c , d ) { a === c && h ( "select" , i ) . val ( d ) } ) ; return i [ 0 ] } function tb ( a ) { var b = a . sPaginationType , c = m . ext . pager [ b ] , d = "function" === typeof c , e = function ( a ) { O ( a ) } , b = h ( "<div/>" ) . addClass ( a . oClasses . sPaging + b ) [ 0 ] , f = a . aanFeatures ;
d || c . fnInit ( a , b , e ) ; f . p || ( b . id = a . sTableId + "_paginate" , a . aoDrawCallback . push ( { fn : function ( a ) { if ( d ) { var b = a . _iDisplayStart , i = a . _iDisplayLength , h = a . fnRecordsDisplay ( ) , l = - 1 === i , b = l ? 0 : Math . ceil ( b / i ) , i = l ? 1 : Math . ceil ( h / i ) , h = c ( b , i ) , k , l = 0 ; for ( k = f . p . length ; l < k ; l ++ ) Na ( a , "pageButton" ) ( a , f . p [ l ] , l , h , b , i ) } else c . fnUpdate ( a , e ) } , sName : "pagination" } ) ) ; return b } function Ta ( a , b , c ) { var d = a . _iDisplayStart , e = a . _iDisplayLength , f = a . fnRecordsDisplay ( ) ; 0 === f || - 1 === e ? d = 0 : "number" === typeof b ? ( d = b * e , d > f && ( d = 0 ) ) : "first" == b ? d = 0 :
"previous" == b ? ( d = 0 <= e ? d - e : 0 , 0 > d && ( d = 0 ) ) : "next" == b ? d + e < f && ( d += e ) : "last" == b ? d = Math . floor ( ( f - 1 ) / e ) * e : L ( a , 0 , "Unknown paging action: " + b , 5 ) ; b = a . _iDisplayStart !== d ; a . _iDisplayStart = d ; b && ( u ( a , null , "page" , [ a ] ) , c && O ( a ) ) ; return b } function qb ( a ) { return h ( "<div/>" , { id : ! a . aanFeatures . r ? a . sTableId + "_processing" : null , "class" : a . oClasses . sProcessing } ) . html ( a . oLanguage . sProcessing ) . insertBefore ( a . nTable ) [ 0 ] } function C ( a , b ) { a . oFeatures . bProcessing && h ( a . aanFeatures . r ) . css ( "display" , b ? "block" : "none" ) ; u ( a , null , "processing" ,
[ a , b ] ) } function rb ( a ) { var b = h ( a . nTable ) ; b . attr ( "role" , "grid" ) ; var c = a . oScroll ; if ( "" === c . sX && "" === c . sY ) return a . nTable ; var d = c . sX , e = c . sY , f = a . oClasses , g = b . children ( "caption" ) , j = g . length ? g [ 0 ] . _captionSide : null , i = h ( b [ 0 ] . cloneNode ( ! 1 ) ) , n = h ( b [ 0 ] . cloneNode ( ! 1 ) ) , l = b . children ( "tfoot" ) ; l . length || ( l = null ) ; i = h ( "<div/>" , { "class" : f . sScrollWrapper } ) . append ( h ( "<div/>" , { "class" : f . sScrollHead } ) . css ( { overflow : "hidden" , position : "relative" , border : 0 , width : d ? ! d ? null : x ( d ) : "100%" } ) . append ( h ( "<div/>" , { "class" : f . sScrollHeadInner } ) . css ( { "box-sizing" : "content-box" ,
width : c . sXInner || "100%" } ) . append ( i . removeAttr ( "id" ) . css ( "margin-left" , 0 ) . append ( "top" === j ? g : null ) . append ( b . children ( "thead" ) ) ) ) ) . append ( h ( "<div/>" , { "class" : f . sScrollBody } ) . css ( { position : "relative" , overflow : "auto" , width : ! d ? null : x ( d ) } ) . append ( b ) ) ; l && i . append ( h ( "<div/>" , { "class" : f . sScrollFoot } ) . css ( { overflow : "hidden" , border : 0 , width : d ? ! d ? null : x ( d ) : "100%" } ) . append ( h ( "<div/>" , { "class" : f . sScrollFootInner } ) . append ( n . removeAttr ( "id" ) . css ( "margin-left" , 0 ) . append ( "bottom" === j ? g : null ) . append ( b . children ( "tfoot" ) ) ) ) ) ;
var b = i . children ( ) , k = b [ 0 ] , f = b [ 1 ] , t = l ? b [ 2 ] : null ; if ( d ) h ( f ) . on ( "scroll.DT" , function ( ) { var a = this . scrollLeft ; k . scrollLeft = a ; l && ( t . scrollLeft = a ) } ) ; h ( f ) . css ( e && c . bCollapse ? "max-height" : "height" , e ) ; a . nScrollHead = k ; a . nScrollBody = f ; a . nScrollFoot = t ; a . aoDrawCallback . push ( { fn : ka , sName : "scrolling" } ) ; return i [ 0 ] } function ka ( a ) { var b = a . oScroll , c = b . sX , d = b . sXInner , e = b . sY , b = b . iBarWidth , f = h ( a . nScrollHead ) , g = f [ 0 ] . style , j = f . children ( "div" ) , i = j [ 0 ] . style , n = j . children ( "table" ) , j = a . nScrollBody , l = h ( j ) , q = j . style , t = h ( a . nScrollFoot ) . children ( "div" ) ,
m = t . children ( "table" ) , o = h ( a . nTHead ) , F = h ( a . nTable ) , p = F [ 0 ] , r = p . style , u = a . nTFoot ? h ( a . nTFoot ) : null , Eb = a . oBrowser , Ua = Eb . bScrollOversize , s = G ( a . aoColumns , "nTh" ) , P , v , w , y , z = [ ] , A = [ ] , B = [ ] , C = [ ] , D , E = function ( a ) { a = a . style ; a . paddingTop = "0" ; a . paddingBottom = "0" ; a . borderTopWidth = "0" ; a . borderBottomWidth = "0" ; a . height = 0 } ; v = j . scrollHeight > j . clientHeight ; if ( a . scrollBarVis !== v && a . scrollBarVis !== k ) a . scrollBarVis = v , Y ( a ) ; else { a . scrollBarVis = v ; F . children ( "thead, tfoot" ) . remove ( ) ; u && ( w = u . clone ( ) . prependTo ( F ) , P = u . find ( "tr" ) , w =
w . find ( "tr" ) ) ; y = o . clone ( ) . prependTo ( F ) ; o = o . find ( "tr" ) ; v = y . find ( "tr" ) ; y . find ( "th, td" ) . removeAttr ( "tabindex" ) ; c || ( q . width = "100%" , f [ 0 ] . style . width = "100%" ) ; h . each ( qa ( a , y ) , function ( b , c ) { D = Z ( a , b ) ; c . style . width = a . aoColumns [ D ] . sWidth } ) ; u && J ( function ( a ) { a . style . width = "" } , w ) ; f = F . outerWidth ( ) ; if ( "" === c ) { r . width = "100%" ; if ( Ua && ( F . find ( "tbody" ) . height ( ) > j . offsetHeight || "scroll" == l . css ( "overflow-y" ) ) ) r . width = x ( F . outerWidth ( ) - b ) ; f = F . outerWidth ( ) } else "" !== d && ( r . width = x ( d ) , f = F . outerWidth ( ) ) ; J ( E , v ) ; J ( function ( a ) { B . push ( a . innerHTML ) ;
z . push ( x ( h ( a ) . css ( "width" ) ) ) } , v ) ; J ( function ( a , b ) { if ( h . inArray ( a , s ) !== - 1 ) a . style . width = z [ b ] } , o ) ; h ( v ) . height ( 0 ) ; u && ( J ( E , w ) , J ( function ( a ) { C . push ( a . innerHTML ) ; A . push ( x ( h ( a ) . css ( "width" ) ) ) } , w ) , J ( function ( a , b ) { a . style . width = A [ b ] } , P ) , h ( w ) . height ( 0 ) ) ; J ( function ( a , b ) { a . innerHTML = '<div class="dataTables_sizing" style="height:0;overflow:hidden;">' + B [ b ] + "</div>" ; a . style . width = z [ b ] } , v ) ; u && J ( function ( a , b ) { a . innerHTML = '<div class="dataTables_sizing" style="height:0;overflow:hidden;">' + C [ b ] + "</div>" ; a . style . width =
A [ b ] } , w ) ; if ( F . outerWidth ( ) < f ) { P = j . scrollHeight > j . offsetHeight || "scroll" == l . css ( "overflow-y" ) ? f + b : f ; if ( Ua && ( j . scrollHeight > j . offsetHeight || "scroll" == l . css ( "overflow-y" ) ) ) r . width = x ( P - b ) ; ( "" === c || "" !== d ) && L ( a , 1 , "Possible column misalignment" , 6 ) } else P = "100%" ; q . width = x ( P ) ; g . width = x ( P ) ; u && ( a . nScrollFoot . style . width = x ( P ) ) ; ! e && Ua && ( q . height = x ( p . offsetHeight + b ) ) ; c = F . outerWidth ( ) ; n [ 0 ] . style . width = x ( c ) ; i . width = x ( c ) ; d = F . height ( ) > j . clientHeight || "scroll" == l . css ( "overflow-y" ) ; e = "padding" + ( Eb . bScrollbarLeft ? "Left" :
"Right" ) ; i [ e ] = d ? b + "px" : "0px" ; u && ( m [ 0 ] . style . width = x ( c ) , t [ 0 ] . style . width = x ( c ) , t [ 0 ] . style [ e ] = d ? b + "px" : "0px" ) ; F . children ( "colgroup" ) . insertBefore ( F . children ( "thead" ) ) ; l . scroll ( ) ; if ( ( a . bSorted || a . bFiltered ) && ! a . _drawHold ) j . scrollTop = 0 } } function J ( a , b , c ) { for ( var d = 0 , e = 0 , f = b . length , g , j ; e < f ; ) { g = b [ e ] . firstChild ; for ( j = c ? c [ e ] . firstChild : null ; g ; ) 1 === g . nodeType && ( c ? a ( g , j , d ) : a ( g , d ) , d ++ ) , g = g . nextSibling , j = c ? j . nextSibling : null ; e ++ } } function Fa ( a ) { var b = a . nTable , c = a . aoColumns , d = a . oScroll , e = d . sY , f = d . sX , g = d . sXInner ,
j = c . length , i = la ( a , "bVisible" ) , n = h ( "th" , a . nTHead ) , l = b . getAttribute ( "width" ) , k = b . parentNode , t = ! 1 , m , o , p = a . oBrowser , d = p . bScrollOversize ; ( m = b . style . width ) && - 1 !== m . indexOf ( "%" ) && ( l = m ) ; for ( m = 0 ; m < i . length ; m ++ ) o = c [ i [ m ] ] , null !== o . sWidth && ( o . sWidth = Fb ( o . sWidthOrig , k ) , t = ! 0 ) ; if ( d || ! t && ! f && ! e && j == aa ( a ) && j == n . length ) for ( m = 0 ; m < j ; m ++ ) i = Z ( a , m ) , null !== i && ( c [ i ] . sWidth = x ( n . eq ( m ) . width ( ) ) ) ; else { j = h ( b ) . clone ( ) . css ( "visibility" , "hidden" ) . removeAttr ( "id" ) ; j . find ( "tbody tr" ) . remove ( ) ; var r = h ( "<tr/>" ) . appendTo ( j . find ( "tbody" ) ) ;
j . find ( "thead, tfoot" ) . remove ( ) ; j . append ( h ( a . nTHead ) . clone ( ) ) . append ( h ( a . nTFoot ) . clone ( ) ) ; j . find ( "tfoot th, tfoot td" ) . css ( "width" , "" ) ; n = qa ( a , j . find ( "thead" ) [ 0 ] ) ; for ( m = 0 ; m < i . length ; m ++ ) o = c [ i [ m ] ] , n [ m ] . style . width = null !== o . sWidthOrig && "" !== o . sWidthOrig ? x ( o . sWidthOrig ) : "" , o . sWidthOrig && f && h ( n [ m ] ) . append ( h ( "<div/>" ) . css ( { width : o . sWidthOrig , margin : 0 , padding : 0 , border : 0 , height : 1 } ) ) ; if ( a . aoData . length ) for ( m = 0 ; m < i . length ; m ++ ) t = i [ m ] , o = c [ t ] , h ( Gb ( a , t ) ) . clone ( ! 1 ) . append ( o . sContentPadding ) . appendTo ( r ) ; h ( "[name]" ,
j ) . removeAttr ( "name" ) ; o = h ( "<div/>" ) . css ( f || e ? { position : "absolute" , top : 0 , left : 0 , height : 1 , right : 0 , overflow : "hidden" } : { } ) . append ( j ) . appendTo ( k ) ; f && g ? j . width ( g ) : f ? ( j . css ( "width" , "auto" ) , j . removeAttr ( "width" ) , j . width ( ) < k . clientWidth && l && j . width ( k . clientWidth ) ) : e ? j . width ( k . clientWidth ) : l && j . width ( l ) ; for ( m = e = 0 ; m < i . length ; m ++ ) k = h ( n [ m ] ) , g = k . outerWidth ( ) - k . width ( ) , k = p . bBounding ? Math . ceil ( n [ m ] . getBoundingClientRect ( ) . width ) : k . outerWidth ( ) , e += k , c [ i [ m ] ] . sWidth = x ( k - g ) ; b . style . width = x ( e ) ; o . remove ( ) } l && ( b . style . width =
x ( l ) ) ; if ( ( l || f ) && ! a . _reszEvt ) b = function ( ) { h ( D ) . bind ( "resize.DT-" + a . sInstance , Oa ( function ( ) { Y ( a ) } ) ) } , d ? setTimeout ( b , 1E3 ) : b ( ) , a . _reszEvt = ! 0 } function Fb ( a , b ) { if ( ! a ) return 0 ; var c = h ( "<div/>" ) . css ( "width" , x ( a ) ) . appendTo ( b || I . body ) , d = c [ 0 ] . offsetWidth ; c . remove ( ) ; return d } function Gb ( a , b ) { var c = Hb ( a , b ) ; if ( 0 > c ) return null ; var d = a . aoData [ c ] ; return ! d . nTr ? h ( "<td/>" ) . html ( B ( a , c , b , "display" ) ) [ 0 ] : d . anCells [ b ] } function Hb ( a , b ) { for ( var c , d = - 1 , e = - 1 , f = 0 , g = a . aoData . length ; f < g ; f ++ ) c = B ( a , f , b , "display" ) + "" , c = c . replace ( $b ,
"" ) , c = c . replace ( / /g , " " ) , c . length > d && ( d = c . length , e = f ) ; return e } function x ( a ) { return null === a ? "0px" : "number" == typeof a ? 0 > a ? "0px" : a + "px" : a . match ( /\d$/ ) ? a + "px" : a } function V ( a ) { var b , c , d = [ ] , e = a . aoColumns , f , g , j , i ; b = a . aaSortingFixed ; c = h . isPlainObject ( b ) ; var n = [ ] ; f = function ( a ) { a . length && ! h . isArray ( a [ 0 ] ) ? n . push ( a ) : h . merge ( n , a ) } ; h . isArray ( b ) && f ( b ) ; c && b . pre && f ( b . pre ) ; f ( a . aaSorting ) ; c && b . post && f ( b . post ) ; for ( a = 0 ; a < n . length ; a ++ ) { i = n [ a ] [ 0 ] ; f = e [ i ] . aDataSort ; b = 0 ; for ( c = f . length ; b < c ; b ++ ) g = f [ b ] , j = e [ g ] . sType ||
"string" , n [ a ] . _idx === k && ( n [ a ] . _idx = h . inArray ( n [ a ] [ 1 ] , e [ g ] . asSorting ) ) , d . push ( { src : i , col : g , dir : n [ a ] [ 1 ] , index : n [ a ] . _idx , type : j , formatter : m . ext . type . order [ j + "-pre" ] } ) } return d } function mb ( a ) { var b , c , d = [ ] , e = m . ext . type . order , f = a . aoData , g = 0 , j , i = a . aiDisplayMaster , h ; Ga ( a ) ; h = V ( a ) ; b = 0 ; for ( c = h . length ; b < c ; b ++ ) j = h [ b ] , j . formatter && g ++ , Ib ( a , j . col ) ; if ( "ssp" != y ( a ) && 0 !== h . length ) { b = 0 ; for ( c = i . length ; b < c ; b ++ ) d [ i [ b ] ] = b ; g === h . length ? i . sort ( function ( a , b ) { var c , e , g , j , i = h . length , k = f [ a ] . _aSortData , m = f [ b ] . _aSortData ; for ( g =
0 ; g < i ; g ++ ) if ( j = h [ g ] , c = k [ j . col ] , e = m [ j . col ] , c = c < e ? - 1 : c > e ? 1 : 0 , 0 !== c ) return "asc" === j . dir ? c : - c ; c = d [ a ] ; e = d [ b ] ; return c < e ? - 1 : c > e ? 1 : 0 } ) : i . sort ( function ( a , b ) { var c , g , j , i , k = h . length , m = f [ a ] . _aSortData , p = f [ b ] . _aSortData ; for ( j = 0 ; j < k ; j ++ ) if ( i = h [ j ] , c = m [ i . col ] , g = p [ i . col ] , i = e [ i . type + "-" + i . dir ] || e [ "string-" + i . dir ] , c = i ( c , g ) , 0 !== c ) return c ; c = d [ a ] ; g = d [ b ] ; return c < g ? - 1 : c > g ? 1 : 0 } ) } a . bSorted = ! 0 } function Jb ( a ) { for ( var b , c , d = a . aoColumns , e = V ( a ) , a = a . oLanguage . oAria , f = 0 , g = d . length ; f < g ; f ++ ) { c = d [ f ] ; var j = c . asSorting ; b = c . sTitle . replace ( /<.*?>/g ,
"" ) ; var i = c . nTh ; i . removeAttribute ( "aria-sort" ) ; c . bSortable && ( 0 < e . length && e [ 0 ] . col == f ? ( i . setAttribute ( "aria-sort" , "asc" == e [ 0 ] . dir ? "ascending" : "descending" ) , c = j [ e [ 0 ] . index + 1 ] || j [ 0 ] ) : c = j [ 0 ] , b += "asc" === c ? a . sSortAscending : a . sSortDescending ) ; i . setAttribute ( "aria-label" , b ) } } function Va ( a , b , c , d ) { var e = a . aaSorting , f = a . aoColumns [ b ] . asSorting , g = function ( a , b ) { var c = a . _idx ; c === k && ( c = h . inArray ( a [ 1 ] , f ) ) ; return c + 1 < f . length ? c + 1 : b ? null : 0 } ; "number" === typeof e [ 0 ] && ( e = a . aaSorting = [ e ] ) ; c && a . oFeatures . bSortMulti ? ( c = h . inArray ( b ,
G ( e , "0" ) ) , - 1 !== c ? ( b = g ( e [ c ] , ! 0 ) , null === b && 1 === e . length && ( b = 0 ) , null === b ? e . splice ( c , 1 ) : ( e [ c ] [ 1 ] = f [ b ] , e [ c ] . _idx = b ) ) : ( e . push ( [ b , f [ 0 ] , 0 ] ) , e [ e . length - 1 ] . _idx = 0 ) ) : e . length && e [ 0 ] [ 0 ] == b ? ( b = g ( e [ 0 ] ) , e . length = 1 , e [ 0 ] [ 1 ] = f [ b ] , e [ 0 ] . _idx = b ) : ( e . length = 0 , e . push ( [ b , f [ 0 ] ] ) , e [ 0 ] . _idx = 0 ) ; T ( a ) ; "function" == typeof d && d ( a ) } function Ma ( a , b , c , d ) { var e = a . aoColumns [ c ] ; Wa ( b , { } , function ( b ) { ! 1 !== e . bSortable && ( a . oFeatures . bProcessing ? ( C ( a , ! 0 ) , setTimeout ( function ( ) { Va ( a , c , b . shiftKey , d ) ; "ssp" !== y ( a ) && C ( a , ! 1 ) } , 0 ) ) : Va ( a , c , b . shiftKey , d ) ) } ) }
function va ( a ) { var b = a . aLastSort , c = a . oClasses . sSortColumn , d = V ( a ) , e = a . oFeatures , f , g ; if ( e . bSort && e . bSortClasses ) { e = 0 ; for ( f = b . length ; e < f ; e ++ ) g = b [ e ] . src , h ( G ( a . aoData , "anCells" , g ) ) . removeClass ( c + ( 2 > e ? e + 1 : 3 ) ) ; e = 0 ; for ( f = d . length ; e < f ; e ++ ) g = d [ e ] . src , h ( G ( a . aoData , "anCells" , g ) ) . addClass ( c + ( 2 > e ? e + 1 : 3 ) ) } a . aLastSort = d } function Ib ( a , b ) { var c = a . aoColumns [ b ] , d = m . ext . order [ c . sSortDataType ] , e ; d && ( e = d . call ( a . oInstance , a , b , $ ( a , b ) ) ) ; for ( var f , g = m . ext . type . order [ c . sType + "-pre" ] , j = 0 , i = a . aoData . length ; j < i ; j ++ ) if ( c = a . aoData [ j ] ,
c . _aSortData || ( c . _aSortData = [ ] ) , ! c . _aSortData [ b ] || d ) f = d ? e [ j ] : B ( a , j , b , "sort" ) , c . _aSortData [ b ] = g ? g ( f ) : f } function wa ( a ) { if ( a . oFeatures . bStateSave && ! a . bDestroying ) { var b = { time : + new Date , start : a . _iDisplayStart , length : a . _iDisplayLength , order : h . extend ( ! 0 , [ ] , a . aaSorting ) , search : Ab ( a . oPreviousSearch ) , columns : h . map ( a . aoColumns , function ( b , d ) { return { visible : b . bVisible , search : Ab ( a . aoPreSearchCols [ d ] ) } } ) } ; u ( a , "aoStateSaveParams" , "stateSaveParams" , [ a , b ] ) ; a . oSavedState = b ; a . fnStateSaveCallback . call ( a . oInstance , a ,
b ) } } function Kb ( a ) { var b , c , d = a . aoColumns ; if ( a . oFeatures . bStateSave ) { var e = a . fnStateLoadCallback . call ( a . oInstance , a ) ; if ( e && e . time && ( b = u ( a , "aoStateLoadParams" , "stateLoadParams" , [ a , e ] ) , - 1 === h . inArray ( ! 1 , b ) && ( b = a . iStateDuration , ! ( 0 < b && e . time < + new Date - 1E3 * b ) && d . length === e . columns . length ) ) ) { a . oLoadedState = h . extend ( ! 0 , { } , e ) ; e . start !== k && ( a . _iDisplayStart = e . start , a . iInitDisplayStart = e . start ) ; e . length !== k && ( a . _iDisplayLength = e . length ) ; e . order !== k && ( a . aaSorting = [ ] , h . each ( e . order , function ( b , c ) { a . aaSorting . push ( c [ 0 ] >=
d . length ? [ 0 , c [ 1 ] ] : c ) } ) ) ; e . search !== k && h . extend ( a . oPreviousSearch , Bb ( e . search ) ) ; b = 0 ; for ( c = e . columns . length ; b < c ; b ++ ) { var f = e . columns [ b ] ; f . visible !== k && ( d [ b ] . bVisible = f . visible ) ; f . search !== k && h . extend ( a . aoPreSearchCols [ b ] , Bb ( f . search ) ) } u ( a , "aoStateLoaded" , "stateLoaded" , [ a , e ] ) } } } function xa ( a ) { var b = m . settings , a = h . inArray ( a , G ( b , "nTable" ) ) ; return - 1 !== a ? b [ a ] : null } function L ( a , b , c , d ) { c = "DataTables warning: " + ( a ? "table id=" + a . sTableId + " - " : "" ) + c ; d && ( c += ". For more information about this error, please see http://datatables.net/tn/" +
d ) ; if ( b ) D . console && console . log && console . log ( c ) ; else if ( b = m . ext , b = b . sErrMode || b . errMode , a && u ( a , null , "error" , [ a , d , c ] ) , "alert" == b ) alert ( c ) ; else { if ( "throw" == b ) throw Error ( c ) ; "function" == typeof b && b ( a , d , c ) } } function E ( a , b , c , d ) { h . isArray ( c ) ? h . each ( c , function ( c , d ) { h . isArray ( d ) ? E ( a , b , d [ 0 ] , d [ 1 ] ) : E ( a , b , d ) } ) : ( d === k && ( d = c ) , b [ c ] !== k && ( a [ d ] = b [ c ] ) ) } function Lb ( a , b , c ) { var d , e ; for ( e in b ) b . hasOwnProperty ( e ) && ( d = b [ e ] , h . isPlainObject ( d ) ? ( h . isPlainObject ( a [ e ] ) || ( a [ e ] = { } ) , h . extend ( ! 0 , a [ e ] , d ) ) : a [ e ] = c && "data" !== e && "aaData" !==
e && h . isArray ( d ) ? d . slice ( ) : d ) ; return a } function Wa ( a , b , c ) { h ( a ) . bind ( "click.DT" , b , function ( b ) { a . blur ( ) ; c ( b ) } ) . bind ( "keypress.DT" , b , function ( a ) { 13 === a . which && ( a . preventDefault ( ) , c ( a ) ) } ) . bind ( "selectstart.DT" , function ( ) { return ! 1 } ) } function z ( a , b , c , d ) { c && a [ b ] . push ( { fn : c , sName : d } ) } function u ( a , b , c , d ) { var e = [ ] ; b && ( e = h . map ( a [ b ] . slice ( ) . reverse ( ) , function ( b ) { return b . fn . apply ( a . oInstance , d ) } ) ) ; null !== c && ( b = h . Event ( c + ".dt" ) , h ( a . nTable ) . trigger ( b , d ) , e . push ( b . result ) ) ; return e } function Sa ( a ) { var b = a . _iDisplayStart ,
c = a . fnDisplayEnd ( ) , d = a . _iDisplayLength ; b >= c && ( b = c - d ) ; b -= b % d ; if ( - 1 === d || 0 > b ) b = 0 ; a . _iDisplayStart = b } function Na ( a , b ) { var c = a . renderer , d = m . ext . renderer [ b ] ; return h . isPlainObject ( c ) && c [ b ] ? d [ c [ b ] ] || d . _ : "string" === typeof c ? d [ c ] || d . _ : d . _ } function y ( a ) { return a . oFeatures . bServerSide ? "ssp" : a . ajax || a . sAjaxSource ? "ajax" : "dom" } function ya ( a , b ) { var c = [ ] , c = Mb . numbers _length , d = Math . floor ( c / 2 ) ; b <= c ? c = W ( 0 , b ) : a <= d ? ( c = W ( 0 , c - 2 ) , c . push ( "ellipsis" ) , c . push ( b - 1 ) ) : ( a >= b - 1 - d ? c = W ( b - ( c - 2 ) , b ) : ( c = W ( a - d + 2 , a + d - 1 ) , c . push ( "ellipsis" ) ,
c . push ( b - 1 ) ) , c . splice ( 0 , 0 , "ellipsis" ) , c . splice ( 0 , 0 , 0 ) ) ; c . DT _el = "span" ; return c } function db ( a ) { h . each ( { num : function ( b ) { return za ( b , a ) } , "num-fmt" : function ( b ) { return za ( b , a , Xa ) } , "html-num" : function ( b ) { return za ( b , a , Aa ) } , "html-num-fmt" : function ( b ) { return za ( b , a , Aa , Xa ) } } , function ( b , c ) { v . type . order [ b + a + "-pre" ] = c ; b . match ( /^html\-/ ) && ( v . type . search [ b + a ] = v . type . search . html ) } ) } function Nb ( a ) { return function ( ) { var b = [ xa ( this [ m . ext . iApiIndex ] ) ] . concat ( Array . prototype . slice . call ( arguments ) ) ; return m . ext . internal [ a ] . apply ( this ,
b ) } } var m = function ( a ) { this . $ = function ( a , b ) { return this . api ( ! 0 ) . $ ( a , b ) } ; this . _ = function ( a , b ) { return this . api ( ! 0 ) . rows ( a , b ) . data ( ) } ; this . api = function ( a ) { return a ? new r ( xa ( this [ v . iApiIndex ] ) ) : new r ( this ) } ; this . fnAddData = function ( a , b ) { var c = this . api ( ! 0 ) , d = h . isArray ( a ) && ( h . isArray ( a [ 0 ] ) || h . isPlainObject ( a [ 0 ] ) ) ? c . rows . add ( a ) : c . row . add ( a ) ; ( b === k || b ) && c . draw ( ) ; return d . flatten ( ) . toArray ( ) } ; this . fnAdjustColumnSizing = function ( a ) { var b = this . api ( ! 0 ) . columns . adjust ( ) , c = b . settings ( ) [ 0 ] , d = c . oScroll ; a === k || a ? b . draw ( ! 1 ) :
( "" !== d . sX || "" !== d . sY ) && ka ( c ) } ; this . fnClearTable = function ( a ) { var b = this . api ( ! 0 ) . clear ( ) ; ( a === k || a ) && b . draw ( ) } ; this . fnClose = function ( a ) { this . api ( ! 0 ) . row ( a ) . child . hide ( ) } ; this . fnDeleteRow = function ( a , b , c ) { var d = this . api ( ! 0 ) , a = d . rows ( a ) , e = a . settings ( ) [ 0 ] , h = e . aoData [ a [ 0 ] [ 0 ] ] ; a . remove ( ) ; b && b . call ( this , e , h ) ; ( c === k || c ) && d . draw ( ) ; return h } ; this . fnDestroy = function ( a ) { this . api ( ! 0 ) . destroy ( a ) } ; this . fnDraw = function ( a ) { this . api ( ! 0 ) . draw ( a ) } ; this . fnFilter = function ( a , b , c , d , e , h ) { e = this . api ( ! 0 ) ; null === b || b === k ? e . search ( a ,
c , d , h ) : e . column ( b ) . search ( a , c , d , h ) ; e . draw ( ) } ; this . fnGetData = function ( a , b ) { var c = this . api ( ! 0 ) ; if ( a !== k ) { var d = a . nodeName ? a . nodeName . toLowerCase ( ) : "" ; return b !== k || "td" == d || "th" == d ? c . cell ( a , b ) . data ( ) : c . row ( a ) . data ( ) || null } return c . data ( ) . toArray ( ) } ; this . fnGetNodes = function ( a ) { var b = this . api ( ! 0 ) ; return a !== k ? b . row ( a ) . node ( ) : b . rows ( ) . nodes ( ) . flatten ( ) . toArray ( ) } ; this . fnGetPosition = function ( a ) { var b = this . api ( ! 0 ) , c = a . nodeName . toUpperCase ( ) ; return "TR" == c ? b . row ( a ) . index ( ) : "TD" == c || "TH" == c ? ( a = b . cell ( a ) . index ( ) ,
[ a . row , a . columnVisible , a . column ] ) : null } ; this . fnIsOpen = function ( a ) { return this . api ( ! 0 ) . row ( a ) . child . isShown ( ) } ; this . fnOpen = function ( a , b , c ) { return this . api ( ! 0 ) . row ( a ) . child ( b , c ) . show ( ) . child ( ) [ 0 ] } ; this . fnPageChange = function ( a , b ) { var c = this . api ( ! 0 ) . page ( a ) ; ( b === k || b ) && c . draw ( ! 1 ) } ; this . fnSetColumnVis = function ( a , b , c ) { a = this . api ( ! 0 ) . column ( a ) . visible ( b ) ; ( c === k || c ) && a . columns . adjust ( ) . draw ( ) } ; this . fnSettings = function ( ) { return xa ( this [ v . iApiIndex ] ) } ; this . fnSort = function ( a ) { this . api ( ! 0 ) . order ( a ) . draw ( ) } ; this . fnSortListener =
function ( a , b , c ) { this . api ( ! 0 ) . order . listener ( a , b , c ) } ; this . fnUpdate = function ( a , b , c , d , e ) { var h = this . api ( ! 0 ) ; c === k || null === c ? h . row ( b ) . data ( a ) : h . cell ( b , c ) . data ( a ) ; ( e === k || e ) && h . columns . adjust ( ) ; ( d === k || d ) && h . draw ( ) ; return 0 } ; this . fnVersionCheck = v . fnVersionCheck ; var b = this , c = a === k , d = this . length ; c && ( a = { } ) ; this . oApi = this . internal = v . internal ; for ( var e in m . ext . internal ) e && ( this [ e ] = Nb ( e ) ) ; this . each ( function ( ) { var e = { } , e = 1 < d ? Lb ( e , a , ! 0 ) : a , g = 0 , j , i = this . getAttribute ( "id" ) , n = ! 1 , l = m . defaults , q = h ( this ) ; if ( "table" !=
this . nodeName . toLowerCase ( ) ) L ( null , 0 , "Non-table node initialisation (" + this . nodeName + ")" , 2 ) ; else { eb ( l ) ; fb ( l . column ) ; K ( l , l , ! 0 ) ; K ( l . column , l . column , ! 0 ) ; K ( l , h . extend ( e , q . data ( ) ) ) ; var t = m . settings , g = 0 ; for ( j = t . length ; g < j ; g ++ ) { var p = t [ g ] ; if ( p . nTable == this || p . nTHead . parentNode == this || p . nTFoot && p . nTFoot . parentNode == this ) { g = e . bRetrieve !== k ? e . bRetrieve : l . bRetrieve ; if ( c || g ) return p . oInstance ; if ( e . bDestroy !== k ? e . bDestroy : l . bDestroy ) { p . oInstance . fnDestroy ( ) ; break } else { L ( p , 0 , "Cannot reinitialise DataTable" , 3 ) ;
return } } if ( p . sTableId == this . id ) { t . splice ( g , 1 ) ; break } } if ( null === i || "" === i ) this . id = i = "DataTables_Table_" + m . ext . _unique ++ ; var o = h . extend ( ! 0 , { } , m . models . oSettings , { sDestroyWidth : q [ 0 ] . style . width , sInstance : i , sTableId : i } ) ; o . nTable = this ; o . oApi = b . internal ; o . oInit = e ; t . push ( o ) ; o . oInstance = 1 === b . length ? b : q . dataTable ( ) ; eb ( e ) ; e . oLanguage && Da ( e . oLanguage ) ; e . aLengthMenu && ! e . iDisplayLength && ( e . iDisplayLength = h . isArray ( e . aLengthMenu [ 0 ] ) ? e . aLengthMenu [ 0 ] [ 0 ] : e . aLengthMenu [ 0 ] ) ; e = Lb ( h . extend ( ! 0 , { } , l ) , e ) ; E ( o . oFeatures ,
e , "bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender" . split ( " " ) ) ; E ( o , e , [ "asStripeClasses" , "ajax" , "fnServerData" , "fnFormatNumber" , "sServerMethod" , "aaSorting" , "aaSortingFixed" , "aLengthMenu" , "sPaginationType" , "sAjaxSource" , "sAjaxDataProp" , "iStateDuration" , "sDom" , "bSortCellsTop" , "iTabIndex" , "fnStateLoadCallback" , "fnStateSaveCallback" , "renderer" , "searchDelay" , "rowId" , [ "iCookieDuration" , "iStateDuration" ] , [ "oSearch" , "oPreviousSearch" ] , [ "aoSearchCols" ,
"aoPreSearchCols" ] , [ "iDisplayLength" , "_iDisplayLength" ] , [ "bJQueryUI" , "bJUI" ] ] ) ; E ( o . oScroll , e , [ [ "sScrollX" , "sX" ] , [ "sScrollXInner" , "sXInner" ] , [ "sScrollY" , "sY" ] , [ "bScrollCollapse" , "bCollapse" ] ] ) ; E ( o . oLanguage , e , "fnInfoCallback" ) ; z ( o , "aoDrawCallback" , e . fnDrawCallback , "user" ) ; z ( o , "aoServerParams" , e . fnServerParams , "user" ) ; z ( o , "aoStateSaveParams" , e . fnStateSaveParams , "user" ) ; z ( o , "aoStateLoadParams" , e . fnStateLoadParams , "user" ) ; z ( o , "aoStateLoaded" , e . fnStateLoaded , "user" ) ; z ( o , "aoRowCallback" , e . fnRowCallback ,
"user" ) ; z ( o , "aoRowCreatedCallback" , e . fnCreatedRow , "user" ) ; z ( o , "aoHeaderCallback" , e . fnHeaderCallback , "user" ) ; z ( o , "aoFooterCallback" , e . fnFooterCallback , "user" ) ; z ( o , "aoInitComplete" , e . fnInitComplete , "user" ) ; z ( o , "aoPreDrawCallback" , e . fnPreDrawCallback , "user" ) ; o . rowIdFn = Q ( e . rowId ) ; gb ( o ) ; i = o . oClasses ; e . bJQueryUI ? ( h . extend ( i , m . ext . oJUIClasses , e . oClasses ) , e . sDom === l . sDom && "lfrtip" === l . sDom && ( o . sDom = '<"H"lfr>t<"F"ip>' ) , o . renderer ) ? h . isPlainObject ( o . renderer ) && ! o . renderer . header && ( o . renderer . header = "jqueryui" ) :
o . renderer = "jqueryui" : h . extend ( i , m . ext . classes , e . oClasses ) ; q . addClass ( i . sTable ) ; o . iInitDisplayStart === k && ( o . iInitDisplayStart = e . iDisplayStart , o . _iDisplayStart = e . iDisplayStart ) ; null !== e . iDeferLoading && ( o . bDeferLoading = ! 0 , g = h . isArray ( e . iDeferLoading ) , o . _iRecordsDisplay = g ? e . iDeferLoading [ 0 ] : e . iDeferLoading , o . _iRecordsTotal = g ? e . iDeferLoading [ 1 ] : e . iDeferLoading ) ; var r = o . oLanguage ; h . extend ( ! 0 , r , e . oLanguage ) ; "" !== r . sUrl && ( h . ajax ( { dataType : "json" , url : r . sUrl , success : function ( a ) { Da ( a ) ; K ( l . oLanguage , a ) ; h . extend ( true ,
r , a ) ; ga ( o ) } , error : function ( ) { ga ( o ) } } ) , n = ! 0 ) ; null === e . asStripeClasses && ( o . asStripeClasses = [ i . sStripeOdd , i . sStripeEven ] ) ; var g = o . asStripeClasses , v = q . children ( "tbody" ) . find ( "tr" ) . eq ( 0 ) ; - 1 !== h . inArray ( ! 0 , h . map ( g , function ( a ) { return v . hasClass ( a ) } ) ) && ( h ( "tbody tr" , this ) . removeClass ( g . join ( " " ) ) , o . asDestroyStripes = g . slice ( ) ) ; t = [ ] ; g = this . getElementsByTagName ( "thead" ) ; 0 !== g . length && ( da ( o . aoHeader , g [ 0 ] ) , t = qa ( o ) ) ; if ( null === e . aoColumns ) { p = [ ] ; g = 0 ; for ( j = t . length ; g < j ; g ++ ) p . push ( null ) } else p = e . aoColumns ; g = 0 ; for ( j =
p . length ; g < j ; g ++ ) Ea ( o , t ? t [ g ] : null ) ; ib ( o , e . aoColumnDefs , p , function ( a , b ) { ja ( o , a , b ) } ) ; if ( v . length ) { var s = function ( a , b ) { return a . getAttribute ( "data-" + b ) !== null ? b : null } ; h ( v [ 0 ] ) . children ( "th, td" ) . each ( function ( a , b ) { var c = o . aoColumns [ a ] ; if ( c . mData === a ) { var d = s ( b , "sort" ) || s ( b , "order" ) , e = s ( b , "filter" ) || s ( b , "search" ) ; if ( d !== null || e !== null ) { c . mData = { _ : a + ".display" , sort : d !== null ? a + ".@data-" + d : k , type : d !== null ? a + ".@data-" + d : k , filter : e !== null ? a + ".@data-" + e : k } ; ja ( o , a ) } } } ) } var w = o . oFeatures ; e . bStateSave && ( w . bStateSave =
! 0 , Kb ( o , e ) , z ( o , "aoDrawCallback" , wa , "state_save" ) ) ; if ( e . aaSorting === k ) { t = o . aaSorting ; g = 0 ; for ( j = t . length ; g < j ; g ++ ) t [ g ] [ 1 ] = o . aoColumns [ g ] . asSorting [ 0 ] } va ( o ) ; w . bSort && z ( o , "aoDrawCallback" , function ( ) { if ( o . bSorted ) { var a = V ( o ) , b = { } ; h . each ( a , function ( a , c ) { b [ c . src ] = c . dir } ) ; u ( o , null , "order" , [ o , a , b ] ) ; Jb ( o ) } } ) ; z ( o , "aoDrawCallback" , function ( ) { ( o . bSorted || y ( o ) === "ssp" || w . bDeferRender ) && va ( o ) } , "sc" ) ; g = q . children ( "caption" ) . each ( function ( ) { this . _captionSide = q . css ( "caption-side" ) } ) ; j = q . children ( "thead" ) ; 0 === j . length &&
( j = h ( "<thead/>" ) . appendTo ( this ) ) ; o . nTHead = j [ 0 ] ; j = q . children ( "tbody" ) ; 0 === j . length && ( j = h ( "<tbody/>" ) . appendTo ( this ) ) ; o . nTBody = j [ 0 ] ; j = q . children ( "tfoot" ) ; if ( 0 === j . length && 0 < g . length && ( "" !== o . oScroll . sX || "" !== o . oScroll . sY ) ) j = h ( "<tfoot/>" ) . appendTo ( this ) ; 0 === j . length || 0 === j . children ( ) . length ? q . addClass ( i . sNoFooter ) : 0 < j . length && ( o . nTFoot = j [ 0 ] , da ( o . aoFooter , o . nTFoot ) ) ; if ( e . aaData ) for ( g = 0 ; g < e . aaData . length ; g ++ ) N ( o , e . aaData [ g ] ) ; else ( o . bDeferLoading || "dom" == y ( o ) ) && ma ( o , h ( o . nTBody ) . children ( "tr" ) ) ; o . aiDisplay =
o . aiDisplayMaster . slice ( ) ; o . bInitialised = ! 0 ; ! 1 === n && ga ( o ) } } ) ; b = null ; return this } , v , r , p , s , Ya = { } , Ob = /[\r\n]/g , Aa = /<.*?>/g , ac = /^[\w\+\-]/ , bc = /[\w\+\-]$/ , cc = RegExp ( "(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)" , "g" ) , Xa = /[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi , M = function ( a ) { return ! a || ! 0 === a || "-" === a ? ! 0 : ! 1 } , Pb = function ( a ) { var b = parseInt ( a , 10 ) ; return ! isNaN ( b ) && isFinite ( a ) ? b : null } , Qb = function ( a , b ) { Ya [ b ] || ( Ya [ b ] = RegExp ( Qa ( b ) , "g" ) ) ; return "string" === typeof a && "." !== b ? a . replace ( /\./g ,
"" ) . replace ( Ya [ b ] , "." ) : a } , Za = function ( a , b , c ) { var d = "string" === typeof a ; if ( M ( a ) ) return ! 0 ; b && d && ( a = Qb ( a , b ) ) ; c && d && ( a = a . replace ( Xa , "" ) ) ; return ! isNaN ( parseFloat ( a ) ) && isFinite ( a ) } , Rb = function ( a , b , c ) { return M ( a ) ? ! 0 : ! ( M ( a ) || "string" === typeof a ) ? null : Za ( a . replace ( Aa , "" ) , b , c ) ? ! 0 : null } , G = function ( a , b , c ) { var d = [ ] , e = 0 , f = a . length ; if ( c !== k ) for ( ; e < f ; e ++ ) a [ e ] && a [ e ] [ b ] && d . push ( a [ e ] [ b ] [ c ] ) ; else for ( ; e < f ; e ++ ) a [ e ] && d . push ( a [ e ] [ b ] ) ; return d } , ha = function ( a , b , c , d ) { var e = [ ] , f = 0 , g = b . length ; if ( d !== k ) for ( ; f < g ; f ++ ) a [ b [ f ] ] [ c ] &&
e . push ( a [ b [ f ] ] [ c ] [ d ] ) ; else for ( ; f < g ; f ++ ) e . push ( a [ b [ f ] ] [ c ] ) ; return e } , W = function ( a , b ) { var c = [ ] , d ; b === k ? ( b = 0 , d = a ) : ( d = b , b = a ) ; for ( var e = b ; e < d ; e ++ ) c . push ( e ) ; return c } , Sb = function ( a ) { for ( var b = [ ] , c = 0 , d = a . length ; c < d ; c ++ ) a [ c ] && b . push ( a [ c ] ) ; return b } , pa = function ( a ) { var b = [ ] , c , d , e = a . length , f , g = 0 ; d = 0 ; a : for ( ; d < e ; d ++ ) { c = a [ d ] ; for ( f = 0 ; f < g ; f ++ ) if ( b [ f ] === c ) continue a ; b . push ( c ) ; g ++ } return b } ; m . util = { throttle : function ( a , b ) { var c = b !== k ? b : 200 , d , e ; return function ( ) { var b = this , g = + new Date , h = arguments ; d && g < d + c ? ( clearTimeout ( e ) ,
e = setTimeout ( function ( ) { d = k ; a . apply ( b , h ) } , c ) ) : ( d = g , a . apply ( b , h ) ) } } , escapeRegex : function ( a ) { return a . replace ( cc , "\\$1" ) } } ; var A = function ( a , b , c ) { a [ b ] !== k && ( a [ c ] = a [ b ] ) } , ba = /\[.*?\]$/ , U = /\(\)$/ , Qa = m . util . escapeRegex , ua = h ( "<div>" ) [ 0 ] , Zb = ua . textContent !== k , $b = /<.*?>/g , Oa = m . util . throttle , Tb = [ ] , w = Array . prototype , dc = function ( a ) { var b , c , d = m . settings , e = h . map ( d , function ( a ) { return a . nTable } ) ; if ( a ) { if ( a . nTable && a . oApi ) return [ a ] ; if ( a . nodeName && "table" === a . nodeName . toLowerCase ( ) ) return b = h . inArray ( a , e ) , - 1 !== b ? [ d [ b ] ] :
null ; if ( a && "function" === typeof a . settings ) return a . settings ( ) . toArray ( ) ; "string" === typeof a ? c = h ( a ) : a instanceof h && ( c = a ) } else return [ ] ; if ( c ) return c . map ( function ( ) { b = h . inArray ( this , e ) ; return - 1 !== b ? d [ b ] : null } ) . toArray ( ) } ; r = function ( a , b ) { if ( ! ( this instanceof r ) ) return new r ( a , b ) ; var c = [ ] , d = function ( a ) { ( a = dc ( a ) ) && ( c = c . concat ( a ) ) } ; if ( h . isArray ( a ) ) for ( var e = 0 , f = a . length ; e < f ; e ++ ) d ( a [ e ] ) ; else d ( a ) ; this . context = pa ( c ) ; b && h . merge ( this , b ) ; this . selector = { rows : null , cols : null , opts : null } ; r . extend ( this , this , Tb ) } ;
m . Api = r ; h . extend ( r . prototype , { any : function ( ) { return 0 !== this . count ( ) } , concat : w . concat , context : [ ] , count : function ( ) { return this . flatten ( ) . length } , each : function ( a ) { for ( var b = 0 , c = this . length ; b < c ; b ++ ) a . call ( this , this [ b ] , b , this ) ; return this } , eq : function ( a ) { var b = this . context ; return b . length > a ? new r ( b [ a ] , this [ a ] ) : null } , filter : function ( a ) { var b = [ ] ; if ( w . filter ) b = w . filter . call ( this , a , this ) ; else for ( var c = 0 , d = this . length ; c < d ; c ++ ) a . call ( this , this [ c ] , c , this ) && b . push ( this [ c ] ) ; return new r ( this . context , b ) } , flatten : function ( ) { var a =
[ ] ; return new r ( this . context , a . concat . apply ( a , this . toArray ( ) ) ) } , join : w . join , indexOf : w . indexOf || function ( a , b ) { for ( var c = b || 0 , d = this . length ; c < d ; c ++ ) if ( this [ c ] === a ) return c ; return - 1 } , iterator : function ( a , b , c , d ) { var e = [ ] , f , g , h , i , n , l = this . context , m , t , p = this . selector ; "string" === typeof a && ( d = c , c = b , b = a , a = ! 1 ) ; g = 0 ; for ( h = l . length ; g < h ; g ++ ) { var o = new r ( l [ g ] ) ; if ( "table" === b ) f = c . call ( o , l [ g ] , g ) , f !== k && e . push ( f ) ; else if ( "columns" === b || "rows" === b ) f = c . call ( o , l [ g ] , this [ g ] , g ) , f !== k && e . push ( f ) ; else if ( "column" === b || "column-rows" ===
b || "row" === b || "cell" === b ) { t = this [ g ] ; "column-rows" === b && ( m = Ba ( l [ g ] , p . opts ) ) ; i = 0 ; for ( n = t . length ; i < n ; i ++ ) f = t [ i ] , f = "cell" === b ? c . call ( o , l [ g ] , f . row , f . column , g , i ) : c . call ( o , l [ g ] , f , g , i , m ) , f !== k && e . push ( f ) } } return e . length || d ? ( a = new r ( l , a ? e . concat . apply ( [ ] , e ) : e ) , b = a . selector , b . rows = p . rows , b . cols = p . cols , b . opts = p . opts , a ) : this } , lastIndexOf : w . lastIndexOf || function ( a , b ) { return this . indexOf . apply ( this . toArray . reverse ( ) , arguments ) } , length : 0 , map : function ( a ) { var b = [ ] ; if ( w . map ) b = w . map . call ( this , a , this ) ; else for ( var c =
0 , d = this . length ; c < d ; c ++ ) b . push ( a . call ( this , this [ c ] , c ) ) ; return new r ( this . context , b ) } , pluck : function ( a ) { return this . map ( function ( b ) { return b [ a ] } ) } , pop : w . pop , push : w . push , reduce : w . reduce || function ( a , b ) { return hb ( this , a , b , 0 , this . length , 1 ) } , reduceRight : w . reduceRight || function ( a , b ) { return hb ( this , a , b , this . length - 1 , - 1 , - 1 ) } , reverse : w . reverse , selector : null , shift : w . shift , sort : w . sort , splice : w . splice , toArray : function ( ) { return w . slice . call ( this ) } , to$ : function ( ) { return h ( this ) } , toJQuery : function ( ) { return h ( this ) } ,
unique : function ( ) { return new r ( this . context , pa ( this ) ) } , unshift : w . unshift } ) ; r . extend = function ( a , b , c ) { if ( c . length && b && ( b instanceof r || b . _ _dt _wrapper ) ) { var d , e , f , g = function ( a , b , c ) { return function ( ) { var d = b . apply ( a , arguments ) ; r . extend ( d , d , c . methodExt ) ; return d } } ; d = 0 ; for ( e = c . length ; d < e ; d ++ ) f = c [ d ] , b [ f . name ] = "function" === typeof f . val ? g ( a , f . val , f ) : h . isPlainObject ( f . val ) ? { } : f . val , b [ f . name ] . _ _dt _wrapper = ! 0 , r . extend ( a , b [ f . name ] , f . propExt ) } } ; r . register = p = function ( a , b ) { if ( h . isArray ( a ) ) for ( var c = 0 , d = a . length ; c <
d ; c ++ ) r . register ( a [ c ] , b ) ; else for ( var e = a . split ( "." ) , f = Tb , g , j , c = 0 , d = e . length ; c < d ; c ++ ) { g = ( j = - 1 !== e [ c ] . indexOf ( "()" ) ) ? e [ c ] . replace ( "()" , "" ) : e [ c ] ; var i ; a : { i = 0 ; for ( var n = f . length ; i < n ; i ++ ) if ( f [ i ] . name === g ) { i = f [ i ] ; break a } i = null } i || ( i = { name : g , val : { } , methodExt : [ ] , propExt : [ ] } , f . push ( i ) ) ; c === d - 1 ? i . val = b : f = j ? i . methodExt : i . propExt } } ; r . registerPlural = s = function ( a , b , c ) { r . register ( a , c ) ; r . register ( b , function ( ) { var a = c . apply ( this , arguments ) ; return a === this ? this : a instanceof r ? a . length ? h . isArray ( a [ 0 ] ) ? new r ( a . context ,
a [ 0 ] ) : a [ 0 ] : k : a } ) } ; p ( "tables()" , function ( a ) { var b ; if ( a ) { b = r ; var c = this . context ; if ( "number" === typeof a ) a = [ c [ a ] ] ; else var d = h . map ( c , function ( a ) { return a . nTable } ) , a = h ( d ) . filter ( a ) . map ( function ( ) { var a = h . inArray ( this , d ) ; return c [ a ] } ) . toArray ( ) ; b = new b ( a ) } else b = this ; return b } ) ; p ( "table()" , function ( a ) { var a = this . tables ( a ) , b = a . context ; return b . length ? new r ( b [ 0 ] ) : a } ) ; s ( "tables().nodes()" , "table().node()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTable } , 1 ) } ) ; s ( "tables().body()" , "table().body()" ,
function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTBody } , 1 ) } ) ; s ( "tables().header()" , "table().header()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTHead } , 1 ) } ) ; s ( "tables().footer()" , "table().footer()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTFoot } , 1 ) } ) ; s ( "tables().containers()" , "table().container()" , function ( ) { return this . iterator ( "table" , function ( a ) { return a . nTableWrapper } , 1 ) } ) ; p ( "draw()" , function ( a ) { return this . iterator ( "table" , function ( b ) { "page" ===
a ? O ( b ) : ( "string" === typeof a && ( a = "full-hold" === a ? ! 1 : ! 0 ) , T ( b , ! 1 === a ) ) } ) } ) ; p ( "page()" , function ( a ) { return a === k ? this . page . info ( ) . page : this . iterator ( "table" , function ( b ) { Ta ( b , a ) } ) } ) ; p ( "page.info()" , function ( ) { if ( 0 === this . context . length ) return k ; var a = this . context [ 0 ] , b = a . _iDisplayStart , c = a . oFeatures . bPaginate ? a . _iDisplayLength : - 1 , d = a . fnRecordsDisplay ( ) , e = - 1 === c ; return { page : e ? 0 : Math . floor ( b / c ) , pages : e ? 1 : Math . ceil ( d / c ) , start : b , end : a . fnDisplayEnd ( ) , length : c , recordsTotal : a . fnRecordsTotal ( ) , recordsDisplay : d ,
serverSide : "ssp" === y ( a ) } } ) ; p ( "page.len()" , function ( a ) { return a === k ? 0 !== this . context . length ? this . context [ 0 ] . _iDisplayLength : k : this . iterator ( "table" , function ( b ) { Ra ( b , a ) } ) } ) ; var Ub = function ( a , b , c ) { if ( c ) { var d = new r ( a ) ; d . one ( "draw" , function ( ) { c ( d . ajax . json ( ) ) } ) } if ( "ssp" == y ( a ) ) T ( a , b ) ; else { C ( a , ! 0 ) ; var e = a . jqXHR ; e && 4 !== e . readyState && e . abort ( ) ; ra ( a , [ ] , function ( c ) { na ( a ) ; for ( var c = sa ( a , c ) , d = 0 , e = c . length ; d < e ; d ++ ) N ( a , c [ d ] ) ; T ( a , b ) ; C ( a , ! 1 ) } ) } } ; p ( "ajax.json()" , function ( ) { var a = this . context ; if ( 0 < a . length ) return a [ 0 ] . json } ) ;
p ( "ajax.params()" , function ( ) { var a = this . context ; if ( 0 < a . length ) return a [ 0 ] . oAjaxData } ) ; p ( "ajax.reload()" , function ( a , b ) { return this . iterator ( "table" , function ( c ) { Ub ( c , ! 1 === b , a ) } ) } ) ; p ( "ajax.url()" , function ( a ) { var b = this . context ; if ( a === k ) { if ( 0 === b . length ) return k ; b = b [ 0 ] ; return b . ajax ? h . isPlainObject ( b . ajax ) ? b . ajax . url : b . ajax : b . sAjaxSource } return this . iterator ( "table" , function ( b ) { h . isPlainObject ( b . ajax ) ? b . ajax . url = a : b . ajax = a } ) } ) ; p ( "ajax.url().load()" , function ( a , b ) { return this . iterator ( "table" , function ( c ) { Ub ( c ,
! 1 === b , a ) } ) } ) ; var $a = function ( a , b , c , d , e ) { var f = [ ] , g , j , i , n , l , m ; i = typeof b ; if ( ! b || "string" === i || "function" === i || b . length === k ) b = [ b ] ; i = 0 ; for ( n = b . length ; i < n ; i ++ ) { j = b [ i ] && b [ i ] . split ? b [ i ] . split ( "," ) : [ b [ i ] ] ; l = 0 ; for ( m = j . length ; l < m ; l ++ ) ( g = c ( "string" === typeof j [ l ] ? h . trim ( j [ l ] ) : j [ l ] ) ) && g . length && ( f = f . concat ( g ) ) } a = v . selector [ a ] ; if ( a . length ) { i = 0 ; for ( n = a . length ; i < n ; i ++ ) f = a [ i ] ( d , e , f ) } return pa ( f ) } , ab = function ( a ) { a || ( a = { } ) ; a . filter && a . search === k && ( a . search = a . filter ) ; return h . extend ( { search : "none" , order : "current" ,
page : "all" } , a ) } , bb = function ( a ) { for ( var b = 0 , c = a . length ; b < c ; b ++ ) if ( 0 < a [ b ] . length ) return a [ 0 ] = a [ b ] , a [ 0 ] . length = 1 , a . length = 1 , a . context = [ a . context [ b ] ] , a ; a . length = 0 ; return a } , Ba = function ( a , b ) { var c , d , e , f = [ ] , g = a . aiDisplay ; c = a . aiDisplayMaster ; var j = b . search ; d = b . order ; e = b . page ; if ( "ssp" == y ( a ) ) return "removed" === j ? [ ] : W ( 0 , c . length ) ; if ( "current" == e ) { c = a . _iDisplayStart ; for ( d = a . fnDisplayEnd ( ) ; c < d ; c ++ ) f . push ( g [ c ] ) } else if ( "current" == d || "applied" == d ) f = "none" == j ? c . slice ( ) : "applied" == j ? g . slice ( ) : h . map ( c , function ( a ) { return - 1 ===
h . inArray ( a , g ) ? a : null } ) ; else if ( "index" == d || "original" == d ) { c = 0 ; for ( d = a . aoData . length ; c < d ; c ++ ) "none" == j ? f . push ( c ) : ( e = h . inArray ( c , g ) , ( - 1 === e && "removed" == j || 0 <= e && "applied" == j ) && f . push ( c ) ) } return f } ; p ( "rows()" , function ( a , b ) { a === k ? a = "" : h . isPlainObject ( a ) && ( b = a , a = "" ) ; var b = ab ( b ) , c = this . iterator ( "table" , function ( c ) { var e = b ; return $a ( "row" , a , function ( a ) { var b = Pb ( a ) ; if ( b !== null && ! e ) return [ b ] ; var j = Ba ( c , e ) ; if ( b !== null && h . inArray ( b , j ) !== - 1 ) return [ b ] ; if ( ! a ) return j ; if ( typeof a === "function" ) return h . map ( j , function ( b ) { var e =
c . aoData [ b ] ; return a ( b , e . _aData , e . nTr ) ? b : null } ) ; b = Sb ( ha ( c . aoData , j , "nTr" ) ) ; if ( a . nodeName ) { if ( a . _DT _RowIndex !== k ) return [ a . _DT _RowIndex ] ; if ( a . _DT _CellIndex ) return [ a . _DT _CellIndex . row ] ; b = h ( a ) . closest ( "*[data-dt-row]" ) ; return b . length ? [ b . data ( "dt-row" ) ] : [ ] } if ( typeof a === "string" && a . charAt ( 0 ) === "#" ) { j = c . aIds [ a . replace ( /^#/ , "" ) ] ; if ( j !== k ) return [ j . idx ] } return h ( b ) . filter ( a ) . map ( function ( ) { return this . _DT _RowIndex } ) . toArray ( ) } , c , e ) } , 1 ) ; c . selector . rows = a ; c . selector . opts = b ; return c } ) ; p ( "rows().nodes()" , function ( ) { return this . iterator ( "row" ,
function ( a , b ) { return a . aoData [ b ] . nTr || k } , 1 ) } ) ; p ( "rows().data()" , function ( ) { return this . iterator ( ! 0 , "rows" , function ( a , b ) { return ha ( a . aoData , b , "_aData" ) } , 1 ) } ) ; s ( "rows().cache()" , "row().cache()" , function ( a ) { return this . iterator ( "row" , function ( b , c ) { var d = b . aoData [ c ] ; return "search" === a ? d . _aFilterData : d . _aSortData } , 1 ) } ) ; s ( "rows().invalidate()" , "row().invalidate()" , function ( a ) { return this . iterator ( "row" , function ( b , c ) { ca ( b , c , a ) } ) } ) ; s ( "rows().indexes()" , "row().index()" , function ( ) { return this . iterator ( "row" ,
function ( a , b ) { return b } , 1 ) } ) ; s ( "rows().ids()" , "row().id()" , function ( a ) { for ( var b = [ ] , c = this . context , d = 0 , e = c . length ; d < e ; d ++ ) for ( var f = 0 , g = this [ d ] . length ; f < g ; f ++ ) { var h = c [ d ] . rowIdFn ( c [ d ] . aoData [ this [ d ] [ f ] ] . _aData ) ; b . push ( ( ! 0 === a ? "#" : "" ) + h ) } return new r ( c , b ) } ) ; s ( "rows().remove()" , "row().remove()" , function ( ) { var a = this ; this . iterator ( "row" , function ( b , c , d ) { var e = b . aoData , f = e [ c ] , g , h , i , n , l ; e . splice ( c , 1 ) ; g = 0 ; for ( h = e . length ; g < h ; g ++ ) if ( i = e [ g ] , l = i . anCells , null !== i . nTr && ( i . nTr . _DT _RowIndex = g ) , null !== l ) { i = 0 ; for ( n =
l . length ; i < n ; i ++ ) l [ i ] . _DT _CellIndex . row = g } oa ( b . aiDisplayMaster , c ) ; oa ( b . aiDisplay , c ) ; oa ( a [ d ] , c , ! 1 ) ; Sa ( b ) ; c = b . rowIdFn ( f . _aData ) ; c !== k && delete b . aIds [ c ] } ) ; this . iterator ( "table" , function ( a ) { for ( var c = 0 , d = a . aoData . length ; c < d ; c ++ ) a . aoData [ c ] . idx = c } ) ; return this } ) ; p ( "rows.add()" , function ( a ) { var b = this . iterator ( "table" , function ( b ) { var c , f , g , h = [ ] ; f = 0 ; for ( g = a . length ; f < g ; f ++ ) c = a [ f ] , c . nodeName && "TR" === c . nodeName . toUpperCase ( ) ? h . push ( ma ( b , c ) [ 0 ] ) : h . push ( N ( b , c ) ) ; return h } , 1 ) , c = this . rows ( - 1 ) ; c . pop ( ) ; h . merge ( c , b ) ;
return c } ) ; p ( "row()" , function ( a , b ) { return bb ( this . rows ( a , b ) ) } ) ; p ( "row().data()" , function ( a ) { var b = this . context ; if ( a === k ) return b . length && this . length ? b [ 0 ] . aoData [ this [ 0 ] ] . _aData : k ; b [ 0 ] . aoData [ this [ 0 ] ] . _aData = a ; ca ( b [ 0 ] , this [ 0 ] , "data" ) ; return this } ) ; p ( "row().node()" , function ( ) { var a = this . context ; return a . length && this . length ? a [ 0 ] . aoData [ this [ 0 ] ] . nTr || null : null } ) ; p ( "row.add()" , function ( a ) { a instanceof h && a . length && ( a = a [ 0 ] ) ; var b = this . iterator ( "table" , function ( b ) { return a . nodeName && "TR" === a . nodeName . toUpperCase ( ) ?
ma ( b , a ) [ 0 ] : N ( b , a ) } ) ; return this . row ( b [ 0 ] ) } ) ; var cb = function ( a , b ) { var c = a . context ; if ( c . length && ( c = c [ 0 ] . aoData [ b !== k ? b : a [ 0 ] ] ) && c . _details ) c . _details . remove ( ) , c . _detailsShow = k , c . _details = k } , Vb = function ( a , b ) { var c = a . context ; if ( c . length && a . length ) { var d = c [ 0 ] . aoData [ a [ 0 ] ] ; if ( d . _details ) { ( d . _detailsShow = b ) ? d . _details . insertAfter ( d . nTr ) : d . _details . detach ( ) ; var e = c [ 0 ] , f = new r ( e ) , g = e . aoData ; f . off ( "draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details" ) ; 0 < G ( g , "_details" ) . length && ( f . on ( "draw.dt.DT_details" ,
function ( a , b ) { e === b && f . rows ( { page : "current" } ) . eq ( 0 ) . each ( function ( a ) { a = g [ a ] ; a . _detailsShow && a . _details . insertAfter ( a . nTr ) } ) } ) , f . on ( "column-visibility.dt.DT_details" , function ( a , b ) { if ( e === b ) for ( var c , d = aa ( b ) , f = 0 , h = g . length ; f < h ; f ++ ) c = g [ f ] , c . _details && c . _details . children ( "td[colspan]" ) . attr ( "colspan" , d ) } ) , f . on ( "destroy.dt.DT_details" , function ( a , b ) { if ( e === b ) for ( var c = 0 , d = g . length ; c < d ; c ++ ) g [ c ] . _details && cb ( f , c ) } ) ) } } } ; p ( "row().child()" , function ( a , b ) { var c = this . context ; if ( a === k ) return c . length && this . length ?
c [ 0 ] . aoData [ this [ 0 ] ] . _details : k ; if ( ! 0 === a ) this . child . show ( ) ; else if ( ! 1 === a ) cb ( this ) ; else if ( c . length && this . length ) { var d = c [ 0 ] , c = c [ 0 ] . aoData [ this [ 0 ] ] , e = [ ] , f = function ( a , b ) { if ( h . isArray ( a ) || a instanceof h ) for ( var c = 0 , k = a . length ; c < k ; c ++ ) f ( a [ c ] , b ) ; else a . nodeName && "tr" === a . nodeName . toLowerCase ( ) ? e . push ( a ) : ( c = h ( "<tr><td/></tr>" ) . addClass ( b ) , h ( "td" , c ) . addClass ( b ) . html ( a ) [ 0 ] . colSpan = aa ( d ) , e . push ( c [ 0 ] ) ) } ; f ( a , b ) ; c . _details && c . _details . remove ( ) ; c . _details = h ( e ) ; c . _detailsShow && c . _details . insertAfter ( c . nTr ) } return this } ) ;
p ( [ "row().child.show()" , "row().child().show()" ] , function ( ) { Vb ( this , ! 0 ) ; return this } ) ; p ( [ "row().child.hide()" , "row().child().hide()" ] , function ( ) { Vb ( this , ! 1 ) ; return this } ) ; p ( [ "row().child.remove()" , "row().child().remove()" ] , function ( ) { cb ( this ) ; return this } ) ; p ( "row().child.isShown()" , function ( ) { var a = this . context ; return a . length && this . length ? a [ 0 ] . aoData [ this [ 0 ] ] . _detailsShow || ! 1 : ! 1 } ) ; var ec = /^(.+):(name|visIdx|visible)$/ , Wb = function ( a , b , c , d , e ) { for ( var c = [ ] , d = 0 , f = e . length ; d < f ; d ++ ) c . push ( B ( a , e [ d ] , b ) ) ;
return c } ; p ( "columns()" , function ( a , b ) { a === k ? a = "" : h . isPlainObject ( a ) && ( b = a , a = "" ) ; var b = ab ( b ) , c = this . iterator ( "table" , function ( c ) { var e = a , f = b , g = c . aoColumns , j = G ( g , "sName" ) , i = G ( g , "nTh" ) ; return $a ( "column" , e , function ( a ) { var b = Pb ( a ) ; if ( a === "" ) return W ( g . length ) ; if ( b !== null ) return [ b >= 0 ? b : g . length + b ] ; if ( typeof a === "function" ) { var e = Ba ( c , f ) ; return h . map ( g , function ( b , f ) { return a ( f , Wb ( c , f , 0 , 0 , e ) , i [ f ] ) ? f : null } ) } var k = typeof a === "string" ? a . match ( ec ) : "" ; if ( k ) switch ( k [ 2 ] ) { case "visIdx" : case "visible" : b = parseInt ( k [ 1 ] ,
10 ) ; if ( b < 0 ) { var m = h . map ( g , function ( a , b ) { return a . bVisible ? b : null } ) ; return [ m [ m . length + b ] ] } return [ Z ( c , b ) ] ; case "name" : return h . map ( j , function ( a , b ) { return a === k [ 1 ] ? b : null } ) ; default : return [ ] } if ( a . nodeName && a . _DT _CellIndex ) return [ a . _DT _CellIndex . column ] ; b = h ( i ) . filter ( a ) . map ( function ( ) { return h . inArray ( this , i ) } ) . toArray ( ) ; if ( b . length || ! a . nodeName ) return b ; b = h ( a ) . closest ( "*[data-dt-column]" ) ; return b . length ? [ b . data ( "dt-column" ) ] : [ ] } , c , f ) } , 1 ) ; c . selector . cols = a ; c . selector . opts = b ; return c } ) ; s ( "columns().header()" ,
"column().header()" , function ( ) { return this . iterator ( "column" , function ( a , b ) { return a . aoColumns [ b ] . nTh } , 1 ) } ) ; s ( "columns().footer()" , "column().footer()" , function ( ) { return this . iterator ( "column" , function ( a , b ) { return a . aoColumns [ b ] . nTf } , 1 ) } ) ; s ( "columns().data()" , "column().data()" , function ( ) { return this . iterator ( "column-rows" , Wb , 1 ) } ) ; s ( "columns().dataSrc()" , "column().dataSrc()" , function ( ) { return this . iterator ( "column" , function ( a , b ) { return a . aoColumns [ b ] . mData } , 1 ) } ) ; s ( "columns().cache()" , "column().cache()" ,
function ( a ) { return this . iterator ( "column-rows" , function ( b , c , d , e , f ) { return ha ( b . aoData , f , "search" === a ? "_aFilterData" : "_aSortData" , c ) } , 1 ) } ) ; s ( "columns().nodes()" , "column().nodes()" , function ( ) { return this . iterator ( "column-rows" , function ( a , b , c , d , e ) { return ha ( a . aoData , e , "anCells" , b ) } , 1 ) } ) ; s ( "columns().visible()" , "column().visible()" , function ( a , b ) { var c = this . iterator ( "column" , function ( b , c ) { if ( a === k ) return b . aoColumns [ c ] . bVisible ; var f = b . aoColumns , g = f [ c ] , j = b . aoData , i , n , l ; if ( a !== k && g . bVisible !== a ) { if ( a ) { var m =
h . inArray ( ! 0 , G ( f , "bVisible" ) , c + 1 ) ; i = 0 ; for ( n = j . length ; i < n ; i ++ ) l = j [ i ] . nTr , f = j [ i ] . anCells , l && l . insertBefore ( f [ c ] , f [ m ] || null ) } else h ( G ( b . aoData , "anCells" , c ) ) . detach ( ) ; g . bVisible = a ; ea ( b , b . aoHeader ) ; ea ( b , b . aoFooter ) ; wa ( b ) } } ) ; a !== k && ( this . iterator ( "column" , function ( c , e ) { u ( c , null , "column-visibility" , [ c , e , a , b ] ) } ) , ( b === k || b ) && this . columns . adjust ( ) ) ; return c } ) ; s ( "columns().indexes()" , "column().index()" , function ( a ) { return this . iterator ( "column" , function ( b , c ) { return "visible" === a ? $ ( b , c ) : c } , 1 ) } ) ; p ( "columns.adjust()" ,
function ( ) { return this . iterator ( "table" , function ( a ) { Y ( a ) } , 1 ) } ) ; p ( "column.index()" , function ( a , b ) { if ( 0 !== this . context . length ) { var c = this . context [ 0 ] ; if ( "fromVisible" === a || "toData" === a ) return Z ( c , b ) ; if ( "fromData" === a || "toVisible" === a ) return $ ( c , b ) } } ) ; p ( "column()" , function ( a , b ) { return bb ( this . columns ( a , b ) ) } ) ; p ( "cells()" , function ( a , b , c ) { h . isPlainObject ( a ) && ( a . row === k ? ( c = a , a = null ) : ( c = b , b = null ) ) ; h . isPlainObject ( b ) && ( c = b , b = null ) ; if ( null === b || b === k ) return this . iterator ( "table" , function ( b ) { var d = a , e = ab ( c ) , f =
b . aoData , g = Ba ( b , e ) , j = Sb ( ha ( f , g , "anCells" ) ) , i = h ( [ ] . concat . apply ( [ ] , j ) ) , l , n = b . aoColumns . length , m , p , r , u , v , s ; return $a ( "cell" , d , function ( a ) { var c = typeof a === "function" ; if ( a === null || a === k || c ) { m = [ ] ; p = 0 ; for ( r = g . length ; p < r ; p ++ ) { l = g [ p ] ; for ( u = 0 ; u < n ; u ++ ) { v = { row : l , column : u } ; if ( c ) { s = f [ l ] ; a ( v , B ( b , l , u ) , s . anCells ? s . anCells [ u ] : null ) && m . push ( v ) } else m . push ( v ) } } return m } if ( h . isPlainObject ( a ) ) return [ a ] ; c = i . filter ( a ) . map ( function ( a , b ) { return { row : b . _DT _CellIndex . row , column : b . _DT _CellIndex . column } } ) . toArray ( ) ; if ( c . length ||
! a . nodeName ) return c ; s = h ( a ) . closest ( "*[data-dt-row]" ) ; return s . length ? [ { row : s . data ( "dt-row" ) , column : s . data ( "dt-column" ) } ] : [ ] } , b , e ) } ) ; var d = this . columns ( b , c ) , e = this . rows ( a , c ) , f , g , j , i , n , l = this . iterator ( "table" , function ( a , b ) { f = [ ] ; g = 0 ; for ( j = e [ b ] . length ; g < j ; g ++ ) { i = 0 ; for ( n = d [ b ] . length ; i < n ; i ++ ) f . push ( { row : e [ b ] [ g ] , column : d [ b ] [ i ] } ) } return f } , 1 ) ; h . extend ( l . selector , { cols : b , rows : a , opts : c } ) ; return l } ) ; s ( "cells().nodes()" , "cell().node()" , function ( ) { return this . iterator ( "cell" , function ( a , b , c ) { return ( a = a . aoData [ b ] ) &&
a . anCells ? a . anCells [ c ] : k } , 1 ) } ) ; p ( "cells().data()" , function ( ) { return this . iterator ( "cell" , function ( a , b , c ) { return B ( a , b , c ) } , 1 ) } ) ; s ( "cells().cache()" , "cell().cache()" , function ( a ) { a = "search" === a ? "_aFilterData" : "_aSortData" ; return this . iterator ( "cell" , function ( b , c , d ) { return b . aoData [ c ] [ a ] [ d ] } , 1 ) } ) ; s ( "cells().render()" , "cell().render()" , function ( a ) { return this . iterator ( "cell" , function ( b , c , d ) { return B ( b , c , d , a ) } , 1 ) } ) ; s ( "cells().indexes()" , "cell().index()" , function ( ) { return this . iterator ( "cell" , function ( a ,
b , c ) { return { row : b , column : c , columnVisible : $ ( a , c ) } } , 1 ) } ) ; s ( "cells().invalidate()" , "cell().invalidate()" , function ( a ) { return this . iterator ( "cell" , function ( b , c , d ) { ca ( b , c , a , d ) } ) } ) ; p ( "cell()" , function ( a , b , c ) { return bb ( this . cells ( a , b , c ) ) } ) ; p ( "cell().data()" , function ( a ) { var b = this . context , c = this [ 0 ] ; if ( a === k ) return b . length && c . length ? B ( b [ 0 ] , c [ 0 ] . row , c [ 0 ] . column ) : k ; jb ( b [ 0 ] , c [ 0 ] . row , c [ 0 ] . column , a ) ; ca ( b [ 0 ] , c [ 0 ] . row , "data" , c [ 0 ] . column ) ; return this } ) ; p ( "order()" , function ( a , b ) { var c = this . context ; if ( a === k ) return 0 !==
c . length ? c [ 0 ] . aaSorting : k ; "number" === typeof a ? a = [ [ a , b ] ] : a . length && ! h . isArray ( a [ 0 ] ) && ( a = Array . prototype . slice . call ( arguments ) ) ; return this . iterator ( "table" , function ( b ) { b . aaSorting = a . slice ( ) } ) } ) ; p ( "order.listener()" , function ( a , b , c ) { return this . iterator ( "table" , function ( d ) { Ma ( d , a , b , c ) } ) } ) ; p ( "order.fixed()" , function ( a ) { if ( ! a ) { var b = this . context , b = b . length ? b [ 0 ] . aaSortingFixed : k ; return h . isArray ( b ) ? { pre : b } : b } return this . iterator ( "table" , function ( b ) { b . aaSortingFixed = h . extend ( ! 0 , { } , a ) } ) } ) ; p ( [ "columns().order()" ,
"column().order()" ] , function ( a ) { var b = this ; return this . iterator ( "table" , function ( c , d ) { var e = [ ] ; h . each ( b [ d ] , function ( b , c ) { e . push ( [ c , a ] ) } ) ; c . aaSorting = e } ) } ) ; p ( "search()" , function ( a , b , c , d ) { var e = this . context ; return a === k ? 0 !== e . length ? e [ 0 ] . oPreviousSearch . sSearch : k : this . iterator ( "table" , function ( e ) { e . oFeatures . bFilter && fa ( e , h . extend ( { } , e . oPreviousSearch , { sSearch : a + "" , bRegex : null === b ? ! 1 : b , bSmart : null === c ? ! 0 : c , bCaseInsensitive : null === d ? ! 0 : d } ) , 1 ) } ) } ) ; s ( "columns().search()" , "column().search()" , function ( a ,
b , c , d ) { return this . iterator ( "column" , function ( e , f ) { var g = e . aoPreSearchCols ; if ( a === k ) return g [ f ] . sSearch ; e . oFeatures . bFilter && ( h . extend ( g [ f ] , { sSearch : a + "" , bRegex : null === b ? ! 1 : b , bSmart : null === c ? ! 0 : c , bCaseInsensitive : null === d ? ! 0 : d } ) , fa ( e , e . oPreviousSearch , 1 ) ) } ) } ) ; p ( "state()" , function ( ) { return this . context . length ? this . context [ 0 ] . oSavedState : null } ) ; p ( "state.clear()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . fnStateSaveCallback . call ( a . oInstance , a , { } ) } ) } ) ; p ( "state.loaded()" , function ( ) { return this . context . length ?
this . context [ 0 ] . oLoadedState : null } ) ; p ( "state.save()" , function ( ) { return this . iterator ( "table" , function ( a ) { wa ( a ) } ) } ) ; m . versionCheck = m . fnVersionCheck = function ( a ) { for ( var b = m . version . split ( "." ) , a = a . split ( "." ) , c , d , e = 0 , f = a . length ; e < f ; e ++ ) if ( c = parseInt ( b [ e ] , 10 ) || 0 , d = parseInt ( a [ e ] , 10 ) || 0 , c !== d ) return c > d ; return ! 0 } ; m . isDataTable = m . fnIsDataTable = function ( a ) { var b = h ( a ) . get ( 0 ) , c = ! 1 ; h . each ( m . settings , function ( a , e ) { var f = e . nScrollHead ? h ( "table" , e . nScrollHead ) [ 0 ] : null , g = e . nScrollFoot ? h ( "table" , e . nScrollFoot ) [ 0 ] :
null ; if ( e . nTable === b || f === b || g === b ) c = ! 0 } ) ; return c } ; m . tables = m . fnTables = function ( a ) { var b = ! 1 ; h . isPlainObject ( a ) && ( b = a . api , a = a . visible ) ; var c = h . map ( m . settings , function ( b ) { if ( ! a || a && h ( b . nTable ) . is ( ":visible" ) ) return b . nTable } ) ; return b ? new r ( c ) : c } ; m . camelToHungarian = K ; p ( "$()" , function ( a , b ) { var c = this . rows ( b ) . nodes ( ) , c = h ( c ) ; return h ( [ ] . concat ( c . filter ( a ) . toArray ( ) , c . find ( a ) . toArray ( ) ) ) } ) ; h . each ( [ "on" , "one" , "off" ] , function ( a , b ) { p ( b + "()" , function ( ) { var a = Array . prototype . slice . call ( arguments ) ; a [ 0 ] . match ( /\.dt\b/ ) ||
( a [ 0 ] += ".dt" ) ; var d = h ( this . tables ( ) . nodes ( ) ) ; d [ b ] . apply ( d , a ) ; return this } ) } ) ; p ( "clear()" , function ( ) { return this . iterator ( "table" , function ( a ) { na ( a ) } ) } ) ; p ( "settings()" , function ( ) { return new r ( this . context , this . context ) } ) ; p ( "init()" , function ( ) { var a = this . context ; return a . length ? a [ 0 ] . oInit : null } ) ; p ( "data()" , function ( ) { return this . iterator ( "table" , function ( a ) { return G ( a . aoData , "_aData" ) } ) . flatten ( ) } ) ; p ( "destroy()" , function ( a ) { a = a || ! 1 ; return this . iterator ( "table" , function ( b ) { var c = b . nTableWrapper . parentNode ,
d = b . oClasses , e = b . nTable , f = b . nTBody , g = b . nTHead , j = b . nTFoot , i = h ( e ) , f = h ( f ) , k = h ( b . nTableWrapper ) , l = h . map ( b . aoData , function ( a ) { return a . nTr } ) , p ; b . bDestroying = ! 0 ; u ( b , "aoDestroyCallback" , "destroy" , [ b ] ) ; a || ( new r ( b ) ) . columns ( ) . visible ( ! 0 ) ; k . unbind ( ".DT" ) . find ( ":not(tbody *)" ) . unbind ( ".DT" ) ; h ( D ) . unbind ( ".DT-" + b . sInstance ) ; e != g . parentNode && ( i . children ( "thead" ) . detach ( ) , i . append ( g ) ) ; j && e != j . parentNode && ( i . children ( "tfoot" ) . detach ( ) , i . append ( j ) ) ; b . aaSorting = [ ] ; b . aaSortingFixed = [ ] ; va ( b ) ; h ( l ) . removeClass ( b . asStripeClasses . join ( " " ) ) ;
h ( "th, td" , g ) . removeClass ( d . sSortable + " " + d . sSortableAsc + " " + d . sSortableDesc + " " + d . sSortableNone ) ; b . bJUI && ( h ( "th span." + d . sSortIcon + ", td span." + d . sSortIcon , g ) . detach ( ) , h ( "th, td" , g ) . each ( function ( ) { var a = h ( "div." + d . sSortJUIWrapper , this ) ; h ( this ) . append ( a . contents ( ) ) ; a . detach ( ) } ) ) ; f . children ( ) . detach ( ) ; f . append ( l ) ; g = a ? "remove" : "detach" ; i [ g ] ( ) ; k [ g ] ( ) ; ! a && c && ( c . insertBefore ( e , b . nTableReinsertBefore ) , i . css ( "width" , b . sDestroyWidth ) . removeClass ( d . sTable ) , ( p = b . asDestroyStripes . length ) && f . children ( ) . each ( function ( a ) { h ( this ) . addClass ( b . asDestroyStripes [ a %
p ] ) } ) ) ; c = h . inArray ( b , m . settings ) ; - 1 !== c && m . settings . splice ( c , 1 ) } ) } ) ; h . each ( [ "column" , "row" , "cell" ] , function ( a , b ) { p ( b + "s().every()" , function ( a ) { var d = this . selector . opts , e = this ; return this . iterator ( b , function ( f , g , h , i , n ) { a . call ( e [ b ] ( g , "cell" === b ? h : d , "cell" === b ? d : k ) , g , h , i , n ) } ) } ) } ) ; p ( "i18n()" , function ( a , b , c ) { var d = this . context [ 0 ] , a = Q ( a ) ( d . oLanguage ) ; a === k && ( a = b ) ; c !== k && h . isPlainObject ( a ) && ( a = a [ c ] !== k ? a [ c ] : a . _ ) ; return a . replace ( "%d" , c ) } ) ; m . version = "1.10.12" ; m . settings = [ ] ; m . models = { } ; m . models . oSearch = { bCaseInsensitive : ! 0 ,
sSearch : "" , bRegex : ! 1 , bSmart : ! 0 } ; m . models . oRow = { nTr : null , anCells : null , _aData : [ ] , _aSortData : null , _aFilterData : null , _sFilterRow : null , _sRowStripe : "" , src : null , idx : - 1 } ; m . models . oColumn = { idx : null , aDataSort : null , asSorting : null , bSearchable : null , bSortable : null , bVisible : null , _sManualType : null , _bAttrSrc : ! 1 , fnCreatedCell : null , fnGetData : null , fnSetData : null , mData : null , mRender : null , nTh : null , nTf : null , sClass : null , sContentPadding : null , sDefaultContent : null , sName : null , sSortDataType : "std" , sSortingClass : null , sSortingClassJUI : null ,
sTitle : null , sType : null , sWidth : null , sWidthOrig : null } ; m . defaults = { aaData : null , aaSorting : [ [ 0 , "asc" ] ] , aaSortingFixed : [ ] , ajax : null , aLengthMenu : [ 10 , 25 , 50 , 100 ] , aoColumns : null , aoColumnDefs : null , aoSearchCols : [ ] , asStripeClasses : null , bAutoWidth : ! 0 , bDeferRender : ! 1 , bDestroy : ! 1 , bFilter : ! 0 , bInfo : ! 0 , bJQueryUI : ! 1 , bLengthChange : ! 0 , bPaginate : ! 0 , bProcessing : ! 1 , bRetrieve : ! 1 , bScrollCollapse : ! 1 , bServerSide : ! 1 , bSort : ! 0 , bSortMulti : ! 0 , bSortCellsTop : ! 1 , bSortClasses : ! 0 , bStateSave : ! 1 , fnCreatedRow : null , fnDrawCallback : null , fnFooterCallback : null ,
fnFormatNumber : function ( a ) { return a . toString ( ) . replace ( /\B(?=(\d{3})+(?!\d))/g , this . oLanguage . sThousands ) } , fnHeaderCallback : null , fnInfoCallback : null , fnInitComplete : null , fnPreDrawCallback : null , fnRowCallback : null , fnServerData : null , fnServerParams : null , fnStateLoadCallback : function ( a ) { try { return JSON . parse ( ( - 1 === a . iStateDuration ? sessionStorage : localStorage ) . getItem ( "DataTables_" + a . sInstance + "_" + location . pathname ) ) } catch ( b ) { } } , fnStateLoadParams : null , fnStateLoaded : null , fnStateSaveCallback : function ( a , b ) { try { ( - 1 ===
a . iStateDuration ? sessionStorage : localStorage ) . setItem ( "DataTables_" + a . sInstance + "_" + location . pathname , JSON . stringify ( b ) ) } catch ( c ) { } } , fnStateSaveParams : null , iStateDuration : 7200 , iDeferLoading : null , iDisplayLength : 10 , iDisplayStart : 0 , iTabIndex : 0 , oClasses : { } , oLanguage : { oAria : { sSortAscending : ": activate to sort column ascending" , sSortDescending : ": activate to sort column descending" } , oPaginate : { sFirst : "First" , sLast : "Last" , sNext : "Next" , sPrevious : "Previous" } , sEmptyTable : "No data available in table" , sInfo : "Showing _START_ to _END_ of _TOTAL_ entries" ,
sInfoEmpty : "Showing 0 to 0 of 0 entries" , sInfoFiltered : "(filtered from _MAX_ total entries)" , sInfoPostFix : "" , sDecimal : "" , sThousands : "," , sLengthMenu : "Show _MENU_ entries" , sLoadingRecords : "Loading..." , sProcessing : "Processing..." , sSearch : "Search:" , sSearchPlaceholder : "" , sUrl : "" , sZeroRecords : "No matching records found" } , oSearch : h . extend ( { } , m . models . oSearch ) , sAjaxDataProp : "data" , sAjaxSource : null , sDom : "lfrtip" , searchDelay : null , sPaginationType : "simple_numbers" , sScrollX : "" , sScrollXInner : "" , sScrollY : "" , sServerMethod : "GET" ,
renderer : null , rowId : "DT_RowId" } ; X ( m . defaults ) ; m . defaults . column = { aDataSort : null , iDataSort : - 1 , asSorting : [ "asc" , "desc" ] , bSearchable : ! 0 , bSortable : ! 0 , bVisible : ! 0 , fnCreatedCell : null , mData : null , mRender : null , sCellType : "td" , sClass : "" , sContentPadding : "" , sDefaultContent : null , sName : "" , sSortDataType : "std" , sTitle : null , sType : null , sWidth : null } ; X ( m . defaults . column ) ; m . models . oSettings = { oFeatures : { bAutoWidth : null , bDeferRender : null , bFilter : null , bInfo : null , bLengthChange : null , bPaginate : null , bProcessing : null , bServerSide : null ,
bSort : null , bSortMulti : null , bSortClasses : null , bStateSave : null } , oScroll : { bCollapse : null , iBarWidth : 0 , sX : null , sXInner : null , sY : null } , oLanguage : { fnInfoCallback : null } , oBrowser : { bScrollOversize : ! 1 , bScrollbarLeft : ! 1 , bBounding : ! 1 , barWidth : 0 } , ajax : null , aanFeatures : [ ] , aoData : [ ] , aiDisplay : [ ] , aiDisplayMaster : [ ] , aIds : { } , aoColumns : [ ] , aoHeader : [ ] , aoFooter : [ ] , oPreviousSearch : { } , aoPreSearchCols : [ ] , aaSorting : null , aaSortingFixed : [ ] , asStripeClasses : null , asDestroyStripes : [ ] , sDestroyWidth : 0 , aoRowCallback : [ ] , aoHeaderCallback : [ ] ,
aoFooterCallback : [ ] , aoDrawCallback : [ ] , aoRowCreatedCallback : [ ] , aoPreDrawCallback : [ ] , aoInitComplete : [ ] , aoStateSaveParams : [ ] , aoStateLoadParams : [ ] , aoStateLoaded : [ ] , sTableId : "" , nTable : null , nTHead : null , nTFoot : null , nTBody : null , nTableWrapper : null , bDeferLoading : ! 1 , bInitialised : ! 1 , aoOpenRows : [ ] , sDom : null , searchDelay : null , sPaginationType : "two_button" , iStateDuration : 0 , aoStateSave : [ ] , aoStateLoad : [ ] , oSavedState : null , oLoadedState : null , sAjaxSource : null , sAjaxDataProp : null , bAjaxDataGet : ! 0 , jqXHR : null , json : k , oAjaxData : k ,
fnServerData : null , aoServerParams : [ ] , sServerMethod : null , fnFormatNumber : null , aLengthMenu : null , iDraw : 0 , bDrawing : ! 1 , iDrawError : - 1 , _iDisplayLength : 10 , _iDisplayStart : 0 , _iRecordsTotal : 0 , _iRecordsDisplay : 0 , bJUI : null , oClasses : { } , bFiltered : ! 1 , bSorted : ! 1 , bSortCellsTop : null , oInit : null , aoDestroyCallback : [ ] , fnRecordsTotal : function ( ) { return "ssp" == y ( this ) ? 1 * this . _iRecordsTotal : this . aiDisplayMaster . length } , fnRecordsDisplay : function ( ) { return "ssp" == y ( this ) ? 1 * this . _iRecordsDisplay : this . aiDisplay . length } , fnDisplayEnd : function ( ) { var a =
this . _iDisplayLength , b = this . _iDisplayStart , c = b + a , d = this . aiDisplay . length , e = this . oFeatures , f = e . bPaginate ; return e . bServerSide ? ! 1 === f || - 1 === a ? b + d : Math . min ( b + a , this . _iRecordsDisplay ) : ! f || c > d || - 1 === a ? d : c } , oInstance : null , sInstance : null , iTabIndex : 0 , nScrollHead : null , nScrollFoot : null , aLastSort : [ ] , oPlugins : { } , rowIdFn : null , rowId : null } ; m . ext = v = { buttons : { } , classes : { } , build : "bs/jszip-2.5.0/pdfmake-0.1.18/dt-1.10.12/b-1.2.2/b-colvis-1.2.2/b-flash-1.2.2/b-html5-1.2.2/b-print-1.2.2/cr-1.3.2/fc-3.2.2/fh-3.1.2/kt-2.1.3/r-2.1.0/rr-1.1.2/se-1.2.0" , errMode : "alert" , feature : [ ] , search : [ ] , selector : { cell : [ ] , column : [ ] , row : [ ] } , internal : { } , legacy : { ajax : null } , pager : { } , renderer : { pageButton : { } ,
header : { } } , order : { } , type : { detect : [ ] , search : { } , order : { } } , _unique : 0 , fnVersionCheck : m . fnVersionCheck , iApiIndex : 0 , oJUIClasses : { } , sVersion : m . version } ; h . extend ( v , { afnFiltering : v . search , aTypes : v . type . detect , ofnSearch : v . type . search , oSort : v . type . order , afnSortData : v . order , aoFeatures : v . feature , oApi : v . internal , oStdClasses : v . classes , oPagination : v . pager } ) ; h . extend ( m . ext . classes , { sTable : "dataTable" , sNoFooter : "no-footer" , sPageButton : "paginate_button" , sPageButtonActive : "current" , sPageButtonDisabled : "disabled" , sStripeOdd : "odd" ,
sStripeEven : "even" , sRowEmpty : "dataTables_empty" , sWrapper : "dataTables_wrapper" , sFilter : "dataTables_filter" , sInfo : "dataTables_info" , sPaging : "dataTables_paginate paging_" , sLength : "dataTables_length" , sProcessing : "dataTables_processing" , sSortAsc : "sorting_asc" , sSortDesc : "sorting_desc" , sSortable : "sorting" , sSortableAsc : "sorting_asc_disabled" , sSortableDesc : "sorting_desc_disabled" , sSortableNone : "sorting_disabled" , sSortColumn : "sorting_" , sFilterInput : "" , sLengthSelect : "" , sScrollWrapper : "dataTables_scroll" , sScrollHead : "dataTables_scrollHead" ,
sScrollHeadInner : "dataTables_scrollHeadInner" , sScrollBody : "dataTables_scrollBody" , sScrollFoot : "dataTables_scrollFoot" , sScrollFootInner : "dataTables_scrollFootInner" , sHeaderTH : "" , sFooterTH : "" , sSortJUIAsc : "" , sSortJUIDesc : "" , sSortJUI : "" , sSortJUIAscAllowed : "" , sSortJUIDescAllowed : "" , sSortJUIWrapper : "" , sSortIcon : "" , sJUIHeader : "" , sJUIFooter : "" } ) ; var Ca = "" , Ca = "" , H = Ca + "ui-state-default" , ia = Ca + "css_right ui-icon ui-icon-" , Xb = Ca + "fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix" ; h . extend ( m . ext . oJUIClasses ,
m . ext . classes , { sPageButton : "fg-button ui-button " + H , sPageButtonActive : "ui-state-disabled" , sPageButtonDisabled : "ui-state-disabled" , sPaging : "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_" , sSortAsc : H + " sorting_asc" , sSortDesc : H + " sorting_desc" , sSortable : H + " sorting" , sSortableAsc : H + " sorting_asc_disabled" , sSortableDesc : H + " sorting_desc_disabled" , sSortableNone : H + " sorting_disabled" , sSortJUIAsc : ia + "triangle-1-n" , sSortJUIDesc : ia + "triangle-1-s" , sSortJUI : ia + "carat-2-n-s" ,
sSortJUIAscAllowed : ia + "carat-1-n" , sSortJUIDescAllowed : ia + "carat-1-s" , sSortJUIWrapper : "DataTables_sort_wrapper" , sSortIcon : "DataTables_sort_icon" , sScrollHead : "dataTables_scrollHead " + H , sScrollFoot : "dataTables_scrollFoot " + H , sHeaderTH : H , sFooterTH : H , sJUIHeader : Xb + " ui-corner-tl ui-corner-tr" , sJUIFooter : Xb + " ui-corner-bl ui-corner-br" } ) ; var Mb = m . ext . pager ; h . extend ( Mb , { simple : function ( ) { return [ "previous" , "next" ] } , full : function ( ) { return [ "first" , "previous" , "next" , "last" ] } , numbers : function ( a , b ) { return [ ya ( a ,
b ) ] } , simple _numbers : function ( a , b ) { return [ "previous" , ya ( a , b ) , "next" ] } , full _numbers : function ( a , b ) { return [ "first" , "previous" , ya ( a , b ) , "next" , "last" ] } , _numbers : ya , numbers _length : 7 } ) ; h . extend ( ! 0 , m . ext . renderer , { pageButton : { _ : function ( a , b , c , d , e , f ) { var g = a . oClasses , j = a . oLanguage . oPaginate , i = a . oLanguage . oAria . paginate || { } , k , l , m = 0 , p = function ( b , d ) { var o , r , u , s , v = function ( b ) { Ta ( a , b . data . action , true ) } ; o = 0 ; for ( r = d . length ; o < r ; o ++ ) { s = d [ o ] ; if ( h . isArray ( s ) ) { u = h ( "<" + ( s . DT _el || "div" ) + "/>" ) . appendTo ( b ) ; p ( u , s ) } else { k = null ;
l = "" ; switch ( s ) { case "ellipsis" : b . append ( '<span class="ellipsis">…</span>' ) ; break ; case "first" : k = j . sFirst ; l = s + ( e > 0 ? "" : " " + g . sPageButtonDisabled ) ; break ; case "previous" : k = j . sPrevious ; l = s + ( e > 0 ? "" : " " + g . sPageButtonDisabled ) ; break ; case "next" : k = j . sNext ; l = s + ( e < f - 1 ? "" : " " + g . sPageButtonDisabled ) ; break ; case "last" : k = j . sLast ; l = s + ( e < f - 1 ? "" : " " + g . sPageButtonDisabled ) ; break ; default : k = s + 1 ; l = e === s ? g . sPageButtonActive : "" } if ( k !== null ) { u = h ( "<a>" , { "class" : g . sPageButton + " " + l , "aria-controls" : a . sTableId , "aria-label" : i [ s ] ,
"data-dt-idx" : m , tabindex : a . iTabIndex , id : c === 0 && typeof s === "string" ? a . sTableId + "_" + s : null } ) . html ( k ) . appendTo ( b ) ; Wa ( u , { action : s } , v ) ; m ++ } } } } , r ; try { r = h ( b ) . find ( I . activeElement ) . data ( "dt-idx" ) } catch ( o ) { } p ( h ( b ) . empty ( ) , d ) ; r && h ( b ) . find ( "[data-dt-idx=" + r + "]" ) . focus ( ) } } } ) ; h . extend ( m . ext . type . detect , [ function ( a , b ) { var c = b . oLanguage . sDecimal ; return Za ( a , c ) ? "num" + c : null } , function ( a ) { if ( a && ! ( a instanceof Date ) && ( ! ac . test ( a ) || ! bc . test ( a ) ) ) return null ; var b = Date . parse ( a ) ; return null !== b && ! isNaN ( b ) || M ( a ) ? "date" :
null } , function ( a , b ) { var c = b . oLanguage . sDecimal ; return Za ( a , c , ! 0 ) ? "num-fmt" + c : null } , function ( a , b ) { var c = b . oLanguage . sDecimal ; return Rb ( a , c ) ? "html-num" + c : null } , function ( a , b ) { var c = b . oLanguage . sDecimal ; return Rb ( a , c , ! 0 ) ? "html-num-fmt" + c : null } , function ( a ) { return M ( a ) || "string" === typeof a && - 1 !== a . indexOf ( "<" ) ? "html" : null } ] ) ; h . extend ( m . ext . type . search , { html : function ( a ) { return M ( a ) ? a : "string" === typeof a ? a . replace ( Ob , " " ) . replace ( Aa , "" ) : "" } , string : function ( a ) { return M ( a ) ? a : "string" === typeof a ? a . replace ( Ob ,
" " ) : a } } ) ; var za = function ( a , b , c , d ) { if ( 0 !== a && ( ! a || "-" === a ) ) return - Infinity ; b && ( a = Qb ( a , b ) ) ; a . replace && ( c && ( a = a . replace ( c , "" ) ) , d && ( a = a . replace ( d , "" ) ) ) ; return 1 * a } ; h . extend ( v . type . order , { "date-pre" : function ( a ) { return Date . parse ( a ) || 0 } , "html-pre" : function ( a ) { return M ( a ) ? "" : a . replace ? a . replace ( /<.*?>/g , "" ) . toLowerCase ( ) : a + "" } , "string-pre" : function ( a ) { return M ( a ) ? "" : "string" === typeof a ? a . toLowerCase ( ) : ! a . toString ? "" : a . toString ( ) } , "string-asc" : function ( a , b ) { return a < b ? - 1 : a > b ? 1 : 0 } , "string-desc" : function ( a ,
b ) { return a < b ? 1 : a > b ? - 1 : 0 } } ) ; db ( "" ) ; h . extend ( ! 0 , m . ext . renderer , { header : { _ : function ( a , b , c , d ) { h ( a . nTable ) . on ( "order.dt.DT" , function ( e , f , g , h ) { if ( a === f ) { e = c . idx ; b . removeClass ( c . sSortingClass + " " + d . sSortAsc + " " + d . sSortDesc ) . addClass ( h [ e ] == "asc" ? d . sSortAsc : h [ e ] == "desc" ? d . sSortDesc : c . sSortingClass ) } } ) } , jqueryui : function ( a , b , c , d ) { h ( "<div/>" ) . addClass ( d . sSortJUIWrapper ) . append ( b . contents ( ) ) . append ( h ( "<span/>" ) . addClass ( d . sSortIcon + " " + c . sSortingClassJUI ) ) . appendTo ( b ) ; h ( a . nTable ) . on ( "order.dt.DT" , function ( e ,
f , g , h ) { if ( a === f ) { e = c . idx ; b . removeClass ( d . sSortAsc + " " + d . sSortDesc ) . addClass ( h [ e ] == "asc" ? d . sSortAsc : h [ e ] == "desc" ? d . sSortDesc : c . sSortingClass ) ; b . find ( "span." + d . sSortIcon ) . removeClass ( d . sSortJUIAsc + " " + d . sSortJUIDesc + " " + d . sSortJUI + " " + d . sSortJUIAscAllowed + " " + d . sSortJUIDescAllowed ) . addClass ( h [ e ] == "asc" ? d . sSortJUIAsc : h [ e ] == "desc" ? d . sSortJUIDesc : c . sSortingClassJUI ) } } ) } } } ) ; var Yb = function ( a ) { return "string" === typeof a ? a . replace ( /</g , "<" ) . replace ( />/g , ">" ) . replace ( /"/g , """ ) : a } ; m . render = { number : function ( a ,
b , c , d , e ) { return { display : function ( f ) { if ( "number" !== typeof f && "string" !== typeof f ) return f ; var g = 0 > f ? "-" : "" , h = parseFloat ( f ) ; if ( isNaN ( h ) ) return Yb ( f ) ; f = Math . abs ( h ) ; h = parseInt ( f , 10 ) ; f = c ? b + ( f - h ) . toFixed ( c ) . substring ( 2 ) : "" ; return g + ( d || "" ) + h . toString ( ) . replace ( /\B(?=(\d{3})+(?!\d))/g , a ) + f + ( e || "" ) } } } , text : function ( ) { return { display : Yb } } } ; h . extend ( m . ext . internal , { _fnExternApiFunc : Nb , _fnBuildAjax : ra , _fnAjaxUpdate : lb , _fnAjaxParameters : ub , _fnAjaxUpdateDraw : vb , _fnAjaxDataSrc : sa , _fnAddColumn : Ea , _fnColumnOptions : ja ,
_fnAdjustColumnSizing : Y , _fnVisibleToColumnIndex : Z , _fnColumnIndexToVisible : $ , _fnVisbleColumns : aa , _fnGetColumns : la , _fnColumnTypes : Ga , _fnApplyColumnDefs : ib , _fnHungarianMap : X , _fnCamelToHungarian : K , _fnLanguageCompat : Da , _fnBrowserDetect : gb , _fnAddData : N , _fnAddTr : ma , _fnNodeToDataIndex : function ( a , b ) { return b . _DT _RowIndex !== k ? b . _DT _RowIndex : null } , _fnNodeToColumnIndex : function ( a , b , c ) { return h . inArray ( c , a . aoData [ b ] . anCells ) } , _fnGetCellData : B , _fnSetCellData : jb , _fnSplitObjNotation : Ja , _fnGetObjectDataFn : Q , _fnSetObjectDataFn : R ,
_fnGetDataMaster : Ka , _fnClearTable : na , _fnDeleteIndex : oa , _fnInvalidate : ca , _fnGetRowElements : Ia , _fnCreateTr : Ha , _fnBuildHead : kb , _fnDrawHead : ea , _fnDraw : O , _fnReDraw : T , _fnAddOptionsHtml : nb , _fnDetectHeader : da , _fnGetUniqueThs : qa , _fnFeatureHtmlFilter : pb , _fnFilterComplete : fa , _fnFilterCustom : yb , _fnFilterColumn : xb , _fnFilter : wb , _fnFilterCreateSearch : Pa , _fnEscapeRegex : Qa , _fnFilterData : zb , _fnFeatureHtmlInfo : sb , _fnUpdateInfo : Cb , _fnInfoMacros : Db , _fnInitialise : ga , _fnInitComplete : ta , _fnLengthChange : Ra , _fnFeatureHtmlLength : ob ,
_fnFeatureHtmlPaginate : tb , _fnPageChange : Ta , _fnFeatureHtmlProcessing : qb , _fnProcessingDisplay : C , _fnFeatureHtmlTable : rb , _fnScrollDraw : ka , _fnApplyToChildren : J , _fnCalculateColumnWidths : Fa , _fnThrottle : Oa , _fnConvertToWidth : Fb , _fnGetWidestNode : Gb , _fnGetMaxLenString : Hb , _fnStringToCss : x , _fnSortFlatten : V , _fnSort : mb , _fnSortAria : Jb , _fnSortListener : Va , _fnSortAttachListener : Ma , _fnSortingClasses : va , _fnSortData : Ib , _fnSaveState : wa , _fnLoadState : Kb , _fnSettingsFromNode : xa , _fnLog : L , _fnMap : E , _fnBindAction : Wa , _fnCallbackReg : z ,
_fnCallbackFire : u , _fnLengthOverflow : Sa , _fnRenderer : Na , _fnDataSource : y , _fnRowAttributes : La , _fnCalculateEnd : function ( ) { } } ) ; h . fn . dataTable = m ; m . $ = h ; h . fn . dataTableSettings = m . settings ; h . fn . dataTableExt = m . ext ; h . fn . DataTable = function ( a ) { return h ( this ) . dataTable ( a ) . api ( ) } ; h . each ( m , function ( a , b ) { h . fn . DataTable [ a ] = b } ) ; return h . fn . dataTable } ) ;
2016-09-03 11:05:50 +00:00
/ * !
DataTables Bootstrap 3 integration
© 2011 - 2015 SpryMedia Ltd - datatables . net / license
* /
2016-09-22 08:06:46 +00:00
( function ( b ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( a ) { return b ( a , window , document ) } ) : "object" === typeof exports ? module . exports = function ( a , d ) { a || ( a = window ) ; if ( ! d || ! d . fn . dataTable ) d = require ( "datatables.net" ) ( a , d ) . $ ; return b ( d , a , a . document ) } : b ( jQuery , window , document ) } ) ( function ( b , a , d ) { var f = b . fn . dataTable ; b . extend ( ! 0 , f . defaults , { dom : "<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>" , renderer : "bootstrap" } ) ; b . extend ( f . ext . classes ,
{ sWrapper : "dataTables_wrapper form-inline dt-bootstrap" , sFilterInput : "form-control input-sm" , sLengthSelect : "form-control input-sm" , sProcessing : "dataTables_processing panel panel-default" } ) ; f . ext . renderer . pageButton . bootstrap = function ( a , h , r , m , j , n ) { var o = new f . Api ( a ) , s = a . oClasses , k = a . oLanguage . oPaginate , t = a . oLanguage . oAria . paginate || { } , e , g , p = 0 , q = function ( d , f ) { var l , h , i , c , m = function ( a ) { a . preventDefault ( ) ; ! b ( a . currentTarget ) . hasClass ( "disabled" ) && o . page ( ) != a . data . action && o . page ( a . data . action ) . draw ( "page" ) } ;
l = 0 ; for ( h = f . length ; l < h ; l ++ ) if ( c = f [ l ] , b . isArray ( c ) ) q ( d , c ) ; else { g = e = "" ; switch ( c ) { case "ellipsis" : e = "…" ; g = "disabled" ; break ; case "first" : e = k . sFirst ; g = c + ( 0 < j ? "" : " disabled" ) ; break ; case "previous" : e = k . sPrevious ; g = c + ( 0 < j ? "" : " disabled" ) ; break ; case "next" : e = k . sNext ; g = c + ( j < n - 1 ? "" : " disabled" ) ; break ; case "last" : e = k . sLast ; g = c + ( j < n - 1 ? "" : " disabled" ) ; break ; default : e = c + 1 , g = j === c ? "active" : "" } e && ( i = b ( "<li>" , { "class" : s . sPageButton + " " + g , id : 0 === r && "string" === typeof c ? a . sTableId + "_" + c : null } ) . append ( b ( "<a>" , { href : "#" ,
"aria-controls" : a . sTableId , "aria-label" : t [ c ] , "data-dt-idx" : p , tabindex : a . iTabIndex } ) . html ( e ) ) . appendTo ( d ) , a . oApi . _fnBindAction ( i , { action : c } , m ) , p ++ ) } } , i ; try { i = b ( h ) . find ( d . activeElement ) . data ( "dt-idx" ) } catch ( u ) { } q ( b ( h ) . empty ( ) . html ( '<ul class="pagination"/>' ) . children ( "ul" ) , m ) ; i && b ( h ) . find ( "[data-dt-idx=" + i + "]" ) . focus ( ) } ; return f } ) ;
2016-09-03 11:05:50 +00:00
/ * !
2016-09-22 08:06:46 +00:00
Buttons for DataTables 1.2 . 2
© 2016 SpryMedia Ltd - datatables . net / license
2016-09-03 11:05:50 +00:00
* /
2016-09-22 08:06:46 +00:00
( function ( d ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( n ) { return d ( n , window , document ) } ) : "object" === typeof exports ? module . exports = function ( n , o ) { n || ( n = window ) ; if ( ! o || ! o . fn . dataTable ) o = require ( "datatables.net" ) ( n , o ) . $ ; return d ( o , n , n . document ) } : d ( jQuery , window , document ) } ) ( function ( d , n , o , m ) { var i = d . fn . dataTable , u = 0 , v = 0 , j = i . ext . buttons , l = function ( a , b ) { ! 0 === b && ( b = { } ) ; d . isArray ( b ) && ( b = { buttons : b } ) ; this . c = d . extend ( ! 0 , { } , l . defaults , b ) ; b . buttons && ( this . c . buttons = b . buttons ) ;
this . s = { dt : new i . Api ( a ) , buttons : [ ] , listenKeys : "" , namespace : "dtb" + u ++ } ; this . dom = { container : d ( "<" + this . c . dom . container . tag + "/>" ) . addClass ( this . c . dom . container . className ) } ; this . _constructor ( ) } ; d . extend ( l . prototype , { action : function ( a , b ) { var c = this . _nodeToButton ( a ) ; if ( b === m ) return c . conf . action ; c . conf . action = b ; return this } , active : function ( a , b ) { var c = this . _nodeToButton ( a ) , e = this . c . dom . button . active , c = d ( c . node ) ; if ( b === m ) return c . hasClass ( e ) ; c . toggleClass ( e , b === m ? ! 0 : b ) ; return this } , add : function ( a , b ) { var c =
this . s . buttons ; if ( "string" === typeof b ) { for ( var e = b . split ( "-" ) , c = this . s , d = 0 , h = e . length - 1 ; d < h ; d ++ ) c = c . buttons [ 1 * e [ d ] ] ; c = c . buttons ; b = 1 * e [ e . length - 1 ] } this . _expandButton ( c , a , ! 1 , b ) ; this . _draw ( ) ; return this } , container : function ( ) { return this . dom . container } , disable : function ( a ) { a = this . _nodeToButton ( a ) ; d ( a . node ) . addClass ( this . c . dom . button . disabled ) ; return this } , destroy : function ( ) { d ( "body" ) . off ( "keyup." + this . s . namespace ) ; var a = this . s . buttons . slice ( ) , b , c ; b = 0 ; for ( c = a . length ; b < c ; b ++ ) this . remove ( a [ b ] . node ) ; this . dom . container . remove ( ) ;
a = this . s . dt . settings ( ) [ 0 ] ; b = 0 ; for ( c = a . length ; b < c ; b ++ ) if ( a . inst === this ) { a . splice ( b , 1 ) ; break } return this } , enable : function ( a , b ) { if ( ! 1 === b ) return this . disable ( a ) ; var c = this . _nodeToButton ( a ) ; d ( c . node ) . removeClass ( this . c . dom . button . disabled ) ; return this } , name : function ( ) { return this . c . name } , node : function ( a ) { a = this . _nodeToButton ( a ) ; return d ( a . node ) } , remove : function ( a ) { var b = this . _nodeToButton ( a ) , c = this . _nodeToHost ( a ) , e = this . s . dt ; if ( b . buttons . length ) for ( var g = b . buttons . length - 1 ; 0 <= g ; g -- ) this . remove ( b . buttons [ g ] . node ) ;
b . conf . destroy && b . conf . destroy . call ( e . button ( a ) , e , d ( a ) , b . conf ) ; this . _removeKey ( b . conf ) ; d ( b . node ) . remove ( ) ; a = d . inArray ( b , c ) ; c . splice ( a , 1 ) ; return this } , text : function ( a , b ) { var c = this . _nodeToButton ( a ) , e = this . c . dom . collection . buttonLiner , e = c . inCollection && e && e . tag ? e . tag : this . c . dom . buttonLiner . tag , g = this . s . dt , h = d ( c . node ) , f = function ( a ) { return "function" === typeof a ? a ( g , h , c . conf ) : a } ; if ( b === m ) return f ( c . conf . text ) ; c . conf . text = b ; e ? h . children ( e ) . html ( f ( b ) ) : h . html ( f ( b ) ) ; return this } , _constructor : function ( ) { var a =
this , b = this . s . dt , c = b . settings ( ) [ 0 ] , e = this . c . buttons ; c . _buttons || ( c . _buttons = [ ] ) ; c . _buttons . push ( { inst : this , name : this . c . name } ) ; for ( var c = 0 , g = e . length ; c < g ; c ++ ) this . add ( e [ c ] ) ; b . on ( "destroy" , function ( ) { a . destroy ( ) } ) ; d ( "body" ) . on ( "keyup." + this . s . namespace , function ( b ) { if ( ! o . activeElement || o . activeElement === o . body ) { var c = String . fromCharCode ( b . keyCode ) . toLowerCase ( ) ; a . s . listenKeys . toLowerCase ( ) . indexOf ( c ) !== - 1 && a . _keypress ( c , b ) } } ) } , _addKey : function ( a ) { a . key && ( this . s . listenKeys += d . isPlainObject ( a . key ) ? a . key . key :
a . key ) } , _draw : function ( a , b ) { a || ( a = this . dom . container , b = this . s . buttons ) ; a . children ( ) . detach ( ) ; for ( var c = 0 , e = b . length ; c < e ; c ++ ) a . append ( b [ c ] . inserter ) , b [ c ] . buttons && b [ c ] . buttons . length && this . _draw ( b [ c ] . collection , b [ c ] . buttons ) } , _expandButton : function ( a , b , c , e ) { for ( var g = this . s . dt , h = 0 , b = ! d . isArray ( b ) ? [ b ] : b , f = 0 , r = b . length ; f < r ; f ++ ) { var k = this . _resolveExtends ( b [ f ] ) ; if ( k ) if ( d . isArray ( k ) ) this . _expandButton ( a , k , c , e ) ; else { var p = this . _buildButton ( k , c ) ; if ( p ) { e !== m ? ( a . splice ( e , 0 , p ) , e ++ ) : a . push ( p ) ; if ( p . conf . buttons ) { var s =
this . c . dom . collection ; p . collection = d ( "<" + s . tag + "/>" ) . addClass ( s . className ) ; p . conf . _collection = p . collection ; this . _expandButton ( p . buttons , p . conf . buttons , ! 0 , e ) } k . init && k . init . call ( g . button ( p . node ) , g , d ( p . node ) , k ) ; h ++ } } } } , _buildButton : function ( a , b ) { var c = this . c . dom . button , e = this . c . dom . buttonLiner , g = this . c . dom . collection , h = this . s . dt , f = function ( b ) { return "function" === typeof b ? b ( h , k , a ) : b } ; b && g . button && ( c = g . button ) ; b && g . buttonLiner && ( e = g . buttonLiner ) ; if ( a . available && ! a . available ( h , a ) ) return ! 1 ; var r = function ( a ,
b , c , e ) { e . action . call ( b . button ( c ) , a , b , c , e ) ; d ( b . table ( ) . node ( ) ) . triggerHandler ( "buttons-action.dt" , [ b . button ( c ) , b , c , e ] ) } , k = d ( "<" + c . tag + "/>" ) . addClass ( c . className ) . attr ( "tabindex" , this . s . dt . settings ( ) [ 0 ] . iTabIndex ) . attr ( "aria-controls" , this . s . dt . table ( ) . node ( ) . id ) . on ( "click.dtb" , function ( b ) { b . preventDefault ( ) ; ! k . hasClass ( c . disabled ) && a . action && r ( b , h , k , a ) ; k . blur ( ) } ) . on ( "keyup.dtb" , function ( b ) { b . keyCode === 13 && ! k . hasClass ( c . disabled ) && a . action && r ( b , h , k , a ) } ) ; "a" === c . tag . toLowerCase ( ) && k . attr ( "href" , "#" ) ;
e . tag ? ( g = d ( "<" + e . tag + "/>" ) . html ( f ( a . text ) ) . addClass ( e . className ) , "a" === e . tag . toLowerCase ( ) && g . attr ( "href" , "#" ) , k . append ( g ) ) : k . html ( f ( a . text ) ) ; ! 1 === a . enabled && k . addClass ( c . disabled ) ; a . className && k . addClass ( a . className ) ; a . titleAttr && k . attr ( "title" , a . titleAttr ) ; a . namespace || ( a . namespace = ".dt-button-" + v ++ ) ; e = ( e = this . c . dom . buttonContainer ) && e . tag ? d ( "<" + e . tag + "/>" ) . addClass ( e . className ) . append ( k ) : k ; this . _addKey ( a ) ; return { conf : a , node : k . get ( 0 ) , inserter : e , buttons : [ ] , inCollection : b , collection : null } } , _nodeToButton : function ( a ,
b ) { b || ( b = this . s . buttons ) ; for ( var c = 0 , e = b . length ; c < e ; c ++ ) { if ( b [ c ] . node === a ) return b [ c ] ; if ( b [ c ] . buttons . length ) { var d = this . _nodeToButton ( a , b [ c ] . buttons ) ; if ( d ) return d } } } , _nodeToHost : function ( a , b ) { b || ( b = this . s . buttons ) ; for ( var c = 0 , e = b . length ; c < e ; c ++ ) { if ( b [ c ] . node === a ) return b ; if ( b [ c ] . buttons . length ) { var d = this . _nodeToHost ( a , b [ c ] . buttons ) ; if ( d ) return d } } } , _keypress : function ( a , b ) { var c = function ( e ) { for ( var g = 0 , h = e . length ; g < h ; g ++ ) { var f = e [ g ] . conf , r = e [ g ] . node ; if ( f . key ) if ( f . key === a ) d ( r ) . click ( ) ; else if ( d . isPlainObject ( f . key ) &&
f . key . key === a && ( ! f . key . shiftKey || b . shiftKey ) ) if ( ! f . key . altKey || b . altKey ) if ( ! f . key . ctrlKey || b . ctrlKey ) ( ! f . key . metaKey || b . metaKey ) && d ( r ) . click ( ) ; e [ g ] . buttons . length && c ( e [ g ] . buttons ) } } ; c ( this . s . buttons ) } , _removeKey : function ( a ) { if ( a . key ) { var b = d . isPlainObject ( a . key ) ? a . key . key : a . key , a = this . s . listenKeys . split ( "" ) , b = d . inArray ( b , a ) ; a . splice ( b , 1 ) ; this . s . listenKeys = a . join ( "" ) } } , _resolveExtends : function ( a ) { for ( var b = this . s . dt , c , e , g = function ( c ) { for ( var e = 0 ; ! d . isPlainObject ( c ) && ! d . isArray ( c ) ; ) { if ( c === m ) return ;
if ( "function" === typeof c ) { if ( c = c ( b , a ) , ! c ) return ! 1 } else if ( "string" === typeof c ) { if ( ! j [ c ] ) throw "Unknown button type: " + c ; c = j [ c ] } e ++ ; if ( 30 < e ) throw "Buttons: Too many iterations" ; } return d . isArray ( c ) ? c : d . extend ( { } , c ) } , a = g ( a ) ; a && a . extend ; ) { if ( ! j [ a . extend ] ) throw "Cannot extend unknown button type: " + a . extend ; var h = g ( j [ a . extend ] ) ; if ( d . isArray ( h ) ) return h ; if ( ! h ) return ! 1 ; c = h . className ; a = d . extend ( { } , h , a ) ; c && a . className !== c && ( a . className = c + " " + a . className ) ; var f = a . postfixButtons ; if ( f ) { a . buttons || ( a . buttons = [ ] ) ;
c = 0 ; for ( e = f . length ; c < e ; c ++ ) a . buttons . push ( f [ c ] ) ; a . postfixButtons = null } if ( f = a . prefixButtons ) { a . buttons || ( a . buttons = [ ] ) ; c = 0 ; for ( e = f . length ; c < e ; c ++ ) a . buttons . splice ( c , 0 , f [ c ] ) ; a . prefixButtons = null } a . extend = h . extend } return a } } ) ; l . background = function ( a , b , c ) { c === m && ( c = 400 ) ; a ? d ( "<div/>" ) . addClass ( b ) . css ( "display" , "none" ) . appendTo ( "body" ) . fadeIn ( c ) : d ( "body > div." + b ) . fadeOut ( c , function ( ) { d ( this ) . removeClass ( b ) . remove ( ) } ) } ; l . instanceSelector = function ( a , b ) { if ( ! a ) return d . map ( b , function ( a ) { return a . inst } ) ; var c =
[ ] , e = d . map ( b , function ( a ) { return a . name } ) , g = function ( a ) { if ( d . isArray ( a ) ) for ( var f = 0 , r = a . length ; f < r ; f ++ ) g ( a [ f ] ) ; else "string" === typeof a ? - 1 !== a . indexOf ( "," ) ? g ( a . split ( "," ) ) : ( a = d . inArray ( d . trim ( a ) , e ) , - 1 !== a && c . push ( b [ a ] . inst ) ) : "number" === typeof a && c . push ( b [ a ] . inst ) } ; g ( a ) ; return c } ; l . buttonSelector = function ( a , b ) { for ( var c = [ ] , e = function ( a , b , c ) { for ( var d , g , f = 0 , h = b . length ; f < h ; f ++ ) if ( d = b [ f ] ) g = c !== m ? c + f : f + "" , a . push ( { node : d . node , name : d . conf . name , idx : g } ) , d . buttons && e ( a , d . buttons , g + "-" ) } , g = function ( a , b ) { var f ,
h , i = [ ] ; e ( i , b . s . buttons ) ; f = d . map ( i , function ( a ) { return a . node } ) ; if ( d . isArray ( a ) || a instanceof d ) { f = 0 ; for ( h = a . length ; f < h ; f ++ ) g ( a [ f ] , b ) } else if ( null === a || a === m || "*" === a ) { f = 0 ; for ( h = i . length ; f < h ; f ++ ) c . push ( { inst : b , node : i [ f ] . node } ) } else if ( "number" === typeof a ) c . push ( { inst : b , node : b . s . buttons [ a ] . node } ) ; else if ( "string" === typeof a ) if ( - 1 !== a . indexOf ( "," ) ) { i = a . split ( "," ) ; f = 0 ; for ( h = i . length ; f < h ; f ++ ) g ( d . trim ( i [ f ] ) , b ) } else if ( a . match ( /^\d+(\-\d+)*$/ ) ) f = d . map ( i , function ( a ) { return a . idx } ) , c . push ( { inst : b , node : i [ d . inArray ( a ,
f ) ] . node } ) ; else if ( - 1 !== a . indexOf ( ":name" ) ) { var j = a . replace ( ":name" , "" ) ; f = 0 ; for ( h = i . length ; f < h ; f ++ ) i [ f ] . name === j && c . push ( { inst : b , node : i [ f ] . node } ) } else d ( f ) . filter ( a ) . each ( function ( ) { c . push ( { inst : b , node : this } ) } ) ; else "object" === typeof a && a . nodeName && ( i = d . inArray ( a , f ) , - 1 !== i && c . push ( { inst : b , node : f [ i ] } ) ) } , h = 0 , f = a . length ; h < f ; h ++ ) g ( b , a [ h ] ) ; return c } ; l . defaults = { buttons : [ "copy" , "excel" , "csv" , "pdf" , "print" ] , name : "main" , tabIndex : 0 , dom : { container : { tag : "div" , className : "dt-buttons" } , collection : { tag : "div" , className : "dt-button-collection" } ,
button : { tag : "a" , className : "dt-button" , active : "active" , disabled : "disabled" } , buttonLiner : { tag : "span" , className : "" } } } ; l . version = "1.2.2" ; d . extend ( j , { collection : { text : function ( a ) { return a . i18n ( "buttons.collection" , "Collection" ) } , className : "buttons-collection" , action : function ( a , b , c , e ) { var a = c . offset ( ) , g = d ( b . table ( ) . container ( ) ) , h = ! 1 ; d ( "div.dt-button-background" ) . length && ( h = d ( "div.dt-button-collection" ) . offset ( ) , d ( "body" ) . trigger ( "click.dtb-collection" ) ) ; e . _collection . addClass ( e . collectionLayout ) . css ( "display" ,
"none" ) . appendTo ( "body" ) . fadeIn ( e . fade ) ; var f = e . _collection . css ( "position" ) ; h && "absolute" === f ? e . _collection . css ( { top : h . top + 5 , left : h . left + 5 } ) : "absolute" === f ? ( e . _collection . css ( { top : a . top + c . outerHeight ( ) , left : a . left } ) , c = a . left + e . _collection . outerWidth ( ) , g = g . offset ( ) . left + g . width ( ) , c > g && e . _collection . css ( "left" , a . left - ( c - g ) ) ) : ( a = e . _collection . height ( ) / 2 , a > d ( n ) . height ( ) / 2 && ( a = d ( n ) . height ( ) / 2 ) , e . _collection . css ( "marginTop" , - 1 * a ) ) ; e . background && l . background ( ! 0 , e . backgroundClassName , e . fade ) ; setTimeout ( function ( ) { d ( "div.dt-button-background" ) . on ( "click.dtb-collection" ,
function ( ) { } ) ; d ( "body" ) . on ( "click.dtb-collection" , function ( a ) { var c = d . fn . addBack ? "addBack" : "andSelf" ; if ( ! d ( a . target ) . parents ( ) [ c ] ( ) . filter ( e . _collection ) . length ) { e . _collection . fadeOut ( e . fade , function ( ) { e . _collection . detach ( ) } ) ; d ( "div.dt-button-background" ) . off ( "click.dtb-collection" ) ; l . background ( false , e . backgroundClassName , e . fade ) ; d ( "body" ) . off ( "click.dtb-collection" ) ; b . off ( "buttons-action.b-internal" ) } } ) } , 10 ) ; if ( e . autoClose ) b . on ( "buttons-action.b-internal" , function ( ) { d ( "div.dt-button-background" ) . click ( ) } ) } ,
background : ! 0 , collectionLayout : "" , backgroundClassName : "dt-button-background" , autoClose : ! 1 , fade : 400 } , copy : function ( a , b ) { if ( j . copyHtml5 ) return "copyHtml5" ; if ( j . copyFlash && j . copyFlash . available ( a , b ) ) return "copyFlash" } , csv : function ( a , b ) { if ( j . csvHtml5 && j . csvHtml5 . available ( a , b ) ) return "csvHtml5" ; if ( j . csvFlash && j . csvFlash . available ( a , b ) ) return "csvFlash" } , excel : function ( a , b ) { if ( j . excelHtml5 && j . excelHtml5 . available ( a , b ) ) return "excelHtml5" ; if ( j . excelFlash && j . excelFlash . available ( a , b ) ) return "excelFlash" } , pdf : function ( a ,
b ) { if ( j . pdfHtml5 && j . pdfHtml5 . available ( a , b ) ) return "pdfHtml5" ; if ( j . pdfFlash && j . pdfFlash . available ( a , b ) ) return "pdfFlash" } , pageLength : function ( a ) { var a = a . settings ( ) [ 0 ] . aLengthMenu , b = d . isArray ( a [ 0 ] ) ? a [ 0 ] : a , c = d . isArray ( a [ 0 ] ) ? a [ 1 ] : a , e = function ( a ) { return a . i18n ( "buttons.pageLength" , { "-1" : "Show all rows" , _ : "Show %d rows" } , a . page . len ( ) ) } ; return { extend : "collection" , text : e , className : "buttons-page-length" , autoClose : ! 0 , buttons : d . map ( b , function ( a , b ) { return { text : c [ b ] , action : function ( b , c ) { c . page . len ( a ) . draw ( ) } , init : function ( b ,
c , e ) { var d = this , c = function ( ) { d . active ( b . page . len ( ) === a ) } ; b . on ( "length.dt" + e . namespace , c ) ; c ( ) } , destroy : function ( a , b , c ) { a . off ( "length.dt" + c . namespace ) } } } ) , init : function ( a , b , c ) { var d = this ; a . on ( "length.dt" + c . namespace , function ( ) { d . text ( e ( a ) ) } ) } , destroy : function ( a , b , c ) { a . off ( "length.dt" + c . namespace ) } } } } ) ; i . Api . register ( "buttons()" , function ( a , b ) { b === m && ( b = a , a = m ) ; this . selector . buttonGroup = a ; var c = this . iterator ( ! 0 , "table" , function ( c ) { if ( c . _buttons ) return l . buttonSelector ( l . instanceSelector ( a , c . _buttons ) ,
b ) } , ! 0 ) ; c . _groupSelector = a ; return c } ) ; i . Api . register ( "button()" , function ( a , b ) { var c = this . buttons ( a , b ) ; 1 < c . length && c . splice ( 1 , c . length ) ; return c } ) ; i . Api . registerPlural ( "buttons().active()" , "button().active()" , function ( a ) { return a === m ? this . map ( function ( a ) { return a . inst . active ( a . node ) } ) : this . each ( function ( b ) { b . inst . active ( b . node , a ) } ) } ) ; i . Api . registerPlural ( "buttons().action()" , "button().action()" , function ( a ) { return a === m ? this . map ( function ( a ) { return a . inst . action ( a . node ) } ) : this . each ( function ( b ) { b . inst . action ( b . node ,
a ) } ) } ) ; i . Api . register ( [ "buttons().enable()" , "button().enable()" ] , function ( a ) { return this . each ( function ( b ) { b . inst . enable ( b . node , a ) } ) } ) ; i . Api . register ( [ "buttons().disable()" , "button().disable()" ] , function ( ) { return this . each ( function ( a ) { a . inst . disable ( a . node ) } ) } ) ; i . Api . registerPlural ( "buttons().nodes()" , "button().node()" , function ( ) { var a = d ( ) ; d ( this . each ( function ( b ) { a = a . add ( b . inst . node ( b . node ) ) } ) ) ; return a } ) ; i . Api . registerPlural ( "buttons().text()" , "button().text()" , function ( a ) { return a === m ? this . map ( function ( a ) { return a . inst . text ( a . node ) } ) :
this . each ( function ( b ) { b . inst . text ( b . node , a ) } ) } ) ; i . Api . registerPlural ( "buttons().trigger()" , "button().trigger()" , function ( ) { return this . each ( function ( a ) { a . inst . node ( a . node ) . trigger ( "click" ) } ) } ) ; i . Api . registerPlural ( "buttons().containers()" , "buttons().container()" , function ( ) { var a = d ( ) , b = this . _groupSelector ; this . iterator ( ! 0 , "table" , function ( c ) { if ( c . _buttons ) for ( var c = l . instanceSelector ( b , c . _buttons ) , d = 0 , g = c . length ; d < g ; d ++ ) a = a . add ( c [ d ] . container ( ) ) } ) ; return a } ) ; i . Api . register ( "button().add()" , function ( a ,
b ) { var c = this . context ; c . length && ( c = l . instanceSelector ( this . _groupSelector , c [ 0 ] . _buttons ) , c . length && c [ 0 ] . add ( b , a ) ) ; return this . button ( this . _groupSelector , a ) } ) ; i . Api . register ( "buttons().destroy()" , function ( ) { this . pluck ( "inst" ) . unique ( ) . each ( function ( a ) { a . destroy ( ) } ) ; return this } ) ; i . Api . registerPlural ( "buttons().remove()" , "buttons().remove()" , function ( ) { this . each ( function ( a ) { a . inst . remove ( a . node ) } ) ; return this } ) ; var q ; i . Api . register ( "buttons.info()" , function ( a , b , c ) { var e = this ; if ( ! 1 === a ) return d ( "#datatables_buttons_info" ) . fadeOut ( function ( ) { d ( this ) . remove ( ) } ) ,
clearTimeout ( q ) , q = null , this ; q && clearTimeout ( q ) ; d ( "#datatables_buttons_info" ) . length && d ( "#datatables_buttons_info" ) . remove ( ) ; d ( '<div id="datatables_buttons_info" class="dt-button-info"/>' ) . html ( a ? "<h2>" + a + "</h2>" : "" ) . append ( d ( "<div/>" ) [ "string" === typeof b ? "html" : "append" ] ( b ) ) . css ( "display" , "none" ) . appendTo ( "body" ) . fadeIn ( ) ; c !== m && 0 !== c && ( q = setTimeout ( function ( ) { e . buttons . info ( ! 1 ) } , c ) ) ; return this } ) ; i . Api . register ( "buttons.exportData()" , function ( a ) { if ( this . context . length ) { for ( var b = new i . Api ( this . context [ 0 ] ) ,
c = d . extend ( ! 0 , { } , { rows : null , columns : "" , modifier : { search : "applied" , order : "applied" } , orthogonal : "display" , stripHtml : ! 0 , stripNewlines : ! 0 , decodeEntities : ! 0 , trim : ! 0 , format : { header : function ( a ) { return e ( a ) } , footer : function ( a ) { return e ( a ) } , body : function ( a ) { return e ( a ) } } } , a ) , e = function ( a ) { if ( "string" !== typeof a ) return a ; c . stripHtml && ( a = a . replace ( /<[^>]*>/g , "" ) ) ; c . trim && ( a = a . replace ( /^\s+|\s+$/g , "" ) ) ; c . stripNewlines && ( a = a . replace ( /\n/g , " " ) ) ; c . decodeEntities && ( t . innerHTML = a , a = t . value ) ; return a } , a = b . columns ( c . columns ) . indexes ( ) . map ( function ( a ) { var d =
b . column ( a ) . header ( ) ; return c . format . header ( d . innerHTML , a , d ) } ) . toArray ( ) , g = b . table ( ) . footer ( ) ? b . columns ( c . columns ) . indexes ( ) . map ( function ( a ) { var d = b . column ( a ) . footer ( ) ; return c . format . footer ( d ? d . innerHTML : "" , a , d ) } ) . toArray ( ) : null , h = b . rows ( c . rows , c . modifier ) . indexes ( ) . toArray ( ) , f = b . cells ( h , c . columns ) . render ( c . orthogonal ) . toArray ( ) , h = b . cells ( h , c . columns ) . nodes ( ) . toArray ( ) , j = a . length , k = 0 < j ? f . length / j : 0 , l = Array ( k ) , m = 0 , n = 0 ; n < k ; n ++ ) { for ( var o = Array ( j ) , q = 0 ; q < j ; q ++ ) o [ q ] = c . format . body ( f [ m ] , n , q , h [ m ] ) , m ++ ; l [ n ] =
o } return { header : a , footer : g , body : l } } } ) ; var t = d ( "<textarea/>" ) [ 0 ] ; d . fn . dataTable . Buttons = l ; d . fn . DataTable . Buttons = l ; d ( o ) . on ( "init.dt plugin-init.dt" , function ( a , b ) { if ( "dt" === a . namespace ) { var c = b . oInit . buttons || i . defaults . buttons ; c && ! b . _buttons && ( new l ( b , c ) ) . container ( ) } } ) ; i . ext . feature . push ( { fnInit : function ( a ) { var a = new i . Api ( a ) , b = a . init ( ) . buttons || i . defaults . buttons ; return ( new l ( a , b ) ) . container ( ) } , cFeature : "B" } ) ; return l } ) ;
2016-09-03 11:05:50 +00:00
/ * !
Bootstrap integration for DataTables ' Buttons
2016-09-22 08:06:46 +00:00
© 2016 SpryMedia Ltd - datatables . net / license
2016-09-03 11:05:50 +00:00
* /
( function ( c ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net-bs" , "datatables.net-buttons" ] , function ( a ) { return c ( a , window , document ) } ) : "object" === typeof exports ? module . exports = function ( a , b ) { a || ( a = window ) ; if ( ! b || ! b . fn . dataTable ) b = require ( "datatables.net-bs" ) ( a , b ) . $ ; b . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( a , b ) ; return c ( b , a , a . document ) } : c ( jQuery , window , document ) } ) ( function ( c ) { var a = c . fn . dataTable ; c . extend ( ! 0 , a . Buttons . defaults , { dom : { container : { className : "dt-buttons btn-group" } ,
button : { className : "btn btn-default" } , collection : { tag : "ul" , className : "dt-button-collection dropdown-menu" , button : { tag : "li" , className : "dt-button" } , buttonLiner : { tag : "a" , className : "" } } } } ) ; a . ext . buttons . collection . text = function ( a ) { return a . i18n ( "buttons.collection" , 'Collection <span class="caret"/>' ) } ; return a . Buttons } ) ;
2016-09-22 08:06:46 +00:00
( function ( g ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" , "datatables.net-buttons" ] , function ( d ) { return g ( d , window , document ) } ) : "object" === typeof exports ? module . exports = function ( d , e ) { d || ( d = window ) ; if ( ! e || ! e . fn . dataTable ) e = require ( "datatables.net" ) ( d , e ) . $ ; e . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( d , e ) ; return g ( e , d , d . document ) } : g ( jQuery , window , document ) } ) ( function ( g , d , e , h ) { d = g . fn . dataTable ; g . extend ( d . ext . buttons , { colvis : function ( a , b ) { return { extend : "collection" ,
text : function ( a ) { return a . i18n ( "buttons.colvis" , "Column visibility" ) } , className : "buttons-colvis" , buttons : [ { extend : "columnsToggle" , columns : b . columns } ] } } , columnsToggle : function ( a , b ) { return a . columns ( b . columns ) . indexes ( ) . map ( function ( a ) { return { extend : "columnToggle" , columns : a } } ) . toArray ( ) } , columnToggle : function ( a , b ) { return { extend : "columnVisibility" , columns : b . columns } } , columnsVisibility : function ( a , b ) { return a . columns ( b . columns ) . indexes ( ) . map ( function ( a ) { return { extend : "columnVisibility" , columns : a , visibility : b . visibility } } ) . toArray ( ) } ,
columnVisibility : { columns : h , text : function ( a , b , c ) { return c . _columnText ( a , c . columns ) } , className : "buttons-columnVisibility" , action : function ( a , b , c , f ) { a = b . columns ( f . columns ) ; b = a . visible ( ) ; a . visible ( f . visibility !== h ? f . visibility : ! ( b . length && b [ 0 ] ) ) } , init : function ( a , b , c ) { var f = this ; a . on ( "column-visibility.dt" + c . namespace , function ( b , d ) { d . bDestroying || f . active ( a . column ( c . columns ) . visible ( ) ) } ) . on ( "column-reorder.dt" + c . namespace , function ( b , d , e ) { 1 === a . columns ( c . columns ) . count ( ) && ( "number" === typeof c . columns &&
( c . columns = e . mapping [ c . columns ] ) , b = a . column ( c . columns ) , f . text ( c . _columnText ( a , c . columns ) ) , f . active ( b . visible ( ) ) ) } ) ; this . active ( a . column ( c . columns ) . visible ( ) ) } , destroy : function ( a , b , c ) { a . off ( "column-visibility.dt" + c . namespace ) . off ( "column-reorder.dt" + c . namespace ) } , _columnText : function ( a , b ) { var c = a . column ( b ) . index ( ) ; return a . settings ( ) [ 0 ] . aoColumns [ c ] . sTitle . replace ( /\n/g , " " ) . replace ( /<.*?>/g , "" ) . replace ( /^\s+|\s+$/g , "" ) } } , colvisRestore : { className : "buttons-colvisRestore" , text : function ( a ) { return a . i18n ( "buttons.colvisRestore" ,
"Restore visibility" ) } , init : function ( a , b , c ) { c . _visOriginal = a . columns ( ) . indexes ( ) . map ( function ( b ) { return a . column ( b ) . visible ( ) } ) . toArray ( ) } , action : function ( a , b , c , d ) { b . columns ( ) . every ( function ( a ) { a = b . colReorder && b . colReorder . transpose ? b . colReorder . transpose ( a , "toOriginal" ) : a ; this . visible ( d . _visOriginal [ a ] ) } ) } } , colvisGroup : { className : "buttons-colvisGroup" , action : function ( a , b , c , d ) { b . columns ( d . show ) . visible ( ! 0 , ! 1 ) ; b . columns ( d . hide ) . visible ( ! 1 , ! 1 ) ; b . columns . adjust ( ) } , show : [ ] , hide : [ ] } } ) ; return d . Buttons } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" , "datatables.net-buttons" ] , function ( j ) { return f ( j , window , document ) } ) : "object" === typeof exports ? module . exports = function ( j , k ) { j || ( j = window ) ; if ( ! k || ! k . fn . dataTable ) k = require ( "datatables.net" ) ( j , k ) . $ ; k . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( j , k ) ; return f ( k , j , j . document ) } : f ( jQuery , window , document ) } ) ( function ( f , j , k , o ) { function l ( a , b , d ) { var c = a . createElement ( b ) ; d && ( d . attr && f ( c ) . attr ( d . attr ) , d . children &&
f . each ( d . children , function ( a , b ) { c . appendChild ( b ) } ) , d . text && c . appendChild ( a . createTextNode ( d . text ) ) ) ; return c } function z ( a , b ) { var d = a . header [ b ] . length , c ; a . footer && a . footer [ b ] . length > d && ( d = a . footer [ b ] . length ) ; for ( var e = 0 , g = a . body . length ; e < g && ! ( c = a . body [ e ] [ b ] . toString ( ) . length , c > d && ( d = c ) , 40 < d ) ; e ++ ) ; return 5 < d ? d : 5 } function v ( a ) { n === o && ( n = - 1 === w . serializeToString ( f . parseXML ( p [ "xl/worksheets/sheet1.xml" ] ) ) . indexOf ( "xmlns:r" ) ) ; f . each ( a , function ( b , d ) { if ( f . isPlainObject ( d ) ) v ( d ) ; else { if ( n ) { var c = d . childNodes [ 0 ] ,
e , g , h = [ ] ; for ( e = c . attributes . length - 1 ; 0 <= e ; e -- ) { g = c . attributes [ e ] . nodeName ; var q = c . attributes [ e ] . nodeValue ; - 1 !== g . indexOf ( ":" ) && ( h . push ( { name : g , value : q } ) , c . removeAttribute ( g ) ) } e = 0 ; for ( g = h . length ; e < g ; e ++ ) q = d . createAttribute ( h [ e ] . name . replace ( ":" , "_dt_b_namespace_token_" ) ) , q . value = h [ e ] . value , c . setAttributeNode ( q ) } c = w . serializeToString ( d ) ; n && ( - 1 === c . indexOf ( "<?xml" ) && ( c = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' + c ) , c = c . replace ( /_dt_b_namespace_token_/g , ":" ) ) ; c = c . replace ( /<row xmlns="" /g ,
"<row " ) . replace ( /<cols xmlns="">/g , "<cols>" ) ; a [ b ] = c } } ) } var i = f . fn . dataTable , h = { version : "1.0.4-TableTools2" , clients : { } , moviePath : "" , nextId : 1 , $ : function ( a ) { "string" == typeof a && ( a = k . 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 , d ) { ( a = this . clients [ a ] ) && a . receiveEvent ( b , d ) } , log : function ( a ) { console . log ( "Flash: " + a ) } , 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 = h . nextId ++ ; this . movieId = "ZeroClipboard_TableToolsMovie_" + this . id ; h . register ( this . id , this ) ; a && this . glue ( a ) } } ; h . Client . prototype = { id : 0 , ready : ! 1 , movie : null , clipText : "" , fileName : "" , action : "copy" , handCursorEnabled : ! 0 , cssEffects : ! 0 , handlers : null , sized : ! 1 , sheetName : "" , glue : function ( a , b ) { this . domElement = h . $ ( a ) ; var d = 99 ; this . domElement . style . zIndex && ( d = parseInt ( this . domElement . style . zIndex ,
10 ) + 1 ) ; var c = h . getDOMObjectPosition ( this . domElement ) ; this . div = k . createElement ( "div" ) ; var e = this . div . style ; e . position = "absolute" ; e . left = "0px" ; e . top = "0px" ; e . width = c . width + "px" ; e . height = c . height + "px" ; e . zIndex = d ; "undefined" != typeof b && "" !== b && ( this . div . title = b ) ; 0 !== c . width && 0 !== c . height && ( this . sized = ! 0 ) ; this . domElement && ( this . domElement . appendChild ( this . div ) , this . div . innerHTML = this . getHTML ( c . width , c . height ) . replace ( /&/g , "&" ) ) } , positionElement : function ( ) { var a = h . 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 d = "" , c = "id=" + this . id + "&width=" + a + "&height=" + b ; if ( navigator . userAgent . match ( /MSIE/ ) ) var e = location . href . match ( /^https/i ) ? "https://" : "http://" , d = d + ( '<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="' + h . 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="' + c + '"/><param name="wmode" value="transparent"/></object>' ) ; else d += '<embed id="' + this . movieId + '" src="' + h . 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="' + c + '" wmode="transparent" />' ; return d } , hide : function ( ) { this . div && ( this . div . style . left = "-2000px" ) } , show : function ( ) { this . reposition ( ) } , destroy : function ( ) { var a = this ; this . domElement && this . div && ( f ( this . div ) . remove ( ) , this . div = this . domElement = null , f . each ( h . clients , function ( b , d ) { d === a && delete h . clients [ b ] } ) ) } ,
reposition : function ( a ) { a && ( ( this . domElement = h . $ ( a ) ) || this . hide ( ) ) ; if ( this . domElement && this . div ) { var a = h . 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 ) } , setFileName : function ( a ) { this . fileName = a ; this . ready && this . movie . setFileName ( a ) } ,
setSheetData : function ( a ) { this . ready && this . movie . setSheetData ( JSON . stringify ( 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 ) { var d , a = a . toString ( ) . toLowerCase ( ) . replace ( /^on/ ,
"" ) ; switch ( a ) { case "load" : this . movie = k . getElementById ( this . movieId ) ; if ( ! this . movie ) { d = this ; setTimeout ( function ( ) { d . receiveEvent ( "load" , null ) } , 1 ) ; return } if ( ! this . ready && navigator . userAgent . match ( /Firefox/ ) && navigator . userAgent . match ( /Windows/ ) ) { d = this ; setTimeout ( function ( ) { d . 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 . 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 c =
0 , e = this . handlers [ a ] . length ; c < e ; c ++ ) { var g = this . handlers [ a ] [ c ] ; if ( "function" == typeof g ) g ( this , b ) ; else if ( "object" == typeof g && 2 == g . length ) g [ 0 ] [ g [ 1 ] ] ( this , b ) ; else if ( "string" == typeof g ) j [ g ] ( this , b ) } } } ; h . hasFlash = function ( ) { try { if ( new ActiveXObject ( "ShockwaveFlash.ShockwaveFlash" ) ) return ! 0 } catch ( a ) { if ( navigator . mimeTypes && navigator . mimeTypes [ "application/x-shockwave-flash" ] !== o && navigator . mimeTypes [ "application/x-shockwave-flash" ] . enabledPlugin ) return ! 0 } return ! 1 } ; j . ZeroClipboard _TableTools = h ; var x = function ( a ,
b ) { b . attr ( "id" ) ; b . parents ( "html" ) . length ? a . glue ( b [ 0 ] , "" ) : setTimeout ( function ( ) { x ( a , b ) } , 500 ) } , r = function ( a , b ) { var d = "*" === a . filename && "*" !== a . title && a . title !== o ? a . title : a . filename ; "function" === typeof d && ( d = d ( ) ) ; - 1 !== d . indexOf ( "*" ) && ( d = f . trim ( d . replace ( "*" , f ( "title" ) . text ( ) ) ) ) ; d = d . replace ( /[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g , "" ) ; return b === o || ! 0 === b ? d + a . extension : d } , A = function ( a ) { var b = "Sheet1" ; a . sheetName && ( b = a . sheetName . replace ( /[\[\]\*\/\\\?\:]/g , "" ) ) ; return b } , s = function ( a , b ) { var d = b . match ( /[\s\S]{1,8192}/g ) ||
[ ] ; a . clearText ( ) ; for ( var c = 0 , e = d . length ; c < e ; c ++ ) a . appendText ( d [ c ] ) } , y = function ( a , b ) { for ( var d = b . newline ? b . newline : navigator . userAgent . match ( /Windows/ ) ? "\r\n" : "\n" , c = a . buttons . exportData ( b . exportOptions ) , e = b . fieldBoundary , g = b . fieldSeparator , f = RegExp ( e , "g" ) , h = b . escapeChar !== o ? b . escapeChar : "\\" , j = function ( a ) { for ( var b = "" , c = 0 , d = a . length ; c < d ; c ++ ) 0 < c && ( b += g ) , b += e ? e + ( "" + a [ c ] ) . replace ( f , h + e ) + e : a [ c ] ; return b } , k = b . header ? j ( c . header ) + d : "" , m = b . footer && c . footer ? d + j ( c . footer ) : "" , l = [ ] , u = 0 , B = c . body . length ; u < B ; u ++ ) l . push ( j ( c . body [ u ] ) ) ;
return { str : k + l . join ( d ) + m , rows : l . length } } , t = { available : function ( ) { return h . hasFlash ( ) } , init : function ( a , b , d ) { h . moviePath = i . Buttons . swfPath ; var c = new h . Client ; c . setHandCursor ( ! 0 ) ; c . addEventListener ( "mouseDown" , function ( ) { d . _fromFlash = ! 0 ; a . button ( b [ 0 ] ) . trigger ( ) ; d . _fromFlash = ! 1 } ) ; x ( c , b ) ; d . _flash = c } , destroy : function ( a , b , d ) { d . _flash . destroy ( ) } , fieldSeparator : "," , fieldBoundary : '"' , exportOptions : { } , title : "*" , filename : "*" , extension : ".csv" , header : ! 0 , footer : ! 1 } ; try { var w = new XMLSerializer , n } catch ( C ) { } var p =
{ "_rels/.rels" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>' , "xl/_rels/workbook.xml.rels" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>' ,
"[Content_Types].xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="xml" ContentType="application/xml" /><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="jpeg" ContentType="image/jpeg" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /></Types>' ,
"xl/workbook.xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><fileVersion appName="xl" lastEdited="5" lowestEdited="5" rupBuild="24816"/><workbookPr showInkAnnotation="0" autoCompressPictures="0"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="25600" windowHeight="19020" tabRatio="500"/></bookViews><sheets><sheet name="" sheetId="1" r:id="rId1"/></sheets></workbook>' ,
"xl/worksheets/sheet1.xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><sheetData/></worksheet>' , "xl/styles.xml" : ' < ? xml version = "1.0" encoding = "UTF-8" ? > < styleSheet xmlns = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns : mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" mc : Ignorable = "x14ac" xmlns : x14ac = "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" > < fonts count = "5" x14ac : knownFonts = "1" > < font > < sz val = "11" / > < name val = "Calibri" / > < /font><font><sz val="11" / > < name val = "Calibri" / > < color rgb = "FFFFFFFF" / > < /font><font><sz val="11" / > < name val = "Calibri" / > < b / > < /font><font><sz val="11" / > < name val = "Calibri" / > < i / > < /font><font><sz val="11" / > < name val = "Calibri" / > < u / > < / f o n t > < / f o n t s > < f i l l s c o u n t = " 6 " > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " n o n e " / > < / f i l l > < f i l l / > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " F F D 9 D 9 D 9 " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " F F D 9 9 7 9 5 " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " f f c 6 e f c e " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " f f c 6 c f e f " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < / f i l l s > < b o r d e r s c o u n t = " 2 " > < b o r d e r > < l e f t / > < r i g h t / > < t o p / > < b o t t o m / > < d i a g o n a l / > < / b o r d e r > < b o r d e r d i a g o n a l U p = " f a l s e " d i a g o n a l D o w n = " f a l s e " > < l e f t s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / l e f t > < r i g h t s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / r i g h t > < t o p s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / t o p > < b o t t o m s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / b o t t o m > < d i a g o n a l / > < / b o r d e r > < / b o r d e r s > < c e l l S t y l e X f s c o u n t = " 1 " > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 0 " b o r d e r I d = " 0 " / > < / c e l l S t y l e X f s > < c e l l X f s c o u n t = " 5 6 " > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 5 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t
i . Buttons . swfPath = "//cdn.datatables.net/buttons/1.2.0/swf/flashExport.swf" ; i . Api . register ( "buttons.resize()" , function ( ) { f . each ( h . clients , function ( a , b ) { b . domElement !== o && b . domElement . parentNode && b . positionElement ( ) } ) } ) ; i . ext . buttons . copyFlash = f . extend ( { } , t , { className : "buttons-copy buttons-flash" , text : function ( a ) { return a . i18n ( "buttons.copy" , "Copy" ) } , action : function ( a , b , d , c ) { c . _fromFlash && ( a = c . _flash , d = y ( b , c ) , c = c . customize ? c . customize ( d . str , c ) : d . str , a . setAction ( "copy" ) , s ( a , c ) , b . buttons . info ( b . i18n ( "buttons.copyTitle" ,
"Copy to clipboard" ) , b . i18n ( "buttons.copySuccess" , { _ : "Copied %d rows to clipboard" , 1 : "Copied 1 row to clipboard" } , d . rows ) , 3E3 ) ) } , fieldSeparator : "\t" , fieldBoundary : "" } ) ; i . ext . buttons . csvFlash = f . extend ( { } , t , { className : "buttons-csv buttons-flash" , text : function ( a ) { return a . i18n ( "buttons.csv" , "CSV" ) } , action : function ( a , b , d , c ) { a = c . _flash ; b = y ( b , c ) ; b = c . customize ? c . customize ( b . str , c ) : b . str ; a . setAction ( "csv" ) ; a . setFileName ( r ( c ) ) ; s ( a , b ) } , escapeChar : '"' } ) ; i . ext . buttons . excelFlash = f . extend ( { } , t , { className : "buttons-excel buttons-flash" ,
text : function ( a ) { return a . i18n ( "buttons.excel" , "Excel" ) } , action : function ( a , b , d , c ) { var a = c . _flash , e = 0 , g = f . parseXML ( p [ "xl/worksheets/sheet1.xml" ] ) , h = g . getElementsByTagName ( "sheetData" ) [ 0 ] , d = { _rels : { ".rels" : f . parseXML ( p [ "_rels/.rels" ] ) } , xl : { _rels : { "workbook.xml.rels" : f . parseXML ( p [ "xl/_rels/workbook.xml.rels" ] ) } , "workbook.xml" : f . parseXML ( p [ "xl/workbook.xml" ] ) , "styles.xml" : f . parseXML ( p [ "xl/styles.xml" ] ) , worksheets : { "sheet1.xml" : g } } , "[Content_Types].xml" : f . parseXML ( p [ "[Content_Types].xml" ] ) } , b = b . buttons . exportData ( c . exportOptions ) ,
j , k , i = function ( a ) { j = e + 1 ; k = l ( g , "row" , { attr : { r : j } } ) ; for ( var b = 0 , c = a . length ; b < c ; b ++ ) { for ( var d = b , i = "" ; 0 <= d ; ) i = String . fromCharCode ( d % 26 + 65 ) + i , d = Math . floor ( d / 26 ) - 1 ; d = i + "" + j ; if ( null === a [ b ] || a [ b ] === o ) a [ b ] = "" ; "number" === typeof a [ b ] || a [ b ] . match && f . trim ( a [ b ] ) . match ( /^-?\d+(\.\d+)?$/ ) && ! f . trim ( a [ b ] ) . match ( /^0\d+/ ) ? d = l ( g , "c" , { attr : { t : "n" , r : d } , children : [ l ( g , "v" , { text : a [ b ] } ) ] } ) : ( i = ! a [ b ] . replace ? a [ b ] : a [ b ] . replace ( /[\x00-\x09\x0B\x0C\x0E-\x1F\x7F-\x9F]/g , "" ) , d = l ( g , "c" , { attr : { t : "inlineStr" , r : d } , children : { row : l ( g ,
"is" , { children : { row : l ( g , "t" , { text : i } ) } } ) } } ) ) ; k . appendChild ( d ) } h . appendChild ( k ) ; e ++ } ; f ( "sheets sheet" , d . xl [ "workbook.xml" ] ) . attr ( "name" , A ( c ) ) ; c . customizeData && c . customizeData ( b ) ; c . header && ( i ( b . header , e ) , f ( "row c" , g ) . attr ( "s" , "2" ) ) ; for ( var m = 0 , n = b . body . length ; m < n ; m ++ ) i ( b . body [ m ] , e ) ; c . footer && b . footer && ( i ( b . footer , e ) , f ( "row:last c" , g ) . attr ( "s" , "2" ) ) ; i = l ( g , "cols" ) ; f ( "worksheet" , g ) . prepend ( i ) ; m = 0 ; for ( n = b . header . length ; m < n ; m ++ ) i . appendChild ( l ( g , "col" , { attr : { min : m + 1 , max : m + 1 , width : z ( b , m ) , customWidth : 1 } } ) ) ;
c . customize && c . customize ( d ) ; v ( d ) ; a . setAction ( "excel" ) ; a . setFileName ( r ( c ) ) ; a . setSheetData ( d ) ; s ( a , "" ) } , extension : ".xlsx" } ) ; i . ext . buttons . pdfFlash = f . extend ( { } , t , { className : "buttons-pdf buttons-flash" , text : function ( a ) { return a . i18n ( "buttons.pdf" , "PDF" ) } , action : function ( a , b , d , c ) { var a = c . _flash , e = b . buttons . exportData ( c . exportOptions ) , g = b . table ( ) . node ( ) . offsetWidth , f = b . columns ( c . columns ) . indexes ( ) . map ( function ( a ) { return b . column ( a ) . header ( ) . offsetWidth / g } ) ; a . setAction ( "pdf" ) ; a . setFileName ( r ( c ) ) ; s ( a , JSON . stringify ( { title : r ( c ,
! 1 ) , message : "function" == typeof c . message ? c . message ( b , d , c ) : c . message , colWidth : f . toArray ( ) , orientation : c . orientation , size : c . pageSize , header : c . header ? e . header : null , footer : c . footer ? e . footer : null , body : e . body } ) ) } , extension : ".pdf" , orientation : "portrait" , pageSize : "A4" , message : "" , newline : "\n" } ) ; return i . Buttons } ) ;
( function ( g ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" , "datatables.net-buttons" ] , function ( i ) { return g ( i , window , document ) } ) : "object" === typeof exports ? module . exports = function ( i , j , t , u ) { i || ( i = window ) ; if ( ! j || ! j . fn . dataTable ) j = require ( "datatables.net" ) ( i , j ) . $ ; j . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( i , j ) ; return g ( j , i , i . document , t , u ) } : g ( jQuery , window , document ) } ) ( function ( g , i , j , t , u , o ) { function E ( a , b ) { v === o && ( v = - 1 === y . serializeToString ( g . parseXML ( F [ "xl/worksheets/sheet1.xml" ] ) ) . indexOf ( "xmlns:r" ) ) ;
g . each ( b , function ( b , c ) { if ( g . isPlainObject ( c ) ) { var f = a . folder ( b ) ; E ( f , c ) } else { if ( v ) { var f = c . childNodes [ 0 ] , e , h , l = [ ] ; for ( e = f . attributes . length - 1 ; 0 <= e ; e -- ) { h = f . attributes [ e ] . nodeName ; var n = f . attributes [ e ] . nodeValue ; - 1 !== h . indexOf ( ":" ) && ( l . push ( { name : h , value : n } ) , f . removeAttribute ( h ) ) } e = 0 ; for ( h = l . length ; e < h ; e ++ ) n = c . createAttribute ( l [ e ] . name . replace ( ":" , "_dt_b_namespace_token_" ) ) , n . value = l [ e ] . value , f . setAttributeNode ( n ) } f = y . serializeToString ( c ) ; v && ( - 1 === f . indexOf ( "<?xml" ) && ( f = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' +
f ) , f = f . replace ( /_dt_b_namespace_token_/g , ":" ) ) ; f = f . replace ( /<row xmlns="" /g , "<row " ) . replace ( /<cols xmlns="">/g , "<cols>" ) ; a . file ( b , f ) } } ) } function p ( a , b , d ) { var c = a . createElement ( b ) ; d && ( d . attr && g ( c ) . attr ( d . attr ) , d . children && g . each ( d . children , function ( a , b ) { c . appendChild ( b ) } ) , d . text && c . appendChild ( a . createTextNode ( d . text ) ) ) ; return c } function N ( a , b ) { var d = a . header [ b ] . length , c ; a . footer && a . footer [ b ] . length > d && ( d = a . footer [ b ] . length ) ; for ( var f = 0 , e = a . body . length ; f < e && ! ( c = a . body [ f ] [ b ] . toString ( ) . length , c > d &&
( d = c ) , 40 < d ) ; f ++ ) ; return 5 < d ? d : 5 } var r = g . fn . dataTable , q ; var h = "undefined" !== typeof self && self || "undefined" !== typeof i && i || this . content ; if ( "undefined" !== typeof navigator && /MSIE [1-9]\./ . test ( navigator . userAgent ) ) q = void 0 ; else { var w = h . document . createElementNS ( "http://www.w3.org/1999/xhtml" , "a" ) , O = "download" in w , G = /Version\/[\d\.]+.*Safari/ . test ( navigator . userAgent ) , z = h . webkitRequestFileSystem , H = h . requestFileSystem || z || h . mozRequestFileSystem , P = function ( a ) { ( h . setImmediate || h . setTimeout ) ( function ( ) { throw a ;
} , 0 ) } , A = 0 , B = function ( a ) { setTimeout ( function ( ) { "string" === typeof a ? ( h . URL || h . webkitURL || h ) . revokeObjectURL ( a ) : a . remove ( ) } , 4E4 ) } , C = function ( a , b , d ) { for ( var b = [ ] . concat ( b ) , c = b . length ; c -- ; ) { var f = a [ "on" + b [ c ] ] ; if ( "function" === typeof f ) try { f . call ( a , d || a ) } catch ( e ) { P ( e ) } } } , I = function ( a ) { return /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i . test ( a . type ) ? new Blob ( [ " " , a ] , { type : a . type } ) : a } , J = function ( a , b , d ) { d || ( a = I ( a ) ) ; var c = this , d = a . type , f = ! 1 , e , g , l = function ( ) { C ( c , [ "writestart" , "progress" ,
"write" , "writeend" ] ) } , n = function ( ) { if ( g && G && "undefined" !== typeof FileReader ) { var b = new FileReader ; b . onloadend = function ( ) { var a = b . result ; g . location . href = "data:attachment/file" + a . slice ( a . search ( /[,;]/ ) ) ; c . readyState = c . DONE ; l ( ) } ; b . readAsDataURL ( a ) ; c . readyState = c . INIT } else { if ( f || ! e ) e = ( h . URL || h . webkitURL || h ) . createObjectURL ( a ) ; g ? g . location . href = e : h . open ( e , "_blank" ) === o && G && ( h . location . href = e ) ; c . readyState = c . DONE ; l ( ) ; B ( e ) } } , m = function ( a ) { return function ( ) { if ( c . readyState !== c . DONE ) return a . apply ( this , arguments ) } } ,
i = { create : ! 0 , exclusive : ! 1 } , s ; c . readyState = c . INIT ; b || ( b = "download" ) ; if ( O ) e = ( h . URL || h . webkitURL || h ) . createObjectURL ( a ) , setTimeout ( function ( ) { w . href = e ; w . download = b ; var a = new MouseEvent ( "click" ) ; w . dispatchEvent ( a ) ; l ( ) ; B ( e ) ; c . readyState = c . DONE } ) ; else { h . chrome && ( d && "application/octet-stream" !== d ) && ( s = a . slice || a . webkitSlice , a = s . call ( a , 0 , a . size , "application/octet-stream" ) , f = ! 0 ) ; z && "download" !== b && ( b += ".download" ) ; if ( "application/octet-stream" === d || z ) g = h ; H ? ( A += a . size , H ( h . TEMPORARY , A , m ( function ( d ) { d . root . getDirectory ( "saved" ,
i , m ( function ( d ) { var e = function ( ) { d . getFile ( b , i , m ( function ( b ) { b . createWriter ( m ( function ( d ) { d . onwriteend = function ( a ) { g . location . href = b . toURL ( ) ; c . readyState = c . DONE ; C ( c , "writeend" , a ) ; B ( b ) } ; d . onerror = function ( ) { var a = d . error ; a . code !== a . ABORT _ERR && n ( ) } ; [ "writestart" , "progress" , "write" , "abort" ] . forEach ( function ( a ) { d [ "on" + a ] = c [ "on" + a ] } ) ; d . write ( a ) ; c . abort = function ( ) { d . abort ( ) ; c . readyState = c . DONE } ; c . readyState = c . WRITING } ) , n ) } ) , n ) } ; d . getFile ( b , { create : false } , m ( function ( a ) { a . remove ( ) ; e ( ) } ) , m ( function ( a ) { a . code ===
a . NOT _FOUND _ERR ? e ( ) : n ( ) } ) ) } ) , n ) } ) , n ) ) : n ( ) } } , k = J . prototype ; "undefined" !== typeof navigator && navigator . msSaveOrOpenBlob ? q = function ( a , b , d ) { d || ( a = I ( a ) ) ; return navigator . msSaveOrOpenBlob ( a , b || "download" ) } : ( k . abort = function ( ) { this . readyState = this . DONE ; C ( this , "abort" ) } , k . readyState = k . INIT = 0 , k . WRITING = 1 , k . DONE = 2 , k . error = k . onwritestart = k . onprogress = k . onwrite = k . onabort = k . onerror = k . onwriteend = null , q = function ( a , b , d ) { return new J ( a , b , d ) } ) } r . fileSave = q ; var x = function ( a , b ) { var d = "*" === a . filename && "*" !== a . title &&
a . title !== o ? a . title : a . filename ; "function" === typeof d && ( d = d ( ) ) ; - 1 !== d . indexOf ( "*" ) && ( d = g . trim ( d . replace ( "*" , g ( "title" ) . text ( ) ) ) ) ; d = d . replace ( /[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g , "" ) ; return b === o || ! 0 === b ? d + a . extension : d } , Q = function ( a ) { var b = "Sheet1" ; a . sheetName && ( b = a . sheetName . replace ( /[\[\]\*\/\\\?\:]/g , "" ) ) ; return b } , R = function ( a ) { a = a . title ; "function" === typeof a && ( a = a ( ) ) ; return - 1 !== a . indexOf ( "*" ) ? a . replace ( "*" , g ( "title" ) . text ( ) || "Exported data" ) : a } , K = function ( a ) { return a . newline ? a . newline : navigator . userAgent . match ( /Windows/ ) ?
"\r\n" : "\n" } , L = function ( a , b ) { for ( var d = K ( b ) , c = a . buttons . exportData ( b . exportOptions ) , f = b . fieldBoundary , e = b . fieldSeparator , g = RegExp ( f , "g" ) , l = b . escapeChar !== o ? b . escapeChar : "\\" , h = function ( a ) { for ( var b = "" , c = 0 , d = a . length ; c < d ; c ++ ) 0 < c && ( b += e ) , b += f ? f + ( "" + a [ c ] ) . replace ( g , l + f ) + f : a [ c ] ; return b } , i = b . header ? h ( c . header ) + d : "" , j = b . footer && c . footer ? d + h ( c . footer ) : "" , s = [ ] , D = 0 , k = c . body . length ; D < k ; D ++ ) s . push ( h ( c . body [ D ] ) ) ; return { str : i + s . join ( d ) + j , rows : s . length } } , M = function ( ) { return - 1 !== navigator . userAgent . indexOf ( "Safari" ) &&
- 1 === navigator . userAgent . indexOf ( "Chrome" ) && - 1 === navigator . userAgent . indexOf ( "Opera" ) } ; try { var y = new XMLSerializer , v } catch ( S ) { } var F = { "_rels/.rels" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>' , "xl/_rels/workbook.xml.rels" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>' ,
"[Content_Types].xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="xml" ContentType="application/xml" /><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="jpeg" ContentType="image/jpeg" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /></Types>' ,
"xl/workbook.xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><fileVersion appName="xl" lastEdited="5" lowestEdited="5" rupBuild="24816"/><workbookPr showInkAnnotation="0" autoCompressPictures="0"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="25600" windowHeight="19020" tabRatio="500"/></bookViews><sheets><sheet name="" sheetId="1" r:id="rId1"/></sheets></workbook>' ,
"xl/worksheets/sheet1.xml" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><sheetData/></worksheet>' , "xl/styles.xml" : ' < ? xml version = "1.0" encoding = "UTF-8" ? > < styleSheet xmlns = "http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns : mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" mc : Ignorable = "x14ac" xmlns : x14ac = "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" > < fonts count = "5" x14ac : knownFonts = "1" > < font > < sz val = "11" / > < name val = "Calibri" / > < /font><font><sz val="11" / > < name val = "Calibri" / > < color rgb = "FFFFFFFF" / > < /font><font><sz val="11" / > < name val = "Calibri" / > < b / > < /font><font><sz val="11" / > < name val = "Calibri" / > < i / > < /font><font><sz val="11" / > < name val = "Calibri" / > < u / > < / f o n t > < / f o n t s > < f i l l s c o u n t = " 6 " > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " n o n e " / > < / f i l l > < f i l l / > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " F F D 9 D 9 D 9 " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " F F D 9 9 7 9 5 " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " f f c 6 e f c e " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < f i l l > < p a t t e r n F i l l p a t t e r n T y p e = " s o l i d " > < f g C o l o r r g b = " f f c 6 c f e f " / > < b g C o l o r i n d e x e d = " 6 4 " / > < / p a t t e r n F i l l > < / f i l l > < / f i l l s > < b o r d e r s c o u n t = " 2 " > < b o r d e r > < l e f t / > < r i g h t / > < t o p / > < b o t t o m / > < d i a g o n a l / > < / b o r d e r > < b o r d e r d i a g o n a l U p = " f a l s e " d i a g o n a l D o w n = " f a l s e " > < l e f t s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / l e f t > < r i g h t s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / r i g h t > < t o p s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / t o p > < b o t t o m s t y l e = " t h i n " > < c o l o r a u t o = " 1 " / > < / b o t t o m > < d i a g o n a l / > < / b o r d e r > < / b o r d e r s > < c e l l S t y l e X f s c o u n t = " 1 " > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 0 " b o r d e r I d = " 0 " / > < / c e l l S t y l e X f s > < c e l l X f s c o u n t = " 5 6 " > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 0 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 2 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 1 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 2 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 3 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 4 " f i l l I d = " 4 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t I d = " 0 " f i l l I d = " 5 " b o r d e r I d = " 0 " a p p l y F o n t = " 1 " a p p l y F i l l = " 1 " a p p l y B o r d e r = " 1 " / > < x f n u m F m t I d = " 0 " f o n t
r . ext . buttons . copyHtml5 = { className : "buttons-copy buttons-html5" , text : function ( a ) { return a . i18n ( "buttons.copy" , "Copy" ) } , action : function ( a , b , d , c ) { var a = L ( b , c ) , f = a . str , d = g ( "<div/>" ) . css ( { height : 1 , width : 1 , overflow : "hidden" , position : "fixed" , top : 0 , left : 0 } ) ; c . customize && ( f = c . customize ( f , c ) ) ; c = g ( "<textarea readonly/>" ) . val ( f ) . appendTo ( d ) ; if ( j . queryCommandSupported ( "copy" ) ) { d . appendTo ( b . table ( ) . container ( ) ) ; c [ 0 ] . focus ( ) ; c [ 0 ] . select ( ) ; try { var e = j . execCommand ( "copy" ) ; d . remove ( ) ; if ( e ) { b . buttons . info ( b . i18n ( "buttons.copyTitle" ,
"Copy to clipboard" ) , b . i18n ( "buttons.copySuccess" , { 1 : "Copied one row to clipboard" , _ : "Copied %d rows to clipboard" } , a . rows ) , 2E3 ) ; return } } catch ( h ) { } } e = g ( "<span>" + b . i18n ( "buttons.copyKeys" , "Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape." ) + "</span>" ) . append ( d ) ; b . buttons . info ( b . i18n ( "buttons.copyTitle" , "Copy to clipboard" ) , e , 0 ) ; c [ 0 ] . focus ( ) ; c [ 0 ] . select ( ) ; var l = g ( e ) . closest ( ".dt-button-info" ) , i = function ( ) { l . off ( "click.buttons-copy" ) ;
g ( j ) . off ( ".buttons-copy" ) ; b . buttons . info ( ! 1 ) } ; l . on ( "click.buttons-copy" , i ) ; g ( j ) . on ( "keydown.buttons-copy" , function ( a ) { 27 === a . keyCode && i ( ) } ) . on ( "copy.buttons-copy cut.buttons-copy" , function ( ) { i ( ) } ) } , exportOptions : { } , fieldSeparator : "\t" , fieldBoundary : "" , header : ! 0 , footer : ! 1 } ; r . ext . buttons . csvHtml5 = { bom : ! 1 , className : "buttons-csv buttons-html5" , available : function ( ) { return i . FileReader !== o && i . Blob } , text : function ( a ) { return a . i18n ( "buttons.csv" , "CSV" ) } , action : function ( a , b , d , c ) { a = L ( b , c ) . str ; b = c . charset ; c . customize &&
( a = c . customize ( a , c ) ) ; ! 1 !== b ? ( b || ( b = j . characterSet || j . charset ) , b && ( b = ";charset=" + b ) ) : b = "" ; c . bom && ( a = " " + a ) ; q ( new Blob ( [ a ] , { type : "text/csv" + b } ) , x ( c ) , ! 0 ) } , filename : "*" , extension : ".csv" , exportOptions : { } , fieldSeparator : "," , fieldBoundary : '"' , escapeChar : '"' , charset : null , header : ! 0 , footer : ! 1 } ; r . ext . buttons . excelHtml5 = { className : "buttons-excel buttons-html5" , available : function ( ) { return i . FileReader !== o && ( t || i . JSZip ) !== o && ! M ( ) && y } , text : function ( a ) { return a . i18n ( "buttons.excel" , "Excel" ) } , action : function ( a , b ,
d , c ) { var f = 0 , a = function ( a ) { return g . parseXML ( F [ a ] ) } , e = a ( "xl/worksheets/sheet1.xml" ) , h = e . getElementsByTagName ( "sheetData" ) [ 0 ] , a = { _rels : { ".rels" : a ( "_rels/.rels" ) } , xl : { _rels : { "workbook.xml.rels" : a ( "xl/_rels/workbook.xml.rels" ) } , "workbook.xml" : a ( "xl/workbook.xml" ) , "styles.xml" : a ( "xl/styles.xml" ) , worksheets : { "sheet1.xml" : e } } , "[Content_Types].xml" : a ( "[Content_Types].xml" ) } , b = b . buttons . exportData ( c . exportOptions ) , l , j , d = function ( a ) { l = f + 1 ; j = p ( e , "row" , { attr : { r : l } } ) ; for ( var b = 0 , c = a . length ; b < c ; b ++ ) { for ( var d =
b , i = "" ; 0 <= d ; ) i = String . fromCharCode ( d % 26 + 65 ) + i , d = Math . floor ( d / 26 ) - 1 ; d = i + "" + l ; if ( null === a [ b ] || a [ b ] === o ) a [ b ] = "" ; "number" === typeof a [ b ] || a [ b ] . match && g . trim ( a [ b ] ) . match ( /^-?\d+(\.\d+)?$/ ) && ! g . trim ( a [ b ] ) . match ( /^0\d+/ ) ? d = p ( e , "c" , { attr : { t : "n" , r : d } , children : [ p ( e , "v" , { text : a [ b ] } ) ] } ) : ( i = ! a [ b ] . replace ? a [ b ] : a [ b ] . replace ( /[\x00-\x09\x0B\x0C\x0E-\x1F\x7F-\x9F]/g , "" ) , d = p ( e , "c" , { attr : { t : "inlineStr" , r : d } , children : { row : p ( e , "is" , { children : { row : p ( e , "t" , { text : i } ) } } ) } } ) ) ; j . appendChild ( d ) } h . appendChild ( j ) ; f ++ } ; g ( "sheets sheet" ,
a . xl [ "workbook.xml" ] ) . attr ( "name" , Q ( c ) ) ; c . customizeData && c . customizeData ( b ) ; c . header && ( d ( b . header , f ) , g ( "row c" , e ) . attr ( "s" , "2" ) ) ; for ( var m = 0 , k = b . body . length ; m < k ; m ++ ) d ( b . body [ m ] , f ) ; c . footer && b . footer && ( d ( b . footer , f ) , g ( "row:last c" , e ) . attr ( "s" , "2" ) ) ; d = p ( e , "cols" ) ; g ( "worksheet" , e ) . prepend ( d ) ; m = 0 ; for ( k = b . header . length ; m < k ; m ++ ) d . appendChild ( p ( e , "col" , { attr : { min : m + 1 , max : m + 1 , width : N ( b , m ) , customWidth : 1 } } ) ) ; c . customize && c . customize ( a ) ; b = new ( t || i . JSZip ) ; d = { type : "blob" , mimeType : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" } ;
E ( b , a ) ; b . generateAsync ? b . generateAsync ( d ) . then ( function ( a ) { q ( a , x ( c ) ) } ) : q ( b . generate ( d ) , x ( c ) ) } , filename : "*" , extension : ".xlsx" , exportOptions : { } , header : ! 0 , footer : ! 1 } ; r . ext . buttons . pdfHtml5 = { className : "buttons-pdf buttons-html5" , available : function ( ) { return i . FileReader !== o && ( u || i . pdfMake ) } , text : function ( a ) { return a . i18n ( "buttons.pdf" , "PDF" ) } , action : function ( a , b , d , c ) { K ( c ) ; var a = b . buttons . exportData ( c . exportOptions ) , f = [ ] ; c . header && f . push ( g . map ( a . header , function ( a ) { return { text : "string" === typeof a ? a : a + "" ,
style : "tableHeader" } } ) ) ; for ( var e = 0 , h = a . body . length ; e < h ; e ++ ) f . push ( g . map ( a . body [ e ] , function ( a ) { return { text : "string" === typeof a ? a : a + "" , style : e % 2 ? "tableBodyEven" : "tableBodyOdd" } } ) ) ; c . footer && a . footer && f . push ( g . map ( a . footer , function ( a ) { return { text : "string" === typeof a ? a : a + "" , style : "tableFooter" } } ) ) ; a = { pageSize : c . pageSize , pageOrientation : c . orientation , content : [ { table : { headerRows : 1 , body : f } , layout : "noBorders" } ] , styles : { tableHeader : { bold : ! 0 , fontSize : 11 , color : "white" , fillColor : "#2d4154" , alignment : "center" } ,
tableBodyEven : { } , tableBodyOdd : { fillColor : "#f3f3f3" } , tableFooter : { bold : ! 0 , fontSize : 11 , color : "white" , fillColor : "#2d4154" } , title : { alignment : "center" , fontSize : 15 } , message : { } } , defaultStyle : { fontSize : 10 } } ; c . message && a . content . unshift ( { text : "function" == typeof c . message ? c . message ( b , d , c ) : c . message , style : "message" , margin : [ 0 , 0 , 0 , 12 ] } ) ; c . title && a . content . unshift ( { text : R ( c , ! 1 ) , style : "title" , margin : [ 0 , 0 , 0 , 12 ] } ) ; c . customize && c . customize ( a , c ) ; b = ( u || i . pdfMake ) . createPdf ( a ) ; "open" === c . download && ! M ( ) ? b . open ( ) : b . getBuffer ( function ( a ) { a =
new Blob ( [ a ] , { type : "application/pdf" } ) ; q ( a , x ( c ) ) } ) } , title : "*" , filename : "*" , extension : ".pdf" , exportOptions : { } , orientation : "portrait" , pageSize : "A4" , header : ! 0 , footer : ! 1 , message : null , customize : null , download : "download" } ; return r . Buttons } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" , "datatables.net-buttons" ] , function ( e ) { return f ( e , window , document ) } ) : "object" === typeof exports ? module . exports = function ( e , c ) { e || ( e = window ) ; if ( ! c || ! c . fn . dataTable ) c = require ( "datatables.net" ) ( e , c ) . $ ; c . fn . dataTable . Buttons || require ( "datatables.net-buttons" ) ( e , c ) ; return f ( c , e , e . document ) } : f ( jQuery , window , document ) } ) ( function ( f , e , c ) { var i = f . fn . dataTable , h = c . createElement ( "a" ) ; i . ext . buttons . print = { className : "buttons-print" ,
text : function ( b ) { return b . i18n ( "buttons.print" , "Print" ) } , action : function ( b , c , i , d ) { var a = c . buttons . exportData ( d . exportOptions ) , k = function ( b , a ) { for ( var c = "<tr>" , d = 0 , e = b . length ; d < e ; d ++ ) c += "<" + a + ">" + b [ d ] + "</" + a + ">" ; return c + "</tr>" } , b = '<table class="' + c . table ( ) . node ( ) . className + '">' ; d . header && ( b += "<thead>" + k ( a . header , "th" ) + "</thead>" ) ; for ( var b = b + "<tbody>" , l = 0 , m = a . body . length ; l < m ; l ++ ) b += k ( a . body [ l ] , "td" ) ; b += "</tbody>" ; d . footer && a . footer && ( b += "<tfoot>" + k ( a . footer , "th" ) + "</tfoot>" ) ; var g = e . open ( "" , "" ) ,
a = d . title ; "function" === typeof a && ( a = a ( ) ) ; - 1 !== a . indexOf ( "*" ) && ( a = a . replace ( "*" , f ( "title" ) . text ( ) ) ) ; g . document . close ( ) ; var j = "<title>" + a + "</title>" ; f ( "style, link" ) . each ( function ( ) { var c = j , b = f ( this ) . clone ( ) [ 0 ] , a ; "link" === b . nodeName . toLowerCase ( ) && ( h . href = b . href , a = h . host , - 1 === a . indexOf ( "/" ) && 0 !== h . pathname . indexOf ( "/" ) && ( a += "/" ) , b . href = h . protocol + "//" + a + h . pathname + h . search ) ; j = c + b . outerHTML } ) ; try { g . document . head . innerHTML = j } catch ( n ) { f ( g . document . head ) . html ( j ) } g . document . body . innerHTML = "<h1>" + a + "</h1><div>" +
( "function" === typeof d . message ? d . message ( c , i , d ) : d . message ) + "</div>" + b ; d . customize && d . customize ( g ) ; setTimeout ( function ( ) { d . autoPrint && ( g . print ( ) , g . close ( ) ) } , 250 ) } , title : "*" , message : "" , exportOptions : { } , header : ! 0 , footer : ! 1 , autoPrint : ! 0 , customize : null } ; return i . Buttons } ) ;
/ * !
ColReorder 1.3 . 2
© 2010 - 2015 SpryMedia Ltd - datatables . net / license
* /
( function ( f ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( o ) { return f ( o , window , document ) } ) : "object" === typeof exports ? module . exports = function ( o , l ) { o || ( o = window ) ; if ( ! l || ! l . fn . dataTable ) l = require ( "datatables.net" ) ( o , l ) . $ ; return f ( l , o , o . document ) } : f ( jQuery , window , document ) } ) ( function ( f , o , l , r ) { function q ( a ) { for ( var b = [ ] , d = 0 , e = a . length ; d < e ; d ++ ) b [ a [ d ] ] = d ; return b } function p ( a , b , d ) { b = a . splice ( b , 1 ) [ 0 ] ; a . splice ( d , 0 , b ) } function s ( a , b , d ) { for ( var e = [ ] , f = 0 , c = a . childNodes . length ; f <
c ; f ++ ) 1 == a . childNodes [ f ] . nodeType && e . push ( a . childNodes [ f ] ) ; b = e [ b ] ; null !== d ? a . insertBefore ( b , e [ d ] ) : a . appendChild ( b ) } var t = f . fn . dataTable ; f . fn . dataTableExt . oApi . fnColReorder = function ( a , b , d , e , g ) { var c , h , j , m , i , l = a . aoColumns . length , k ; i = function ( a , b , c ) { if ( a [ b ] && "function" !== typeof a [ b ] ) { var d = a [ b ] . split ( "." ) , e = d . shift ( ) ; isNaN ( 1 * e ) || ( a [ b ] = c [ 1 * e ] + "." + d . join ( "." ) ) } } ; if ( b != d ) if ( 0 > b || b >= l ) this . oApi . _fnLog ( a , 1 , "ColReorder 'from' index is out of bounds: " + b ) ; else if ( 0 > d || d >= l ) this . oApi . _fnLog ( a , 1 , "ColReorder 'to' index is out of bounds: " +
d ) ; else { j = [ ] ; c = 0 ; for ( h = l ; c < h ; c ++ ) j [ c ] = c ; p ( j , b , d ) ; var n = q ( j ) ; c = 0 ; for ( h = a . aaSorting . length ; c < h ; c ++ ) a . aaSorting [ c ] [ 0 ] = n [ a . aaSorting [ c ] [ 0 ] ] ; if ( null !== a . aaSortingFixed ) { c = 0 ; for ( h = a . aaSortingFixed . length ; c < h ; c ++ ) a . aaSortingFixed [ c ] [ 0 ] = n [ a . aaSortingFixed [ c ] [ 0 ] ] } c = 0 ; for ( h = l ; c < h ; c ++ ) { k = a . aoColumns [ c ] ; j = 0 ; for ( m = k . aDataSort . length ; j < m ; j ++ ) k . aDataSort [ j ] = n [ k . aDataSort [ j ] ] ; k . idx = n [ k . idx ] } f . each ( a . aLastSort , function ( b , c ) { a . aLastSort [ b ] . src = n [ c . src ] } ) ; c = 0 ; for ( h = l ; c < h ; c ++ ) k = a . aoColumns [ c ] , "number" == typeof k . mData ?
k . mData = n [ k . mData ] : f . isPlainObject ( k . mData ) && ( i ( k . mData , "_" , n ) , i ( k . mData , "filter" , n ) , i ( k . mData , "sort" , n ) , i ( k . mData , "type" , n ) ) ; if ( a . aoColumns [ b ] . bVisible ) { i = this . oApi . _fnColumnIndexToVisible ( a , b ) ; m = null ; for ( c = d < b ? d : d + 1 ; null === m && c < l ; ) m = this . oApi . _fnColumnIndexToVisible ( a , c ) , c ++ ; j = a . nTHead . getElementsByTagName ( "tr" ) ; c = 0 ; for ( h = j . length ; c < h ; c ++ ) s ( j [ c ] , i , m ) ; if ( null !== a . nTFoot ) { j = a . nTFoot . getElementsByTagName ( "tr" ) ; c = 0 ; for ( h = j . length ; c < h ; c ++ ) s ( j [ c ] , i , m ) } c = 0 ; for ( h = a . aoData . length ; c < h ; c ++ ) null !== a . aoData [ c ] . nTr &&
s ( a . aoData [ c ] . nTr , i , m ) } p ( a . aoColumns , b , d ) ; c = 0 ; for ( h = l ; c < h ; c ++ ) a . oApi . _fnColumnOptions ( a , c , { } ) ; p ( a . aoPreSearchCols , b , d ) ; c = 0 ; for ( h = a . aoData . length ; c < h ; c ++ ) { m = a . aoData [ c ] ; if ( k = m . anCells ) { p ( k , b , d ) ; j = 0 ; for ( i = k . length ; j < i ; j ++ ) k [ j ] && k [ j ] . _DT _CellIndex && ( k [ j ] . _DT _CellIndex . column = j ) } "dom" !== m . src && f . isArray ( m . _aData ) && p ( m . _aData , b , d ) } c = 0 ; for ( h = a . aoHeader . length ; c < h ; c ++ ) p ( a . aoHeader [ c ] , b , d ) ; if ( null !== a . aoFooter ) { c = 0 ; for ( h = a . aoFooter . length ; c < h ; c ++ ) p ( a . aoFooter [ c ] , b , d ) } ( g || g === r ) && f . fn . dataTable . Api ( a ) . rows ( ) . invalidate ( ) ;
c = 0 ; for ( h = l ; c < h ; c ++ ) f ( a . aoColumns [ c ] . nTh ) . off ( "click.DT" ) , this . oApi . _fnSortAttachListener ( a , a . aoColumns [ c ] . nTh , c ) ; f ( a . oInstance ) . trigger ( "column-reorder.dt" , [ a , { from : b , to : d , mapping : n , drop : e , iFrom : b , iTo : d , aiInvertMapping : n } ] ) } } ; var i = function ( a , b ) { var d = ( new f . fn . dataTable . Api ( a ) ) . settings ( ) [ 0 ] ; if ( d . _colReorder ) return d . _colReorder ; ! 0 === b && ( b = { } ) ; var e = f . fn . dataTable . camelToHungarian ; e && ( e ( i . defaults , i . defaults , ! 0 ) , e ( i . defaults , b || { } ) ) ; this . s = { dt : null , init : f . extend ( ! 0 , { } , i . defaults , b ) , fixed : 0 , fixedRight : 0 ,
reorderCallback : 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 = d ; this . s . dt . _colReorder = this ; this . _fnConstruct ( ) ; return this } ; f . extend ( i . prototype , { fnReset : function ( ) { this . _fnOrderColumns ( this . fnOrder ( ) ) ; return this } , fnGetCurrentOrder : function ( ) { return this . fnOrder ( ) } , fnOrder : function ( a , b ) { var d = [ ] , e , g , c = this . s . dt . aoColumns ; if ( a === r ) { e = 0 ; for ( g = c . length ; e < g ; e ++ ) d . push ( c [ e ] . _ColReorder _iOrigCol ) ; return d } if ( b ) { c =
this . fnOrder ( ) ; e = 0 ; for ( g = a . length ; e < g ; e ++ ) d . push ( f . inArray ( a [ e ] , c ) ) ; a = d } this . _fnOrderColumns ( q ( a ) ) ; return this } , fnTranspose : function ( a , b ) { b || ( b = "toCurrent" ) ; var d = this . fnOrder ( ) , e = this . s . dt . aoColumns ; return "toCurrent" === b ? ! f . isArray ( a ) ? f . inArray ( a , d ) : f . map ( a , function ( a ) { return f . inArray ( a , d ) } ) : ! f . isArray ( a ) ? e [ a ] . _ColReorder _iOrigCol : f . map ( a , function ( a ) { return e [ a ] . _ColReorder _iOrigCol } ) } , _fnConstruct : function ( ) { var a = this , b = this . s . dt . aoColumns . length , d = this . s . dt . nTable , e ; this . s . init . iFixedColumns &&
( this . s . fixed = this . s . init . iFixedColumns ) ; this . s . init . iFixedColumnsLeft && ( this . s . fixed = this . s . init . iFixedColumnsLeft ) ; this . s . fixedRight = this . s . init . iFixedColumnsRight ? this . s . init . iFixedColumnsRight : 0 ; this . s . init . fnReorderCallback && ( this . s . reorderCallback = this . s . init . fnReorderCallback ) ; for ( e = 0 ; e < b ; e ++ ) e > this . s . fixed - 1 && e < b - this . s . fixedRight && this . _fnMouseListener ( e , this . s . dt . aoColumns [ e ] . nTh ) , this . s . dt . aoColumns [ e ] . _ColReorder _iOrigCol = e ; this . s . dt . oApi . _fnCallbackReg ( this . s . dt , "aoStateSaveParams" , function ( b ,
c ) { a . _fnStateSave . call ( a , c ) } , "ColReorder_State" ) ; var g = null ; this . s . init . aiOrder && ( g = 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 ) && ( g = this . s . dt . oLoadedState . ColReorder ) ; if ( g ) if ( a . s . dt . _bInitComplete ) b = q ( g ) , a . _fnOrderColumns . call ( a , b ) ; else { var c = ! 1 ; f ( d ) . on ( "draw.dt.colReorder" , function ( ) { if ( ! a . s . dt . _bInitComplete && ! c ) { c = true ; var b = q ( g ) ; a . _fnOrderColumns . call ( a , b ) } } ) } else this . _fnSetColumnIndexes ( ) ;
f ( d ) . on ( "destroy.dt.colReorder" , function ( ) { f ( d ) . off ( "destroy.dt.colReorder draw.dt.colReorder" ) ; f ( a . s . dt . nTHead ) . find ( "*" ) . off ( ".ColReorder" ) ; f . each ( a . s . dt . aoColumns , function ( a , b ) { f ( b . nTh ) . removeAttr ( "data-column-index" ) } ) ; a . s . dt . _colReorder = null ; a . s = null } ) } , _fnOrderColumns : function ( a ) { var b = ! 1 ; 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 d = 0 , e = a . length ; d < e ; d ++ ) { var g =
f . inArray ( d , a ) ; d != g && ( p ( a , g , d ) , this . s . dt . oInstance . fnColReorder ( g , d , ! 0 , ! 1 ) , b = ! 0 ) } f . fn . dataTable . Api ( this . s . dt ) . rows ( ) . invalidate ( ) ; this . _fnSetColumnIndexes ( ) ; b && ( ( "" !== this . s . dt . oScroll . sX || "" !== this . s . dt . oScroll . sY ) && this . s . dt . oInstance . fnAdjustColumnSizing ( ! 1 ) , this . s . dt . oInstance . oApi . _fnSaveState ( this . s . dt ) , null !== this . s . reorderCallback && this . s . reorderCallback . call ( this ) ) } } , _fnStateSave : function ( a ) { var b , d , e , g = this . s . dt . aoColumns ; a . ColReorder = [ ] ; if ( a . aaSorting ) { for ( b = 0 ; b < a . aaSorting . length ; b ++ ) a . aaSorting [ b ] [ 0 ] =
g [ a . aaSorting [ b ] [ 0 ] ] . _ColReorder _iOrigCol ; var c = f . extend ( ! 0 , [ ] , a . aoSearchCols ) ; b = 0 ; for ( d = g . length ; b < d ; b ++ ) e = g [ b ] . _ColReorder _iOrigCol , a . aoSearchCols [ e ] = c [ b ] , a . abVisCols [ e ] = g [ b ] . bVisible , a . ColReorder . push ( e ) } else if ( a . order ) { for ( b = 0 ; b < a . order . length ; b ++ ) a . order [ b ] [ 0 ] = g [ a . order [ b ] [ 0 ] ] . _ColReorder _iOrigCol ; c = f . extend ( ! 0 , [ ] , a . columns ) ; b = 0 ; for ( d = g . length ; b < d ; b ++ ) e = g [ b ] . _ColReorder _iOrigCol , a . columns [ e ] = c [ b ] , a . ColReorder . push ( e ) } } , _fnMouseListener : function ( a , b ) { var d = this ; f ( b ) . on ( "mousedown.ColReorder" ,
function ( a ) { a . preventDefault ( ) ; d . _fnMouseDown . call ( d , a , b ) } ) } , _fnMouseDown : function ( a , b ) { var d = this , e = f ( a . target ) . closest ( "th, td" ) . offset ( ) , g = parseInt ( f ( b ) . attr ( "data-column-index" ) , 10 ) ; g !== r && ( 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 = this . s . dt . aoColumns [ g ] . nTh , this . s . mouse . targetIndex = g , this . s . mouse . fromIndex = g , this . _fnRegions ( ) , f ( l ) . on ( "mousemove.ColReorder" , function ( a ) { d . _fnMouseMove . call ( d ,
a ) } ) . on ( "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 . css ( { left : a . pageX - this . s . mouse . offsetX , top : a . pageY - this . s . mouse . offsetY } ) ; for ( var b = ! 1 , d = this . s . mouse . toIndex , e = 1 , f = this . s . aoTargets . length ; e < f ; e ++ ) if ( a . pageX < this . s . aoTargets [ e - 1 ] . x + ( this . s . aoTargets [ e ] . x - this . s . aoTargets [ e - 1 ] . x ) / 2 ) { this . dom . pointer . css ( "left" ,
this . s . aoTargets [ e - 1 ] . x ) ; this . s . mouse . toIndex = this . s . aoTargets [ e - 1 ] . to ; b = ! 0 ; break } b || ( this . dom . pointer . css ( "left" , this . s . aoTargets [ this . s . aoTargets . length - 1 ] . x ) , this . s . mouse . toIndex = this . s . aoTargets [ this . s . aoTargets . length - 1 ] . to ) ; this . s . init . bRealtime && d !== this . s . mouse . toIndex && ( this . s . dt . oInstance . fnColReorder ( this . s . mouse . fromIndex , this . s . mouse . toIndex , ! 1 ) , this . s . mouse . fromIndex = this . s . mouse . toIndex , this . _fnRegions ( ) ) } , _fnMouseUp : function ( ) { f ( l ) . off ( "mousemove.ColReorder mouseup.ColReorder" ) ; null !==
this . dom . drag && ( this . dom . drag . remove ( ) , this . dom . pointer . remove ( ) , this . dom . drag = null , this . dom . pointer = null , this . s . dt . oInstance . fnColReorder ( this . s . mouse . fromIndex , this . s . mouse . toIndex , ! 0 ) , this . _fnSetColumnIndexes ( ) , ( "" !== this . s . dt . oScroll . sX || "" !== this . s . dt . oScroll . sY ) && this . s . dt . oInstance . fnAdjustColumnSizing ( ! 1 ) , this . s . dt . oInstance . oApi . _fnSaveState ( this . s . dt ) , null !== this . s . reorderCallback && this . s . reorderCallback . call ( this ) ) } , _fnRegions : function ( ) { var a = this . s . dt . aoColumns ; 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 b = 0 , d = this . s . aoTargets [ 0 ] . x , e = 0 , g = a . length ; e < g ; e ++ ) e != this . s . mouse . fromIndex && b ++ , a [ e ] . bVisible && "none" !== a [ e ] . nTh . style . display && ( d += f ( a [ e ] . nTh ) . outerWidth ( ) , this . s . aoTargets . push ( { x : d , to : b } ) ) ; 0 !== this . s . fixedRight && this . s . aoTargets . splice ( this . s . aoTargets . length - this . s . fixedRight ) ; 0 !== this . s . fixed && this . s . aoTargets . splice ( 0 , this . s . fixed ) } , _fnCreateDragNode : function ( ) { var a = "" !== this . s . dt . oScroll . sX ||
"" !== this . s . dt . oScroll . sY , b = this . s . dt . aoColumns [ this . s . mouse . targetIndex ] . nTh , d = b . parentNode , e = d . parentNode , g = e . parentNode , c = f ( b ) . clone ( ) ; this . dom . drag = f ( g . cloneNode ( ! 1 ) ) . addClass ( "DTCR_clonedTable" ) . append ( f ( e . cloneNode ( ! 1 ) ) . append ( f ( d . cloneNode ( ! 1 ) ) . append ( c [ 0 ] ) ) ) . css ( { position : "absolute" , top : 0 , left : 0 , width : f ( b ) . outerWidth ( ) , height : f ( b ) . outerHeight ( ) } ) . appendTo ( "body" ) ; this . dom . pointer = f ( "<div></div>" ) . addClass ( "DTCR_pointer" ) . css ( { position : "absolute" , top : a ? f ( "div.dataTables_scroll" , this . s . dt . nTableWrapper ) . offset ( ) . top :
f ( this . s . dt . nTable ) . offset ( ) . top , height : a ? f ( "div.dataTables_scroll" , this . s . dt . nTableWrapper ) . height ( ) : f ( this . s . dt . nTable ) . height ( ) } ) . appendTo ( "body" ) } , _fnSetColumnIndexes : function ( ) { f . each ( this . s . dt . aoColumns , function ( a , b ) { f ( b . nTh ) . attr ( "data-column-index" , a ) } ) } } ) ; i . defaults = { aiOrder : null , bRealtime : ! 0 , iFixedColumnsLeft : 0 , iFixedColumnsRight : 0 , fnReorderCallback : null } ; i . version = "1.3.2" ; f . fn . dataTable . ColReorder = i ; f . fn . DataTable . ColReorder = i ; "function" == typeof f . fn . dataTable && "function" == typeof f . fn . dataTableExt . fnVersionCheck &&
f . fn . dataTableExt . fnVersionCheck ( "1.10.8" ) ? f . fn . dataTableExt . aoFeatures . push ( { fnInit : function ( a ) { var b = a . oInstance ; a . _colReorder ? b . oApi . _fnLog ( a , 1 , "ColReorder attempted to initialise twice. Ignoring second" ) : ( b = a . oInit , new i ( a , b . colReorder || b . oColReorder || { } ) ) ; return null } , cFeature : "R" , sFeature : "ColReorder" } ) : alert ( "Warning: ColReorder requires DataTables 1.10.8 or greater - www.datatables.net/download" ) ; f ( l ) . on ( "preInit.dt.colReorder" , function ( a , b ) { if ( "dt" === a . namespace ) { var d = b . oInit . colReorder ,
e = t . defaults . colReorder ; if ( d || e ) e = f . extend ( { } , d , e ) , ! 1 !== d && new i ( b , e ) } } ) ; f . fn . dataTable . Api . register ( "colReorder.reset()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . _colReorder . fnReset ( ) } ) } ) ; f . fn . dataTable . Api . register ( "colReorder.order()" , function ( a , b ) { return a ? this . iterator ( "table" , function ( d ) { d . _colReorder . fnOrder ( a , b ) } ) : this . context . length ? this . context [ 0 ] . _colReorder . fnOrder ( ) : null } ) ; f . fn . dataTable . Api . register ( "colReorder.transpose()" , function ( a , b ) { return this . context . length && this . context [ 0 ] . _colReorder ?
this . context [ 0 ] . _colReorder . fnTranspose ( a , b ) : a } ) ; return i } ) ;
/ * !
FixedColumns 3.2 . 2
© 2010 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( d ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( q ) { return d ( q , window , document ) } ) : "object" === typeof exports ? module . exports = function ( q , r ) { q || ( q = window ) ; if ( ! r || ! r . fn . dataTable ) r = require ( "datatables.net" ) ( q , r ) . $ ; return d ( r , q , q . document ) } : d ( jQuery , window , document ) } ) ( function ( d , q , r , t ) { var s = d . fn . dataTable , u , m = function ( a , b ) { var c = this ; if ( this instanceof m ) { if ( b === t || ! 0 === b ) b = { } ; var e = d . fn . dataTable . camelToHungarian ; e && ( e ( m . defaults , m . defaults , ! 0 ) , e ( m . defaults ,
b ) ) ; e = ( new d . fn . dataTable . Api ( a ) ) . settings ( ) [ 0 ] ; this . s = { dt : e , iTableColumns : e . aoColumns . length , aiOuterWidths : [ ] , aiInnerWidths : [ ] , rtl : "rtl" === d ( e . nTable ) . css ( "direction" ) } ; this . dom = { scroller : null , header : null , body : null , footer : null , grid : { wrapper : null , dt : null , left : { wrapper : null , head : null , body : null , foot : null } , right : { wrapper : null , head : null , body : null , foot : null } } , clone : { left : { header : null , body : null , footer : null } , right : { header : null , body : null , footer : null } } } ; if ( e . _oFixedColumns ) throw "FixedColumns already initialised on this table" ;
e . _oFixedColumns = this ; e . _bInitComplete ? this . _fnConstruct ( b ) : e . oApi . _fnCallbackReg ( e , "aoInitComplete" , function ( ) { c . _fnConstruct ( b ) } , "FixedColumns" ) } else alert ( "FixedColumns warning: FixedColumns must be initialised with the 'new' keyword." ) } ; d . extend ( m . prototype , { fnUpdate : function ( ) { this . _fnDraw ( ! 0 ) } , fnRedrawLayout : function ( ) { this . _fnColCalc ( ) ; this . _fnGridLayout ( ) ; this . fnUpdate ( ) } , fnRecalculateHeight : function ( a ) { delete a . _DTTC _iHeight ; a . style . height = "auto" } , fnSetRowHeight : function ( a , b ) { a . style . height =
b + "px" } , fnGetPosition : function ( a ) { var b = this . s . dt . oInstance ; if ( d ( a ) . parents ( ".DTFC_Cloned" ) . length ) { if ( "tr" === a . nodeName . toLowerCase ( ) ) return a = d ( a ) . index ( ) , b . fnGetPosition ( d ( "tr" , this . s . dt . nTBody ) [ a ] ) ; var c = d ( a ) . index ( ) , a = d ( a . parentNode ) . index ( ) ; return [ b . fnGetPosition ( d ( "tr" , this . s . dt . nTBody ) [ a ] ) , c , b . oApi . _fnVisibleToColumnIndex ( this . s . dt , c ) ] } return b . fnGetPosition ( a ) } , _fnConstruct : function ( a ) { var b = this ; if ( "function" != typeof this . s . dt . oInstance . fnVersionCheck || ! 0 !== this . s . dt . oInstance . fnVersionCheck ( "1.8.0" ) ) alert ( "FixedColumns " +
m . VERSION + " required DataTables 1.8.0 or later. Please upgrade your DataTables installation" ) ; else if ( "" === this . s . dt . oScroll . sX ) this . s . dt . oInstance . oApi . _fnLog ( this . s . dt , 1 , "FixedColumns is not needed (no x-scrolling in DataTables enabled), so no action will be taken. Use 'FixedHeader' for column fixing when scrolling is not enabled" ) ; else { this . s = d . extend ( ! 0 , this . s , m . defaults , a ) ; a = this . s . dt . oClasses ; this . dom . grid . dt = d ( this . s . dt . nTable ) . parents ( "div." + a . sScrollWrapper ) [ 0 ] ; this . dom . scroller = d ( "div." +
a . sScrollBody , this . dom . grid . dt ) [ 0 ] ; this . _fnColCalc ( ) ; this . _fnGridSetup ( ) ; var c , e = ! 1 ; d ( this . s . dt . nTableWrapper ) . on ( "mousedown.DTFC" , function ( ) { e = ! 0 ; d ( r ) . one ( "mouseup" , function ( ) { e = ! 1 } ) } ) ; d ( this . dom . scroller ) . on ( "mouseover.DTFC touchstart.DTFC" , function ( ) { e || ( c = "main" ) } ) . on ( "scroll.DTFC" , function ( a ) { ! c && a . originalEvent && ( c = "main" ) ; if ( "main" === c && ( 0 < b . s . iLeftColumns && ( b . dom . grid . left . liner . scrollTop = b . dom . scroller . scrollTop ) , 0 < b . s . iRightColumns ) ) b . dom . grid . right . liner . scrollTop = b . dom . scroller . scrollTop } ) ;
var f = "onwheel" in r . createElement ( "div" ) ? "wheel.DTFC" : "mousewheel.DTFC" ; if ( 0 < b . s . iLeftColumns ) d ( b . dom . grid . left . liner ) . on ( "mouseover.DTFC touchstart.DTFC" , function ( ) { e || ( c = "left" ) } ) . on ( "scroll.DTFC" , function ( a ) { ! c && a . originalEvent && ( c = "left" ) ; "left" === c && ( b . dom . scroller . scrollTop = b . dom . grid . left . liner . scrollTop , 0 < b . s . iRightColumns && ( b . dom . grid . right . liner . scrollTop = b . dom . grid . left . liner . scrollTop ) ) } ) . on ( f , function ( a ) { b . dom . scroller . scrollLeft -= "wheel" === a . type ? - a . originalEvent . deltaX : a . originalEvent . wheelDeltaX } ) ;
if ( 0 < b . s . iRightColumns ) d ( b . dom . grid . right . liner ) . on ( "mouseover.DTFC touchstart.DTFC" , function ( ) { e || ( c = "right" ) } ) . on ( "scroll.DTFC" , function ( a ) { ! c && a . originalEvent && ( c = "right" ) ; "right" === c && ( b . dom . scroller . scrollTop = b . dom . grid . right . liner . scrollTop , 0 < b . s . iLeftColumns && ( b . dom . grid . left . liner . scrollTop = b . dom . grid . right . liner . scrollTop ) ) } ) . on ( f , function ( a ) { b . dom . scroller . scrollLeft -= "wheel" === a . type ? - a . originalEvent . deltaX : a . originalEvent . wheelDeltaX } ) ; d ( q ) . on ( "resize.DTFC" , function ( ) { b . _fnGridLayout . call ( b ) } ) ;
var g = ! 0 , h = d ( this . s . dt . nTable ) ; h . on ( "draw.dt.DTFC" , function ( ) { b . _fnColCalc ( ) ; b . _fnDraw . call ( b , g ) ; g = ! 1 } ) . on ( "column-sizing.dt.DTFC" , function ( ) { b . _fnColCalc ( ) ; b . _fnGridLayout ( b ) } ) . on ( "column-visibility.dt.DTFC" , function ( a , c , d , e , f ) { if ( f === t || f ) b . _fnColCalc ( ) , b . _fnGridLayout ( b ) , b . _fnDraw ( ! 0 ) } ) . on ( "select.dt.DTFC deselect.dt.DTFC" , function ( a ) { "dt" === a . namespace && b . _fnDraw ( ! 1 ) } ) . on ( "destroy.dt.DTFC" , function ( ) { h . off ( ".DTFC" ) ; d ( b . dom . scroller ) . off ( ".DTFC" ) ; d ( q ) . off ( ".DTFC" ) ; d ( b . s . dt . nTableWrapper ) . off ( ".DTFC" ) ;
d ( b . dom . grid . left . liner ) . off ( ".DTFC " + f ) ; d ( b . dom . grid . left . wrapper ) . remove ( ) ; d ( b . dom . grid . right . liner ) . off ( ".DTFC " + f ) ; d ( b . dom . grid . right . wrapper ) . remove ( ) } ) ; this . _fnGridLayout ( ) ; this . s . dt . oInstance . fnDraw ( ! 1 ) } } , _fnColCalc : function ( ) { var a = this , b = 0 , c = 0 ; this . s . aiInnerWidths = [ ] ; this . s . aiOuterWidths = [ ] ; d . each ( this . s . dt . aoColumns , function ( e , f ) { var g = d ( f . nTh ) , h ; if ( g . filter ( ":visible" ) . length ) { var i = g . outerWidth ( ) ; 0 === a . s . aiOuterWidths . length && ( h = d ( a . s . dt . nTable ) . css ( "border-left-width" ) , i += "string" ===
typeof h ? 1 : parseInt ( h , 10 ) ) ; a . s . aiOuterWidths . length === a . s . dt . aoColumns . length - 1 && ( h = d ( a . s . dt . nTable ) . css ( "border-right-width" ) , i += "string" === typeof h ? 1 : parseInt ( h , 10 ) ) ; a . s . aiOuterWidths . push ( i ) ; a . s . aiInnerWidths . push ( g . width ( ) ) ; e < a . s . iLeftColumns && ( b += i ) ; a . s . iTableColumns - a . s . iRightColumns <= e && ( c += i ) } else a . s . aiInnerWidths . push ( 0 ) , a . s . aiOuterWidths . push ( 0 ) } ) ; this . s . iLeftWidth = b ; this . s . iRightWidth = c } , _fnGridSetup : function ( ) { var a = this . _fnDTOverflow ( ) , b ; this . dom . body = this . s . dt . nTable ; this . dom . header =
this . s . dt . nTHead . parentNode ; this . dom . header . parentNode . parentNode . style . position = "relative" ; var c = d ( '<div class="DTFC_ScrollWrapper" style="position:relative; clear:both;"><div class="DTFC_LeftWrapper" style="position:absolute; top:0; left:0;"><div class="DTFC_LeftHeadWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div><div class="DTFC_LeftBodyWrapper" style="position:relative; top:0; left:0; overflow:hidden;"><div class="DTFC_LeftBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_LeftFootWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div></div><div class="DTFC_RightWrapper" style="position:absolute; top:0; right:0;"><div class="DTFC_RightHeadWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightHeadBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div><div class="DTFC_RightBodyWrapper" style="position:relative; top:0; left:0; overflow:hidden;"><div class="DTFC_RightBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_RightFootWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightFootBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div></div></div>' ) [ 0 ] ,
e = c . childNodes [ 0 ] , f = c . childNodes [ 1 ] ; this . dom . grid . dt . parentNode . insertBefore ( c , this . dom . grid . dt ) ; c . appendChild ( this . dom . grid . dt ) ; this . dom . grid . wrapper = c ; 0 < this . s . iLeftColumns && ( this . dom . grid . left . wrapper = e , this . dom . grid . left . head = e . childNodes [ 0 ] , this . dom . grid . left . body = e . childNodes [ 1 ] , this . dom . grid . left . liner = d ( "div.DTFC_LeftBodyLiner" , c ) [ 0 ] , c . appendChild ( e ) ) ; 0 < this . s . iRightColumns && ( this . dom . grid . right . wrapper = f , this . dom . grid . right . head = f . childNodes [ 0 ] , this . dom . grid . right . body = f . childNodes [ 1 ] , this . dom . grid . right . liner =
d ( "div.DTFC_RightBodyLiner" , c ) [ 0 ] , f . style . right = a . bar + "px" , b = d ( "div.DTFC_RightHeadBlocker" , c ) [ 0 ] , b . style . width = a . bar + "px" , b . style . right = - a . bar + "px" , this . dom . grid . right . headBlock = b , b = d ( "div.DTFC_RightFootBlocker" , c ) [ 0 ] , b . style . width = a . bar + "px" , b . style . right = - a . bar + "px" , this . dom . grid . right . footBlock = b , c . appendChild ( f ) ) ; if ( this . s . dt . nTFoot && ( this . dom . footer = this . s . dt . nTFoot . parentNode , 0 < this . s . iLeftColumns && ( this . dom . grid . left . foot = e . childNodes [ 2 ] ) , 0 < this . s . iRightColumns ) ) this . dom . grid . right . foot = f . childNodes [ 2 ] ;
this . s . rtl && d ( "div.DTFC_RightHeadBlocker" , c ) . css ( { left : - a . bar + "px" , right : "" } ) } , _fnGridLayout : function ( ) { var a = this , b = this . dom . grid ; d ( b . wrapper ) . width ( ) ; var c = d ( this . s . dt . nTable . parentNode ) . outerHeight ( ) , e = d ( this . s . dt . nTable . parentNode . parentNode ) . outerHeight ( ) , f = this . _fnDTOverflow ( ) , g = this . s . iLeftWidth , h = this . s . iRightWidth , i = "rtl" === d ( this . dom . body ) . css ( "direction" ) , j = function ( b , c ) { f . bar ? a . _firefoxScrollError ( ) ? 34 < d ( b ) . height ( ) && ( b . style . width = c + f . bar + "px" ) : b . style . width = c + f . bar + "px" : ( b . style . width =
c + 20 + "px" , b . style . paddingRight = "20px" , b . style . boxSizing = "border-box" ) } ; f . x && ( c -= f . bar ) ; b . wrapper . style . height = e + "px" ; 0 < this . s . iLeftColumns && ( e = b . left . wrapper , e . style . width = g + "px" , e . style . height = "1px" , i ? ( e . style . left = "" , e . style . right = 0 ) : ( e . style . left = 0 , e . style . right = "" ) , b . left . body . style . height = c + "px" , b . left . foot && ( b . left . foot . style . top = ( f . x ? f . bar : 0 ) + "px" ) , j ( b . left . liner , g ) , b . left . liner . style . height = c + "px" ) ; 0 < this . s . iRightColumns && ( e = b . right . wrapper , e . style . width = h + "px" , e . style . height = "1px" , this . s . rtl ?
( e . style . left = f . y ? f . bar + "px" : 0 , e . style . right = "" ) : ( e . style . left = "" , e . style . right = f . y ? f . bar + "px" : 0 ) , b . right . body . style . height = c + "px" , b . right . foot && ( b . right . foot . style . top = ( f . x ? f . bar : 0 ) + "px" ) , j ( b . right . liner , h ) , b . right . liner . style . height = c + "px" , b . right . headBlock . style . display = f . y ? "block" : "none" , b . right . footBlock . style . display = f . y ? "block" : "none" ) } , _fnDTOverflow : function ( ) { var a = this . s . dt . nTable , b = a . parentNode , c = { x : ! 1 , y : ! 1 , bar : this . s . dt . oScroll . iBarWidth } ; a . offsetWidth > b . clientWidth && ( c . x = ! 0 ) ; a . offsetHeight >
b . clientHeight && ( c . y = ! 0 ) ; return c } , _fnDraw : function ( a ) { this . _fnGridLayout ( ) ; this . _fnCloneLeft ( a ) ; this . _fnCloneRight ( a ) ; null !== this . s . fnDrawCallback && this . s . fnDrawCallback . call ( this , this . dom . clone . left , this . dom . clone . right ) ; d ( this ) . trigger ( "draw.dtfc" , { leftClone : this . dom . clone . left , rightClone : this . dom . clone . right } ) } , _fnCloneRight : function ( a ) { if ( ! ( 0 >= this . s . iRightColumns ) ) { var b , c = [ ] ; for ( b = this . s . iTableColumns - this . s . iRightColumns ; b < this . s . iTableColumns ; b ++ ) this . s . dt . aoColumns [ b ] . bVisible && c . push ( b ) ;
this . _fnClone ( this . dom . clone . right , this . dom . grid . right , c , a ) } } , _fnCloneLeft : function ( a ) { if ( ! ( 0 >= this . s . iLeftColumns ) ) { var b , c = [ ] ; for ( b = 0 ; b < this . s . iLeftColumns ; b ++ ) this . s . dt . aoColumns [ b ] . bVisible && c . push ( b ) ; this . _fnClone ( this . dom . clone . left , this . dom . grid . left , c , a ) } } , _fnCopyLayout : function ( a , b , c ) { for ( var e = [ ] , f = [ ] , g = [ ] , h = 0 , i = a . length ; h < i ; h ++ ) { var j = [ ] ; j . nTr = d ( a [ h ] . nTr ) . clone ( c , ! 1 ) [ 0 ] ; for ( var l = 0 , o = this . s . iTableColumns ; l < o ; l ++ ) if ( - 1 !== d . inArray ( l , b ) ) { var p = d . inArray ( a [ h ] [ l ] . cell , g ) ; - 1 === p ? ( p = d ( a [ h ] [ l ] . cell ) . clone ( c ,
! 1 ) [ 0 ] , f . push ( p ) , g . push ( a [ h ] [ l ] . cell ) , j . push ( { cell : p , unique : a [ h ] [ l ] . unique } ) ) : j . push ( { cell : f [ p ] , unique : a [ h ] [ l ] . unique } ) } e . push ( j ) } return e } , _fnClone : function ( a , b , c , e ) { var f = this , g , h , i , j , l , o , p , n , m , k = this . s . dt ; if ( e ) { d ( a . header ) . remove ( ) ; a . header = d ( this . dom . header ) . clone ( ! 0 , ! 1 ) [ 0 ] ; a . header . className += " DTFC_Cloned" ; a . header . style . width = "100%" ; b . head . appendChild ( a . header ) ; n = this . _fnCopyLayout ( k . aoHeader , c , ! 0 ) ; j = d ( ">thead" , a . header ) ; j . empty ( ) ; g = 0 ; for ( h = n . length ; g < h ; g ++ ) j [ 0 ] . appendChild ( n [ g ] . nTr ) ; k . oApi . _fnDrawHead ( k ,
n , ! 0 ) } else { n = this . _fnCopyLayout ( k . aoHeader , c , ! 1 ) ; m = [ ] ; k . oApi . _fnDetectHeader ( m , d ( ">thead" , a . header ) [ 0 ] ) ; g = 0 ; for ( h = n . length ; g < h ; g ++ ) { i = 0 ; for ( j = n [ g ] . length ; i < j ; i ++ ) m [ g ] [ i ] . cell . className = n [ g ] [ i ] . cell . className , d ( "span.DataTables_sort_icon" , m [ g ] [ i ] . cell ) . each ( function ( ) { this . className = d ( "span.DataTables_sort_icon" , n [ g ] [ i ] . cell ) [ 0 ] . className } ) } } this . _fnEqualiseHeights ( "thead" , this . dom . header , a . header ) ; "auto" == this . s . sHeightMatch && d ( ">tbody>tr" , f . dom . body ) . css ( "height" , "auto" ) ; null !== a . body && ( d ( a . body ) . remove ( ) ,
a . body = null ) ; a . body = d ( this . dom . body ) . clone ( ! 0 ) [ 0 ] ; a . body . className += " DTFC_Cloned" ; a . body . style . paddingBottom = k . oScroll . iBarWidth + "px" ; a . body . style . marginBottom = 2 * k . oScroll . iBarWidth + "px" ; null !== a . body . getAttribute ( "id" ) && a . body . removeAttribute ( "id" ) ; d ( ">thead>tr" , a . body ) . empty ( ) ; d ( ">tfoot" , a . body ) . remove ( ) ; var q = d ( "tbody" , a . body ) [ 0 ] ; d ( q ) . empty ( ) ; if ( 0 < k . aiDisplay . length ) { h = d ( ">thead>tr" , a . body ) [ 0 ] ; for ( p = 0 ; p < c . length ; p ++ ) l = c [ p ] , o = d ( k . aoColumns [ l ] . nTh ) . clone ( ! 0 ) [ 0 ] , o . innerHTML = "" , j = o . style , j . paddingTop =
"0" , j . paddingBottom = "0" , j . borderTopWidth = "0" , j . borderBottomWidth = "0" , j . height = 0 , j . width = f . s . aiInnerWidths [ l ] + "px" , h . appendChild ( o ) ; d ( ">tbody>tr" , f . dom . body ) . each ( function ( a ) { var a = f . s . dt . oFeatures . bServerSide === false ? f . s . dt . aiDisplay [ f . s . dt . _iDisplayStart + a ] : a , b = f . s . dt . aoData [ a ] . anCells || d ( this ) . children ( "td, th" ) , e = this . cloneNode ( false ) ; e . removeAttribute ( "id" ) ; e . setAttribute ( "data-dt-row" , a ) ; for ( p = 0 ; p < c . length ; p ++ ) { l = c [ p ] ; if ( b . length > 0 ) { o = d ( b [ l ] ) . clone ( true , true ) [ 0 ] ; o . setAttribute ( "data-dt-row" ,
a ) ; o . setAttribute ( "data-dt-column" , p ) ; e . appendChild ( o ) } } q . appendChild ( e ) } ) } else d ( ">tbody>tr" , f . dom . body ) . each ( function ( ) { o = this . cloneNode ( true ) ; o . className = o . className + " DTFC_NoData" ; d ( "td" , o ) . html ( "" ) ; q . appendChild ( o ) } ) ; a . body . style . width = "100%" ; a . body . style . margin = "0" ; a . body . style . padding = "0" ; k . oScroller !== t && ( h = k . oScroller . dom . force , b . forcer ? b . forcer . style . height = h . style . height : ( b . forcer = h . cloneNode ( ! 0 ) , b . liner . appendChild ( b . forcer ) ) ) ; b . liner . appendChild ( a . body ) ; this . _fnEqualiseHeights ( "tbody" ,
f . dom . body , a . body ) ; if ( null !== k . nTFoot ) { if ( e ) { null !== a . footer && a . footer . parentNode . removeChild ( a . footer ) ; a . footer = d ( this . dom . footer ) . clone ( ! 0 , ! 0 ) [ 0 ] ; a . footer . className += " DTFC_Cloned" ; a . footer . style . width = "100%" ; b . foot . appendChild ( a . footer ) ; n = this . _fnCopyLayout ( k . aoFooter , c , ! 0 ) ; b = d ( ">tfoot" , a . footer ) ; b . empty ( ) ; g = 0 ; for ( h = n . length ; g < h ; g ++ ) b [ 0 ] . appendChild ( n [ g ] . nTr ) ; k . oApi . _fnDrawHead ( k , n , ! 0 ) } else { n = this . _fnCopyLayout ( k . aoFooter , c , ! 1 ) ; b = [ ] ; k . oApi . _fnDetectHeader ( b , d ( ">tfoot" , a . footer ) [ 0 ] ) ; g = 0 ; for ( h = n . length ; g <
h ; g ++ ) { i = 0 ; for ( j = n [ g ] . length ; i < j ; i ++ ) b [ g ] [ i ] . cell . className = n [ g ] [ i ] . cell . className } } this . _fnEqualiseHeights ( "tfoot" , this . dom . footer , a . footer ) } b = k . oApi . _fnGetUniqueThs ( k , d ( ">thead" , a . header ) [ 0 ] ) ; d ( b ) . each ( function ( a ) { l = c [ a ] ; this . style . width = f . s . aiInnerWidths [ l ] + "px" } ) ; null !== f . s . dt . nTFoot && ( b = k . oApi . _fnGetUniqueThs ( k , d ( ">tfoot" , a . footer ) [ 0 ] ) , d ( b ) . each ( function ( a ) { l = c [ a ] ; this . style . width = f . s . aiInnerWidths [ l ] + "px" } ) ) } , _fnGetTrNodes : function ( a ) { for ( var b = [ ] , c = 0 , d = a . childNodes . length ; c < d ; c ++ ) "TR" == a . childNodes [ c ] . nodeName . toUpperCase ( ) &&
b . push ( a . childNodes [ c ] ) ; return b } , _fnEqualiseHeights : function ( a , b , c ) { if ( ! ( "none" == this . s . sHeightMatch && "thead" !== a && "tfoot" !== a ) ) { var e , f , g = b . getElementsByTagName ( a ) [ 0 ] , c = c . getElementsByTagName ( a ) [ 0 ] , a = d ( ">" + a + ">tr:eq(0)" , b ) . children ( ":first" ) ; a . outerHeight ( ) ; a . height ( ) ; for ( var g = this . _fnGetTrNodes ( g ) , b = this . _fnGetTrNodes ( c ) , h = [ ] , c = 0 , a = b . length ; c < a ; c ++ ) e = g [ c ] . offsetHeight , f = b [ c ] . offsetHeight , e = f > e ? f : e , "semiauto" == this . s . sHeightMatch && ( g [ c ] . _DTTC _iHeight = e ) , h . push ( e ) ; c = 0 ; for ( a = b . length ; c < a ; c ++ ) b [ c ] . style . height =
h [ c ] + "px" , g [ c ] . style . height = h [ c ] + "px" } } , _firefoxScrollError : function ( ) { if ( u === t ) { var a = d ( "<div/>" ) . css ( { position : "absolute" , top : 0 , left : 0 , height : 10 , width : 50 , overflow : "scroll" } ) . appendTo ( "body" ) ; u = a [ 0 ] . clientWidth === a [ 0 ] . offsetWidth && 0 !== this . _fnDTOverflow ( ) . bar ; a . remove ( ) } return u } } ) ; m . defaults = { iLeftColumns : 1 , iRightColumns : 0 , fnDrawCallback : null , sHeightMatch : "semiauto" } ; m . version = "3.2.2" ; s . Api . register ( "fixedColumns()" , function ( ) { return this } ) ; s . Api . register ( "fixedColumns().update()" , function ( ) { return this . iterator ( "table" ,
function ( a ) { a . _oFixedColumns && a . _oFixedColumns . fnUpdate ( ) } ) } ) ; s . Api . register ( "fixedColumns().relayout()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . _oFixedColumns && a . _oFixedColumns . fnRedrawLayout ( ) } ) } ) ; s . Api . register ( "rows().recalcHeight()" , function ( ) { return this . iterator ( "row" , function ( a , b ) { a . _oFixedColumns && a . _oFixedColumns . fnRecalculateHeight ( this . row ( b ) . node ( ) ) } ) } ) ; s . Api . register ( "fixedColumns().rowIndex()" , function ( a ) { a = d ( a ) ; return a . parents ( ".DTFC_Cloned" ) . length ? this . rows ( { page : "current" } ) . indexes ( ) [ a . index ( ) ] :
this . row ( a ) . index ( ) } ) ; s . Api . register ( "fixedColumns().cellIndex()" , function ( a ) { a = d ( a ) ; if ( a . parents ( ".DTFC_Cloned" ) . length ) { var b = a . parent ( ) . index ( ) , b = this . rows ( { page : "current" } ) . indexes ( ) [ b ] , a = a . parents ( ".DTFC_LeftWrapper" ) . length ? a . index ( ) : this . columns ( ) . flatten ( ) . length - this . context [ 0 ] . _oFixedColumns . s . iRightColumns + a . index ( ) ; return { row : b , column : this . column . index ( "toData" , a ) , columnVisible : a } } return this . cell ( a ) . index ( ) } ) ; d ( r ) . on ( "init.dt.fixedColumns" , function ( a , b ) { if ( "dt" === a . namespace ) { var c = b . oInit . fixedColumns ,
e = s . defaults . fixedColumns ; if ( c || e ) e = d . extend ( { } , c , e ) , ! 1 !== c && new m ( b , e ) } } ) ; d . fn . dataTable . FixedColumns = m ; return d . fn . DataTable . FixedColumns = m } ) ;
/ * !
FixedHeader 3.1 . 2
© 2009 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( d ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( g ) { return d ( g , window , document ) } ) : "object" === typeof exports ? module . exports = function ( g , h ) { g || ( g = window ) ; if ( ! h || ! h . fn . dataTable ) h = require ( "datatables.net" ) ( g , h ) . $ ; return d ( h , g , g . document ) } : d ( jQuery , window , document ) } ) ( function ( d , g , h , k ) { var j = d . fn . dataTable , l = 0 , i = function ( b , a ) { if ( ! ( this instanceof i ) ) throw "FixedHeader must be initialised with the 'new' keyword." ; ! 0 === a && ( a = { } ) ; b = new j . Api ( b ) ; this . c = d . extend ( ! 0 ,
{ } , i . defaults , a ) ; this . s = { dt : b , position : { theadTop : 0 , tbodyTop : 0 , tfootTop : 0 , tfootBottom : 0 , width : 0 , left : 0 , tfootHeight : 0 , theadHeight : 0 , windowHeight : d ( g ) . height ( ) , visible : ! 0 } , headerMode : null , footerMode : null , autoWidth : b . settings ( ) [ 0 ] . oFeatures . bAutoWidth , namespace : ".dtfc" + l ++ , scrollLeft : { header : - 1 , footer : - 1 } , enable : ! 0 } ; this . dom = { floatingHeader : null , thead : d ( b . table ( ) . header ( ) ) , tbody : d ( b . table ( ) . body ( ) ) , tfoot : d ( b . table ( ) . footer ( ) ) , header : { host : null , floating : null , placeholder : null } , footer : { host : null , floating : null ,
placeholder : null } } ; this . dom . header . host = this . dom . thead . parent ( ) ; this . dom . footer . host = this . dom . tfoot . parent ( ) ; var e = b . settings ( ) [ 0 ] ; if ( e . _fixedHeader ) throw "FixedHeader already initialised on table " + e . nTable . id ; e . _fixedHeader = this ; this . _constructor ( ) } ; d . extend ( i . prototype , { enable : function ( b ) { this . s . enable = b ; this . c . header && this . _modeChange ( "in-place" , "header" , ! 0 ) ; this . c . footer && this . dom . tfoot . length && this . _modeChange ( "in-place" , "footer" , ! 0 ) ; this . update ( ) } , headerOffset : function ( b ) { b !== k && ( this . c . headerOffset =
b , this . update ( ) ) ; return this . c . headerOffset } , footerOffset : function ( b ) { b !== k && ( this . c . footerOffset = b , this . update ( ) ) ; return this . c . footerOffset } , update : function ( ) { this . _positions ( ) ; this . _scroll ( ! 0 ) } , _constructor : function ( ) { var b = this , a = this . s . dt ; d ( g ) . on ( "scroll" + this . s . namespace , function ( ) { b . _scroll ( ) } ) . on ( "resize" + this . s . namespace , function ( ) { b . s . position . windowHeight = d ( g ) . height ( ) ; b . update ( ) } ) ; var e = d ( ".fh-fixedHeader" ) ; ! this . c . headerOffset && e . length && ( this . c . headerOffset = e . outerHeight ( ) ) ; e = d ( ".fh-fixedFooter" ) ;
! this . c . footerOffset && e . length && ( this . c . footerOffset = e . outerHeight ( ) ) ; a . on ( "column-reorder.dt.dtfc column-visibility.dt.dtfc draw.dt.dtfc column-sizing.dt.dtfc" , function ( ) { b . update ( ) } ) ; a . on ( "destroy.dtfc" , function ( ) { a . off ( ".dtfc" ) ; d ( g ) . off ( b . s . namespace ) } ) ; this . _positions ( ) ; this . _scroll ( ) } , _clone : function ( b , a ) { var e = this . s . dt , c = this . dom [ b ] , f = "header" === b ? this . dom . thead : this . dom . tfoot ; ! a && c . floating ? c . floating . removeClass ( "fixedHeader-floating fixedHeader-locked" ) : ( c . floating && ( c . placeholder . remove ( ) ,
this . _unsize ( b ) , c . floating . children ( ) . detach ( ) , c . floating . remove ( ) ) , c . floating = d ( e . table ( ) . node ( ) . cloneNode ( ! 1 ) ) . css ( "table-layout" , "fixed" ) . removeAttr ( "id" ) . append ( f ) . appendTo ( "body" ) , c . placeholder = f . clone ( ! 1 ) , c . host . prepend ( c . placeholder ) , this . _matchWidths ( c . placeholder , c . floating ) ) } , _matchWidths : function ( b , a ) { var e = function ( a ) { return d ( a , b ) . map ( function ( ) { return d ( this ) . width ( ) } ) . toArray ( ) } , c = function ( b , c ) { d ( b , a ) . each ( function ( a ) { d ( this ) . css ( { width : c [ a ] , minWidth : c [ a ] } ) } ) } , f = e ( "th" ) , e = e ( "td" ) ; c ( "th" ,
f ) ; c ( "td" , e ) } , _unsize : function ( b ) { var a = this . dom [ b ] . floating ; a && ( "footer" === b || "header" === b && ! this . s . autoWidth ) ? d ( "th, td" , a ) . css ( { width : "" , minWidth : "" } ) : a && "header" === b && d ( "th, td" , a ) . css ( "min-width" , "" ) } , _horizontal : function ( b , a ) { var e = this . dom [ b ] , c = this . s . position , d = this . s . scrollLeft ; e . floating && d [ b ] !== a && ( e . floating . css ( "left" , c . left - a ) , d [ b ] = a ) } , _modeChange : function ( b , a , e ) { var c = this . dom [ a ] , f = this . s . position , g = d . contains ( this . dom [ "footer" === a ? "tfoot" : "thead" ] [ 0 ] , h . activeElement ) ? h . activeElement :
null ; if ( "in-place" === b ) { if ( c . placeholder && ( c . placeholder . remove ( ) , c . placeholder = null ) , this . _unsize ( a ) , "header" === a ? c . host . prepend ( this . dom . thead ) : c . host . append ( this . dom . tfoot ) , c . floating ) c . floating . remove ( ) , c . floating = null } else "in" === b ? ( this . _clone ( a , e ) , c . floating . addClass ( "fixedHeader-floating" ) . css ( "header" === a ? "top" : "bottom" , this . c [ a + "Offset" ] ) . css ( "left" , f . left + "px" ) . css ( "width" , f . width + "px" ) , "footer" === a && c . floating . css ( "top" , "" ) ) : "below" === b ? ( this . _clone ( a , e ) , c . floating . addClass ( "fixedHeader-locked" ) . css ( "top" ,
f . tfootTop - f . theadHeight ) . css ( "left" , f . left + "px" ) . css ( "width" , f . width + "px" ) ) : "above" === b && ( this . _clone ( a , e ) , c . floating . addClass ( "fixedHeader-locked" ) . css ( "top" , f . tbodyTop ) . css ( "left" , f . left + "px" ) . css ( "width" , f . width + "px" ) ) ; g && g !== h . activeElement && g . focus ( ) ; this . s . scrollLeft . header = - 1 ; this . s . scrollLeft . footer = - 1 ; this . s [ a + "Mode" ] = b } , _positions : function ( ) { var b = this . s . dt . table ( ) , a = this . s . position , e = this . dom , b = d ( b . node ( ) ) , c = b . children ( "thead" ) , f = b . children ( "tfoot" ) , e = e . tbody ; a . visible = b . is ( ":visible" ) ;
a . width = b . outerWidth ( ) ; a . left = b . offset ( ) . left ; a . theadTop = c . offset ( ) . top ; a . tbodyTop = e . offset ( ) . top ; a . theadHeight = a . tbodyTop - a . theadTop ; f . length ? ( a . tfootTop = f . offset ( ) . top , a . tfootBottom = a . tfootTop + f . outerHeight ( ) , a . tfootHeight = a . tfootBottom - a . tfootTop ) : ( a . tfootTop = a . tbodyTop + e . outerHeight ( ) , a . tfootBottom = a . tfootTop , a . tfootHeight = a . tfootTop ) } , _scroll : function ( b ) { var a = d ( h ) . scrollTop ( ) , e = d ( h ) . scrollLeft ( ) , c = this . s . position , f ; if ( this . s . enable && ( this . c . header && ( f = ! c . visible || a <= c . theadTop - this . c . headerOffset ?
"in-place" : a <= c . tfootTop - c . theadHeight - this . c . headerOffset ? "in" : "below" , ( b || f !== this . s . headerMode ) && this . _modeChange ( f , "header" , b ) , this . _horizontal ( "header" , e ) ) , this . c . footer && this . dom . tfoot . length ) ) a = ! c . visible || a + c . windowHeight >= c . tfootBottom + this . c . footerOffset ? "in-place" : c . windowHeight + a > c . tbodyTop + c . tfootHeight + this . c . footerOffset ? "in" : "above" , ( b || a !== this . s . footerMode ) && this . _modeChange ( a , "footer" , b ) , this . _horizontal ( "footer" , e ) } } ) ; i . version = "3.1.2" ; i . defaults = { header : ! 0 , footer : ! 1 , headerOffset : 0 ,
footerOffset : 0 } ; d . fn . dataTable . FixedHeader = i ; d . fn . DataTable . FixedHeader = i ; d ( h ) . on ( "init.dt.dtfh" , function ( b , a ) { if ( "dt" === b . namespace ) { var e = a . oInit . fixedHeader , c = j . defaults . fixedHeader ; if ( ( e || c ) && ! a . _fixedHeader ) c = d . extend ( { } , c , e ) , ! 1 !== e && new i ( a , c ) } } ) ; j . Api . register ( "fixedHeader()" , function ( ) { } ) ; j . Api . register ( "fixedHeader.adjust()" , function ( ) { return this . iterator ( "table" , function ( b ) { ( b = b . _fixedHeader ) && b . update ( ) } ) } ) ; j . Api . register ( "fixedHeader.enable()" , function ( b ) { return this . iterator ( "table" ,
function ( a ) { ( a = a . _fixedHeader ) && a . enable ( b !== k ? b : ! 0 ) } ) } ) ; j . Api . register ( "fixedHeader.disable()" , function ( ) { return this . iterator ( "table" , function ( b ) { ( b = b . _fixedHeader ) && b . enable ( ! 1 ) } ) } ) ; d . each ( [ "header" , "footer" ] , function ( b , a ) { j . Api . register ( "fixedHeader." + a + "Offset()" , function ( b ) { var c = this . context ; return b === k ? c . length && c [ 0 ] . _fixedHeader ? c [ 0 ] . _fixedHeader [ a + "Offset" ] ( ) : k : this . iterator ( "table" , function ( c ) { if ( c = c . _fixedHeader ) c [ a + "Offset" ] ( b ) } ) } ) } ) ; return i } ) ;
/ * !
KeyTable 2.1 . 3
© 2009 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( e ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( m ) { return e ( m , window , document ) } ) : "object" === typeof exports ? module . exports = function ( m , k ) { m || ( m = window ) ; if ( ! k || ! k . fn . dataTable ) k = require ( "datatables.net" ) ( m , k ) . $ ; return e ( k , m , m . document ) } : e ( jQuery , window , document ) } ) ( function ( e , m , k , o ) { var l = e . fn . dataTable , n = function ( a , b ) { if ( ! l . versionCheck || ! l . versionCheck ( "1.10.8" ) ) throw "KeyTable requires DataTables 1.10.8 or newer" ; this . c = e . extend ( ! 0 , { } , l . defaults . keyTable ,
n . defaults , b ) ; this . s = { dt : new l . Api ( a ) , enable : ! 0 , focusDraw : ! 1 } ; this . dom = { } ; var c = this . s . dt . settings ( ) [ 0 ] , d = c . keytable ; if ( d ) return d ; c . keytable = this ; this . _constructor ( ) } ; e . extend ( n . prototype , { blur : function ( ) { this . _blur ( ) } , enable : function ( a ) { this . s . enable = a } , focus : function ( a , b ) { this . _focus ( this . s . dt . cell ( a , b ) ) } , focused : function ( a ) { if ( ! this . s . lastFocus ) return ! 1 ; var b = this . s . lastFocus . index ( ) ; return a . row === b . row && a . column === b . column } , _constructor : function ( ) { this . _tabInput ( ) ; var a = this , b = this . s . dt , c = e ( b . table ( ) . node ( ) ) ;
"static" === c . css ( "position" ) && c . css ( "position" , "relative" ) ; e ( b . table ( ) . body ( ) ) . on ( "click.keyTable" , "th, td" , function ( c ) { if ( ! 1 !== a . s . enable ) { var d = b . cell ( this ) ; d . any ( ) && a . _focus ( d , null , ! 1 , c ) } } ) ; e ( k ) . on ( "keydown.keyTable" , function ( b ) { a . _key ( b ) } ) ; if ( this . c . blurable ) e ( k ) . on ( "click.keyTable" , function ( c ) { e ( c . target ) . parents ( ".dataTables_filter" ) . length && a . _blur ( ) ; e ( c . target ) . parents ( ) . filter ( b . table ( ) . container ( ) ) . length || e ( c . target ) . parents ( "div.DTE" ) . length || e ( c . target ) . parents ( ) . filter ( ".DTFC_Cloned" ) . length ||
a . _blur ( ) } ) ; if ( this . c . editor ) b . on ( "key.keyTable" , function ( b , c , d , e , j ) { a . _editor ( d , j ) } ) ; if ( b . settings ( ) [ 0 ] . oFeatures . bStateSave ) b . on ( "stateSaveParams.keyTable" , function ( b , c , d ) { d . keyTable = a . s . lastFocus ? a . s . lastFocus . index ( ) : null } ) ; b . on ( "xhr.keyTable" , function ( ) { if ( ! a . s . focusDraw ) { var c = a . s . lastFocus ; c && ( a . s . lastFocus = null , b . one ( "draw" , function ( ) { a . _focus ( c ) } ) ) } } ) ; b . on ( "destroy.keyTable" , function ( ) { b . off ( ".keyTable" ) ; e ( b . table ( ) . body ( ) ) . off ( "click.keyTable" , "th, td" ) ; e ( k . body ) . off ( "keydown.keyTable" ) . off ( "click.keyTable" ) } ) ;
var d = b . state . loaded ( ) ; if ( d && d . keyTable ) b . one ( "init" , function ( ) { var a = b . cell ( d . keyTable ) ; a . any ( ) && a . focus ( ) } ) ; else this . c . focus && b . cell ( this . c . focus ) . focus ( ) } , _blur : function ( ) { if ( this . s . enable && this . s . lastFocus ) { var a = this . s . lastFocus ; e ( a . node ( ) ) . removeClass ( this . c . className ) ; this . s . lastFocus = null ; this . _updateFixedColumns ( a . index ( ) . column ) ; this . _emitEvent ( "key-blur" , [ this . s . dt , a ] ) } } , _columns : function ( ) { var a = this . s . dt , b = a . columns ( this . c . columns ) . indexes ( ) , c = [ ] ; a . columns ( ":visible" ) . every ( function ( a ) { - 1 !==
b . indexOf ( a ) && c . push ( a ) } ) ; return c } , _editor : function ( a , b ) { var c = this . s . dt , d = this . c . editor ; b . stopPropagation ( ) ; 13 === a && b . preventDefault ( ) ; d . inline ( this . s . lastFocus . index ( ) ) ; e ( "div.DTE input, div.DTE textarea" ) . select ( ) ; c . keys . enable ( this . c . editorKeys ) ; c . one ( "key-blur.editor" , function ( ) { d . displayed ( ) && d . submit ( ) } ) ; d . one ( "close" , function ( ) { c . keys . enable ( ! 0 ) ; c . off ( "key-blur.editor" ) } ) } , _emitEvent : function ( a , b ) { this . s . dt . iterator ( "table" , function ( c ) { e ( c . nTable ) . triggerHandler ( a , b ) } ) } , _focus : function ( a ,
b , c , d ) { var i = this , g = this . s . dt , f = g . page . info ( ) , h = this . s . lastFocus ; d || ( d = null ) ; if ( this . s . enable ) { if ( "number" !== typeof a ) { var j = a . index ( ) , b = j . column , a = g . rows ( { filter : "applied" , order : "applied" } ) . indexes ( ) . indexOf ( j . row ) ; f . serverSide && ( a += f . start ) } if ( - 1 !== f . length && ( a < f . start || a >= f . start + f . length ) ) this . s . focusDraw = ! 0 , g . one ( "draw" , function ( ) { i . s . focusDraw = ! 1 ; i . _focus ( a , b ) } ) . page ( Math . floor ( a / f . length ) ) . draw ( ! 1 ) ; else if ( - 1 !== e . inArray ( b , this . _columns ( ) ) ) { f . serverSide && ( a -= f . start ) ; f = g . cell ( ":eq(" + a + ")" ,
b , { search : "applied" } ) ; if ( h ) { if ( h . node ( ) === f . node ( ) ) return ; this . _blur ( ) } h = e ( f . node ( ) ) ; h . addClass ( this . c . className ) ; this . _updateFixedColumns ( b ) ; if ( c === o || ! 0 === c ) this . _scroll ( e ( m ) , e ( k . body ) , h , "offset" ) , c = g . table ( ) . body ( ) . parentNode , c !== g . table ( ) . header ( ) . parentNode && ( c = e ( c . parentNode ) , this . _scroll ( c , c , h , "position" ) ) ; this . s . lastFocus = f ; this . _emitEvent ( "key-focus" , [ this . s . dt , f , d || null ] ) ; g . state . save ( ) } } } , _key : function ( a ) { var b = this . s . enable , c = ! 0 === b || "navigation-only" === b ; if ( b && ! ( 0 === a . keyCode || a . ctrlKey ||
a . metaKey || a . altKey ) ) { var d = this . s . lastFocus ; if ( d ) { var i = this , g = this . s . dt ; if ( ! ( this . c . keys && - 1 === e . inArray ( a . keyCode , this . c . keys ) ) ) switch ( a . keyCode ) { case 9 : this . _shift ( a , a . shiftKey ? "left" : "right" , ! 0 ) ; break ; case 27 : this . s . blurable && ! 0 === b && this . _blur ( ) ; break ; case 33 : case 34 : if ( c ) { a . preventDefault ( ) ; var f = g . cells ( { page : "current" } ) . nodes ( ) . indexOf ( d . node ( ) ) ; g . one ( "draw" , function ( ) { var b = g . cells ( { page : "current" } ) . nodes ( ) ; i . _focus ( g . cell ( f < b . length ? b [ f ] : b [ b . length - 1 ] ) , null , ! 0 , a ) } ) . page ( 33 === a . keyCode ?
"previous" : "next" ) . draw ( ! 1 ) } break ; case 35 : case 36 : c && ( a . preventDefault ( ) , b = g . cells ( { page : "current" } ) . indexes ( ) , this . _focus ( g . cell ( b [ 35 === a . keyCode ? b . length - 1 : 0 ] ) , null , ! 0 , a ) ) ; break ; case 37 : c && this . _shift ( a , "left" ) ; break ; case 38 : c && this . _shift ( a , "up" ) ; break ; case 39 : c && this . _shift ( a , "right" ) ; break ; case 40 : c && this . _shift ( a , "down" ) ; break ; default : ! 0 === b && this . _emitEvent ( "key" , [ g , a . keyCode , this . s . lastFocus , a ] ) } } } } , _scroll : function ( a , b , c , d ) { var d = c [ d ] ( ) , e = c . outerHeight ( ) , c = c . outerWidth ( ) , g = b . scrollTop ( ) ,
f = b . scrollLeft ( ) , h = a . height ( ) , a = a . width ( ) ; d . top < g && b . scrollTop ( d . top ) ; d . left < f && b . scrollLeft ( d . left ) ; d . top + e > g + h && e < h && b . scrollTop ( d . top + e - h ) ; d . left + c > f + a && c < a && b . scrollLeft ( d . left + c - a ) } , _shift : function ( a , b , c ) { var d = this . s . dt , i = d . page . info ( ) , g = i . recordsDisplay , f = this . s . lastFocus , h = this . _columns ( ) ; if ( f ) { var j = d . rows ( { filter : "applied" , order : "applied" } ) . indexes ( ) . indexOf ( f . index ( ) . row ) ; i . serverSide && ( j += i . start ) ; d = d . columns ( h ) . indexes ( ) . indexOf ( f . index ( ) . column ) ; i = h [ d ] ; "right" === b ? d >= h . length - 1 ? ( j ++ ,
i = h [ 0 ] ) : i = h [ d + 1 ] : "left" === b ? 0 === d ? ( j -- , i = h [ h . length - 1 ] ) : i = h [ d - 1 ] : "up" === b ? j -- : "down" === b && j ++ ; 0 <= j && j < g && - 1 !== e . inArray ( i , h ) ? ( a . preventDefault ( ) , this . _focus ( j , i , ! 0 , a ) ) : ! c || ! this . c . blurable ? a . preventDefault ( ) : this . _blur ( ) } } , _tabInput : function ( ) { var a = this , b = this . s . dt , c = null !== this . c . tabIndex ? this . c . tabIndex : b . settings ( ) [ 0 ] . iTabIndex ; if ( - 1 != c ) e ( '<div><input type="text" tabindex="' + c + '"/></div>' ) . css ( { position : "absolute" , height : 1 , width : 0 , overflow : "hidden" } ) . insertBefore ( b . table ( ) . node ( ) ) . children ( ) . on ( "focus" ,
function ( c ) { a . _focus ( b . cell ( ":eq(0)" , "0:visible" , { page : "current" } ) , null , ! 0 , c ) } ) } , _updateFixedColumns : function ( a ) { var b = this . s . dt , c = b . settings ( ) [ 0 ] ; if ( c . _oFixedColumns ) { var d = c . aoColumns . length - c . _oFixedColumns . s . iRightColumns ; ( a < c . _oFixedColumns . s . iLeftColumns || a > d ) && b . fixedColumns ( ) . update ( ) } } } ) ; n . defaults = { blurable : ! 0 , className : "focus" , columns : "" , editor : null , editorKeys : "navigation-only" , focus : null , keys : null , tabIndex : null } ; n . version = "2.1.3" ; e . fn . dataTable . KeyTable = n ; e . fn . DataTable . KeyTable = n ; l . Api . register ( "cell.blur()" ,
function ( ) { return this . iterator ( "table" , function ( a ) { a . keytable && a . keytable . blur ( ) } ) } ) ; l . Api . register ( "cell().focus()" , function ( ) { return this . iterator ( "cell" , function ( a , b , c ) { a . keytable && a . keytable . focus ( b , c ) } ) } ) ; l . Api . register ( "keys.disable()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . keytable && a . keytable . enable ( ! 1 ) } ) } ) ; l . Api . register ( "keys.enable()" , function ( a ) { return this . iterator ( "table" , function ( b ) { b . keytable && b . keytable . enable ( a === o ? ! 0 : a ) } ) } ) ; l . ext . selector . cell . push ( function ( a , b ,
c ) { var b = b . focused , a = a . keytable , d = [ ] ; if ( ! a || b === o ) return c ; for ( var e = 0 , g = c . length ; e < g ; e ++ ) ( ! 0 === b && a . focused ( c [ e ] ) || ! 1 === b && ! a . focused ( c [ e ] ) ) && d . push ( c [ e ] ) ; return d } ) ; e ( k ) . on ( "preInit.dt.dtk" , function ( a , b ) { if ( "dt" === a . namespace ) { var c = b . oInit . keys , d = l . defaults . keys ; if ( c || d ) d = e . extend ( { } , d , c ) , ! 1 !== c && new n ( b , d ) } } ) ; return n } ) ;
2016-09-03 11:05:50 +00:00
/ * !
2016-09-22 08:06:46 +00:00
Responsive 2.1 . 0
2014 - 2016 SpryMedia Ltd - datatables . net / license
2016-09-03 11:05:50 +00:00
* /
2016-09-22 08:06:46 +00:00
( 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 , k ) { l || ( l = window ) ; if ( ! k || ! k . fn . dataTable ) k = require ( "datatables.net" ) ( l , k ) . $ ; return c ( k , l , l . document ) } : c ( jQuery , window , document ) } ) ( function ( c , l , k , p ) { var m = c . fn . dataTable , j = function ( a , b ) { if ( ! m . versionCheck || ! m . versionCheck ( "1.10.3" ) ) throw "DataTables Responsive requires DataTables 1.10.3 or newer" ; this . s = { dt : new m . Api ( a ) , columns : [ ] ,
current : [ ] } ; this . s . dt . settings ( ) [ 0 ] . responsive || ( b && "string" === typeof b . details ? b . details = { type : b . details } : b && ! 1 === b . details ? b . details = { type : ! 1 } : b && ! 0 === b . details && ( b . details = { type : "inline" } ) , this . c = c . extend ( ! 0 , { } , j . defaults , m . defaults . responsive , b ) , a . responsive = this , this . _constructor ( ) ) } ; c . extend ( j . prototype , { _constructor : function ( ) { var a = this , b = this . s . dt , d = b . settings ( ) [ 0 ] , e = c ( l ) . width ( ) ; b . settings ( ) [ 0 ] . _responsive = this ; c ( l ) . on ( "resize.dtr orientationchange.dtr" , m . util . throttle ( function ( ) { var b =
c ( l ) . width ( ) ; b !== e && ( a . _resize ( ) , e = b ) } ) ) ; d . oApi . _fnCallbackReg ( d , "aoRowCreatedCallback" , function ( e ) { - 1 !== c . inArray ( ! 1 , a . s . current ) && c ( "td, th" , e ) . each ( function ( e ) { e = b . column . index ( "toData" , e ) ; ! 1 === a . s . current [ e ] && c ( this ) . css ( "display" , "none" ) } ) } ) ; b . on ( "destroy.dtr" , function ( ) { b . off ( ".dtr" ) ; c ( b . table ( ) . body ( ) ) . off ( ".dtr" ) ; c ( l ) . off ( "resize.dtr orientationchange.dtr" ) ; c . each ( a . s . current , function ( b , e ) { ! 1 === e && a . _setColumnVis ( b , ! 0 ) } ) } ) ; this . c . breakpoints . sort ( function ( a , b ) { return a . width < b . width ? 1 : a . width >
b . width ? - 1 : 0 } ) ; this . _classLogic ( ) ; this . _resizeAuto ( ) ; d = this . c . details ; ! 1 !== d . type && ( a . _detailsInit ( ) , b . on ( "column-visibility.dtr" , function ( ) { a . _classLogic ( ) ; a . _resizeAuto ( ) ; a . _resize ( ) } ) , b . on ( "draw.dtr" , function ( ) { a . _redrawChildren ( ) } ) , c ( b . table ( ) . node ( ) ) . addClass ( "dtr-" + d . type ) ) ; b . on ( "column-reorder.dtr" , function ( ) { a . _classLogic ( ) ; a . _resizeAuto ( ) ; a . _resize ( ) } ) ; b . on ( "column-sizing.dtr" , function ( ) { a . _resizeAuto ( ) ; a . _resize ( ) } ) ; b . on ( "init.dtr" , function ( ) { a . _resizeAuto ( ) ; a . _resize ( ) ; c . inArray ( false ,
a . s . current ) && b . columns . adjust ( ) } ) ; this . _resize ( ) } , _columnsVisiblity : function ( a ) { var b = this . s . dt , d = this . s . columns , e , f , g = d . map ( function ( a , b ) { return { columnIdx : b , priority : a . priority } } ) . sort ( function ( a , b ) { return a . priority !== b . priority ? a . priority - b . priority : a . columnIdx - b . columnIdx } ) , h = c . map ( d , function ( b ) { return b . auto && null === b . minWidth ? ! 1 : ! 0 === b . auto ? "-" : - 1 !== c . inArray ( a , b . includeIn ) } ) , n = 0 ; e = 0 ; for ( f = h . length ; e < f ; e ++ ) ! 0 === h [ e ] && ( n += d [ e ] . minWidth ) ; e = b . settings ( ) [ 0 ] . oScroll ; e = e . sY || e . sX ? e . iBarWidth : 0 ; b =
b . table ( ) . container ( ) . offsetWidth - e - n ; e = 0 ; for ( f = h . length ; e < f ; e ++ ) d [ e ] . control && ( b -= d [ e ] . minWidth ) ; n = ! 1 ; e = 0 ; for ( f = g . length ; e < f ; e ++ ) { var i = g [ e ] . columnIdx ; "-" === h [ i ] && ( ! d [ i ] . control && d [ i ] . minWidth ) && ( n || 0 > b - d [ i ] . minWidth ? ( n = ! 0 , h [ i ] = ! 1 ) : h [ i ] = ! 0 , b -= d [ i ] . minWidth ) } g = ! 1 ; e = 0 ; for ( f = d . length ; e < f ; e ++ ) if ( ! d [ e ] . control && ! d [ e ] . never && ! h [ e ] ) { g = ! 0 ; break } e = 0 ; for ( f = d . length ; e < f ; e ++ ) d [ e ] . control && ( h [ e ] = g ) ; - 1 === c . inArray ( ! 0 , h ) && ( h [ 0 ] = ! 0 ) ; return h } , _classLogic : function ( ) { var a = this , b = this . c . breakpoints , d = this . s . dt , e =
d . columns ( ) . eq ( 0 ) . map ( function ( a ) { var b = this . column ( a ) , e = b . header ( ) . className , a = d . settings ( ) [ 0 ] . aoColumns [ a ] . responsivePriority ; a === p && ( b = c ( b . header ( ) ) . data ( "priority" ) , a = b !== p ? 1 * b : 1E4 ) ; return { className : e , includeIn : [ ] , auto : ! 1 , control : ! 1 , never : e . match ( /\bnever\b/ ) ? ! 0 : ! 1 , priority : a } } ) , f = function ( a , b ) { var d = e [ a ] . includeIn ; - 1 === c . inArray ( b , d ) && d . push ( b ) } , g = function ( c , d , i , g ) { if ( i ) if ( "max-" === i ) { g = a . _find ( d ) . width ; d = 0 ; for ( i = b . length ; d < i ; d ++ ) b [ d ] . width <= g && f ( c , b [ d ] . name ) } else if ( "min-" === i ) { g = a . _find ( d ) . width ;
d = 0 ; for ( i = b . length ; d < i ; d ++ ) b [ d ] . width >= g && f ( c , b [ d ] . name ) } else { if ( "not-" === i ) { d = 0 ; for ( i = b . length ; d < i ; d ++ ) - 1 === b [ d ] . name . indexOf ( g ) && f ( c , b [ d ] . name ) } } else e [ c ] . includeIn . push ( d ) } ; e . each ( function ( a , e ) { for ( var d = a . className . split ( " " ) , f = ! 1 , j = 0 , l = d . length ; j < l ; j ++ ) { var k = c . trim ( d [ j ] ) ; if ( "all" === k ) { f = ! 0 ; a . includeIn = c . map ( b , function ( a ) { return a . name } ) ; return } if ( "none" === k || a . never ) { f = ! 0 ; return } if ( "control" === k ) { f = ! 0 ; a . control = ! 0 ; return } c . each ( b , function ( a , b ) { var d = b . name . split ( "-" ) , c = k . match ( RegExp ( "(min\\-|max\\-|not\\-)?(" +
d [ 0 ] + ")(\\-[_a-zA-Z0-9])?" ) ) ; c && ( f = ! 0 , c [ 2 ] === d [ 0 ] && c [ 3 ] === "-" + d [ 1 ] ? g ( e , b . name , c [ 1 ] , c [ 2 ] + c [ 3 ] ) : c [ 2 ] === d [ 0 ] && ! c [ 3 ] && g ( e , b . name , c [ 1 ] , c [ 2 ] ) ) } ) } f || ( a . auto = ! 0 ) } ) ; this . s . columns = e } , _detailsDisplay : function ( a , b ) { var d = this , e = this . s . dt , f = this . c . details ; if ( f && ! 1 !== f . type ) { var g = f . display ( a , b , function ( ) { return f . renderer ( e , a [ 0 ] , d . _detailsObj ( a [ 0 ] ) ) } ) ; ( ! 0 === g || ! 1 === g ) && c ( e . table ( ) . node ( ) ) . triggerHandler ( "responsive-display.dt" , [ e , a , g , b ] ) } } , _detailsInit : function ( ) { var a = this , b = this . s . dt , d = this . c . details ; "inline" ===
d . type && ( d . target = "td:first-child, th:first-child" ) ; b . on ( "draw.dtr" , function ( ) { a . _tabIndexes ( ) } ) ; a . _tabIndexes ( ) ; c ( b . table ( ) . body ( ) ) . on ( "keyup.dtr" , "td, th" , function ( a ) { a . keyCode === 13 && c ( this ) . data ( "dtr-keyboard" ) && c ( this ) . click ( ) } ) ; var e = d . target ; c ( b . table ( ) . body ( ) ) . on ( "click.dtr mousedown.dtr mouseup.dtr" , "string" === typeof e ? e : "td, th" , function ( d ) { if ( c ( b . table ( ) . node ( ) ) . hasClass ( "collapsed" ) && b . row ( c ( this ) . closest ( "tr" ) ) . length ) { if ( typeof e === "number" ) { var g = e < 0 ? b . columns ( ) . eq ( 0 ) . length + e : e ; if ( b . cell ( this ) . index ( ) . column !==
g ) return } g = b . row ( c ( this ) . closest ( "tr" ) ) ; d . type === "click" ? a . _detailsDisplay ( g , false ) : d . type === "mousedown" ? c ( this ) . css ( "outline" , "none" ) : d . type === "mouseup" && c ( this ) . blur ( ) . css ( "outline" , "" ) } } ) } , _detailsObj : function ( a ) { var b = this , d = this . s . dt ; return c . map ( this . s . columns , function ( e , c ) { if ( ! e . never && ! e . control ) return { title : d . settings ( ) [ 0 ] . aoColumns [ c ] . sTitle , data : d . cell ( a , c ) . render ( b . c . orthogonal ) , hidden : d . column ( c ) . visible ( ) && ! b . s . current [ c ] , columnIndex : c , rowIndex : a } } ) } , _find : function ( a ) { for ( var b = this . c . breakpoints ,
d = 0 , c = b . length ; d < c ; d ++ ) if ( b [ d ] . name === a ) return b [ d ] } , _redrawChildren : function ( ) { var a = this , b = this . s . dt ; b . rows ( { page : "current" } ) . iterator ( "row" , function ( c , e ) { b . row ( e ) ; a . _detailsDisplay ( b . row ( e ) , ! 0 ) } ) } , _resize : function ( ) { var a = this , b = this . s . dt , d = c ( l ) . width ( ) , e = this . c . breakpoints , f = e [ 0 ] . name , g = this . s . columns , h , j = this . s . current . slice ( ) ; for ( h = e . length - 1 ; 0 <= h ; h -- ) if ( d <= e [ h ] . width ) { f = e [ h ] . name ; break } var i = this . _columnsVisiblity ( f ) ; this . s . current = i ; e = ! 1 ; h = 0 ; for ( d = g . length ; h < d ; h ++ ) if ( ! 1 === i [ h ] && ! g [ h ] . never &&
! g [ h ] . control ) { e = ! 0 ; break } c ( b . table ( ) . node ( ) ) . toggleClass ( "collapsed" , e ) ; var k = ! 1 ; b . columns ( ) . eq ( 0 ) . each ( function ( b , c ) { i [ c ] !== j [ c ] && ( k = ! 0 , a . _setColumnVis ( b , i [ c ] ) ) } ) ; k && ( this . _redrawChildren ( ) , c ( b . table ( ) . node ( ) ) . trigger ( "responsive-resize.dt" , [ b , this . s . current ] ) ) } , _resizeAuto : function ( ) { var a = this . s . dt , b = this . s . columns ; if ( this . c . auto && - 1 !== c . inArray ( ! 0 , c . map ( b , function ( a ) { return a . auto } ) ) ) { a . table ( ) . node ( ) ; var d = a . table ( ) . node ( ) . cloneNode ( ! 1 ) , e = c ( a . table ( ) . header ( ) . cloneNode ( ! 1 ) ) . appendTo ( d ) , f = c ( a . table ( ) . body ( ) ) . clone ( ! 1 ,
! 1 ) . empty ( ) . appendTo ( d ) , g = a . columns ( ) . header ( ) . filter ( function ( b ) { return a . column ( b ) . visible ( ) } ) . to$ ( ) . clone ( ! 1 ) . css ( "display" , "table-cell" ) ; c ( f ) . append ( c ( a . rows ( { page : "current" } ) . nodes ( ) ) . clone ( ! 1 ) ) . find ( "th, td" ) . css ( "display" , "" ) ; if ( f = a . table ( ) . footer ( ) ) { var f = c ( f . cloneNode ( ! 1 ) ) . appendTo ( d ) , h = a . columns ( ) . footer ( ) . filter ( function ( b ) { return a . column ( b ) . visible ( ) } ) . to$ ( ) . clone ( ! 1 ) . css ( "display" , "table-cell" ) ; c ( "<tr/>" ) . append ( h ) . appendTo ( f ) } c ( "<tr/>" ) . append ( g ) . appendTo ( e ) ; "inline" === this . c . details . type &&
c ( d ) . addClass ( "dtr-inline collapsed" ) ; c ( d ) . find ( "[name]" ) . removeAttr ( "name" ) ; d = c ( "<div/>" ) . css ( { width : 1 , height : 1 , overflow : "hidden" } ) . append ( d ) ; d . insertBefore ( a . table ( ) . node ( ) ) ; g . each ( function ( c ) { c = a . column . index ( "fromVisible" , c ) ; b [ c ] . minWidth = this . offsetWidth || 0 } ) ; d . remove ( ) } } , _setColumnVis : function ( a , b ) { var d = this . s . dt , e = b ? "" : "none" ; c ( d . column ( a ) . header ( ) ) . css ( "display" , e ) ; c ( d . column ( a ) . footer ( ) ) . css ( "display" , e ) ; d . column ( a ) . nodes ( ) . to$ ( ) . css ( "display" , e ) } , _tabIndexes : function ( ) { var a = this . s . dt ,
b = a . cells ( { page : "current" } ) . nodes ( ) . to$ ( ) , d = a . settings ( ) [ 0 ] , e = this . c . details . target ; b . filter ( "[data-dtr-keyboard]" ) . removeData ( "[data-dtr-keyboard]" ) ; c ( "number" === typeof e ? ":eq(" + e + ")" : e , a . rows ( { page : "current" } ) . nodes ( ) ) . attr ( "tabIndex" , d . iTabIndex ) . data ( "dtr-keyboard" , 1 ) } } ) ; j . breakpoints = [ { name : "desktop" , width : Infinity } , { name : "tablet-l" , width : 1024 } , { name : "tablet-p" , width : 768 } , { name : "mobile-l" , width : 480 } , { name : "mobile-p" , width : 320 } ] ; j . display = { childRow : function ( a , b , d ) { if ( b ) { if ( c ( a . node ( ) ) . hasClass ( "parent" ) ) return a . child ( d ( ) ,
"child" ) . show ( ) , ! 0 } else { if ( a . child . isShown ( ) ) return a . child ( ! 1 ) , c ( a . node ( ) ) . removeClass ( "parent" ) , ! 1 ; a . child ( d ( ) , "child" ) . show ( ) ; c ( a . node ( ) ) . addClass ( "parent" ) ; return ! 0 } } , childRowImmediate : function ( a , b , d ) { if ( ! b && a . child . isShown ( ) || ! a . responsive . hasHidden ( ) ) return a . child ( ! 1 ) , c ( a . node ( ) ) . removeClass ( "parent" ) , ! 1 ; a . child ( d ( ) , "child" ) . show ( ) ; c ( a . node ( ) ) . addClass ( "parent" ) ; return ! 0 } , modal : function ( a ) { return function ( b , d , e ) { if ( d ) c ( "div.dtr-modal-content" ) . empty ( ) . append ( e ( ) ) ; else { var f = function ( ) { g . remove ( ) ;
c ( k ) . off ( "keypress.dtr" ) } , g = c ( '<div class="dtr-modal"/>' ) . append ( c ( '<div class="dtr-modal-display"/>' ) . append ( c ( '<div class="dtr-modal-content"/>' ) . append ( e ( ) ) ) . append ( c ( '<div class="dtr-modal-close">×</div>' ) . click ( function ( ) { f ( ) } ) ) ) . append ( c ( '<div class="dtr-modal-background"/>' ) . click ( function ( ) { f ( ) } ) ) . appendTo ( "body" ) ; c ( k ) . on ( "keyup.dtr" , function ( a ) { 27 === a . keyCode && ( a . stopPropagation ( ) , f ( ) ) } ) } a && a . header && c ( "div.dtr-modal-content" ) . prepend ( "<h2>" + a . header ( b ) + "</h2>" ) } } } ; j . renderer = { listHidden : function ( ) { return function ( a ,
b , d ) { return ( a = c . map ( d , function ( a ) { return a . hidden ? '<li data-dtr-index="' + a . columnIndex + '" data-dt-row="' + a . rowIndex + '" data-dt-column="' + a . columnIndex + '"><span class="dtr-title">' + a . title + '</span> <span class="dtr-data">' + a . data + "</span></li>" : "" } ) . join ( "" ) ) ? c ( '<ul data-dtr-index="' + b + '"/>' ) . append ( a ) : ! 1 } } , tableAll : function ( a ) { a = c . extend ( { tableClass : "" } , a ) ; return function ( b , d , e ) { b = c . map ( e , function ( a ) { return '<tr data-dt-row="' + a . rowIndex + '" data-dt-column="' + a . columnIndex + '"><td>' + a . title + ":</td> <td>" +
a . data + "</td></tr>" } ) . join ( "" ) ; return c ( '<table class="' + a . tableClass + '" width="100%"/>' ) . append ( b ) } } } ; j . defaults = { breakpoints : j . breakpoints , auto : ! 0 , details : { display : j . display . childRow , renderer : j . renderer . listHidden ( ) , target : 0 , type : "inline" } , orthogonal : "display" } ; var o = c . fn . dataTable . Api ; o . register ( "responsive()" , function ( ) { return this } ) ; o . register ( "responsive.index()" , function ( a ) { a = c ( a ) ; return { column : a . data ( "dtr-index" ) , row : a . parent ( ) . data ( "dtr-index" ) } } ) ; o . register ( "responsive.rebuild()" , function ( ) { return this . iterator ( "table" ,
function ( a ) { a . _responsive && a . _responsive . _classLogic ( ) } ) } ) ; o . register ( "responsive.recalc()" , function ( ) { return this . iterator ( "table" , function ( a ) { a . _responsive && ( a . _responsive . _resizeAuto ( ) , a . _responsive . _resize ( ) ) } ) } ) ; o . register ( "responsive.hasHidden()" , function ( ) { var a = this . context [ 0 ] ; return a . _responsive ? - 1 !== c . inArray ( ! 1 , a . _responsive . s . current ) : ! 1 } ) ; j . version = "2.1.0" ; c . fn . dataTable . Responsive = j ; c . fn . DataTable . Responsive = j ; c ( k ) . on ( "preInit.dt.dtr" , function ( a , b ) { if ( "dt" === a . namespace && ( c ( b . nTable ) . hasClass ( "responsive" ) ||
c ( b . nTable ) . hasClass ( "dt-responsive" ) || b . oInit . responsive || m . defaults . responsive ) ) { var d = b . oInit . responsive ; ! 1 !== d && new j ( b , c . isPlainObject ( d ) ? d : { } ) } } ) ; return j } ) ;
2016-09-03 11:05:50 +00:00
/ * !
Bootstrap integration for DataTables ' Responsive
2016-09-22 08:06:46 +00:00
© 2015 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( c ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net-bs" , "datatables.net-responsive" ] , function ( a ) { return c ( a , window , document ) } ) : "object" === typeof exports ? module . exports = function ( a , b ) { a || ( a = window ) ; if ( ! b || ! b . fn . dataTable ) b = require ( "datatables.net-bs" ) ( a , b ) . $ ; b . fn . dataTable . Responsive || require ( "datatables.net-responsive" ) ( a , b ) ; return c ( b , a , a . document ) } : c ( jQuery , window , document ) } ) ( function ( c ) { var a = c . fn . dataTable , b = a . Responsive . display , g = b . modal , d = c ( '<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="modal-body"/></div></div></div>' ) ;
b . modal = function ( a ) { return function ( b , e , f ) { c . fn . modal ? e || ( a && a . header && d . find ( "div.modal-header" ) . empty ( ) . append ( '<h4 class="modal-title">' + a . header ( b ) + "</h4>" ) , d . find ( "div.modal-body" ) . empty ( ) . append ( f ( ) ) , d . appendTo ( "body" ) . modal ( ) ) : g ( b , e , f ) } } ; return a . Responsive } ) ;
/ * !
RowReorder 1.1 . 2
2015 - 2016 SpryMedia Ltd - datatables . net / license
* /
( function ( e ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( f ) { return e ( f , window , document ) } ) : "object" === typeof exports ? module . exports = function ( f , g ) { f || ( f = window ) ; if ( ! g || ! g . fn . dataTable ) g = require ( "datatables.net" ) ( f , g ) . $ ; return e ( g , f , f . document ) } : e ( jQuery , window , document ) } ) ( function ( e , f , g ) { var j = e . fn . dataTable , i = function ( b , a ) { if ( ! j . versionCheck || ! j . versionCheck ( "1.10.8" ) ) throw "DataTables RowReorder requires DataTables 1.10.8 or newer" ; this . c = e . extend ( ! 0 , { } , j . defaults . rowReorder ,
i . defaults , a ) ; this . s = { bodyTop : null , dt : new j . Api ( b ) , getDataFn : j . ext . oApi . _fnGetObjectDataFn ( this . c . dataSrc ) , middles : null , scroll : { } , scrollInterval : null , setDataFn : j . ext . oApi . _fnSetObjectDataFn ( this . c . dataSrc ) , start : { top : 0 , left : 0 , offsetTop : 0 , offsetLeft : 0 , nodes : [ ] } , windowHeight : 0 } ; this . dom = { clone : null , dtScroll : e ( "div.dataTables_scrollBody" , this . s . dt . table ( ) . container ( ) ) } ; var c = this . s . dt . settings ( ) [ 0 ] , d = c . rowreorder ; if ( d ) return d ; c . rowreorder = this ; this . _constructor ( ) } ; e . extend ( i . prototype , { _constructor : function ( ) { var b =
this , a = this . s . dt , c = e ( a . table ( ) . node ( ) ) ; "static" === c . css ( "position" ) && c . css ( "position" , "relative" ) ; e ( a . table ( ) . container ( ) ) . on ( "mousedown.rowReorder touchstart.rowReorder" , this . c . selector , function ( d ) { var c = e ( this ) . closest ( "tr" ) ; if ( a . row ( c ) . any ( ) ) return b . _mouseDown ( d , c ) , ! 1 } ) ; a . on ( "destroy.rowReorder" , function ( ) { e ( a . table ( ) . container ( ) ) . off ( ".rowReorder" ) ; a . off ( ".rowReorder" ) } ) } , _cachePositions : function ( ) { var b = this . s . dt , a = e ( b . table ( ) . node ( ) ) . find ( "thead" ) . outerHeight ( ) , c = e . unique ( b . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) ,
d = e . map ( c , function ( b ) { return e ( b ) . position ( ) . top - a } ) , c = e . map ( d , function ( a , c ) { return d . length < c - 1 ? ( a + d [ c + 1 ] ) / 2 : ( a + a + e ( b . row ( ":last-child" ) . node ( ) ) . outerHeight ( ) ) / 2 } ) ; this . s . middles = c ; this . s . bodyTop = e ( b . table ( ) . body ( ) ) . offset ( ) . top ; this . s . windowHeight = e ( f ) . height ( ) } , _clone : function ( b ) { var a = e ( this . s . dt . table ( ) . node ( ) . cloneNode ( ! 1 ) ) . addClass ( "dt-rowReorder-float" ) . append ( "<tbody/>" ) . append ( b . clone ( ! 1 ) ) , c = b . outerWidth ( ) , d = b . outerHeight ( ) , h = b . children ( ) . map ( function ( ) { return e ( this ) . width ( ) } ) ; a . width ( c ) . height ( d ) . find ( "tr" ) . children ( ) . each ( function ( a ) { this . style . width =
h [ a ] + "px" } ) ; a . appendTo ( "body" ) ; this . dom . clone = a } , _clonePosition : function ( b ) { var a = this . s . start , c = this . _eventToPage ( b , "Y" ) - a . top , b = this . _eventToPage ( b , "X" ) - a . left , d = this . c . snapX ; this . dom . clone . css ( { top : c + a . offsetTop , left : ! 0 === d ? a . offsetLeft : "number" === typeof d ? a . offsetLeft + d : b + a . offsetLeft } ) } , _emitEvent : function ( b , a ) { this . s . dt . iterator ( "table" , function ( c ) { e ( c . nTable ) . triggerHandler ( b + ".dt" , a ) } ) } , _eventToPage : function ( b , a ) { return - 1 !== b . type . indexOf ( "touch" ) ? b . originalEvent . touches [ 0 ] [ "page" + a ] : b [ "page" +
a ] } , _mouseDown : function ( b , a ) { var c = this , d = this . s . dt , h = this . s . start , k = a . offset ( ) ; h . top = this . _eventToPage ( b , "Y" ) ; h . left = this . _eventToPage ( b , "X" ) ; h . offsetTop = k . top ; h . offsetLeft = k . left ; h . nodes = e . unique ( d . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) ; this . _cachePositions ( ) ; this . _clone ( a ) ; this . _clonePosition ( b ) ; this . dom . target = a ; a . addClass ( "dt-rowReorder-moving" ) ; e ( g ) . on ( "mouseup.rowReorder touchend.rowReorder" , function ( a ) { c . _mouseUp ( a ) } ) . on ( "mousemove.rowReorder touchmove.rowReorder" , function ( a ) { c . _mouseMove ( a ) } ) ;
e ( f ) . width ( ) === e ( g ) . width ( ) && e ( g . body ) . addClass ( "dt-rowReorder-noOverflow" ) ; d = this . dom . dtScroll ; this . s . scroll = { windowHeight : e ( f ) . height ( ) , windowWidth : e ( f ) . width ( ) , dtTop : d . length ? d . offset ( ) . top : null , dtLeft : d . length ? d . offset ( ) . left : null , dtHeight : d . length ? d . outerHeight ( ) : null , dtWidth : d . length ? d . outerWidth ( ) : null } } , _mouseMove : function ( b ) { this . _clonePosition ( b ) ; for ( var a = this . _eventToPage ( b , "Y" ) - this . s . bodyTop , c = this . s . middles , d = null , h = this . s . dt , k = h . table ( ) . body ( ) , g = 0 , f = c . length ; g < f ; g ++ ) if ( a < c [ g ] ) { d = g ;
break } null === d && ( d = c . length ) ; if ( null === this . s . lastInsert || this . s . lastInsert !== d ) 0 === d ? this . dom . target . prependTo ( k ) : ( a = e . unique ( h . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) , d > this . s . lastInsert ? this . dom . target . insertAfter ( a [ d - 1 ] ) : this . dom . target . insertBefore ( a [ d ] ) ) , this . _cachePositions ( ) , this . s . lastInsert = d ; this . _shiftScroll ( b ) } , _mouseUp : function ( ) { var b = this . s . dt , a , c , d = this . c . dataSrc ; this . dom . clone . remove ( ) ; this . dom . clone = null ; this . dom . target . removeClass ( "dt-rowReorder-moving" ) ; e ( g ) . off ( ".rowReorder" ) ;
e ( g . body ) . removeClass ( "dt-rowReorder-noOverflow" ) ; clearInterval ( this . s . scrollInterval ) ; this . s . scrollInterval = null ; var h = this . s . start . nodes , k = e . unique ( b . rows ( { page : "current" } ) . nodes ( ) . toArray ( ) ) , f = { } , l = [ ] , i = [ ] , j = this . s . getDataFn , o = this . s . setDataFn ; a = 0 ; for ( c = h . length ; a < c ; a ++ ) if ( h [ a ] !== k [ a ] ) { var m = b . row ( k [ a ] ) . id ( ) , p = b . row ( k [ a ] ) . data ( ) , n = b . row ( h [ a ] ) . data ( ) ; m && ( f [ m ] = j ( n ) ) ; l . push ( { node : k [ a ] , oldData : j ( p ) , newData : j ( n ) , newPosition : a , oldPosition : e . inArray ( k [ a ] , h ) } ) ; i . push ( k [ a ] ) } h = [ l , { dataSrc : d , nodes : i , values : f ,
triggerRow : b . row ( this . dom . target ) } ] ; this . _emitEvent ( "row-reorder" , h ) ; this . c . editor && this . c . editor . edit ( i , ! 1 , { submit : "changed" } ) . multiSet ( d , f ) . submit ( ) ; if ( this . c . update ) { a = 0 ; for ( c = l . length ; a < c ; a ++ ) f = b . row ( l [ a ] . node ) . data ( ) , o ( f , l [ a ] . newData ) , b . columns ( ) . every ( function ( ) { this . dataSrc ( ) === d && b . cell ( l [ a ] . node , this . index ( ) ) . invalidate ( "data" ) } ) ; this . _emitEvent ( "row-reordered" , h ) ; b . draw ( ! 1 ) } } , _shiftScroll : function ( b ) { var a = this , c = this . s . scroll , d = ! 1 , e = b . pageY - g . body . scrollTop , f , i ; 65 > e ? f = - 5 : e > c . windowHeight -
65 && ( f = 5 ) ; null !== c . dtTop && b . pageY < c . dtTop + 65 ? i = - 5 : null !== c . dtTop && b . pageY > c . dtTop + c . dtHeight - 65 && ( i = 5 ) ; f || i ? ( c . windowVert = f , c . dtVert = i , d = ! 0 ) : this . s . scrollInterval && ( clearInterval ( this . s . scrollInterval ) , this . s . scrollInterval = null ) ; ! this . s . scrollInterval && d && ( this . s . scrollInterval = setInterval ( function ( ) { if ( c . windowVert ) g . body . scrollTop = g . body . scrollTop + c . windowVert ; if ( c . dtVert ) { var b = a . dom . dtScroll [ 0 ] ; if ( c . dtVert ) b . scrollTop = b . scrollTop + c . dtVert } } , 20 ) ) } } ) ; i . defaults = { dataSrc : 0 , editor : null , selector : "td:first-child" ,
snapX : ! 1 , update : ! 0 } ; i . version = "1.1.2" ; e . fn . dataTable . RowReorder = i ; e . fn . DataTable . RowReorder = i ; e ( g ) . on ( "init.dt.dtr" , function ( b , a ) { if ( "dt" === b . namespace ) { var c = a . oInit . rowReorder , d = j . defaults . rowReorder ; if ( c || d ) d = e . extend ( { } , c , d ) , ! 1 !== c && new i ( a , d ) } } ) ; return i } ) ;
/ * !
Select for DataTables 1.2 . 0
2015 - 2016 SpryMedia Ltd - datatables . net / license / mit
2016-09-03 11:05:50 +00:00
* /
2016-09-22 08:06:46 +00:00
( function ( e ) { "function" === typeof define && define . amd ? define ( [ "jquery" , "datatables.net" ] , function ( i ) { return e ( i , window , document ) } ) : "object" === typeof exports ? module . exports = function ( i , l ) { i || ( i = window ) ; if ( ! l || ! l . fn . dataTable ) l = require ( "datatables.net" ) ( i , l ) . $ ; return e ( l , i , i . document ) } : e ( jQuery , window , document ) } ) ( function ( e , i , l , h ) { function t ( b , a , c ) { var d ; d = function ( c , a ) { if ( c > a ) var d = a , a = c , c = d ; var f = ! 1 ; return b . columns ( ":visible" ) . indexes ( ) . filter ( function ( b ) { b === c && ( f = ! 0 ) ; return b === a ? ( f = ! 1 , ! 0 ) : f } ) } ; var f =
function ( c , a ) { var d = b . rows ( { search : "applied" } ) . indexes ( ) ; if ( d . indexOf ( c ) > d . indexOf ( a ) ) var f = a , a = c , c = f ; var e = ! 1 ; return d . filter ( function ( b ) { b === c && ( e = ! 0 ) ; return b === a ? ( e = ! 1 , ! 0 ) : e } ) } ; ! b . cells ( { selected : ! 0 } ) . any ( ) && ! c ? ( d = d ( 0 , a . column ) , c = f ( 0 , a . row ) ) : ( d = d ( c . column , a . column ) , c = f ( c . row , a . row ) ) ; c = b . cells ( c , d ) . flatten ( ) ; b . cells ( a , { selected : ! 0 } ) . any ( ) ? b . cells ( c ) . deselect ( ) : b . cells ( c ) . select ( ) } function r ( b ) { var a = b . settings ( ) [ 0 ] . _select . selector ; e ( b . table ( ) . body ( ) ) . off ( "mousedown.dtSelect" , a ) . off ( "mouseup.dtSelect" ,
a ) . off ( "click.dtSelect" , a ) ; e ( "body" ) . off ( "click.dtSelect" ) } function v ( b ) { var a = e ( b . table ( ) . body ( ) ) , c = b . settings ( ) [ 0 ] , d = c . _select . selector ; a . on ( "mousedown.dtSelect" , d , function ( c ) { if ( c . shiftKey || c . metaKey || c . ctrlKey ) a . css ( "-moz-user-select" , "none" ) . one ( "selectstart.dtSelect" , d , function ( ) { return ! 1 } ) } ) . on ( "mouseup.dtSelect" , d , function ( ) { a . css ( "-moz-user-select" , "" ) } ) . on ( "click.dtSelect" , d , function ( c ) { var a = b . select . items ( ) ; if ( ! i . getSelection || ! i . getSelection ( ) . toString ( ) ) { var d = b . settings ( ) [ 0 ] ; if ( e ( c . target ) . closest ( "div.dataTables_wrapper" ) [ 0 ] ==
b . table ( ) . container ( ) ) { var g = b . cell ( e ( c . target ) . closest ( "td, th" ) ) ; if ( g . any ( ) ) { var h = e . Event ( "user-select.dt" ) ; k ( b , h , [ a , g , c ] ) ; h . isDefaultPrevented ( ) || ( h = g . index ( ) , "row" === a ? ( a = h . row , s ( c , b , d , "row" , a ) ) : "column" === a ? ( a = g . index ( ) . column , s ( c , b , d , "column" , a ) ) : "cell" === a && ( a = g . index ( ) , s ( c , b , d , "cell" , a ) ) , d . _select _lastCell = h ) } } } } ) ; e ( "body" ) . on ( "click.dtSelect" , function ( a ) { c . _select . blurable && ! e ( a . target ) . parents ( ) . filter ( b . table ( ) . container ( ) ) . length && ( e ( a . target ) . parents ( "div.DTE" ) . length || p ( c , ! 0 ) ) } ) } function k ( b ,
a , c , d ) { if ( ! d || b . flatten ( ) . length ) "string" === typeof a && ( a += ".dt" ) , c . unshift ( b ) , e ( b . table ( ) . node ( ) ) . triggerHandler ( a , c ) } function w ( b ) { var a = b . settings ( ) [ 0 ] ; if ( a . _select . info && a . aanFeatures . i ) { var c = e ( '<span class="select-info"/>' ) , d = function ( a , d ) { c . append ( e ( '<span class="select-item"/>' ) . append ( b . i18n ( "select." + a + "s" , { _ : "%d " + a + "s selected" , "0" : "" , 1 : "1 " + a + " selected" } , d ) ) ) } ; d ( "row" , b . rows ( { selected : ! 0 } ) . flatten ( ) . length ) ; d ( "column" , b . columns ( { selected : ! 0 } ) . flatten ( ) . length ) ; d ( "cell" , b . cells ( { selected : ! 0 } ) . flatten ( ) . length ) ;
e . each ( a . aanFeatures . i , function ( a , b ) { var b = e ( b ) , d = b . children ( "span.select-info" ) ; d . length && d . remove ( ) ; "" !== c . text ( ) && b . append ( c ) } ) } } function x ( b , a , c , d ) { var f = b [ a + "s" ] ( { search : "applied" } ) . indexes ( ) , d = e . inArray ( d , f ) , m = e . inArray ( c , f ) ; if ( ! b [ a + "s" ] ( { selected : ! 0 } ) . any ( ) && - 1 === d ) f . splice ( e . inArray ( c , f ) + 1 , f . length ) ; else { if ( d > m ) var j = m , m = d , d = j ; f . splice ( m + 1 , f . length ) ; f . splice ( 0 , d ) } b [ a ] ( c , { selected : ! 0 } ) . any ( ) ? ( f . splice ( e . inArray ( c , f ) , 1 ) , b [ a + "s" ] ( f ) . deselect ( ) ) : b [ a + "s" ] ( f ) . select ( ) } function p ( b , a ) { if ( a || "single" ===
b . _select . style ) { var c = new g . Api ( b ) ; c . rows ( { selected : ! 0 } ) . deselect ( ) ; c . columns ( { selected : ! 0 } ) . deselect ( ) ; c . cells ( { selected : ! 0 } ) . deselect ( ) } } function s ( b , a , c , d , f ) { var e = a . select . style ( ) , j = a [ d ] ( f , { selected : ! 0 } ) . any ( ) ; "os" === e ? b . ctrlKey || b . metaKey ? a [ d ] ( f ) . select ( ! j ) : b . shiftKey ? "cell" === d ? t ( a , f , c . _select _lastCell || null ) : x ( a , d , f , c . _select _lastCell ? c . _select _lastCell [ d ] : null ) : ( b = a [ d + "s" ] ( { selected : ! 0 } ) , j && 1 === b . flatten ( ) . length ? a [ d ] ( f ) . deselect ( ) : ( b . deselect ( ) , a [ d ] ( f ) . select ( ) ) ) : "multi+shift" == e ? b . shiftKey ?
"cell" === d ? t ( a , f , c . _select _lastCell || null ) : x ( a , d , f , c . _select _lastCell ? c . _select _lastCell [ d ] : null ) : a [ d ] ( f ) . select ( ! j ) : a [ d ] ( f ) . select ( ! j ) } function q ( b , a ) { return function ( c ) { return c . i18n ( "buttons." + b , a ) } } var g = e . fn . dataTable ; g . select = { } ; g . select . version = "1.2.0" ; g . select . init = function ( b ) { var a = b . settings ( ) [ 0 ] , c = a . oInit . select , d = g . defaults . select , c = c === h ? d : c , d = "row" , f = "api" , m = ! 1 , j = ! 0 , u = "td, th" , i = "selected" ; a . _select = { } ; if ( ! 0 === c ) f = "os" ; else if ( "string" === typeof c ) f = c ; else if ( e . isPlainObject ( c ) && ( c . blurable !==
h && ( m = c . blurable ) , c . info !== h && ( j = c . info ) , c . items !== h && ( d = c . items ) , c . style !== h && ( f = c . style ) , c . selector !== h && ( u = c . selector ) , c . className !== h ) ) i = c . className ; b . select . selector ( u ) ; b . select . items ( d ) ; b . select . style ( f ) ; b . select . blurable ( m ) ; b . select . info ( j ) ; a . _select . className = i ; e . fn . dataTable . ext . order [ "select-checkbox" ] = function ( a , c ) { return this . api ( ) . column ( c , { order : "index" } ) . nodes ( ) . map ( function ( c ) { return "row" === a . _select . items ? e ( c ) . parent ( ) . hasClass ( a . _select . className ) : "cell" === a . _select . items ? e ( c ) . hasClass ( a . _select . className ) :
! 1 } ) } ; e ( b . table ( ) . node ( ) ) . hasClass ( "selectable" ) && b . select . style ( "os" ) } ; e . each ( [ { type : "row" , prop : "aoData" } , { type : "column" , prop : "aoColumns" } ] , function ( b , a ) { g . ext . selector [ a . type ] . push ( function ( c , b , f ) { var b = b . selected , e , j = [ ] ; if ( b === h ) return f ; for ( var g = 0 , i = f . length ; g < i ; g ++ ) e = c [ a . prop ] [ f [ g ] ] , ( ! 0 === b && ! 0 === e . _select _selected || ! 1 === b && ! e . _select _selected ) && j . push ( f [ g ] ) ; return j } ) } ) ; g . ext . selector . cell . push ( function ( b , a , c ) { var a = a . selected , d , f = [ ] ; if ( a === h ) return c ; for ( var e = 0 , g = c . length ; e < g ; e ++ ) d = b . aoData [ c [ e ] . row ] ,
( ! 0 === a && d . _selected _cells && ! 0 === d . _selected _cells [ c [ e ] . column ] || ! 1 === a && ( ! d . _selected _cells || ! d . _selected _cells [ c [ e ] . column ] ) ) && f . push ( c [ e ] ) ; return f } ) ; var n = g . Api . register , o = g . Api . registerPlural ; n ( "select()" , function ( ) { return this . iterator ( "table" , function ( b ) { g . select . init ( new g . Api ( b ) ) } ) } ) ; n ( "select.blurable()" , function ( b ) { return b === h ? this . context [ 0 ] . _select . blurable : this . iterator ( "table" , function ( a ) { a . _select . blurable = b } ) } ) ; n ( "select.info()" , function ( b ) { return w === h ? this . context [ 0 ] . _select . info :
this . iterator ( "table" , function ( a ) { a . _select . info = b } ) } ) ; n ( "select.items()" , function ( b ) { return b === h ? this . context [ 0 ] . _select . items : this . iterator ( "table" , function ( a ) { a . _select . items = b ; k ( new g . Api ( a ) , "selectItems" , [ b ] ) } ) } ) ; n ( "select.style()" , function ( b ) { return b === h ? this . context [ 0 ] . _select . style : this . iterator ( "table" , function ( a ) { a . _select . style = b ; if ( ! a . _select _init ) { var c = new g . Api ( a ) ; a . aoRowCreatedCallback . push ( { fn : function ( c , b , d ) { b = a . aoData [ d ] ; b . _select _selected && e ( c ) . addClass ( a . _select . className ) ;
c = 0 ; for ( d = a . aoColumns . length ; c < d ; c ++ ) ( a . aoColumns [ c ] . _select _selected || b . _selected _cells && b . _selected _cells [ c ] ) && e ( b . anCells [ c ] ) . addClass ( a . _select . className ) } , sName : "select-deferRender" } ) ; c . on ( "preXhr.dt.dtSelect" , function ( ) { var a = c . rows ( { selected : ! 0 } ) . ids ( ! 0 ) . filter ( function ( c ) { return c !== h } ) , b = c . cells ( { selected : ! 0 } ) . eq ( 0 ) . map ( function ( a ) { var b = c . row ( a . row ) . id ( ! 0 ) ; return b ? { row : b , column : a . column } : h } ) . filter ( function ( c ) { return c !== h } ) ; c . one ( "draw.dt.dtSelect" , function ( ) { c . rows ( a ) . select ( ) ; b . any ( ) &&
b . each ( function ( a ) { c . cells ( a . row , a . column ) . select ( ) } ) } ) } ) ; c . on ( "draw.dtSelect.dt select.dtSelect.dt deselect.dtSelect.dt info.dt" , function ( ) { w ( c ) } ) ; c . on ( "destroy.dtSelect" , function ( ) { r ( c ) ; c . off ( ".dtSelect" ) } ) } var d = new g . Api ( a ) ; r ( d ) ; "api" !== b && v ( d ) ; k ( new g . Api ( a ) , "selectStyle" , [ b ] ) } ) } ) ; n ( "select.selector()" , function ( b ) { return b === h ? this . context [ 0 ] . _select . selector : this . iterator ( "table" , function ( a ) { r ( new g . Api ( a ) ) ; a . _select . selector = b ; "api" !== a . _select . style && v ( new g . Api ( a ) ) } ) } ) ; o ( "rows().select()" ,
"row().select()" , function ( b ) { var a = this ; if ( ! 1 === b ) return this . deselect ( ) ; this . iterator ( "row" , function ( c , a ) { p ( c ) ; c . aoData [ a ] . _select _selected = ! 0 ; e ( c . aoData [ a ] . nTr ) . addClass ( c . _select . className ) } ) ; this . iterator ( "table" , function ( c , b ) { k ( a , "select" , [ "row" , a [ b ] ] , ! 0 ) } ) ; return this } ) ; o ( "columns().select()" , "column().select()" , function ( b ) { var a = this ; if ( ! 1 === b ) return this . deselect ( ) ; this . iterator ( "column" , function ( a , b ) { p ( a ) ; a . aoColumns [ b ] . _select _selected = ! 0 ; var f = ( new g . Api ( a ) ) . column ( b ) ; e ( f . header ( ) ) . addClass ( a . _select . className ) ;
e ( f . footer ( ) ) . addClass ( a . _select . className ) ; f . nodes ( ) . to$ ( ) . addClass ( a . _select . className ) } ) ; this . iterator ( "table" , function ( c , b ) { k ( a , "select" , [ "column" , a [ b ] ] , ! 0 ) } ) ; return this } ) ; o ( "cells().select()" , "cell().select()" , function ( b ) { var a = this ; if ( ! 1 === b ) return this . deselect ( ) ; this . iterator ( "cell" , function ( a , b , f ) { p ( a ) ; b = a . aoData [ b ] ; b . _selected _cells === h && ( b . _selected _cells = [ ] ) ; b . _selected _cells [ f ] = ! 0 ; b . anCells && e ( b . anCells [ f ] ) . addClass ( a . _select . className ) } ) ; this . iterator ( "table" , function ( b , d ) { k ( a , "select" ,
[ "cell" , a [ d ] ] , ! 0 ) } ) ; return this } ) ; o ( "rows().deselect()" , "row().deselect()" , function ( ) { var b = this ; this . iterator ( "row" , function ( a , b ) { a . aoData [ b ] . _select _selected = ! 1 ; e ( a . aoData [ b ] . nTr ) . removeClass ( a . _select . className ) } ) ; this . iterator ( "table" , function ( a , c ) { k ( b , "deselect" , [ "row" , b [ c ] ] , ! 0 ) } ) ; return this } ) ; o ( "columns().deselect()" , "column().deselect()" , function ( ) { var b = this ; this . iterator ( "column" , function ( a , b ) { a . aoColumns [ b ] . _select _selected = ! 1 ; var d = new g . Api ( a ) , f = d . column ( b ) ; e ( f . header ( ) ) . removeClass ( a . _select . className ) ;
e ( f . footer ( ) ) . removeClass ( a . _select . className ) ; d . cells ( null , b ) . indexes ( ) . each ( function ( b ) { var c = a . aoData [ b . row ] , d = c . _selected _cells ; c . anCells && ( ! d || ! d [ b . column ] ) && e ( c . anCells [ b . column ] ) . removeClass ( a . _select . className ) } ) } ) ; this . iterator ( "table" , function ( a , c ) { k ( b , "deselect" , [ "column" , b [ c ] ] , ! 0 ) } ) ; return this } ) ; o ( "cells().deselect()" , "cell().deselect()" , function ( ) { var b = this ; this . iterator ( "cell" , function ( a , b , d ) { b = a . aoData [ b ] ; b . _selected _cells [ d ] = ! 1 ; b . anCells && ! a . aoColumns [ d ] . _select _selected && e ( b . anCells [ d ] ) . removeClass ( a . _select . className ) } ) ;
this . iterator ( "table" , function ( a , c ) { k ( b , "deselect" , [ "cell" , b [ c ] ] , ! 0 ) } ) ; return this } ) ; e . extend ( g . ext . buttons , { selected : { text : q ( "selected" , "Selected" ) , className : "buttons-selected" , init : function ( b ) { var a = this ; b . on ( "draw.dt.DT select.dt.DT deselect.dt.DT" , function ( ) { var b = a . rows ( { selected : ! 0 } ) . any ( ) || a . columns ( { selected : ! 0 } ) . any ( ) || a . cells ( { selected : ! 0 } ) . any ( ) ; a . enable ( b ) } ) ; this . disable ( ) } } , selectedSingle : { text : q ( "selectedSingle" , "Selected single" ) , className : "buttons-selected-single" , init : function ( b ) { var a =
this ; b . on ( "draw.dt.DT select.dt.DT deselect.dt.DT" , function ( ) { var c = b . rows ( { selected : ! 0 } ) . flatten ( ) . length + b . columns ( { selected : ! 0 } ) . flatten ( ) . length + b . cells ( { selected : ! 0 } ) . flatten ( ) . length ; a . enable ( 1 === c ) } ) ; this . disable ( ) } } , selectAll : { text : q ( "selectAll" , "Select all" ) , className : "buttons-select-all" , action : function ( ) { this [ this . select . items ( ) + "s" ] ( ) . select ( ) } } , selectNone : { text : q ( "selectNone" , "Deselect all" ) , className : "buttons-select-none" , action : function ( ) { p ( this . settings ( ) [ 0 ] , ! 0 ) } , init : function ( b ) { var a =
this ; b . on ( "draw.dt.DT select.dt.DT deselect.dt.DT" , function ( ) { var c = b . rows ( { selected : ! 0 } ) . flatten ( ) . length + b . columns ( { selected : ! 0 } ) . flatten ( ) . length + b . cells ( { selected : ! 0 } ) . flatten ( ) . length ; a . enable ( 0 < c ) } ) ; this . disable ( ) } } } ) ; e . each ( [ "Row" , "Column" , "Cell" ] , function ( b , a ) { var c = a . toLowerCase ( ) ; g . ext . buttons [ "select" + a + "s" ] = { text : q ( "select" + a + "s" , "Select " + c + "s" ) , className : "buttons-select-" + c + "s" , action : function ( ) { this . select . items ( c ) } , init : function ( a ) { var b = this ; a . on ( "selectItems.dt.DT" , function ( a , d ,
e ) { b . active ( e === c ) } ) } } } ) ; e ( l ) . on ( "preInit.dt.dtSelect" , function ( b , a ) { "dt" === b . namespace && g . select . init ( new g . Api ( a ) ) } ) ; return g . select } ) ;
2016-09-03 11:05:50 +00:00