',{class:this._getClass('container')}),this.$on=g('
',{html:this.options.onText,class:this._getClass('handle-on')+' '+this._getClass(this.options.onColor)}),this.$off=g('',{html:this.options.offText,class:this._getClass('handle-off')+' '+this._getClass(this.options.offColor)}),this.$label=g('',{html:this.options.labelText,class:this._getClass('label')}),this.$element.on('init.bootstrapSwitch',this.options.onInit.bind(this,k)),this.$element.on('switchChange.bootstrapSwitch',function(){for(var n=arguments.length,o=Array(n),p=0;p-(l._handleWidth/2);l._dragEnd=!1,l.state(l.options.inverse?!p:p)}else l.state(!l.options.state);l._dragStart=!1}},'mouseleave.bootstrapSwitch':function(){l.$label.trigger('mouseup.bootstrapSwitch')}})}},{key:'_externalLabelHandler',value:function(){var l=this,m=this.$element.closest('label');m.on('click',function(n){n.preventDefault(),n.stopImmediatePropagation(),n.target===m[0]&&l.toggleState()})}},{key:'_formHandler',value:function(){var l=this.$element.closest('form');l.data('bootstrap-switch')||l.on('reset.bootstrapSwitch',function(){window.setTimeout(function(){l.find('input').filter(function(){return g(this).data('bootstrap-switch')}).each(function(){return g(this).bootstrapSwitch('state',this.checked)})},1)}).data('bootstrap-switch',!0)}},{key:'_getClass',value:function(l){return this.options.baseClass+'-'+l}},{key:'_getClasses',value:function(l){return g.isArray(l)?l.map(this._getClass.bind(this)):[this._getClass(l)]}}]),j}();g.fn.bootstrapSwitch=function(j){for(var l=arguments.length,m=Array(1://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var frCa = moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n return frCa;\n\n})));\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n var hi = moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n return hi;\n\n})));\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var enIe = moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return enIe;\n\n})));\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","/*! RowReorder 1.2.5\n * 2015-2018 SpryMedia Ltd - datatables.net/license\n */\n\n/**\n * @summary RowReorder\n * @description Row reordering extension for DataTables\n * @version 1.2.5\n * @file dataTables.rowReorder.js\n * @author SpryMedia Ltd (www.sprymedia.co.uk)\n * @contact www.sprymedia.co.uk/contact\n * @copyright Copyright 2015-2018 SpryMedia Ltd.\n *\n * This source file is free software, available under the following license:\n * MIT license - http://datatables.net/license/mit\n *\n * This source file is distributed in the hope that it will be useful, but\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\n *\n * For details please refer to: http://www.datatables.net\n */\n\n(function( factory ){\n\tif ( typeof define === 'function' && define.amd ) {\n\t\t// AMD\n\t\tdefine( ['jquery', 'datatables.net'], function ( $ ) {\n\t\t\treturn factory( $, window, document );\n\t\t} );\n\t}\n\telse if ( typeof exports === 'object' ) {\n\t\t// CommonJS\n\t\tmodule.exports = function (root, $) {\n\t\t\tif ( ! root ) {\n\t\t\t\troot = window;\n\t\t\t}\n\n\t\t\tif ( ! $ || ! $.fn.dataTable ) {\n\t\t\t\t$ = require('datatables.net')(root, $).$;\n\t\t\t}\n\n\t\t\treturn factory( $, root, root.document );\n\t\t};\n\t}\n\telse {\n\t\t// Browser\n\t\tfactory( jQuery, window, document );\n\t}\n}(function( $, window, document, undefined ) {\n'use strict';\nvar DataTable = $.fn.dataTable;\n\n\n/**\n * RowReorder provides the ability in DataTables to click and drag rows to\n * reorder them. When a row is dropped the data for the rows effected will be\n * updated to reflect the change. Normally this data point should also be the\n * column being sorted upon in the DataTable but this does not need to be the\n * case. RowReorder implements a \"data swap\" method - so the rows being\n * reordered take the value of the data point from the row that used to occupy\n * the row's new position.\n *\n * Initialisation is done by either:\n *\n * * `rowReorder` parameter in the DataTable initialisation object\n * * `new $.fn.dataTable.RowReorder( table, opts )` after DataTables\n * initialisation.\n * \n * @class\n * @param {object} settings DataTables settings object for the host table\n * @param {object} [opts] Configuration options\n * @requires jQuery 1.7+\n * @requires DataTables 1.10.7+\n */\nvar RowReorder = function ( dt, opts ) {\n\t// Sanity check that we are using DataTables 1.10 or newer\n\tif ( ! DataTable.versionCheck || ! DataTable.versionCheck( '1.10.8' ) ) {\n\t\tthrow 'DataTables RowReorder requires DataTables 1.10.8 or newer';\n\t}\n\n\t// User and defaults configuration object\n\tthis.c = $.extend( true, {},\n\t\tDataTable.defaults.rowReorder,\n\t\tRowReorder.defaults,\n\t\topts\n\t);\n\n\t// Internal settings\n\tthis.s = {\n\t\t/** @type {integer} Scroll body top cache */\n\t\tbodyTop: null,\n\n\t\t/** @type {DataTable.Api} DataTables' API instance */\n\t\tdt: new DataTable.Api( dt ),\n\n\t\t/** @type {function} Data fetch function */\n\t\tgetDataFn: DataTable.ext.oApi._fnGetObjectDataFn( this.c.dataSrc ),\n\n\t\t/** @type {array} Pixel positions for row insertion calculation */\n\t\tmiddles: null,\n\n\t\t/** @type {Object} Cached dimension information for use in the mouse move event handler */\n\t\tscroll: {},\n\n\t\t/** @type {integer} Interval object used for smooth scrolling */\n\t\tscrollInterval: null,\n\n\t\t/** @type {function} Data set function */\n\t\tsetDataFn: DataTable.ext.oApi._fnSetObjectDataFn( this.c.dataSrc ),\n\n\t\t/** @type {Object} Mouse down information */\n\t\tstart: {\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t\toffsetTop: 0,\n\t\t\toffsetLeft: 0,\n\t\t\tnodes: []\n\t\t},\n\n\t\t/** @type {integer} Window height cached value */\n\t\twindowHeight: 0,\n\n\t\t/** @type {integer} Document outer height cached value */\n\t\tdocumentOuterHeight: 0,\n\n\t\t/** @type {integer} DOM clone outer height cached value */\n\t\tdomCloneOuterHeight: 0\n\t};\n\n\t// DOM items\n\tthis.dom = {\n\t\t/** @type {jQuery} Cloned row being moved around */\n\t\tclone: null,\n\n\t\t/** @type {jQuery} DataTables scrolling container */\n\t\tdtScroll: $('div.dataTables_scrollBody', this.s.dt.table().container())\n\t};\n\n\t// Check if row reorder has already been initialised on this table\n\tvar settings = this.s.dt.settings()[0];\n\tvar exisiting = settings.rowreorder;\n\tif ( exisiting ) {\n\t\treturn exisiting;\n\t}\n\n\tsettings.rowreorder = this;\n\tthis._constructor();\n};\n\n\n$.extend( RowReorder.prototype, {\n\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\t * Constructor\n\t */\n\n\t/**\n\t * Initialise the RowReorder instance\n\t *\n\t * @private\n\t */\n\t_constructor: function ()\n\t{\n\t\tvar that = this;\n\t\tvar dt = this.s.dt;\n\t\tvar table = $( dt.table().node() );\n\n\t\t// Need to be able to calculate the row positions relative to the table\n\t\tif ( table.css('position') === 'static' ) {\n\t\t\ttable.css( 'position', 'relative' );\n\t\t}\n\n\t\t// listen for mouse down on the target column - we have to implement\n\t\t// this rather than using HTML5 drag and drop as drag and drop doesn't\n\t\t// appear to work on table rows at this time. Also mobile browsers are\n\t\t// not supported.\n\t\t// Use `table().container()` rather than just the table node for IE8 -\n\t\t// otherwise it only works once...\n\t\t$(dt.table().container()).on( 'mousedown.rowReorder touchstart.rowReorder', this.c.selector, function (e) {\n\t\t\tif ( ! that.c.enable ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Ignore excluded children of the selector\n\t\t\tif ( $(e.target).is(that.c.excludedChildren) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tvar tr = $(this).closest('tr');\n\t\t\tvar row = dt.row( tr );\n\n\t\t\t// Double check that it is a DataTable row\n\t\t\tif ( row.any() ) {\n\t\t\t\tthat._emitEvent( 'pre-row-reorder', {\n\t\t\t\t\tnode: row.node(),\n\t\t\t\t\tindex: row.index()\n\t\t\t\t} );\n\n\t\t\t\tthat._mouseDown( e, tr );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} );\n\n\t\tdt.on( 'destroy.rowReorder', function () {\n\t\t\t$(dt.table().container()).off( '.rowReorder' );\n\t\t\tdt.off( '.rowReorder' );\n\t\t} );\n\t},\n\n\n\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\t * Private methods\n\t */\n\t\n\t/**\n\t * Cache the measurements that RowReorder needs in the mouse move handler\n\t * to attempt to speed things up, rather than reading from the DOM.\n\t *\n\t * @private\n\t */\n\t_cachePositions: function ()\n\t{\n\t\tvar dt = this.s.dt;\n\n\t\t// Frustratingly, if we add `position:relative` to the tbody, the\n\t\t// position is still relatively to the parent. So we need to adjust\n\t\t// for that\n\t\tvar headerHeight = $( dt.table().node() ).find('thead').outerHeight();\n\n\t\t// Need to pass the nodes through jQuery to get them in document order,\n\t\t// not what DataTables thinks it is, since we have been altering the\n\t\t// order\n\t\tvar nodes = $.unique( dt.rows( { page: 'current' } ).nodes().toArray() );\n\t\tvar tops = $.map( nodes, function ( node, i ) {\n\t\t\treturn $(node).position().top - headerHeight;\n\t\t} );\n\n\t\tvar middles = $.map( tops, function ( top, i ) {\n\t\t\treturn tops.length < i-1 ?\n\t\t\t\t(top + tops[i+1]) / 2 :\n\t\t\t\t(top + top + $( dt.row( ':last-child' ).node() ).outerHeight() ) / 2;\n\t\t} );\n\n\t\tthis.s.middles = middles;\n\t\tthis.s.bodyTop = $( dt.table().body() ).offset().top;\n\t\tthis.s.windowHeight = $(window).height();\n\t\tthis.s.documentOuterHeight = $(document).outerHeight();\n\t},\n\n\n\t/**\n\t * Clone a row so it can be floated around the screen\n\t *\n\t * @param {jQuery} target Node to be cloned\n\t * @private\n\t */\n\t_clone: function ( target )\n\t{\n\t\tvar dt = this.s.dt;\n\t\tvar clone = $( dt.table().node().cloneNode(false) )\n\t\t\t.addClass( 'dt-rowReorder-float' )\n\t\t\t.append('')\n\t\t\t.append( target.clone( false ) );\n\n\t\t// Match the table and column widths - read all sizes before setting\n\t\t// to reduce reflows\n\t\tvar tableWidth = target.outerWidth();\n\t\tvar tableHeight = target.outerHeight();\n\t\tvar sizes = target.children().map( function () {\n\t\t\treturn $(this).width();\n\t\t} );\n\n\t\tclone\n\t\t\t.width( tableWidth )\n\t\t\t.height( tableHeight )\n\t\t\t.find('tr').children().each( function (i) {\n\t\t\t\tthis.style.width = sizes[i]+'px';\n\t\t\t} );\n\n\t\t// Insert into the document to have it floating around\n\t\tclone.appendTo( 'body' );\n\n\t\tthis.dom.clone = clone;\n\t\tthis.s.domCloneOuterHeight = clone.outerHeight();\n\t},\n\n\n\t/**\n\t * Update the cloned item's position in the document\n\t *\n\t * @param {object} e Event giving the mouse's position\n\t * @private\n\t */\n\t_clonePosition: function ( e )\n\t{\n\t\tvar start = this.s.start;\n\t\tvar topDiff = this._eventToPage( e, 'Y' ) - start.top;\n\t\tvar leftDiff = this._eventToPage( e, 'X' ) - start.left;\n\t\tvar snap = this.c.snapX;\n\t\tvar left;\n\t\tvar top = topDiff + start.offsetTop;\n\n\t\tif ( snap === true ) {\n\t\t\tleft = start.offsetLeft;\n\t\t}\n\t\telse if ( typeof snap === 'number' ) {\n\t\t\tleft = start.offsetLeft + snap;\n\t\t}\n\t\telse {\n\t\t\tleft = leftDiff + start.offsetLeft;\n\t\t}\n\n\t\tif(top < 0) {\n\t\t\ttop = 0\n\t\t}\n\t\telse if(top + this.s.domCloneOuterHeight > this.s.documentOuterHeight) {\n\t\t\ttop = this.s.documentOuterHeight - this.s.domCloneOuterHeight;\n\t\t}\n\n\t\tthis.dom.clone.css( {\n\t\t\ttop: top,\n\t\t\tleft: left\n\t\t} );\n\t},\n\n\n\t/**\n\t * Emit an event on the DataTable for listeners\n\t *\n\t * @param {string} name Event name\n\t * @param {array} args Event arguments\n\t * @private\n\t */\n\t_emitEvent: function ( name, args )\n\t{\n\t\tthis.s.dt.iterator( 'table', function ( ctx, i ) {\n\t\t\t$(ctx.nTable).triggerHandler( name+'.dt', args );\n\t\t} );\n\t},\n\n\n\t/**\n\t * Get pageX/Y position from an event, regardless of if it is a mouse or\n\t * touch event.\n\t *\n\t * @param {object} e Event\n\t * @param {string} pos X or Y (must be a capital)\n\t * @private\n\t */\n\t_eventToPage: function ( e, pos )\n\t{\n\t\tif ( e.type.indexOf( 'touch' ) !== -1 ) {\n\t\t\treturn e.originalEvent.touches[0][ 'page'+pos ];\n\t\t}\n\n\t\treturn e[ 'page'+pos ];\n\t},\n\n\n\t/**\n\t * Mouse down event handler. Read initial positions and add event handlers\n\t * for the move.\n\t *\n\t * @param {object} e Mouse event\n\t * @param {jQuery} target TR element that is to be moved\n\t * @private\n\t */\n\t_mouseDown: function ( e, target )\n\t{\n\t\tvar that = this;\n\t\tvar dt = this.s.dt;\n\t\tvar start = this.s.start;\n\n\t\tvar offset = target.offset();\n\t\tstart.top = this._eventToPage( e, 'Y' );\n\t\tstart.left = this._eventToPage( e, 'X' );\n\t\tstart.offsetTop = offset.top;\n\t\tstart.offsetLeft = offset.left;\n\t\tstart.nodes = $.unique( dt.rows( { page: 'current' } ).nodes().toArray() );\n\n\t\tthis._cachePositions();\n\t\tthis._clone( target );\n\t\tthis._clonePosition( e );\n\n\t\tthis.dom.target = target;\n\t\ttarget.addClass( 'dt-rowReorder-moving' );\n\n\t\t$( document )\n\t\t\t.on( 'mouseup.rowReorder touchend.rowReorder', function (e) {\n\t\t\t\tthat._mouseUp(e);\n\t\t\t} )\n\t\t\t.on( 'mousemove.rowReorder touchmove.rowReorder', function (e) {\n\t\t\t\tthat._mouseMove(e);\n\t\t\t} );\n\n\t\t// Check if window is x-scrolling - if not, disable it for the duration\n\t\t// of the drag\n\t\tif ( $(window).width() === $(document).width() ) {\n\t\t\t$(document.body).addClass( 'dt-rowReorder-noOverflow' );\n\t\t}\n\n\t\t// Cache scrolling information so mouse move doesn't need to read.\n\t\t// This assumes that the window and DT scroller will not change size\n\t\t// during an row drag, which I think is a fair assumption\n\t\tvar scrollWrapper = this.dom.dtScroll;\n\t\tthis.s.scroll = {\n\t\t\twindowHeight: $(window).height(),\n\t\t\twindowWidth: $(window).width(),\n\t\t\tdtTop: scrollWrapper.length ? scrollWrapper.offset().top : null,\n\t\t\tdtLeft: scrollWrapper.length ? scrollWrapper.offset().left : null,\n\t\t\tdtHeight: scrollWrapper.length ? scrollWrapper.outerHeight() : null,\n\t\t\tdtWidth: scrollWrapper.length ? scrollWrapper.outerWidth() : null\n\t\t};\n\t},\n\n\n\t/**\n\t * Mouse move event handler - move the cloned row and shuffle the table's\n\t * rows if required.\n\t *\n\t * @param {object} e Mouse event\n\t * @private\n\t */\n\t_mouseMove: function ( e )\n\t{\n\t\tthis._clonePosition( e );\n\n\t\t// Transform the mouse position into a position in the table's body\n\t\tvar bodyY = this._eventToPage( e, 'Y' ) - this.s.bodyTop;\n\t\tvar middles = this.s.middles;\n\t\tvar insertPoint = null;\n\t\tvar dt = this.s.dt;\n\t\tvar body = dt.table().body();\n\n\t\t// Determine where the row should be inserted based on the mouse\n\t\t// position\n\t\tfor ( var i=0, ien=middles.length ; i this.s.lastInsert ) {\n\t\t\t\t\tthis.dom.target.insertAfter( nodes[ insertPoint-1 ] );\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.dom.target.insertBefore( nodes[ insertPoint ] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._cachePositions();\n\n\t\t\tthis.s.lastInsert = insertPoint;\n\t\t}\n\n\t\tthis._shiftScroll( e );\n\t},\n\n\n\t/**\n\t * Mouse up event handler - release the event handlers and perform the\n\t * table updates\n\t *\n\t * @param {object} e Mouse event\n\t * @private\n\t */\n\t_mouseUp: function ( e )\n\t{\n\t\tvar that = this;\n\t\tvar dt = this.s.dt;\n\t\tvar i, ien;\n\t\tvar dataSrc = this.c.dataSrc;\n\n\t\tthis.dom.clone.remove();\n\t\tthis.dom.clone = null;\n\n\t\tthis.dom.target.removeClass( 'dt-rowReorder-moving' );\n\t\t//this.dom.target = null;\n\n\t\t$(document).off( '.rowReorder' );\n\t\t$(document.body).removeClass( 'dt-rowReorder-noOverflow' );\n\n\t\tclearInterval( this.s.scrollInterval );\n\t\tthis.s.scrollInterval = null;\n\n\t\t// Calculate the difference\n\t\tvar startNodes = this.s.start.nodes;\n\t\tvar endNodes = $.unique( dt.rows( { page: 'current' } ).nodes().toArray() );\n\t\tvar idDiff = {};\n\t\tvar fullDiff = [];\n\t\tvar diffNodes = [];\n\t\tvar getDataFn = this.s.getDataFn;\n\t\tvar setDataFn = this.s.setDataFn;\n\n\t\tfor ( i=0, ien=startNodes.length ; i scroll.windowHeight - buffer ) {\n\t\t\twindowVert = scrollSpeed;\n\t\t}\n\n\t\t// DataTables scrolling calculations - based on the table's position in\n\t\t// the document and the mouse position on the page\n\t\tif ( scroll.dtTop !== null && e.pageY < scroll.dtTop + buffer ) {\n\t\t\tdtVert = scrollSpeed * -1;\n\t\t}\n\t\telse if ( scroll.dtTop !== null && e.pageY > scroll.dtTop + scroll.dtHeight - buffer ) {\n\t\t\tdtVert = scrollSpeed;\n\t\t}\n\n\t\t// This is where it gets interesting. We want to continue scrolling\n\t\t// without requiring a mouse move, so we need an interval to be\n\t\t// triggered. The interval should continue until it is no longer needed,\n\t\t// but it must also use the latest scroll commands (for example consider\n\t\t// that the mouse might move from scrolling up to scrolling left, all\n\t\t// with the same interval running. We use the `scroll` object to \"pass\"\n\t\t// this information to the interval. Can't use local variables as they\n\t\t// wouldn't be the ones that are used by an already existing interval!\n\t\tif ( windowVert || dtVert ) {\n\t\t\tscroll.windowVert = windowVert;\n\t\t\tscroll.dtVert = dtVert;\n\t\t\trunInterval = true;\n\t\t}\n\t\telse if ( this.s.scrollInterval ) {\n\t\t\t// Don't need to scroll - remove any existing timer\n\t\t\tclearInterval( this.s.scrollInterval );\n\t\t\tthis.s.scrollInterval = null;\n\t\t}\n\n\t\t// If we need to run the interval to scroll and there is no existing\n\t\t// interval (if there is an existing one, it will continue to run)\n\t\tif ( ! this.s.scrollInterval && runInterval ) {\n\t\t\tthis.s.scrollInterval = setInterval( function () {\n\t\t\t\t// Don't need to worry about setting scroll <0 or beyond the\n\t\t\t\t// scroll bound as the browser will just reject that.\n\t\t\t\tif ( scroll.windowVert ) {\n\t\t\t\t\tdocument.body.scrollTop += scroll.windowVert;\n\t\t\t\t}\n\n\t\t\t\t// DataTables scrolling\n\t\t\t\tif ( scroll.dtVert ) {\n\t\t\t\t\tvar scroller = that.dom.dtScroll[0];\n\n\t\t\t\t\tif ( scroll.dtVert ) {\n\t\t\t\t\t\tscroller.scrollTop += scroll.dtVert;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 20 );\n\t\t}\n\t}\n} );\n\n\n\n/**\n * RowReorder default settings for initialisation\n *\n * @namespace\n * @name RowReorder.defaults\n * @static\n */\nRowReorder.defaults = {\n\t/**\n\t * Data point in the host row's data source object for where to get and set\n\t * the data to reorder. This will normally also be the sorting column.\n\t *\n\t * @type {Number}\n\t */\n\tdataSrc: 0,\n\n\t/**\n\t * Editor instance that will be used to perform the update\n\t *\n\t * @type {DataTable.Editor}\n\t */\n\teditor: null,\n\n\t/**\n\t * Enable / disable RowReorder's user interaction\n\t * @type {Boolean}\n\t */\n\tenable: true,\n\n\t/**\n\t * Form options to pass to Editor when submitting a change in the row order.\n\t * See the Editor `from-options` object for details of the options\n\t * available.\n\t * @type {Object}\n\t */\n\tformOptions: {},\n\n\t/**\n\t * Drag handle selector. This defines the element that when dragged will\n\t * reorder a row.\n\t *\n\t * @type {String}\n\t */\n\tselector: 'td:first-child',\n\n\t/**\n\t * Optionally lock the dragged row's x-position. This can be `true` to\n\t * fix the position match the host table's, `false` to allow free movement\n\t * of the row, or a number to define an offset from the host table.\n\t *\n\t * @type {Boolean|number}\n\t */\n\tsnapX: false,\n\n\t/**\n\t * Update the table's data on drop\n\t *\n\t * @type {Boolean}\n\t */\n\tupdate: true,\n\n\t/**\n\t * Selector for children of the drag handle selector that mouseDown events\n\t * will be passed through to and drag will not activate\n\t *\n\t * @type {String}\n\t */\n\texcludedChildren: 'a'\n};\n\n\n/*\n * API\n */\nvar Api = $.fn.dataTable.Api;\n\n// Doesn't do anything - work around for a bug in DT... Not documented\nApi.register( 'rowReorder()', function () {\n\treturn this;\n} );\n\nApi.register( 'rowReorder.enable()', function ( toggle ) {\n\tif ( toggle === undefined ) {\n\t\ttoggle = true;\n\t}\n\n\treturn this.iterator( 'table', function ( ctx ) {\n\t\tif ( ctx.rowreorder ) {\n\t\t\tctx.rowreorder.c.enable = toggle;\n\t\t}\n\t} );\n} );\n\nApi.register( 'rowReorder.disable()', function () {\n\treturn this.iterator( 'table', function ( ctx ) {\n\t\tif ( ctx.rowreorder ) {\n\t\t\tctx.rowreorder.c.enable = false;\n\t\t}\n\t} );\n} );\n\n\n/**\n * Version information\n *\n * @name RowReorder.version\n * @static\n */\nRowReorder.version = '1.2.5';\n\n\n$.fn.dataTable.RowReorder = RowReorder;\n$.fn.DataTable.RowReorder = RowReorder;\n\n// Attach a listener to the document which listens for DataTables initialisation\n// events so we can automatically initialise\n$(document).on( 'init.dt.dtr', function (e, settings, json) {\n\tif ( e.namespace !== 'dt' ) {\n\t\treturn;\n\t}\n\n\tvar init = settings.oInit.rowReorder;\n\tvar defaults = DataTable.defaults.rowReorder;\n\n\tif ( init || defaults ) {\n\t\tvar opts = $.extend( {}, init, defaults );\n\n\t\tif ( init !== false ) {\n\t\t\tnew RowReorder( settings, opts );\n\t\t}\n\t}\n} );\n\n\nreturn RowReorder;\n}));\n","class Ajax {\r\n\r\n static get(url, data) {\r\n return this._call(url, data, Ajax.GET);\r\n }\r\n\r\n static post(url, data) {\r\n return this._call(url, data, Ajax.POST);\r\n }\r\n\r\n static put(url, data) {\r\n return this._call(url, data, Ajax.PUT);\r\n }\r\n\r\n static patch(url, data) {\r\n return this._call(url, data, Ajax.PATCH);\r\n }\r\n\r\n static delete(url, data) {\r\n return this._call(url, data, Ajax.DELETE);\r\n }\r\n\r\n /**\r\n * @param {string} url\r\n * @param data\r\n * @param {string} method\r\n * @returns {Promise}\r\n * @private\r\n *\r\n * Ajax wrapper to automatically handle errors such as a session expiration or csrf token expiration.\r\n * Sanitizes URLs adding the Web Root if needed\r\n * Forces the actual HTTP mehtod to either GET or POST. Adds _method property to the data if needed to tell Laravel actually requested method.\r\n *\r\n */\r\n static _call(url, data, method) {\r\n data = (data ? data : {});\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n let web_root = '/';\r\n\r\n if (!url.match(/^http/)) { // If string doesn't start with http, concatenate web_root\r\n web_root = web_root.replace(/\\/$/g, '') + '/'; // Ensures web_root has trailing slash\r\n url = url.replace(/^\\/|\\/$/g, ''); // Strips leading and trailing slashes\r\n url = `${web_root}${url}`;\r\n }\r\n\r\n let request = {\r\n method: 'get',\r\n url: url,\r\n data: null,\r\n };\r\n\r\n if (method === Ajax.GET) {\r\n if (data) {\r\n request.url += (url.match(/\\?/) !== null ? '&' : '?');\r\n request.url += Ajax._objectToQueryParams(data);\r\n }\r\n } else {\r\n data._method = method;\r\n request.method = 'post';\r\n request.data = data;\r\n }\r\n\r\n axios(request)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n let response = null;\r\n\r\n switch (error.response.status) {\r\n case 301:\r\n case 302:\r\n case 307:\r\n if(error.response.data && error.response.data.redirect_url && error.response.data.redirect_url) {\r\n location.replace(error.response.data.redirect_url);\r\n } else {\r\n location.replace('/');\r\n }\r\n break;\r\n case 401: // Session Expired\r\n window.notifier.alert('Your session has expired. Please refresh the page and try again.');\r\n break;\r\n case 419: // CSRF expired maybe? Looks like it\r\n window.notifier.alert('The page has expired. Please refresh the page and try again.');\r\n break;\r\n case 404: // Not Found \r\n case 405: // Method not allowed\r\n case 500: // Server error\r\n window.notifier.alert('There was an error with your request. Please try again.');\r\n break;\r\n case 503: // Maintenance mode\r\n window.notifier.alert('The system is currently undergoing maintenance. Please try again later.');\r\n break;\r\n default:\r\n response = {\r\n response: error.response,\r\n message: error.message,\r\n }\r\n }\r\n\r\n reject(response);\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n static _objectToQueryParams(obj) {\r\n let queryParams = [];\r\n _.forOwn(obj, (value, key) => {\r\n let newKey = encodeURIComponent(key);\r\n let newValue = encodeURIComponent(typeof value === 'object' ? JSON.stringify(value) : value);\r\n queryParams.push(`${key}=${newValue}`);\r\n })\r\n return queryParams.join('&');\r\n }\r\n\r\n}\r\n\r\nAjax.GET = 'GET';\r\nAjax.POST = 'POST';\r\nAjax.PUT = 'PUT';\r\nAjax.PATCH = 'PATCH';\r\nAjax.DELETE = 'DELETE';\r\n\r\nmodule.exports = Ajax;\r\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var ms = moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return km;\n\n})));\n","import mod from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--13-2!../../../../node_modules/sass-loader/lib/loader.js??ref--13-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CallDetailsVehicleInfo.vue?vue&type=style&index=0&id=0969d090&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/style-loader/index.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--13-2!../../../../node_modules/sass-loader/lib/loader.js??ref--13-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CallDetailsVehicleInfo.vue?vue&type=style&index=0&id=0969d090&lang=scss&scoped=true&\"","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime,\n ss : processRelativeTime,\n m : processRelativeTime,\n mm : processRelativeTime,\n h : processRelativeTime,\n hh : processRelativeTime,\n d : processRelativeTime,\n dd : '%d päeva',\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return et;\n\n})));\n","\n/**\n * Switchery 0.1.1\n * http://abpetkov.github.io/switchery/\n *\n * Authored by Alexander Petkov\n * https://github.com/abpetkov\n *\n * Copyright 2013, Alexander Petkov\n * License: The MIT License (MIT)\n * http://opensource.org/licenses/MIT\n *\n */\n\n/**\n * Expose `Switchery`.\n */\n\nmodule.exports = Switchery;\n\n/**\n * Set Switchery default values.\n *\n * @api public\n */\n\nvar defaults = {\n color : '#64bd63'\n , className: 'switchery'\n , disabled : false\n , speed : '0.1s'\n};\n\nif (process.browser != null) {\n require('./switchery.css');\n}\n\n/**\n * Create Switchery object.\n *\n * @param {Object} element\n * @param {Object} options\n * @api public\n */\n\nfunction Switchery(element, options) {\n if (!(this instanceof Switchery)) return new Switchery(options);\n\n this.element = element;\n this.options = options || {};\n\n for (var i in defaults) {\n if (!(i in this.options)) {\n this.options[i] = defaults[i];\n }\n }\n\n if (this.element.type == 'checkbox') this.init();\n}\n\n/**\n * Hide the target element.\n *\n * @api private\n */\n\nSwitchery.prototype.hide = function() {\n this.element.style.display = 'none';\n};\n\n/**\n * Show custom switch after the target element.\n *\n * @api private\n */\n\nSwitchery.prototype.show = function() {\n var switcher = this.create();\n this.element.parentNode.appendChild(switcher);\n};\n\n/**\n * Create custom switch.\n *\n * @returns {Object} this.switcher\n * @api private\n */\n\nSwitchery.prototype.create = function() {\n this.switcher = document.createElement('span');\n this.jack = document.createElement('small');\n this.switcher.appendChild(this.jack);\n this.switcher.className = this.options.className;\n\n return this.switcher;\n};\n\n/**\n * See if input is checked.\n *\n * @returns {Boolean}\n * @api private\n */\n\nSwitchery.prototype.isChecked = function() {\n return this.element.checked;\n};\n\n/**\n * See if switcher should be disabled.\n *\n * @returns {Boolean}\n * @api private\n */\n\nSwitchery.prototype.isDisabled = function() {\n return this.options.disabled || this.element.disabled;\n};\n\n/**\n * Set switch jack proper position.\n *\n * @param {Boolean} clicked - we need this in order to uncheck the input when the switch is clicked\n * @api private\n */\n\nSwitchery.prototype.setPosition = function (clicked) {\n var checked = this.isChecked()\n , switcher = this.switcher\n , jack = this.jack;\n\n if (clicked && checked) checked = false;\n else if (clicked && !checked) checked = true;\n\n if (checked === true) {\n this.element.checked = true;\n\n if (window.getComputedStyle) jack.style.left = parseInt(window.getComputedStyle(switcher).width) - jack.offsetWidth + 'px';\n else jack.style.left = parseInt(switcher.currentStyle['width']) - jack.offsetWidth + 'px';\n\n if (this.options.color) this.colorize();\n } else {\n jack.style.left = '0';\n this.element.checked = false;\n this.switcher.style.backgroundColor = '';\n this.switcher.style.borderColor = '';\n }\n};\n\n/**\n * Set speed.\n *\n * @api private\n */\n\nSwitchery.prototype.setSpeed = function() {\n this.switcher.style.transitionDuration = this.options.speed;\n this.jack.style.transitionDuration = this.options.speed;\n};\n\n/**\n * Copy the input name and id attributes.\n *\n * @api private\n */\n\nSwitchery.prototype.setAttributes = function() {\n var id = this.element.getAttribute('id')\n , name = this.element.getAttribute('name');\n\n if (id) this.switcher.setAttribute('id', id);\n if (name) this.switcher.setAttribute('name', name);\n};\n\n/**\n * Set switch color.\n *\n * @api private\n */\n\nSwitchery.prototype.colorize = function() {\n this.switcher.style.backgroundColor = this.options.color;\n this.switcher.style.borderColor = this.options.color;\n};\n\n/**\n * Handle the switch click event.\n *\n * @api private\n */\n\nSwitchery.prototype.handleClick = function() {\n var $this = this\n , switcher = this.switcher;\n\n if (this.isDisabled() === false) {\n if (switcher.addEventListener) {\n switcher.addEventListener('click', function() {\n $this.setPosition(true);\n });\n } else {\n switcher.attachEvent('onclick', function() {\n $this.setPosition(true);\n });\n }\n } else {\n this.element.disabled = true;\n }\n};\n\n/**\n * Initialize Switchery.\n *\n * @api private\n */\n\nSwitchery.prototype.init = function() {\n this.hide();\n this.show();\n this.setSpeed();\n this.setPosition();\n this.setAttributes();\n this.handleClick();\n};","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var pt = moment.defineLocale('pt', {\n months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return pt;\n\n})));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/*! Bootstrap 3 styling wrapper for ColReorder\n * ©2018 SpryMedia Ltd - datatables.net/license\n */\n\n(function( factory ){\n\tif ( typeof define === 'function' && define.amd ) {\n\t\t// AMD\n\t\tdefine( ['jquery', 'datatables.net-bs', 'datatables.net-colreorder'], function ( $ ) {\n\t\t\treturn factory( $, window, document );\n\t\t} );\n\t}\n\telse if ( typeof exports === 'object' ) {\n\t\t// CommonJS\n\t\tmodule.exports = function (root, $) {\n\t\t\tif ( ! root ) {\n\t\t\t\troot = window;\n\t\t\t}\n\n\t\t\tif ( ! $ || ! $.fn.dataTable ) {\n\t\t\t\t$ = require('datatables.net-bs')(root, $).$;\n\t\t\t}\n\n\t\t\tif ( ! $.fn.dataTable.ColReorder ) {\n\t\t\t\trequire('datatables.net-colreorder')(root, $);\n\t\t\t}\n\n\t\t\treturn factory( $, root, root.document );\n\t\t};\n\t}\n\telse {\n\t\t// Browser\n\t\tfactory( jQuery, window, document );\n\t}\n}(function( $, window, document, undefined ) {\n\nreturn $.fn.dataTable;\n\n}));","\r\n/**\r\n * We'll load jQuery and the Bootstrap jQuery plugin which provides support\r\n * for JavaScript based Bootstrap features such as modals and tabs. This\r\n * code may be modified to fit the specific needs of your application.\r\n */\r\n\r\ntry {\r\n window.$ = window.jQuery = require('jquery');\r\n window._ = require('lodash');\r\n window.toastr = require('toastr/toastr');\r\n window.moment = require('moment/moment');\r\n window.NotifierServerSide = require('../js/NotifierServerSide');\r\n // require('@fortawesome/fontawesome-pro/js/all.m');\r\n // require('@fortawesome/fontawesome-pro');\r\n // require('jquery.uniform');\r\n require('bootstrap-sass');\r\n require('jquery-validation/dist/jquery.validate.min');\r\n\r\n require('daterangepicker/daterangepicker');\r\n\r\n require('bootstrap-select');\r\n\r\n require('datatables.net-bs/js/dataTables.bootstrap');\r\n require('datatables.net-buttons-bs/js/buttons.bootstrap');\r\n require('datatables.net-responsive-bs/js/responsive.bootstrap');\r\n require('datatables.net-rowgroup-bs/js/rowGroup.bootstrap');\r\n require('datatables.net-select-bs/js/select.bootstrap');\r\n require('datatables.net-fixedheader-bs/js/fixedHeader.bootstrap');\r\n require('datatables.net-rowreorder-bs/js/rowReorder.bootstrap');\r\n require('datatables.net-colreorder-bs/js/colReorder.bootstrap');\r\n require('datatables.net-scroller-bs/js/scroller.bootstrap');\r\n\r\n require('switchery/switchery');\r\n require('bootstrap-switch/dist/js/bootstrap-switch.min');\r\n\r\n require('bootstrap-select/js/bootstrap-select');\r\n require('select2/dist/js/select2');\r\n require('busy-load');\r\n\r\n require('../js/app2');\r\n require('../js/prism.min');\r\n\r\n\r\n} catch (e) {}\r\n\r\n/**\r\n * We'll load the axios HTTP library which allows us to easily issue requests\r\n * to our Laravel back-end. This library automatically handles sending the\r\n * CSRF token as a header based on the value of the \"XSRF\" token cookie.\r\n */\r\n\r\nwindow.axios = require('axios');\r\n\r\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\r\n\r\nwindow.Ajax = require('../js/Ajax');\r\n\r\n/**\r\n * Next we will register the CSRF Token as a common header with Axios so that\r\n * all outgoing HTTP requests automatically have it attached. This is just\r\n * a simple convenience so we don't have to attach every token manually.\r\n */\r\n\r\nlet token = document.head.querySelector('meta[name=\"csrf-token\"]');\r\n\r\nif (token) {\r\n window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;\r\n} else {\r\n console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');\r\n}\r\n\r\n/**\r\n * Echo exposes an expressive API for subscribing to channels and listening\r\n * for events that are broadcast by Laravel. Echo and event broadcasting\r\n * allows your team to easily build robust real-time web applications.\r\n */\r\n\r\n// import Echo from 'laravel-echo'\r\n\r\n// window.Pusher = require('pusher-js');\r\n\r\n// window.Echo = new Echo({\r\n// broadcaster: 'pusher',\r\n// key: process.env.MIX_PUSHER_APP_KEY,\r\n// cluster: process.env.MIX_PUSHER_APP_CLUSTER,\r\n// encrypted: true\r\n// });\r\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","\r\nclass Account {\r\n\r\n constructor(data) {\r\n this.populate(data);\r\n }\r\n\r\n populate(data) {\r\n data = data ? data : {};\r\n\r\n this.Company = (typeof data.Company !== 'undefined' && data.Company ? data.Company : null);\r\n this.ContactName = (typeof data.ContactName !== 'undefined' && data.ContactName ? data.ContactName : null);\r\n this.ContactPhone = (typeof data.ContactPhone !== 'undefined' && data.ContactPhone ? data.ContactPhone : null);\r\n this.Email = (typeof data.Email !== 'undefined' && data.Email ? data.Email : null);\r\n this.TimeZone = (typeof data.TimeZone !== 'undefined' && data.TimeZone ? data.TimeZone : 13);\r\n this.DaylightSavings = (typeof data.DaylightSavings !== 'undefined' && data.DaylightSavings ? data.DaylightSavings : null);\r\n this.UserName = (typeof data.UserName !== 'undefined' && data.UserName ? data.UserName : null);\r\n this.Password = (typeof data.Password !== 'undefined' && data.Password ? data.Password : null);\r\n this.DefaultLocation = (typeof data.DefaultLocation !== 'undefined' && data.DefaultLocation ? data.DefaultLocation : null);\r\n this.DefaultDestination = (typeof data.DefaultDestination !== 'undefined' && data.DefaultDestination ? data.DefaultDestination : null);\r\n // this.PageSize = (typeof data.PageSize !== 'undefined' && data.PageSize ? data.PageSize : 10);\r\n // this.StatusColors = (typeof data.StatusColors !== 'undefined' && data.StatusColors ? data.StatusColors : true);\r\n\r\n this.fieldErrors = {\r\n Company: [],\r\n ContactName: [],\r\n ContactPhone: [],\r\n Email: [],\r\n TimeZone: [],\r\n DaylightSavings: [],\r\n UserName: [],\r\n Password: [],\r\n DefaultLocation: [],\r\n DefaultDestination: [],\r\n // PageSize: [],\r\n // StatusColors: [],\r\n };\r\n\r\n // this.requiredFields = {\r\n // Company: false,\r\n // ContactName: true,\r\n // ContactPhone: true,\r\n // Email: false,\r\n // TimeZone: false,\r\n // DaylightSavings: false,\r\n // UserName: true,\r\n // Password: true,\r\n // DefaultLocation: false,\r\n // DefaultDestination: false,\r\n // // PageSize: false,\r\n // // StatusColors: false,\r\n // };\r\n\r\n }\r\n\r\n}\r\n\r\nmodule.exports = Account;","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var months = [\n 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n ];\n\n var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months : months,\n monthsShort : monthsShort,\n monthsParseExact : true,\n weekdays : weekdays,\n weekdaysShort : weekdaysShort,\n weekdaysMin : weekdaysMin,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n return gd;\n\n})));\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n var cv = moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n return cv;\n\n})));\n","/*! DataTables Bootstrap 3 integration\n * ©2011-2015 SpryMedia Ltd - datatables.net/license\n */\n\n/**\n * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and\n * DataTables 1.10 or newer.\n *\n * This file sets the defaults and adds options to DataTables to style its\n * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap\n * for further information.\n */\n(function( factory ){\n\tif ( typeof define === 'function' && define.amd ) {\n\t\t// AMD\n\t\tdefine( ['jquery', 'datatables.net'], function ( $ ) {\n\t\t\treturn factory( $, window, document );\n\t\t} );\n\t}\n\telse if ( typeof exports === 'object' ) {\n\t\t// CommonJS\n\t\tmodule.exports = function (root, $) {\n\t\t\tif ( ! root ) {\n\t\t\t\troot = window;\n\t\t\t}\n\n\t\t\tif ( ! $ || ! $.fn.dataTable ) {\n\t\t\t\t// Require DataTables, which attaches to jQuery, including\n\t\t\t\t// jQuery if needed and have a $ property so we can access the\n\t\t\t\t// jQuery object that is used\n\t\t\t\t$ = require('datatables.net')(root, $).$;\n\t\t\t}\n\n\t\t\treturn factory( $, root, root.document );\n\t\t};\n\t}\n\telse {\n\t\t// Browser\n\t\tfactory( jQuery, window, document );\n\t}\n}(function( $, window, document, undefined ) {\n'use strict';\nvar DataTable = $.fn.dataTable;\n\n\n/* Set the defaults for DataTables initialisation */\n$.extend( true, DataTable.defaults, {\n\tdom:\n\t\t\"<'row'<'col-sm-6'l><'col-sm-6'f>>\" +\n\t\t\"<'row'<'col-sm-12'tr>>\" +\n\t\t\"<'row'<'col-sm-5'i><'col-sm-7'p>>\",\n\trenderer: 'bootstrap'\n} );\n\n\n/* Default class modification */\n$.extend( DataTable.ext.classes, {\n\tsWrapper: \"dataTables_wrapper form-inline dt-bootstrap\",\n\tsFilterInput: \"form-control input-sm\",\n\tsLengthSelect: \"form-control input-sm\",\n\tsProcessing: \"dataTables_processing panel panel-default\"\n} );\n\n\n/* Bootstrap paging button renderer */\nDataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {\n\tvar api = new DataTable.Api( settings );\n\tvar classes = settings.oClasses;\n\tvar lang = settings.oLanguage.oPaginate;\n\tvar aria = settings.oLanguage.oAria.paginate || {};\n\tvar btnDisplay, btnClass, counter=0;\n\n\tvar attach = function( container, buttons ) {\n\t\tvar i, ien, node, button;\n\t\tvar clickHandler = function ( e ) {\n\t\t\te.preventDefault();\n\t\t\tif ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {\n\t\t\t\tapi.page( e.data.action ).draw( 'page' );\n\t\t\t}\n\t\t};\n\n\t\tfor ( i=0, ien=buttons.length ; i 0 ?\n\t\t\t\t\t\t\t'' : ' disabled');\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'previous':\n\t\t\t\t\t\tbtnDisplay = lang.sPrevious;\n\t\t\t\t\t\tbtnClass = button + (page > 0 ?\n\t\t\t\t\t\t\t'' : ' disabled');\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'next':\n\t\t\t\t\t\tbtnDisplay = lang.sNext;\n\t\t\t\t\t\tbtnClass = button + (page < pages-1 ?\n\t\t\t\t\t\t\t'' : ' disabled');\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'last':\n\t\t\t\t\t\tbtnDisplay = lang.sLast;\n\t\t\t\t\t\tbtnClass = button + (page < pages-1 ?\n\t\t\t\t\t\t\t'' : ' disabled');\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbtnDisplay = button + 1;\n\t\t\t\t\t\tbtnClass = page === button ?\n\t\t\t\t\t\t\t'active' : '';\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( btnDisplay ) {\n\t\t\t\t\tnode = $('', {\n\t\t\t\t\t\t\t'class': classes.sPageButton+' '+btnClass,\n\t\t\t\t\t\t\t'id': idx === 0 && typeof button === 'string' ?\n\t\t\t\t\t\t\t\tsettings.sTableId +'_'+ button :\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t.append( $('', {\n\t\t\t\t\t\t\t\t'href': '#',\n\t\t\t\t\t\t\t\t'aria-controls': settings.sTableId,\n\t\t\t\t\t\t\t\t'aria-label': aria[ button ],\n\t\t\t\t\t\t\t\t'data-dt-idx': counter,\n\t\t\t\t\t\t\t\t'tabindex': settings.iTabIndex\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t.html( btnDisplay )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.appendTo( container );\n\n\t\t\t\t\tsettings.oApi._fnBindAction(\n\t\t\t\t\t\tnode, {action: button}, clickHandler\n\t\t\t\t\t);\n\n\t\t\t\t\tcounter++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t// IE9 throws an 'unknown error' if document.activeElement is used\n\t// inside an iframe or frame. \n\tvar activeEl;\n\n\ttry {\n\t\t// Because this approach is destroying and recreating the paging\n\t\t// elements, focus is lost on the select button which is bad for\n\t\t// accessibility. So we want to restore focus once the draw has\n\t\t// completed\n\t\tactiveEl = $(host).find(document.activeElement).data('dt-idx');\n\t}\n\tcatch (e) {}\n\n\tattach(\n\t\t$(host).empty().html('