!function(e){var t;"object"==typeof module&&"object"==typeof module.exports?void 0!==(t=e(require,exports))&&(module.exports=t):"function"==typeof define&&define.amd&&define(["require","exports"],e)}(function(e,t){function o(e,t,r,n){if(!u(e))throw new TypeError("forEach called on a non-array type value. The given value is "+typeof e);var o;if(r=r||e,n)for(i=(a=e.length)-1;0<=i&&("boolean"!=typeof(o=t.call(r,e[i],i,e))||o);i--);else for(var i=0,a=e.length;i<a&&("boolean"!=typeof(o=t.call(r,e[i],i,e))||o);i++);}var u=function(e){return Array.isArray?Array.isArray(e):e&&"[object Array]"===Object.prototype.toString.call(e)};function r(e){return u(e)?e.length<1:null}function n(e){return!l(e)||""==e.replace(/\s/g,"")}function i(e,t,r){if(l(e))return String.prototype.includes?String.prototype.includes.call(e,t,r):!((r="number"!=typeof r?0:r)+t.length>e.length)&&-1!==e.indexOf(t,r);throw new TypeError("String.includes called on a non-string")}function a(e){if(l(e))return c(e).replace(/[^0-9]/g,"");throw new TypeError("String.digits called on a non-string. The given value is "+typeof e)}function f(t,r){var n=JSON.parse(JSON.stringify(t));if(p(t)&&p(r))return o(b(r),function(e){p(r[e])?n[e]=f(t[e]||{},r[e]):n[e]=r[e]}),n;throw new TypeError("First or second argument is not an plain object")}var c=function(e){return String.prototype.trim?String.prototype.trim.call(e):e.replace(/^\s+|\s+$/gm,"")},l=function(e){return"string"==typeof e},s=function(e){return"function"==typeof e},p=function(e){return null!==e&&"object"==typeof e&&!u(e)};function h(e){if(!p(e)&&!u(e))return e;var t=!u(e),r=t?{}:[],n=0,o=0;if(t)for(var i=b(e),o=i.length;n<o;n++){var a=i[n];r[a]=h(e[a])}else for(o=e.length;n<o;n++)r[n]=h(e[n]);return r}function g(e,t,r){var n,o,i=r||e;if(!p(e))throw new TypeError("Object.forEach called on non-object. The given value is "+typeof e);if(!s(t))throw new TypeError("The given iterator is not a function");for(o in e)if((!s(e.hasOwnProperty)||e.hasOwnProperty(o))&&"boolean"==typeof(n=t.apply(i,[e[o],o]))&&!n)break}y=Object.prototype.hasOwnProperty,d=!{toString:null}.propertyIsEnumerable("toString"),v=(m=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length;var y,d,m,v,b=function(e){if("function"==typeof Object.keys)return Object.keys(e);if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on non-object. The given value is "+typeof e);var t,r=[];for(t in e)y.call(e,t)&&r.push(t);if(d)for(var n=0;n<v;n++)y.call(e,m[n])&&r.push(m[n]);return r},w="function"!=typeof Object.create?function(e,t){if(e!==Object(e)&&null!==e)throw TypeError("Argument must be an object, or null");T.prototype=e||{};var r=new T;return T.prototype=null,void 0!==t&&Object.defineProperties(r,t),null===e&&(r.__proto__=null),r}:Object.create;function T(){}var M,O,S=M={current:new Date,months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],fromToday:function(e,t,r,n){var o,i,a,u;return n=n||5,!j(e)&&(e=-1<e.indexOf("-")?e.replace(/-/g,"/"):e).indexOf("/")<0?"":(e=new Date(M.calcTimeOffset(e,-1*M.current.getTimezoneOffset()/60)),o=M.current.getTime()-e.getTime(),o/=1e3,Math.floor(o%60),o/=60,i=Math.max(1,Math.floor(o%60)),o/=60,a=Math.floor(o%24),u=r?" ":", ",n<(n=Math.floor(o/24))?M[t?"monthsShort":"months"][e.getMonth()]+" "+e.getDate()+u+(r?"":e.getFullYear()):1<=n?n+" day"+(1<n?"s":"")+" ago":1<=a?a+" hr"+(1<a?"s":"")+". ago":i+" min. ago")},calcTimeOffset:function(e,t){e=j(e)?new Date(e):new Date,e=e.getTime()+6e4*e.getTimezoneOffset();return new Date(e+36e5*t).getTime()},getDifference:function(e,t,r,n){var o=e.getTimezoneOffset(),e=e.getTime(),t=M.calcTimeOffset(t.getTime(),-1*o/60),o=Math.round(Math.abs(e-t)/36e5),e=Math.round((e-t)/864e5),t="days"==(r=r||"days")?e:o;return t=n?t.toString()+("days"==r?" day":" hr")+(1!==t?"s":""):t},getElapsedSeconds:function(e,t){e-=t;return e/=1e3,Math.round(e%60*100)/100+" sec."},toText:function(e,t,r,n,o,i){var a;if(j(e)||l(e)){if(!j(e)&&e){if((e=-1<e.indexOf("-")?e.replace(/-/g,"/"):e).indexOf("/")<0)return""}else if(!e)return"";a=new Date(e)}else{if(!e)return"";a=e}var e=n?" ":", ",u=o?a.getUTCMonth():a.getMonth(),f=o?a.getUTCDate():a.getDate(),o=o?a.getUTCFullYear():a.getFullYear();return i&&(f=f.toString()+function(){if(3<f&&f<21)return"th";switch(f%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}()),M[t?"monthsShort":"months"][u]+(r?" ":" "+f+e)+(n?"":o)},today:function(){return M.toText(M.current.getTime(),!0)},getAge:function(e,t,r){var n=new Date,o=n.getFullYear(),i=n.getMonth(),n=n.getDate(),o=o-r;return i<e-1&&o--,e-1==i&&n<t&&o--,o},toUTC:function(e){return e.setUTCFullYear(e.getFullYear(),e.getMonth(),e.getDate()),e.setUTCHours(e.getHours()),e.setUTCMinutes(e.getMinutes()),e}},j=function(e,t){return"number"==typeof e&&(t&&isNaN(e)||isFinite(e))};function A(e,t,r,n,o){t=!isNaN(t=Math.abs(t))&&0<t?Math.pow(10,t):1,r=void 0!==r?r:"$",n=n||",",o=o||".";var i=e<0?"-":"",a=parseInt(e=Math.round(Math.abs(+e||0)*t)/t,10)+"",u=3<(u=a.length)?u%3:0,r=r+i+(u?a.substr(0,u)+n:"")+a.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+n);return 1<t&&Math.round(0<Math.abs(e-a))&&(r+=o+(Math.round(Math.abs(e-a)*t)/t).toString().substring(2)),r}function E(e){return null==e||void 0===e}var N=function(){if("undefined"!=typeof window){if(window.requestAnimationFrame)return function(e,t){return window.requestAnimationFrame.apply(window,[e,t])};var i=0,e=function(e,t){var r=(new Date).getTime(),n=Math.max(0,16-(r-i)),o=window.setTimeout(function(){e(r+n)},n);return i=r+n,o}}else e=function(e){e()};return e}(),x="undefined"!=typeof window&&window.cancelAnimationFrame||clearTimeout;return{Array:{isArray:u,forEach:o,filter:function(e,t){if(Array.prototype.filter)return Array.prototype.filter.call(e,t);for(var r=[],n=0,o=e.length;n<o;n++)t(e[n])&&r.push(e[n]);return r},findIndex:function(e,t){if(!u(e))throw new TypeError("Array.findIndex called on a non-array type. The given value is "+typeof e);if(Array.prototype.findIndex)return Array.prototype.findIndex.call(e,t);for(var r,n=-1,o=0,i=e.length;o<i;o++)if("boolean"==typeof(r=t(e,e[o],o,e))&&r){n=o;break}return n},map:function(e,t){if(Array.prototype.map)return Array.prototype.map.call(e,t);for(var r=[],n=0,o=e.length;n<o;n++)r.push(t(e[n]));return r},some:function(e,t,r){if(!u(e))throw new TypeError("Array.some called on a non-array type value. The given value is "+typeof e);if(!s(t))throw new TypeError("Iterator of Array.some is not a function. The given value is "+typeof t);if(r=r||e,Array.prototype.some)return Array.prototype.some.call(e,t,r);for(var n=Object(e),o=n.length>>>0,i=0;i<o;i++)if(i in n&&t.call(r,n[i],i,n))return!0;return!1},isEmpty:r,isPopulated:function(e){return!!u(e)&&!r(e)},pushUnique:function(e,t){if(!u(e))throw new TypeError("Array.pushUnique called on a non-array type. The given value is "+typeof e);e.indexOf(t)<0&&e.push(t)},groupBy:function(e,n,o){var t,r;if(u(e))return t=e.reduce(function(e,t){var r=t[n];return e[r]=e[r]||[],e[r].push(t),o&&o(t,e[r]),e},{}),r=[],g(t,function(e){r.push(e)}),r;throw new TypeError("Array.groupBy called on a non-array type. The given value is "+typeof e)},last:function(e){return u(e)?e[e.length-1]:null}},Number:{isNumber:j,toNumber:function(e){var t,r;return l(e)?(r=(t=e.trim()).replace(/[^0-9.]/g,""),0==t.indexOf("-")&&(r="-"+r),parseFloat(r)):j(e)?e:null},formatMoney:A,formatNumber:function(e,t){var r=e<0?!0:!1,n=(e=Math.abs(e),t),n=!isNaN(n=Math.abs(n))&&0<n?Math.pow(10,n):1;return 1e9<=e?(formattedNumber=(Math.round(e/1e9*n)/n).toString().replace(/\.0$/,"")+"G",r&&(formattedNumber="-"+formattedNumber)):1e6<=e?(formattedNumber=(Math.round(e/1e6*n)/n).toString().replace(/\.0$/,"")+"M",r&&(formattedNumber="-"+formattedNumber)):1e3<=e?(formattedNumber=(Math.round(e/1e3*n)/n).toString().replace(/\.0$/,"")+"K",r&&(formattedNumber="-"+formattedNumber)):formattedNumber=A(e,t,""),formattedNumber},phoneFormat:function(e){return(e?a(e.toString()):"").replace(/(\d{3})(\d{3})(\d{4})/,"($1) $2-$3")},between:function(e,t,r){if(j(e))return r?e>=t[0]&&e<=t[1]:e>t[0]&&e<t[1];throw new TypeError("Number.between called on non-number. The given value is "+typeof e)}},String:{isString:l,isEmpty:n,trimLeft:function(e){return String.prototype.trimLeft?String.prototype.trimLeft.call(e):e.replace(/^\s+/,"")},trimRight:function(e){return String.prototype.trimRight?String.prototype.trimRight.call(e):e.replace(/\s+$/,"")},trim:c,format:function(e,t){var r=Array.prototype.slice.call(arguments);return r.shift().replace(/\{(\d+)\}/g,function(e,t){return void 0!==r[t]&&null!==r[t]?r[t]:e})},capitalize:function(e){if(l(e))return e.replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},substr:function(e,t,r){if(l(e))return"b"!="ab".substr(-1)?String.prototype.substr.call(e,t<0?e.length+t:t,r):String.prototype.substr.call(e,t,r);throw new TypeError("String.substr called on a non-string. The given value is "+typeof e)},includes:i,containsAny:function(t,e){var r;if(l(t))return!!u(e)&&(r=!1,o(e,function(e){return!l(e)||(i(t,e)?!(r=!0):void 0)}),r);throw new TypeError("Contains called on a non-string. The given value is "+typeof t)},splitCamel:function(e){if(l(e))return e.replace(/([A-Z])/g," $1").replace(/^./,function(e){return e.toUpperCase()});throw new TypeError("String.splitCamel called on a non-string. The given value is "+typeof e)},digits:a,resolve:function(e,t,r){return l(e)&&!n(e)?e+(t?" ":""):r||""}},Math:{degrees:function(e){return e*(180/Math.PI)},getAngle:function(e,t,r,n){n=Math.abs(n-t),t=Math.abs(r-e),r=Math.sqrt(n*n+t*t);return Math.degrees(Math.asin(n/r))},getRandomInt:function(e,t){return Math.floor(Math.random()*(t-e+1))+e}},Object:{assign:function(e,t){if(null==e)throw new TypeError("Cannot convert first argument to object");if("function"==typeof Object.assign)return Object.assign.apply(this,arguments);for(var r=Object(e),n=1;n<arguments.length;n++){var o=arguments[n];if(null!=o)for(var i=Object.keys(Object(o)),a=0,u=i.length;a<u;a++){var f=i[a],c=Object.getOwnPropertyDescriptor(o,f);void 0!==c&&c.enumerable&&(r[f]=o[f])}}return r},merge:f,isFunction:s,isObject:p,keys:b,forEach:g,copy:h,hasKeys:function(t,e,r){var n=!1;if(p(t))return o(e,function(e){if(!(e in t))return n=!1;n=!r||!!t[e]}),n;throw new TypeError("Object.hasKeys called on non-object. The given value is "+typeof t)},hasAnyKey:function(t,e,r){var n=!1;if(p(t))return o(e,function(e){if(n=e in t?!r||!!t[e]:n)return!1}),n;throw new TypeError("Object.hasKeys called on non-object. The given value is "+typeof t)},create:w,fromUrlParam:function(e){return JSON.parse('{"'+e.replace(/&/g,'","').replace(/=/g,'":"')+'"}',function(e,t){return""===e?t:decodeURIComponent(t)})}},Date:S,Time:{counter:{start:function(){O=(new Date).getTime()},end:function(e){var t;return O?(t=(new Date).getTime()-O,O=!1,e?(t/=1e3,Math.round(t%60*100)/100+"sec."):t+"ms."):null}}},uniqid:function(e,t){function r(e,t){return t<(e=parseInt(e,10).toString(16)).length?e.slice(e.length-t):t>e.length?Array(t-e.length+1).join("0")+e:e}return void 0===e&&(e=""),this.php_js||(this.php_js={}),this.php_js.uniqidSeed||(this.php_js.uniqidSeed=Math.floor(123456789*Math.random())),this.php_js.uniqidSeed++,e=e,e=(e+=r(parseInt((new Date).getTime()/1e3,10),8))+r(this.php_js.uniqidSeed,5),t&&(e+=(10*Math.random()).toFixed(8).toString()),e},tryCatch:function(e,t){try{return e()}catch(e){if(s(t))return t(e)}},isNullorUndefined:E,isEmpty:function(e){return!!E(e)||(u(e)?r(e):l(e)?n(e):j(e)?0==e:p(e)?b(e).length<=0:!e)},isAnyOf:function(t,e){var r=!1;return o(e,function(e){if(t===e)return!(r=!0)}),r},forEach:function(e,t,r){if(u(e))o(e,t,r);else{if(!p(e))throw new TypeError("forEach can only be used on arrays or plain objects. The object given is "+typeof value);g(e,t,r)}},requestAnimationFrame:N,cancelAnimationFrame:x,versionCompare:function(e,t){for(var r,n=t,t=/(\.0)+[^\.]*$/,o=(e+"").replace(t,"").split("."),n=(n+"").replace(t,"").split("."),i=Math.min(o.length,n.length),a=0;a<i;a++)if(0!=(r=parseInt(o[a],10)-parseInt(n[a],10)))return r;return o.length-n.length},Cookie:{get:function(e){var t=e+"=";if(document.cookie)for(var r=document.cookie.split(";"),n=0;n<r.length;n++){for(var o=r[n];" "==o.charAt(0);)o=o.substring(1);if(0==o.indexOf(t))return unescape(o.substring(t.length,o.length))}},set:function(e,t,r){var n,r=0===r?'expires=""':(r=r||0,(n=new Date).setTime(n.getTime()+24*r*60*60*1e3),"expires="+n.toUTCString());document.cookie=e+"="+t+"; "+r+"; path=/; domain=."+document.domain+"; secure"},check:function(){return!1!==navigator.cookieEnabled&&(document.cookie="testcookie=1",-1!=document.cookie.indexOf("testcookie"))}},Browser:{iOS:function(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].indexOf(navigator.platform)||-1<(navigator.userAgent.includes("Mac")&&"ontouchend"in document)}}}});