dx.all.js 1.8 MB

123456789
  1. /*!
  2. * DevExtreme
  3. * Version: 15.1.4
  4. * Build date: Jun 22, 2015
  5. *
  6. * Copyright (c) 2012 - 2015 Developer Express Inc. ALL RIGHTS RESERVED
  7. * EULA: https://www.devexpress.com/Support/EULAs/DevExtreme.xml
  8. */
  9. "use strict";window.DevExpress||(function(n,t){t.DevExpress=t.DevExpress||{},n.extend(t.DevExpress,{VERSION:"15.1.4",abstract:function(){throw t.DevExpress.Error("E0001");},stringFormat:function(){for(var r=arguments[0],u,f,t,i=0;i<arguments.length-1;i++)f=new RegExp("\\{"+i+"\\}","gm"),t=arguments[i+1],n.type(t)==="string"&&t.indexOf("$")>=0&&(u="$".replace("$","$$").length,t=t.replace("$",u===1?"$$$$":"$$")),r=r.replace(f,t);return r},parseUrl:function(){var t=document.createElement("a"),i=["protocol","hostname","port","pathname","search","hash"],r=function(n){return n.charAt(0)!=="/"&&(n="/"+n),n};return function(u){t.href=u;var f={};return n.each(i,function(){f[this]=t[this]}),f.pathname=r(f.pathname),f}}(),processHardwareBackButton:function(){this.hardwareBackButton.fire()},hardwareBackButton:n.Callbacks(),viewPort:function(){var t;return function(i){if(!arguments.length)return t;var r=n(i),u=!!r.length,f=this.viewPort();t=u?r:n("body"),this.viewPortChanged.fire(u?this.viewPort():n(),f)}}(),viewPortChanged:n.Callbacks(),hideTopOverlayCallback:function(){var t=[];return{add:function(i){var r=n.inArray(i,t);r===-1&&t.push(i)},remove:function(i){var r=n.inArray(i,t);r!==-1&&t.splice(r,1)},fire:function(){var n=t.pop(),i=!!n;return i&&n(),i},hasCallback:function(){return t.length>0}}}(),compareVersions:function(n,t,i){function o(n){return typeof n=="string"?n.split("."):typeof n=="number"?[n]:n}var u,r,f,e;for(n=o(n),t=o(t),u=Math.max(n.length,t.length),isFinite(i)&&(u=Math.min(u,i)),r=0;r<u;r++){if(f=parseInt(n[r]||0,10),e=parseInt(t[r]||0,10),f<e)return-1;if(f>e)return 1}return 0},rtlEnabled:!1}),n(function(){DevExpress.viewPort(".dx-viewport")})}(jQuery,this),function(n,t){var u={E0001:"Method is not implemented",E0002:"Member name collision: {0}",E0003:"A class must be instantiated using the 'new' keyword",E0004:"The NAME property of the component is not specified",E0005:"Unknown device",E0006:"Unknown endpoint key is requested",E0007:"'Invalidate' method is called outside the update transaction",E0008:"Type of the option name is not appropriate to create an action",E0009:"Component '{0}' has not been initialized for an element",E0010:"Animation configuration with the '{0}' type requires '{1}' configuration as {2}",E0011:"Unknown animation type '{0}'",E0012:"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later",E0013:"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later",E0014:"The 'release' method shouldn't be called for an unlocked Lock object",E0015:"Queued task returned an unexpected result",E0017:"Event namespace is not defined",E0018:"DevExpress.ui.dxPopup widget is required",E0020:"Template engine '{0}' is not supported",E0021:"Unknown theme is set: {0}",E0022:"LINK[rel=dx-theme] tags must go before DevExpress included scripts",E0023:"Template name is not specified",E0100:"Unknown validation type is detected",E0101:"Misconfigured range validation rule is detected",E0102:"Misconfigured comparison validation rule is detected",E0110:"Unknown validation group is detected",E0120:"Adapter for a dxValidator component cannot be configured",W0000:"'{0}' is deprecated in {1}. {2}",W0001:"{0} - '{1}' option is deprecated in {2}. {3}",W0002:"{0} - '{1}' method is deprecated in {2}. {3}",W0003:"{0} - '{1}' property is deprecated in {2}. {3}",W0004:"Timeout for theme loading is over: {0}",W0005:"'{0}' event is deprecated in {1}. {2}"},f="http://js.devexpress.com/error/"+t.VERSION.split(".").slice(0,2).join("_")+"/",e=function(n){var t=n[0];return n=n.slice(1),r(t,i(t,n))},i=function(n,i){return i=[t.ERROR_MESSAGES[n]].concat(i),t.stringFormat.apply(this,i).replace(/\.*\s*?$/,"")},r=function(n,i){return t.stringFormat.apply(this,["{0} - {1}. See:\n{2}",n,i,f+n])},o=function(t){var u,f,e;return u=t[0],t=t.slice(1),f=i(u,t),e=r(u,f),n.extend(new Error(e),{__id:u,__details:f})};n.extend(t,{Error:function(){return o(n.makeArray(arguments))},log:function(i){var r="log",u=t.utils.logger;/^E\d+$/.test(i)?r="error":/^W\d+$/.test(i)&&(r="warn"),u[r](r==="log"?i:e(n.makeArray(arguments)))},ERROR_MESSAGES:u})}(jQuery,DevExpress),function(n,t,i){i.Class=function(){var u=function(n,t,i){return function(){var r=this.callBase;this.callBase=n[t];try{return i.apply(this,arguments)}finally{this.callBase=r}}},f=function(n){var t=function(){};return t.prototype=n.prototype,new t},r=function(){},e=function(t){var i=this,r;return t?(r=n.map(t,function(n,t){return t}),n.each(["toString","toLocaleString","valueOf"],function(){t[this]&&r.push(this)}),n.each(r,function(){var r=n.isFunction(i.prototype[this])&&n.isFunction(t[this]);i.prototype[this]=r?u(i.parent.prototype,this,t[this]):t[this]}),i):i},o=function(){var t=this;return n.each(arguments,function(){this.ctor&&t._includedCtors.push(this.ctor),this.postCtor&&t._includedPostCtors.push(this.postCtor);for(var n in this)if(n!=="ctor"&&n!=="postCtor"){if(n in t.prototype)throw i.Error("E0002",n);t.prototype[n]=this[n]}}),t},s=function(n){return this.parent===n?!0:!this.parent||!this.parent.subclassOf?!1:this.parent.subclassOf(n)};return r.inherit=function(r){var u=function(){if(!this||this===t||typeof this.constructor!="function")throw i.Error("E0003");var r=this,u=r.ctor;n.each(r.constructor._includedCtors,function(){this.call(r)}),u&&u.apply(r,arguments),n.each(r.constructor._includedPostCtors,function(){this.call(r)})};return u.prototype=f(this),u.inherit=this.inherit,u.redefine=e,u.include=o,u.subclassOf=s,u.parent=this,u._includedCtors=this._includedCtors?this._includedCtors.slice(0):[],u._includedPostCtors=this._includedPostCtors?this._includedPostCtors.slice(0):[],u.prototype.constructor=u,u.redefine(r),u},r}()}(jQuery,this,DevExpress),function(n,t,i){function r(t){function f(){while(r.length){u=!0;var e=r.shift(),t=e();if(t!==i&&t.then){n.when(t).always(f);return}}u=!1}function e(n,i){t?(r[0]&&i&&i(r[0]),r=[n]):r.push(n),u||f()}function o(){return u}var r=[],u=!1;return{add:e,busy:o}}var u=t.DevExpress;n.extend(t.DevExpress,{createQueue:r,enqueue:r().add})}(jQuery,this),function(n,t,i){var e=function(n){return n===i||n===null?"":String(n)},r=function(n){return e(n).charAt(0).toUpperCase()+n.substr(1)},u=function(n){return e(n).replace(/([a-z\d])([A-Z])/g,"$1 $2").split(/[\s_-]+/)},f=function(t){return n.map(u(t),function(n){return n.toLowerCase()}).join("-")},o=function(n){return f(n).replace(/-/g,"_")},s=function(t,i){return n.map(u(t),function(n,t){return n=n.toLowerCase(),(i||t>0)&&(n=r(n)),n}).join("")},h=function(n){return r(f(n).replace(/-/g," "))},c=function(t){return n.map(u(t),function(n){return r(n.toLowerCase())}).join(" ")};t.inflector={dasherize:f,camelize:s,humanize:h,titleize:c,underscore:o}}(jQuery,DevExpress),function(n,t,i){var r={ctor:function(){this._events={}},fireEvent:function(n,t){var i=this._events[n];return i&&i.fireWith(this,t),this},on:function(t,i){if(n.isPlainObject(t))n.each(t,n.proxy(function(n,t){this.on(n,t)},this));else{var r=this._events[t],u;r||(r=n.Callbacks(),this._events[t]=r),u=r.originalAdd||r.add,u.call(r,i)}return this},off:function(t,i){var r=this._events[t];return r&&(n.isFunction(i)?r.remove(i):r.empty()),this},_disposeEvents:function(){n.each(this._events,function(){this.empty()})},_callbacksToEvents:function(r,u){var f=this;n.each(u,function(n,u){var e=f[u],o;e!==i&&(o=e.add,e.originalAdd=o,e.add=function(){return t.log("W0003",r,u,"14.2","Use the '"+u+"' event instead"),o.apply(f,arguments)},f._events[u]=e)})}};n.extend(t,{EventsMixin:r})}(jQuery,DevExpress),function(n,t){if(t.compareVersions(n.fn.jquery,[1,10])<0)throw t.Error("E0012");}(jQuery,DevExpress),function(n){var t=function(n,t){var u=n.nodeName.toLowerCase(),f=!isNaN(t),e=i(n),o=n.disabled,s=/^(input|select|textarea|button|object)$/.test(u),h=u==="a",r=!0;return r=s?!o:h?n.href||f:f,e?r:!1},i=function(t){var i=n(t);return i.is(":visible")&&i.css("visibility")!=="hidden"&&i.parents().css("visibility")!=="hidden"};n.extend(jQuery.expr[":"],{"dx-focusable":function(i){return t(i,n.attr(i,"tabindex"))},"dx-tabbable":function(i){var r=n.attr(i,"tabindex");return(isNaN(r)||r>=0)&&t(i,r)}})}(jQuery),function(n,t,i){function rt(t,i){var r=!1;return n.each(n(t).contents(),function(n,t){if(t.nodeType===3&&(t.textContent||t.nodeValue||"").toLowerCase().indexOf((i||"").toLowerCase())>-1)return r=!0,!1}),r}function s(t,r){var e,u,f;for(f in r)(e=t[f],u=r[f],t!==u)&&(!n.isPlainObject(u)||u instanceof n.Event?u!==i&&(t[f]=u):t[f]=s(n.isPlainObject(e)?e:{},u));return t}function ut(n){return t.support.hasKo?ko.utils.unwrapObservable(n):n}function ft(t,i,u,f){var e={},s=0;return n.each(t,function(n,t){n=t[i],r(n)&&(e[n]=e[n]||[],t===u?e[n].unshift(t):e[n].push(t),delete t[i])}),o(e,function(t,r){n.each(r,function(){t>=0&&(this[i]=s++)})}),n.each(t,function(){r(this[i])||f&&!f(this)||(this[i]=s++)}),s}var r=function(n){return n!==null&&n!==i},h=function(t){return n.type(t)==="string"},u=function(t){return typeof t=="number"&&isFinite(t)||n.isNumeric(t)},c=function(t){return n.type(t)==="object"},l=function(t){return n.type(t)==="array"},a=function(t){return n.type(t)==="date"},v=function(t){return n.type(t)==="function"},y=function(n){return u(n)&&n.toString().indexOf("e")!==-1},p=function(n,t){return r(n)?n:t},f=function(n){return r(n)?/^fa fa-|^fa-.* fa/.test(n)?"faIcon":/^ion-.*|ion.*ion-.*/.test(n)?"ionIcon":/^glyphicon glyphicon-|^glyphicon-.* glyphicon/.test(n)?"glyphIcon":/data:.*base64|\.|\//.test(n)?"image":/^[\w-_]+$/.test(n)?"dxIcon":!1:!1},w=function(t){var u=f(t),i="dx-icon",r;switch(u){case"image":return n("<img>",{src:t}).addClass(i);case"faIcon":case"glyphIcon":return n("<i>",{"class":i+" "+t});case"ionIcon":return r=n("<i>",{"class":i+" "+t}),r.hasClass("ion")||r.hasClass("ionicons")||r.addClass("ion"),r;case"dxIcon":return n("<i>",{"class":i+" "+i+"-"+t});default:return null}},b=function(n,t,i){var r,u;n=n||{};for(r in t)t.hasOwnProperty(r)&&(u=t[r],r in n&&!i||(n[r]=u));return n},k=function(){function n(){}return function(t){return n.prototype=t,new n}}(),d=function(t,i){var r=n.Deferred(),u=i||this,f,e={promise:r.promise(),abort:function(){clearTimeout(f),r.rejectWith(u)}},o=function(){var i=t.call(u);i&&i.done&&n.isFunction(i.done)?i.done(function(){r.resolveWith(u)}):r.resolveWith(u)};return f=(arguments[2]||setTimeout)(o,0),e},g=function(t,r,u){var f=[],e=0;return n.each(r,function(r,o){var s=0,h=u?u(o):o;(n.each(t,function(n){var r=h[n];if(r!==i){if(r===t[n]){s++;return}return s=-1,!1}}),s<e)||(s>e&&(f.length=0,e=s),f.push(o))}),f},nt=function(n){return(n+"").replace(/([\+\*\?\\\.\[\^\]\$\(\)\{\}\><\|\=\!\:])/g,"\\$1")},tt=function(n,t,i){return n.replace(new RegExp("("+nt(t)+")","gi"),i)},e=function(n){switch(typeof n){case"string":return n.split(/\s+/,2);case"object":return[n.x||n.h,n.y||n.v];case"number":return[n];default:return n}},it=function(n){var t=e(n),i=parseInt(t&&t[0],10),r=parseInt(t&&t[1],10);return isFinite(i)||(i=0),isFinite(r)||(r=i),{h:i,v:r}},o=function(n,i){var u=[],r,f;for(r in n)u.push(r);for(u.sort(function(n,i){var r=t.utils.isNumber(n),u=t.utils.isNumber(i);return r&&u?n-i:r&&!u?-1:!r&&u?1:n<i?-1:n>i?1:0}),f=0;f<u.length;f++)r=u[f],i(r,n[r])};n.expr[":"].dxicontains=n.expr.createPseudo(function(n){return function(t){return rt(t,n)}}),t.utils={isDefined:r,isString:h,isNumber:u,isObject:c,isArray:l,isDate:a,isFunction:v,isExponential:y,ensureDefined:p,extendFromObject:b,clone:k,executeAsync:d,stringFormat:t.stringFormat,findBestMatches:g,replaceAll:tt,deepExtendArraySafe:s,splitPair:e,stringPairToObject:it,normalizeIndexes:ft,orderEach:o,unwrapObservable:ut,getImageSourceType:f,getImageContainer:w}}(jQuery,DevExpress),function(n,t,i){var r=function(){function i(i){t&&n.isFunction(t.info)&&t.info(i)}function r(i){t&&n.isFunction(t.warn)&&t.warn(i)}function u(i){t&&n.isFunction(t.error)&&t.error(i)}var t=window.console;return{info:i,warn:r,error:u}}(),u=function(){function n(n,t){if(!n)throw new Error(t);}function t(t,r){n(t!==null&&t!==i,r)}return{assert:n,assertParam:t}}();n.extend(t.utils,{logger:r,debug:u})}(jQuery,DevExpress),function(n,t){var y=Math.PI,p=Math.LN10,w=Math.cos,b=Math.sin,u=Math.abs,k=Math.log,d=Math.floor,g=Math.ceil,nt=Math.max,f=window.isNaN,h=window.Number,c=window.NaN,l=t.utils.isNumber,e=t.utils.isExponential,a=function(n){var u,f=n.toString(),o=f.indexOf("."),t,i;return e(n)?(i=r(n),i<0?Math.abs(i):0):o!==-1?(t=o+1,u=f.substring(t,t+20),u.length):0},tt=function(n,t){return n?Math.log(n)/Math.log(t):c},it=function(n,t){return Math.pow(t,n)},rt=function(n){return n===0?0:n/u(n)},ut=function(n){return(n%360+360)%360},ft=function(n){return 90-n},v=function(n){return y*n/180},et=function(n){var t=v(n);return{cos:w(t),sin:b(t)}},ot=1e-14,st=function(n,t,i,r){var u=i-n,f=r-t;return Math.sqrt(f*f+u*u)},r=function(n){var t=u(n),i;return f(t)?c:t>0?(t=k(t)/p,i=g(t),i-t<ot?i:d(t)):0},ht=function(n,t,i){var o=nt(r(n),r(t)),e=-r(u(t-n)/i),s;return!f(o)&&!f(e)?(u(o)<=4?(s="fixedPoint",e<0&&(e=0),e>4&&(e=4)):(s="exponential",e+=o-1,e>3&&(e=3)),{format:s,precision:e}):null},o=function(n){var t,i;return l(n)&&(t=n.toString(),i=t.indexOf("."),i>=0)?e(n)?t.substr(i+1,t.indexOf("e")-i-1):(t=n.toFixed(20),t.substr(i+1,t.length-i+1)):""},ct=function(n){var i=o(n),t;if(i)for(t=0;t<i.length;t++)if(i.charAt(t)!=="0")return t+1;return 0},lt=function(n){var i=o(n),r,t;if(i)for(t=1;t<=i.length;t++)if(r=s(n,t),r!==0&&i[t-2]&&i[t-1]&&i[t-2]===i[t-1])return r;return n},s=function(n,t){return t>20&&(t=20),l(n)?e(n)?h(n.toExponential(t)):h(n.toFixed(t)):void 0},at=function(n,t,i){var r=a(n),u=a(t);return s(i,r<u?u:r)},vt=function(n,t,i){return Math.min(Math.max(n,t),i)},yt=function(n){return n.toExponential().split("e")[1]};n.extend(t.utils,{getLog:tt,raiseTo:it,sign:rt,normalizeAngle:ut,convertAngleToRendererSpace:ft,degreesToRadians:v,getCosAndSin:et,getDecimalOrder:r,getAppropriateFormat:ht,getDistance:st,getFraction:o,adjustValue:lt,roundValue:s,applyPrecisionByMinDelta:at,getSignificantDigitPosition:ct,getPower:yt,fitIntoRange:vt})}(jQuery,DevExpress),function(n,t){var l=t.utils.isObject,s=t.utils.isString,d=t.utils.isDate,f=t.utils.isDefined,e=["millisecond","second","minute","hour","day","week","month","quarter","year"],r=function(n,t,i){return n+(i?-1:1)*t},u=function(n){switch(n){case"millisecond":return 1;case"second":return u("millisecond")*1e3;case"minute":return u("second")*60;case"hour":return u("minute")*60;case"day":return u("hour")*24;case"week":return u("day")*7;case"month":return u("day")*30;case"quarter":return u("month")*3;case"year":return u("day")*365;default:return 0}},g=function(n){for(var t,i,f=["millisecond","second","minute","hour","day","month","year"],e={},r=f.length-1;r>=0;r--)i=f[r],t=Math.floor(n/u(i)),t>0&&(e[i+"s"]=t,n-=o(i,t));return e},nt=function(t){var i=0;return l(t)&&n.each(t,function(n,t){i+=o(n.substr(0,n.length-1),t)}),s(t)&&(i=o(t,1)),i},o=function(n,t){return u(n)*t},a=function(t){var r=-1,i;return s(t)?t:l(t)?(n.each(t,function(n,t){for(i=0;i<e.length;i++)t&&(n===e[i]+"s"||n===e[i])&&r<i&&(r=i)}),e[r]):""},tt=function(n,i,r){var o=new Date(n.getTime()),f,e,u=a(i);switch(u){case"second":n.setMilliseconds(0);break;case"minute":n.setSeconds(0,0);break;case"hour":n.setMinutes(0,0,0);break;case"year":n.setMonth(0);case"month":n.setDate(1);case"day":n.setHours(0,0,0,0);break;case"week":f=n.getDate(),n.getDay()!==0&&(f+=7-n.getDay()),n.setDate(f),n.setHours(0,0,0,0);break;case"quarter":e=t.formatHelper.getFirstQuarterMonth(n.getMonth()),n.getMonth()!==e&&n.setMonth(e),n.setDate(1),n.setHours(0,0,0,0)}r&&u!=="hour"&&u!=="minute"&&u!=="second"&&k(o,n)},it=function(t,i){var r,u=0;return r={year:t.getFullYear()!==i.getFullYear(),month:t.getMonth()!==i.getMonth(),day:t.getDate()!==i.getDate(),hour:t.getHours()!==i.getHours(),minute:t.getMinutes()!==i.getMinutes(),second:t.getSeconds()!==i.getSeconds()},n.each(r,function(n,t){t&&u++}),r.count=u,r},rt=function(n,t,i){var u=null,f;return d(n)?(f=s(t)?v(t.toLowerCase()):t,u=new Date(n.getTime()),f.years&&u.setFullYear(r(u.getFullYear(),f.years,i)),f.quarters&&u.setMonth(r(u.getMonth(),3*f.quarters,i)),f.months&&u.setMonth(r(u.getMonth(),f.months,i)),f.weeks&&u.setDate(r(u.getDate(),7*f.weeks,i)),f.days&&u.setDate(r(u.getDate(),f.days,i)),f.hours&&u.setHours(r(u.getHours(),f.hours,i)),f.minutes&&u.setMinutes(r(u.getMinutes(),f.minutes,i)),f.seconds&&u.setSeconds(r(u.getSeconds(),f.seconds,i)),f.milliseconds&&u.setMilliseconds(r(n.getMilliseconds(),f.milliseconds,i))):u=r(n,t,i),u},ut=function(n,t){if(f(t))return n==="month"?w(t):n==="year"?new Date(t.getFullYear(),0,1):n==="decade"?new Date(c(t),0,1):n==="century"?new Date(h(t),0,1):void 0},ft=function(n,t){return n==="month"?new Date(t.getFullYear(),t.getMonth(),p(t)):n==="year"?new Date(t.getFullYear(),11,1):n==="decade"?new Date(c(t)+9,0,1):n==="century"?new Date(h(t)+90,0,1):void 0},et=function(n,i,r){return t.utils[t.inflector.camelize("same "+n)](i,r)},ot=function(n){switch(n){case"month":return"year";case"year":return"decade";case"decade":return"century"}},st=function(n){switch(n){case"century":return"decade";case"decade":return"year";case"year":return"month"}},ht=function(n){var t=1;return n==="year"&&(t=12),n==="decade"&&(t=120),n==="century"&&(t=1200),t},ct=function(n){var t=1;return n==="decade"&&(t=12),n==="century"&&(t=120),t},v=function(n){var t={};switch(n){case"year":t.years=1;break;case"month":t.months=1;break;case"quarter":t.months=3;break;case"week":t.days=7;break;case"day":t.days=1;break;case"hour":t.hours=1;break;case"minute":t.minutes=1;break;case"second":t.seconds=1;break;case"millisecond":t.milliseconds=1}return t},y=function(n,t){return n&&t&&n.getFullYear()===t.getFullYear()&&n.getMonth()===t.getMonth()},lt=function(n,t){return n&&t&&n.getFullYear()===t.getFullYear()},at=function(n,t){if(f(n)&&f(t)){var i=n.getFullYear()-n.getFullYear()%10,r=t.getFullYear()-t.getFullYear()%10;return n&&t&&i===r}},vt=function(n,t){if(f(n)&&f(t)){var i=n.getFullYear()-n.getFullYear()%100,r=t.getFullYear()-t.getFullYear()%100;return n&&t&&i===r}},h=function(n){return n&&n.getFullYear()-n.getFullYear()%100},c=function(n){return n&&n.getFullYear()-n.getFullYear()%10},yt=function(n){return Globalize.format(n,"yyyy/M/d")},p=function(n){return n=new Date(n.getFullYear(),n.getMonth()+1,0),n.getDate()},w=function(n){if(f(n))return new Date(n.getFullYear(),n.getMonth(),1)},pt=function(n){if(f(n))return new Date(n.getFullYear(),n.getMonth()+1,0)},wt=function(n,t){t=t||Globalize.culture().calendar.firstDay;var r=(n.getDay()-t+7)%7,i=new Date(n);return i.setDate(n.getDate()-r),i},bt=function(n,t,i){return b(n,t,i)===n},b=function(n,t,i){var r=n;return f(t)&&n<t&&(r=t),f(i)&&n>i&&(r=i),r},k=function(n,i){if(t.utils.isDefined(n)){var r=i.getHours()-n.getHours(),u,f;r!==0&&(u=r===1||r===-23?-1:1,f=new Date(i.getTime()+u*36e5),(u>0||f.getDate()===i.getDate())&&i.setTime(f.getTime()))}},kt=function(n){return n instanceof Date||(n=new Date(n)),n};n.extend(t.utils,{dateUnitIntervals:e,convertMillisecondsToDateUnits:g,dateToMilliseconds:nt,convertDateUnitToMilliseconds:o,getDateUnitInterval:a,getDatesDifferences:it,correctDateWithUnitBeginning:tt,addInterval:rt,getDateIntervalByString:v,sameMonthAndYear:y,sameMonth:y,sameYear:lt,sameDecade:at,sameCentury:vt,sameView:et,getDifferenceInMonth:ht,getDifferenceInMonthForCells:ct,getFirstYearInDecade:c,getFirstDecadeInCentury:h,getShortDate:yt,getFirstDateView:ut,getLastDateView:ft,getViewDown:st,getViewUp:ot,getLastMonthDate:pt,getFirstMonthDate:w,getFirstWeekDate:wt,getLastDayOfMonth:p,dateInRange:bt,normalizeDate:b,fixTimezoneGap:k,makeDate:kt})}(jQuery,DevExpress),function(n,t){var r=t.utils,s={secondly:"seconds",minutely:"minutes",hourly:"hours",daily:"days",weekly:"weeks",monthly:"months",yearly:"years"},u={bysecond:function(n,t){n.setSeconds(t)},byminute:function(n,t){n.setMinutes(t)},byhour:function(n,t){n.setHours(t)},bymonth:function(n,t){n.setMonth(t)},bymonthday:function(n,t){n.setDate(t)},byday:function(n,t){n.setDate(n.getDate()-n.getDay()+t)}},h={bysecond:"getSeconds",byminute:"getMinutes",byhour:"getHours",bymonth:"getMonth",bymonthday:"getDate",byday:"getDay"},c=function(n,t,i,r){var u=[];return n&&(u=f(n,t,i,r)),!!u.length},l=function(n,t){var i={},r=s[n.toLowerCase()];return i[r]=t,i},f=function(n,t,i,u){var v,f,k;if(!n)return[];if(v=[],f=e(n),!f.freq)return v;f.interval=l(f.freq,f.interval),u=r.normalizeDate(u,i,f.until);var b=0,y=0,p=w(f),h=o(p,t),s=h[0],c=new Date(t);for(r.correctDateWithUnitBeginning(c,f.interval),k=a(t,c);s<=u&&f.count!==b;)nt(s,p)&&(s>=i&&(i=new Date(s),i.setMilliseconds(i.getMilliseconds()+1),v.push(new Date(s))),b++),y++,s=h[y%h.length],y/h.length>=1&&(y=0,c=r.addInterval(c,f.interval),h=o(p,r.addInterval(c,k)),s=h[0]);return v},a=function(n,t){return{years:n.getFullYear()-t.getFullYear(),months:n.getMonth()-t.getMonth(),days:n.getDate()-t.getDate(),hours:n.getHours()-t.getHours(),minutes:n.getMinutes()-t.getMinutes(),seconds:n.getSeconds()-t.getSeconds()}},e=function(n){var i,r,t,u;if(!n)return{};for(i={},r=n.split(";"),t=0,u=r.length;t<u;t++){var f=r[t].split("="),e=f[0].toLowerCase(),o=f[1];i[e]=o}return v(i)},v=function(n){var i=parseInt(n.count),t;return isNaN(i)||(n.count=i),t=parseInt(n.interval),n.interval=isNaN(t)?1:t,n.freq&&n.until&&(n.until=y(n.until)),n},y=function(n){var t=Globalize.parseDate(n,"yyyyMMddThhmmss");return t||(t=Globalize.parseDate(n,"yyyyMMdd")),t},p=function(n){return n.getFullYear()+("0"+(n.getMonth()+1)).slice(-2)+("0"+n.getDate()).slice(-2)},w=function(n){var t=[],i,f,r;for(i in u)n[i]&&(f=n[i].split(","),r=b(i,f),t=t.length?g(r,t):r);return t},b=function(n,t){for(var u=[],r,i=0,f=t.length;i<f;i++)r={},r[n]=d(n,t[i]),u.push(r);return u},k={SU:0,MO:1,TU:2,WE:3,TH:4,FR:5,SA:6},d=function(n,t){var i=parseInt(t);return n==="bymonth"&&(i-=1),n==="byday"&&(i=k[t]),i},g=function(t,i){for(var f=[],u,o,r=0,e=t.length;r<e;r++)for(u=0,o=i.length;u<o;u++)f.push(n.extend({},t[r],i[u]));return f},o=function(n,t){for(var f=new Date(t),i=[],e,o,r=0,s=n.length;r<s;r++){e=n[r];for(o in e)u[o](f,e[o]);i.push(new Date(f))}return i.length||i.push(f),i},nt=function(n,t){for(var r=!1,u,f,e,i=0;i<t.length;i++){u=t[i],f=!0;for(e in u)u[e]!==n[h[e]]()&&(f=!1);r=r||f}return r||!t.length},tt=function(n){var t,i;if(n&&n.freq){t="";for(i in n)i==="interval"&&n[i]<2||(t+=i+"="+n[i]+";");return t=t.substring(0,t.length-1),t.toUpperCase()}};n.extend(t.utils,{getRecurrenceString:tt,getRecurrenceRule:e,getAsciiStringByDate:p,getDatesByRecurrence:f,dateInRecurrenceRange:c})}(jQuery,DevExpress),function(n,t){var r=function(){var u,t=n.Callbacks(),i=n(window),r=!1,o=t.add,s=t.remove,f=function(){return[i.width(),i.height()].join()},e=function(){var n=f();n!==u&&(u=n,setTimeout(t.fire))};return u=f(),t.add=function(){var n=o.apply(t,arguments);if(!r&&t.has()){i.on("resize",e);r=!0}return n},t.remove=function(){var n=s.apply(t,arguments);return!t.has()&&r&&(i.off("resize",e),r=!1),n},t}(),o=function(){var n=document.activeElement;n&&n!==document.body&&n.blur&&n.blur()},s=function(t){var i=n("<div />");return window.WinJS?WinJS.Utilities.setInnerHTMLUnsafe(i.get(0),t):i.append(t),i.contents()},h=function(i){var s,u,c;i=n.extend({},i);var l=t.devices.current(),f=t.devices.real(),e=i.allowZoom,o=i.allowPan,a="allowSelection"in i?i.allowSelection:l.platform==="generic",h="meta[name=viewport]";if(n(h).length||n("<meta />").attr("name","viewport").appendTo("head"),s=["width=device-width"],u=[],e?u.push("pinch-zoom"):s.push("initial-scale=1.0","maximum-scale=1.0, user-scalable=no"),o&&u.push("pan-x","pan-y"),o||e?n("html").css("-ms-overflow-style","-ms-autohiding-scrollbar"):n("html, body").css({"-ms-content-zooming":"none","-ms-user-select":"none",overflow:"hidden"}),!a&&t.support.supportProp("user-select")&&n(".dx-viewport").css(t.support.styleProp("user-select"),"none"),n(h).attr("content",s.join()),n("html").css("-ms-touch-action",u.join(" ")||"none"),t.support.touch)n(document).off(".dxInitMobileViewport").on("dxpointermove.dxInitMobileViewport",function(n){var t=n.pointers.length,i=n.pointerType==="touch",r=!e&&t>1,u=!o&&t===1&&!n.isScrollingEvent;i&&(r||u)&&n.preventDefault()});f=t.devices.real(),f.ios&&(c=document.location.protocol==="file:",c||r.add(function(){var t=n(window).width();n("body").width(t)})),f.android&&r.add(function(){document.activeElement.scrollIntoViewIfNeeded()})},u=function(t){var i=".dx-visibility-change-handler";return function(r){var u=n(r||"body"),f=u.find(i).add(u.filter(i));f.each(function(){n(this).triggerHandler(t)})}},c=function(){var n=0;return function(t){return(t||"")+n++}}();t.dataOptionsAttributeName="data-options";var f=function(i){var r=n(i).attr(t.dataOptionsAttributeName),u;n.trim(r).charAt(0)!=="{"&&(r="{"+r+"}");try{u=new Function("return "+r)()}catch(f){throw t.Error("E3018",f,r);}return u},l=function(i,r){var u=[],e="["+t.dataOptionsAttributeName+"]";return i.find(e).addBack(e).each(function(t,i){var o=n(i),s=f(i),e;for(e in s)(!r||n.inArray(e,r)>-1)&&o[e]&&(o[e](s[e]),u.push(o[e]("instance")))}),u},e=function(i){var r=t.utils.isDefined(i)&&(i.nodeType||i.jquery)?n(i):n("<div>").html(i).contents();return r.length===1&&r.is("script")&&(r=e(i.html())),r},a=function(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty()},v=function(t,i){for(var u=n(t).parents().addBack(),f=n(i).parents().addBack(),e=Math.min(u.length,f.length)-1,r=e;r>=0;r--)if(u.eq(r).is(f.eq(r)))return u.get(r)},y=function(n,t,i){i?n.attr(t,i):n.removeAttr(t)},p=function(n,t){var i=n.originalEvent&&n.originalEvent.clipboardData||window.clipboardData;if(arguments.length===1)return i&&i.getData("Text");i&&i.setData("Text",t)};n.extend(t.utils,{windowResizeCallbacks:r,resetActiveElement:o,createMarkupFromString:s,triggerShownEvent:u("dxshown"),triggerHidingEvent:u("dxhiding"),initMobileViewport:h,getElementOptions:f,createComponents:l,normalizeTemplateElement:e,clearSelection:a,uniqueId:c,closestCommonParent:v,clipboardText:p,toggleAttr:y})}(jQuery,DevExpress),function(n,t){var u=function(n){return r(n)?e(n):{start:n.selectionStart,end:n.selectionEnd}},f=function(t,i){if(r(t)){o(t,i);return}n.contains(document,t)&&(t.selectionStart=i.start,t.selectionEnd=i.end)},r=function(n){return!n.setSelectionRange},e=function(n){var t=document.selection.createRange(),i=t.duplicate();return t.move("character",-n.value.length),t.setEndPoint("EndToStart",i),{start:t.text.length,end:t.text.length+i.text.length}},o=function(n,t){var i=n.createTextRange();i.collapse(!0),i.moveStart("character",t.start),i.moveEnd("character",t.end-t.start),i.select()},s=function(i,r){if(i=n(i).get(0),!t.utils.isDefined(r))return u(i);f(i,r)};n.extend(t.utils,{caret:s})}(jQuery,DevExpress),function(n,t){var u=t.utils,e=u.isFunction,f=n.inArray,r=u.isDefined,o=function(t,i){for(var l=e(t.customizeSeries)?t.customizeSeries:n.noop,f=t.nameField||"series",s={},h=[],u,r,o=0,c=i.length;o<c;o++)r=i[o],f in r&&(u=s[r[f]],u||(u=s[r[f]]={name:r[f],data:[]},h.push(u.name)),u.data.push(r));return n.map(h,function(t){var i=s[t],r=l.call(null,i.name);return n.extend(i,r)})},s=function(t,i,u){if(!(t&&t.length>0))return{};i=r(i)?i:t[0],u=r(u)?u:t[t.length-1];var a=n.map(t,function(n){return n&&n.valueOf()}),s=[],e=r(i)?f(i.valueOf(),a):0,o=r(u)?f(u.valueOf(),a):t.length-1,v,h,c=!1,l;return e<0&&(e=0),o<0&&(o=t.length-1),o<e&&(v=o,o=e,e=v,c=!0),s=t.slice(e,o+1),l=s.length,h=l>0,{categories:h?s:null,start:h?s[c?l-1:0]:null,end:h?s[c?0:l-1]:null,inverted:c}};n.extend(u,{processSeriesTemplate:o,getCategoriesInfo:s})}(jQuery,DevExpress),function(n,t){var r=function(t){return n.isArray(t)&&!t.length},u=function(t){return n.isArray(t)?t:[t]},f=function(t,i){if(!n.isArray(t)||t.length===0)return[];if(!n.isArray(i)||i.length===0)return t.slice();var r=[];return n.each(t,function(t,u){var f=n.inArray(u,i);f===-1&&r.push(u)}),r};n.extend(t.utils,{isEmptyArray:r,wrapToArray:u,removeDublicates:f})}(jQuery,DevExpress),function(n,t,i){var f={iPhone:"iPhone",iPhone5:"iPhone",iPhone6:"iPhone",iPhone6plus:"iPhone",iPad:"iPad",iPadMini:"iPad Mini",androidPhone:"Android Mobile",androidTablet:"Android",win8:"MSAppHost",win8Phone:"Windows Phone 8",msSurface:"MSIE ARM Tablet PC",desktop:"desktop"},r={deviceType:"",platform:"",version:[],phone:!1,tablet:!1,android:!1,ios:!1,win8:!1,generic:!1,grade:"A",mac:!1},u;n.extend(r,{platform:"generic",deviceType:"desktop",generic:!0}),u={win8:function(n){var t=/windows phone/i.test(n)||n.match(/WPDesktop/),r=!t&&/arm(.*)trident/i.test(n),f=!t&&!r&&/msapphost/i.test(n),i,u;if(t||r||f)return i=n.match(/windows phone (\d+).(\d+)/i)||n.match(/windows nt (\d+).(\d+)/i),u=i?[parseInt(i[1],10),parseInt(i[2],10)]:[],{deviceType:t?"phone":r?"tablet":"desktop",platform:"win8",version:u,grade:"A"}},ios:function(n){if(/ip(hone|od|ad)/i.test(n)){var i=/ip(hone|od)/i.test(n),t=n.match(/os (\d+)_(\d+)_?(\d+)?/i),r=t?[parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3]||0,10)]:[],u=window.screen.height===480,f=u?"B":"A";return{deviceType:i?"phone":"tablet",platform:"ios",version:r,grade:f}}},android:function(n){if(/android|htc_|silk/i.test(n)){var r=/mobile/i.test(n),i=n.match(/android (\d+)\.(\d+)\.?(\d+)?/i),t=i?[parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3]||0,10)]:[],u=t.length>1&&(t[0]<4||t[0]===4&&t[1]<4),f=u?"B":"A";return{deviceType:r?"phone":"tablet",platform:"android",version:t,grade:f}}}},t.Devices=t.Class.inherit({ctor:function(r){this._window=r&&r.window||window,this._realDevice=this._getDevice(),this._currentDevice=i,this._currentOrientation=i,this.orientationChanged=n.Callbacks(),this._callbacksToEvents("Devices",["orientationChanged"]),this._recalculateOrientation(),t.utils.windowResizeCallbacks.add(n.proxy(this._recalculateOrientation,this))},current:function(n){if(n)this._currentDevice=this._getDevice(n),this._forced=!0,t.ui.themes.init({_autoInit:!0});else{if(!this._currentDevice){n=i;try{n=this._getDeviceOrNameFromWindowScope()}catch(r){n=this._getDeviceNameFromSessionStorage()}finally{n||(n=this._getDeviceNameFromSessionStorage()),n&&(this._forced=!0)}this._currentDevice=this._getDevice(n)}return this._currentDevice}},real:function(){return n.extend({},this._realDevice)},orientation:function(){return this._currentOrientation},isForced:function(){return this._forced},isRippleEmulator:function(){return!!this._window.tinyHippos},_getCssClasses:function(n){var i=[],r=this._realDevice;return n=n||this.current(),n.deviceType&&(i.push("dx-device-"+n.deviceType),n.deviceType!=="desktop"&&i.push("dx-device-mobile")),i.push("dx-device-"+r.platform),r.version&&r.version.length&&i.push("dx-device-"+r.platform+"-"+r.version[0]),t.devices.isSimulator()&&i.push("dx-simulator"),t.rtlEnabled&&i.push("dx-rtl"),i},attachCssClasses:function(t,i){this._deviceClasses=this._getCssClasses(i).join(" "),n(t).addClass(this._deviceClasses)},detachCssClasses:function(t){n(t).removeClass(this._deviceClasses)},isSimulator:function(){try{return this._isSimulator||this._window.top!==this._window.self&&this._window.top["dx-force-device"]||this.isRippleEmulator()}catch(n){return!1}},forceSimulator:function(){this._isSimulator=!0},_getDevice:function(i){if(i==="genericPhone"&&(i={deviceType:"phone",platform:"generic",generic:!0}),n.isPlainObject(i))return this._fromConfig(i);var r;if(i){if(r=f[i],!r)throw t.Error("E0005");}else r=navigator.userAgent;return this._fromUA(r)},_getDeviceOrNameFromWindowScope:function(){var n;return(this._window.top["dx-force-device-object"]||this._window.top["dx-force-device"])&&(n=this._window.top["dx-force-device-object"]||this._window.top["dx-force-device"]),n},_getDeviceNameFromSessionStorage:function(){var t,i;try{t=this._window.sessionStorage}catch(r){}if(t){i=t.getItem("dx-force-device");try{return n.parseJSON(i)}catch(u){return i}}},_fromConfig:function(t){var i={phone:t.deviceType==="phone",tablet:t.deviceType==="tablet",android:t.platform==="android",ios:t.platform==="ios",win8:t.platform==="win8",generic:t.platform==="generic"};return n.extend({},r,this._currentDevice,i,t)},_fromUA:function(t){var i,e,f;return(n.each(u,function(n,r){return i=r(t),!i}),i)?this._fromConfig(i):(e=/(mac os)/.test(t.toLowerCase()),f=r,f.mac=e,f)},_changeOrientation:function(){var i=n(this._window),t=i.height()>i.width()?"portrait":"landscape";this._currentOrientation!==t&&(this._currentOrientation=t,this.orientationChanged.fire({orientation:t}))},_recalculateOrientation:function(){var t=n(this._window).width();this._currentWidth!==t&&(this._currentWidth=t,this._changeOrientation())}}).include(t.EventsMixin),t.devices=new t.Devices,t.viewPortChanged.add(function(n,i){t.devices.detachCssClasses(i),t.devices.attachCssClasses(n)})}(jQuery,DevExpress),function(n,t){var f=/(webkit)[ \/]([\w.]+)/,e=/(opera)(?:.*version)?[ \/]([\w.]+)/,o=/(msie) (\d{1,2}\.\d)/,s=/(trident).*rv:(\d{1,2}\.\d)/,h=/(mozilla)(?:.*? rv:([\w.]+))?/,u=navigator.userAgent.toLowerCase(),c=function(){var t={},i=f.exec(u)||e.exec(u)||o.exec(u)||s.exec(u)||u.indexOf("compatible")<0&&h.exec(u)||[],n=i[1],r=i[2];return n==="trident"&&(n="msie"),n&&(t[n]=!0,t.version=r),t}();t.browser=c}(jQuery,DevExpress,this),function(n,t,i){var f=["","Webkit","Moz","O","Ms"],s={"":"",Webkit:"-webkit-",Moz:"-moz-",O:"-o-",ms:"-ms-"},e=document.createElement("dx").style,h={webkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MsTransitionEnd",transition:"transitionend"},o=function(n,i){var r,u,o;for(n=t.inflector.camelize(n,!0),u=0,o=f.length;u<o;u++){var e=f[u],s=e+n,h=t.inflector.camelize(s);if(r=i(h,e),r===undefined&&(r=i(s,e)),r!==undefined)break}return r},u=function(n){return o(n,function(n){if(n in e)return n})},c=function(n){return o(n,function(n,t){if(n in e)return s[t]})},r=function(n){return!!u(n)},l=function(){var i=t.devices.real(),r=i.platform,u=i.version,f=u&&u[0]<4&&r==="android";return!f&&n.inArray(r,["ios","android","win8"])>-1||i.mac};t.support={touchEvents:"ontouchstart"in i,touch:"ontouchstart"in i||!!i.navigator.msMaxTouchPoints,pointer:i.navigator.pointerEnabled||i.navigator.msPointerEnabled,transform:r("transform"),transition:r("transition"),transitionEndEventName:h[u("transition")],animation:r("animation"),nativeScrolling:l(),winJS:"WinJS"in i,styleProp:u,stylePropPrefix:c,supportProp:r,hasKo:!!i.ko,hasNg:!i.ko&&!!i.angular,inputType:function(n){if(n==="text")return!0;var t=document.createElement("input");try{return t.setAttribute("type",n),t.value="wrongValue",!t.value}catch(i){return!1}}}}(jQuery,DevExpress,this),function(n,t,i){var y=/left|right/,p=/top|bottom/,h=/fit|flip|none/,f=function(i){var r={h:"center",v:"center"},u=t.utils.splitPair(i);return u&&n.each(u,function(){var n=String(this).toLowerCase();y.test(n)?r.h=n:p.test(n)&&(r.v=n)}),r},c=function(n){return t.utils.stringPairToObject(n)},w=function(n){var i=t.utils.splitPair(n),r=String(i&&i[0]).toLowerCase(),u=String(i&&i[1]).toLowerCase();return h.test(r)||(r="none"),h.test(u)||(u=r),{h:r,v:u}},l=function(n){switch(n){case"center":return.5;case"right":case"bottom":return 1;default:return 0}},e=function(n){switch(n){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top";default:return n}},o=function(n,t){var i=0;return n.myLocation<t.min&&(i+=t.min-n.myLocation),n.myLocation>t.max&&(i+=n.myLocation-t.max),i},s=function(n){n.myLocation=n.atLocation+l(n.atAlign)*n.atSize-l(n.myAlign)*n.mySize+n.offset},r={fit:function(n,t){var i=!1;return n.myLocation>t.max&&(n.myLocation=t.max,i=!0),n.myLocation<t.min&&(n.myLocation=t.min,i=!0),i},flip:function(t,i){if(t.myAlign==="center"&&t.atAlign==="center")return!1;if(t.myLocation<i.min||t.myLocation>i.max){var r=n.extend({},t,{myAlign:e(t.myAlign),atAlign:e(t.atAlign),offset:-t.offset});if(s(r),r.oversize=o(r,i),r.myLocation>=i.min&&r.myLocation<=i.max||r.myLocation>t.myLocation||r.oversize<t.oversize)return t.myLocation=r.myLocation,t.oversize=r.oversize,!0}return!1}},u,b={h:{location:0,flip:!1,fit:!1,oversize:0},v:{location:0,flip:!1,fit:!1,oversize:0}},a=function(e,h){var g=n(e),tt=g.offset(),p=n.extend(!0,{},b,{h:{location:tt.left},v:{location:tt.top}}),nt,k,d;if(!h)return p;var it=f(h.my),rt=f(h.at),y=h.of||window,ut=c(h.offset),ft=w(h.collision),et=h.boundary,ot=c(h.boundaryOffset),l={mySize:g.outerWidth(),myAlign:it.h,atAlign:rt.h,offset:ut.h,collision:ft.h,boundaryOffset:ot.h},a={mySize:g.outerHeight(),myAlign:it.v,atAlign:rt.v,offset:ut.v,collision:ft.v,boundaryOffset:ot.v};return y.preventDefault?(l.atLocation=y.pageX,a.atLocation=y.pageY,l.atSize=0,a.atSize=0):(y=n(y),n.isWindow(y[0])?(l.atLocation=y.scrollLeft(),a.atLocation=y.scrollTop(),l.atSize=y.width(),a.atSize=y.height()):y[0].nodeType===9?(l.atLocation=0,a.atLocation=0,l.atSize=y.width(),a.atSize=y.height()):(nt=y.offset(),l.atLocation=nt.left,a.atLocation=nt.top,l.atSize=y.outerWidth(),a.atSize=y.outerHeight())),s(l),s(a),k=function(){var r=n(window),e=r.width(),o=r.height(),s=r.scrollLeft(),h=r.scrollTop(),w=document.width>document.documentElement.clientWidth,b=document.height>document.documentElement.clientHeight,k=t.support.touch?document.documentElement.clientWidth/(b?e-u:e):1,d=t.support.touch?document.documentElement.clientHeight/(w?o-u:o):1,c,y,f,p;return u===i&&(u=v()),c=e,y=o,et&&(f=n(et),p=f.offset(),s=p.left,h=p.top,c=f.width(),y=f.height()),{h:{min:s+l.boundaryOffset,max:s+c/k-l.mySize-l.boundaryOffset},v:{min:h+a.boundaryOffset,max:h+y/d-a.mySize-a.boundaryOffset}}}(),l.oversize=o(l,k.h),a.oversize=o(a,k.v),r[l.collision]&&(p.h[l.collision]=r[l.collision](l,k.h)),r[a.collision]&&(p.v[a.collision]=r[a.collision](a,k.v)),d=function(n){return h.precise?n:Math.round(n)},n.extend(!0,p,{h:{location:d(l.myLocation),oversize:d(l.oversize)},v:{location:d(a.myLocation),oversize:d(a.oversize)},precise:h.precise}),p},k=function(i,r){var u=n(i);if(!r)return u.offset();t.translator.resetPosition(u);var e=u.offset(),f=r.h&&r.v?r:a(u,r),o=function(n){return r.precise?n:Math.round(n)};return t.translator.move(u,{left:f.h.location-o(e.left),top:f.v.location-o(e.top)}),f},v;n.extend(t,{calculatePosition:a,position:k}),n.extend(t.position,{inverseAlign:e,normalizeAlign:f}),v=function(){var t=n("<div>").css({width:100,height:100,overflow:"scroll",position:"absolute",top:-9999}).appendTo(n("body")),i=t.get(0).offsetWidth-t.get(0).clientWidth;return t.remove(),i}}(jQuery,DevExpress),function(n,t){var r={},u=function(t,i){if(n.isPlainObject(t)){n.each(t,u);return}r[t]=i},e=function(){var t=n.makeArray(arguments);n.each(t,function(){delete r[this]})},f;u({func:{execute:function(t){n.isFunction(t.action)&&(t.result=t.action.apply(t.context,t.args),t.handled=!0)}},url:{execute:function(n){typeof n.action=="string"&&n.action.charAt(0)!=="#"&&(document.location=n.action)}},hash:{execute:function(n){typeof n.action=="string"&&n.action.charAt(0)==="#"&&(document.location.hash=n.action)}}}),f=t.Class.inherit({ctor:function(t,i){i=i||{},this._action=t||n.noop,this._context=i.context||window,this._beforeExecute=i.beforeExecute||n.noop,this._afterExecute=i.afterExecute||n.noop,this._component=i.component,this._excludeValidators=i.excludeValidators,this._validatingTargetName=i.validatingTargetName},execute:function(){var n={action:this._action,args:Array.prototype.slice.call(arguments),context:this._context,component:this._component,validatingTargetName:this._validatingTargetName,cancel:!1,handled:!1},t;if(this._validateAction(n))return(this._beforeExecute.call(this._context,n),n.cancel)?void 0:(t=this._executeAction(n),this._afterExecute.call(this._context,n),t)},_validateAction:function(t){var i=this._excludeValidators;return n.each(r,function(r,u){if(!i||!(n.inArray(r,i)>-1))return u.validate&&u.validate(t),t.cancel?!1:void 0}),!t.cancel},_executeAction:function(t){var i;return n.each(r,function(n,r){return r.execute&&r.execute(t),t.handled?(i=t.result,!1):void 0}),i}}),n.extend(t,{registerActionExecutor:u,unregisterActionExecutor:e,Action:f})}(jQuery,DevExpress),function(n,t,i){var s=t.support,f="dxTranslator",h=/matrix(3d)?\((.+?)\)/,c=/translate(?:3d)?\((.+?)\)/,l=function(n){var t=s.transform?e(n):v(n);return{left:t.x,top:t.y}},a=function(n,t){if(!s.transform){n.css(t);return}var f=e(n),h=t.left,c=t.top;h!==i&&(f.x=h||0),c!==i&&(f.y=c||0),n.css({transform:o(f)}),(r(h)||r(c))&&u(n)},r=function(t){return n.type(t)==="string"&&t[t.length-1]==="%"},v=function(n){var t,i;try{var r=n.css("top"),f=n.css("left"),e=n.position();n.css({transform:"none",top:0,left:0}),u(n),i=n.position(),t={x:e.left-i.left||parseInt(f)||0,y:e.top-i.top||parseInt(r)||0},n.css({top:r,left:f})}catch(o){t={x:0,y:0}}return t},e=function(n){var i=n.data(f);if(!i){var r=n.css("transform")||o({x:0,y:0}),t=r.match(h),u=t&&t[1];t?(t=t[2].split(","),u==="3d"?t=t.slice(12,15):(t.push(0),t=t.slice(4,7))):t=[0,0,0],i={x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])},y(n,i)}return i},y=function(n,t){n.data(f,t)},u=function(n){n.removeData(f)},p=function(n){n.css({left:0,top:0,transform:"none"}),u(n)},w=function(n){var t=n.match(c);if(t&&t[1])return t=t[1].split(","),t={x:parseFloat(t[0]),y:parseFloat(t[1]),z:parseFloat(t[2])}},o=function(n){n.x=n.x||0,n.y=n.y||0;var t=r(n.x)?n.x:n.x+"px",i=r(n.y)?n.y:n.y+"px";return"translate("+t+", "+i+")"};t.translator={move:a,locate:l,clearCache:u,parseTranslate:w,getTranslate:e,getTranslateCss:o,resetPosition:p}}(jQuery,DevExpress),function(n,t){var s=1e3/60,r=function(n){return this.setTimeout(n,s)},u=function(n){this.clearTimeout(n)},f=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame,o=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame,e;f&&o&&(r=f,u=o),f&&!o&&(e={},r=function(n){var t=f.call(window,function(){try{if(t in e)return;n.apply(this,arguments)}finally{delete e[t]}});return t},u=function(n){e[n]=!0}),r=n.proxy(r,window),u=n.proxy(u,window),n.extend(t,{requestAnimationFrame:r,cancelAnimationFrame:u})}(jQuery,DevExpress),function(n,t){t.Animator=t.Class.inherit({ctor:function(){this._finished=!0,this._stopped=!1,this._proxiedStepCore=n.proxy(this._stepCore,this)},start:function(){this._stopped=!1,this._finished=!1,this._stepCore()},stop:function(){this._stopped=!0,t.cancelAnimationFrame(this._stepAnimationFrame)},_stepCore:function(){if(this._isStopped()){this._stop();return}if(this._isFinished()){this._finished=!0,this._complete();return}this._step(),this._stepAnimationFrame=t.requestAnimationFrame.call(window,this._proxiedStepCore)},_step:t.abstract,_isFinished:n.noop,_stop:n.noop,_complete:n.noop,_isStopped:function(){return this._stopped},inProgress:function(){return!(this._stopped||this._finished)}})}(jQuery,DevExpress),function(n,t,i){var u=t.translator,f=t.support,p=f.transitionEndEventName+".dxFX",w="dxremove.dxFX",it=/cubic-bezier\((\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\)/,rt=/^([+-])=(.*)/i,e="dxAnimData",o="dxAnimQueue",r="transform",ut={initAnimation:function(n,t){n.css({transitionProperty:"none"}),typeof t.from=="string"?n.addClass(t.from):y(n,t.from)},animate:function(t,i){var r=this,u=n.Deferred(),f=i.cleanupWhen;return i.transitionAnimation={finish:function(){r._finishTransition(t,i),f?n.when(u,f).always(function(){r._cleanup(t,i)}):r._cleanup(t,i),u.resolveWith(t,[i,t])}},this._startAnimation(t,i),this._completeAnimationCallback(t,i).done(function(){i.transitionAnimation.finish()}),i.duration||i.transitionAnimation.finish(),u.promise()},_completeAnimationCallback:function(i,r){var h=n.now()+r.delay,u=n.Deferred(),f=n.Deferred(),e=n.Deferred(),o,s;r.transitionAnimation.cleanup=function(){clearTimeout(o),clearTimeout(s)};i.one(p,function(){n.now()-h>=r.duration&&f.reject()}).off(w).on(w,function(){r.transitionAnimation.cleanup()});return s=setTimeout(function(){o=setTimeout(function(){e.reject()},r.duration+r.delay+t.fx._simulatedTransitionEndDelay),n.when(f,e).fail(n.proxy(function(){u.resolve()},this))}),u.promise()},_startAnimation:function(n,t){n.css("transform"),n.css({transitionProperty:"all",transitionDelay:t.delay+"ms",transitionDuration:t.duration+"ms",transitionTimingFunction:t.easing}),typeof t.to=="string"?n.addClass(t.to):t.to&&y(n,t.to)},_finishTransition:function(n){n.css("transition","none")},_cleanup:function(n,t){n.off(p),t.transitionAnimation.cleanup(),typeof t.from=="string"&&(n.removeClass(t.from),n.removeClass(t.to))},stop:function(t,i,r){i&&(r?i.transitionAnimation.finish():(n.isPlainObject(i.to)&&n.each(i.to,function(n){t.css(n,t.css(n))}),this._finishTransition(t,i),this._cleanup(t,i)))}},b={initAnimation:function(n,t){y(n,t.from)},animate:function(t,f){var o=n.Deferred(),e=this;return f?(n.each(f.to,function(n){f.from[n]===i&&(f.from[n]=e._normalizeValue(t.css(n)))}),f.to[r]&&(f.from[r]=e._parseTransform(f.from[r]),f.to[r]=e._parseTransform(f.to[r])),f.frameAnimation={to:f.to,from:f.from,currentValue:f.from,easing:ht(f.easing),duration:f.duration,startTime:(new Date).valueOf(),finish:function(){this.currentValue=this.to,this.draw(),o.resolve()},draw:function(){var i=n.extend({},this.currentValue);i[r]&&(i[r]=n.map(i[r],function(n,t){return t==="translate"?u.getTranslateCss(n):t==="scale"?"scale("+n+")":t.substr(0,t.length-1)==="rotate"?t+"("+n+"deg)":void 0}).join(" ")),t.css(i)}},f.delay?(f.frameAnimation.startTime+=f.delay,f.frameAnimation.delayTimeout=setTimeout(function(){e._animationStep(t,f)},f.delay)):e._animationStep(t,f),o.promise()):o.reject().promise()},_parseTransform:function(t){var i={};return n.each(t.match(/(\w|\d)+\([^\)]*\)\s*/g),function(n,t){var e=u.parseTranslate(t),f=t.match(/scale\((.+?)\)/),r=t.match(/(rotate.)\((.+)deg\)/);e&&(i.translate=e),f&&f[1]&&(i.scale=parseFloat(f[1])),r&&r[1]&&(i[r[1]]=parseFloat(r[2]))}),i},stop:function(n,t,i){var r=t&&t.frameAnimation;r&&(clearTimeout(r.delayTimeout),i&&r.finish(),delete t.frameAnimation)},_animationStep:function(i,r){var u=r&&r.frameAnimation,f;if(u){if(f=(new Date).valueOf(),f>=u.startTime+u.duration){u.finish();return}u.currentValue=this._calcStepValue(u,f-u.startTime),u.draw(),t.requestAnimationFrame(n.proxy(function(){this._animationStep(i,r)},this))}},_calcStepValue:function(t,i){var r=function(u,f){var e=n.isArray(f)?[]:{},o=function(r){var e=i/t.duration,o=i,s=1*u[r],h=f[r]-u[r],c=t.duration;return n.easing[t.easing](e,o,s,h,c)};return n.each(f,function(n,t){if(typeof t=="string"&&parseFloat(t,10)===!1)return!0;e[n]=typeof t=="object"?r(u[n],t):o(n)}),e};return r(t.from,t.to)},_normalizeValue:function(n){var t=parseFloat(n,10);return t===!1?n:t}},ft={initAnimation:function(){},animate:function(){return n.Deferred().resolve().promise()}},et={transition:f.transition?ut:b,frame:b,noAnimation:ft},ot=function(n){n=n||{};var t=n.strategy||"transition";return n.type!=="css"||f.transition||(t="noAnimation"),et[t]},st={linear:"cubic-bezier(0, 0, 1, 1)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1)","ease-in":"cubic-bezier(0.42, 0, 1, 1)","ease-out":"cubic-bezier(0, 0, 0.58, 1)","ease-in-out":"cubic-bezier(0.42, 0, 0.58, 1)"},ht=function(t){var i,r,u;return(t=st[t]||t,i=t.match(it),!i)?"linear":(i=i.slice(1,5),n.each(i,function(n,t){i[n]=parseFloat(t)}),r="cubicbezier_"+i.join("_").replace(/\./g,"p"),n.isFunction(n.easing[r])||(u=function(n,t,i,r){var u=3*n,f=3*(i-n)-u,o=1-u-f,e=3*t,s=3*(r-t)-e,h=1-e-s,c=function(n){return n*(u+n*(f+n*o))},l=function(n){return n*(e+n*(s+n*h))},a=function(n){for(var t=n,r=0,i;r<14;){if(i=c(t)-n,Math.abs(i)<.001)break;t=t-i/v(t),r++}return t},v=function(n){return u+n*(2*f+n*3*o)};return function(n){return l(a(n))}},n.easing[r]=function(n,t,r,f,e){return f*u(i[0],i[1],i[2],i[3])(t/e)+r}),r)},k=function(i,r,u,f){n.each(["from","to"],function(){if(!u(i[this]))throw t.Error("E0010",r,this,f);})},d=function(t,i){return k(t,i,function(t){return n.isPlainObject(t)},"a plain object")},ct=function(n,t){return k(n,t,function(n){return typeof n=="string"},"a string")},lt={setup:function(){}},at={validateConfig:function(n){ct(n,"css")},setup:function(){}},vt={top:{my:"bottom center",at:"top center"},bottom:{my:"top center",at:"bottom center"},right:{my:"left center",at:"right center"},left:{my:"right center",at:"left center"}},s={validateConfig:function(n){d(n,"slide")},setup:function(t,i){var e=u.locate(t),r;i.type!=="slide"&&(r=i.type==="slideIn"?i.from:i.to,r.position=n.extend({of:window},vt[i.direction]),v(t,r)),this._setUpConfig(e,i.from),this._setUpConfig(e,i.to),u.clearCache(t),f.transform||t.css("position")!=="static"||t.css("position","relative")},_setUpConfig:function(n,t){t.left="left"in t?t.left:"+=0",t.top="top"in t?t.top:"+=0",this._initNewPosition(n,t)},_initNewPosition:function(n,t){var e={left:t.left,top:t.top},o,s;delete t.left,delete t.top,o=this._getRelativeValue(e.left),o!==i?e.left=o+n.left:t.left=0,o=this._getRelativeValue(e.top),o!==i?e.top=o+n.top:t.top=0,s={x:0,y:0},f.transform?s={x:e.left,y:e.top}:(t.left=e.left,t.top=e.top),t[r]=u.getTranslateCss(s)},_getRelativeValue:function(n){var t;if(typeof n=="string"&&(t=rt.exec(n)))return parseInt(t[1]+"1")*t[2]}},h={setup:function(t,i){var u=i.from,f=n.isPlainObject(u)?i.skipElementInitialStyles?0:t.css("opacity"):String(u),r;switch(i.type){case"fadeIn":r=1;break;case"fadeOut":r=0;break;default:r=String(i.to)}i.from={visibility:"visible",opacity:f},i.to={opacity:r}}},yt={validateConfig:function(n){d(n,"pop")},setup:function(n,t){var i=t.from,f=t.to,o="opacity"in i?i.opacity:n.css("opacity"),s="opacity"in f?f.opacity:1,h="scale"in i?i.scale:0,c="scale"in f?f.scale:1,e;t.from={opacity:o},e=u.getTranslate(n),t.from[r]=this._getCssTransform(e,h),t.to={opacity:s},t.to[r]=this._getCssTransform(e,c)},_getCssTransform:function(n,t){return u.getTranslateCss(n)+"scale("+t+")"}},g={custom:lt,slide:s,slideIn:s,slideOut:s,fade:h,fadeIn:h,fadeOut:h,pop:yt,css:at},pt=function(n){var i=g[n.type];if(!i)throw t.Error("E0011",n.type);return i},wt={type:"custom",from:{},to:{},duration:400,start:n.noop,complete:n.noop,easing:"ease",delay:0},bt={duration:400,easing:"ease",delay:0},kt=function(){var r=this,i=r.$element,n=r.config;v(i,n.from),v(i,n.to),r.configurator.setup(i,n),i.data(e,r),t.fx.off&&(n.duration=0),r.strategy.initAnimation(i,n),n.start&&n.start.apply(this,[i,n])},dt=function(){var t=this,i=t.$element,n=t.config;return t.strategy.animate(i,n).done(function(){i.removeData(e),n.complete&&n.complete.apply(this,[i,n]),t.deferred.resolveWith(this,[i,n])})},nt=function(t,i){var f=i.type==="css"?bt:wt,r=n.extend(!0,{},f,i),u=pt(r),e=ot(r),o={$element:t,config:r,configurator:u,strategy:e,setup:kt,start:dt,deferred:n.Deferred()};return n.isFunction(u.validateConfig)&&u.validateConfig(r),o},gt=function(t,i){var r=n(t),u;return r.length?(u=nt(r,i),ni(r,u),u.deferred.promise()):n.Deferred().resolve().promise()},ni=function(n,t){var i=c(n);ti(n,i),i.push(t),l(n)||a(n,i)},c=function(n){return n.data(o)||[]},ti=function(n,t){n.data(o,t)},tt=function(n){n.removeData(o)},l=function(n){return!!n.data(e)},a=function(n,t){if(t=c(n),t.length){var i=t.shift();t.length===0&&tt(n),ii(i).done(function(){a(n)})}},ii=function(n){return n.setup(),n.start()},v=function(i,r){if(r&&r.position){var u=t.calculatePosition(i,r.position),f=i.offset(),e=i.position();n.extend(r,{left:u.h.location-f.left+e.left,top:u.v.location-f.top+e.top}),delete r.position}},y=function(t,i){n.each(i,function(n,i){t.css(n,i)})},ri=function(t,i){var r=n(t),f=c(r),u;n.each(f,function(n,t){t.config.duration=0}),l(r)||a(r,f),u=r.data(e),u&&u.strategy.stop(r,u.config,i),r.removeData(e),tt(r)};t.fx={off:!1,animationTypes:g,animate:gt,createAnimation:nt,isAnimating:l,stop:ri,_simulatedTransitionEndDelay:100}}(jQuery,DevExpress),function(n,t){var f=window.location,u="dxproxy.devexpress.com:8000",e=f.host===u,r={},o=function(){return f.pathname.split("/")[1]},s={isProxyUsed:function(){return e},formatProxyUrl:function(n){var i=t.parseUrl(n),f,e;return/^(localhost$|127\.)/i.test(i.hostname)?(f=u+"/"+o()+"_"+i.port,r[f]=i.hostname+":"+i.port,e="http://"+f+i.pathname+i.search):n},formatLocalUrl:function(n){var i,t;if(n.indexOf(u)<0)return n;i=n;for(t in r)if(r.hasOwnProperty(t)&&n.indexOf(t)>=0){i=n.replace(t,r[t]);break}return i}};t._proxyUrlFormatter=s}(jQuery,DevExpress),function(n,t){function e(n){return/^(localhost$|127\.)/i.test(n)}var r=window.location,u=r.protocol==="ms-appx:",f=e(r.hostname),o=t.EndpointSelector=function(n){this.config=n};o.prototype={urlFor:function(n){var i=this.config[n];if(!i)throw t.Error("E0006");return t._proxyUrlFormatter.isProxyUsed()?t._proxyUrlFormatter.formatProxyUrl(i.local):i.production&&(u&&!Debug.debuggerEnabled||!u&&!f)?i.production:i.local}}}(jQuery,DevExpress),function(n,t,i){var r=t.utils,f,u;t.NumericFormat={currency:"C",fixedpoint:"N",exponential:"",percent:"P",decimal:"D"},t.LargeNumberFormatPostfixes={1:"K",2:"M",3:"B",4:"T"},f=4,u=10,t.LargeNumberFormatPowers={largenumber:"auto",thousands:1,millions:2,billions:3,trillions:4},t.DateTimeFormat={longdate:"D",longtime:"T",monthandday:"M",monthandyear:"Y",quarterandyear:"qq",shortdate:"d",shorttime:"t",millisecond:"fff",second:"T",minute:"t",hour:"t",day:"dd",week:"dd",month:"MMMM",quarter:"qq",year:"yyyy",longdatelongtime:"D",shortdateshorttime:"d",shortyear:"yy"},t.formatHelper={defaultQuarterFormat:"Q{0}",romanDigits:["I","II","III","IV"],_addFormatSeparator:function(n,t){var i=" ";return t?n+i+t:n},_getDateTimeFormatPattern:function(n){return Globalize.findClosestCulture().calendar.patterns[t.DateTimeFormat[n.toLowerCase()]]},_isDateFormatContains:function(i){var r=!1;return n.each(t.DateTimeFormat,function(n){return r=n===i.toLowerCase(),!r}),r},getQuarter:function(n){return Math.floor(n/3)},getFirstQuarterMonth:function(n){return this.getQuarter(n)*3},_getQuarterString:function(n,t){var i=this.getQuarter(n.getMonth());switch(t){case"q":return this.romanDigits[i];case"qq":return r.stringFormat(this.defaultQuarterFormat,this.romanDigits[i]);case"Q":return(i+1).toString();case"QQ":return r.stringFormat(this.defaultQuarterFormat,(i+1).toString())}return""},_formatCustomString:function(n,t){var f=/qq|q|QQ|Q/g,i,u="",r=0;for(f.lastIndex=0;r<t.length;)i=f.exec(t),(!i||i.index>r)&&(u+=Globalize.format(n,t.substring(r,i?i.index:t.length))),i?(u+=this._getQuarterString(n,i[0]),r=i.index+i[0].length):r=t.length;return u},_parseNumberFormatString:function(i){var u,r={};if(i&&typeof i=="string")return u=i.toLowerCase().split(" "),n.each(u,function(n,i){i in t.NumericFormat?r.formatType=i:i in t.LargeNumberFormatPowers&&(r.power=t.LargeNumberFormatPowers[i])}),r.power&&!r.formatType&&(r.formatType="fixedpoint"),r.formatType?r:void 0},_calculateNumberPower:function(n,t,r,u){var f=Math.abs(n),e=0;if(f>1)while(f&&f>=t&&(u===i||e<u))e++,f=f/t;else if(f>0&&f<1)while(f<1&&(r===i||e>r))e--,f=f*t;return e},_getNumberByPower:function(n,t,i){for(var r=n;t>0;)r=r/i,t--;while(t<0)r=r*i,t++;return r},_formatNumber:function(n,i,r){var u;return i.power==="auto"&&(i.power=this._calculateNumberPower(n,1e3,0,f)),i.power&&(n=this._getNumberByPower(n,i.power,1e3)),u=t.LargeNumberFormatPostfixes[i.power]||"",this._formatNumberCore(n,i.formatType,r)+u},_formatNumberExponential:function(n,t){var r=this._calculateNumberPower(n,u),f=this._getNumberByPower(n,r,u),e;return t=t===i?1:t,f.toFixed(t||0)>=u&&(r++,f=f/u),e=(r>=0?"+":"")+r.toString(),this._formatNumberCore(f,"fixedpoint",t)+"E"+e},_formatNumberCore:function(n,i,u){return i==="exponential"?this._formatNumberExponential(n,u):Globalize.format(n,t.NumericFormat[i]+(r.isNumber(u)?u:0))},_formatDate:function(n,i){var r=t.DateTimeFormat[i.toLowerCase()];return(i=i.toLowerCase(),i==="quarterandyear"&&(r=this._getQuarterString(n,r)+" yyyy"),i==="quarter")?this._getQuarterString(n,r):i==="longdatelongtime"?this._formatDate(n,"longdate")+" "+this._formatDate(n,"longtime"):i==="shortdateshorttime"?this._formatDate(n,"shortDate")+" "+this._formatDate(n,"shortTime"):Globalize.format(n,r)},format:function(t,i,u){if(n.isPlainObject(i)&&i.format){if(i.dateType)return this._formatDateEx(t,i);if(r.isNumber(t)&&isFinite(t))return this._formatNumberEx(t,i)}return this._format(t,i,u)},_format:function(n,t,i){var u;return!r.isString(t)||t===""||!r.isNumber(n)&&!r.isDate(n)?r.isDefined(n)?n.toString():"":(u=this._parseNumberFormatString(t),r.isNumber(n)&&u)?this._formatNumber(n,u,i):r.isDate(n)&&this._isDateFormatContains(t)?this._formatDate(n,t):!u&&!this._isDateFormatContains(t)?this._formatCustomString(n,t):void 0},_formatNumberEx:function(n,i){var l=this,p=t.NumericFormat[i.format.toLowerCase()],e=Globalize.culture().numberFormat,b=i.currencyCulture&&Globalize.cultures[i.currencyCulture]?Globalize.cultures[i.currencyCulture].numberFormat.currency:e.currency,k=e.percent,a=l._getUnitFormatSettings(n,i),d=a.unit,v=a.precision,tt=a.showTrailingZeros,it=a.includeGroupSeparator,rt=e[","],ut=e["."],u,y,s,f,g=/n|\$|-|%/g,o="",h,w,nt,c;if(!r.isDefined(n))return"";n=l._applyUnitToValue(n,d),u=Math.abs(n),y=n<0;switch(p){case t.NumericFormat.decimal:if(s="n",u=Math[y?"ceil":"floor"](u),v>0){for(h=""+u,w=h.length;w<v;w+=1)h="0"+h;u=h}y&&(u="-"+u);break;case t.NumericFormat.fixedpoint:f=e;case t.NumericFormat.currency:f=f||b;case t.NumericFormat.percent:f=f||k,s=y?f.pattern[0]:f.pattern[1]||"n",u=Globalize.format(u*(p===t.NumericFormat.percent?100:1),"N"+v),tt||(u=l._excludeTrailingZeros(u,ut)),it||(u=u.replace(new RegExp("\\"+rt,"g"),""));break;case t.NumericFormat.exponential:return l._formatNumberExponential(n,v);default:throw"Illegal numeric format: '"+p+"'";}for(;;)if(nt=g.lastIndex,c=g.exec(s),o+=s.slice(nt,c?c.index:s.length),c)switch(c[0]){case"-":/[1-9]/.test(u)&&(o+=e["-"]);break;case"$":o+=b.symbol;break;case"%":o+=k.symbol;break;case"n":o+=u+d}else break;return(i.plus&&n>0?"+":"")+o},_excludeTrailingZeros:function(n,t){var u=n.indexOf(t),r,i;if(u<0)return n;for(r=n.length,i=r-1;i>=u&&(n[i]==="0"||i===u);i--)r--;return n.substring(0,r)},_getUnitFormatSettings:function(n,t){var e=t.unit||"",u=t.precision||0,h=t.includeGroupSeparator||!1,s=t.showTrailingZeros===i?!0:t.showTrailingZeros,f=t.significantDigits||1,r,o;if(e.toLowerCase()==="auto")if(s=!1,r=Math.abs(n),f<1&&(f=1),r>=1e9?(e="B",r/=1e9):r>=1e6?(e="M",r/=1e6):r>=1e3?(e="K",r/=1e3):e="",r===0)u=0;else if(r<1)for(u=f,o=Math.pow(10,-f);r<o;)o/=10,u++;else u=r>=100?f-3:r>=10?f-2:f-1;return u<0&&(u=0),{unit:e,precision:u,showTrailingZeros:s,includeGroupSeparator:h}},_applyUnitToValue:function(n,t){return t==="B"?n.toFixed(1)/1e9:t==="M"?n/1e6:t==="K"?n/1e3:n},_formatDateEx:function(t,i){var f=this,c=i.format,u=i.dateType,h=Globalize.culture().calendars.standard,o,s,e;if(c=c.toLowerCase(),!r.isDefined(t))return"";if(u!=="num"||c==="dayofweek")switch(c){case"monthyear":return f._formatDate(t,"monthandyear");case"quarteryear":return f._getQuarterString(t,"QQ")+" "+t.getFullYear();case"daymonthyear":return f._formatDate(t,u+"Date");case"datehour":return o=new Date(t.getTime()),o.setMinutes(0),e=u==="timeOnly"?"":f._formatDate(t,u+"Date"),u==="timeOnly"?f._formatDate(o,"shorttime"):e+" "+f._formatDate(o,"shorttime");case"datehourminute":return e=u==="timeOnly"?"":f._formatDate(t,u+"Date"),u==="timeOnly"?f._formatDate(t,"shorttime"):e+" "+f._formatDate(t,"shorttime");case"datehourminutesecond":return e=u==="timeOnly"?"":f._formatDate(t,u+"Date"),u==="timeOnly"?f._formatDate(t,"longtime"):e+" "+f._formatDate(t,"longtime");case"year":return e=t.toString(),u==="abbr"?e.slice(2,4):e;case"dateyear":return u==="abbr"?f._formatDate(t,"shortyear"):f._formatDate(t,"year");case"quarter":return r.stringFormat(f.defaultQuarterFormat,t.toString());case"month":return s=t-1,u==="abbr"?h.months.namesAbbr[s]:h.months.names[s];case"hour":return u==="long"?(o=new Date,o.setHours(t),o.setMinutes(0),f._formatDate(o,"shorttime")):t.toString();case"dayofweek":return(s=r.isString(t)?n.inArray(t,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]):t,u!=="num")?u==="abbr"?h.days.namesAbbr[s]:h.days.names[s]:((s-h.firstDay+1+7)%8).toString();default:return t.toString()}else return t.toString()},getTimeFormat:function(n){return n?this._getDateTimeFormatPattern("longtime"):this._getDateTimeFormatPattern("shorttime")},getDateFormatByDifferences:function(n){var i="";return(n.millisecond&&(i=t.DateTimeFormat.millisecond),(n.hour||n.minute||n.second)&&(i=this._addFormatSeparator(this.getTimeFormat(n.second),i)),n.year&&n.month&&n.day)?this._addFormatSeparator(this._getDateTimeFormatPattern("shortdate"),i):n.year&&n.month?t.DateTimeFormat.monthandyear:n.year?t.DateTimeFormat.year:n.month&&n.day?this._addFormatSeparator(this._getDateTimeFormatPattern("monthandday"),i):n.month?t.DateTimeFormat.month:n.day?this._addFormatSeparator("dddd, dd",i):i},getDateFormatByTicks:function(n){var f,t,u,i;if(n.length>1)for(t=r.getDatesDifferences(n[0],n[1]),i=1;i<n.length-1;i++)u=r.getDatesDifferences(n[i],n[i+1]),t.count<u.count&&(t=u);else t={year:!0,month:!0,day:!0,hour:n[0].getHours()>0,minute:n[0].getMinutes()>0,second:n[0].getSeconds()>0};return f=this.getDateFormatByDifferences(t)},getDateFormatByTickInterval:function(n,t,i){var e,u,f,s={quarter:"month",week:"day"},o=function(n,t,i){switch(t){case"year":n.month=i;case"quarter":case"month":n.day=i;case"week":case"day":n.hour=i;case"hour":n.minute=i;case"minute":n.second=i;case"second":n.millisecond=i}},h=function(n,t,i){!i.getMilliseconds()&&i.getSeconds()?i.getSeconds()-t.getSeconds()==1&&(n.millisecond=!0,n.second=!1):!i.getSeconds()&&i.getMinutes()?i.getMinutes()-t.getMinutes()==1&&(n.second=!0,n.minute=!1):!i.getMinutes()&&i.getHours()?i.getHours()-t.getHours()==1&&(n.minute=!0,n.hour=!1):!i.getHours()&&i.getDate()>1?i.getDate()-t.getDate()==1&&(n.hour=!0,n.day=!1):i.getDate()===1&&i.getMonth()?i.getMonth()-t.getMonth()==1&&(n.day=!0,n.month=!1):!i.getMonth()&&i.getFullYear()&&i.getFullYear()-t.getFullYear()==1&&(n.month=!0,n.year=!1)};return i=r.isString(i)?i.toLowerCase():i,u=r.getDatesDifferences(n,t),n!==t&&h(u,n>t?t:n,n>t?n:t),f=r.getDateUnitInterval(u),o(u,f,!0),f=r.getDateUnitInterval(i||"second"),o(u,f,!1),u[s[f]||f]=!0,e=this.getDateFormatByDifferences(u)}}}(jQuery,DevExpress),function(n){function u(n){this.baseColor=n;var t;n&&(t=String(n).toLowerCase().replace(/ /g,""),t=c[t]?"#"+c[t]:t,t=a(t)),t||(this.colorIsInvalid=!0),t=t||{},this.r=i(t[0]),this.g=i(t[1]),this.b=i(t[2]),this.a=i(t[3],1,1),this.hsv=t[4]?{h:t[4][0],s:t[4][1],v:t[4][2]}:y(this.r,this.g,this.b),this.hsl=t[5]?{h:t[5][0],s:t[5][1],l:t[5][2]}:w(this.r,this.g,this.b)}function a(n){if(n==="transparent")return[0,0,0,0];for(var t=0,r=e.length,i;t<r;++t)if(i=e[t].re.exec(n),i)return e[t].process(i);return null}function i(n,t,i){return t=t||0,i=i||255,n<0||isNaN(n)?t:n>i?i:n}function v(n,t,i){return"#"+(16777216|n<<16|t<<8|i).toString(16).slice(1)}function y(n,t,i){var u=Math.max(n,t,i),f=Math.min(n,t,i),e=u-f,r,o,s;if(s=u,o=u===0?0:1-f/u,u===f)r=0;else switch(u){case n:r=60*((t-i)/e),t<i&&(r=r+360);break;case t:r=60*((i-n)/e)+120;break;case i:r=60*((n-t)/e)+240}return o*=100,s*=100/255,{h:Math.round(r),s:Math.round(o),v:Math.round(s)}}function l(n,t,i){var o,s,r,c,h,u,f,e;c=Math.floor(n/60),r=(100-t)*i/100,h=(i-r)*(n%60/60),s=r+h,o=i-h;switch(c){case 0:u=i,f=s,e=r;break;case 1:u=o,f=i,e=r;break;case 2:u=r,f=i,e=s;break;case 3:u=r,f=o,e=i;break;case 4:u=s,f=r,e=i;break;case 5:u=i,f=r,e=o}return[Math.round(u*2.55),Math.round(f*2.55),Math.round(e*2.55)]}function p(n,t,i,r){var u=Math.max(n,t,i);switch(u){case n:return(t-i)/r+(t<i?6:0);case t:return(i-n)/r+2;case i:return(n-t)/r+4}}function w(n,t,i){var o;n=f(n,255),t=f(t,255),i=f(i,255);var s=Math.max(n,t,i),h=Math.min(n,t,i),c=s+h,u,e,l=c/2;return s===h?u=e=0:(o=s-h,e=l>.5?o/(2-c):o/c,u=p(n,t,i,o),u/=6),{h:r(u*360),s:r(e*100),l:r(l*100)}}function o(n,t){var i=t;return n==="r"&&(i=t+1/3),n==="b"&&(i=t-1/3),i}function b(n){return n<0&&(n+=1),n>1&&(n-=1),n}function s(n,t,i){return(i=b(i),i<1/6)?n+(t-n)*6*i:i<1/2?t:i<2/3?n+(t-n)*(2/3-i)*6:n}function k(n,t,i){var h,c,l,u,e;return n=f(n,360),t=f(t,100),i=f(i,100),t===0?h=c=l=i:(u=i<.5?i*(1+t):i+t-i*t,e=2*i-u,h=s(e,u,o("r",n)),c=s(e,u,o("g",n)),l=s(e,u,o("b",n))),[r(h*255),r(c*255),r(l*255)]}function f(n,t){return(n=Math.min(t,Math.max(0,parseFloat(n))),Math.abs(n-t)<1e-6)?1:n%t/parseFloat(t)}function h(n,t,i){return(t=t||0,i=i||255,n%1!=0||n<t||n>i||typeof n!="number"||isNaN(n))?!1:!0}var c={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"},e=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(n){return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10)]}},{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*\.*\d+)\)$/,process:function(n){return[parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10),parseFloat(n[4])]}},{re:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,process:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]}},{re:/^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,process:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)]}},{re:/^hsv\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(n){var i=parseInt(n[1],10),r=parseInt(n[2],10),u=parseInt(n[3],10),t=l(i,r,u);return[t[0],t[1],t[2],1,[i,r,u]]}},{re:/^hsl\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(n){var i=parseInt(n[1],10),r=parseInt(n[2],10),u=parseInt(n[3],10),t=k(i,r,u);return[t[0],t[1],t[2],1,null,[i,r,u]]}}],r=Math.round;u.prototype={constructor:u,highlight:function(n){return n=n||10,this.alter(n).toHex()},darken:function(n){return n=n||10,this.alter(-n).toHex()},alter:function(n){var t=new u;return t.r=i(this.r+n),t.g=i(this.g+n),t.b=i(this.b+n),t},blend:function(n,t){var e=n instanceof u?n:new u(n),f=new u;return f.r=i(r(this.r*(1-t)+e.r*t)),f.g=i(r(this.g*(1-t)+e.g*t)),f.b=i(r(this.b*(1-t)+e.b*t)),f},toHex:function(){return v(this.r,this.g,this.b)},getPureColor:function(){var n=l(this.hsv.h,100,100);return new u("rgb("+n.join(",")+")")},isValidHex:function(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)},isValidRGB:function(n,t,i){return!h(n)||!h(t)||!h(i)?!1:!0},isValidAlpha:function(n){return isNaN(n)||n<0||n>1||typeof n!="number"?!1:!0},colorIsInvalid:!1},n.Color=u}(DevExpress),function(n,t){Globalize.localize=function(n,t){var i=(t||this.cultureSelector||"").substring(0,2);return this.findClosestCulture(t).messages[n]||this.findClosestCulture(i).messages[n]||this.cultures["default"].messages[n]};var r=function(){var i={};return{setup:function(n){this.localizeString=function(r){var u=new RegExp("(^|[^a-zA-Z_0-9"+n+"-]+)("+n+"{1,2})([a-zA-Z_0-9-]+)","g"),f=n+n;return r.replace(u,function(r,u,e,o){var s=u+n+o;return e!==f&&(Globalize.cultures["default"].messages[o]?s=u+Globalize.localize(o):i[o]=t.inflector.humanize(o)),s})}},localizeNode:function(t){var i=this;n(t).each(function(t,r){r.nodeType&&(r.nodeType===3?r.nodeValue=i.localizeString(r.nodeValue):n(r).is("iframe")||(n.each(r.attributes||[],function(n,t){if(typeof t.value=="string"){var r=i.localizeString(t.value);t.value!==r&&(t.value=r)}}),n(r).contents().each(function(n,t){i.localizeNode(t)})))})},getDictionary:function(t){return t?i:n.extend({},i,Globalize.cultures["default"].messages)}}}();r.setup("@"),t.localization=r}(jQuery,DevExpress),Globalize.addCultureInfo("default",{messages:{Yes:"Yes",No:"No",Cancel:"Cancel",Clear:"Clear",Done:"Done",Loading:"Loading...",Select:"Select...",Search:"Search",Back:"Back",OK:"OK","dxCollectionWidget-noDataText":"No data to display","validation-required":"Required","validation-required-formatted":"{0} is required","validation-numeric":"Value must be a number","validation-numeric-formatted":"{0} must be a number","validation-range":"Value is out of range","validation-range-formatted":"{0} is out of range","validation-stringLength":"The length of the value is not correct","validation-stringLength-formatted":"The length of {0} is not correct","validation-custom":"Value is invalid","validation-custom-formatted":"{0} is invalid","validation-compare":"Values do not match","validation-compare-formatted":"{0} does not match","validation-pattern":"Value does not match pattern","validation-pattern-formatted":"{0} does not match pattern","validation-email":"Email is invalid","validation-email-formatted":"{0} is invalid","validation-mask":"Value is invalid"}}),Globalize.addCultureInfo("default",{messages:{"dxLookup-searchPlaceholder":"Minimum character number: {0}","dxList-pullingDownText":"Pull down to refresh...","dxList-pulledDownText":"Release to refresh...","dxList-refreshingText":"Refreshing...","dxList-pageLoadingText":"Loading...","dxList-nextButtonText":"More","dxList-selectAll":"Select All","dxListEditDecorator-delete":"Delete","dxListEditDecorator-more":"More","dxScrollView-pullingDownText":"Pull down to refresh...","dxScrollView-pulledDownText":"Release to refresh...","dxScrollView-refreshingText":"Refreshing...","dxScrollView-reachBottomText":"Loading...","dxDateBox-simulatedDataPickerTitleTime":"Select time","dxDateBox-simulatedDataPickerTitleDate":"Select date","dxDateBox-simulatedDataPickerTitleDateTime":"Select date and time","dxDateBox-validation-datetime":"Value must be a date or time","dxFileUploader-selectFile":"Select file","dxFileUploader-dropFile":"or Drop file here","dxFileUploader-bytes":"bytes","dxFileUploader-kb":"kb","dxFileUploader-Mb":"Mb","dxFileUploader-Gb":"Gb","dxFileUploader-upload":"Upload","dxFileUploader-uploaded":"Uploaded","dxFileUploader-readyToUpload":"Ready to upload","dxFileUploader-uploadFailedMessage":"Upload failed","dxRangeSlider-ariaFrom":"From {0}","dxRangeSlider-ariaTill":"Till {0}","dxSwitch-onText":"ON","dxSwitch-offText":"OFF"}}),Globalize.addCultureInfo("default",{messages:{"dxDataGrid-columnChooserTitle":"Column Chooser","dxDataGrid-columnChooserEmptyText":"Drag a column here to hide it","dxDataGrid-groupContinuesMessage":"Continues on the next page","dxDataGrid-groupContinuedMessage":"Continued from the previous page","dxDataGrid-editingEditRow":"Edit","dxDataGrid-editingSaveRowChanges":"Save","dxDataGrid-editingCancelRowChanges":"Cancel","dxDataGrid-editingDeleteRow":"Delete","dxDataGrid-editingUndeleteRow":"Undelete","dxDataGrid-editingConfirmDeleteMessage":"Are you sure you want to delete this record?","dxDataGrid-editingConfirmDeleteTitle":"","dxDataGrid-groupPanelEmptyText":"Drag a column header here to group by that column","dxDataGrid-noDataText":"No data","dxDataGrid-searchPanelPlaceholder":"Search...","dxDataGrid-filterRowShowAllText":"(All)","dxDataGrid-filterRowResetOperationText":"Reset","dxDataGrid-filterRowOperationEquals":"Equals","dxDataGrid-filterRowOperationNotEquals":"Does not equal","dxDataGrid-filterRowOperationLess":"Less than","dxDataGrid-filterRowOperationLessOrEquals":"Less than or equal to","dxDataGrid-filterRowOperationGreater":"Greater than","dxDataGrid-filterRowOperationGreaterOrEquals":"Greater than or equal to","dxDataGrid-filterRowOperationStartsWith":"Starts with","dxDataGrid-filterRowOperationContains":"Contains","dxDataGrid-filterRowOperationNotContains":"Does not contain","dxDataGrid-filterRowOperationEndsWith":"Ends with","dxDataGrid-applyFilterText":"Apply filter","dxDataGrid-trueText":"true","dxDataGrid-falseText":"false","dxDataGrid-sortingAscendingText":"Sort Ascending","dxDataGrid-sortingDescendingText":"Sort Descending","dxDataGrid-sortingClearText":"Clear Sorting","dxDataGrid-editingSaveAllChanges":"Save changes","dxDataGrid-editingCancelAllChanges":"Discard changes","dxDataGrid-editingAddRow":"Add a row","dxDataGrid-summaryMin":"Min: {0}","dxDataGrid-summaryMinOtherColumn":"Min of {1} is {0}","dxDataGrid-summaryMax":"Max: {0}","dxDataGrid-summaryMaxOtherColumn":"Max of {1} is {0}","dxDataGrid-summaryAvg":"Avg: {0}","dxDataGrid-summaryAvgOtherColumn":"Avg of {1} is {0}","dxDataGrid-summarySum":"Sum: {0}","dxDataGrid-summarySumOtherColumn":"Sum of {1} is {0}","dxDataGrid-summaryCount":"Count: {0}","dxDataGrid-columnFixingFix":"Fix","dxDataGrid-columnFixingUnfix":"Unfix","dxDataGrid-columnFixingLeftPosition":"To the left","dxDataGrid-columnFixingRightPosition":"To the right","dxDataGrid-exportTo":"Export to","dxDataGrid-exportToExcel":"Export to Excel file","dxDataGrid-excelFormat":"Excel file","dxDataGrid-selectedRows":"Selected rows","dxDataGrid-headerFilterEmptyValue":"(Blanks)","dxDataGrid-headerFilterOK":"OK","dxDataGrid-headerFilterCancel":"Cancel","dxDataGrid-ariaColumn":"Column","dxDataGrid-ariaValue":"Value","dxDataGrid-ariaFilterCell":"Filter cell","dxDataGrid-ariaCollapse":"Collapse","dxDataGrid-ariaExpand":"Expand","dxDataGrid-ariaDataGrid":"Data grid","dxDataGrid-ariaSearchInGrid":"Search in data grid","dxDataGrid-ariaSelectAll":"Select all","dxDataGrid-ariaSelectRow":"Select row","dxPager-infoText":"Page {0} of {1}","dxPivotGrid-grandTotal":"Grand Total","dxPivotGrid-total":"{0} Total","dxPivotGrid-fieldChooserTitle":"Field Chooser","dxPivotGrid-showFieldChooser":"Show Field Chooser","dxPivotGrid-expandAll":"Expand All","dxPivotGrid-collapseAll":"Collapse All","dxPivotGrid-sortColumnBySummary":'Sort "{0}" by This Column',"dxPivotGrid-sortRowBySummary":'Sort "{0}" by This Row',"dxPivotGrid-removeAllSorting":"Remove All Sorting","dxPivotGrid-rowFields":"Row Fields","dxPivotGrid-columnFields":"Column Fields","dxPivotGrid-dataFields":"Data Fields","dxPivotGrid-filterFields":"Filter Fields","dxPivotGrid-allFields":"All Fields","dxScheduler-editorLabelTitle":"Subject","dxScheduler-editorLabelStartDate":"Start Date","dxScheduler-editorLabelEndDate":"End Date","dxScheduler-editorLabelDescription":"Description","dxScheduler-editorLabelRecurrence":"Repeat","dxScheduler-openAppointment":"Open appointment","dxScheduler-recurrenceNever":"Never","dxScheduler-recurrenceDaily":"Daily","dxScheduler-recurrenceWeekly":"Weekly","dxScheduler-recurrenceMonthly":"Monthly","dxScheduler-recurrenceYearly":"Yearly","dxScheduler-recurrenceEvery":"Every","dxScheduler-recurrenceEnd":"End repeat","dxScheduler-recurrenceAfter":"After","dxScheduler-recurrenceOn":"On","dxScheduler-recurrenceRepeatDaily":"day(s)","dxScheduler-recurrenceRepeatWeekly":"week(s)","dxScheduler-recurrenceRepeatMonthly":"month(s)","dxScheduler-recurrenceRepeatYearly":"year(s)","dxScheduler-switcherDay":"Day","dxScheduler-switcherWeek":"Week","dxScheduler-switcherWorkWeek":"Work week","dxScheduler-switcherMonth":"Month","dxScheduler-recurrenceRepeatOnDate":"on date","dxScheduler-recurrenceRepeatCount":"occurrence(s)","dxScheduler-allDay":"All day","dxCalendar-todayButtonText":"Today","dxCalendar-ariaWidgetName":"Calendar","dxColorView-ariaRed":"Red","dxColorView-ariaGreen":"Green","dxColorView-ariaBlue":"Blue","dxColorView-ariaAlpha":"Transparency","dxColorView-ariaHex":"Color code"}}),function(n,t){var r=t.utils,u={required:{validate:function(t,i){return r.isDefined(t)?t===!1?!1:(t=String(t),(i.trim||!r.isDefined(i.trim))&&(t=n.trim(t)),t!==""):!1},defaultMessage:function(){return Globalize.localize("validation-required")},defaultFormattedMessage:function(){return Globalize.localize("validation-required-formatted")}},numeric:{validate:function(t,i){return u.required.validate(t,{})?i.useCultureSettings&&r.isString(t)?!isNaN(Globalize.parseFloat(t)):n.isNumeric(t):!0},defaultMessage:function(){return Globalize.localize("validation-numeric")},defaultFormattedMessage:function(){return Globalize.localize("validation-numeric-formatted")}},range:{validate:function(n,i){if(!u.required.validate(n,{}))return!0;var s=u.numeric.validate(n,i),h=r.isDefined(n),f=s?parseFloat(n):h&&n.valueOf(),o=i.min,e=i.max;if(!(s||r.isDate(n))&&!h)return!1;if(r.isDefined(o))return r.isDefined(e)?f>=o&&f<=e:f>=o;if(r.isDefined(e))return f<=e;throw t.Error("E0101");return!1},defaultMessage:function(){return Globalize.localize("validation-range")},defaultFormattedMessage:function(){return Globalize.localize("validation-range-formatted")}},stringLength:{validate:function(t,i){return t=String(t),(i.trim||!r.isDefined(i.trim))&&(t=n.trim(t)),u.range.validate(t.length,n.extend({},i))},defaultMessage:function(){return Globalize.localize("validation-stringLength")},defaultFormattedMessage:function(){return Globalize.localize("validation-stringLength-formatted")}},custom:{validate:function(n,t){return t.validationCallback({value:n,validator:t.validator,rule:t})},defaultMessage:function(){return Globalize.localize("validation-custom")},defaultFormattedMessage:function(){return Globalize.localize("validation-custom-formatted")}},compare:{validate:function(i,r){if(!r.comparisonTarget)throw t.Error("E0102");n.extend(r,{reevaluate:!0});var u=r.comparisonTarget(),f=r.comparisonType||"==";switch(f){case"==":return i==u;case"!=":return i!=u;case"===":return i===u;case"!==":return i!==u;case">":return i>u;case">=":return i>=u;case"<":return i<u;case"<=":return i<=u}},defaultMessage:function(){return Globalize.localize("validation-compare")},defaultFormattedMessage:function(){return Globalize.localize("validation-compare-formatted")}},pattern:{validate:function(n,t){if(!u.required.validate(n,{}))return!0;var i=t.pattern;return r.isString(i)&&(i=new RegExp(i)),i.test(n)},defaultMessage:function(){return Globalize.localize("validation-pattern")},defaultFormattedMessage:function(){return Globalize.localize("validation-pattern-formatted")}},email:{validate:function(t,i){return u.required.validate(t,{})?u.pattern.validate(t,n.extend({},i,{pattern:/^[\d\w\._\-]+@([\d\w\._\-]+\.)+[\w]+$/i})):!0},defaultMessage:function(){return Globalize.localize("validation-email")},defaultFormattedMessage:function(){return Globalize.localize("validation-email-formatted")}}},f=t.Class.inherit({ctor:function(n){this.group=n,this.validators=[]},validate:function(){var t={isValid:!0,brokenRules:[],validators:[]};return n.each(this.validators,function(n,i){var r=i.validate();t.isValid=t.isValid&&r.isValid,r.brokenRule&&t.brokenRules.push(r.brokenRule),t.validators.push(i)}),this.fireEvent("validated",[{validators:t.validators,brokenRules:t.brokenRules,isValid:t.isValid}]),t},reset:function(){n.each(this.validators,function(n,t){t.reset()})}}).include(t.EventsMixin);t.validationEngine={groups:[],getGroupConfig:function(t){var i=n.grep(this.groups,function(n){return n.group===t});if(i.length)return i[0]},initGroups:function(){this.groups=[],this.addGroup()},addGroup:function(n){var t=this.getGroupConfig(n);return t||(t=new f(n),this.groups.push(t)),t},removeGroup:function(t){var i=this.getGroupConfig(t),r=n.inArray(i,this.groups);return r>-1&&this.groups.splice(r,1),i},_setDefaultMessage:function(n,t,i){r.isDefined(n.message)||(n.message=t.defaultFormattedMessage&&r.isDefined(i)?t.defaultFormattedMessage().replace(/\{0\}/,i):t.defaultMessage())},validate:function(i,f,e){var o={name:e,value:i,brokenRule:null,isValid:!0,validationRules:f},s=this;return n.each(f||[],function(n,f){var h=u[f.type],c;if(h){if(r.isDefined(f.isValid)&&f.value===i&&!f.reevaluate)return f.isValid?!0:(o.isValid=!1,o.brokenRule=f,!1);if(f.value=i,c=h.validate(i,f),f.isValid=c,c||(o.isValid=!1,s._setDefaultMessage(f,h,e),o.brokenRule=f),!f.isValid)return!1}else throw t.Error("E0100");}),o},registerValidatorInGroup:function(i,r){var u=t.validationEngine.addGroup(i);n.inArray(r,u.validators)<0&&u.validators.push(r)},removeRegistredValidator:function(i,r){var u=t.validationEngine.getGroupConfig(i),f=u&&u.validators,e=n.inArray(r,f);e>-1&&f.splice(e,1)},validateGroup:function(n){var i=t.validationEngine.getGroupConfig(n);if(!i)throw t.Error("E0110");return i.validate()},resetGroup:function(n){var i=t.validationEngine.getGroupConfig(n);if(!i)throw t.Error("E0110");return i.reset()}},t.validationEngine.initGroups()}(jQuery,DevExpress),function(n,t){n.extend(t.ERROR_MESSAGES,{E4000:"[DevExpress.data]: {0}",E4001:"Unknown aggregating function is detected: '{0}'",E4002:"Unsupported OData protocol version is used",E4003:"Unknown filter operation is used: {0}",E4004:"The thenby() method is called before the sortby() method",E4005:"Store requires a key expression for this operation",E4006:"ArrayStore 'data' option must be an array",E4007:"Compound keys cannot be auto-generated",E4008:"Attempt to insert an item with the a duplicated key",E4009:"Data item with specified key value cannot be found",E4010:"CustomStore does not support creating queries",E4011:"Custom Store method is not implemented or is not a function: {0}",E4012:"Custom Store method returns an invalid value: {0}",E4013:"Local Store requires the 'name' configuration option is specified",E4014:"Unknown key type is detected: {0}",E4015:"Unknown entity name or alias is used: {0}",E4016:"The compileSetter(expr) method is called with 'self' passed as a parameter",E4017:"Keys cannot be modified"})}(jQuery,DevExpress),function(n,t,i){function v(i){function s(t){var i,o=r(t);return e(o)?(i={},u(i,v({data:o,criteria:f,itemsGetter:r,itemsSetter:u})),n.extend({},t,i)):t}function h(n){return e(r(n))}function e(t){return n.isArray(t)&&t.length>0}var r=i.itemsGetter,u=i.itemsSetter,f=i.criteria,o=i.data;return t.data.query(o).select(s).filter([[h],"or",f]).toArray()}var o=function(n){return n.replace(/\[/g,".").replace(/\]/g,"")},y=t.utils.unwrapObservable,s=function(n){return t.support.hasKo&&ko.isObservable(n)},h=function(n,t){return t==="this"?n:n[t]},c=function(n,i,r,u){if(i==="this")throw new t.Error("E4016");var f=n[i];u.unwrapObservables&&s(f)?f(r):n[i]=r},l=function(n){return n=n||{},n.unwrapObservables=n.unwrapObservables!==i?n.unwrapObservables:!0,n},u=function(n,t){return t.unwrapObservables?y(n):n},f=function(t){if(arguments.length>1&&(t=n.makeArray(arguments)),!t||t==="this")return function(n){return n};if(n.isFunction(t))return t;if(n.isArray(t))return p(t);t=o(t);var i=t.split(".");return function(t,r){r=l(r);var f=u(t,r);return n.each(i,function(){if(!f)return!1;var t=u(f[this],r);n.isFunction(t)&&!r.functionsAsIs&&(t=t.call(f)),f=t}),f}},p=function(t){var r={};return n.each(t,function(){r[this]=f(this)}),function(t,u){var f={};return n.each(r,function(n){var s=this(t,u),e,o,h,r;if(s!==i){for(e=f,o=n.split("."),h=o.length-1,r=0;r<h;r++)e=e[o[r]]={};e[o[r]]=s}}),f}},w=function(r){r=r||"this",r=o(r);var a=r.lastIndexOf("."),v=f(r.substr(0,a)),e=r.substr(1+a);return function(r,f,o){o=l(o);var y=v(r,{functionsAsIs:o.functionsAsIs,unwrapObservables:o.unwrapObservables}),a=h(y,e);o.functionsAsIs||!n.isFunction(a)||s(a)?(a=u(a,o),o.merge&&n.isPlainObject(f)&&(a===i||n.isPlainObject(a))&&!(f instanceof n.Event)?(a||c(y,e,{},o),t.utils.deepExtendArraySafe(u(h(y,e),o),f)):c(y,e,f,o)):y[e](f)}},b=function(n){return[n[0],n.length<3?"=":String(n[1]).toLowerCase(),n.length<2?!0:n[n.length-1]]},k=function(t){return n.isArray(t)||(t=[t]),n.map(t,function(t){return{selector:n.isFunction(t)||typeof t=="string"?t:t.getter||t.field||t.selector,desc:!!(t.desc||String(t.dir).charAt(0).toLowerCase()==="d")}})},a=t.Class.inherit({ctor:function(n){n&&(n=String(n)),this._value=this._normalize(n||this._generate())},_normalize:function(n){for(n=n.replace(/[^a-f0-9]/ig,"").toLowerCase();n.length<32;)n+="0";return[n.substr(0,8),n.substr(8,4),n.substr(12,4),n.substr(16,4),n.substr(20,12)].join("-")},_generate:function(){for(var t="",n=0;n<32;n++)t+=Math.round(Math.random()*15).toString(16);return t},toString:function(){return this._value},valueOf:function(){return this._value},toJSON:function(){return this._value}}),r=function(n,t){return n instanceof Date?n.getTime():n instanceof a?n.valueOf():!t&&typeof n=="string"?n.toLowerCase():n},d=function(t,i,u){var e,o,f;if(n.isArray(t)){for(e=n.map(i,function(n,t){return t}),f=0;f<e.length;f++)if(o=e[f],r(i[o],!0)!=r(u[o],!0))return!1;return!0}return r(i,!0)==r(u,!0)},g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",nt=function(t){function o(n){return g.charAt(n)}var r,i;for(n.isArray(t)||(t=tt(String(t))),r="",i=0;i<t.length;i+=3){var e=t[i],u=t[i+1],f=t[i+2];r+=n.map([e>>2,(e&3)<<4|u>>4,isNaN(u)?64:(u&15)<<2|f>>6,isNaN(f)?64:f&63],o).join("")}return r},tt=function(n){for(var i=[],t,r=0;r<n.length;r++)t=n.charCodeAt(r),t<128?i.push(t):t<2048?i.push(192+(t>>6),128+(t&63)):t<65536?i.push(224+(t>>12),128+(t>>6&63),128+(t&63)):t<2097152&&i.push(240+(t>>18),128+(t>>12&63),128+(t>>6&63),128+(t&63));return i},it=function(){var n={timeout:"Network connection timeout",error:"Unspecified network error",parsererror:"Unexpected server response"},t=function(t){var i=n[t];return i?i:t};return function(n,i){return n.status<400?t(i):n.statusText}}(),rt={count:{seed:0,step:function(n){return 1+n}},sum:{seed:0,step:function(n,t){return n+t}},min:{step:function(n,t){return t<n?t:n}},max:{step:function(n,t){return t>n?t:n}},avg:{seed:[0,0],step:function(n,t){return[n[0]+t,n[1]+1]},finalize:function(n){return n[1]?n[0]/n[1]:NaN}}},e=t.data={utils:{compileGetter:f,compileSetter:w,normalizeBinaryCriterion:b,normalizeSortingInfo:k,toComparable:r,keysEqual:d,errorMessageFromXhr:it,aggregators:rt,multiLevelSearch:v},Guid:a,base64_encode:nt,queryImpl:{},queryAdapters:{},query:function(){var t=n.isArray(arguments[0])?"array":"remote";return e.queryImpl[t].apply(this,arguments)},errorHandler:null,_errorHandler:function(n){e.errorHandler&&e.errorHandler(n)}}}(jQuery,DevExpress),function(n,t){function e(n){return n===u.aggregators.count}function f(n){var f=u.compileGetter(n.selector),i=n.aggregator;if(typeof i=="string"&&(i=r.utils.aggregators[i],!i))throw t.Error("E4001",n.aggregator);return{selector:f,aggregator:i}}var r=t.data,u=r.utils;r.AggregateCalculator=t.Class.inherit({ctor:function(t){this._data=t.data,this._groupLevel=t.groupLevel||0,this._totalAggregates=n.map(t.totalAggregates||[],f),this._groupAggregates=n.map(t.groupAggregates||[],f),this._totals=[]},calculate:function(){this._totalAggregates.length&&this._calculateTotals(0,{items:this._data}),this._groupAggregates.length&&this._groupLevel>0&&this._calculateGroups(0,{items:this._data})},totalAggregates:function(){return this._totals},_aggregate:function(n,t,i){for(var u,r=0;r<t.length;r++){if(e(t[r].aggregator)){i[r]=(i[r]||0)+n.items.length;continue}for(u=0;u<n.items.length;u++)this._accumulate(r,t[r],i,n.items[u])}},_calculateTotals:function(n,t){var i;if(n===0&&(this._totals=this._seed(this._totalAggregates)),n===this._groupLevel)this._aggregate(t,this._totalAggregates,this._totals);else for(i=0;i<t.items.length;i++)this._calculateTotals(n+1,t.items[i]);n===0&&(this._totals=this._finalize(this._totalAggregates,this._totals))},_calculateGroups:function(n,t,i){var r,u;if(n===this._groupLevel)this._aggregate(t,this._groupAggregates,i);else for(r=0;r<t.items.length;r++)u=this._seed(this._groupAggregates),this._calculateGroups(n+1,t.items[r],u),t.items[r].aggregates=this._finalize(this._groupAggregates,u),n>0&&(i=i||this._seed(this._groupAggregates),this._calculateGroups(n+1,t.items[r],i))},_seed:function(t){return n.map(t,function(t){var r=t.aggregator,i="seed"in r?r.seed:NaN;return n.isArray(i)?[i]:i})},_accumulate:function(n,t,i,r){var u=t.selector(r),f=t.aggregator;i[n]=i[n]!==i[n]?u:f.step(i[n],u)},_finalize:function(t,i){return n.map(t,function(n,t){var r=n.aggregator.finalize;return r?r(i[t]):i[t]})}})}(jQuery,DevExpress),function(n,t,i){var v=t.Class,u=t.data,l=u.queryImpl,f=u.utils.compileGetter,r=u.utils.toComparable,e=v.inherit({toArray:function(){var n=[];for(this.reset();this.next();)n.push(this.current());return n},countable:function(){return!1}}),s=e.inherit({ctor:function(n){this.array=n,this.index=-1},next:function(){return this.index+1<this.array.length?(this.index++,!0):!1},current:function(){return this.array[this.index]},reset:function(){this.index=-1},toArray:function(){return this.array.slice(0)},countable:function(){return!0},count:function(){return this.array.length}}),o=e.inherit({ctor:function(n){this.iter=n},next:function(){return this.iter.next()},current:function(){return this.iter.current()},reset:function(){return this.iter.reset()}}),h=o.inherit({ctor:function(n,t){this.callBase(n),this.index=-1,this.mapper=t},current:function(){return this.mapper(this.callBase(),this.index)},next:function(){var n=this.callBase();return n&&this.index++,n}}),c=e.inherit({ctor:function(n,t,i){n instanceof h||(n=new h(n,this._wrap)),this.iter=n,this.rules=[{getter:t,desc:i}]},thenBy:function(n,t){var i=new c(this.sortedIter||this.iter,n,t);return this.sortedIter||(i.rules=this.rules.concat(i.rules)),i},next:function(){return this._ensureSorted(),this.sortedIter.next()},current:function(){return this._ensureSorted(),this.sortedIter.current()},reset:function(){delete this.sortedIter},countable:function(){return this.sortedIter||this.iter.countable()},count:function(){return this.sortedIter?this.sortedIter.count():this.iter.count()},_ensureSorted:function(){this.sortedIter||(n.each(this.rules,function(){this.getter=f(this.getter)}),this.sortedIter=new h(new s(this.iter.toArray().sort(n.proxy(this._compare,this))),this._unwrap))},_wrap:function(n,t){return{index:t,value:n}},_unwrap:function(n){return n.value},_compare:function(n,t){var s=n.index,h=t.index,i,c;if(n=n.value,t=t.value,n===t)return s-h;for(i=0,c=this.rules.length;i<c;i++){var e=this.rules[i],u=r(e.getter(n)),o=r(e.getter(t)),f=e.desc?-1:1;if(u<o)return-f;if(u>o)return f;if(u!==o)return u?f:-f}return s-h}}),a=function(){function o(n,t,i){return function(u){u=r(n(u));var f=c(t)?u===t:u==t;return i&&(f=!f),f}}function c(n){return n===""||n===0||n===null||n===!1||n===i}var s=function(t){var u=[],i=["return function(d) { return "],f=0,r=!1;return n.each(t,function(){n.isArray(this)||n.isFunction(this)?(r&&i.push(" && "),u.push(a(this)),i.push("op[",f,"](d)"),f++,r=!0):(i.push(/and|&/i.test(this)?" && ":" || "),r=!1)}),i.push(" }"),new Function("op",i.join(""))(u)},e=function(n){return t.utils.isDefined(n)?n.toString():""},h=function(n){n=u.utils.normalizeBinaryCriterion(n);var s=f(n[0]),h=n[1],i=n[2];i=r(i);switch(h.toLowerCase()){case"=":return o(s,i);case"<>":return o(s,i,!0);case">":return function(n){return r(s(n))>i};case"<":return function(n){return r(s(n))<i};case">=":return function(n){return r(s(n))>=i};case"<=":return function(n){return r(s(n))<=i};case"startswith":return function(n){return r(e(s(n))).indexOf(i)===0};case"endswith":return function(n){var t=r(e(s(n))),u=e(i);return t.length<u.length?!1:t.lastIndexOf(i)===t.length-i.length};case"contains":return function(n){return r(e(s(n))).indexOf(i)>-1};case"notcontains":return function(n){return r(e(s(n))).indexOf(i)===-1}}throw t.Error("E4003",h);};return function(t){return n.isFunction(t)?t:n.isArray(t[0])?s(t):h(t)}}(),y=o.inherit({ctor:function(n,t){this.callBase(n),this.criteria=a(t)},next:function(){while(this.iter.next())if(this.criteria(this.current()))return!0;return!1}}),p=e.inherit({ctor:function(n,t){this.iter=n,this.getter=t},next:function(){return this._ensureGrouped(),this.groupedIter.next()},current:function(){return this._ensureGrouped(),this.groupedIter.current()},reset:function(){delete this.groupedIter},countable:function(){return!!this.groupedIter},count:function(){return this.groupedIter.count()},_ensureGrouped:function(){var r,t;if(!this.groupedIter){var i={},e=[],u=this.iter,o=f(this.getter);for(u.reset();u.next();)r=u.current(),t=o(r),t in i?i[t].push(r):(i[t]=[r],e.push(t));this.groupedIter=new s(n.map(e,function(n){return{key:n,items:i[n]}}))}}}),w=o.inherit({ctor:function(n,t){this.callBase(n),this.getter=f(t)},current:function(){return this.getter(this.callBase())},countable:function(){return this.iter.countable()},count:function(){return this.iter.count()}}),b=o.inherit({ctor:function(n,t,i){this.callBase(n),this.skip=Math.max(0,t),this.take=Math.max(0,i),this.pos=0},next:function(){if(this.pos>=this.skip+this.take)return!1;while(this.pos<this.skip&&this.iter.next())this.pos++;return this.pos++,this.iter.next()},reset:function(){this.callBase(),this.pos=0},countable:function(){return this.iter.countable()},count:function(){return Math.min(this.iter.count()-this.skip,this.take)}});l.array=function(r,o){o=o||{},r instanceof e||(r=new s(r));var k=function(n){var t=o.errorHandler;t&&t(n),u._errorHandler(n)},d=function(t){var u=n.Deferred().fail(k),f,o=t.step,e=t.finalize,i;try{for(r.reset(),f=("seed"in t)?t.seed:r.next()?r.current():NaN,i=f;r.next();)i=o(i,r.current());u.resolve(e?e(i):i)}catch(s){u.reject(s)}return u.promise()},nt=function(n,t,i){return arguments.length<2?d({step:arguments[0]}):d({seed:n,step:t,finalize:i})},a=function(n){return d(u.utils.aggregators[n])},g=function(t){return n.isFunction(t)||n.isArray(t)||(t=n.makeArray(arguments)),h(new w(r,t))},v=function(n){return g(f(n))},h=function(n){return l.array(n,o)};return{toArray:function(){return r.toArray()},enumerate:function(){var t=n.Deferred().fail(k);try{t.resolve(r.toArray())}catch(i){t.reject(i)}return t.promise()},sortBy:function(n,t){return h(new c(r,n,t))},thenBy:function(n,i){if(r instanceof c)return h(r.thenBy(n,i));throw t.Error("E4004");},filter:function(t){return n.isArray(t)||(t=n.makeArray(arguments)),h(new y(r,t))},slice:function(n,t){return t===i&&(t=Number.MAX_VALUE),h(new b(r,n,t))},select:g,groupBy:function(n){return h(new p(r,n))},aggregate:nt,count:function(){if(r.countable()){var t=n.Deferred().fail(k);try{t.resolve(r.count())}catch(i){t.reject(i)}return t.promise()}return a("count")},sum:function(n){return n?v(n).sum():a("sum")},min:function(n){return n?v(n).min():a("min")},max:function(n){return n?v(n).max():a("max")},avg:function(n){return n?v(n).avg():a("avg")}}}}(jQuery,DevExpress),function(n,t){var r=t.data,u=r.queryImpl;u.remote=function(i,f,e){e=e||[],f=f||{};var o=function(n,t){return{name:n,args:t}},h=function(s){function w(n){switch(n.name){case"sortBy":return l=[n.args],!0;case"thenBy":if(!l)throw t.Error("E4004");return l.push(n.args),!0}return!1}function b(){var t=h[0],i=[];t&&t.name==="multiSort"&&(h.shift(),n.each(t.args[0],function(){i.push(o(i.length?"thenBy":"sortBy",this))})),h=i.concat(h)}var a=n.Deferred(),v,y,h,c,l,p=function(n){var t=f.errorHandler;t&&t(n),r._errorHandler(n),a.reject(n)};try{for(v=f.adapter||"odata",n.isFunction(v)||(v=r.queryAdapters[v]),y=v(f),h=[].concat(e).concat(s);h.length;){if(c=h[0],!w(c)){if(l){h.unshift(o("multiSort",[l])),l=null;continue}if(String(c.name)!=="enumerate"&&(!y[c.name]||y[c.name].apply(y,c.args)===!1))break}h.shift()}b(),y.exec(i).done(function(t,i){if(h.length){var r=u.array(t,{errorHandler:f.errorHandler});n.each(h,function(){r=r[this.name].apply(r,this.args)}),r.done(a.resolve).fail(a.reject)}else a.resolve(t,i)}).fail(p)}catch(k){p(k)}return a.promise()},s={};return n.each(["sortBy","thenBy","filter","slice","select","groupBy"],function(){var n=String(this);s[n]=function(){return u.remote(i,f,e.concat(o(n,arguments)))}}),n.each(["count","min","max","sum","avg","aggregate","enumerate"],function(){var n=String(this);s[n]=function(){return h.call(this,o(n,arguments))}}),s}}(jQuery,DevExpress),function(n,t,i){function c(n,t,i){var r=[],u=function(n){return n<10?"0".concat(n):String(n)},f=function(){return n.getHours()+n.getMinutes()+n.getSeconds()+n.getMilliseconds()<1};return r.push(n.getFullYear()),r.push("-"),r.push(u(n.getMonth()+1)),r.push("-"),r.push(u(n.getDate())),t&&f()||(r.push("T"),r.push(u(n.getHours())),r.push(":"),r.push(u(n.getMinutes())),r.push(":"),r.push(u(n.getSeconds())),n.getMilliseconds()&&(r.push("."),r.push(n.getMilliseconds())),i||r.push("Z")),r.join("")}function d(t){var i=new Date(0),f=t.replace("Z","").split("T"),u=/(\d{4})-(\d{2})-(\d{2})/.exec(f[0]),r=/(\d{2}):(\d{2}):(\d{2})\.?(\d{0,7})?/.exec(f[1]);return i.setDate(Number(u[3])),i.setMonth(Number(u[2])-1),i.setFullYear(Number(u[1])),n.isArray(r)&&r.length&&(i.setHours(Number(r[1])),i.setMinutes(Number(r[2])),i.setSeconds(Number(r[3])),i.setMilliseconds(Number(String(r[4]).substr(0,3))||0)),i}function g(n){return/^(?:[a-z]+:)?\/\//i.test(n)}function nt(n,t){var r,i=n.split("/"),u=t.split("/");for(i.pop();u.length;)r=u.shift(),r===".."?i.pop():i.push(r);return i.join("/")}var e=t.data,s=t.utils,f=e.Guid,h=s.isDefined,p=2,w=/^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$/,b=/^\/Date\((-?\d+)((\+|-)?(\d+)?)\)\/$/,k=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[-+]{1}\d{2}(:?)(\d{2})?)?$/,a="application/json;odata=verbose",tt=function(i,r,u){function w(n){return JSON.stringify(n,function(n,r){if(!(this[n]instanceof Date))return r;r=c(this[n]);switch(i){case 2:return r.substr(0,r.length-1);case 3:case 4:return r;default:throw t.Error("E4002");}})}var e;r=n.extend({method:"get",url:"",params:{},payload:null,headers:{},timeout:3e4},r),u=u||{},e=u.beforeSend,e&&e(r);var h=(r.method||"get").toLowerCase(),f=h==="get",o=f&&u.jsonp,l=n.extend({},r.params),v=f?l:w(r.payload),y=!f&&n.param(l),s=r.url,p=!f&&a;return y&&(s+=(s.indexOf("?")>-1?"&":"?")+y),o&&(v.$format="json"),{url:s,data:v,dataType:o?"jsonp":"json",jsonp:o&&"$callback",type:h,timeout:r.timeout,headers:r.headers,contentType:p,accepts:{json:[a,"text/plain"].join()},xhrFields:{withCredentials:u.withCredentials}}},l=function(t,i,r){var u=n.Deferred(),f=tt(t,i,r);return n.ajax(f).always(function(n,i){var e=ut(n,i),s=e.error,h=e.data,o=e.nextUrl,c;s?u.reject(s):r.countOnly?u.resolve(e.count):o?(g(o)||(o=nt(f.url,o)),l(t,{url:o},r).fail(u.reject).done(function(n){u.resolve(h.concat(n))})):(isFinite(e.count)&&(c={totalCount:e.count}),u.resolve(h,c))}),u.promise()},it=function(n){var t,i=n;for(("message"in n)&&(t=n.message.value?n.message.value:n.message);i=i.innererror||i.internalexception;)if(t=i.message,i.internalexception&&t.indexOf("inner exception")===-1)break;return t},rt=function(t,i){var u;if(i==="nocontent")return null;var r=200,f="Unknown error",o=t;if(i!=="success"){r=t.status,f=e.utils.errorMessageFromXhr(t,i);try{o=n.parseJSON(t.responseText)}catch(s){}}return(u=o&&(o.error||o["@odata.error"]),u)?(f=it(u)||f,r===200&&(r=500),u.code&&(r=Number(u.code)),n.extend(Error(f),{httpStatus:r,errorDetails:u})):r!==200?n.extend(Error(f),{httpStatus:r}):void 0},ut=function(t,i){var u=rt(t,i),r;return u?{error:u}:n.isPlainObject(t)?(r="d"in t&&(s.isArray(t.d)||s.isObject(t.d))?ft(t,i):et(t,i),v(r),r):{data:t}},ft=function(n){var t=n.d;return h(t)?(t=t,h(t.results)&&(t=t.results),{data:t,nextUrl:n.d.__next,count:parseInt(n.d.__count,10)}):{error:Error("Malformed or unsupported JSON response received")}},et=function(n){var t=n;return h(t.value)&&(t=t.value),{data:t,nextUrl:n["@odata.nextLink"],count:parseInt(n["@odata.count"],10)}},r=t.Class.inherit({ctor:function(n){this._value=n},valueOf:function(){return this._value}}),v=function(t){n.each(t,function(n,i){if(i!==null&&typeof i=="object")"results"in i&&(t[n]=i.results),v(t[n]);else if(typeof i=="string")if(w.test(i))t[n]=new f(i);else if(i.match(b)){var r=new Date(Number(RegExp.$1)+RegExp.$2*6e4);t[n]=new Date(r.valueOf()+r.getTimezoneOffset()*6e4)}else k.test(i)&&(t[n]=new Date(d(t[n]).valueOf()))})},ot=function(n){return"datetime'"+c(n,!0,!0)+"'"},st=function(n){return"'"+n.replace(/'/g,"''")+"'"},u=function(n){return n instanceof r?n.valueOf():n.replace(/\./g,"/")},ht=function(n){return n instanceof Date?c(n,!1,!1):n instanceof f?n.valueOf():y(n)},y=function(n){return n instanceof Date?ot(n):n instanceof f?"guid'"+n+"'":n instanceof r?n.valueOf():typeof n=="string"?st(n):String(n)},o=function(n,i){switch(i){case 2:case 3:return y(n);case 4:return ht(n);default:throw t.Error("E4002");}},ct=function(t,i){if(n.isPlainObject(t)){var r=[];return n.each(t,function(n,t){r.push(u(n)+"="+o(t,i))}),r.join()}return o(t,i)},lt={String:function(n){return n+""},Int32:function(n){return Math.floor(n)},Int64:function(n){return n instanceof r?n:new r(n+"L")},Guid:function(n){return n instanceof f?n:new f(n)},Boolean:function(n){return!!n},Single:function(n){return n instanceof r?n:new r(n+"f")},Decimal:function(n){return n instanceof r?n:new r(n+"m")}},at=function(){var i=function(n){return function(t,i,r){r.push(t," ",n," ",i)}},r=function(n,t){return function(i,r,u){t?u.push(n,"(",r,",",i,")"):u.push(n,"(",i,",",r,")")}},f={"=":i("eq"),"<>":i("ne"),">":i("gt"),">=":i("ge"),"<":i("lt"),"<=":i("le"),startswith:r("startswith"),endswith:r("endswith")},h=n.extend({},f,{contains:r("substringof",!0),notcontains:r("not substringof",!0)}),c=n.extend({},f,{contains:r("contains"),notcontains:r("not contains")}),l=function(n,i,r){n=e.utils.normalizeBinaryCriterion(n);var f=n[1],l=r===4?c:h,s=l[f.toLowerCase()];if(!s)throw t.Error("E4003",f);s(u(n[0]),o(n[2],r),i)},a=function(t,i,r){var u=!1;n.each(t,function(){n.isArray(this)?(u&&i.push(" and "),i.push("("),s(this,i,r),i.push(")"),u=!0):(i.push(/and|&/i.test(this)?" and ":" or "),u=!1)})},s=function(t,i,r){n.isArray(t[0])?a(t,i,r):l(t,i,r)};return function(n,t){var i=[];return s(n,i,t),i.join("")}}(),vt=function(t){var h=[],r=[],f,o,s,e,c=function(){return o||s!==i},a=function(t){for(var i=0;i<t.length;i++)if(n.isFunction(t[i])||n.isArray(t[i])&&a(t[i]))return!0;return!1},v=function(){var r={};return t.expand&&n.each(n.makeArray(t.expand),function(){r[u(this)]=1}),f&&n.each(f,function(){var n=this.split(".");n.length<2||(n.pop(),r[u(n.join("."))]=1)}),n.map(r,function(n,t){return t}).join()||i},y=function(){var n={};return e||(h.length&&(n.$orderby=h.join(",")),o&&(n.$skip=o),s!==i&&(n.$top=s),f&&(n.$select=u(f.join())),n.$expand=v()),r.length&&(n.$filter=at(r.length<2?r[0]:r,t.version)),e&&(n.$top=0),(t.requireTotalCount||e)&&(t.version!==4?n.$inlinecount="allpages":n.$count="true"),n};return t.version=t.version||p,{exec:function(i){return l(t.version,{url:i,params:n.extend(y(),t&&t.params)},{beforeSend:t.beforeSend,jsonp:t.jsonp,withCredentials:t.withCredentials,countOnly:e})},multiSort:function(n){var i,t,r,e,f;if(c())return!1;for(t=0;t<n.length;t++){if(r=n[t][0],e=!!n[t][1],typeof r!="string")return!1;f=u(r),e&&(f+=" desc"),i=i||[],i.push(f)}h=i},slice:function(n,t){if(c())return!1;o=n,s=t},filter:function(t){if(c()||n.isFunction(t)||(n.isArray(t)||(t=n.makeArray(arguments)),a(t)))return!1;r.length&&r.push("and"),r.push(t)},select:function(t){if(f||n.isFunction(t))return!1;n.isArray(t)||(t=n.makeArray(arguments)),f=t},count:function(){e=!0}}};n.extend(!0,e,{EdmLiteral:r,utils:{odata:{sendRequest:l,serializePropName:u,serializeValue:o,serializeKey:ct,keyConverters:lt}},queryAdapters:{odata:vt}})}(jQuery,DevExpress),function(n,t){function f(t,i){return t=t.groupBy(i[0].selector),i.length>1&&(t=t.select(function(t){return n.extend({},t,{items:f(r.query(t.items),i.slice(1)).toArray()})})),t}function o(t,i){var r=[];return n.each(t,function(t,u){var f=n.grep(i,function(n){return u.selector===n.selector});f.length<1&&r.push(u)}),r.concat(i)}var s=t.Class,u=t.abstract,r=t.data,e=r.utils.normalizeSortingInfo,h=["loading","loaded","modifying","modified","inserting","inserted","updating","updated","removing","removed"];r.utils.multiLevelGroup=f,r.utils.arrangeSortingInfo=o,r.Store=s.inherit({ctor:function(i){var r=this;i=i||{},n.each(h,function(){var u=this,f=r[u]=n.Callbacks(),o=f.add,e;if(f.add=function(){return t.log("W0003","Store",u,"14.2","Use the '"+u+"' event instead"),o.apply(u,arguments)},u in i&&f.add(i[u]),e="on"+u.charAt(0).toUpperCase()+u.slice(1),e in i)r.on(u,i[e])}),this._key=i.key,this._errorHandler=i.errorHandler,this._useDefaultSearch=!0},_customLoadOptions:function(){return null},key:function(){return this._key},keyOf:function(n){return this._keyGetter||(this._keyGetter=r.utils.compileGetter(this.key())),this._keyGetter(n)},_requireKey:function(){if(!this.key())throw t.Error("E4005");},load:function(n){var t=this;return n=n||{},this.fireEvent("loading",[n]),this.loading.fire(n),this._loadImpl(n).done(function(i,r){t.fireEvent("loaded",[i,n]),t.loaded.fire(i,r)})},_loadImpl:function(t){var s=t.filter,u=t.sort,h=t.select,r=t.group,c=t.skip,l=t.take,i=this.createQuery(t);return s&&(i=i.filter(s)),r&&(r=e(r)),(u||r)&&(u=e(u||[]),r&&(u=o(r,u)),n.each(u,function(n){i=i[n?"thenBy":"sortBy"](this.selector,this.desc)})),h&&(i=i.select(h)),r&&(i=f(i,r)),(l||c)&&(i=i.slice(c||0,l)),i.enumerate()},createQuery:u,totalCount:function(n){return this._addFailHandlers(this._totalCountImpl(n))},_totalCountImpl:function(n){n=n||{};var t=this.createQuery(),i=n.group,r=n.filter;return r&&(t=t.filter(r)),i&&(i=e(i),t=f(t,i)),t.count()},byKey:function(n,t){return this._addFailHandlers(this._byKeyImpl(n,t))},_byKeyImpl:u,insert:function(n){var t=this;return t.fireEvent("modifying"),t.fireEvent("inserting",[n]),t.modifying.fire(),t.inserting.fire(n),t._addFailHandlers(t._insertImpl(n).done(function(n,i){t.fireEvent("inserted",[n,i]),t.fireEvent("modified"),t.inserted.fire(n,i),t.modified.fire()}))},_insertImpl:u,update:function(n,t){var i=this;return i.fireEvent("modifying"),i.fireEvent("updating",[n,t]),i.modifying.fire(),i.updating.fire(n,t),i._addFailHandlers(i._updateImpl(n,t).done(function(n,t){i.fireEvent("updated",[n,t]),i.fireEvent("modified"),i.updated.fire(n,t),i.modified.fire()}))},_updateImpl:u,remove:function(n){var t=this;return t.fireEvent("modifying"),t.fireEvent("removing",[n]),t.modifying.fire(),t.removing.fire(n),t._addFailHandlers(t._removeImpl(n).done(function(n){t.fireEvent("removed",[n]),t.fireEvent("modified"),t.removed.fire(n),t.modified.fire()}))},_removeImpl:u,_addFailHandlers:function(n){return n.fail(this._errorHandler,r._errorHandler)}}).include(t.EventsMixin)}(jQuery,DevExpress),function(n,t,i){var r=t.data,e=r.Guid,u=function(){var t=n.Deferred();return t.resolve.apply(t,arguments).promise()},f=function(){var t=n.Deferred();return t.reject.apply(t,arguments).promise()};r.ArrayStore=r.Store.inherit({ctor:function(i){i=n.isArray(i)?{data:i}:i||{},this.callBase(i);var r=i.data;if(r&&!n.isArray(r))throw t.Error("E4006");this._array=r||[]},createQuery:function(){return r.query(this._array,{errorHandler:this._errorHandler})},_byKeyImpl:function(n){var i=this._indexByKey(n);return i===-1?f(t.Error("E4009")):u(this._array[i])},_insertImpl:function(r){var h=this.key(),o,s;if(s=n.isPlainObject(r)?n.extend({},r):r,h){if(o=this.keyOf(s),o===i||typeof o=="object"&&n.isEmptyObject(o)){if(n.isArray(h))throw t.Error("E4007");o=s[h]=String(new e)}else if(this._array[this._indexByKey(o)]!==i)return f(t.Error("E4008"))}else o=s;return this._array.push(s),u(r,o)},_updateImpl:function(n,i){var e,o;if(this.key()){if(this.keyOf(i)&&!r.utils.keysEqual(this.key(),n,this.keyOf(i)))return f(t.Error("E4017"));if(o=this._indexByKey(n),o<0)return f(t.Error("E4009"));e=this._array[o]}else e=n;return t.utils.deepExtendArraySafe(e,i),u(n,i)},_removeImpl:function(n){var t=this._indexByKey(n);return t>-1&&this._array.splice(t,1),u(n)},_indexByKey:function(n){for(var t=0,i=this._array.length;t<i;t++)if(r.utils.keysEqual(this.key(),this.keyOf(this._array[t]),n))return t;return-1},clear:function(){this._array=[]}})}(jQuery,DevExpress),function(n,t){var f=t.Class,r=t.abstract,u=t.data,e=f.inherit({ctor:function(t,i){var u,f,r;if(this._store=t,this._dirty=!1,u=this._immediate=i.immediate,f=Math.max(100,i.flushInterval||1e4),!u){r=n.proxy(this.save,this),setInterval(r,f);n(window).on("beforeunload",r);window.cordova&&document.addEventListener("pause",r,!1)}},notifyChanged:function(){this._dirty=!0,this._immediate&&this.save()},load:function(){this._store._array=this._loadImpl(),this._dirty=!1},save:function(){this._dirty&&(this._saveImpl(this._store._array),this._dirty=!1)},_loadImpl:r,_saveImpl:r}),o=e.inherit({ctor:function(n,i){this.callBase(n,i);var r=i.name;if(!r)throw t.Error("E4013");this._key="dx-data-localStore-"+r},_loadImpl:function(){var n=localStorage.getItem(this._key);return n?JSON.parse(n):[]},_saveImpl:function(n){n.length?localStorage.setItem(this._key,JSON.stringify(n)):localStorage.removeItem(this._key)}}),s={dom:o};u.LocalStore=u.ArrayStore.inherit({ctor:function(n){n=typeof n=="string"?{name:n}:n||{},this.callBase(n),this._backend=new s[n.backend||"dom"](this,n),this._backend.load()},clear:function(){this.callBase(),this._backend.notifyChanged()},_insertImpl:function(t){var i=this._backend;return this.callBase(t).done(n.proxy(i.notifyChanged,i))},_updateImpl:function(t,i){var r=this._backend;return this.callBase(t,i).done(n.proxy(r.notifyChanged,r))},_removeImpl:function(t){var i=this._backend;return this.callBase(t).done(n.proxy(i.notifyChanged,i))}})}(jQuery,DevExpress),function(n,t){var l=t.Class,r=t.data,e=t.utils,u=r.utils.odata,a=2,o=function(i,r){return t.stringFormat("{0}({1})",i,n.map(r||{},function(n,i){return t.stringFormat("{0}={1}",i,n)}).join(","))},f=function(t,i){if(!t)return t;var r={};return n.each(t,function(n,t){r[n]=u.serializeValue(t,i)}),r},s=function(n,i){var r=u.keyConverters[n];if(!r)throw t.Error("E4014",n);return r(i)},h={_extractServiceOptions:function(n){n=n||{},this._url=String(n.url).replace(/\/+$/,""),this._beforeSend=n.beforeSend,this._jsonp=n.jsonp,this._version=n.version||a,this._withCredentials=n.withCredentials},_sendRequest:function(n,t,i,r){return u.sendRequest(this.version(),{url:n,method:t,params:i||{},payload:r},{beforeSend:this._beforeSend,jsonp:this._jsonp,withCredentials:this._withCredentials})},version:function(){return this._version}},c=r.Store.inherit({ctor:function(n){this.callBase(n),this._extractServiceOptions(n),this._keyType=n.keyType,this._updateMethod=this.version()===2?"MERGE":"PATCH"},_customLoadOptions:function(){return["expand","customQueryParams"]},_byKeyImpl:function(t,i){var r={};return i&&i.expand&&(r.$expand=n.map(n.makeArray(i.expand),u.serializePropName).join()),this._sendRequest(this._byKeyUrl(t),"GET",r)},createQuery:function(n){var t,i,u;return n=n||{},i={beforeSend:this._beforeSend,errorHandler:this._errorHandler,jsonp:this._jsonp,version:this._version,withCredentials:this._withCredentials,expand:n.expand,requireTotalCount:n.requireTotalCount},t=e.isDefined(n.urlOverride)?n.urlOverride:this._url,"customQueryParams"in n&&(u=f(n.customQueryParams,this.version()),this.version()===4?t=o(t,u):i.params=u),r.query(t,i)},_insertImpl:function(t){this._requireKey();var r=this,i=n.Deferred();return n.when(this._sendRequest(this._url,"POST",null,t)).done(function(n){i.resolve(t,r.keyOf(n))}).fail(i.reject),i.promise()},_updateImpl:function(t,i){var r=n.Deferred();return n.when(this._sendRequest(this._byKeyUrl(t),this._updateMethod,null,i)).done(function(){r.resolve(t,i)}).fail(r.reject,r),r.promise()},_removeImpl:function(t){var i=n.Deferred();return n.when(this._sendRequest(this._byKeyUrl(t),"DELETE")).done(function(){i.resolve(t)}).fail(i.reject,i),i.promise()},_byKeyUrl:function(i,r){var f=i,e=this._keyType,o=r?t._proxyUrlFormatter.formatLocalUrl(this._url):this._url;return n.isPlainObject(e)?(f={},n.each(e,function(n,t){f[n]=s(t,i[n])})):e&&(f=s(e,i)),o+"("+encodeURIComponent(u.serializeKey(f,this._version))+")"}}).include(h),v=l.inherit({ctor:function(t){var i=this;i._extractServiceOptions(t),i._errorHandler=t.errorHandler,n.each(t.entities||[],function(r,u){i[r]=new c(n.extend({},t,{url:i._url+"/"+encodeURIComponent(u.name||r)},u))})},get:function(n,t){return this.invoke(n,t,"GET")},invoke:function(t,i,u){i=i||{},u=(u||"POST").toLowerCase();var e=n.Deferred(),s=this._url+"/"+encodeURIComponent(t),h;return this.version()===4&&(u==="get"?(s=o(s,f(i,this.version())),i=null):u==="post"&&(h=i,i=null)),n.when(this._sendRequest(s,u,f(i,this.version()),h)).done(function(i){n.isPlainObject(i)&&t in i&&(i=i[t]),e.resolve(i)}).fail([this._errorHandler,r._errorHandler,e.reject]),e.promise()},objectLink:function(n,i){var r=this[n];if(!r)throw t.Error("E4015",n);return e.isDefined(i)?{__metadata:{uri:r._byKeyUrl(i,!0)}}:null}}).include(h);n.extend(r,{ODataStore:c,ODataContext:v})}(jQuery,DevExpress),function(n,t,i){function u(t){return t&&n.isFunction(t.then)}function r(t){return n.Deferred().resolve(t).promise()}function f(i,r){if(!n.isFunction(r))throw t.Error("E4011",i);}function y(n){throw t.Error("E4012",n);}function e(n){function t(n){var t=n[0],i=n[1];return!t||!t.getResponseHeader?null:o.utils.errorMessageFromXhr(t,i)}return function(i){var r;r=i instanceof Error?i:new Error(t(arguments)||i&&String(i)||"Unknown error"),n.reject(r)}}var o=t.data,s="totalCount",h="load",c="byKey",l="insert",a="update",v="remove";o.CustomStore=o.Store.inherit({ctor:function(n){n=n||{},this.callBase(n),this._useDefaultSearch=!1,this._loadFunc=n[h],this._totalCountFunc=n[s],this._byKeyFunc=n[c],this._insertFunc=n[l],this._updateFunc=n[a],this._removeFunc=n[v]},createQuery:function(){throw t.Error("E4010");},_totalCountImpl:function(t){var h=this._totalCountFunc,i,o=n.Deferred();return f(s,h),i=h(t),u(i)||(i=Number(i),isFinite(i)||y(s),i=r(i)),i.then(function(n){o.resolve(Number(n))},e(o)),o.promise()},_loadImpl:function(t){var c=this._loadFunc,o,s=n.Deferred();return f(h,c),o=c(t),n.isArray(o)?o=r(o):o===null||o===i?o=r([]):u(o)||y(h),o.then(function(n,t){s.resolve(n,t)},e(s)),this._addFailHandlers(s.promise())},_byKeyImpl:function(t,i){var h=this._byKeyFunc,o,s=n.Deferred();return f(c,h),o=h(t,i),u(o)||(o=r(o)),o.then(function(n){s.resolve(n)},e(s)),s.promise()},_insertImpl:function(t){var s=this._insertFunc,i,o=n.Deferred();return f(l,s),i=s(t),u(i)||(i=r(i)),i.then(function(n){o.resolve(t,n)},e(o)),o.promise()},_updateImpl:function(t,i){var h=this._updateFunc,o,s=n.Deferred();return f(a,h),o=h(t,i),u(o)||(o=r()),o.then(function(){s.resolve(t,i)},e(s)),s.promise()},_removeImpl:function(t){var s=this._removeFunc,i,o=n.Deferred();return f(v,s),i=s(t),u(i)||(i=r()),i.then(function(){o.resolve(t)},e(o)),o.promise()}})}(jQuery,DevExpress),function(n,t,i){function h(t){function f(){var i={};return n.each(["key","load","byKey","lookup","totalCount","insert","update","remove"],function(){i[this]=t[this],delete t[this]}),new o(i)}function e(n){var t=r[s[n.type]];return delete n.type,new t(n)}function h(t){return new o({load:function(){return n.getJSON(t)}})}var u;return typeof t=="string"&&(t=h(t)),t===i&&(t=[]),t=n.isArray(t)||t instanceof r.Store?{store:t}:n.extend({},t),t.store===i&&(t.store=[]),u=t.store,"load"in t?u=f():n.isArray(u)?u=new r.ArrayStore(u):n.isPlainObject(u)&&(u=e(n.extend({},u))),t.store=u,t}function c(t){switch(t.length){case 0:return i;case 1:return t[0]}return n.makeArray(t)}function f(n){return function(){var t=c(arguments);return t!==i&&(this._storeLoadOptions[n]=t),this._storeLoadOptions[n]}}function v(i,u,f){function e(i,r){return t.utils.isArray(i)?r?o(i,r):n.map(i,u):i}function o(t,i){return n.map(t,function(n){var t={key:n.key,items:e(n.items,i-1)};return"aggregates"in n&&(t.aggregates=n.aggregates),t})}return e(i,f?r.utils.normalizeSortingInfo(f).length:0)}var r=t.data,o=r.CustomStore,l=t.Class,s={jaydata:"JayDataStore",breeze:"BreezeStore",odata:"ODataStore",local:"LocalStore",array:"ArrayStore"},a=function(){var n=-1;return function(){return++n}}(),e=function(){var n={};return{add:function(t){n[t]=!0},has:function(t){return t in n},remove:function(t){delete n[t]}}}(),u=function(n,t){return e.has(n)?(e.remove(n),t.reject("canceled"),!1):!0},y=l.inherit({ctor:function(r){r=h(r),this._store=r.store,this._storeLoadOptions=this._extractLoadOptions(r),this._mapFunc=r.map,this._postProcessFunc=r.postProcess,this._pageIndex=r.pageIndex!==i?r.pageIndex:0,this._pageSize=r.pageSize!==i?r.pageSize:20,this._items=[],this._totalCount=-1,this._isLoaded=!1,this._loadingCount=0,this._loadQueue=this._createLoadQueue(),this._searchValue="searchValue"in r?r.searchValue:null,this._searchOperation=r.searchOperation||"contains",this._searchExpr=r.searchExpr,this._paginate=r.paginate,this._paginate===i&&(this._paginate=!this.group()),this._isLastPage=!this._paginate,this._userData={},n.each(["changed","loadError","loadingChanged"],n.proxy(function(i,r){var u=this[r]=n.Callbacks(),f=u.add;u.add=function(){return t.log("W0003","DataSource",r,"14.2","Use the '"+r+"' event instead"),f.apply(r,arguments)}},this)),n.each(["changed","loadError","loadingChanged","customizeLoadResult","customizeStoreLoadOptions"],n.proxy(function(n,t){var i="on"+t[0].toUpperCase()+t.slice(1);if(r.hasOwnProperty(i))this.on(t,r[i])},this))},dispose:function(){this.changed.empty(),this.loadError.empty(),this.loadingChanged.empty(),this._disposeEvents(),delete this._store,this._delayedLoadTask&&this._delayedLoadTask.abort(),this._disposed=!0},_extractLoadOptions:function(t){var r={},i=["sort","filter","select","group","requireTotalCount"],u=this._store._customLoadOptions();return u&&(i=i.concat(u)),n.each(i,function(){r[this]=t[this]}),r},loadOptions:function(){return this._storeLoadOptions},items:function(){return this._items},pageIndex:function(n){return n!==i&&(this._pageIndex=n,this._isLastPage=!this._paginate),this._pageIndex},paginate:function(n){if(arguments.length<1)return this._paginate;n=!!n,this._paginate!==n&&(this._paginate=n,this.pageIndex(0))},pageSize:function(n){if(arguments.length<1)return this._pageSize;this._pageSize=n},isLastPage:function(){return this._isLastPage},sort:f("sort"),filter:function(){var n=c(arguments);return n!==i&&(this._storeLoadOptions.filter=n,this.pageIndex(0)),this._storeLoadOptions.filter},group:f("group"),select:f("select"),requireTotalCount:f("requireTotalCount"),searchValue:function(n){return n!==i&&(this.pageIndex(0),this._searchValue=n),this._searchValue},searchOperation:function(n){return n!==i&&(this.pageIndex(0),this._searchOperation=n),this._searchOperation},searchExpr:function(t){var i=arguments.length;return i&&(i>1&&(t=n.makeArray(arguments)),this.pageIndex(0),this._searchExpr=t),this._searchExpr},store:function(){return this._store},key:function(){return this._store&&this._store.key()},totalCount:function(){return this._totalCount},isLoaded:function(){return this._isLoaded},isLoading:function(){return this._loadingCount>0},_createLoadQueue:function(){return t.createQueue()},_changeLoadingCount:function(n){var i=this.isLoading(),t;this._loadingCount+=n,t=this.isLoading(),i^t&&(this.fireEvent("loadingChanged",[t]),this.loadingChanged.fire(t))},_scheduleLoadCallbacks:function(n){var t=this;t._changeLoadingCount(1),n.always(function(){t._changeLoadingCount(-1)})},_scheduleChangedCallbacks:function(n){var t=this;n.done(function(){t.fireEvent("changed"),t.changed.fire()})},loadSingle:function(t,i){function h(t){t===null||typeof t=="undefined"||n.isArray(t)&&t.length<1?f.reject():f.resolve(e._transformLoadedData(t)[0])}var e=this,f=n.Deferred().fail(function(){e.fireEvent("loadError",arguments),e.loadError.fire.apply(e,arguments)}),s=this.key(),o=this._store,u=this._createStoreLoadOptions();return arguments.length<2&&(i=t,t=s),delete u.skip,delete u.group,delete u.refresh,delete u.pageIndex,delete u.searchString,t===s||o instanceof r.CustomStore?o.byKey(i,u).done(h).fail(f.reject):(u.take=1,u.filter=u.filter?[u.filter,[t,i]]:[t,i],o.load(u).done(h).fail(f.reject)),f.promise()},load:function(){function s(){arguments[0]!=="canceled"&&(e.fireEvent("loadError",arguments),e.loadError.fire.apply(e.loadError,arguments))}function o(){return e._disposed?i:e._loadFromStore(f,r)}var e=this,r=n.Deferred(),f;return(this._scheduleLoadCallbacks(r),this._scheduleChangedCallbacks(r),f=this._createLoadOptions(),this.fireEvent("customizeStoreLoadOptions",[f]),!u(f.operationId,r))?r.promise():(this._loadQueue.add(function(){return typeof f.delay=="number"?e._delayedLoadTask=t.utils.executeAsync(o,f.delay):o(),r.promise()}),r.promise({loadOperationId:f.operationId}).fail(s))},reload:function(){var n,t=this._userData;for(n in t)t.hasOwnProperty(n)&&delete t[n];return this._totalCount=-1,this._isLoaded=!1,this.load()},cancel:function(n){e.add(n)},_addSearchOptions:function(n){this._disposed||(this.store()._useDefaultSearch?this._addSearchFilter(n):(n.searchOperation=this._searchOperation,n.searchValue=this._searchValue,n.searchExpr=this._searchExpr))},_createStoreLoadOptions:function(){var t=n.extend({},this._storeLoadOptions);return this._addSearchOptions(t),this._paginate&&this._pageSize&&(t.skip=this._pageIndex*this._pageSize,t.take=this._pageSize),t.userData=this._userData,t},_createLoadOptions:function(){return{operationId:a(),storeLoadOptions:this._createStoreLoadOptions()}},_addSearchFilter:function(t){var u=this._searchValue,f=this._searchOperation,i=this._searchExpr,r=[];u&&(i||(i="this"),n.isArray(i)||(i=[i]),n.each(i,function(n,t){r.length&&r.push("or"),r.push([t,f,u])}),t.filter=t.filter?[r,t.filter]:r)},_loadFromStore:function(t,i){function f(f,e){function o(){var o;o=n.extend({data:f,extra:e},t),r.fireEvent("customizeLoadResult",[o]),u(t.operationId,i)&&r._processStoreLoadResult(o,i)}r._disposed||o()}var r=this;return u(t.operationId,i)?this.store().load(t.storeLoadOptions).done(f).fail(i.reject):i.promise()},_processStoreLoadResult:function(t,i){function s(){return u(t.operationId,i)?(r._isLoaded=!0,r._totalCount=isFinite(f.totalCount)?f.totalCount:-1,i.resolve(e,f)):i}function h(){r.store().totalCount(o).done(function(n){f.totalCount=n,s()}).fail(function(){})}var r=this,e=t.data,f=t.extra,o=t.storeLoadOptions;r._disposed||(e=r._transformLoadedData(e),n.isPlainObject(f)||(f={}),r._items=e,(!e.length||!r._paginate||r._pageSize&&e.length<r._pageSize)&&(r._isLastPage=!0),o.requireTotalCount&&!isFinite(f.totalCount)?h():s())},_transformLoadedData:function(t){var i=n.makeArray(t);return this._mapFunc&&(i=v(i,this._mapFunc,this.group())),this._postProcessFunc&&(i=this._postProcessFunc(i)),i}}).include(t.EventsMixin);n.extend(!0,r,{DataSource:y,utils:{storeTypeRegistry:s,normalizeDataSourceOptions:h}})}(jQuery,DevExpress),function(n,t){if(t.support.hasKo&&t.compareVersions(ko.version,[2,3])<0)throw t.Error("E0013");}(jQuery,DevExpress),function(n,t){t.support.hasNg&&(t.ng={module:window.angular.module("dx",["ngSanitize"])})}(jQuery,DevExpress),function(n,t,i){var u=t.utils,r=t.data.utils,f=t.inflector,e=t.Class.inherit({NAME:"Component",_setDeprecatedOptions:function(){this._deprecatedOptions={}},_getDeprecatedOptions:function(){return this._deprecatedOptions},_setOptionAliases:function(){var t=this._optionAliases={};n.each(this._getDeprecatedOptions(),function(n,i){var r=i.alias;r&&(t[n]=r)})},_getOptionAliases:function(){return this._optionAliases},_getOptionAliasesByName:function(t){return n.map(this._getOptionAliases(),function(n,r){return t===n?r:i})},_setDefaultOptions:function(){this.option({onInitialized:null,onOptionChanged:null,onDisposing:null,defaultOptionsRules:null})},_defaultOptionsRules:function(){return[]},_setOptionsByDevice:function(t){var i=this._defaultOptionsRules();this._customRules&&(i=i.concat(this._customRules)),n.isArray(t)&&(i=i.concat(t)),this.option(this._convertRulesToOptions(i))},_convertRulesToOptions:function(i){var r={},f=t.devices.current(),e=function(t,i){return i=n.makeArray(i),i.length===1&&n.isEmptyObject(i[0])||u.findBestMatches(t,i).length>0};return n.each(i,function(t,i){var u=i.device||{},o;o=n.isFunction(u)?u(f):e(f,u),o&&n.extend(r,i.options)}),r},_isInitialOptionValue:function(n){var t=this._customRules&&this._convertRulesToOptions(this._customRules).hasOwnProperty(n),i=this.option(n)===this._initialOptions[n];return!t&&i},_setOptionsByReference:function(){this._optionsByReference={}},_getOptionsByReference:function(){return this._optionsByReference},ctor:function(i){i=i||{},this._options={},this._cachedGetters={},this._updateLockCount=0,this._optionChangedCallbacks=i._optionChangedCallbacks||n.Callbacks(),this._disposingCallbacks=i._disposingCallbacks||n.Callbacks(),this.optionChanged=n.Callbacks(),this.disposing=n.Callbacks(),n.each(["optionChanged","disposing"],n.proxy(function(n,i){var r=this,u=this[i].add;this[i].add=function(){return t.log("W0003",r.NAME,i,"14.2","Use the '"+i+"' event instead"),u.apply(this,arguments)}},this)),this.beginUpdate();try{this._suppressDeprecatedWarnings(),this._setOptionsByReference(),this._setDeprecatedOptions(),this._setOptionAliases(),this._setDefaultOptions(),this._setOptionsByDevice(i.defaultOptionsRules),this._resumeDeprecatedWarnings(),this._initialOptions=n.extend({},this.option()),this._initOptions(i)}finally{this.endUpdate()}},_initOptions:function(n){this.option(n)},_optionValuesEqual:function(n,t,i){if(t=r.toComparable(t,!0),i=r.toComparable(i,!0),t&&i&&t.jquery&&i.jquery)return i.is(t);var u=t!==t,f=i!==i;return u&&f?!0:t===null||typeof t!="object"?t===i:!1},_init:function(){this._createOptionChangedAction(),this._createDisposingAction();this.on("optionChanged",function(n){this._optionChangedCallbacks.fireWith(this,[n])});this.on("disposing",function(n){this._disposingCallbacks.fireWith(this,[n])})},_createOptionChangedAction:function(){this._optionChangedAction=this._createActionByOption("onOptionChanged",{excludeValidators:["disabled","readOnly"]})},_createDisposingAction:function(){this._disposingAction=this._createActionByOption("onDisposing",{excludeValidators:["disabled","readOnly"]})},_optionChanged:function(n){switch(n.name){case"onOptionChanged":this._createOptionChangedAction();break;case"onDisposing":this._createDisposingAction()}},_dispose:function(){this.optionChanged.empty(),this.disposing.fireWith(this).empty(),this._disposingAction(),this._disposeEvents(),this._disposed=!0},instance:function(){return this},beginUpdate:function(){this._updateLockCount++},endUpdate:function(){if(this._updateLockCount--,!this._updateLockCount&&!this._initializing&&!this._initialized){this._initializing=!0;try{this._init()}finally{this._initializing=!1,this._initialized=!0,this._createActionByOption("onInitialized")()}}},_logWarningIfDeprecated:function(){},_suppressDeprecatedWarnings:function(){},_resumeDeprecatedWarnings:function(){},_notifyOptionChanged:function(t,i,r){var u=this;this._initialized&&n.each(u._getOptionAliasesByName(t).concat([t]),function(t,f){var e={name:f.split(/[.\[]/)[0],fullName:f,value:i,previousValue:r};u.optionChanged.fireWith(u,[e.name,i,r]),u._optionChangedAction(n.extend({},e)),u._disposed||u._optionChanged(e)})},initialOption:function(n){var t=this._initialOptions;return t[n]},_defaultActionConfig:function(){return{context:this,component:this}},_defaultActionArgs:function(){return{component:this}},_createAction:function(i,r){var u=this,f=new t.Action(i,n.extend(r,u._defaultActionConfig()));return function(t){return arguments.length||(t={}),n.isPlainObject(t)||(t={actionValue:t}),f.execute.call(f,n.extend(t,u._defaultActionArgs()))}},_createActionByOption:function(i,r){var u,e;if(r=r||{},typeof i!="string")throw t.Error("E0008");if(u=/^on(\w+)/.exec(i),u){var o=f.camelize(u[1]),s=r.afterExecute||n.noop,h=this;r.afterExecute=function(n){return h.fireEvent(o,n.args),s.apply(this,arguments)}}return this._suppressDeprecatedWarnings(),e=this._createAction(this.option(i),r),this._resumeDeprecatedWarnings(),e},option:function(t){var i=this,u=t,s=arguments[1],f=this._getOptionAliases(),e=function(n){return n&&(i._logWarningIfDeprecated(n),f[n]&&(n=f[n])),n},o=function(n,t){return i._cachedGetters[n]||(i._cachedGetters[n]=r.compileGetter(n)),i._cachedGetters[n](i._options,{functionsAsIs:!0,unwrapObservables:t})};if(arguments.length<2&&n.type(u)!=="object")return u=e(u),o(u);typeof u=="string"&&(t={},t[u]=s),i.beginUpdate();try{n.each(t,function(n,t){n=e(n);var u=o(n,!1);i._optionValuesEqual(n,u,t)||(r.compileSetter(n)(i._options,t,{functionsAsIs:!0,merge:!i._getOptionsByReference()[n],unwrapObservables:!1}),i._notifyOptionChanged(n,t,u))})}finally{i.endUpdate()}}}).include(t.EventsMixin);n.extend(t,{Component:e})}(jQuery,DevExpress),function(n,t){var f={forward:" dx-forward",backward:" dx-backward",none:" dx-no-direction",undefined:" dx-no-direction"},i=function(t,i,r,u){i.each(function(){var i=e(r,u);i&&t.push({$element:n(this),animationConfig:i})})},e=function(i,r){var u,e,f,o;return typeof i=="string"&&(e=i,i=t.animationPresets.getPreset(e)),i?n.isFunction(i[r])?u=i[r]:(f="dx-"+r,u=n.extend({skipElementInitialStyles:!0},i),u.type&&u.type!=="css"||(o=u.extraCssClasses?" "+u.extraCssClasses:"",u.type="css",u.from=u.from||f+o,u.to=u.to||f+"-active")):u=undefined,u},r=function(i,r){var u=[];return n.each(i,function(i,f){var o=f.animationConfig,c=f.$element,h,e;n.isPlainObject(o)?(e=s(o,r),e.staggerDelay=e.staggerDelay||0,e.delay=i*e.staggerDelay+e.delay,h=t.fx.createAnimation(c,e)):n.isFunction(o)&&(h=o(c,r)),h.setup(),u.push({$element:c,animationInstance:h})}),u},o=function(n){for(var t=0;t<n.length;t++)n[t].animationInstance.start()},s=function(n,t){var i=n,r,u;return i.cleanupWhen=t.cleanupWhen,i.delay=i.delay||0,i.type==="css"&&(r=n.direction||t.direction,u=f[r],i.from+=u),i},h=DevExpress.Class.inherit({ctor:function(){this.toEnterItems=[],this.toLeaveItems=[],this.reset()},reset:function(){this.toEnterItems.length=0,this.toLeaveItems.length=0},enter:function(n,t){t=t||{},i(this.toEnterItems,n,t,"enter")},leave:function(n,t){t=t||{},i(this.toLeaveItems,n,t,"leave")},start:function(i){var f,e,u,h,s;return i=n.extend({},i),f=this,this.toEnterItems.length||this.toLeaveItems.length?(u=[],s=n.Deferred(),i.cleanupWhen=s.promise(),u.push.apply(u,r(this.toEnterItems,i)),u.push.apply(u,r(this.toLeaveItems,i)),h=n.map(u,function(n){return n.animationInstance.deferred}),e=n.when.apply(n,h).always(function(){s.resolve(),f.reset()}),t.utils.executeAsync(function(){o(u)})):(f.reset(),e=n.Deferred().resolve().promise()),e}}),c="preset_",u=DevExpress.Component.inherit({ctor:function(){this.callBase.apply(this,arguments),this._customRules=[],this._registeredPresets=[],this.resetToDefaults()},_setDefaultOptions:function(){this.callBase(),this.option({defaultAnimationDuration:400,defaultAnimationDelay:0,defaultStaggerAnimationDuration:300,defaultStaggerAnimationDelay:40,defaultStaggerAnimationStartDelay:500})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.phone},options:{defaultStaggerAnimationDuration:350,defaultStaggerAnimationDelay:50,defaultStaggerAnimationStartDelay:0}},{device:function(n){return n.android},options:{defaultAnimationDelay:100}}])},_getPresetOptionName:function(n){return c+n},resetToDefaults:function(){this.clear(),this.registerDefaultPresets(),this.applyChanges()},clear:function(t){var i=this,r=[];n.each(this._registeredPresets,function(n,u){t&&t!==u.name?r.push(u):i.option(i._getPresetOptionName(u.name),undefined)}),this._registeredPresets=r,this.applyChanges()},registerPreset:function(n,t){this._registeredPresets.push({name:n,config:t})},applyChanges:function(){var t=this;this._customRules.length=0,n.each(this._registeredPresets,function(n,i){var r={device:i.config.device,options:{}};r.options[t._getPresetOptionName(i.name)]=i.config.animation,t._customRules.push(r)}),this._setOptionsByDevice()},getPreset:function(n){for(var t=n;typeof t=="string";)t=this.option(this._getPresetOptionName(t));return t},registerDefaultPresets:function(){this.registerPreset("fade",{animation:{extraCssClasses:"dx-fade-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}}),this.registerPreset("slide",{animation:{extraCssClasses:"dx-slide-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}}),this.registerPreset("ios7-slide",{animation:{extraCssClasses:"dx-ios7-slide-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}}),this.registerPreset("overflow",{animation:{extraCssClasses:"dx-overflow-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}}),this.registerPreset("ios7-toolbar",{animation:{extraCssClasses:"dx-ios7-toolbar-animation",delay:this.option("defaultAnimationDelay"),duration:this.option("defaultAnimationDuration")}}),this.registerPreset("stagger-fade",{animation:{extraCssClasses:"dx-fade-animation",staggerDelay:this.option("defaultStaggerAnimationDelay"),duration:this.option("defaultStaggerAnimationDuration"),delay:this.option("defaultStaggerAnimationStartDelay")}}),this.registerPreset("stagger-slide",{animation:{extraCssClasses:"dx-slide-animation",staggerDelay:this.option("defaultStaggerAnimationDelay"),duration:this.option("defaultStaggerAnimationDuration"),delay:this.option("defaultStaggerAnimationStartDelay")}}),this.registerPreset("stagger-fade-slide",{animation:{extraCssClasses:"dx-fade-slide-animation",staggerDelay:this.option("defaultStaggerAnimationDelay"),duration:this.option("defaultStaggerAnimationDuration"),delay:this.option("defaultStaggerAnimationStartDelay")}}),this.registerPreset("stagger-drop",{animation:{extraCssClasses:"dx-drop-animation",staggerDelay:this.option("defaultStaggerAnimationDelay"),duration:this.option("defaultStaggerAnimationDuration"),delay:this.option("defaultStaggerAnimationStartDelay")}}),this.registerPreset("stagger-fade-drop",{animation:{extraCssClasses:"dx-fade-drop-animation",staggerDelay:this.option("defaultStaggerAnimationDelay"),duration:this.option("defaultStaggerAnimationDuration"),delay:this.option("defaultStaggerAnimationStartDelay")}}),this.registerPreset("stagger-3d-drop",{animation:{extraCssClasses:"dx-3d-drop-animation",staggerDelay:this.option("defaultStaggerAnimationDelay"),duration:this.option("defaultStaggerAnimationDuration"),delay:this.option("defaultStaggerAnimationStartDelay")}}),this.registerPreset("stagger-fade-zoom",{animation:{extraCssClasses:"dx-fade-zoom-animation",staggerDelay:this.option("defaultStaggerAnimationDelay"),duration:this.option("defaultStaggerAnimationDuration"),delay:this.option("defaultStaggerAnimationStartDelay")}})}});t.TransitionExecutor=h,t.AnimationPresetCollection=u,t.animationPresets=new u}(jQuery,DevExpress),function(n,t,i){var f=t.utils.windowResizeCallbacks,o="dx-rtl",r="dxComponents",s="dx-visibility-change-handler",u="dxVisibilityChange",h=t.Component.inherit({NAME:"DOMComponent",_setDefaultOptions:function(){this.callBase(),this.option({width:i,height:i,rtlEnabled:t.rtlEnabled})},ctor:function(t,i){this._$element=n(t),this.element().data(this.NAME,this),this._attachInstanceToElement(this._$element),this.callBase(i)},_attachInstanceToElement:n.noop,_visibilityChanged:t.abstract,_dimensionChanged:t.abstract,_init:function(){this.callBase(),this._attachWindowResizeCallback()},_attachWindowResizeCallback:function(){if(this._isDimensionChangeSupported()){var t=this._windowResizeCallBack=n.proxy(this._dimensionChanged,this);f.add(t)}},_isDimensionChangeSupported:function(){return this._dimensionChanged!==t.abstract},_render:function(){this._toggleRTLDirection(this.option("rtlEnabled")),this._renderVisibilityChange(),this._renderDimensions()},_renderVisibilityChange:function(){this._isVisibilityChangeSupported()&&(this.element().addClass(s),this._attachVisiblityChangeHandlers())},_renderDimensions:function(){var t=this.option("width"),i=this.option("height"),n=this.element();n.outerWidth(t),n.outerHeight(i)},_attachVisiblityChangeHandlers:function(){var n=this;n.element().off("."+u).on("dxhiding."+u,function(){n._visibilityChanged(!1)}).on("dxshown."+u,function(){n._visibilityChanged(!0)})},_isVisibilityChangeSupported:function(){return this._visibilityChanged!==t.abstract},_clean:n.noop,_modelByElement:n.noop,_invalidate:function(){this._requireRefresh=!0},_refresh:function(){this._clean(),this._render()},_dispose:function(){this.callBase(),this._clean(),this._detachWindowResizeCallback()},_detachWindowResizeCallback:function(){this._isDimensionChangeSupported()&&f.remove(this._windowResizeCallBack)},_toggleRTLDirection:function(n){this.element().toggleClass(o,n)},_createComponent:function(t,i,r){r=r||{},this._extendConfig(r,{rtlEnabled:this.option("rtlEnabled")});var u=n(t)[i](r);return u[i]("instance")},_extendConfig:function(t,i){n.each(i,function(n,i){t[n]=t.hasOwnProperty(n)?t[n]:i})},_defaultActionConfig:function(){return n.extend(this.callBase(),{context:this._modelByElement(this.element())})},_defaultActionArgs:function(){var t=this.element(),i=this._modelByElement(this.element());return n.extend(this.callBase(),{element:t,model:i})},_optionChanged:function(n){switch(n.name){case"width":case"height":this._renderDimensions();break;case"rtlEnabled":this._invalidate();break;default:this.callBase(n)}},endUpdate:function(){var n=!this._initializing&&!this._initialized;this.callBase.apply(this,arguments),this._updateLockCount||(n?this._render():this._requireRefresh&&(this._requireRefresh=!1,this._refresh()))},element:function(){return this._$element}}),e=function(u,f,e){e||(e=f,f=t),e.redefine({_attachInstanceToElement:function(n){n.data(u,this),n.data(r)||n.data(r,[]),n.data(r).push(u)}}),f[u]=e,e.prototype.NAME=u,e.defaultOptions=function(n){e.prototype._customRules=e.prototype._customRules||[],e.prototype._customRules.push(n)},n.fn[u]=function(r){var h=typeof r=="string",f,o,s;return h?(o=r,s=n.makeArray(arguments).slice(1),this.each(function(){var r=n(this).data(u),e,h;if(!r)throw t.Error("E0009",u);e=r[o],h=e.apply(r,s),f===i&&(f=h)})):(this.each(function(){var t=n(this).data(u);t?t.option(r):new e(this,r)}),f=this),f}},c=function(t){t=n(t);var i=t.data(r);return i?n.map(i,function(n){return t.data(n)}):[]},l=function(){n.each(c(this),function(){this._dispose()})},a=n.cleanData;n.cleanData=function(t){return n.each(t,l),a.apply(this,arguments)},e("DOMComponent",h),t.registerComponent=e}(jQuery,DevExpress),function(n,t){t.ui={};var r=function(n){return function(t){if(t.args.length){var i=t.args[0],r=i[t.validatingTargetName]||i.element;r&&n(r)&&(t.cancel=!0)}}};t.registerActionExecutor({designMode:{validate:function(n){t.designMode&&(n.cancel=!0)}},disabled:{validate:r(function(n){return n.is(".dx-state-disabled, .dx-state-disabled *")})},readOnly:{validate:r(function(n){return n.is(".dx-state-readonly, .dx-state-readonly *")})}})}(jQuery,DevExpress),function(n,t,i){var u=t.ui,f=t.utils.triggerShownEvent,r=function(n){return n.prototype.NAME},e=t.Class.inherit({ctor:function(){this.widgetTemplatesCache={}},createTemplate:t.abstract,getTemplates:function(n){return this._getWidgetTemplates(n.constructor)},_getWidgetTemplates:function(n){return r(n)?this._getCachedWidgetTemplates(n):{}},_getCachedWidgetTemplates:function(t){var i=r(t),u=this.widgetTemplatesCache;return u[i]||(u[i]=n.extend({},this._getWidgetTemplates(t.parent),this._templatesForWidget(i))),u[i]},_templatesForWidget:t.abstract}),o=t.Class.inherit({ctor:function(t,i){this._element=n(t),this._owner=i},owner:function(){return this._owner},render:function(t,r,u){t instanceof jQuery&&(r=t,t=i),r&&(t=this._prepareDataForContainer(t,r));var e=this._renderCore(t,u,r);return this._shouldAppend&&r&&(r.append(e),n.contains(document.body,r.get(0))&&f(e)),e},source:function(){return this._element.clone()},_prepareDataForContainer:function(n){return n},_renderCore:t.abstract,_shouldAppend:!0,dispose:function(){this._owner=null}});n.extend(u,{TemplateProviderBase:e,TemplateBase:o})}(jQuery,DevExpress),function(n,t,i){var f=t.ui,o=t.utils,g=t.utils.isString,s,l={},nt=f.TemplateBase.inherit({ctor:function(n,t){this.callBase(n,t),this._compiledTemplate=s.compile(n)},_renderCore:function(t){return n("<div>").append(s.render(this._compiledTemplate,t)).contents()}}),a=function(n){if(g(n)){if(s=l[n],!s)throw t.Error("E0020",n);}else s=n},u=function(n,t){l[n]=t},e=function(t){return t=n(t),t.length&&t[0].nodeName.toLowerCase()==="script"||(t=n("<div>").append(t)),t.html()},y,b,k,d,c;u("default",{compile:function(n){return t.utils.normalizeTemplateElement(n)},render:function(n){return n.clone()}}),u("jquery-tmpl",{compile:function(i){return n("<div>").append(t.utils.normalizeTemplateElement(i))},render:function(n,t){return n.tmpl(t)}}),u("jsrender",{compile:function(t){return n.templates(e(t))},render:function(n,t){return n.render(t)}}),u("mustache",{compile:function(n){return Mustache.compile(e(n))},render:function(n,t){return n(t)}}),u("hogan",{compile:function(n){return Hogan.compile(e(n))},render:function(n,t){return n.render(t)}}),u("underscore",{compile:function(n){return _.template(e(n))},render:function(n,t){return n(t)}}),u("handlebars",{compile:function(n){return Handlebars.compile(e(n))},render:function(n,t){return n(t)}}),u("doT",{compile:function(n){return doT.template(e(n))},render:function(n,t){return n(t)}}),a("default");var tt=f.TemplateBase.inherit({ctor:function(t,i){this.callBase(n("<div>"),i),this._render=t},_renderCore:function(n,i,r){return t.utils.normalizeTemplateElement(this._render(n,i,r))}}),v=new(f.TemplateProviderBase.inherit({createTemplate:function(n,t){return new f.Template(n,t)},_templatesForWidget:function(t){var u=r[t]||{},i={};return n.each(u,function(n,t){i[n]=new f.DefaultTemplate(function(){var i=t.apply(this,arguments);return n!=="itemFrame"&&(i=i.contents()),i},v)}),i}})),r={},h=function(){return n()},it="dx-item-content-placeholder";r.CollectionWidget={item:function(t){var i=n("<div>");return n.isPlainObject(t)?(t.text&&i.text(t.text),t.html&&i.html(t.html)):i.html(String(t)),i},itemFrame:function(t){var r=n("<div>"),u;return r.toggleClass("dx-state-invisible",t.visible!==i&&!t.visible),r.toggleClass("dx-state-disabled",!!t.disabled),u=n("<div>").addClass(it),r.append(u),r}},y="dx-button-text",r.dxButton={content:function(t){var r=n("<div>"),u=o.getImageContainer(t.icon),f=t.text?n("<span>").text(t.text).addClass(y):i;return r.append(u).append(f),r}};var rt="dx-list-item-badge-container",ut="dx-list-item-badge",p="dx-badge",ft="dx-list-item-chevron-container",et="dx-list-item-chevron";r.dxList={item:function(t){var i=r.CollectionWidget.item(t),u;return t.key&&(u=n("<div>").text(t.key),u.appendTo(i)),i},itemFrame:function(t){var i=r.CollectionWidget.itemFrame(t),f,u,e,o;return t.badge&&(f=n("<div>").addClass(rt),u=n("<div>").addClass(ut).addClass(p),u.text(t.badge),f.append(u).appendTo(i)),t.showChevron&&(e=n("<div>").addClass(ft),o=n("<div>").addClass(et),e.append(o).appendTo(i)),i},group:function(t){var i=n("<div>");return n.isPlainObject(t)?t.key&&i.text(t.key):i.html(String(t)),i}},r.dxDropDownMenu={item:r.dxList.item},r.dxDropDownList={item:r.dxList.item},r.dxRadioGroup={item:r.CollectionWidget.item},r.dxScheduler={item:function(i){var u=r.CollectionWidget.item(i),f=n("<div>").addClass("dx-scheduler-appointment-content-details");return i.startDate&&n("<strong>").text(Globalize.format(t.utils.makeDate(i.startDate),"t")).appendTo(f),i.endDate&&n("<strong>").text(" - "+Globalize.format(t.utils.makeDate(i.endDate),"t")).appendTo(f),f.appendTo(u),i.recurrenceRule&&n("<span>").addClass("dx-scheduler-appointment-recurrence-icon").appendTo(u),u}},r.dxOverlay={content:h},r.dxSlideOutView={menu:h,content:h},r.dxSlideOut={menuItem:r.dxList.item,menuGroup:r.dxList.group,content:h},r.dxAccordion={title:function(t){var i=n("<div>"),u=t.icon,f=t.iconSrc,r=o.getImageContainer(u||f);return n.isPlainObject(t)?t.title&&i.text(t.title):i.html(String(t)),r&&r.prependTo(i),i},item:r.CollectionWidget.item},r.dxActionSheet={item:function(t){return n("<div>").append(n("<div>").dxButton(n.extend({onClick:t.click},t)))}},r.dxGallery={item:function(t){var i=n("<div>");return t.imageSrc?n("<img>").attr("src",t.imageSrc).appendTo(i):n("<img>").attr("src",String(t)).appendTo(i),i}};var w="dx-menu-item-text",ot="dx-menu-item-popout",st="dx-menu-item-popout-container";r.dxMenuBase={item:function(t){var i=n("<div>"),e=t.icon,s=t.iconSrc,u=o.getImageContainer(e||s),r,h,f;return u&&u.appendTo(i),n.isPlainObject(t)&&t.text?r=n("<span>").addClass(w).text(t.text):n.isPlainObject(t)||(r=n("<span>").addClass(w).html(String(t))),i.append(r),t.items&&t.items.length>0&&(f=n("<span>").addClass(st).appendTo(i),h=n("<div>").addClass(ot).appendTo(f)),i}},b="dx-panorama-item-title",r.dxPanorama={itemFrame:function(t){var i=r.CollectionWidget.itemFrame(t),u;return t.title&&(u=n("<div>").addClass(b).text(t.title),i.prepend(u)),i}},r.dxPivotTabs={item:function(t){var r=n("<div>"),i;return i=n.isPlainObject(t)?n("<span>").text(t.title):n("<span>").text(String(t)),r.html(i),r}},r.dxPivot={title:r.dxPivotTabs.item,content:h},k="dx-tab-text",r.dxTabs={item:function(t){var i=r.CollectionWidget.item(t);if(t.html)return i;var f=t.icon,e=t.iconSrc,u=o.getImageContainer(f||e);return t.html||i.wrapInner(n("<span>").addClass(k)),u&&u.prependTo(i),i},itemFrame:function(t){var i=n(),u=r.CollectionWidget.itemFrame(t);return t.badge&&(i=n("<div>",{"class":"dx-tabs-item-badge dx-badge"}).text(t.badge)),u.append(i),u}},r.dxTabPanel={item:r.CollectionWidget.item,title:function(t){var i=t,u;return n.isPlainObject(t)&&(i=n.extend({},t,{text:t.title})),u=r.dxTabs.item(i)}},d="dx-navbar-item-badge",r.dxNavBar={itemFrame:function(t){var u=r.CollectionWidget.itemFrame(t),i;return t.badge&&(i=n("<div>").addClass(d).addClass(p),i.text(t.badge),i.appendTo(u)),u}},r.dxToolbar={item:function(i){var u=r.CollectionWidget.item(i),f=i.widget;if(f){var e=n("<div>").appendTo(u),o=t.inflector.camelize("dx-"+f),s=i.options||{};e[o](s)}else i.text&&u.wrapInner("<div>");return u},menuItem:r.dxList.item,actionSheetItem:r.dxActionSheet.item},r.dxTreeView={item:function(t){var i=n("<div>"),u=t.icon,f=t.iconSrc,r=o.getImageContainer(u||f);return t.html?i.html(t.html):(r&&r.appendTo(i),n("<span>").text(t.text).appendTo(i)),i}},c=function(t){return n("<div>").append(n("<div>").dxToolbar({items:t}))},r.dxPopup={title:c,bottom:c},r.dxLookup={title:r.dxPopup.title,group:r.dxList.group},r.dxTagBox={tag:function(t){return n("<div>").append(n("<span>").text(t))}},r.dxCalendar={cell:function(t){return n("<div>").text(t.text||String(t))}},n.extend(f,{TemplateProvider:v,Template:nt,DefaultTemplate:tt,setTemplateEngine:a})}(jQuery,DevExpress),function(n,t,i){var s,h,u,c,l,a;if(t.support.hasKo){var r=window.ko,f=t.ui,e="dxKoLocks",y="dxKoCreation",p=function(){var n={},t=function(t){return n[t]||0};return{obtain:function(i){n[i]=t(i)+1},release:function(i){var r=t(i);r===1?delete n[i]:n[i]=r-1},locked:function(n){return t(n)>0}}},o=[],w=function(t,i){i.subclassOf(f.Editor)&&o.push(t),r.bindingHandlers[t]={init:function(u,o){var s=n(u),l=n.Callbacks(),h={templateProvider:f.KoTemplateProvider,_optionChangedCallbacks:l},c={},v=function(n,i){var f=s.data(t),u=s.data(e),o=r.unwrap(i);if(r.isWriteableObservable(i)&&(c[n]=i),f){if(u.locked(n))return;u.obtain(n);try{f.option(n,o)}finally{u.release(n)}}else h[n]=o},w=function(n){var t=n.fullName,u=n.value,r,i;if(t in c&&(r=this._$element,i=r.data(e),!i.locked(t))){i.obtain(t);try{c[t](u)}finally{i.release(t)}}},b=function(){l.add(w),s.data(y,!0).data(e,new p)[t](h),h=null},a=function(t,i){var f;r.computed(function(){v(t,i),f=r.unwrap(i)},null,{disposeWhenNodeIsRemoved:u}),n.isPlainObject(f)&&n.each(f,function(n,i){a(t+"."+n,i)})};return r.computed(function(){var i=s.data(t);i&&i.beginUpdate(),n.each(r.unwrap(o()),function(n,t){a(n,t)}),i?i.endUpdate():b()},null,{disposeWhenNodeIsRemoved:u}),{controlsDescendantBindings:i.subclassOf(f.Widget)}}},t==="dxValidator"&&(r.bindingHandlers.dxValidator.after=o)};t.DOMComponent.redefine({_modelByElement:function(n){if(n.length)return r.dataFor(n.get(0))}}),s=t.registerComponent,h=function(n,t,i){i=i||t,s.apply(this,arguments),w(n,i)},t.registerComponent=h,u=function(n,t){var i=function(){r.cleanNode(this)};t?n.each(i):n.find("*").each(i)},c=n.fn.empty,n.fn.empty=function(){return u(this,!1),c.apply(this,arguments)},l=n.fn.remove,n.fn.remove=function(n,t){if(!t){var i=this;n&&(i=i.filter(n)),u(i,!0)}return l.call(this,n,t)},a=n.fn.html,n.fn.html=function(n){return typeof n=="string"&&u(this,!1),a.apply(this,arguments)},r.bindingHandlers.dxAction={update:function(i,u,f,e){var h=n(i),o=r.utils.unwrapObservable(u()),c=o,s={context:i},l;o.execute&&(c=o.execute,n.extend(s,o)),l=new t.Action(c,s);h.off(".dxActionBinding").on("dxclick.dxActionBinding",function(n){l.execute({element:h,model:e,evaluate:function(n){var u=e,f;return n.length>0&&n[0]==="$"&&(u=r.contextFor(i)),f=t.data.utils.compileGetter(n),f(u)},jQueryEvent:n}),s.bubbling||n.stopPropagation()})}},r.bindingHandlers.dxControlsDescendantBindings={init:function(n,t){return{controlsDescendantBindings:r.unwrap(t())}}};var b=function(i,r,u,f){var e=n.Deferred();return i.removeClass("dx-pending-rendering-manual"),i.addClass("dx-pending-rendering-active"),r.showLoadIndicator&&r.showLoadIndicatorImmediately!==!0&&v(i),t.utils.executeAsync(function(){d(i,r,u,f).done(function(){var n={element:i};r.onShown&&r.onShown.apply(u,[n]),e.resolve(n)}).fail(function(){e.rejectWith(e,arguments)})}),e.promise()},v=function(t){var i=n("<div/>").dxLoadIndicator({visible:!0}).addClass("dx-defered-rendering-load-indicator");t.append(i)},k=function(n){var t=n.getBoundingClientRect();return t.bottom>=0&&t.right>=0&&t.top<=(window.innerHeight||document.documentElement.clientHeight)&&t.left<=(window.innerWidth||document.documentElement.clientWidth)},d=function(i,u,f,e){var o,c=e.createChildContext(f),h={element:i},s;return i.find(".dx-defered-rendering-load-indicator").remove(),r.applyBindingsToDescendants(c,i[0]),u._renderedDeferred.resolve(h),u.onRendered&&u.onRendered.apply(f,[h]),i.children().removeClass("dx-invisible-while-pending-rendering"),t.utils.triggerShownEvent(i.children()),i.removeClass("dx-pending-rendering"),i.removeClass("dx-pending-rendering-active"),u.animation?(s=new t.TransitionExecutor,u.staggerItemSelector?(i.find(u.staggerItemSelector).each(function(){k(this)&&s.enter(n(this),u.animation)}),o=n.when(o,s.start())):(s.enter(i,u.animation||"content-rendered"),o=s.start())):o=n.Deferred().resolve().promise(),o},g=function(n,t){n.addClass("dx-defer-rendering dx-pending-rendering dx-loadindicator-container"),n.data("dx-rendered-promise",t._renderedDeferred.promise()),t.hiddenUntilRendered&&n.children().addClass("dx-invisible-while-pending-rendering"),t.showLoadIndicator&&t.showLoadIndicatorImmediately&&v(n)},nt=function(n,t,i,r){var u=function(){return b(n,t,i,r)};t.renderWhen?t.renderWhen.done(u):(n.data("dx-render-delegate",u),n.addClass("dx-pending-rendering-manual"))};r.bindingHandlers.dxDeferRendering={init:function(t,u,f,e,o){var h=n(t),s=r.unwrap(u()),c=r.unwrap(s.showLoadIndicatorImmediately),l=r.unwrap(s.hiddenUntilRendered),a={showLoadIndicator:r.unwrap(s.showLoadIndicator)||!1,showLoadIndicatorImmediately:c!==i?c:!0,hiddenUntilRendered:l!==i?l:!0,renderWhen:r.unwrap(s.renderWhen),animation:r.unwrap(s.animation),staggerItemSelector:r.unwrap(s.staggerItemSelector),onRendered:r.unwrap(s.onRendered),onShown:r.unwrap(s.onShown),_renderedDeferred:n.Deferred()};return g(h,a),nt(h,a,e,o),{controlsDescendantBindings:!0}}},r.bindingHandlers.dxIcon={init:function(n,t){var o=r.utils.unwrapObservable(t())||{},e=DevExpress.utils.getImageContainer(o);r.virtualElements.emptyNode(n),e&&r.virtualElements.prepend(n,e.get(0))},update:function(n,t){var o=r.utils.unwrapObservable(t())||{},e=DevExpress.utils.getImageContainer(o);r.virtualElements.emptyNode(n),e&&r.virtualElements.prepend(n,e.get(0))}},r.virtualElements.allowedBindings.dxIcon=!0}}(jQuery,DevExpress),function(n,t,i){if(t.support.hasNg){var r=t.ui,s=t.data.utils.compileSetter,u=t.data.utils.compileGetter,a="dxItemAlias",h="scopeValue",v=["rendering"],f=t.ng.module,c=function(n,t){t.$root.$$phase?n(t):t.$apply(function(){n(t)})},e=t.Class.inherit({ctor:function(t){this._$element=t.$element,this._$templates=t.$templates,this._componentClass=t.componentClass,this._scope=t.scope,this._parse=t.parse,this._compile=t.compile,this._ngOptions=this._normalizeOptions(t.ngOptions),this._itemAlias=t.itemAlias,this._componentDisposing=n.Callbacks(),t.ngOptions.data&&this._initDataScope(t.ngOptions.data)},_normalizeOptions:function(t){var i=n.extend({},t);return t.bindingOptions&&n.each(t.bindingOptions,function(t,r){n.type(r)==="string"&&(i.bindingOptions[t]={dataPath:r})}),i},initComponentWithBindings:function(){this._initComponentBindings(),this._initComponent(this._scope),this._shownEventTimer=setTimeout(n.proxy(function(){t.utils.triggerShownEvent(this._$element)},this))},_initDataScope:function(t){if(typeof t=="string"){var r=t,i=this._scope;t=i.$eval(t),this._scope=i.$new(),this._synchronizeDataScopes(i,this._scope,t,r)}n.extend(this._scope,t)},_synchronizeDataScopes:function(t,i,r,u){var f=this;n.each(r,function(n){f._synchronizeScopeField({parentScope:t,childScope:i,fieldPath:n,parentPrefix:u})})},_initComponent:function(n){this._component=new this._componentClass(this._$element,this._evalOptions(n))},_initComponentBindings:function(){var t=this,r={};t._disposingCallbacks=n.Callbacks(),t._ngOptions.bindingOptions&&n.each(t._ngOptions.bindingOptions,function(u,f){var c=u.search(/\[|\./),o=c>-1?u.substring(0,c):u,l,e,s=f.dataPath,a=!0,v=!1,y,h;f.deep!==i&&(v=a=!!f.deep),r[o]||(r[o]={}),r[o][u]=s,y=function(n,i){n!==i&&(t._component.option(u,n),h())},h=function(){var i=n.isArray(t._scope.$eval(s))&&!v?"$watchCollection":"$watch";l!==i&&(e&&e(),e=t._scope[i](s,y,a),l=i)},h(),t._disposingCallbacks.add(function(){e(),t._componentDisposing.fire()})}),t._optionChangedCallbacks=n.Callbacks().add(function(i){var f=i.name,e=i.value;t._scope.$root.$$phase!=="$digest"&&r&&r[f]&&c(function(){n.each(r[f],function(n,i){var o=u(n),r={};r[f]=e,t._parse(i).assign(t._scope,o(r))})},t._scope)}),t._disposingCallbacks.add(function(){clearTimeout(t._shownEventTimer)})},_compilerByTemplate:function(t){var r=this,u=this._getScopeItemsPath();return function(f,e){var s=n(t).clone(),o,h;if(f!==i){h=f.$id,o=h?f:r._createScopeWithData(f);s.on("$destroy",function(){var n=!o.$parent;n||o.$destroy()})}else o=r._scope;return u&&r._synchronizeScopes(o,u,e),c(r._compile(s),o),s}},_getScopeItemsPath:function(){if(this._componentClass.subclassOf(r.CollectionWidget)&&this._ngOptions.bindingOptions&&this._ngOptions.bindingOptions.items)return this._ngOptions.bindingOptions.items.dataPath},_createScopeWithData:function(t){var i=this._scope.$new(!0);return t=this._enshureDataIsPlainObject(t),n.extend(i,t),i},_synchronizeScopes:function(t,i,r){var f=this,e=u(i+"["+r+"]")(this._scope);e=f._enshureDataIsPlainObject(e),n.each(e,function(n){f._synchronizeScopeField({parentScope:f._scope,childScope:t,fieldPath:n,parentPrefix:i,itemIndex:r})})},_synchronizeScopeField:function(n){var r=n.parentScope,l=n.childScope,t=n.fieldPath,a=n.parentPrefix,f=n.itemIndex,p=t===(this._itemAlias||h)?"":"."+t,v=f!==i,e=[a],o,y,c;v&&e.push("[",f,"]"),e.push(p),o=e.join(""),y=r.$watch(o,function(n,i){n!==i&&s(t)(l,n)}),c=l.$watch(t,function(n,t){if(n!==t){if(v&&!u(a)(r)[f]){c();return}s(o)(r,n)}}),this._componentDisposing.add([y,c])},_evalOptions:function(t){var i=n.extend({},this._ngOptions);return delete i.data,delete i.bindingOptions,this._ngOptions.bindingOptions&&n.each(this._ngOptions.bindingOptions,function(n,r){i[n]=t.$eval(r.dataPath)}),i._optionChangedCallbacks=this._optionChangedCallbacks,i._disposingCallbacks=this._disposingCallbacks,i.templateProvider=r.NgTemplateProvider,i.templateCompiler=n.proxy(function(n){return this._compilerByTemplate(n)},this),i},_enshureDataIsPlainObject:function(t){var i;return n.isPlainObject(t)?i=t:(i={},i[h]=t),this._itemAlias&&(i[this._itemAlias]=t),i}});e=e.inherit({ctor:function(n){this.callBase.apply(this,arguments),this._componentName=n.componentName,this._ngModel=n.ngModel,this._ngModelController=n.ngModelController},_isNgModelRequired:function(){return this._componentClass.subclassOf(r.Editor)&&this._ngModel},_initComponentBindings:function(){this.callBase.apply(this,arguments),this._initNgModelBinding()},_initNgModelBinding:function(){if(this._isNgModelRequired()){var n=this,t=this._scope.$watch(this._ngModel,function(t,i){t!==i&&n._component.option(n._ngModelOption(),t)});n._optionChangedCallbacks.add(function(t){t.name===n._ngModelOption()&&n._ngModelController.$setViewValue(t.value)}),this._disposingCallbacks.add(function(){t()})}},_ngModelOption:function(){return n.inArray(this._componentName,["dxFileUploader","dxTagBox"])>-1?"values":"value"},_evalOptions:function(){if(!this._isNgModelRequired())return this.callBase.apply(this,arguments);var n=this.callBase.apply(this,arguments);return n[this._ngModelOption()]=this._parse(this._ngModel)(this._scope),n}});var y=t.DOMComponent.inherit({_modelByElement:function(n){if(n.length)return n.scope()},_createActionByOption:function(t,i){var r=this.callBase.apply(this,arguments),u,f;return i&&n.inArray(i.category,v)>-1?r:(u=this,f=function(){var t=this,n=u._modelByElement(u.element()),i=arguments;return!n||!n.$root||n.$root.$$phase?r.apply(t,i):n.$apply(function(){return r.apply(t,i)})},f)},_createComponent:function(t,i,r){return this.callBase(t,i,n.extend({templateCompiler:this.option("templateCompiler")},r))}}),o={},p=t.registerComponent,l=function(n,t,i){i=i||t,p.apply(this,arguments),o[n]||w(n),o[n]=i},w=function(n){var t=n!=="dxValidator"?1:10;f.directive(n,["$compile","$parse",function(i,u){return{restrict:"A",require:"^?ngModel",priority:t,compile:function(t){var f=o[n],s=f.subclassOf(r.Widget)?t.contents().detach():null;return function(t,r,o,h){r.append(s);var c=new e({componentClass:f,componentName:n,compile:i,parse:u,$element:r,scope:t,ngOptions:o[n]?t.$eval(o[n]):{},ngModel:o.ngModel,ngModelController:h,itemAlias:o[a]});c.initComponentWithBindings()}}}}])};f.filter("dxGlobalize",function(){return function(n,t){return Globalize.format(n,t)}}),f.directive("dxIcon",["$compile",function(n){return{restrict:"E",link:function(i,r){var f=t.utils.getImageContainer(i.icon||i.iconSrc),e;f&&(e=n(f.get(0))(i),r.replaceWith(e))}}}]),t.registerComponent=l,l("DOMComponent",y)}}(jQuery,DevExpress),function(n,t,i){var a,y,p,h;if(t.support.hasKo){var f=window.ko,o=t.ui,s=o.TemplateBase.inherit({ctor:function(i){this.callBase.apply(this,arguments),this._template=n("<div>").append(t.utils.normalizeTemplateElement(i)),this._registerKoTemplate()},_registerKoTemplate:function(){var n=this._template.get(0);new f.templateSources.anonymousTemplate(n).nodes(n)},_prepareDataForContainer:function(n,t){var u=n,e,r;return t.length&&(e=t.get(0),n=n!==i?n:f.dataFor(e)||{},r=f.contextFor(e),u=r?n===r.$data?r:r.createChildContext(n):n),u},_renderCore:function(t){var i=n("<div>"),r;return f.renderTemplate(this._template.get(0),t,null,i.get(0)),r=i.contents().detach(),i.remove(),r},dispose:function(){this.callBase(),this._template.remove()}}),c=new(o.TemplateProviderBase.inherit({createTemplate:function(n,t){return new s(n,t)},applyTemplate:function(n,t){f.applyBindings(t,n)},_templatesForWidget:function(i){var f=r[i]||{},u={};return n.each(f,function(n,i){var r=t.utils.createMarkupFromString(i());n!=="itemFrame"&&(r=r.contents()),u[n]=new s(r,c)}),u}})),u=function(t,r,u,f){u=u===i?!0:u;var e=n.map(r,function(n,t){return t+":"+n}).join(",");return f=f||"","<"+t+' data-bind="'+e+'" '+f+">"+(u?"<\/"+t+">":"")},l={css:"{ 'dx-state-disabled': $data.disabled, 'dx-state-invisible': !($data.visible === undefined || ko.unwrap($data.visible)) }"},r={},e=function(){return""};r.CollectionWidget={itemFrame:function(){var n=[u("div",l,!1),"<div class='dx-item-content-placeholder'><\/div>","<\/div>"];return n.join("")},item:function(){var n=u("div",{html:"html"}),t=u("div",{text:"text"}),i=u("div",{text:"String($data)"}),r=["<div>","<!-- ko if: $data.html && !$data.text -->",n,"<!-- /ko -->","<!-- ko if: !$data.html && $data.text -->",t,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",i,"<!-- /ko -->","<\/div>"];return r.join("")}},a="dx-button-text",r.dxButton={content:function(){var n=u("span",{text:"$data.text",css:"{ '"+a+"' : !!$data.text }"}),t=["<div>","<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->",n,"<\/div>"];return t.join("")}};var w="dx-list-item-badge-container",b="dx-list-item-badge",v="dx-badge",k="dx-list-item-chevron-container",d="dx-list-item-chevron";r.dxList={item:function(){var n=r.CollectionWidget.item(),t=u("div",{text:"key"});return n=[n.substring(0,n.length-6),"<!-- ko if: $data.key -->"+t+"<!-- /ko -->","<\/div>"],n.join("")},itemFrame:function(){var n=r.CollectionWidget.itemFrame(),t=u("div",{text:"badge"},!0,'class="'+b+" "+v+'"'),i=[n.substring(0,n.length-6),"<!-- ko if: $data.badge -->",'<div class="'+w+'">',t,"<\/div>","<!-- /ko -->","<!-- ko if: $data.showChevron -->",'<div class="'+k+'">','<div class="'+d+'"><\/div>',"<\/div>","<!-- /ko -->","<\/div>"];return i.join("")},group:function(){var n=u("div",{text:"key"}),t=u("div",{text:"String($data)"}),i=["<div>","<!-- ko if: $data.key -->",n,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",t,"<!-- /ko -->","<\/div>"];return i.join("")}},r.dxDropDownMenu={item:r.dxList.item},r.dxDropDownList={item:r.dxList.item},r.dxRadioGroup={item:r.CollectionWidget.item},r.dxScheduler={item:function(){var n=r.CollectionWidget.item(),t=u("strong",{text:"Globalize.format(DevExpress.utils.makeDate($data.startDate), 't')"}),i=u("strong",{text:"' - ' + Globalize.format(DevExpress.utils.makeDate($data.endDate), 't')"});return n=[n.substring(0,n.length-6),"<div class='dx-scheduler-appointment-content-details'>","<!-- ko if: $data.startDate -->"+t+"<!-- /ko -->","<!-- ko if: $data.endDate -->"+i+"<!-- /ko -->","<\/div>","<!-- ko if: $data.recurrenceRule --><span class='dx-scheduler-appointment-recurrence-icon'><\/span><!-- /ko -->","<\/div>"],n.join("")}},r.dxOverlay={content:e},r.dxSlideOutView={menu:e,content:e},r.dxSlideOut={menuItem:r.dxList.item,menuGroup:r.dxList.group,content:e},r.dxAccordion={title:function(){var n=u("span",{text:"$.isPlainObject($data) ? $data.title : String($data)"}),t=["<div>","<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->",n,"<\/div>"];return t.join("")},item:r.CollectionWidget.item},r.dxResponsiveBox={item:r.CollectionWidget.item},r.dxPivotTabs={item:function(){var n=u("span",{text:"title"}),t=u("div",{text:"String($data)"}),i=["<div>","<!-- ko if: $data.title -->",n,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",t,"<!-- /ko -->","<\/div>"];return i.join("")}},r.dxPivot={title:r.dxPivotTabs.item,content:e},y="dx-panorama-item-title",r.dxPanorama={itemFrame:function(){var n=r.CollectionWidget.itemFrame(),i=u("div",{text:"title"},!0,'class="'+y+'"'),t=n.indexOf(">")+1;return n=[n.substring(0,t),"<!-- ko if: $data.title -->",i,"<!-- /ko -->",n.substring(t,n.length)],n.join("")}},r.dxActionSheet={item:function(){return["<div>",u("div",{dxButton:"{ text: $data.text, onClick: $data.clickAction || $data.onClick, type: $data.type, disabled: !!ko.unwrap($data.disabled) }"}),"<\/div>"].join("")}},r.dxToolbar={item:function(){var i=r.CollectionWidget.item();return i=[i.substring(0,i.length-6),"<!-- ko if: $data.widget -->"],n.each(["button","tabs","dropDownMenu"],function(){var r=t.inflector.camelize(["dx","-",this].join("")),n={};n[r]="$data.options",i.push("<!-- ko if: $data.widget === '",this,"' -->",u("div",n),"<!-- /ko -->")}),i.push("<!-- /ko -->"),i.join("")},menuItem:r.dxList.item,actionSheetItem:r.dxActionSheet.item},r.dxGallery={item:function(){var n=r.CollectionWidget.item(),t=u("div",{text:"String($data)"}),i=u("img",{attr:"{ src: String($data) }"},!1);return n=[n.substring(0,n.length-6).replace(t,i),"<!-- ko if: $data.imageSrc -->",u("img",{attr:"{ src: $data.imageSrc }"},!1),"<!-- /ko -->"].join("")}},r.dxTabs={item:function(){var n=r.CollectionWidget.item(),t=u("div",{text:"String($data)"}),i='<span class="dx-tab-text" data-bind="text: String($data)"><\/span>',f=u("div",{text:"text"}),e='<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko --><span class="dx-tab-text" data-bind="text: $data.text"><\/span>';return n=n.replace("<!-- ko if: !$data.html && $data.text -->","<!-- ko if: !$data.html && ($data.text || $data.icon || $data.iconSrc) -->").replace(t,i).replace(f,e)},itemFrame:function(){var n=r.CollectionWidget.itemFrame(),t=u("div",{attr:"{ 'class': 'dx-tabs-item-badge dx-badge' }",text:"badge"}),i=[n.substring(0,n.length-6),"<!-- ko if: $data.badge -->",t,"<!-- /ko -->","<\/div>"];return i.join("")}},r.dxTabPanel={item:r.CollectionWidget.item,title:function(){var n=r.dxTabs.item();return n.replace(/\$data\.text/g,"$data.title")}},p="dx-navbar-item-badge",r.dxNavBar={itemFrame:function(){var n=r.CollectionWidget.itemFrame(),t=u("div",{text:"badge"},!0,'class="'+p+" "+v+'"'),i=[n.substring(0,n.length-6),"<!-- ko if: $data.badge -->",t,"<!-- /ko -->","<\/div>"];return i.join("")}},r.dxMenuBase={item:function(){var n=[u("div",l,!1)],t=u("span",{text:"text",css:"{ 'dx-menu-item-text': true }"}),i=u("span",{text:"String($data)",css:"{ 'dx-menu-item-text': true }"}),r="<span class='dx-menu-item-popout-container'><div class='dx-menu-item-popout'><\/div><\/span>";return n.push("<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->","<!-- ko if: $.isPlainObject($data) && $data.text -->",t,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",i,"<!-- /ko -->","<!-- ko if: $data.items -->",r,"<!-- /ko -->","<\/div>"),n.join("")}},r.dxTreeView={item:function(){var n=[],t=u("span",{text:"text"},!0),i=u("div",{html:"html"});return n.push("<div>","<!-- ko if: $data.html && !$data.text -->",i,"<!-- /ko -->","<!-- ko dxIcon: $data.icon || $data.iconSrc --><!-- /ko -->","<!-- ko if: !$data.html && $data.text -->"+t+"<!-- /ko -->","<\/div>"),n.join("")}},r.dxCalendar={cell:function(){var n=u("span",{text:"text"}),t=u("span",{text:"String($data)"}),i=["<div>","<!-- ko if: !$data.html && $data.text -->",n,"<!-- /ko -->","<!-- ko ifnot: $.isPlainObject($data) -->",t,"<!-- /ko -->","<\/div>"];return i.join("")}},h=function(){return["<div>",u("div",{dxToolbar:"{ items: $data }"}),"<\/div>"].join("")},r.dxPopup={title:h,bottom:h},r.dxLookup={title:r.dxPopup.title,group:r.dxList.group},r.dxTagBox={tag:function(){return["<div>",u("span",{text:"$data"})].join("")}},n.extend(o,{KoTemplateProvider:c,KoTemplate:s})}}(jQuery,DevExpress),function(n,t){var l,v,s,y,h;if(t.support.hasNg){var e=t.ui,p="dx-template-wrapper",o=e.TemplateBase.inherit({ctor:function(){this.callBase.apply(this,arguments),this.setCompiler(this._getParentTemplateCompiler())},_getParentTemplateCompiler:function(){for(var i=null,t=this.owner();!i&&t;)i=n.isFunction(t.option)?t.option("templateCompiler"):null,t=n.isFunction(t.owner)?t.owner():null;return i},_renderCore:function(t,i,r){var u=this._compiledTemplate;return n.isFunction(u)?u(t,i,r):u},setCompiler:function(n){n&&(this._compiledTemplate=n(t.utils.normalizeTemplateElement(this._element)))}}),c=new(e.TemplateProviderBase.inherit({createTemplate:function(n,t){return new o(n,t)},getTemplates:function(t){var r=t.option("templateCompiler"),i=this.callBase.apply(this,arguments);return n.each(i,function(n,t){t.setCompiler(r)}),i},_templatesForWidget:function(i){var f=r[i]||{},u={};return n.each(f,function(n,i){var r=t.utils.createMarkupFromString(i());u[n]=new o(r.wrap(),c)}),u}})),u={container:function(){return n("<div>").addClass(p)},html:function(){return n("<div>").attr("ng-if","html").attr("ng-bind-html","html")},text:function(){return n("<div>").attr("ng-if","text").attr("ng-bind","text")},primitive:function(){return n("<div>").attr("ng-if","scopeValue").attr("ng-bind-html","'' + scopeValue")}},r={},f=function(){return n()};r.CollectionWidget={item:function(){return u.container().append(u.html()).append(u.text()).append(u.primitive())},itemFrame:function(){var t=n("<div>").attr("ng-class","{ 'dx-state-invisible': !visible && visible != undefined, 'dx-state-disabled': !!disabled }"),i=n("<div>").addClass("dx-item-content-placeholder");return t.append(i),t}},l="dx-button-text",r.dxButton={content:function(){var t=n("<span>").attr("ng-bind","text").attr("ng-class","{ '"+l+"' : !!text }"),i=n("<dx-icon>");return u.container().append(i).append(t).append(u.primitive())}};var w="dx-list-item-badge-container",b="dx-list-item-badge",a="dx-badge",k="dx-list-item-chevron-container",d="dx-list-item-chevron";r.dxList={item:function(){return r.CollectionWidget.item().append(n("<div>").attr("ng-if","key").attr("ng-bind","key"))},itemFrame:function(){var t=n("<div>").addClass(w).attr("ng-if","badge"),i=n("<div>").addClass(b).addClass(a).attr("ng-bind","badge"),u=n("<div>").addClass(k).attr("ng-if","showChevron"),f=n("<div>").addClass(d);return r.CollectionWidget.itemFrame().append(t.append(i)).append(u.append(f))},group:function(){var t=n("<div>").attr("ng-if","key").attr("ng-bind","key");return u.container().append(t).append(u.primitive())}},r.dxDropDownMenu={item:r.dxList.item},r.dxDropDownList={item:r.dxList.item},r.dxRadioGroup={item:r.CollectionWidget.item},r.dxScheduler={item:function(){var t=r.CollectionWidget.item(),i=n("<div>").addClass("dx-scheduler-appointment-content-details");return n("<strong>").attr("ng-if","startDate").text("{{startDate | date : 'shortTime' }}").appendTo(i),n("<strong>").attr("ng-if","endDate").text(" - {{endDate | date : 'shortTime' }}").appendTo(i),i.appendTo(t),n("<span>").attr("ng-if","recurrenceRule").addClass("dx-scheduler-appointment-recurrence-icon").appendTo(t),t}},r.dxOverlay={content:f},r.dxSlideOutView={menu:f,content:f},r.dxSlideOut={menuItem:r.dxList.item,menuGroup:r.dxList.group,content:f},r.dxAccordion={title:function(){var t=n("<span>").attr("ng-if","title").attr("ng-bind","title"),i=n("<dx-icon>");return u.container().append(i).append(t).append(u.primitive())},content:r.CollectionWidget.item},r.dxPivotTabs={item:function(){return u.container().append(n("<span>").attr("ng-if","title").attr("ng-bind","title")).append(u.primitive())}},r.dxPivot={title:r.dxPivotTabs.item,content:f},v="dx-panorama-item-title",r.dxPanorama={itemFrame:function(){return r.CollectionWidget.itemFrame().prepend(n("<div>").addClass(v).attr("ng-if","title").attr("ng-bind","title"))}},r.dxActionSheet={item:function(){return u.container().append(n("<div>").attr("dx-button","{ bindingOptions: { text: 'text', onClick: 'onClick', type: 'type', disabled: 'disabled' } }"))}},r.dxToolbar={item:function(){var i=r.CollectionWidget.item();return n.each(["button","tabs","dropDownMenu"],function(r,u){var f="dx-"+t.inflector.dasherize(this);n("<div>").attr("ng-if","widget === '"+u+"'").attr(f,"options").appendTo(i)}),i},menuItem:r.dxList.item,actionSheetItem:r.dxActionSheet.item},r.dxGallery={item:function(){return u.container().append(u.html()).append(u.text()).append(n("<img>").attr("ng-if","scopeValue").attr("ng-src","{{'' + scopeValue}}")).append(n("<img>").attr("ng-if","imageSrc").attr("ng-src","{{imageSrc}}"))}},s="dx-tab-text",r.dxTabs={item:function(){var t=u.container(),i=n("<span>").addClass(s).attr("ng-bind","text").attr("ng-if","text"),r=n("<dx-icon>");return t.append(u.html()).append(r).append(i).append(u.primitive().addClass(s))},itemFrame:function(){var t=n("<div>").addClass("dx-tabs-item-badge dx-badge").attr("ng-bind","badge").attr("ng-if","badge");return r.CollectionWidget.itemFrame().append(t)}},y="dx-navbar-item-badge",r.dxNavBar={itemFrame:function(){var t=n("<div>").addClass(y).addClass(a).attr("ng-if","badge").attr("ng-bind","badge");return r.CollectionWidget.itemFrame().append(t)}},r.dxMenuBase={item:function(){var t=u.container(),i=n("<span>").attr("ng-if","text").addClass("dx-menu-item-text").attr("ng-bind","text"),r=n("<dx-icon>"),f=n("<span>").addClass("dx-menu-item-popout-container").attr("ng-if","items").append(n("<div>").addClass("dx-menu-item-popout"));return t.append(u.html()).append(r).append(i).append(f).append(u.primitive()).appendTo(t),t}},r.dxTreeView={item:function(){var t=u.container(),i=n("<span/>").attr("ng-bind","text"),r=n("<dx-icon>");return t.append(u.html()).append(r).append(i).append(u.primitive()),t}},r.dxTabPanel={item:r.CollectionWidget.item,title:function(){var n=r.dxTabs.item();return n.find(".dx-tab-text").eq(0).attr("ng-bind","title").attr("ng-if","title"),n}},h=function(){return n("<div>").attr("dx-toolbar","{ bindingOptions: { items: 'scopeValue' } }")},r.dxPopup={title:h,bottom:h},r.dxLookup={title:r.dxPopup.title,group:r.dxList.group},r.dxTagBox={tag:function(){return n("<div>").append(n("<span>").attr("ng-bind","scopeValue"))}},r.dxCalendar={cell:function(){var t=n("<span>").attr("ng-if","text").attr("ng-bind","text");return u.container().append(t).append(u.primitive())}},n.extend(e,{NgTemplate:o,NgTemplateProvider:c})}}(jQuery,DevExpress),function(n,t){if(t.support.hasKo){var r=window.ko,u=t.Class.inherit({ctor:function(t,i){var u=this;u.target=t,u.validationRules=i.validationRules,u.name=i.name,u.isValid=r.observable(!0),u.validationError=r.observable(),n.each(this.validationRules,function(n,t){t.validator=u})},validate:function(){var n=DevExpress.validationEngine.validate(this.target(),this.validationRules,this.name);return this._applyValidationResult(n),n},reset:function(){this.target(null);var n={isValid:!0,brokenRule:null};return this._applyValidationResult(n),n},_applyValidationResult:function(n){n.validator=this,this.target.dxValidator.isValid(n.isValid),this.target.dxValidator.validationError(n.brokenRule),this.fireEvent("validated",[n])}}).include(t.EventsMixin);r.extenders.dxValidator=function(t,i){return t.dxValidator=new u(t,i),t.subscribe(n.proxy(t.dxValidator.validate,t.dxValidator)),t},DevExpress.validationEngine.registerModelForValidation=function(t){n.each(t,function(n,i){r.isObservable(i)&&i.dxValidator&&DevExpress.validationEngine.registerValidatorInGroup(t,i.dxValidator)})},DevExpress.validationEngine.validateModel=DevExpress.validationEngine.validateGroup}}(jQuery,DevExpress),function(n,t,i){function y(){var i=n("<div><\/div>",u).addClass("dx-theme-marker").appendTo(u.documentElement),t;try{return(t=i.css("font-family"),!t)?null:(t=t.replace(/["']/g,""),t.substr(0,s.length)!==s)?null:t.substr(s.length)}finally{i.remove()}}function d(t,i){function f(){e=null,i()}var r,u;e=t,p()?f():(u=n.now(),r=setInterval(function(){var t=p(),i=!t&&n.now()-u>15e3;(t||i)&&(clearInterval(r),f())},10))}function p(){return!e||y()===e}function g(){var i=n(v,u);i.length&&(f={},o=n(t.utils.createMarkupFromString("<link rel=stylesheet>"),u),i.each(function(){var t=n(this,u),i=t.attr(b),r=t.attr("href"),e=t.attr(k)==="true";f[i]={url:r,isActive:e}}),i.last().after(o),i.remove())}function nt(t){var i=t.split("."),r=null;return f&&n.each(f,function(n,t){var u=n.split(".");if(u[0]===i[0])return i[1]&&i[1]!==u[1]?void 0:i[2]&&i[2]!==u[2]?void 0:((!r||t.isActive)&&(r=n),t.isActive?!1:void 0)}),r}function tt(n){try{n!==u&&(f=null)}catch(t){f=null}u=n}function w(n){n=n||{},tt(n.context||document),g(),r=i,h(n)}function h(n){if(!arguments.length)return r||y();a(t.viewPort(),r),n=n||{},typeof n=="string"&&(n={theme:n});var u=n._autoInit,i=n.loadCallback,s;if(r=n.theme||r,u&&!r&&(r=it(t.devices.current())),r=nt(r),r&&(s=f[r]),s)o.attr("href",f[r].url),i?d(r,i):e&&(e=r);else if(u)i&&i();else throw t.Error("E0021",r);l(t.viewPort(),r)}function it(n){var t=n.platform;return t==="ios"&&(t+="7"),t==="android"&&(t+="5"),t}function rt(n){n=n||h();var i=[],t=n&&n.split(".");return t&&(i.push("dx-theme-"+t[0],"dx-theme-"+t[0]+"-typography"),t.length>1&&i.push("dx-color-scheme-"+t[1])),i}function l(t,i){c=rt(i).join(" "),n(t).addClass(c)}function a(t){n(t).removeClass(c)}var v="link[rel=dx-theme]",b="data-theme",k="data-active",u,o,f,r,e,s="dx.",c;n.holdReady(!0),w({_autoInit:!0,loadCallback:function(){n.holdReady(!1)}}),n(function(){if(n(v,u).length)throw t.Error("E0022");}),t.viewPortChanged.add(function(n,t){a(t),l(n)}),t.ui.themes={init:w,current:h,attachCssClasses:l,detachCssClasses:a}}(jQuery,DevExpress),function(n,t){var v=t.ui,r=n.event,o=r.fixHooks,y=r.special,p={dx:/^dx/i,mouse:/(mouse|wheel)/i,touch:/^touch/i,keyboard:/^key/i,pointer:/^(ms)?pointer/i},u=function(t){var i="other";return n.each(p,function(n){if(this.test(t.type))return i=n,!1}),i},f=function(n){return u(n)==="dx"},w=function(n){return u(n)==="mouse"},s=function(n){return u(n)==="touch"},e=function(n){return u(n)==="pointer"},h=function(n){return w(n)||(e(n)||f(n))&&n.pointerType==="mouse"},c=function(n){return s(n)||(e(n)||f(n))&&n.pointerType==="touch"},b=function(n){return u(n)==="keyboard"},k=function(n){return{x:n.pageX,y:n.pageY,time:n.timeStamp}},d=function(n,t){return{x:t.x-n.x,y:t.y-n.y,time:t.time-n.time||1}},g=function(n){return s(n)?(n.originalEvent.touches||[]).length:f(n)?(n.pointers||[]).length:0},nt=function(t){var i=n(t.target),r=i.is("input, textarea, select");return t.type==="dxmousewheel"?i.is("input[type='number'], textarea, select")&&i.is(":focus"):h(t)?r||t.which>1:c(t)?r&&i.is(":focus"):void 0},l=function(t,i){for(var u=n.Event(t),f=o[t.type]||r.mouseHooks,s=f.props?r.props.concat(f.props):r.props,h=s.length,e;h--;)e=s[h],u[e]=t[e];return i&&n.extend(u,i),f.filter?f.filter(u,t):u},tt=function(n){var t=l(n.originalEvent,n);return r.trigger(t,null,n.delegateTarget||t.target),t},a=function(t,i){return typeof t=="string"?a(t.split(/\s+/g),i):(n.each(t,function(n,r){t[n]=r+"."+i}),t.join(" "))},it={props:r.mouseHooks.props.concat(["pointerType","pointerId","pointers"])},rt=function(t,i){var r={};"noBubble"in i&&(r.noBubble=i.noBubble),"bindType"in i&&(r.bindType=i.bindType),"delegateType"in i&&(r.delegateType=i.delegateType),n.each(["setup","teardown","add","remove","trigger","handle","_default","dispose"],function(t,u){i[u]&&(r[u]=function(){var t=n.makeArray(arguments);return t.unshift(this),i[u].apply(i,t)})}),o[t]=it,y[t]=r};v.events={eventSource:u,isPointerEvent:e,isMouseEvent:h,isTouchEvent:c,isKeyboardEvent:b,hasTouches:g,eventData:k,eventDelta:d,needSkipEvent:nt,createEvent:l,fireEvent:tt,addNamespace:a,registerEvent:rt}}(jQuery,DevExpress),function(n,t){if(t.support.hasKo){var u=window.ko,r=t.ui.events,f=r.registerEvent,e=function(t,i){f(t,i);var e=r.addNamespace(t,t+"Binding");u.bindingHandlers[t]={update:function(t,i,r,f){var s=n(t),o=u.utils.unwrapObservable(i()),h=o.execute?o.execute:o;s.off(e).on(e,n.isPlainObject(o)?o:{},function(n){h.call(f,f,n)})}}};n.extend(r,{registerEvent:e})}}(jQuery,DevExpress),function(n,t){if(t.support.hasNg){var r=t.ui.events,u=r.registerEvent,f=function(i,r){u(i,r);var f=i.slice(0,2)+i.charAt(2).toUpperCase()+i.slice(3);t.ng.module.directive(f,["$parse",function(t){return function(r,u,e){var h=n.trim(e[f]),o,s={};h.charAt(0)==="{"?(s=r.$eval(h),o=t(s.execute)):o=t(e[f]);u.on(i,s,function(n){r.$apply(function(){o(r,{$event:n})})})}}])};n.extend(r,{registerEvent:f})}}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=r.events;r.KeyboardProcessor=t.Class.inherit({_keydown:u.addNamespace("keydown","KeyboardProcessor"),codes:{"8":"backspace","9":"tab","13":"enter","27":"escape","33":"pageUp","34":"pageDown","35":"end","36":"home","37":"leftArrow","38":"upArrow","39":"rightArrow","40":"downArrow","46":"del","32":"space","70":"F","65":"A","106":"asterisk","109":"minus"},ctor:function(t){var i=this;if(t=t||{},t.element&&(this._element=n(t.element)),t.focusTarget&&(this._focusTarget=t.focusTarget),this._handler=t.handler,this._context=t.context,this._childProcessors=[],this._element)this._element.on(this._keydown,function(n){i.process(n)})},dispose:function(){this._element&&this._element.off(this._keydown),this._element=i,this._handler=i,this._context=i,this._childProcessors=i},clearChildren:function(){this._childProcessors=[]},push:function(n){return this._childProcessors||this.clearChildren(),this._childProcessors.push(n),n},attachChildProcessor:function(){var n=new r.KeyboardProcessor;return this._childProcessors.push(n),n},reinitialize:function(n,t){return this._context=t,this._handler=n,this},process:function(t){if(this._focusTarget&&this._focusTarget!==t.target&&n.inArray(t.target,this._focusTarget)<0)return!1;var i={key:this.codes[t.which]||t.which,ctrl:t.ctrlKey,shift:t.shiftKey,alt:t.altKey,originalEvent:t},r=this._handler&&this._handler.call(this._context,i);r&&this._childProcessors&&n.each(this._childProcessors,function(n,i){i.process(t)})}})}(jQuery,DevExpress),function(n,t,i){var u=t.ui,o=t.utils,s={text:"OK",onClick:function(){return!0}},r="dx-dialog",h=r+"-wrapper",c=r+"-root",l=r+"-content",a=r+"-message",v=r+"-buttons",y=r+"-button",p=t.Component.inherit({NAME:"dxDialog",ctor:function(n,t){this.callBase(t)},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"ios"},options:{width:276}},{device:{platform:"android"},options:{lWidth:"60%",pWidth:"80%"}},{device:{platform:"win8",phone:!1},options:{width:function(){return n(window).width()}}},{device:{platform:"win8",phone:!0},options:{position:{my:"top center",at:"top center",of:window,offset:"0 0"}}}])}}),w=function(f){function tt(){return e.show(),o.resetActiveElement(),w.promise()}function d(n){e.hide().done(function(){e.element().remove()}),w.resolve(n)}var w,b,e;if(!u.dxPopup)throw t.Error("E0018");w=n.Deferred(),b=(new p).option(),f=n.extend(b,f);var g=n("<div>").addClass(r).appendTo(t.viewPort()),nt=n("<div>").addClass(a).html(String(f.message)),k=[];return n.each(f.buttons||[s],function(){this.clickAction&&(t.log("W0001","Dialog","clickAction","14.2","Use 'onClick' option instead"),this.onClick=this.clickAction);var n=new t.Action(this.onClick||this.clickAction,{context:e});k.push({toolbar:"bottom",location:"center",widget:"button",options:{text:this.text,onClick:function(){var t=n.execute(arguments);d(t)}}})}),e=g.dxPopup({title:f.title||this.title,showTitle:function(){return f.showTitle===i?!0:f.showTitle}(),height:"auto",width:function(){var r=n(window).height()>n(window).width(),i=(r?"p":"l")+"Width",t=f.hasOwnProperty(i)?f[i]:f.width;return n.isFunction(t)?t():t},showCloseButton:!1,focusStateEnabled:!1,onContentReady:function(n){n.component.content().addClass(l).append(nt)},onShowing:function(n){n.component.bottomToolbar().addClass(v).find(".dx-button").addClass(y).first().focus()},buttons:k,animation:{show:{type:"pop",duration:400},hide:{type:"pop",duration:400,to:{opacity:0,scale:0},from:{opacity:1,scale:1}}},rtlEnabled:t.rtlEnabled,boundaryOffset:{h:10,v:0}}).dxPopup("instance"),e._wrapper().addClass(h),f.position&&e.option("position",f.position),e._wrapper().addClass(c),{show:tt,hide:d}},f=function(t,i,r){var f,e=n.isPlainObject(t)?t:{title:i,message:t,showTitle:r};return f=u.dialog.custom(e),f.show()},b=function(t,i,r){var f,e=n.isPlainObject(t)?t:{title:i,message:t,showTitle:r,buttons:[{text:Globalize.localize("Yes"),onClick:function(){return!0}},{text:Globalize.localize("No"),onClick:function(){return!1}}]};return f=u.dialog.custom(e),f.show()},e=null,k=function(i,r,o){var s=n.isPlainObject(i)?i:{message:i},h;if(!u.dxToast){f(s.message);return}s.hiddenAction&&(t.log("W0001","Dialog","hiddenAction","14.2","Use 'onHidden' option instead"),s.onHidden=s.hiddenAction),h=s.onHidden,n.extend(s,{type:r,displayTime:o,onHidden:function(n){n.element.remove(),new t.Action(h,{context:n.model}).execute(arguments)}}),e=n("<div>").appendTo(t.viewPort()).dxToast(s),e.dxToast("instance").show()};n.extend(u,{notify:k,dialog:{custom:w,alert:f,confirm:b}})}(jQuery,DevExpress),function(n,t){var r=t.data,u="_dataSourceOptions",f="_dataSourceChangedHandler",e="_dataSourceLoadErrorHandler",o="_dataSourceLoadingChangedHandler";t.ui.DataHelperMixin={postCtor:function(){this.on("disposing",function(){this._disposeDataSource()})},_isDataSourceReady:function(){return!this._dataSource||this._dataSource.isLoaded()},_refreshDataSource:function(){this._initDataSource(),this._loadDataSource()},_initDataSource:function(){var t=this.option("dataSource"),i,f;this._disposeDataSource(),t&&(t instanceof r.DataSource?(this._isSharedDataSource=!0,this._dataSource=t):(i=u in this?this[u]():{},f=this._dataSourceType?this._dataSourceType():r.DataSource,this._dataSource=new f(n.extend(!0,{},i,r.utils.normalizeDataSourceOptions(t)))),this._addDataSourceHandlers())},_addDataSourceHandlers:function(){f in this&&this._addDataSourceChangeHandler(),e in this&&this._addDataSourceLoadErrorHandler(),o in this&&this._addDataSourceLoadingChangedHandler(),this._addReadyWatcher()},_addReadyWatcher:function(){this._dataSource.on("loadingChanged",n.proxy(function(n){this._ready&&this._ready(!n)},this))},_addDataSourceChangeHandler:function(){var t=this._dataSource;this._proxiedDataSourceChangedHandler=n.proxy(function(){this[f](t.items())},this);t.on("changed",this._proxiedDataSourceChangedHandler)},_addDataSourceLoadErrorHandler:function(){this._proxiedDataSourceLoadErrorHandler=n.proxy(this[e],this);this._dataSource.on("loadError",this._proxiedDataSourceLoadErrorHandler)},_addDataSourceLoadingChangedHandler:function(){this._proxiedDataSourceLoadingChangedHandler=n.proxy(this[o],this);this._dataSource.on("loadingChanged",this._proxiedDataSourceLoadingChangedHandler)},_loadDataSource:function(){if(this._dataSource){var n=this._dataSource;n.isLoaded()?this._proxiedDataSourceChangedHandler&&this._proxiedDataSourceChangedHandler():n.load()}},_loadSingle:function(n,t){return n=n==="this"?this._dataSource.key()||"this":n,this._dataSource.loadSingle(n,t)},_isLastPage:function(){return!this._dataSource||this._dataSource.isLastPage()||!this._dataSource._pageSize},_isDataSourceLoading:function(){return this._dataSource&&this._dataSource.isLoading()},_disposeDataSource:function(){this._dataSource&&(this._isSharedDataSource?(delete this._isSharedDataSource,this._proxiedDataSourceChangedHandler&&this._dataSource.off("changed",this._proxiedDataSourceChangedHandler),this._proxiedDataSourceLoadErrorHandler&&this._dataSource.off("loadError",this._proxiedDataSourceLoadErrorHandler),this._proxiedDataSourceLoadingChangedHandler&&this._dataSource.off("loadingChanged",this._proxiedDataSourceLoadingChangedHandler)):this._dataSource.dispose(),delete this._dataSource,delete this._proxiedDataSourceChangedHandler,delete this._proxiedDataSourceLoadErrorHandler,delete this._proxiedDataSourceLoadingChangedHandler)}}}(jQuery,DevExpress),function(n,t,i){var f=t.ui,r=t.utils,u=t.data.utils;f.DataExpressionMixin=n.extend(f.DataHelperMixin,{_dataExpressionDeprecatedOptions:function(){return{itemRender:{since:"14.2",alias:"itemTemplate"}}},_dataExpressionDefaultOptions:function(){return{items:[],dataSource:null,itemTemplate:"item",value:null,valueExpr:"this",displayExpr:i}},_initDataExpressions:function(){this._compileValueGetter(),this._compileDisplayGetter(),this._initDynamicTemplates(),this._initDataSource(),this._itemsToDataSource()},_itemsToDataSource:function(){this.option("dataSource")||(this._dataSource=new DevExpress.data.DataSource({store:new DevExpress.data.ArrayStore(this.option("items")),pageSize:0}))},_compileDisplayGetter:function(){this._displayGetter=u.compileGetter(this._displayGetterExpr())},_displayGetterExpr:function(){return this.option("displayExpr")},_compileValueGetter:function(){this._valueGetter=u.compileGetter(this._valueGetterExpr())},_valueGetterExpr:function(){return this.option("valueExpr")||"this"},_loadValue:function(t){var i=n.Deferred();return(t=this._unwrappedValue(t),!r.isDefined(t))?i.reject().promise():(this._loadSingle(this._valueGetterExpr(),t).done(n.proxy(function(n){this._isValueEquals(this._valueGetter(n),t)?i.resolve(n):i.reject()},this)).fail(function(){i.reject()}),i.promise())},_unwrappedValue:function(n){if(n=t.utils.isDefined(n)?n:this.option("value"),n&&this._dataSource&&this._valueGetterExpr()==="this"){var i=this._dataSource.key();i&&typeof n=="object"&&(n=n[i])}return r.unwrapObservable(n)},_isValueEquals:function(n,t){var f=r.isDefined,e=r.ensureDefined,o=r.unwrapObservable,i=this._dataSource&&this._dataSource.key(),u=this._compareValues(n,t),s,h;return!u&&f(n)&&f(t)&&i&&(s=e(o(n[i]),n),h=e(o(t[i]),t),u=this._compareValues(s,h)),u},_compareValues:function(n,t){return u.toComparable(n)===u.toComparable(t)},_initDynamicTemplates:function(){this._displayGetterExpr()?this._dynamicTemplates.item=new f.DefaultTemplate(n.proxy(function(n){return this._displayGetter(n)},this)):delete this._dynamicTemplates.item},_setCollectionWidgetItemTemplate:function(){this._initDynamicTemplates(),this._setCollectionWidgetOption("itemTemplate",this._getTemplateByOption("itemTemplate"))},_dataExpressionOptionChanged:function(n){switch(n.name){case"items":this._itemsToDataSource(),this._setCollectionWidgetOption("items");break;case"dataSource":this._initDataSource();break;case"itemTemplate":this._setCollectionWidgetItemTemplate();break;case"valueExpr":this._compileValueGetter();break;case"displayExpr":this._compileDisplayGetter(),this._setCollectionWidgetItemTemplate()}}})}(jQuery,DevExpress),function(n){var r={filter:function(t,i){var r=i.touches.length?i.touches:i.changedTouches;return n.each(["pageX","pageY","screenX","screenY","clientX","clientY"],function(){t[this]=r[0][this]}),t},props:n.event.mouseHooks.props.concat(["touches","changedTouches","targetTouches","detail","result","originalTarget","charCode","prevValue"])};n.each(["touchstart","touchmove","touchend","touchcancel"],function(){n.event.fixHooks[this]=r})}(jQuery,DevExpress),function(n){var r={2:"touch",3:"pen",4:"mouse"},u={filter:function(t,i){var u=i.pointerType;return n.isNumeric(u)&&(t.pointerType=r[u]),t},props:n.event.mouseHooks.props.concat(["pointerId","pointerType","originalTarget","width","height","pressure","result","tiltX","charCode","tiltY","detail","isPrimary","prevValue"])};n.each(["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel","MSPointerOver","MSPointerOut","mouseenter","mouseleave","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave"],function(){n.event.fixHooks[this]=u})}(jQuery,DevExpress),function(n,t){var u=t.ui,r=u.events,f="dxPointerEvents",e=t.Class.inherit({ctor:function(n,t){this._eventName=n,this._eventNamespace=[f,".",this._eventName].join(""),this._originalEvents=t,this._handlerCount=0,this.noBubble=this._isNoBubble()},_isNoBubble:function(){var n=this._eventName;return n==="dxpointerenter"||n==="dxpointerleave"},_handler:function(n){var t=this._getDelegateTarget(n);return this._fireEvent({type:this._eventName,pointerType:n.pointerType||r.eventSource(n),originalEvent:n,delegateTarget:t})},_getDelegateTarget:function(n){var t;return this.noBubble&&(t=n.delegateTarget),t},_fireEvent:function(n){return r.fireEvent(n)},setup:function(){return!0},add:function(t,i){if(this._handlerCount<=0||this.noBubble){this._selector=i.selector,t=this.noBubble?t:document;n(t).on(r.addNamespace(this._originalEvents,this._eventNamespace),this._selector,n.proxy(this._handler,this))}this.noBubble||this._handlerCount++},remove:function(){this.noBubble||this._handlerCount--},teardown:function(t){(!this._handlerCount||this.noBubble)&&(t=this.noBubble?t:document,n(t).off("."+this._eventNamespace,this._selector))},dispose:function(t){t=this.noBubble?t:document,n(t).off("."+this._eventNamespace)}});r.pointer={},r.pointer.BaseStrategy=e}(jQuery,DevExpress),function(n,t){var f=t.ui,e=f.events,r=e.pointer,o={dxpointerdown:"mousedown",dxpointermove:"mousemove",dxpointerup:"mouseup",dxpointercancel:"",dxpointerover:"mouseover",dxpointerout:"mouseout",dxpointerenter:"mouseenter",dxpointerleave:"mouseleave"},u=function(n){var t=[];return n.pointerId=1,n.type!=="mouseup"&&t.push(n),{pointers:t,pointerId:1}},s=r.BaseStrategy.inherit({_fireEvent:function(t){return this.callBase(n.extend(u(t.originalEvent),t))}});r.mouse={strategy:s,map:o,normalize:u}}(jQuery,DevExpress),function(n,t){var f=t.ui,e=n.proxy(t.devices.real,t.devices),o=f.events,r=o.pointer,s={dxpointerdown:"touchstart",dxpointermove:"touchmove",dxpointerup:"touchend",dxpointercancel:"touchcancel"},u=function(t){var i=[];return n.each(t.touches,function(t,r){i.push(n.extend({pointerId:r.identifier},r))}),{pointers:i,pointerId:t.changedTouches[0].identifier}},h=function(n){return e().platform==="ios"&&(n==="dxpointerdown"||n==="dxpointerup")},c=r.BaseStrategy.inherit({ctor:function(){this.callBase.apply(this,arguments),this._pointerId=0},_handler:function(n){if(h(this._eventName)){var t=n.changedTouches[0];if(this._pointerId===t.identifier&&this._pointerId!==0)return;this._pointerId=t.identifier}return this.callBase.apply(this,arguments)},_fireEvent:function(t){return this.callBase(n.extend(u(t.originalEvent),t))}});r.touch={strategy:c,map:s,normalize:u}}(jQuery,DevExpress),function(n,t){var f=t.ui,u=f.events,r=u.pointer,e={dxpointerdown:"touchstart mousedown",dxpointermove:"touchmove mousemove",dxpointerup:"touchend mouseup",dxpointercancel:"touchcancel",dxpointerover:"mouseover",dxpointerout:"mouseout",dxpointerenter:"mouseenter",dxpointerleave:"mouseleave"},o=r.BaseStrategy.inherit({EVENT_LOCK_TIMEOUT:100,_handler:function(t){var i=u.isMouseEvent(t);if(i||(this._skipNextEvents=!0),!i||!this._mouseLocked){if(i&&this._skipNextEvents){this._skipNextEvents=!1,this._mouseLocked=!0,clearTimeout(this._unlockMouseTimer),this._unlockMouseTimer=setTimeout(n.proxy(function(){this._mouseLocked=!1},this),this.EVENT_LOCK_TIMEOUT);return}return this.callBase(t)}},_fireEvent:function(t){var i=u.isMouseEvent(t.originalEvent),f=i?r.mouse.normalize:r.touch.normalize;return this.callBase(n.extend(f(t.originalEvent),t))},dispose:function(){this.callBase(),this._skipNextEvents=!1,this._mouseLocked=!1,clearTimeout(this._unlockMouseTimer)}});r.mouseAndTouch={strategy:o,map:e}}(jQuery,DevExpress),function(n,t){var c=t.ui,l=c.events,e=l.pointer,o={dxpointerdown:"MSPointerDown pointerdown",dxpointermove:"MSPointerMove pointermove",dxpointerup:"MSPointerUp pointerup",dxpointercancel:"MSPointerCancel pointercancel",dxpointerover:"MSPointerOver pointerover",dxpointerout:"MSPointerOut pointerout",dxpointerenter:"mouseenter",dxpointerleave:"mouseleave"},r=[],f=function(t){var i=-1;return n.each(r,function(n,r){if(t.pointerId===r.pointerId)return i=n,!0}),i},a=function(n){f(n)===-1&&r.push(n)},s=function(n){r.splice(f(n),1)},v=function(n){r[f(n)]=n},u=function(t,i){t=t.split(" "),n.each(t,function(n,t){document.addEventListener(t,i,!0)})},h=function(){var t=o;u(t.dxpointerdown,a),u(t.dxpointermove,v),u(t.dxpointerup,s),u(t.dxpointercancel,s),h=n.noop},y=e.BaseStrategy.inherit({ctor:function(){this.callBase.apply(this,arguments),h()},_fireEvent:function(t){return this.callBase(n.extend({pointers:r,pointerId:t.originalEvent.pointerId},t))}});e.msPointer={strategy:y,map:o}}(jQuery,DevExpress),function(n,t){var s=t.ui,u=t.support,f=n.proxy(t.devices.real,t.devices),e=s.events,r=e.pointer,o=function(){return u.pointer?r.msPointer:u.touch&&!(f().tablet||f().phone)?r.mouseAndTouch:u.touch?r.touch:r.mouse}();n.each(o.map,function(n,t){e.registerEvent(n,new o.strategy(n,t))})}(jQuery,DevExpress),function(n,t,i){var s=t.ui,u=s.events,f="dxmousewheel",e="dxWheel",o,r;n.event.fixHooks.wheel=n.event.mouseHooks,o=document.onmousewheel!==i?"mousewheel":"wheel",r={setup:function(t){var f=n(t);f.on(u.addNamespace(o,e),n.proxy(r._wheelHandler,r))},teardown:function(t){var i=n(t);i.off("."+e)},_wheelHandler:function(n){var t=this._getWheelDelta(n.originalEvent);u.fireEvent({type:f,originalEvent:n,delta:t,pointerType:"mouse"}),n.stopPropagation()},_getWheelDelta:function(n){return n.wheelDelta?n.wheelDelta:-n.deltaY*30}},u.registerEvent(f,r)}(jQuery,DevExpress),function(n,t){var h=t.ui,r=h.events,u="dxHoverStart",f="dxhoverstart",c=r.addNamespace("dxpointerenter",u),l=r.addNamespace("dxpointerdown",u),a=r.addNamespace("dxpointerup",u),e="dxHoverEnd",o="dxhoverend",v=r.addNamespace("dxpointerleave",e),s=t.Class.inherit({noBubble:!0,add:function(t,i){var r=n(t);r.off("."+this._namespace).on(this._originalEventName,i.selector,n.proxy(this._handler,this))},_handler:function(n){r.isTouchEvent(n)||r.fireEvent({type:this._eventName,originalEvent:n,delegateTarget:n.delegateTarget})},teardown:function(t){n(t).off("."+this._namespace)}}),y=s.inherit({ctor:function(){this._eventName=f,this._originalEventName=c,this._namespace=u,this._isMouseDown=!1,this._eventsAttached=0},_handler:function(){this._isMouseDown||this.callBase.apply(this,arguments)},setup:function(){n(document).off("."+u).on(l,n.proxy(function(){this._isMouseDown=!0},this)).on(a,n.proxy(function(){this._isMouseDown=!1},this));this._eventsAttached++},teardown:function(){this._eventsAttached--,this._eventsAttached===0&&n(document).off("."+u)}}),p=s.inherit({ctor:function(){this._eventName=o,this._originalEventName=v,this._namespace=e}});r.registerEvent(f,new y),r.registerEvent(o,new p)}(jQuery,DevExpress),function(n,t){var s=t.ui,r=s.events,f="dxEventManager",u="dxEmitter",h=t.Class.inherit({ctor:function(){this._attachHandlers(),this.reset(),this._proxiedCancelHandler=n.proxy(this._cancelHandler,this),this._proxiedAcceptHandler=n.proxy(this._acceptHandler,this)},_attachHandlers:function(){n(document).on(r.addNamespace("dxpointerdown",f),n.proxy(this._pointerDownHandler,this)).on(r.addNamespace("dxpointermove",f),n.proxy(this._pointerMoveHandler,this)).on(r.addNamespace("dxpointerup dxpointercancel",f),n.proxy(this._pointerUpHandler,this)).on(r.addNamespace("dxmousewheel",f),n.proxy(this._mouseWheelHandler,this))},_eachEmitter:function(n){for(var i=this._activeEmitters||[],t=0,r;i.length>t;){if(r=i[t],n(r)===!1)break;i[t]===r&&t++}},_applyToEmitters:function(n,t){this._eachEmitter(function(i){i[n].call(i,t)})},reset:function(){this._eachEmitter(this._proxiedCancelHandler),this._activeEmitters=[]},resetEmitter:function(n){this._proxiedCancelHandler(n)},_pointerDownHandler:function(n){r.isMouseEvent(n)&&n.which>1||this._updateEmitters(n)},_updateEmitters:function(n){this._isSetChanged(n)&&(this._cleanEmitters(n),this._fetchEmitters(n))},_isSetChanged:function(t){var r=this._closestEmitter(t),u=this._emittersSet||[],i=r.length!==u.length;return n.each(r,function(n,t){return i=i||u[n]!==t,!i}),this._emittersSet=r,i},_closestEmitter:function(t){function o(n,i){!!i&&i.validatePointers(t)&&i.validate(t)&&(i.addCancelCallback(r._proxiedCancelHandler),i.addAcceptCallback(r._proxiedAcceptHandler),f.push(i))}for(var r=this,f=[],i=n(t.target),e;i.length;)e=n.data(i.get(0),u)||[],n.each(e,o),i=i.parent();return f},_acceptHandler:function(n,t){var i=this;this._eachEmitter(function(r){r!==n&&i._cancelEmitter(r,t)})},_cancelHandler:function(n,t){this._cancelEmitter(n,t)},_cancelEmitter:function(t,i){var u=this._activeEmitters,r;i?t.cancel(i):t.reset(),t.removeCancelCallback(),t.removeAcceptCallback(),r=n.inArray(t,u),r>-1&&u.splice(r,1)},_cleanEmitters:function(n){this._applyToEmitters("end",n),this.reset(n)},_fetchEmitters:function(n){this._activeEmitters=this._emittersSet.slice(),this._applyToEmitters("start",n)},_pointerMoveHandler:function(n){this._applyToEmitters("move",n)},_pointerUpHandler:function(n){this._updateEmitters(n)},_mouseWheelHandler:function(n){var t=!0;(this._eachEmitter(function(n){return t=n.allowInterruptionByMousewheel()&&t}),t)&&(n.pointers=[null],this._pointerDownHandler(n),this._eachEmitter(function(t){var i=t.getDirection?t.getDirection(n):"",r=i!=="horizontal"?"pageY":"pageX";return i&&(n[r]+=n.delta),!i}),this._pointerMoveHandler(n),n.pointers=[],this._pointerUpHandler(n))},isActive:function(n){var t=!1;return this._eachEmitter(function(i){t=t||i.getElement().is(n)}),t}}),o=new h,e="dxEmitterSubscription",c=function(t){var s=t.emitter,i=t.events[0],f=t.events;n.each(f,function(h,c){r.registerEvent(c,{noBubble:!t.bubble,setup:function(t){var o=n.data(t,e)||{},f=n.data(t,u)||{},h=f[i]||new s(t);o[c]=!0,f[i]=h,n.data(t,u,f),n.data(t,e,o)},add:function(t,r){var f=n.data(t,u),e=f[i];e.configurate(n.extend({delegateSelector:r.selector},r.data),r.type)},teardown:function(t){var h=n.data(t,e),l=n.data(t,u),s=l[i],r;delete h[c],r=!0,n.each(f,function(n,t){return r=r&&!h[t]}),r&&(o.isActive(t)&&o.resetEmitter(s),s&&s.dispose(),delete l[i])}})})};n.extend(r,{registerEmitter:c})}(jQuery,DevExpress),function(n,t){var u=t.ui,r=u.events,f=t.Class.inherit({ctor:function(t){this._$element=n(t),this._cancelCallback=n.Callbacks(),this._acceptCallback=n.Callbacks()},getElement:function(){return this._$element},validate:function(n){return n.type!=="dxmousewheel"},validatePointers:function(n){return r.hasTouches(n)===1},allowInterruptionByMousewheel:function(){return!0},configurate:function(t){n.extend(this,t)},addCancelCallback:function(n){this._cancelCallback.add(n)},removeCancelCallback:function(){this._cancelCallback.empty()},_cancel:function(n){this._cancelCallback.fire(this,n)},addAcceptCallback:function(n){this._acceptCallback.add(n)},removeAcceptCallback:function(){this._acceptCallback.empty()},_accept:function(n){this._acceptCallback.fire(this,n)},_requestAccept:function(n){this._acceptRequestEvent=n},_forgetAccept:function(){this._accept(this._acceptRequestEvent),this._acceptRequestEvent=null},start:n.noop,move:n.noop,end:n.noop,cancel:n.noop,reset:function(){this._acceptRequestEvent&&this._accept(this._acceptRequestEvent)},_fireEvent:function(t,i,u){var f=n.extend({type:t,originalEvent:i,target:this._getEmitterTarget(i),delegateTarget:this.getElement().get(0)},u);return i=r.fireEvent(f),i.cancel&&this._cancel(i),i},_getEmitterTarget:function(t){return(this.delegateSelector?n(t.target).closest(this.delegateSelector):this.getElement()).get(0)},dispose:n.noop});n.extend(r,{Emitter:f})}(jQuery,DevExpress),function(n,t){var u=t.ui,o=u.events,f="dxactive",e="dxinactive",s=30,h=400,r,c=o.Emitter.inherit({configurate:function(n,t){switch(t){case f:n.activeTimeout=n.timeout;break;case e:n.inactiveTimeout=n.timeout}this.callBase(n)},start:function(t){var u=this.getElement().get(0),f=r&&r.getElement().get(0),e=n.contains(u,f),o=r&&r._activeTimer!==null,i;e&&o?this._cancel():(r&&r._forceInactiveTimer(),r=this,i=this._getEmitterTarget(t),this._forceActiveTimer=n.proxy(this._fireActive,this,t,i),this._forceInactiveTimer=n.proxy(this._fireInctive,this,t,i),this._startActiveTimer(t))},cancel:function(n){this.end(n)},end:function(n){var t=n.type!=="dxpointerup";t?this._stopActiveTimer():this._forceActiveTimer(),this._startInactiveTimer(n),t&&this._forceInactiveTimer()},dispose:function(){this._stopActiveTimer(),this._stopInactiveTimer(),this.callBase()},_startActiveTimer:function(){var t="activeTimeout"in this?this.activeTimeout:s;this._activeTimer=window.setTimeout(this._forceActiveTimer,t)},_fireActive:function(n,t){this._stopActiveTimer(),this._fireEvent(f,n,{target:t})},_stopActiveTimer:function(){clearTimeout(this._activeTimer),this._activeTimer=null},_forceActiveTimer:n.noop,_startInactiveTimer:function(){var t="inactiveTimeout"in this?this.inactiveTimeout:h;this._inactiveTimer=window.setTimeout(this._forceInactiveTimer,t)},_fireInctive:function(n,t){this._stopInactiveTimer(),r=null,this._fireEvent(e,n,{target:t})},_stopInactiveTimer:function(){clearTimeout(this._inactiveTimer),this._inactiveTimer=null},_forceInactiveTimer:n.noop,lockInactive:function(){return this._forceActiveTimer(),this._stopInactiveTimer(),r=null,this._cancel(),this._forceInactiveTimer}});u.events=n.extend(u.events,{lockFeedback:function(t){var i=r?r.lockInactive():n.noop;n.when(t).always(i)}}),o.registerEmitter({emitter:c,events:[f,e]})}(jQuery,DevExpress),function(n,t){var l=t.ui,e=t.utils,u=l.events,s=Math.abs,o="dxclick",h=10,c=function(t){return n(t).is("input, textarea, select, button ,:focus, :focus *")},a={requestAnimationFrame:t.requestAnimationFrame},f=u.Emitter.inherit({ctor:function(t){this.callBase(t),this._makeElementClickable(n(t))},_makeElementClickable:function(n){n.attr("onclick")||n.attr("onclick","void(0)")},start:function(n){this._blurPrevented=n.dxPreventBlur,this._startTarget=n.target,this._startEventData=u.eventData(n)},end:function(t){if(this._eventOutOfElement(t,this.getElement().get(0))||t.type==="dxpointercancel"){this._cancel(t);return}c(t.target)||this._blurPrevented||e.resetActiveElement(),this._accept(t),a.requestAnimationFrame(n.proxy(function(){this._fireClickEvent(t)},this))},_eventOutOfElement:function(t,i){var r=t.target,e=!n.contains(i,r)&&i!==r,f=u.eventDelta(u.eventData(t),this._startEventData),o=s(f.x)>h||s(f.y)>h;return e||o},_fireClickEvent:function(n){this._fireEvent(o,n,{target:e.closestCommonParent(this._startTarget,n.target)})}});(function(){var e=t.devices.real().generic,i,r;if(e){i=null,f=f.inherit({start:function(){i=null},end:n.noop,cancel:function(){i=!0}}),r=function(n){n.which&&n.which!==1||i||u.fireEvent({type:o,originalEvent:n})};n(document).on(u.addNamespace("click","NATIVE_DXCLICK_STRATEGY"),r)}})(),function(){var r=t.devices.real().ios,i;r&&(i="dxGestureLock",f=f.inherit({_fireClickEvent:function(t){for(var r=n(t.target);r.length;){if(n.data(r.get(0),i))return;r=r.parent()}this.callBase.apply(this,arguments)}}))}(),function(){var o=t.devices.real().generic;if(!o){var i=null,r=!1,s=function(n){i=n.target,r=n.dxPreventBlur},h=function(t){var u=n(t.target);r||!i||u.is(i)||n(i).is("label")||!c(u)||e.resetActiveElement(),i=null,r=!1},f="NATIVE_CLICK_FIXER";n(document).on(u.addNamespace("dxpointerdown",f),s).on(u.addNamespace("click",f),h)}}(),u.registerEmitter({emitter:f,bubble:!0,events:[o]})}(jQuery,DevExpress,window),function(n,t){var o=t.ui,r=o.events,u=Math.abs,f="dxhold",s=750,e=5,h=r.Emitter.inherit({start:function(n){this._startEventData=r.eventData(n),this._startTimer(n)},_startTimer:function(t){var i="timeout"in this?this.timeout:s;this._holdTimer=setTimeout(n.proxy(function(){this._requestAccept(t),this._fireEvent(f,t,{target:t.target}),this._forgetAccept()},this),i)},move:function(n){this._touchWasMoved(n)&&this._cancel(n)},_touchWasMoved:function(n){var t=r.eventDelta(this._startEventData,r.eventData(n));return u(t.x)>e||u(t.y)>e},end:function(){this._stopTimer()},_stopTimer:function(){clearTimeout(this._holdTimer)},cancel:function(){this._stopTimer()}});r.registerEmitter({emitter:h,bubble:!0,events:[f]})}(jQuery,DevExpress),function(n,t){var a=t.ui,f=t.utils,r=a.events,h=t.devices,c=t.support,l=Math.abs,e=0,o=1,u=2,v=10,y=0,p=180,s=function(n){return n&&n.type==="dxmousewheel"},w=r.Emitter.inherit({configurate:function(n){this.getElement().css("msTouchAction",n.immediate?"pinch-zoom":""),this.callBase(n)},allowInterruptionByMousewheel:function(){return this._stage!==u},getDirection:function(){return this.direction},_cancel:function(){this.callBase.apply(this,arguments),this._togglePointerAddons(!0),this._stage=e},start:function(n){if(r.needSkipEvent(n)){this._cancel(n);return}this._startEvent=r.createEvent(n),this._startEventData=r.eventData(n),this._prevEventData=this._startEventData,this._stage=o,this._init(n),this._setupImmediateTimer()},_setupImmediateTimer:function(){(clearTimeout(this._immediateTimer),this._immedeateAccepted=!1,this.immediate)&&(this._immediateTimer=setTimeout(n.proxy(function(){this._immedeateAccepted=!0},this),p))},move:function(n){if(this._stage===o&&this._directionConfirmed(n)){if(this._stage=u,this._resetActiveElement(),this._togglePointerAddons(!1,n),this._clearSelection(n),this._adjustStartEvent(n),this._start(this._startEvent),this._prevEventData=r.eventData(this._startEvent),this._stage===e)return;this._requestAccept(n),this._move(n),this._forgetAccept()}else this._stage===u&&this._move(n);this._prevEventData=r.eventData(n)},_directionConfirmed:function(n){var i=this._getTouchBoundary(n),u=r.eventDelta(this._startEventData,r.eventData(n)),f=l(u.x),e=l(u.y),o=this._validateMove(i,f,e),s=this._validateMove(i,e,f),t=this.getDirection(n),h=t==="both"&&(o||s),c=t==="horizontal"&&o,a=t==="vertical"&&s;return h||c||a||this._immedeateAccepted},_validateMove:function(n,t,i){return t&&t>=n&&(this.immediate?t>=i:!0)},_getTouchBoundary:function(n){return this.immediate||s(n)?y:v},_adjustStartEvent:function(n){var t=this._getTouchBoundary(n),i=r.eventDelta(this._startEventData,r.eventData(n));this._startEvent.pageX+=f.sign(i.x)*t,this._startEvent.pageY+=f.sign(i.y)*t},_resetActiveElement:function(){h.real().platform==="ios"&&n(":focus",this.getElement()).length&&f.resetActiveElement()},_togglePointerAddons:function(n,t){var i=this._stage===u;i&&(this._togglePointerInteration(n),s(t)||this._togglePointerCursor(n))},_togglePointerInteration:function(t){var i=h.real().platform==="generic";i&&(n("body").css("pointer-events",t?"":"none"),c.supportProp("user-select")&&n("body").css(c.styleProp("user-select"),t?"":"none"))},_togglePointerCursor:function(t){t?n("html").css("cursor",this._originalCursor):(this._originalCursor=n("html").css("cursor"),n("html").css("cursor",this.getElement().css("cursor")))},_clearSelection:function(n){s(n)||r.isTouchEvent(n)||f.clearSelection()},end:function(n){this._togglePointerAddons(!0,n),this._stage===u?this._end(n):this._stage===o&&this._stop(n),this._stage=e},dispose:function(){clearTimeout(this._immediateTimer),this.callBase.apply(this,arguments),this._togglePointerAddons(!0)},_init:n.noop,_start:n.noop,_move:n.noop,_stop:n.noop,_end:n.noop});n.extend(r,{GestureEmitter:w})}(jQuery,DevExpress),function(n,t){var v=t.ui,r=v.events,f="dxscrollinit",e="dxscrollstart",o="dxscroll",s="dxscrollend",h="dxscrollstop",c="dxscrollcancel",y=100,p=200,l=Math.round(1e3/60),u="dxGestureLock",w=200,a=r.addNamespace("scroll","dxScrollEmitter"),b=r.GestureEmitter.inherit({ctor:function(t){this.callBase.apply(this,arguments),this.direction="both",n.data(t,"scroll",n.proxy(this._treatScroll,this));n(t).on(a,n.proxy(this._treatScroll,this))},validate:function(){return!0},_domElement:function(){return this.getElement().get(0)},_treatScroll:function(){this._prepareGesture(),this._forgetGesture()},_prepareGesture:function(){this._gestureEndTimer?this._clearGestureTimer():n.data(this._domElement(),u,!0)},_forgetGesture:function(){var t=this;this._gestureEndTimer=setTimeout(function(){n.data(t._domElement(),u,!1),t._gestureEndTimer=null},w)},_init:function(t){n.data(this._domElement(),u)&&this._accept(t),this._fireEvent(f,t)},move:function(n){this.callBase.apply(this,arguments),n.isScrollingEvent=this.isNative||n.isScrollingEvent},_start:function(n){this._savedEventData=r.eventData(n),this._fireEvent(e,n,{delta:r.eventDelta(this._savedEventData,r.eventData(n))})},_move:function(n){var t=r.eventData(n),i;this._fireEvent(o,n,{delta:r.eventDelta(this._prevEventData,t)}),i=r.eventDelta(this._savedEventData,t),i.time>p&&(this._savedEventData=this._prevEventData)},_end:function(n){var f=r.eventDelta(this._prevEventData,r.eventData(n)),i={x:0,y:0},u=n.type==="dxmousewheel",t;f.time<y&&(t=r.eventDelta(this._savedEventData,this._prevEventData),i={x:u?0:t.x*l/t.time,y:u?0:t.y*l/t.time}),this._fireEvent(s,n,{velocity:i})},_stop:function(n){this._fireEvent(h,n)},cancel:function(n){this.callBase.apply(this,arguments),this._fireEvent(c,n)},dispose:function(){this.callBase.apply(this,arguments),n.data(this._domElement(),u,!1),this._clearGestureTimer(),this.getElement().off(a)},_clearGestureTimer:function(){clearTimeout(this._gestureEndTimer),this._gestureEndTimer=null}});r.registerEmitter({emitter:b,events:[f,e,o,s,h,c]})}(jQuery,DevExpress),function(n,t){var o=t.ui,r=o.events,u="dxswipestart",f="dxswipe",e="dxswipeend",s={defaultItemSizeFunc:function(){return this.getElement().width()},getBounds:function(){return[this._maxLeftOffset,this._maxRightOffset]},calcOffsetRatio:function(n){var t=r.eventData(n);return(t.x-(this._savedEventData&&this._savedEventData.x||0))/this._itemSizeFunc().call(this,n)},isFastSwipe:function(n){var t=r.eventData(n);return this.FAST_SWIPE_SPEED_LIMIT*Math.abs(t.x-this._tickData.x)>=t.time-this._tickData.time}},h={defaultItemSizeFunc:function(){return this.getElement().height()},getBounds:function(){return[this._maxTopOffset,this._maxBottomOffset]},calcOffsetRatio:function(n){var t=r.eventData(n);return(t.y-(this._savedEventData&&this._savedEventData.y||0))/this._itemSizeFunc().call(this,n)},isFastSwipe:function(n){var t=r.eventData(n);return this.FAST_SWIPE_SPEED_LIMIT*Math.abs(t.y-this._tickData.y)>=t.time-this._tickData.time}},c={horizontal:s,vertical:h},l=r.GestureEmitter.inherit({TICK_INTERVAL:300,FAST_SWIPE_SPEED_LIMIT:5,ctor:function(n){this.callBase(n),this.direction="horizontal",this.elastic=!0},_getStrategy:function(){return c[this.direction]},_defaultItemSizeFunc:function(){return this._getStrategy().defaultItemSizeFunc.call(this)},_itemSizeFunc:function(){return this.itemSizeFunc||this._defaultItemSizeFunc},_start:function(n){this._savedEventData=r.eventData(n),this._tickData={time:0},n=this._fireEvent(u,n),n.cancel||(this._maxLeftOffset=n.maxLeftOffset,this._maxRightOffset=n.maxRightOffset,this._maxTopOffset=n.maxTopOffset,this._maxBottomOffset=n.maxBottomOffset)},_move:function(n){var u=this._getStrategy(),i=r.eventData(n),t=u.calcOffsetRatio.call(this,n);t=this._fitOffset(t,this.elastic),i.time-this._tickData.time>this.TICK_INTERVAL&&(this._tickData=i),this._fireEvent(f,n,{offset:t}),n.preventDefault()},_end:function(n){var r=this._getStrategy(),u=r.calcOffsetRatio.call(this,n),f=r.isFastSwipe.call(this,n),t=u,i=this._calcTargetOffset(u,f);t=this._fitOffset(t,this.elastic),i=this._fitOffset(i,!1),this._fireEvent(e,n,{offset:t,targetOffset:i})},_fitOffset:function(n,t){var r=this._getStrategy(),i=r.getBounds.call(this);return n<-i[0]?t?(-2*i[0]+n)/3:-i[0]:n>i[1]?t?(2*i[1]+n)/3:i[1]:n},_calcTargetOffset:function(n,t){var i;return t?(i=Math.ceil(Math.abs(n)),n<0&&(i=-i)):i=Math.round(n),i}});r.registerEmitter({emitter:l,events:[u,f,e]})}(jQuery,DevExpress),function(n,t,i){var y=t.ui,p=t.utils,u=y.events,w=p.wrapToArray,l="dxdragstart",a="dxdrag",v="dxdragend",e="dxdragenter",o="dxdragleave",s="dxdrop",r=[],f=[],h=[],c={setup:function(t,i){var u=n.inArray(t,r)!==-1;u||(r.push(t),f.push([]),h.push(i||{}))},add:function(t,i){var u=n.inArray(t,r),e=i.selector;n.inArray(e,f[u])===-1&&f[u].push(e)},teardown:function(t){var l=n._data(t,"events"),c=0,u;n.each([e,o,s],function(n,t){var i=l[t];i&&(c+=i.length)}),c||(u=n.inArray(t,r),r.splice(u,1),f.splice(u,1),h.splice(u,1))}};u.registerEvent(e,c),u.registerEvent(o,c),u.registerEvent(s,c);var b=function(t){var o=n.inArray(t.get(0),r),e=f[o],u=t.find(e.join(", "));return n.inArray(i,e)!==-1&&(u=u.addBack()),u},k=function(t){var i=n.inArray(t.get(0),r);return h[i]},d=function(n,t){return n.itemPositionFunc?n.itemPositionFunc(t):t.offset()},g=function(n,t){return n.itemSizeFunc?n.itemSizeFunc(t):{width:t.width(),height:t.height()}},nt=u.GestureEmitter.inherit({ctor:function(n){this.callBase(n),this.direction="both"},_init:function(n){this._initEvent=n},_start:function(t){t=this._fireEvent(l,this._initEvent),this._maxLeftOffset=t.maxLeftOffset,this._maxRightOffset=t.maxRightOffset,this._maxTopOffset=t.maxTopOffset,this._maxBottomOffset=t.maxBottomOffset;var i=w(t.targetElements||(t.targetElements===null?[]:r));this._dropTargets=n.map(i,function(t){return n(t).get(0)})},_move:function(n){var i=u.eventData(n),t=this._calculateOffset(i);this._fireEvent(a,n,{offset:t}),this._processDropTargets(n,t),n.preventDefault()},_calculateOffset:function(n){return{x:this._calculateXOffset(n),y:this._calculateYOffset(n)}},_calculateXOffset:function(n){if(this.direction!=="vertical"){var t=n.x-this._startEventData.x;return this._fitOffset(t,this._maxLeftOffset,this._maxRightOffset)}return 0},_calculateYOffset:function(n){if(this.direction!=="horizontal"){var t=n.y-this._startEventData.y;return this._fitOffset(t,this._maxTopOffset,this._maxBottomOffset)}return 0},_fitOffset:function(n,t,i){return t!=null&&(n=Math.max(n,-t)),i!=null&&(n=Math.min(n,i)),n},_processDropTargets:function(n){var i=this._findDropTarget(n),r=i===this._currentDropTarget;r||(this._fireDropTargetEvent(n,o),this._currentDropTarget=i,this._fireDropTargetEvent(n,e))},_fireDropTargetEvent:function(n,t){if(this._currentDropTarget){var i={type:t,originalEvent:n,draggingElement:this._$element.get(0),target:this._currentDropTarget};u.fireEvent(i)}},_findDropTarget:function(t){var i=this,u;return n.each(r,function(r,f){if(i._checkDropTargetActive(f)){var e=n(f);n.each(b(e),function(r,f){var o=n(f);i._checkDropTarget(k(e),o,t)&&(u=f)})}}),u},_checkDropTargetActive:function(t){var i=!1;return n.each(this._dropTargets,function(r,u){return i=i||u===t||n.contains(u,t),!i}),i},_checkDropTarget:function(n,t,i){var f=t.get(0)===this._$element.get(0),r,u;return f?!1:(r=d(n,t),i.pageX<r.left)?!1:i.pageY<r.top?!1:(u=g(n,t),i.pageX>r.left+u.width)?!1:i.pageY>r.top+u.height?!1:t},_end:function(n){var t=u.eventData(n);this._fireEvent(v,n,{offset:this._calculateOffset(t)}),this._fireDropTargetEvent(n,s),delete this._currentDropTarget}});u.registerEmitter({emitter:nt,events:[l,a,v]})}(jQuery,DevExpress),function(n,t){var k=t.ui,s=t.utils,f=k.events,d=s.fitIntoRange,h="dx",g="transform",nt="translate",e="zoom",c="pinch",tt="rotate",l="start",a="",v="end",o=[],r=function(n,t){o.push({name:n,args:t})};r(g,{scale:!0,deltaScale:!0,rotation:!0,deltaRotation:!0,translation:!0,deltaTranslation:!0}),r(nt,{translation:!0,deltaTranslation:!0}),r(e,{scale:!0,deltaScale:!0}),r(c,{scale:!0,deltaScale:!0}),r(tt,{rotation:!0,deltaRotation:!0});var it=function(n,t){return{x:t.pageX-n.pageX,y:-t.pageY+n.pageY,centerX:(t.pageX+n.pageX)*.5,centerY:(t.pageY+n.pageY)*.5}},y=function(n){var t=n.pointers;return it(t[0],t[1])},u=function(n){return Math.sqrt(n.x*n.x+n.y*n.y)},p=function(n,t){return u(n)/u(t)},w=function(n,t){var e=n.x*t.x+n.y*t.y,i=u(n)*u(t),r,f;return i===0?0:(r=s.sign(n.x*t.y-t.x*n.y),f=Math.acos(d(e/i,-1,1)),r*f)},b=function(n,t){return{x:n.centerX-t.centerX,y:n.centerY-t.centerY}},rt=f.Emitter.inherit({configurate:function(n,i){i.indexOf(e)>-1&&t.log("W0005",i,"15.1","Use '"+i.replace(e,c)+"' event instead"),this.callBase(n)},validatePointers:function(n){return f.hasTouches(n)>1},start:function(n){this._accept(n);var t=y(n);this._startVector=t,this._prevVector=t,this._fireEventAliases(l,n)},move:function(n){var t=y(n),i=this._getEventArgs(t);this._fireEventAliases(a,n,i),this._prevVector=t},end:function(n){var t=this._getEventArgs(this._prevVector);this._fireEventAliases(v,n,t)},_getEventArgs:function(n){return{scale:p(n,this._startVector),deltaScale:p(n,this._prevVector),rotation:w(n,this._startVector),deltaRotation:w(n,this._prevVector),translation:b(n,this._startVector),deltaTranslation:b(n,this._prevVector)}},_fireEventAliases:function(t,i,r){r=r||{},n.each(o,n.proxy(function(u,f){var e={};n.each(f.args,function(n){n in r&&(e[n]=r[n])}),this._fireEvent(h+f.name+t,i,e)},this))}});f.registerEmitter({emitter:rt,events:n.map(o,function(t){var i=[];return n.each([l,a,v],function(n,r){i.push(h+t.name+r)}),i})})}(jQuery,DevExpress),function(n,t){var o=t.ui,r=o.events,s=t.utils,u="dxdblclick",h="dxDblClick",f=r.addNamespace("dxclick",h),e=300,c=t.Class.inherit({ctor:function(){this._handlerCount=0,this._forgetLastClick()},_forgetLastClick:function(){this._firstClickTarget=null,this._lastClickTimeStamp=-e},add:function(){if(this._handlerCount<=0)n(document).on(f,n.proxy(this._clickHandler,this));this._handlerCount++},_clickHandler:function(t){var i=t.timeStamp||n.now();i-this._lastClickTimeStamp<e?(r.fireEvent({type:u,target:s.closestCommonParent(this._firstClickTarget,t.target),originalEvent:t}),this._forgetLastClick()):(this._firstClickTarget=t.target,this._lastClickTimeStamp=i)},remove:function(){this._handlerCount--,this._handlerCount<=0&&(this._forgetLastClick(),n(document).off(f))}});r.registerEvent(u,new c)}(jQuery,DevExpress),function(n){(function(t){n.cleanData=function(i){return n.each(i,function(){n(this).triggerHandler("dxremove")}),t.apply(this,arguments)}})(n.cleanData)}(jQuery),function(n,t){var e=t.ui,r=e.events,o=t.support,u="dxContexMenu",s=r.addNamespace("contextmenu",u),h=r.addNamespace("dxhold",u),f="dxcontextmenu",c=t.Class.inherit({setup:function(i){var u=n(i);u.on(s,n.proxy(this._contextMenuHandler,this));if(o.touch||t.devices.isSimulator())u.on(h,n.proxy(this._holdHandler,this))},_holdHandler:function(n){(!r.isMouseEvent(n)||t.devices.isSimulator())&&this._fireContextMenu(n)},_contextMenuHandler:function(n){n=this._fireContextMenu(n),n.cancel||n.preventDefault()},_fireContextMenu:function(n){return r.fireEvent({type:f,originalEvent:n})},teardown:function(t){n(t).off("."+u)}});r.registerEvent(f,new c)}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f=t.utils,u=r.events,e="UIFeedback",c="dx-widget",l="dx-state-active",s="dx-state-disabled",a="dx-state-invisible",v="dx-state-hover",h="dx-state-focused",y=30,p=400,w="dxhoverstart",b="dxhoverend",o="Focus",k="template",d=3,g="[data-options*='dxTemplate']",nt="dx-template-wrapper",tt=r.TemplateBase.inherit({ctor:function(t,i){this.callBase(n(),i),this._compileFunction=t},_renderCore:function(n,t,r){n===i&&t===i&&(n=r,r=i);var u=t===i?this._compileFunction(n,r):this._compileFunction(n,t,r),f=u.render(n,r,t);return u.owner()===this&&u.dispose(),f}}),it=r.TemplateBase.inherit({ctor:function(t){this.callBase(n(),t)},_renderCore:function(){return n()}}),rt=r.TemplateBase.inherit({_renderCore:function(){return this._element}});r.Widget=t.DOMComponent.inherit({NAME:"Widget",_supportedKeys:function(){return{}},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{contentReadyAction:{since:"14.2",alias:"onContentReady"}})},_setDefaultOptions:function(){this.callBase(),this.option({disabled:!1,visible:!0,hint:i,activeStateEnabled:!1,onContentReady:null,hoverStateEnabled:!1,focusStateEnabled:!1,tabIndex:0,accessKey:null,onFocusIn:null,onFocusOut:null,templateProvider:r.TemplateProvider,_keyboardProcessor:i,_templates:{}})},_init:function(){this.callBase(),this._feedbackShowTimeout=y,this._feedbackHideTimeout=p,this._tempTemplates=[],this._dynamicTemplates={},this._initTemplates(),this._initContentReadyAction(),this._initFocusActions()},_initTemplates:function(){this._extractTemplates(),this._extractAnonimousTemplate()},_extractTemplates:function(){var r=this.option("_templates"),u=this.element().contents().filter(g),i={};u.each(function(r,u){var e=f.getElementOptions(u).dxTemplate;if(e){if(!e.name)throw t.Error("E0023");n(u).addClass(nt).detach(),i[e.name]=i[e.name]||[],i[e.name].push(u)}}),n.each(i,n.proxy(function(n,t){var i=this._findTemplateByDevice(t);i&&(r[n]=this._createTemplate(i,this))},this))},_findTemplateByDevice:function(i){var r=t.utils.findBestMatches(t.devices.current(),i,function(n){return f.getElementOptions(n).dxTemplate})[0];return n.each(i,function(t,i){i!==r&&n(i).remove()}),r},_extractAnonimousTemplate:function(){var t=this.option("_templates"),i=this._getAnonimousTemplateName(),r=this.element().contents().detach(),u=r.filter(function(t,i){var r=i.nodeType===d,u=n.trim(n(i).text()).length<1;return!(r&&u)}),f=u.length<1;t[i]||f||(t[i]=this._createTemplate(r,this))},_getAriaTarget:function(){return this.element()},_getAnonimousTemplateName:function(){return k},_getTemplateByOption:function(n){return this._getTemplate(this.option(n))},_getTemplate:function(t){if(n.isFunction(t)){var i=this;return new tt(function(){var n=t.apply(i,arguments);return f.isDefined(n)?i._acquireTemplate(n,this,!0):new it},this)}return this._acquireTemplate(t,this)},_acquireTemplate:function(t,i,u){var e,o,s;return t==null?this._createTemplate(f.normalizeTemplateElement(t),i):t instanceof r.TemplateBase?t:t.nodeType||t.jquery?(t=n(t),u&&!t.is("script"))?new rt(t,i):this._createTemplate(t,i):typeof t=="string"?(e=this.option("_templates")[t],e)?e:(o=this._dynamicTemplates[t],o)?o:(s=this.option("templateProvider").getTemplates(this)[t],s)?s:this._createTemplate(f.normalizeTemplateElement(t),i):this._acquireTemplate(t.toString(),i)},_createTemplate:function(n,t){var i=this.option("templateProvider").createTemplate(n,t);return this._tempTemplates.push(i),i},_cleanTemplates:function(){var t=this;n.each(this.option("_templates"),function(n,i){t===i.owner()&&i.dispose()}),n.each(this._tempTemplates,function(n,t){t.dispose()})},_initContentReadyAction:function(){this._contentReadyAction=this._createActionByOption("onContentReady",{excludeValidators:["designMode","disabled","readOnly"]})},_initFocusActions:function(){var n=this._createActionByOption("onFocusIn",{excludeValidators:["readOnly"]}),t=this._createActionByOption("onFocusOut",{excludeValidators:["readOnly"]});this._focusInAction=this._createAction(function(t){t.component._focusInHandler(t.jQueryEvent),n(t)},{excludeValidators:["readOnly"]}),this._focusOutAction=this._createAction(function(n){n.component._focusOutHandler(n.jQueryEvent),t(n)},{excludeValidators:["readOnly"]})},_render:function(){this.element().addClass(c),this.callBase(),this._toggleDisabledState(this.option("disabled")),this._toggleVisibility(this.option("visible")),this._renderHint(),this._renderContent(),this._renderFocusState(),this._attachFeedbackEvents(),this._attachHoverEvents()},_renderHint:function(){f.toggleAttr(this.element(),"title",this.option("hint"))},_renderContent:function(){this._renderContentImpl(),this._fireContentReadyAction()},_renderContentImpl:n.noop,_fireContentReadyAction:function(){this._contentReadyAction()},_dispose:function(){this._cleanTemplates(),this._contentReadyAction=null,this.callBase()},_clean:function(){this._cleanFocusState(),this.callBase(),this.element().empty()},_toggleVisibility:function(n){this.element().toggleClass(a,!n),this.setAria("hidden",!n||i)},_renderFocusState:function(){this.option("focusStateEnabled")&&!this.option("disabled")&&(this._renderFocusTarget(),this._attachFocusEvents(),this._attachKeyboardEvents(),this._renderAccessKey())},_renderAccessKey:function(){var t=this._focusTarget(),i;t.attr("accesskey",this.option("accessKey")),i=u.addNamespace("dxclick",e),t.off(i),this.option("accessKey")&&t.on(i,n.proxy(function(n){n.screenX!==0||n.offsetX||n.pageX!==0||(n.stopImmediatePropagation(),this.focus())},this))},_eventBindingTarget:function(){return this.element()},_focusTarget:function(){return this._getActiveElement()},_getActiveElement:function(){var n=this._eventBindingTarget();return this._activeStateUnit&&(n=n.find(this._activeStateUnit).not("."+s)),n},_renderFocusTarget:function(){this._focusTarget().attr("tabindex",this.option("tabIndex"))},_keyboardEventBindingTarget:function(){return this._eventBindingTarget()},_attachFocusEvents:function(){var t=u.addNamespace("focusin",this.NAME+o),i=u.addNamespace("focusout",this.NAME+o),r=u.addNamespace("beforeactivate",this.NAME+o);this._focusTarget().off("."+this.NAME+o).on(t,n.proxy(function(n){this._focusInAction({jQueryEvent:n})},this)).on(i,n.proxy(function(n){this._focusOutAction({jQueryEvent:n})},this)).on(r,function(t){n(t.target).is(":dx-focusable")||t.preventDefault()})},_focusInHandler:function(n){this._updateFocusState(n,!0)},_focusOutHandler:function(n){this._updateFocusState(n,!1)},_updateFocusState:function(t,i){var r=t.currentTarget,u=this._focusTarget();n.inArray(r,u)!==-1&&n(t.currentTarget).toggleClass(h,i)},_attachKeyboardEvents:function(){var n=this.option("_keyboardProcessor")||new r.KeyboardProcessor({element:this._keyboardEventBindingTarget(),focusTarget:this._focusTarget()});this._keyboardProcessor=n.reinitialize(this._keyboardHandler,this)},_keyboardHandler:function(t){var f=t.originalEvent,e=t.key,o=this._supportedKeys(),r=o[e],u;return r!==i?(u=n.proxy(r,this),u(f)||!1):!0},_refreshFocusState:function(){this._cleanFocusState(),this._renderFocusState()},_cleanFocusState:function(){var n=this._focusTarget();n.off("."+this.NAME+o),n.removeClass(h),n.removeAttr("tabindex"),this._keyboardProcessor&&this._keyboardProcessor.dispose()},_attachHoverEvents:function(){var i=this,r=i._activeStateUnit,f=u.addNamespace(w,e),o=u.addNamespace(b,e),s;if(i._eventBindingTarget().off(f,r).off(o,r),i.option("hoverStateEnabled")){s=new t.Action(function(n){i._hoverStartHandler(n.event);var t=n.element;i._refreshHoveredElement(t)});i._eventBindingTarget().on(f,r,function(t){s.execute({element:n(t.target),event:t})}).on(o,r,function(n){i._hoverEndHandler(n),i._forgetHoveredElement()})}else i._toggleHoverClass(!1)},_hoverStartHandler:n.noop,_hoverEndHandler:n.noop,_attachFeedbackEvents:function(){var i=this,r=i._activeStateUnit,f=u.addNamespace("dxactive",e),o=u.addNamespace("dxinactive",e);if(i._eventBindingTarget().off(f,r).off(o,r),i.option("activeStateEnabled")){var s=function(n){var t=n.element,r=n.value;i._toggleActiveState(t,r)},h=new t.Action(function(n){s(n)}),c=new t.Action(function(n){s(n)},{excludeValidators:["disabled","readOnly"]});i._eventBindingTarget().on(f,r,{timeout:i._feedbackShowTimeout},function(t){h.execute({element:n(t.currentTarget),value:!0})}).on(o,r,{timeout:i._feedbackHideTimeout},function(t){c.execute({element:n(t.currentTarget),value:!1})})}},_toggleActiveState:function(n,t){this._toggleHoverClass(!t),n.toggleClass(l,t)},_refreshHoveredElement:function(n){var t=this._activeStateUnit||this.element();this._forgetHoveredElement(),this._hoveredElement=n.closest(t),this._toggleHoverClass(!0)},_forgetHoveredElement:function(){this._toggleHoverClass(!1),delete this._hoveredElement},_toggleHoverClass:function(n){this._hoveredElement&&this._hoveredElement.toggleClass(v,n&&this.option("hoverStateEnabled"))},_toggleDisabledState:function(n){this.element().toggleClass(s,Boolean(n)),this._toggleHoverClass(!n),this.setAria("disabled",n||i)},_setWidgetOption:function(t,i){var r,u,f;if(this[t]){if(n.isPlainObject(i[0])){n.each(i[0],n.proxy(function(n,i){this._setWidgetOption(t,[n,i])},this));return}r=i[0],u=i[1],i.length===1&&(u=this.option(r)),f=this[t+"OptionMap"],this[t].option(f?f(r):r,u)}},_createComponent:function(n,t,i){return i=i||{},this._extendConfig(i,{templateProvider:this.option("templateProvider"),_templates:this.option("_templates")}),this.callBase(n,t,i)},_optionChanged:function(n){switch(n.name){case"disabled":this._toggleDisabledState(n.value),this._refreshFocusState();break;case"hint":this._renderHint();break;case"activeStateEnabled":this._attachFeedbackEvents();break;case"hoverStateEnabled":this._attachHoverEvents();break;case"tabIndex":case"_keyboardProcessor":case"focusStateEnabled":this._refreshFocusState();break;case"onFocusIn":case"onFocusOut":this._initFocusActions();break;case"accessKey":this._renderAccessKey();break;case"visible":var t=n.value;this._toggleVisibility(t),this._isVisibilityChangeSupported()&&this._visibilityChanged(t);break;case"onContentReady":this._initContentReadyAction();break;case"_templates":case"templateProvider":this._refresh();break;default:this.callBase(n)}},beginUpdate:function(){this._ready(!1),this.callBase()},endUpdate:function(){this.callBase(),this._initialized&&this._ready(!0)},_ready:function(n){if(arguments.length===0)return this._isReady;this._isReady=n},setAria:function(){var t=function(t){var u=n.inArray(t.name,["role","id"])+1?t.name:"aria-"+t.name,r=t.value;r=r===null||r===i?i:r.toString(),f.toggleAttr(t.target,u,r)},r;n.isPlainObject(arguments[0])?(r=arguments[1]||this._getAriaTarget(),n.each(arguments[0],function(n,i){t({name:n,value:i,target:r})})):t({name:arguments[0],value:arguments[1],target:arguments[2]||this._getAriaTarget()})},isReady:function(){return this._ready()},repaint:function(){this._refresh()},focus:function(){this._focusTarget().focus()},registerKeyHandler:function(t,i){var u=this._supportedKeys(),r={};r[t]=i,this._supportedKeys=function(){return n.extend(u,r)}}})}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u="dx-state-readonly",f="dx-invalid",e="dx-invalid-message",o="dx-invalid-message-auto",s="dx-invalid-message-always";r.validation=r.validation||{},r.validation.findGroup=function(){var n=this.option("validationGroup"),t;return n||(t=this.element().parents(".dx-validationgroup:first"),n=t.length?t.dxValidationGroup("instance"):this._modelByElement(this.element())),n},r.Editor=r.Widget.inherit({_init:function(){this.callBase(),this.validationRequest=n.Callbacks();var t=this.element();if(t){t.data("dx-validation-target",this);this.on("disposing",function(){t.data("dx-validation-target",null)})}this._createValueChangeAction()},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{valueChangeAction:{since:"14.2",alias:"onValueChanged",message:"'onValueChanged' option instead"}})},_setDefaultOptions:function(){this.callBase(),this.option({value:null,onValueChanged:null,activeStateEnabled:!0,readOnly:!1,isValid:!0,validationError:null,validationMessageMode:"auto",validationTooltipOffset:{h:0,v:-10}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="android"},options:{invalidTooltipOffset:{h:9,v:-7}}},{device:{platform:"win8"},options:{invalidTooltipOffset:{h:9,v:-4}}}])},_attachKeyboardEvents:function(){this.option("readOnly")||(this.callBase.apply(this,arguments),this._attachChildKeyboardEvents())},_attachChildKeyboardEvents:n.noop,_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{validationError:!0})},_createValueChangeAction:function(){this._valueChangeAction=this._createActionByOption("onValueChanged",{excludeValidators:["disabled","readOnly"]})},_suppressValueChangeAction:function(){this._valueChangeActionSuppressed=!0},_resumeValueChangeAction:function(){this._valueChangeActionSuppressed=!1},_render:function(){this._renderValidationState(),this._toggleReadOnlyState(),this.callBase()},_raiseValueChangeAction:function(n,t){this._valueChangeAction(this._valueChangeArgs(n,t))},_valueChangeArgs:function(n,t){return{value:n,previousValue:t,jQueryEvent:this._valueChangeEventInstance}},_saveValueChangeEvent:function(n){this._valueChangeEventInstance=n},_renderValidationState:function(){var r=this.option("isValid"),u=this.option("validationError"),h=this.option("validationMessageMode"),t=this.element();t.toggleClass(f,!r),this.setAria("invalid",!r||i),this._$validationMessage&&(this._$validationMessage.remove(),this._$validationMessage=null),!r&&u&&u.message&&(this._$validationMessage=n("<div/>",{"class":e}).text(u.message).appendTo(t),this._createComponent(this._$validationMessage,"dxTooltip",{target:t,container:t,position:this._getValidationTooltipPosition("below"),closeOnOutsideClick:!1,closeOnTargetScroll:!1,animation:null,visible:!0}),this._$validationMessage.toggleClass(o,h==="auto").toggleClass(s,h==="always"))},_getValidationTooltipPosition:function(n){var i=this.option("rtlEnabled"),r=i?"right":"left",u=this.option("validationTooltipOffset"),t={h:u.h,v:u.v},f=n==="below"?[" top"," bottom"]:[" bottom"," top"];return i&&(t.h=-t.h),n!=="below"&&(t.v=-t.v),{offset:t,my:r+f[0],at:r+f[1],collision:"none"}},_toggleReadOnlyState:function(){this.element().toggleClass(u,this.option("readOnly")),this.setAria("readonly",this.option("readOnly")||i)},_optionChanged:function(n){switch(n.name){case"onValueChanged":this._createValueChangeAction();break;case"isValid":case"validationError":case"validationMessageMode":this._renderValidationState();break;case"readOnly":this._toggleReadOnlyState(),this._refreshFocusState();break;case"value":this._valueChangeActionSuppressed||(this._raiseValueChangeAction(n.value,n.previousValue),this._saveValueChangeEvent(i)),n.value!=n.previousValue&&this.validationRequest.fire({value:n.value,editor:this});break;default:this.callBase(n)}},reset:function(){this.option("value",null)}})}(jQuery,DevExpress),function(n,t,i){var r=t.ui,h=t.utils,u=r.events,w="dx-collection",f="dx-item",c="-content",l="dx-item-content-placeholder",b="dxItemData",k="tmpl-",d="[data-options*='dxItem']",g="dx-item-selected",e="dx-state-focused",nt="dx-item-response-wait",tt="dx-empty-collection",it="dx-template-wrapper",o="up",s="down",a="left",v="right",rt="pageup",ut="pagedown",y="last",p="first",ft=r.Widget.inherit({NAME:"CollectionWidget",_activeStateUnit:"."+f,_supportedKeys:function(){var i=function(n){var t=this.option("focusedElement");t&&(n.target=t,n.currentTarget=t,this._itemClickHandler(n))},t=function(n,t){t.preventDefault(),t.stopPropagation(),this._moveFocus(n,t)};return n.extend(this.callBase(),{space:i,enter:i,leftArrow:n.proxy(t,this,a),rightArrow:n.proxy(t,this,v),upArrow:n.proxy(t,this,o),downArrow:n.proxy(t,this,s),pageUp:n.proxy(t,this,o),pageDown:n.proxy(t,this,s),home:n.proxy(t,this,p),end:n.proxy(t,this,y)})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{itemClickAction:{since:"14.2",alias:"onItemClick"},itemHoldAction:{since:"14.2",alias:"onItemHold"},itemRenderedAction:{since:"14.2",alias:"onItemRendered"},itemRender:{since:"14.2",alias:"itemTemplate"}})},_setDefaultOptions:function(){this.callBase(),this.option({selectOnFocus:!1,loopItemFocus:!0,items:[],itemTemplate:"item",onItemRendered:null,onItemClick:null,onItemHold:null,itemHoldTimeout:750,onItemContextMenu:null,onFocusedItemChanged:null,noDataText:Globalize.localize("dxCollectionWidget-noDataText"),dataSource:null,_itemAttributes:{},itemTemplateProperty:"template",focusOnSelectedItem:!0,focusedElement:null})},_getAnonimousTemplateName:function(){return"item"},_init:function(){this.callBase(),this._cleanRenderedItems(),this._refreshDataSource()},_initTemplates:function(){this._initItemsFromMarkup(),this.callBase()},_initItemsFromMarkup:function(){var t=this.element().contents().filter(d),i;t.length&&!this.option("items").length&&(i=n.map(t,n.proxy(function(t){var i=n(t),r=h.getElementOptions(t).dxItem,u=n.trim(i.html())&&!r.template;return u?r.template=this._prepareItemTemplate(i):i.remove(),r},this)),this.option("items",i))},_prepareItemTemplate:function(n){var i=k+new t.data.Guid,r='dxTemplate: { name: "'+i+'" }';return n.attr("data-options",r).data("options",r),i},_dataSourceOptions:function(){return{paginate:!1}},_cleanRenderedItems:function(){this._renderedItemsCount=0},_focusTarget:function(){return this.element()},_focusInHandler:function(){var t,i;this.callBase.apply(this,arguments),t=this.option("focusedElement"),t&&t.length?this._setFocusedItem(t):(i=this._getActiveItem(),this.option("focusedElement",i))},_focusOutHandler:function(){this.callBase.apply(this,arguments);var t=this.option("focusedElement");t&&t.removeClass(e)},_getActiveItem:function(n){var t=this.option("focusedElement");if(t&&t.length)return t;var i=this.option("focusOnSelectedItem")?this.option("selectedIndex"):0,r=this._getActiveElement(),u=r.length-1;return i<0&&(i=n?u:0),r.eq(i)},_renderFocusTarget:function(){this.callBase.apply(this,arguments),this._refreshActiveDescendant()},_moveFocus:function(n){var t=this._itemElements().filter(":visible").not(".dx-state-disabled"),i;switch(n){case rt:case o:i=this._prevItem(t);break;case ut:case s:i=this._nextItem(t);break;case v:i=this.option("rtlEnabled")?this._prevItem(t):this._nextItem(t);break;case a:i=this.option("rtlEnabled")?this._nextItem(t):this._prevItem(t);break;case p:i=t.first();break;case y:i=t.last();break;default:return!1}i.length!==0&&this.option("focusedElement",i)},_prevItem:function(t){var r=this._getActiveItem(),u=t.index(r),f=t.last(),i=n(t[u-1]),e=this.option("loopItemFocus");return i.length===0&&e&&(i=f),i},_nextItem:function(t){var r=this._getActiveItem(!0),u=t.index(r),f=t.first(),i=n(t[u+1]),e=this.option("loopItemFocus");return i.length===0&&e&&(i=f),i},_selectFocusedItem:function(n){this.selectItem(n)},_removeFocusedItem:function(n){n&&n.length&&(n.removeClass(e),n.removeAttr("id"))},_refreshActiveDescendant:function(){this.setAria("activedescendant",""),this.setAria("activedescendant",this.getFocusedItemId())},_setFocusedItem:function(n){if(n&&n.length){n.attr("id",this.getFocusedItemId()),n.addClass(e);this.onFocusedItemChanged(this.getFocusedItemId());this._refreshActiveDescendant(),this.option("selectOnFocus")&&this._selectFocusedItem(n)}},_optionChanged:function(n){switch(n.name){case"items":case"_itemAttributes":case"itemTemplateProperty":this._cleanRenderedItems(),this._invalidate();break;case"dataSource":this._refreshDataSource(),this._dataSource||this.option("items",[]),this._renderEmptyMessage();break;case"noDataText":this._renderEmptyMessage();break;case"itemTemplate":this._invalidate();break;case"onItemRendered":this._createItemRenderAction();break;case"onItemClick":break;case"onItemHold":case"itemHoldTimeout":this._attachHoldEvent();break;case"onItemContextMenu":this._attachContextMenuEvent();break;case"onFocusedItemChanged":this.onFocusedItemChanged=this._createActionByOption("onFocusedItemChanged");break;case"selectOnFocus":case"loopItemFocus":case"focusOnSelectedItem":break;case"focusedElement":this._removeFocusedItem(n.previousValue),this._setFocusedItem(n.value);break;default:this.callBase(n)}},_loadNextPage:function(){var n=this._dataSource;return this._expectNextPageLoading(),n.pageIndex(1+n.pageIndex()),n.load()},_expectNextPageLoading:function(){this._startIndexForAppendedItems=0},_expectLastItemLoading:function(){this._startIndexForAppendedItems=-1},_forgetNextPageLoading:function(){this._startIndexForAppendedItems=null},_dataSourceChangedHandler:function(n){var t=this.option("items");this._initialized&&t&&this._shouldAppendItems()?(this._renderedItemsCount=t.length,this._isLastPage()&&this._startIndexForAppendedItems===-1||(this.option().items=t.concat(n.slice(this._startIndexForAppendedItems))),this._forgetNextPageLoading(),this._renderContent(),this._renderFocusTarget()):this.option("items",n)},_dataSourceLoadErrorHandler:function(){this._forgetNextPageLoading(),this.option("items",this.option("items"))},_shouldAppendItems:function(){return this._startIndexForAppendedItems!=null&&this._allowDinamicItemsAppend()},_allowDinamicItemsAppend:function(){return!1},_clean:function(){this._cleanFocusState(),this._cleanItemContainer()},_cleanItemContainer:function(){this._itemContainer().empty()},_refresh:function(){this._cleanRenderedItems(),this.callBase.apply(this,arguments)},_itemContainer:function(){return this.element()},_itemClass:function(){return f},_itemContentClass:function(){return this._itemClass()+c},_selectedItemClass:function(){return g},_itemResponseWaitClass:function(){return nt},_itemSelector:function(){return"."+this._itemClass()},_itemDataKey:function(){return b},_itemElements:function(){return this._itemContainer().find(this._itemSelector())},_render:function(){this.callBase(),this.element().addClass(w),this._attachClickEvent(),this._attachHoldEvent(),this._attachContextMenuEvent(),this.onFocusedItemChanged=this._createActionByOption("onFocusedItemChanged")},_attachClickEvent:function(){var i=this._itemSelector(),r=u.addNamespace("dxclick",this.NAME),f=u.addNamespace("dxpointerdown",this.NAME),e=this,o=new t.Action(function(n){var t=n.event;e._itemPointerDownHandler(t)});this._itemContainer().off(r,i).off(f,i).on(r,i,n.proxy(this._itemClickHandler,this)).on(f,i,function(t){o.execute({element:n(t.target),event:t})})},_itemClickHandler:function(n){this._itemJQueryEventHandler(n,"onItemClick")},_itemPointerDownHandler:function(t){if(this.option("focusStateEnabled")){var i=this._itemClass(),r=n(t.target).closest("."+i);r.hasClass(i)&&this.option("focusedElement",r)}},_attachHoldEvent:function(){var t=this._itemContainer(),i=this._itemSelector(),r=u.addNamespace("dxhold",this.NAME);if(t.off(r,i),this._shouldAttachHoldEvent())t.on(r,i,{timeout:this._getHoldTimeout()},n.proxy(this._itemHoldHandler,this))},_getHoldTimeout:function(){return this.option("itemHoldTimeout")},_shouldAttachHoldEvent:function(){return this.option("onItemHold")},_itemHoldHandler:function(n){this._itemJQueryEventHandler(n,"onItemHold")},_attachContextMenuEvent:function(){var t=this._itemContainer(),i=this._itemSelector(),r=u.addNamespace("dxcontextmenu",this.NAME);if(t.off(r,i),this._shouldAttachContextMenuEvent())t.on(r,i,n.proxy(this._itemContextMenuHandler,this))},_shouldAttachContextMenuEvent:function(){return this.option("onItemContextMenu")},_itemContextMenuHandler:function(n){this._itemJQueryEventHandler(n,"onItemContextMenu")},_renderContentImpl:function(){var n=this.option("items")||[];this._renderedItemsCount?this._renderItems(n.slice(this._renderedItemsCount)):this._renderItems(n)},_renderItems:function(t){t.length&&n.each(t,n.proxy(this._renderItem,this)),this._renderEmptyMessage()},_renderItem:function(n,t,i){var r,u;return i=i||this._itemContainer(),r=this._renderItemFrame(n,t,i),this._setElementData(r,t),u=r.find("."+l),u.removeClass(l),u=this._renderItemContent(n,t,u),this._postprocessRenderItem({itemElement:r,itemContent:u,itemData:t,itemIndex:n}),this._executeItemRenderAction(n,t,r),this._attachItemClickEvent(t,r),r.attr(this.option("_itemAttributes"))},_attachItemClickEvent:function(t,i){if(t&&t.onClick)i.on("dxclick",n.proxy(function(n){this._itemEventHandlerByHandler(i,t.onClick,{jQueryEvent:n})},this))},_renderItemContent:function(n,t,i){var u=t&&t.node,f=this._getItemTemplateName(t),e=this._getTemplate(f,t,n,i),o={index:n,item:t,container:i},r;return u?(i.replaceWith(u),i=u,this._addItemContentClasses(i,t)):(this._addItemContentClasses(i,t),r=this._createItemByTemplate(e,o),r.hasClass(it)&&(i.replaceWith(r),i=r,this._addItemContentClasses(i,t))),i},_addItemContentClasses:function(n){n.addClass([f+c,this._itemContentClass()].join(" "))},_renderItemFrame:function(n,t,i){var u=this.option("templateProvider").getTemplates(this).itemFrame,r=u.render(h.isDefined(t)?t:{},i,n);return r.appendTo(i),r},_postprocessRenderItem:n.noop,_executeItemRenderAction:function(n,t,i){this._getItemRenderAction()({itemElement:i,itemIndex:n,itemData:t})},_setElementData:function(n,t){n.addClass([f,this._itemClass()].join(" ")).data(this._itemDataKey(),t)},_createItemRenderAction:function(){return this._itemRenderAction=this._createActionByOption("onItemRendered",{element:this.element(),excludeValidators:["designMode","disabled","readOnly"],category:"rendering"})},_getItemRenderAction:function(){return this._itemRenderAction||this._createItemRenderAction()},_getItemTemplateName:function(n){var t=this.option("itemTemplateProperty");return n&&n[t]||this.option("itemTemplate")},_createItemByTemplate:function(n,t){return n.render(t.item,t.container,t.index,"ignoreTarget")},_renderEmptyMessage:function(){var t=this.option("noDataText"),u=this.option("items"),r=!t||u&&u.length||this._isDataSourceLoading();r&&this._$nodata&&(this._$nodata.remove(),this._$nodata=null,this.setAria("label",i)),r||(this._$nodata=this._$nodata||n("<div>").addClass("dx-empty-message"),this._$nodata.appendTo(this._itemContainer()).html(t),this.setAria("label",t)),this.element().toggleClass(tt,!r)},_itemJQueryEventHandler:function(t,i,r,u){this._itemEventHandler(t.target,i,n.extend(r,{jQueryEvent:t}),u)},_itemEventHandler:function(t,i,r,u){var f=this._createActionByOption(i,n.extend({validatingTargetName:"itemElement"},u));return this._itemEventHandlerImpl(t,f,r)},_itemEventHandlerByHandler:function(t,i,r,u){var f=this._createAction(i,n.extend({validatingTargetName:"itemElement"},u));return this._itemEventHandlerImpl(t,f,r)},_itemEventHandlerImpl:function(t,i,r){var u=this._closestItemElement(n(t));return i(n.extend(this._extendActionArgs(u),r))},_extendActionArgs:function(n){return{itemElement:n,itemIndex:n.index(this._itemSelector()),itemData:this._getItemData(n)}},_closestItemElement:function(t){return n(t).closest(this._itemSelector())},_getItemData:function(t){return n(t).data(this._itemDataKey())},getFocusedItemId:function(){return this._focusedItemId||(this._focusedItemId=new DevExpress.data.Guid),this._focusedItemId},itemElements:function(){return this._itemElements()},itemsContainer:function(){return this._itemContainer()}}).include(r.DataHelperMixin);r.CollectionWidget=ft}(jQuery,DevExpress),function(n,t,i){var u=t.ui,r=t.utils,f="dxItemDeleting",e=u.CollectionWidget.inherit({_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{selectedItem:!0})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{itemSelectAction:{since:"14.2",message:"Use the 'onSelectionChanged' option instead"}})},_setDefaultOptions:function(){this.callBase(),this.option({selectionMode:"none",selectionRequired:!1,selectionByClick:!0,selectedItems:[],selectedIndex:-1,selectedItem:null,onSelectionChanged:null,onItemReordered:null,onItemDeleting:null,onItemDeleted:null})},_init:function(){this.callBase(),this._initEditStrategy(),this._selectedItemIndices=[]},_initEditStrategy:function(){var n=u.CollectionWidget.PlainEditStrategy;this._editStrategy=new n(this)},_render:function(){this._syncSelectionOptions(),this._normalizeSelectedItems(),this._initSelectedItems(),this.callBase(),this._renderSelection(this._selectedItemIndices,[])},_syncSelectionOptions:function(n){n=n||this._chooseSelectOption();var t,i;switch(n){case"selectedIndex":t=this._editStrategy.getItemDataByIndex(this.option("selectedIndex")),r.isDefined(t)?(this._setOptionSilent("selectedItems",[t]),this._setOptionSilent("selectedItem",t)):(this._setOptionSilent("selectedItems",[]),this._setOptionSilent("selectedItem",null));break;case"selectedItems":i=this.option("selectedItems")||[],this._setOptionSilent("selectedItem",i[0]),this._setOptionSilent("selectedIndex",this._editStrategy.getIndexByItemData(i[0]));break;case"selectedItem":t=this.option("selectedItem"),r.isDefined(t)?(this._setOptionSilent("selectedItems",[t]),this._setOptionSilent("selectedIndex",this._editStrategy.getIndexByItemData(t))):(this._setOptionSilent("selectedItems",[]),this._setOptionSilent("selectedIndex",-1))}},_chooseSelectOption:function(){var n="selectedIndex";return this.option("selectedItems").length?n="selectedItems":r.isDefined(this.option("selectedItem"))&&(n="selectedItem"),n},_normalizeSelectedItems:function(){var n,t;this.option("selectionMode")==="none"?(this._setOptionSilent("selectedItems",[]),this._syncSelectionOptions("selectedItems")):this.option("selectionMode")==="single"&&(n=this._editStrategy.selectedItemIndices(this.option("selectedItems")),(n.length>1||!n.length&&this.option("selectionRequired")&&this.option("items")&&this.option("items").length)&&(t=[n[0]||this._selectedItemIndices[0]||0],this._setOptionSilent("selectedItems",this._editStrategy.fetchSelectedItems(t)),this._syncSelectionOptions("selectedItems")))},_initSelectedItems:function(){this._selectedItemIndices=this._editStrategy.selectedItemIndices(this.option("selectedItems"))},_renderSelection:n.noop,_itemClickHandler:function(t){this._createAction(n.proxy(function(n){this._itemSelectHandler(n.jQueryEvent)},this),{validatingTargetName:"itemElement"})({itemElement:n(t.currentTarget),jQueryEvent:t}),this.callBase.apply(this,arguments)},_itemSelectHandler:function(n){if(this.option("selectionByClick")){var t=n.currentTarget;this.isItemSelected(t)?this.unselectItem(n.currentTarget):this.selectItem(n.currentTarget)}},_selectedItemElement:function(n){return this._itemElements().eq(n)},_postprocessRenderItem:function(t){var i=n(t.itemElement);this._isItemSelected(this._editStrategy.getNormalizedIndex(i))?(i.addClass(this._selectedItemClass()),this._setAriaSelected(i,"true")):this._setAriaSelected(i,"false")},_updateSelectedItems:function(){var u=this._selectedItemIndices.slice(),f=this._editStrategy.selectedItemIndices(),t=r.removeDublicates(f,u),i=r.removeDublicates(u,f),e;n.each(i,n.proxy(function(n,t){this._removeSelection(t)},this)),n.each(t,n.proxy(function(n,t){this._addSelection(t)},this)),(i.length||t.length)&&(e=this._selectionChangePromise,this._updateSelection(t,i),n.when(e).done(n.proxy(function(){this._fireSelectItemEvent(t,i),this._fireSelectionChangeEvent(t,i)},this)))},_fireSelectionChangeEvent:function(n,t){this._createActionByOption("onSelectionChanged",{excludeValidators:["disabled","readOnly"]})({addedItems:this._editStrategy.fetchSelectedItems(n),removedItems:this._editStrategy.fetchSelectedItems(t)})},_fireSelectItemEvent:function(n,t){(this.NAME!=="dxList"||this.option("selectionMode")==="single")&&this._itemEventHandler(this._selectedItemElement(n[0]),"itemSelectAction",{selectedIndex:n[0],previousIndex:t[0]},{excludeValidators:["disabled","readOnly"]})},_updateSelection:function(){this._renderSelection.apply(this,arguments)},_setAriaSelected:function(n,t){this.setAria("selected",t,n)},_removeSelection:function(t){var i=this._editStrategy.getItemElement(t),r=n.inArray(t,this._selectedItemIndices);r>-1&&(i.removeClass(this._selectedItemClass()),this._setAriaSelected(i,"false"),this._selectedItemIndices.splice(r,1),i.triggerHandler("stateChanged"),this.NAME==="dxList"&&this._itemEventHandler(i,"itemUnselectAction",{},{excludeValidators:["disabled","readOnly"]}))},_addSelection:function(n){var t=this._editStrategy.getItemElement(n);n>-1&&!this._isItemSelected(n)&&(t.addClass(this._selectedItemClass()),this._setAriaSelected(t,"true"),this._selectedItemIndices.push(n),t.triggerHandler("stateChanged"),this.NAME==="dxList"&&this._itemEventHandler(t,"itemSelectAction",{},{excludeValidators:["disabled","readOnly"]}))},_isItemSelected:function(t){return n.inArray(t,this._selectedItemIndices)>-1},_optionChanged:function(n){if(!this._cancelOptionChange)switch(n.name){case"items":n.previousValue&&n.previousValue.length>0&&this._clearSelectedItems(),this.callBase(n);break;case"selectionMode":this._invalidate();break;case"selectedIndex":case"selectedItem":case"selectedItems":this._syncSelectionOptions(n.name),this._normalizeSelectedItems(),this._updateSelectedItems();break;case"selectionRequired":this._normalizeSelectedItems(),this._updateSelectedItems();break;case"selectionByClick":case"onSelectionChanged":case"onItemDeleting":case"onItemDeleted":case"onItemReordered":case"itemSelectAction":case"itemUnselectAction":break;default:this.callBase(n)}},_clearSelectedItems:function(){this._selectedItemIndices=[],this.option("selectedItems",[])},_setOptionSilent:function(n,t){this._cancelOptionChange=!0,this.option(n,t),this._cancelOptionChange=!1},_waitDeletingPrepare:function(t){if(t.data(f))return n.Deferred().resolve().promise();t.data(f,!0);var i=n.Deferred(),r=this._itemEventHandler(t,"onItemDeleting",{},{excludeValidators:["disabled","readOnly"]});return n.when(r).always(n.proxy(function(n){var u=!r,e=!u&&r.state()==="resolved",o=!!arguments.length,s=u||e&&!o||e&&n;t.data(f,!1),s?i.resolve():i.reject()},this)),i.promise()},_deleteItemFromDS:function(r){if(!this._dataSource)return n.Deferred().resolve().promise();var u=n.Deferred(),e=this.option("disabled"),f=this._dataSource.store();if(this.option("disabled",!0),!f.remove)throw t.Error("E1011");return f.remove(f.keyOf(this._getItemData(r))).done(function(n){n!==i?u.resolve():u.reject()}).fail(function(){u.reject()}),u.always(n.proxy(function(){this.option("disabled",e)},this)),u},_tryRefreshLastPage:function(){var t=n.Deferred();return this._isLastPage()||this.option("grouped")?t.resolve():this._refreshLastPage().done(function(){t.resolve()}),t.promise()},_refreshLastPage:function(){return this._expectLastItemLoading(),this._dataSource.load()},_updateSelectionAfterDelete:function(t){var i=n.inArray(t,this._selectedItemIndices);i>-1&&this._selectedItemIndices.splice(i,1),this._editStrategy.updateSelectionAfterDelete(t),this.option("selectedItems",this._editStrategy.fetchSelectedItems())},_simulateOptionChange:function(n){var i=this.option(n);i instanceof t.data.DataSource||this.fireEvent("optionChanged",[{name:n,fullName:n,value:i}])},isItemSelected:function(n){return this._isItemSelected(this._editStrategy.getNormalizedIndex(n))},selectItem:function(t){var i=this._editStrategy.getNormalizedIndex(t),u,r;i!==-1&&(u=n.inArray(i,this._selectedItemIndices),u===-1)&&(this.option("selectionMode")==="single"?this.option("selectedItems",this._editStrategy.fetchSelectedItems([i])):(r=this._selectedItemIndices.slice(),r.push(i),this.option("selectedItems",this._editStrategy.fetchSelectedItems(r))))},unselectItem:function(t){var u=this._editStrategy.getNormalizedIndex(t),r,i;u!==-1&&(r=n.inArray(u,this._selectedItemIndices),r!==-1)&&((i=this._selectedItemIndices.slice(),i.splice(r,1),this.option("selectionRequired")&&i.length===0)||this.option("selectedItems",this._editStrategy.fetchSelectedItems(i)))},deleteItem:function(t){var i=this,u=n.Deferred(),r=this._editStrategy.getItemElement(t),f=this._editStrategy.getNormalizedIndex(t),o=this._dataSource?"dataSource":"items",e=this._itemResponseWaitClass();return f>-1?this._waitDeletingPrepare(r).done(function(){r.addClass(e),i._deleteItemFromDS(r).done(function(){i._editStrategy.deleteItemAtIndex(f),i._simulateOptionChange(o),i._updateSelectionAfterDelete(f),i._itemEventHandler(r,"onItemDeleted",{},{beforeExecute:function(){r.detach()},excludeValidators:["disabled","readOnly"]}),i._renderEmptyMessage(),i._tryRefreshLastPage().done(function(){u.resolveWith(i)})}).fail(function(){r.removeClass(e),u.rejectWith(i)})}).fail(function(){u.rejectWith(i)}):u.rejectWith(i),u.promise()},reorderItem:function(t,i){var e=n.Deferred(),o=this,r=this._editStrategy,h=r.getItemElement(t),c=r.getItemElement(i),u=r.getNormalizedIndex(t),f=r.getNormalizedIndex(i),s,l=u>-1&&f>-1&&u!==f;return l?this._dataSource?(s="dataSource",e.resolveWith(this)):(s="items",e.resolveWith(this)):e.rejectWith(this),e.promise().done(function(){c[r.itemPlacementFunc(u,f)](h);var n=r.getSelectedItemsAfterReorderItem(u,f);r.moveItemAtIndexToIndex(u,f),o._selectedItemIndices=r.selectedItemIndices(n),o.option("selectedItems",r.fetchSelectedItems()),o._simulateOptionChange(s),o._itemEventHandler(h,"onItemReordered",{fromIndex:r.getIndex(u),toIndex:r.getIndex(f)},{excludeValidators:["disabled","readOnly"]})})}});u.CollectionWidget=e}(jQuery,DevExpress),function(n,t){var r=t.ui;r.CollectionWidget.EditStrategy=t.Class.inherit({ctor:function(n){this._collectionWidget=n},getIndexByItemData:t.abstract,getItemDataByIndex:t.abstract,getNormalizedIndex:function(n){return this._isNormalisedItemIndex(n)?n:this._isItemIndex(n)?this._normalizeItemIndex(n):this._getNormalizedItemIndex(n)},getIndex:function(n){return this._isNormalisedItemIndex(n)?this._denormalizeItemIndex(n):this._isItemIndex(n)?n:this._denormalizeItemIndex(this._getNormalizedItemIndex(n))},getItemElement:function(t){return this._isNormalisedItemIndex(t)?this._getItemByNormalizedIndex(t):this._isItemIndex(t)?this._getItemByNormalizedIndex(this._normalizeItemIndex(t)):n(t)},deleteItemAtIndex:t.abstract,updateSelectionAfterDelete:t.abstract,fetchSelectedItems:t.abstract,selectedItemIndices:t.abstract,itemPlacementFunc:function(n,t){return this._itemsFromSameParent(n,t)&&n<t?"after":"before"},moveItemAtIndexToIndex:t.abstract,getSelectedItemsAfterReorderItem:function(){return this._collectionWidget.option("selectedItems")},_isNormalisedItemIndex:function(t){return n.isNumeric(t)},_isItemIndex:t.abstract,_getNormalizedItemIndex:t.abstract,_normalizeItemIndex:t.abstract,_denormalizeItemIndex:t.abstract,_getItemByNormalizedIndex:t.abstract,_itemsFromSameParent:t.abstract})}(jQuery,DevExpress),function(n,t){var r=t.ui;r.CollectionWidget.PlainEditStrategy=r.CollectionWidget.EditStrategy.inherit({_getPlainItems:function(){return this._collectionWidget.option("items")||[]},getIndexByItemData:function(t){return n.inArray(t,this._getPlainItems())},getItemDataByIndex:function(n){return this._getPlainItems()[n]},deleteItemAtIndex:function(n){this._getPlainItems().splice(n,1)},updateSelectionAfterDelete:function(t){var i=this._collectionWidget._selectedItemIndices;n.each(i,function(n,r){r>t&&(i[n]-=1)})},fetchSelectedItems:function(t){t=t||this._collectionWidget._selectedItemIndices;var r=this._getPlainItems(),i=[];return n.each(t,function(n,t){i.push(r[t])}),i},selectedItemIndices:function(){var t=[],i=this._getPlainItems(),r=this._collectionWidget.option("selectedItems");return n.each(r,function(r,u){var f=n.inArray(u,i);f!==-1&&t.push(f)}),t},moveItemAtIndexToIndex:function(n,t){var i=this._getPlainItems(),r=i[n];i.splice(n,1),i.splice(t,0,r)},_isItemIndex:function(t){return n.isNumeric(t)},_getNormalizedItemIndex:function(n){return this._collectionWidget._itemElements().index(n)},_normalizeItemIndex:function(n){return n},_denormalizeItemIndex:function(n){return n},_getItemByNormalizedIndex:function(n){return this._collectionWidget._itemElements().eq(n)},_itemsFromSameParent:function(){return!0}})}(jQuery,DevExpress),function(n,t){var r=null,f=function(i){i=n.extend({position:"top"},i);var r=i.content;return delete i.content,n("<div />").html(r).appendTo(t.viewPort()).dxTooltip(i)},u=function(){r&&(r.remove(),r=null)},e={show:function(n){return u(),r=f(n),r.dxTooltip("show")},hide:function(){return r?r.dxTooltip("hide").done(u).promise():n.when()}};t.ui.tooltip=e}(jQuery,DevExpress));if(!DevExpress.MOD_WIDGETS_BASE){if(!window.DevExpress)throw Error("Required module is not referenced: core");(function(n,t){n.extend(t.ERROR_MESSAGES,{E1001:"Module '{0}'. Controller '{1}' is already registered",E1002:"Module '{0}'. Controller '{1}' must be inheritor of DevExpress.ui.dxDataGrid.Controller",E1003:"Module '{0}'. View '{1}' is already registered",E1004:"Module '{0}'. View '{1}' must be inheritor of DevExpress.ui.dxDataGrid.View",E1005:"Public method '{0}' is already registered",E1006:"Public method '{0}.{1}' is not exists",E1007:"State storing can not be provided due to the restrictions of your browser",E1010:"A template should contain dxTextBox widget",E1011:"You have to implement 'remove' method in dataStore used by dxList to be able to delete items",E1012:"Editing type '{0}' with name '{1}' not supported",E1016:"Unexpected type of data source is provided for a lookup column",E1018:"The 'collapseAll' method cannot be called when using a remote data source",E1019:"Search mode '{0}' is unavailable",E1020:"Type can not be changed after initialization",E1021:"{0} '{1}' you are trying to remove does not exist",E1022:"Markers option should be an array",E1023:"Routes option should be an array",E1024:"Google provider cannot be used in WinJS application",E1025:"This layout is too complex to render",E1026:"The 'custom' value is set to a summary item's summaryType option, but a function for calculating the custom summary is not assigned to the grid's calculateCustomSummary option",E1030:"Unknown dxScrollView refresh strategy: '{0}'",E1031:"Unknown subscription is detected in the dxScheduler widget: '{0}'",E1032:"Unknown start date is detected in an appointment of the dxScheduler widget: '{0}'",E1033:"Unknown step is specified for the scheduler's navigator: '{0}'",E1034:"The current browser does not implement an API required for saving files",W1001:"Key option can not be modified after initialization",W1002:"Item '{0}' you are trying to select does not exist",W1003:"Group with key '{0}' in which you are trying to select items does not exist",W1004:"Item '{0}' you are trying to select in group '{1}' does not exist",W1005:"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns."})})(jQuery,DevExpress),function(n,t){var o=t.ui,e=o.events,u="dxScrollable",a="dxScrollableStrategy",h="dx-scrollable",v="dx-scrollable-disabled",y="dx-scrollable-container",c="dx-scrollable-content",r="vertical",f="horizontal",s="both",l=function(){return[{device:function(){return!t.support.nativeScrolling},options:{useNative:!1}},{device:function(n){return!t.support.nativeScrolling&&!t.devices.isSimulator()&&t.devices.real().platform==="generic"&&n.platform==="generic"},options:{bounceEnabled:!1,scrollByThumb:!0,scrollByContent:t.support.touch,showScrollbar:"onHover"}}]};t.registerComponent(u,o,t.DOMComponent.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{updateAction:{since:"14.2",alias:"onUpdated"},scrollAction:{since:"14.2",alias:"onScroll"},startAction:{since:"14.2",alias:"onStart"},stopAction:{since:"14.2",alias:"onStop"},endAction:{since:"14.2",alias:"onEnd"}})},_setDefaultOptions:function(){this.callBase(),this.option({disabled:!1,onScroll:null,direction:r,showScrollbar:"onScroll",useNative:!0,bounceEnabled:!0,scrollByContent:!0,scrollByThumb:!1,onUpdated:null,onStart:null,onEnd:null,onBounce:null,onStop:null,useSimulatedScrollbar:!1,useKeyboard:!0,inertiaEnabled:!0,pushBackValue:0})},_defaultOptionsRules:function(){return this.callBase().concat(l(),[{device:function(){return t.support.nativeScrolling&&t.devices.real().platform==="android"},options:{useSimulatedScrollbar:!0}},{device:function(){return t.devices.real().platform==="ios"},options:{pushBackValue:1}}])},_initOptions:function(n){this.callBase(n),"useSimulatedScrollbar"in n||this._setUseSimulatedScrollbar()},_setUseSimulatedScrollbar:function(){this._initialOptions.useSimulatedScrollbar||this.option("useSimulatedScrollbar",!this.option("useNative"))},_init:function(){this.callBase(),this._initMarkup(),this._attachNativeScrollbarsCustomizationCss(),this._locked=!1},_visibilityChanged:function(n){this.element().is(":hidden")||(n?(this.update(),this._toggleRTLDirection(this.option("rtlEnabled")),this._savedScrollOffset&&this.scrollTo(this._savedScrollOffset)):this._savedScrollOffset=this.scrollOffset())},_initMarkup:function(){var t=this.element().addClass(h),i=this._$container=n("<div>").addClass(y),r=this._$content=n("<div>").addClass(c);r.append(t.contents()).appendTo(i),i.appendTo(t)},_dimensionChanged:function(){this.update()},_attachNativeScrollbarsCustomizationCss:function(){navigator.platform.indexOf("Mac")>-1&&DevExpress.browser.webkit||this.element().addClass("dx-scrollable-customizable-scrollbars")},_render:function(){this._renderPushBackOffset(),this._renderDirection(),this._renderStrategy(),this._attachEventHandlers(),this._renderDisabledState(),this._createActions(),this.update(),this.callBase()},_renderPushBackOffset:function(){var n=this.option("pushBackValue");this._$content.css({paddingTop:n,paddingBottom:n})},_toggleRTLDirection:function(n){this.callBase(n),n&&this.option("direction")!==r&&this.scrollTo({left:this.scrollWidth()-this.clientWidth()})},_attachEventHandlers:function(){var t=this._strategy,i={getDirection:n.proxy(t.getDirection,t),validate:n.proxy(this._validate,this),isNative:this.option("useNative")};this._$container.off("."+u).on(e.addNamespace("scroll",u),n.proxy(t.handleScroll,t)).on(e.addNamespace("dxscrollinit",u),i,n.proxy(this._initHandler,this)).on(e.addNamespace("dxscrollstart",u),n.proxy(t.handleStart,t)).on(e.addNamespace("dxscroll",u),n.proxy(t.handleMove,t)).on(e.addNamespace("dxscrollend",u),n.proxy(t.handleEnd,t)).on(e.addNamespace("dxscrollcancel",u),n.proxy(t.handleCancel,t)).on(e.addNamespace("dxscrollstop",u),n.proxy(t.handleStop,t))},_validate:function(n){return this._isLocked()?!1:(this.update(),this._strategy.validate(n))},_initHandler:function(){var n=this._strategy;n.handleInit.apply(n,arguments)},_renderDisabledState:function(){this.element().toggleClass(v,this.option("disabled")),this.option("disabled")?this._lock():this._unlock()},_renderDirection:function(){this.element().removeClass("dx-scrollable-"+f).removeClass("dx-scrollable-"+r).removeClass("dx-scrollable-"+s).addClass("dx-scrollable-"+this.option("direction"))},_renderStrategy:function(){this._createStrategy(),this._strategy.render(),this.element().data(a,this._strategy)},_createStrategy:function(){this._strategy=this.option("useNative")?new o.dxScrollable.NativeStrategy(this):new o.dxScrollable.SimulatedStrategy(this)},_createActions:function(){this._strategy.createActions()},_clean:function(){this._strategy.dispose()},_optionChanged:function(n){switch(n.name){case"onStart":case"onEnd":case"onStop":case"onUpdated":case"onScroll":case"onBounce":this._createActions();break;case"direction":this._resetInactiveDirection(),this._invalidate();break;case"useNative":this._setUseSimulatedScrollbar(),this._invalidate();break;case"inertiaEnabled":case"bounceEnabled":case"scrollByContent":case"scrollByThumb":case"bounceEnabled":case"useKeyboard":case"showScrollbar":case"useSimulatedScrollbar":case"pushBackValue":this._invalidate();break;case"disabled":this._renderDisabledState();break;default:this.callBase(n)}},_resetInactiveDirection:function(){var t=this._getInactiveProp(),n;t&&(n=this.scrollOffset(),n[t]=0,this.scrollTo(n))},_getInactiveProp:function(){var n=this.option("direction");return n===r?"left":n===f?"top":void 0},_location:function(){return this._strategy.location()},_normalizeLocation:function(t){var i=this.option("direction");return{left:n.isPlainObject(t)?-(t.left||t.x||0):i!==r?-t:0,top:n.isPlainObject(t)?-(t.top||t.y||0):i!==f?-t:0}},_isLocked:function(){return this._locked},_lock:function(){this._locked=!0},_unlock:function(){this._locked=!1},_isDirection:function(n){var t=this.option("direction");return n===r?t!==f:n===f?t!==r:t===n},_updateAllowedDirection:function(){var n=this._strategy._allowedDirections();this._allowedDirectionValue=this._isDirection(s)&&n.vertical&&n.horizontal?s:this._isDirection(f)&&n.horizontal?f:this._isDirection(r)&&n.vertical?r:null},_allowedDirection:function(){return this._allowedDirectionValue},content:function(){return this._$content},scrollOffset:function(){var n=this._location();return{top:-n.top,left:-n.left}},scrollTop:function(){return this.scrollOffset().top},scrollLeft:function(){return this.scrollOffset().left},clientHeight:function(){return this._$container.height()},scrollHeight:function(){return this.content().height()},clientWidth:function(){return this._$container.width()},scrollWidth:function(){return this.content().width()},update:function(){return this._strategy.update(),this._updateAllowedDirection(),n.when().promise()},scrollBy:function(n){(n=this._normalizeLocation(n),n.top||n.left)&&this._strategy.scrollBy(n)},scrollTo:function(n){n=this._normalizeLocation(n);var t=this._location();this.scrollBy({left:t.left-n.left,top:t.top-n.top})},scrollToElement:function(t,i){var e,o;i=i||{};var u=n(t),s=this.content().find(t).length,l=u.parents("."+h).length-u.parents("."+c).length==0;s&&l&&(e={top:0,left:0},o=this.option("direction"),o!==r&&(e.left=this._scrollToElementPosition(u,f,i)),o!==f&&(e.top=this._scrollToElementPosition(u,r,i)),this.scrollTo(e))},_scrollToElementPosition:function(n,t,i){var u=t===r,o=(u?i.top:i.left)||0,v=(u?i.bottom:i.right)||0,y=u?this.option("pushBackValue"):0,s=this._elementPositionRelativeToContent(n,u?"top":"left"),e=s-y,h=n[u?"outerHeight":"outerWidth"](),c=s+h,f=(u?this.scrollTop():this.scrollLeft())-o,l=(u?this.clientHeight():this.clientWidth())-o-v,a=f+l,p=f<=e&&a>=c,w=f>=e&&a<=c,b=p||w,k=f>e;return b?f:e-(k?0:l-h)},_elementPositionRelativeToContent:function(n,t){for(var i=0;this._hasScrollContent(n);)i+=n.position()[t],n=n.offsetParent();return i},_hasScrollContent:function(n){var t=this.content();return n.closest(t).length&&!n.is(t)}})),o.dxScrollable.deviceDependentOptions=l}(jQuery,DevExpress),function(n,t){var e=t.ui,o=e.events,f="dxScrollbar",s="dx-scrollable-scrollbar",h=s+"-active",l="dx-scrollable-scroll",a="dx-scrollable-scroll-content",v="dx-scrollbar-hoverable",c="horizontal",y=15,r={onScroll:"onScroll",onHover:"onHover",always:"always",never:"never"},u;t.registerComponent(f,e.dxScrollable,e.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({direction:null,visible:!1,activeStateEnabled:!1,visibilityMode:r.onScroll,containerSize:0,contentSize:0,expandable:!0})},_init:function(){this.callBase(),this._isHovered=!1},_render:function(){this._renderThumb(),this.callBase(),this._renderDirection(),this._update(),this._attachPointerDownHandler(),this.option("hoverStateEnabled",this._isHoverMode()),this.element().toggleClass(v,this.option("hoverStateEnabled"))},_renderThumb:function(){this._$thumb=n("<div>").addClass(l),n("<div>").addClass(a).appendTo(this._$thumb),this.element().addClass(s).append(this._$thumb)},isThumb:function(n){return!!this.element().find(n).length},_isHoverMode:function(){return this.option("visibilityMode")===r.onHover&&this.option("expandable")},_renderDirection:function(){var n=this.option("direction");this.element().addClass("dx-scrollbar-"+n),this._dimension=n===c?"width":"height",this._prop=n===c?"left":"top"},_attachPointerDownHandler:function(){this._$thumb.on(o.addNamespace("dxpointerdown",f),n.proxy(this.feedbackOn,this))},feedbackOn:function(){this.element().addClass(h),u=this},feedbackOff:function(){this.element().removeClass(h),u=null},cursorEnter:function(){this._isHovered=!0,this.option("visible",!0)},cursorLeave:function(){this._isHovered=!1,this.option("visible",!1)},_renderDimensions:function(){this._$thumb.outerHeight(this.option("height")),this._$thumb.outerWidth(this.option("width"))},_toggleVisibility:function(n){this.option("visibilityMode")===r.onScroll&&this._$thumb.css("opacity"),n=this._adjustVisibility(n),this.option().visible=n,this._$thumb.toggleClass("dx-state-invisible",!n)},_adjustVisibility:function(n){if(this.containerToContentRatio()&&!this._needScrollbar())return!1;switch(this.option("visibilityMode")){case r.onHover:n=n||!!this._isHovered;break;case r.never:n=!1;break;case r.always:n=!0}return n},moveTo:function(i){if(!this._isHidden()){n.isPlainObject(i)&&(i=i[this._prop]||0);var r={};r[this._prop]=this._calculateScrollBarPosition(i),t.translator.move(this._$thumb,r)}},_calculateScrollBarPosition:function(n){return-n*this._thumbRatio},_update:function(){var n=this.option("containerSize"),i=this.option("contentSize"),t;this._containerToContentRatio=n/i,t=Math.round(Math.max(Math.round(n*this._containerToContentRatio),y)),this._thumbRatio=(n-t)/(i-n),this.option(this._dimension,t),this.element().toggle(this._needScrollbar())},_isHidden:function(){return this.option("visibilityMode")===r.never},_needScrollbar:function(){return!this._isHidden()&&this._containerToContentRatio<1},containerToContentRatio:function(){return this._containerToContentRatio},_normalizeSize:function(t){return n.isPlainObject(t)?t[this._dimension]||0:t},_clean:function(){this.callBase(),this===u&&(u=null),this._$thumb.off("."+f)},_optionChanged:function(n){if(!this._isHidden())switch(n.name){case"containerSize":case"contentSize":this.option()[n.name]=this._normalizeSize(n.value),this._update();break;case"visibilityMode":case"direction":this._invalidate();break;default:this.callBase.apply(this,arguments)}},update:function(){this._adjustVisibility()&&this.option("visible",!0)}})),u=null;n(document).on(o.addNamespace("dxpointerup",f),function(){u&&u.feedbackOff()})}(jQuery,DevExpress),function(n,t,i){var o=t.ui,s=t.devices,e="dxNativeScrollable",f="dx-scrollable-native",h="dx-scrollable-scrollbar-simulated",c="dx-scrollable-scrollbars-hidden",r="vertical",u="horizontal",l=500;o.dxScrollable.NativeStrategy=t.Class.inherit({ctor:function(n){this._init(n)},_init:function(t){this._component=t,this._$element=t.element(),this._$container=t._$container,this._$content=t._$content,this._direction=t.option("direction"),this._useSimulatedScrollbar=t.option("useSimulatedScrollbar"),this._showScrollbar=t.option("showScrollbar"),this.option=n.proxy(t.option,t),this._createActionByOption=n.proxy(t._createActionByOption,t),this._isLocked=n.proxy(t._isLocked,t),this._isDirection=n.proxy(t._isDirection,t),this._allowedDirection=n.proxy(t._allowedDirection,t)},render:function(){var n=s.real(),t=n.platform;this._$element.addClass(f).addClass(f+"-"+t).toggleClass(c,!this._showScrollbar),this._showScrollbar&&this._useSimulatedScrollbar&&this._renderScrollbars()},_renderScrollbars:function(){this._scrollbars={},this._hideScrollbarTimeout=0,this._$element.addClass(h),this._renderScrollbar(r),this._renderScrollbar(u)},_renderScrollbar:function(t){if(this._isDirection(t)){var i=n("<div>").dxScrollbar({direction:t,expandable:this._component.option("scrollByThumb")}).appendTo(this._$element);this._scrollbars[t]=i.dxScrollbar("instance")}},handleInit:n.noop,handleStart:n.noop,handleMove:function(n){if(this._isLocked()){n.cancel=!0;return}this._allowedDirection()&&(n.originalEvent.isScrollingEvent=!0)},handleEnd:n.noop,handleStop:n.noop,_eachScrollbar:function(t){t=n.proxy(t,this),n.each(this._scrollbars||{},function(n,i){t(i,n)})},createActions:function(){this._scrollAction=this._createActionByOption("onScroll"),this._updateAction=this._createActionByOption("onUpdated")},_createActionArgs:function(){var n=this.location();return{jQueryEvent:this._eventForUserAction,scrollOffset:{top:-n.top,left:-n.left},reachedLeft:this._isDirection(u)?n.left>=0:i,reachedRight:this._isDirection(u)?n.left<=this._containerSize.width-this._componentContentSize.width:i,reachedTop:this._isDirection(r)?n.top>=0:i,reachedBottom:this._isDirection(r)?n.top<=this._containerSize.height-this._componentContentSize.height:i}},handleScroll:function(n){if(!this._isScrollLocationChanged()){n.stopImmediatePropagation();return}this._eventForUserAction=n,this._moveScrollbars(),this._scrollAction(this._createActionArgs()),this._lastLocation=this.location(),this._pushBackFromBoundary()},_pushBackFromBoundary:function(){var n=this.option("pushBackValue");if(n){var t=this._containerSize.height-this._contentSize.height,i=this._$container.scrollTop(),r=t+i-n*2;i?r||this._$container.scrollTop(n-t):this._$container.scrollTop(n)}},_isScrollLocationChanged:function(){var n=this.location(),t=this._lastLocation||{},i=t.top!==n.top,r=t.left!==n.left;return i||r},_moveScrollbars:function(){this._eachScrollbar(function(n){n.moveTo(this.location()),n.option("visible",!0)}),this._hideScrollbars()},_hideScrollbars:function(){clearTimeout(this._hideScrollbarTimeout),this._hideScrollbarTimeout=setTimeout(n.proxy(function(){this._eachScrollbar(function(n){n.option("visible",!1)})},this),l)},location:function(){return{left:-this._$container.scrollLeft(),top:this.option("pushBackValue")-this._$container.scrollTop()}},disabledChanged:n.noop,update:function(){this._update(),this._updateAction(this._createActionArgs())},_update:function(){this._updateDimensions(),this._updateScrollbars()},_updateDimensions:function(){this._containerSize={height:this._$container.height(),width:this._$container.width()},this._componentContentSize={height:this._component.content().height(),width:this._component.content().width()},this._contentSize={height:this._$content.height(),width:this._$content.width()},this._pushBackFromBoundary()},_updateScrollbars:function(){this._eachScrollbar(function(n,t){var i=t===r?"height":"width";n.option({containerSize:this._containerSize[i],contentSize:this._componentContentSize[i]}),n.update()})},_allowedDirections:function(){return{vertical:this._isDirection(r)&&this._contentSize.height>this._containerSize.height,horizontal:this._isDirection(u)&&this._contentSize.width>this._containerSize.width}},dispose:function(){this._$element.removeClass(function(n,t){var i=new RegExp(f+"\\S*","g");if(i.test(t))return t.match(i).join(" ")}),this._$element.off("."+e),this._$container.off("."+e),this._removeScrollbars(),clearTimeout(this._gestureEndTimer),clearTimeout(this._hideScrollbarTimeout)},_removeScrollbars:function(){this._eachScrollbar(function(n){n.element().remove()})},scrollBy:function(n){var t=this.location();this._$container.scrollTop(-t.top-n.top+this.option("pushBackValue")),this._$container.scrollLeft(-t.left-n.left)},validate:function(){return!this.option("disabled")&&this._allowedDirection()},getDirection:function(){return this._allowedDirection()}})}(jQuery,DevExpress),function(n,t,i){var v=t.ui,h=v.events,o=Math,y=t.translator,k=t.devices.real,d=k.platform==="win8"||k.platform==="android",g="dxSimulatedScrollable",p="dxScrollableStrategy",c=g+"Cursor",w=g+"Keyboard",b="dx-scrollable-simulated",ft="dx-scrollable-scrollbars-hidden",et="dx-scrollable-scrollbar",u="vertical",r="horizontal",l=d?.95:.92,nt=.5,tt=1,ot=o.round(1e3/60),it=20,st=tt/5,ht=d?300:400,ct=ht/ot,lt=(1-o.pow(l,ct))/(1-l),e={PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40},rt=function(){var r=n.Callbacks(),u=50,t=null,i;n(window).on(h.addNamespace("focus",p),function(){t=n.now()});n(document).on(h.addNamespace("dxpointerdown",p),function(){t=n.now()});return i=function(i){var f=n.now()-t>u,e=i.target===document.activeElement;f&&e&&r.fire(i.target)},window.addEventListener?window.addEventListener("focus",i,!0):window.attachEvent("onfocusin",i),r}(),ut=t.Animator.inherit({ctor:function(n){this.callBase(),this.scroller=n},VELOCITY_LIMIT:tt,_isFinished:function(){return o.abs(this.scroller._velocity)<=this.VELOCITY_LIMIT},_step:function(){this.scroller._scrollStep(this.scroller._velocity),this.scroller._velocity*=this._acceleration()},_acceleration:function(){return this.scroller._inBounds()?l:nt},_complete:function(){this.scroller._scrollComplete()},_stop:function(){this.scroller._stopComplete()}}),at=ut.inherit({VELOCITY_LIMIT:st,_isFinished:function(){return this.scroller._crossBoundOnNextStep()||this.callBase()},_acceleration:function(){return l},_complete:function(){this.scroller._move(this.scroller._bounceLocation),this.callBase()}}),a=function(n){return n.type==="dxmousewheel"},vt=v.dxScrollable.Scroller=t.Class.inherit({ctor:function(n){this._initOptions(n),this._initAnimators(),this._initScrollbar()},_initOptions:function(t){this._location=0,this._topReached=!1,this._bottomReached=!1,this._axis=t.direction===r?"x":"y",this._prop=t.direction===r?"left":"top",this._dimension=t.direction===r?"width":"height",this._scrollProp=t.direction===r?"scrollLeft":"scrollTop",n.each(t,n.proxy(function(n,t){this["_"+n]=t},this))},_initAnimators:function(){this._inertiaAnimator=new ut(this),this._bounceAnimator=new at(this)},_initScrollbar:function(){this._$scrollbar=n("<div>").dxScrollbar({direction:this._direction,visible:this._scrollByThumb,visibilityMode:this._visibilityModeNormalize(this._scrollbarVisible),containerSize:this._containerSize(),contentSize:this._contentSize(),expandable:this._scrollByThumb}).appendTo(this._$container),this._scrollbar=this._$scrollbar.dxScrollbar("instance")},_visibilityModeNormalize:function(n){return n===!0?"onScroll":n===!1?"never":n},_scrollStep:function(t){var i=this._location;this._location+=t,this._suppressBounce(),this._move(),i!==this._location&&(this._scrollAction(),n.data(this._$container.get(0),"scroll")())},_suppressBounce:function(){this._bounceEnabled||this._inBounds(this._location)||(this._velocity=0,this._location=this._boundLocation())},_boundLocation:function(){var n=o.min(this._location,this._maxOffset);return o.max(n,this._minOffset)},_move:function(n){this._location=n!==i?n:this._location,this._moveContent(),this._moveScrollbar()},_moveContent:function(){var n={};n[this._prop]=this._location,y.move(this._$content,n)},_moveScrollbar:function(){this._scrollbar.moveTo(this._location)},_scrollComplete:function(){this._inBounds()&&(this._hideScrollbar(),this._correctLocation(),this._completeDeferred&&this._completeDeferred.resolve()),this._scrollToBounds()},_correctLocation:function(){this._location=o.round(this._location),this._move()},_scrollToBounds:function(){this._inBounds()||(this._bounceAction(),this._setupBounce(),this._bounceAnimator.start())},_setupBounce:function(){var n=this._bounceLocation=this._boundLocation(),t=n-this._location;this._velocity=t/lt},_inBounds:function(n){return n=n!==i?n:this._location,n>=this._minOffset&&n<=this._maxOffset},_crossBoundOnNextStep:function(){var n=this._location,t=n+this._velocity;return n<this._minOffset&&t>=this._minOffset||n>this._maxOffset&&t<=this._maxOffset},_initHandler:function(t){return this._stopDeferred=n.Deferred(),this._stopScrolling(),this._prepareThumbScrolling(t),this._stopDeferred.promise()},_stopScrolling:function(){this._hideScrollbar(),this._inertiaAnimator.stop(),this._bounceAnimator.stop()},_prepareThumbScrolling:function(t){if(!a(t.originalEvent)){var i=n(t.originalEvent.target),r=this._isScrollbar(i);r&&this._moveToMouseLocation(t),this._thumbScrolling=r||this._isThumb(i),this._thumbScrolling&&this._scrollbar.feedbackOn()}},_moveToMouseLocation:function(n){var t=n["page"+this._axis.toUpperCase()]-this._$element.offset()[this._prop],i=this._location+t/this._containerToContentRatio()-this._$container.height()/2;this._scrollStep(-i)},_stopComplete:function(){this._stopDeferred&&this._stopDeferred.resolve()},_startHandler:function(){this._showScrollbar()},_moveHandler:function(n){n=n[this._axis],this._thumbScrolling&&(n=-n/this._containerToContentRatio()),this._inBounds()||(n*=nt),this._scrollStep(n)},_containerToContentRatio:function(){return this._scrollbar.containerToContentRatio()},_endHandler:function(t){return this._completeDeferred=n.Deferred(),this._velocity=t[this._axis],this._inertiaHandler(),this._resetThumbScrolling(),this._completeDeferred.promise()},_inertiaHandler:function(){this._suppressIntertia(),this._inertiaAnimator.start()},_suppressIntertia:function(){(!this._inertiaEnabled||this._thumbScrolling)&&(this._velocity=0)},_resetThumbScrolling:function(){this._thumbScrolling=!1},_stopHandler:function(){this._resetThumbScrolling(),this._scrollToBounds()},_disposeHandler:function(){this._stopScrolling(),this._$scrollbar.remove()},_updateHandler:function(){this._update(),this._moveToBounds()},_update:function(){this._stopScrolling(),this._updateLocation(),this._updateBounds(),this._updateScrollbar(),this._moveScrollbar(),this._scrollbar.update()},_updateLocation:function(){this._location=y.locate(this._$content)[this._prop]},_updateBounds:function(){this._maxOffset=this._getMaxOffset(),this._minOffset=this._getMinOffset()},_getMaxOffset:function(){return 0},_getMinOffset:function(){return o.min(this._containerSize()-this._contentSize(),0)},_updateScrollbar:function(){this._scrollbar.option({containerSize:this._containerSize(),contentSize:this._contentSize()})},_moveToBounds:function(){this._location=this._boundLocation(),this._move()},_createActionsHandler:function(n){this._scrollAction=n.scroll,this._bounceAction=n.bounce},_showScrollbar:function(){this._scrollbar.option("visible",!0)},_hideScrollbar:function(){this._scrollbar.option("visible",!1)},_containerSize:function(){return this._$container[this._dimension]()},_contentSize:function(){return this._$content[this._dimension]()},_validateEvent:function(t){var i=n(t.originalEvent.target);return this._isThumb(i)||this._isScrollbar(i)?(t.preventDefault(),!0):this._isContent(i)},_isThumb:function(n){return this._scrollByThumb&&this._scrollbar.isThumb(n)},_isScrollbar:function(n){return this._scrollByThumb&&n&&n.is(this._$scrollbar)},_isContent:function(n){return this._scrollByContent&&!!n.closest(this._$element).length},_reachedMin:function(){return this._location<=this._minOffset},_reachedMax:function(){return this._location>=this._maxOffset},_cursorEnterHandler:function(){this._scrollbar.cursorEnter()},_cursorLeaveHandler:function(){this._scrollbar.cursorLeave()},dispose:n.noop}),f,s;v.dxScrollable.SimulatedStrategy=t.Class.inherit({ctor:function(n){this._init(n)},_init:function(t){this._component=t,this._$element=t.element(),this._$container=t._$container,this._$content=t._$content,this.option=n.proxy(t.option,t),this._createActionByOption=n.proxy(t._createActionByOption,t),this._isLocked=n.proxy(t._isLocked,t),this._isDirection=n.proxy(t._isDirection,t),this._allowedDirection=n.proxy(t._allowedDirection,t),this._proxiedActiveElementChangeHandler=n.proxy(this._activeElementChangeHandler,this),rt.add(this._proxiedActiveElementChangeHandler)},_activeElementChangeHandler:function(n){this._component.scrollToElement(n)},render:function(){this._$element.addClass(b),this._createScrollers(),this.option("useKeyboard")&&this._$container.prop("tabindex",0),this._attachKeyboardHandler(),this._attachCursorHandlers()},_createScrollers:function(){this._scrollers={},this._isDirection(r)&&this._createScroller(r),this._isDirection(u)&&this._createScroller(u),this._$element.toggleClass(ft,!this.option("showScrollbar"))},_createScroller:function(n){this._scrollers[n]=new vt(this._scrollerOptions(n))},_scrollerOptions:function(n){return{direction:n,$content:this._$content,$container:this._$container,$element:this._$element,scrollByContent:this.option("scrollByContent"),scrollByThumb:this.option("scrollByThumb"),scrollbarVisible:this.option("showScrollbar"),bounceEnabled:this.option("bounceEnabled"),inertiaEnabled:this.option("inertiaEnabled")}},handleInit:function(n){this._supressDirections(n),this._eventForUserAction=n,this._eventHandler("init",n).done(this._stopAction)},_supressDirections:function(n){if(a(n.originalEvent)){this._prepareDirections(!0);return}this._prepareDirections(),this._eachScroller(function(t,i){var r=t._validateEvent(n);this._validDirections[i]=r})},_prepareDirections:function(n){n=n||!1,this._validDirections={},this._validDirections[r]=n,this._validDirections[u]=n},_eachScroller:function(t){t=n.proxy(t,this),n.each(this._scrollers,function(n,i){t(i,n)})},handleStart:function(){this._saveActive(),this._eventHandler("start").done(this._startAction)},_saveActive:function(){s=this},_resetActive:function(){s=null},_validateDirection:function(n){var t=!1;return this._eachScroller(function(i){t=t||i._validateDirection(n)}),t},handleMove:function(n){if(this._isLocked()){n.cancel=!0,this._resetActive();return}n.preventDefault&&n.preventDefault(),this._adjustDistance(n.delta),this._eventForUserAction=n,this._eventHandler("move",n.delta)},_adjustDistance:function(n){n.x*=this._validDirections[r],n.y*=this._validDirections[u]},handleEnd:function(n){return this._resetActive(),this._refreshCursorState(n.originalEvent&&n.originalEvent.target),this._adjustDistance(n.velocity),this._eventForUserAction=n,this._eventHandler("end",n.velocity).done(this._endAction)},handleCancel:function(n){return this._resetActive(),this._eventForUserAction=n,this._eventHandler("end",{x:0,y:0})},handleStop:function(){this._resetActive(),this._eventHandler("stop")},handleScroll:function(){var n={left:this.option("direction")!==u?-this._$container.scrollLeft():0,top:this.option("direction")!==r?-this._$container.scrollTop():0};(n.left||n.top)&&(this._$container.scrollLeft(0),this._$container.scrollTop(0),this.scrollBy(n))},_attachKeyboardHandler:function(){if(this._$element.off("."+w),!this.option("disabled")&&this.option("useKeyboard"))this._$element.on(h.addNamespace("keydown",w),n.proxy(this._keyDownHandler,this))},_keyDownHandler:function(n){if(this._$container.is(document.activeElement)){var t=!0;switch(n.keyCode){case e.DOWN:this._scrollByLine({y:1});break;case e.UP:this._scrollByLine({y:-1});break;case e.RIGHT:this._scrollByLine({x:1});break;case e.LEFT:this._scrollByLine({x:-1});break;case e.PAGE_DOWN:this._scrollByPage(1);break;case e.PAGE_UP:this._scrollByPage(-1);break;case e.HOME:this._scrollToHome();break;case e.END:this._scrollToEnd();break;default:t=!1}t&&(n.stopPropagation(),n.preventDefault())}},_scrollByLine:function(n){this.scrollBy({top:(n.y||0)*-it,left:(n.x||0)*-it})},_scrollByPage:function(n){var t=this._wheelProp(),r=this._dimensionByProp(t),i={};i[t]=n*-this._$container[r](),this.scrollBy(i)},_dimensionByProp:function(n){return n==="left"?"width":"height"},_scrollToHome:function(){var t=this._wheelProp(),n={};n[t]=0,this._component.scrollTo(n)},_scrollToEnd:function(){var n=this._wheelProp(),t=this._dimensionByProp(n),i={};i[n]=this._$content[t]()-this._$container[t](),this._component.scrollTo(i)},createActions:function(){this._startAction=this._createActionHandler("onStart"),this._stopAction=this._createActionHandler("onStop"),this._endAction=this._createActionHandler("onEnd"),this._updateAction=this._createActionHandler("onUpdated"),this._createScrollerActions()},_createScrollerActions:function(){this._eventHandler("createActions",{scroll:this._createActionHandler("onScroll"),bounce:this._createActionHandler("onBounce")})},_createActionHandler:function(t){var i=this,r=i._createActionByOption(t);return function(){r(n.extend(i._createActionArgs(),arguments))}},_createActionArgs:function(){var n=this._scrollers[r],t=this._scrollers[u];return{jQueryEvent:this._eventForUserAction,scrollOffset:{top:t&&-t._location,left:n&&-n._location},reachedLeft:n&&n._reachedMax(),reachedRight:n&&n._reachedMin(),reachedTop:t&&t._reachedMax(),reachedBottom:t&&t._reachedMin()}},_eventHandler:function(t){var i=n.makeArray(arguments).slice(1),r=n.map(this._scrollers,function(n){return n["_"+t+"Handler"].apply(n,i)});return n.when.apply(n,r).promise()},location:function(){return y.locate(this._$content)},disabledChanged:function(){this._attachCursorHandlers()},_attachCursorHandlers:function(){if(this._$element.off("."+c),!this.option("disabled")&&this._isHoverMode())this._$element.on(h.addNamespace("mouseenter",c),n.proxy(this._cursorEnterHandler,this)).on(h.addNamespace("mouseleave",c),n.proxy(this._cursorLeaveHandler,this))},_isHoverMode:function(){return this.option("showScrollbar")==="onHover"},_cursorEnterHandler:function(n){(n=n||{},n.originalEvent=n.originalEvent||{},s||n.originalEvent._hoverHandled)||(f&&f._cursorLeaveHandler(),f=this,this._eventHandler("cursorEnter"),n.originalEvent._hoverHandled=!0)},_cursorLeaveHandler:function(n){f===this&&s!==f&&(this._eventHandler("cursorLeave"),f=null,this._refreshCursorState(n&&n.relatedTarget))},_refreshCursorState:function(t){if(this._isHoverMode()||t&&!s){var u=n(t),r=u.closest("."+b+":not(.dx-state-disabled)"),i=r.length&&r.data(p);f&&f!==i&&f._cursorLeaveHandler(),i&&i._cursorEnterHandler()}},update:function(){return this._eventHandler("update").done(this._updateAction)},_allowedDirections:function(){var n=this.option("bounceEnabled");return{vertical:this._isDirection(u)&&(this._scrollers[u]._minOffset<0||n),horizontal:this._isDirection(r)&&(this._scrollers[r]._minOffset<0||n)}},scrollBy:function(n){this._prepareDirections(!0),this._eventHandler("start").done(this._startAction),this._eventHandler("move",{x:n.left,y:n.top}),this._eventHandler("end",{x:0,y:0}).done(this._endAction)},validate:function(n){return this.option("disabled")?!1:this.option("bounceEnabled")?!0:a(n)?this._validateWheel(n):this._validateMove(n)},_validateWheel:function(n){var r=this._scrollers[this._wheelDirection()],t=r._reachedMin(),i=r._reachedMax(),u=!t||!i,f=!t&&!i,e=t&&n.delta>0,o=i&&n.delta<0;return u&&(f||e||o)},_validateMove:function(t){return!this.option("scrollByContent")&&!n(t.target).closest("."+et).length?!1:this._allowedDirection()},getDirection:function(n){return a(n)?this._wheelDirection():this._allowedDirection()},_wheelProp:function(){return this._wheelDirection()===r?"left":"top"},_wheelDirection:function(){switch(this.option("direction")){case r:return r;case u:return u;default:return this._scrollers[u]._containerToContentRatio()>=1?r:u}},dispose:function(){rt.remove(this._proxiedActiveElementChangeHandler),s===this&&(s=null),f===this&&(f=null),this._eventHandler("dispose"),this._detachEventHandlers(),this._$element.removeClass(b),this._eventForUserAction=null,clearTimeout(this._gestureEndTimer)},_detachEventHandlers:function(){this._$element.off("."+c),this._$container.off("."+w)}})}(jQuery,DevExpress),function(n,t,i){var u=t.ui,r="dx-scrollview",e=r+"-content",o=r+"-top-pocket",s=r+"-bottom-pocket",h=r+"-pull-down",f=r+"-scrollbottom",c=f+"-indicator",l=f+"-text",a=r+"-loadpanel";t.registerComponent("dxScrollView",u,u.dxScrollable.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{pullDownAction:{since:"14.2",alias:"onPullDown"},reachBottomAction:{since:"14.2",alias:"onReachBottom"}})},_setDefaultOptions:function(){this.callBase(),this.option({pullingDownText:Globalize.localize("dxScrollView-pullingDownText"),pulledDownText:Globalize.localize("dxScrollView-pulledDownText"),refreshingText:Globalize.localize("dxScrollView-refreshingText"),reachBottomText:Globalize.localize("dxScrollView-reachBottomText"),onPullDown:null,onReachBottom:null,refreshStrategy:"pullDown"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var t=DevExpress.devices.real();return t.platform==="android"},options:{refreshStrategy:"swipeDown"}},{device:function(){return DevExpress.devices.real().platform==="win8"},options:{refreshStrategy:"slideDown"}}])},_init:function(){this.callBase(),this._loadingIndicatorEnabled=!0},_initMarkup:function(){this.callBase(),this.element().addClass(r),this._initContent(),this._initTopPocket(),this._initBottomPocket(),this._initLoadPanel()},_initContent:function(){var t=n("<div>").addClass(e);this._$content.wrapInner(t)},_initTopPocket:function(){var t=this._$topPocket=n("<div>").addClass(o),i=this._$pullDown=n("<div>").addClass(h);t.append(i),this._$content.prepend(t)},_initBottomPocket:function(){var t=this._$bottomPocket=n("<div>").addClass(s),i=this._$reachBottom=n("<div>").addClass(f),r=n("<div>").addClass(c),u=n("<div>").dxLoadIndicator(),e=this._$reachBottomText=n("<div>").addClass(l);this._updateReachBottomText(),i.append(r.append(u)).append(e),t.append(i),this._$content.append(t)},_initLoadPanel:function(){this._loadPanel=this._createComponent(n("<div>").addClass(a).appendTo(this.element()),"dxLoadPanel",{shading:!1,delay:400,message:this.option("refreshingText"),position:{of:this.element()}})},_updateReachBottomText:function(){this._$reachBottomText.text(this.option("reachBottomText"))},_createStrategy:function(){var i=this.option("useNative")?this.option("refreshStrategy"):"simulated",t=u.dxScrollView.refreshStrategies[i];if(!t)throw Error("E1030",this.option("refreshStrategy"));this._strategy=new t(this),this._strategy.pullDownCallbacks.add(n.proxy(this._pullDownHandler,this)),this._strategy.releaseCallbacks.add(n.proxy(this._releaseHandler,this)),this._strategy.reachBottomCallbacks.add(n.proxy(this._reachBottomHandler,this))},_createActions:function(){this.callBase(),this._pullDownAction=this._createActionByOption("onPullDown"),this._reachBottomAction=this._createActionByOption("onReachBottom"),this._pullDownEnable(!!this.option("onPullDown")&&!t.designMode),this._reachBottomEnable(!!this.option("onReachBottom")&&!t.designMode)},_pullDownEnable:function(n){if(arguments.length===0)return this._pullDownEnabled;this._$pullDown.toggle(n),this._strategy.pullDownEnable(n),this._pullDownEnabled=n},_reachBottomEnable:function(n){if(arguments.length===0)return this._reachBottomEnabled;this._$reachBottom.toggle(n),this._strategy.reachBottomEnable(n),this._reachBottomEnabled=n},_pullDownHandler:function(){this._loadingIndicator(!1),this._pullDownLoading()},_loadingIndicator:function(n){if(arguments.length<1)return this._loadingIndicatorEnabled;this._loadingIndicatorEnabled=n},_pullDownLoading:function(){this.startLoading(),this._pullDownAction()},_reachBottomHandler:function(){this._loadingIndicator(!1),this._reachBottomLoading()},_reachBottomLoading:function(){this.startLoading(),this._reachBottomAction()},_releaseHandler:function(){this.finishLoading(),this._loadingIndicator(!0)},_optionChanged:function(n){switch(n.name){case"onPullDown":case"onReachBottom":this._createActions();break;case"pullingDownText":case"pulledDownText":case"refreshingText":case"refreshStrategy":this._invalidate();break;case"reachBottomText":this._updateReachBottomText();break;default:this.callBase(n)}},isEmpty:function(){return!this.content().children().length},content:function(){return this._$content.children().eq(1)},release:function(n){return n!==i&&this.toggleLoading(!n),this._strategy.release()},toggleLoading:function(n){this._reachBottomEnable(n)},isFull:function(){return this.content().height()>=this._$container.height()},refresh:function(){this.option("onPullDown")&&(this._strategy.pendingRelease(),this._pullDownLoading())},startLoading:function(){this._loadingIndicator()&&this.element().is(":visible")&&this._loadPanel.show(),this._lock()},finishLoading:function(){this._loadPanel.hide(),this._unlock()},_dispose:function(){this._strategy.dispose(),this.callBase(),this._loadPanel&&this._loadPanel.element().remove()}})),u.dxScrollView.refreshStrategies={}}(jQuery,DevExpress),function(n,t){var o=t.ui,s="dx-scrollview-pull-down-loading",f="dx-scrollview-pull-down-ready",c="dx-scrollview-pull-down-image",l="dx-scrollview-pull-down-indicator",a="dx-scrollview-pull-down-text",e=0,r=1,u=2,h=3,v=o.dxScrollable.NativeStrategy.inherit({_init:function(n){this.callBase(n),this._$topPocket=n._$topPocket,this._$pullDown=n._$pullDown,this._$bottomPocket=n._$bottomPocket,this._$refreshingText=n._$refreshingText,this._$scrollViewContent=n.content(),this._initCallbacks()},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},render:function(){this.callBase(),this._renderPullDown(),this._releaseState()},_renderPullDown:function(){var i=n("<div>").addClass(c),r=n("<div>").addClass(l),u=n("<div>").dxLoadIndicator(),t=this._$pullDownText=n("<div>").addClass(a);this._$pullingDownText=n("<div>").text(this.option("pullingDownText")).appendTo(t),this._$pulledDownText=n("<div>").text(this.option("pulledDownText")).appendTo(t),this._$refreshingText=n("<div>").text(this.option("refreshingText")).appendTo(t),this._$pullDown.empty().append(i).append(r.append(u)).append(t)},_releaseState:function(){this._state=e,this._refreshPullDownText()},_pushBackFromBoundary:function(){this._isLocked()||this._component.isEmpty()||this.callBase()},_refreshPullDownText:function(){this._$pullingDownText.css("opacity",this._state===e?1:0),this._$pulledDownText.css("opacity",this._state===r?1:0),this._$refreshingText.css("opacity",this._state===u?1:0)},update:function(){this.callBase(),this._setTopPocketOffset()},_updateDimensions:function(){this.callBase(),this._topPocketSize=this._$topPocket.height(),this._bottomPocketSize=this._$bottomPocket.height(),this._scrollOffset=this._$container.height()-this._$content.height()},_allowedDirections:function(){var n=this.callBase();return n.vertical=n.vertical||this._pullDownEnabled,n},_setTopPocketOffset:function(){this._$topPocket.css({top:-this._topPocketSize})},handleEnd:function(){this._complete()},handleStop:function(){this._complete()},_complete:function(){this._state===r&&(this._setPullDownOffset(this._topPocketSize),clearTimeout(this._pullDownRefreshTimeout),this._pullDownRefreshTimeout=setTimeout(n.proxy(function(){this._pullDownRefreshing()},this),400))},_setPullDownOffset:function(n){t.translator.move(this._$topPocket,{top:n}),t.translator.move(this._$scrollViewContent,{top:n})},handleScroll:function(n){(this.callBase(n),this._state!==u)&&(this._location=this.location().top,this._isPullDown()?this._pullDownReady():this._isReachBottom()?this._reachBottom():this._stateReleased())},_isPullDown:function(){return this._pullDownEnabled&&this._location>=this._topPocketSize},_isReachBottom:function(){return this._reachBottomEnabled&&this._location<=this._scrollOffset+this._bottomPocketSize},_reachBottom:function(){this._state!==h&&(this._state=h,this.reachBottomCallbacks.fire())},_pullDownReady:function(){this._state!==r&&(this._state=r,this._$pullDown.addClass(f),this._refreshPullDownText())},_stateReleased:function(){this._state!==e&&(this._$pullDown.removeClass(s).removeClass(f),this._releaseState())},_pullDownRefreshing:function(){this._state!==u&&(this._state=u,this._$pullDown.addClass(s).removeClass(f),this._refreshPullDownText(),this.pullDownCallbacks.fire())},pullDownEnable:function(n){this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n},pendingRelease:function(){this._state=r},release:function(){var t=n.Deferred();return this._updateDimensions(),clearTimeout(this._releaseTimeout),this._releaseTimeout=setTimeout(n.proxy(function(){this._setPullDownOffset(0),this._stateReleased(),this.releaseCallbacks.fire(),this._updateAction(),t.resolve()},this),400),t.promise()},dispose:function(){clearTimeout(this._pullDownRefreshTimeout),clearTimeout(this._releaseTimeout),this.callBase()}});o.dxScrollView.refreshStrategies.pullDown=v}(jQuery,DevExpress),function(n,t){var r=t.ui,o=r.events,s="dx-scrollview-pull-down-loading",c="dx-scrollview-pull-down-indicator",l="dx-scrollview-pull-down-refreshing",a="dx-icon-pulldown",u=0,v=1,h=2,f=4,e=5,y=r.dxScrollable.NativeStrategy.inherit({_init:function(n){this.callBase(n),this._$topPocket=n._$topPocket,this._$bottomPocket=n._$bottomPocket,this._$pullDown=n._$pullDown,this._$scrollViewContent=n.content(),this._initCallbacks(),this._location=0},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},render:function(){this.callBase(),this._renderPullDown(),this._releaseState()},_renderPullDown:function(){var t=n("<div>").addClass(c),i=n("<div>").dxLoadIndicator({});this._$icon=n("<div>").addClass(a),this._$pullDown.empty().append(this._$icon).append(t.append(i))},_releaseState:function(){this._state=u,this._releasePullDown(),this._updateDimensions()},_releasePullDown:function(){this._$pullDown.css({opacity:0})},_updateDimensions:function(){this.callBase(),this._topPocketSize=this._$topPocket.height(),this._bottomPocketSize=this._$bottomPocket.height(),this._scrollOffset=this._$container.height()-this._$content.height()},_allowedDirections:function(){var n=this.callBase();return n.vertical=n.vertical||this._pullDownEnabled,n},handleInit:function(n){this.callBase(n),this._state===u&&this._location===0&&(this._startClientY=o.eventData(n.originalEvent).y,this._state=f)},handleMove:function(n){this.callBase(n),this._deltaY=o.eventData(n.originalEvent).y-this._startClientY,this._state===f&&(this._pullDownEnabled&&this._deltaY>0?this._state=e:this._complete()),this._state===e&&(n.preventDefault(),this._movePullDown())},_movePullDown:function(){var n=this._getPullDownHeight(),i=Math.min(n*3,this._deltaY+this._getPullDownStartPosition()),r=180*i/n/3;this._$pullDown.css({opacity:1}).toggleClass(l,i<n),t.translator.move(this._$pullDown,{top:i}),this._$icon.css({transform:"rotate("+r+"deg)"})},_isPullDown:function(){return this._pullDownEnabled&&this._deltaY>=this._getPullDownHeight()-this._getPullDownStartPosition()},_getPullDownHeight:function(){return Math.round(this._$element.outerHeight()*.05)},_getPullDownStartPosition:function(){return-Math.round(this._$pullDown.outerHeight()*1.5)},handleEnd:function(){this._isPullDown()&&this._pullDownRefreshing(),this._complete()},handleStop:function(){this._complete()},_complete:function(){(this._state===f||this._state===e)&&this._releaseState()},handleScroll:function(n){if(this.callBase(n),this._state!==h){var t=this.location().top,i=this._location-t;this._location=t,i>0&&this._isReachBottom()?this._reachBottom():this._stateReleased()}},_isReachBottom:function(){return this._reachBottomEnabled&&this._location<=this._scrollOffset+this._bottomPocketSize},_reachBottom:function(){this.reachBottomCallbacks.fire()},_stateReleased:function(){this._state!==u&&(this._$pullDown.removeClass(s),this._releaseState())},_pullDownRefreshing:function(){this._state=h,this._pullDownRefreshHandler()},_pullDownRefreshHandler:function(){this._refreshPullDown(),this.pullDownCallbacks.fire()},_refreshPullDown:function(){this._$pullDown.addClass(s),t.translator.move(this._$pullDown,{top:this._getPullDownHeight()})},pullDownEnable:function(n){this._$topPocket.toggle(n),this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n},pendingRelease:function(){this._state=v},release:function(){var t=n.Deferred();return this._updateDimensions(),clearTimeout(this._releaseTimeout),this._releaseTimeout=setTimeout(n.proxy(function(){this._stateReleased(),this.releaseCallbacks.fire(),this._updateAction(),t.resolve()},this),800),t.promise()},dispose:function(){clearTimeout(this._pullDownRefreshTimeout),clearTimeout(this._releaseTimeout),this.callBase()}});r.dxScrollView.refreshStrategies.swipeDown=y}(jQuery,DevExpress),function(n,t){var u=t.ui,r=0,e=1,f=2,o=80,s=u.dxScrollable.NativeStrategy.inherit({_init:function(n){this.callBase(n),this._$topPocket=n._$topPocket,this._$bottomPocket=n._$bottomPocket,this._initCallbacks()},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},render:function(){this.callBase(),this._renderPullDown(),this._renderBottom(),this._releaseState(),this._updateDimensions()},_renderPullDown:function(){this._$topPocket.empty()},_renderBottom:function(){this._$bottomPocket.empty().append("<progress>")},_releaseState:function(){this._state!==r&&(this._state=r)},_updateDimensions:function(){this._scrollOffset=this._$container.prop("scrollHeight")-this._$container.prop("clientHeight"),this._containerSize={height:this._$container.prop("clientHeight"),width:this._$container.prop("clientWidth")},this._contentSize=this._componentContentSize={height:this._$container.prop("scrollHeight"),width:this._$container.prop("scrollWidth")}},handleScroll:function(n){this.callBase(n),this._isReachBottom(this._lastLocation.top)&&this._reachBottom()},_isReachBottom:function(n){return this._scrollContent=this._$container.prop("scrollHeight")-this._$container.prop("clientHeight"),this._reachBottomEnabled&&n<-this._scrollContent+o},_reachBottom:function(){this._state!==f&&(this._state=f,this.reachBottomCallbacks.fire())},pullDownEnable:function(n){this._pullDownEnabled=n},reachBottomEnable:function(n){this._reachBottomEnabled=n,this._$bottomPocket.toggle(n)},pendingRelease:function(){this._state=e},release:function(){var t=n.Deferred();return this._state=r,this.releaseCallbacks.fire(),this.update(),t.resolve().promise()}});u.dxScrollView.refreshStrategies.slideDown=s}(jQuery,DevExpress),function(n,t){var f=t.ui,c=Math,h="dx-scrollview-pull-down-loading",e="dx-scrollview-pull-down-ready",l="dx-scrollview-pull-down-image",a="dx-scrollview-pull-down-indicator",v="dx-scrollview-pull-down-text",r=0,u=1,o=2,s=3,y=f.dxScrollView.Scroller=f.dxScrollable.Scroller.inherit({ctor:function(){this.callBase.apply(this,arguments),this._initCallbacks(),this._releaseState()},_releaseState:function(){this._state=r,this._refreshPullDownText()},_refreshPullDownText:function(){this._$pullingDownText.css("opacity",this._state===r?1:0),this._$pulledDownText.css("opacity",this._state===u?1:0),this._$refreshingText.css("opacity",this._state===o?1:0)},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},_updateBounds:function(){var n=this._direction!=="horizontal";this._topPocketSize=n?this._$topPocket[this._dimension]():0,this._bottomPocketSize=n?this._$bottomPocket[this._dimension]():0,this.callBase(),this._bottomBound=this._minOffset},_updateScrollbar:function(){this._scrollbar.option({containerSize:this._containerSize(),contentSize:this._contentSize()-this._topPocketSize-this._bottomPocketSize})},_moveContent:function(){this.callBase(),this._isPullDown()?this._pullDownReady():this._isReachBottom()?this._reachBottomReady():this._state!==r&&this._stateReleased()},_moveScrollbar:function(){this._scrollbar.moveTo(this._topPocketSize+this._location)},_isPullDown:function(){return this._pullDownEnabled&&this._location>=0},_isReachBottom:function(){return this._reachBottomEnabled&&this._location<=this._bottomBound},_scrollComplete:function(){this._inBounds()&&this._state===u?this._pullDownRefreshing():this._inBounds()&&this._state===s?this._reachBottomLoading():this.callBase()},_reachBottomReady:function(){this._state!==s&&(this._state=s,this._minOffset=this._getMinOffset())},_getMaxOffset:function(){return-this._topPocketSize},_getMinOffset:function(){return c.min(this.callBase(),-this._topPocketSize)},_reachBottomLoading:function(){this.reachBottomCallbacks.fire()},_pullDownReady:function(){this._state!==u&&(this._state=u,this._maxOffset=0,this._$pullDown.addClass(e),this._refreshPullDownText())},_stateReleased:function(){this._state!==r&&(this._releaseState(),this._updateBounds(),this._$pullDown.removeClass(h).removeClass(e),this.releaseCallbacks.fire())},_pullDownRefreshing:function(){this._state!==o&&(this._state=o,this._$pullDown.addClass(h).removeClass(e),this._refreshPullDownText(),this.pullDownCallbacks.fire())},_releaseHandler:function(){return this._state===r&&this._moveToBounds(),this._update(),this._releaseTask&&this._releaseTask.abort(),this._releaseTask=t.utils.executeAsync(n.proxy(this._release,this)),this._releaseTask.promise},_release:function(){this._stateReleased(),this._scrollComplete()},_reachBottomEnablingHandler:function(n){this._reachBottomEnabled!==n&&(this._reachBottomEnabled=n,this._updateBounds())},_pullDownEnablingHandler:function(n){this._pullDownEnabled!==n&&(this._pullDownEnabled=n,this._considerTopPocketChange(),this._updateHandler())},_considerTopPocketChange:function(){this._location-=this._$topPocket.height()||-this._topPocketSize,this._move()},_pendingReleaseHandler:function(){this._state=u},dispose:function(){this._releaseTask&&this._releaseTask.abort(),this.callBase()}}),p=f.dxScrollable.SimulatedStrategy.inherit({_init:function(n){this.callBase(n),this._$pullDown=n._$pullDown,this._$topPocket=n._$topPocket,this._$bottomPocket=n._$bottomPocket,this._initCallbacks()},_initCallbacks:function(){this.pullDownCallbacks=n.Callbacks(),this.releaseCallbacks=n.Callbacks(),this.reachBottomCallbacks=n.Callbacks()},render:function(){this._renderPullDown(),this.callBase()},_renderPullDown:function(){var i=n("<div>").addClass(l),r=n("<div>").addClass(a),u=n("<div>").dxLoadIndicator(),t=this._$pullDownText=n("<div>").addClass(v);this._$pullingDownText=n("<div>").text(this.option("pullingDownText")).appendTo(t),this._$pulledDownText=n("<div>").text(this.option("pulledDownText")).appendTo(t),this._$refreshingText=n("<div>").text(this.option("refreshingText")).appendTo(t),this._$pullDown.empty().append(i).append(r.append(u)).append(t)},pullDownEnable:function(n){this._eventHandler("pullDownEnabling",n)},reachBottomEnable:function(n){this._eventHandler("reachBottomEnabling",n)},_createScroller:function(n){var t=this,i=t._scrollers[n]=new y(t._scrollerOptions(n));i.pullDownCallbacks.add(function(){t.pullDownCallbacks.fire()}),i.releaseCallbacks.add(function(){t.releaseCallbacks.fire()}),i.reachBottomCallbacks.add(function(){t.reachBottomCallbacks.fire()})},_scrollerOptions:function(t){return n.extend(this.callBase(t),{$topPocket:this._$topPocket,$bottomPocket:this._$bottomPocket,$pullDown:this._$pullDown,$pullDownText:this._$pullDownText,$pullingDownText:this._$pullingDownText,$pulledDownText:this._$pulledDownText,$refreshingText:this._$refreshingText})},pendingRelease:function(){this._eventHandler("pendingRelease")},release:function(){return this._eventHandler("release").done(this._updateAction)},location:function(){var n=this.callBase();return n.top+=this._$topPocket.height(),n},dispose:function(){n.each(this._scrollers,function(){this.dispose()}),this.callBase()}});f.dxScrollView.refreshStrategies.simulated=p}(jQuery,DevExpress),function(n,t){var r=t.ui,h=r.events,e=t.utils,c=t.support.winJS,o=e.wrapToArray,u=e.removeDublicates,l=t.inflector.titleize,a="dx-map",v="dx-map-container",s="dx-map-shield",f;t.registerComponent("dxMap",r,r.Widget.inherit({ctor:function(){this.callBase.apply(this,arguments),this.addMarker=n.proxy(this._addFunction,this,"markers"),this.removeMarker=n.proxy(this._removeFunction,this,"markers"),this.addRoute=n.proxy(this._addFunction,this,"routes"),this.removeRoute=n.proxy(this._removeFunction,this,"routes")},_addFunction:function(t,i){var u=n.Deferred(),e=this,f=n.Deferred(),r=this.option(t),s=o(i);return r.push.apply(r,s),this._notificationDeffered=f,this.option(t,r),f.done(function(n){u.resolveWith(e,n&&n.length>1?[n]:n)}),u.promise()},_removeFunction:function(i,r){var f=n.Deferred(),s=this,e=n.Deferred(),u=this.option(i),h=o(r);return n.each(h,function(r,f){var e=n.isNumeric(f)?f:n.inArray(f,u);if(e!==-1)u.splice(e,1);else throw t.log("E1021",l(i.substring(0,i.length-1)),f);}),this._notificationDeffered=e,this.option(i,u),e.done(function(){f.resolveWith(s)}),f.promise()},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{markerAddedAction:{since:"14.2",alias:"onMarkerAdded"},markerRemovedAction:{since:"14.2",alias:"onMarkerRemoved"},readyAction:{since:"14.2",alias:"onReady"},routeAddedAction:{since:"14.2",alias:"onRouteAdded"},routeRemovedAction:{since:"14.2",alias:"onRouteRemoved"},clickAction:{since:"14.2",alias:"onClick"}})},_setDefaultOptions:function(){this.callBase(),this.option({bounds:{northEast:null,southWest:null},center:{lat:0,lng:0},zoom:1,width:300,height:300,type:"roadmap",provider:"google",autoAdjust:!0,markers:[],markerIconSrc:null,onMarkerAdded:null,onMarkerRemoved:null,routes:[],onRouteAdded:null,onRouteRemoved:null,key:{bing:"",google:"",googleStatic:""},controls:!1,onReady:null,onUpdated:null,onClick:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._asyncQueue=[],this._checkProvider(),this._checkMarkersOption(this.option("markers")),this._checkRoutesOption(this.option("routes")),this._initContainer(),this._grabEvents(),this._cleanRenderedMarkers(),this._cleanRenderedRoutes()},_checkProvider:function(){if(c&&this.option("provider")==="google")throw t.Error("E1024");},_checkMarkersOption:function(i){if(!n.isArray(i))throw t.Error("E1022");},_checkRoutesOption:function(i){if(!n.isArray(i))throw t.Error("E1023");},_initContainer:function(){this._$container=n("<div />").addClass(v),this.element().append(this._$container)},_grabEvents:function(){var t=h.addNamespace("dxpointerdown",this.NAME);this.element().on(t,n.proxy(this._cancelEvent,this))},_cancelEvent:function(n){var i=this._provider.cancelEvents&&!this.option("disabled");!t.designMode&&i&&n.stopPropagation()},_cleanRenderedMarkers:function(){this._renderedMarkers=[]},_cleanRenderedRoutes:function(){this._renderedRoutes=[]},_render:function(){this.callBase(),this.element().addClass(a),this._renderShield(),this._queueAsyncAction("render",this.option("markers"),this.option("routes")),this._saveRenderedMarkers(),this._saveRenderedRoutes()},_saveRenderedMarkers:function(n){n=n||this.option("markers"),this._renderedMarkers=n.slice()},_saveRenderedRoutes:function(n){n=n||this.option("routes"),this._renderedRoutes=n.slice()},_renderShield:function(){var i;t.designMode||this.option("disabled")?(i=n("<div/>").addClass(s),this.element().append(i)):(i=this.element().find("."+s),i.remove())},_clean:function(){(this._cleanFocusState(),this._provider)&&(this._queueAsyncAction("clean"),this._cleanRenderedMarkers(),this._cleanRenderedRoutes())},_optionChanged:function(i){var f=i.value,r;if(!this._cancelOptionChange){r=this._notificationDeffered,delete this._notificationDeffered;switch(i.name){case"disabled":this._renderShield(),this.callBase(i);break;case"width":case"height":this.callBase(i),this._dimensionChanged();break;case"provider":this._invalidate();break;case"key":t.log("W1001");break;case"bounds":this._queueAsyncAction("updateBounds");break;case"center":this._queueAsyncAction("updateCenter");break;case"zoom":this._queueAsyncAction("updateZoom");break;case"type":this._queueAsyncAction("updateMapType");break;case"controls":this._queueAsyncAction("updateControls",this.option("markers"),this.option("routes"));break;case"autoAdjust":this._queueAsyncAction("adjustViewport");break;case"markers":this._checkMarkersOption(f),this._queueAsyncAction("updateMarkers",r?u(this._renderedMarkers,f):this._renderedMarkers,r?u(f,this._renderedMarkers):f).done(n.proxy(function(){r&&r.resolve.apply(r,arguments)},this)),this._saveRenderedMarkers(f);break;case"markerIconSrc":this._queueAsyncAction("updateMarkers",this._renderedMarkers,this._renderedMarkers);break;case"routes":this._checkRoutesOption(f),this._queueAsyncAction("updateRoutes",r?u(this._renderedRoutes,f):this._renderedRoutes,r?u(f,this._renderedRoutes):f).done(n.proxy(function(){r&&r.resolve.apply(r,arguments)},this)),this._saveRenderedRoutes(f);break;case"onReady":case"onUpdated":case"onMarkerAdded":case"onMarkerRemoved":case"onRouteAdded":case"onRouteRemoved":case"onClick":break;default:this.callBase.apply(this,arguments)}}},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dimensionChanged:function(){this._queueAsyncAction("updateDimensions")},_queueAsyncAction:function(t){var i=n.Deferred(),r=!this._asyncQueue.length;return this._asyncQueue.push({name:t,options:n.makeArray(arguments).slice(1),deferred:i}),r&&this._enqueueAsyncAction(),i.promise()},_enqueueAsyncAction:function(){var t=!this._asyncQueue.length;t||this._execAsyncAction(this._asyncQueue[0]).done(n.proxy(function(){this._asyncQueue.shift(),this._enqueueAsyncAction()},this))},_execAsyncAction:function(t){var i=n.Deferred(),r=t.name,e=t.options,u=t.deferred,f=this._getProvider(r);return f[r].apply(f,e).done(n.proxy(function(t){u.resolve.apply(u,n.makeArray(arguments).slice(1)),t&&this._triggerReadyAction(),i.resolve()},this)),i.promise()},_getProvider:function(n){var t=this.option("provider");return n!=="clean"&&this._usedProvider!==t&&(this._provider=new f[t](this,this._$container),this._usedProvider=t),this._provider},_triggerReadyAction:function(){this._createActionByOption("onReady")({originalMap:this._provider.map()})},_triggerUpdateAction:function(){this._createActionByOption("onUpdated")()},setOptionSilent:function(n,t){this._cancelOptionChange=!0,this.option(n,t),this._cancelOptionChange=!1}})),f={},r.dxMap.registerProvider=function(n,t){f[n]=t}}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=r.events;r.dxMap.Provider=t.Class.inherit({_defaultRouteWeight:function(){return 5},_defaultRouteOpacity:function(){return.5},_defaultRouteColor:function(){return"#0000FF"},cancelEvents:!1,ctor:function(n,t){this._mapWidget=n,this._$container=t},render:function(t,i){var r=n.Deferred();return this._renderImpl().done(n.proxy(function(){var u=this.addMarkers(t),f=this.addRoutes(i);n.when(u,f).done(function(){r.resolve(!0)})},this)),r.promise()},_renderImpl:t.abstract,updateDimensions:t.abstract,updateMapType:t.abstract,updateBounds:t.abstract,updateCenter:t.abstract,updateZoom:t.abstract,updateControls:t.abstract,updateMarkers:function(t,i){var r=n.Deferred(),u=this;return this.removeMarkers(t).done(function(){u.addMarkers(i).done(function(){r.resolve.apply(r,arguments)})}),r.promise()},addMarkers:t.abstract,removeMarkers:t.abstract,adjustViewport:t.abstract,updateRoutes:function(t,i){var r=n.Deferred(),u=this;return this.removeRoutes(t).done(function(){u.addRoutes(i).done(function(){r.resolve.apply(r,arguments)})}),r.promise()},addRoutes:t.abstract,removeRoutes:t.abstract,clean:t.abstract,map:function(){return this._map},_option:function(n,t){if(t===i)return this._mapWidget.option(n);this._mapWidget.setOptionSilent(n,t)},_keyOption:function(n){var t=this._option("key");return t[n]===i?t:t[n]},_parseTooltipOptions:function(n){return{text:n.text||n,visible:n.isShown||!1}},_getLatLng:function(t){if(typeof t=="string"){var i=n.map(t.split(","),n.trim),r=/[-+]?[0-9]*\.?[0-9]*/;if(i.length===2&&i[0].match(r)&&i[1].match(r))return{lat:parseFloat(i[0]),lng:parseFloat(i[1])}}else{if(n.isArray(t)&&t.length===2)return{lat:t[0],lng:t[1]};if(n.isPlainObject(t)&&n.isNumeric(t.lat)&&n.isNumeric(t.lng))return t}return null},_isBoundsSetted:function(){return this._option("bounds.northEast")&&this._option("bounds.southWest")},_addEventNamespace:function(n){return u.addNamespace(n,this._mapWidget.NAME)},_createAction:function(){var n=this._mapWidget;return n._createAction.apply(n,arguments)},_fireAction:function(n,t){var i=this._option(n);i&&this._createAction(i)(t)},_fireClickAction:function(n){this._fireAction("onClick",n)},_fireMarkerAddedAction:function(n){this._fireAction("onMarkerAdded",n)},_fireMarkerRemovedAction:function(n){this._fireAction("onMarkerRemoved",n)},_fireRouteAddedAction:function(n){this._fireAction("onRouteAdded",n)},_fireRouteRemovedAction:function(n){this._fireAction("onRouteRemoved",n)}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u="https://maps.google.com/maps/api/staticmap?";r.dxMap.registerProvider("googleStatic",r.dxMap.Provider.inherit({_locationToString:function(n){var t=this._getLatLng(n);return t?t.lat+","+t.lng:n.toString().replace(/ /g,"+")},_renderImpl:function(){return this._updateMap()},updateDimensions:function(){return this._updateMap()},updateMapType:function(){return this._updateMap()},updateBounds:function(){return n.Deferred().resolve().promise()},updateCenter:function(){return this._updateMap()},updateZoom:function(){return this._updateMap()},updateControls:function(){return n.Deferred().resolve().promise()},addMarkers:function(t){var i=this;return this._updateMap().done(function(){n.each(t,function(n,t){i._fireMarkerAddedAction({options:t})})})},removeMarkers:function(t){var i=this;return this._updateMap().done(function(){n.each(t,function(n,t){i._fireMarkerRemovedAction({options:t})})})},adjustViewport:function(){return n.Deferred().resolve().promise()},addRoutes:function(t){var i=this;return this._updateMap().done(function(){n.each(t,function(n,t){i._fireRouteAddedAction({options:t})})})},removeRoutes:function(t){var i=this;return this._updateMap().done(function(){n.each(t,function(n,t){i._fireRouteRemovedAction({options:t})})})},clean:function(){return this._$container.css("background-image","none"),this._$container.off(this._addEventNamespace("dxclick")),n.Deferred().resolve().promise()},mapRendered:function(){return!0},_updateMap:function(){var i=this._keyOption("googleStatic"),r=this._$container,t=["sensor=false","size="+r.width()+"x"+r.height(),"maptype="+this._option("type"),"center="+this._locationToString(this._option("center")),"zoom="+this._option("zoom"),this._markersSubstring()],f;return t.push.apply(t,this._routeSubstrings()),i&&t.push("key="+i),f=u+t.join("&"),this._$container.css("background",'url("'+f+'") no-repeat 0 0'),this._attachClickEvent(),n.Deferred().resolve(!0).promise()},_markersSubstring:function(){var r=this,t=[],i=this._option("markerIconSrc");return i&&t.push("icon:"+i),n.each(this._option("markers"),function(n,i){t.push(r._locationToString(i.location))}),"markers="+t.join("|")},_routeSubstrings:function(){var i=this,r=[];return n.each(this._option("routes"),function(u,f){var o=new t.Color(f.color||i._defaultRouteColor()).toHex().replace("#","0x"),s=Math.round((f.opacity||i._defaultRouteOpacity())*255).toString(16),h=f.weight||i._defaultRouteWeight(),e=[];n.each(f.locations,function(n,t){e.push(i._locationToString(t))}),r.push("path=color:"+o+s+"|weight:"+h+"|"+e.join("|"))}),r},_attachClickEvent:function(){var t=this,n=this._addEventNamespace("dxclick");this._$container.off(n).on(n,function(n){t._fireClickAction({jQueryEvent:n})})}}))}(jQuery,DevExpress),function(n,t){var r=t.ui;r.dxMap.DynamicProvider=r.dxMap.Provider.inherit({cancelEvents:!0,_renderImpl:function(){var r=n.Deferred();return this._load().done(n.proxy(function(){this._init().done(n.proxy(function(){var t=this.updateMapType(),i=this._isBoundsSetted()?this.updateBounds():this.updateCenter();n.when(t,i).done(n.proxy(function(){this._attachHandlers(),setTimeout(function(){r.resolve()})},this))},this))},this)),r.promise()},_load:function(){return this._mapsLoader||(this._mapsLoader=n.Deferred(),this._loadImpl().done(n.proxy(function(){this._mapsLoader.resolve()},this))),this._markers=[],this._routes=[],this._mapsLoader.promise()},_loadImpl:t.abstract,_init:t.abstract,_attachHandlers:t.abstract,addMarkers:function(t){var i=n.Deferred(),r=this,u=n.map(t,function(n){return r._addMarker(n)});return n.when.apply(n,u).done(function(){var t=n.map(n.makeArray(arguments),function(n){return n.marker});i.resolve(!1,t)}),i.promise()},_addMarker:function(t){var i=this;return this._renderMarker(t).done(function(r){i._markers.push(n.extend({options:t},r)),i._fitBounds(),i._fireMarkerAddedAction({options:t,originalMarker:r.marker})})},_renderMarker:t.abstract,removeMarkers:function(t){var i=this;return n.each(t,function(n,t){i._removeMarker(t)}),n.Deferred().resolve().promise()},_removeMarker:function(t){var i=this;n.each(this._markers,function(n,r){return r.options!==t?!0:(i._destroyMarker(r),i._markers.splice(n,1),i._fireMarkerRemovedAction({options:r.options}),!1)})},_destroyMarker:t.abstract,_clearMarkers:function(){while(this._markers.length>0)this._removeMarker(this._markers[0].options)},addRoutes:function(t){var i=n.Deferred(),r=this,u=n.map(t,function(n){return r._addRoute(n)});return n.when.apply(n,u).done(function(){var t=n.map(n.makeArray(arguments),function(n){return n.instance});i.resolve(!1,t)}),i.promise()},_addRoute:function(t){var i=this;return this._renderRoute(t).done(function(r){i._routes.push(n.extend({options:t},r)),i._fitBounds(),i._fireRouteAddedAction({options:t,originalRoute:r.instance})})},_renderRoute:t.abstract,removeRoutes:function(t){var i=this;return n.each(t,function(n,t){i._removeRoute(t)}),n.Deferred().resolve().promise()},_removeRoute:function(t){var i=this;n.each(this._routes,function(n,r){return r.options!==t?!0:(i._destroyRoute(r),i._routes.splice(n,1),i._fireRouteRemovedAction({options:t}),!1)})},_destroyRoute:t.abstract,_clearRoutes:function(){while(this._routes.length>0)this._removeRoute(this._routes[0].options)},adjustViewport:function(){return this._fitBounds()},_fitBounds:t.abstract,_updateBounds:function(){var t=this;this._clearBounds(),n.each(this._markers,function(n,i){t._extendBounds(i.location)}),n.each(this._routes,function(n,i){t._extendBounds(i.northEast),t._extendBounds(i.southWest)})},_clearBounds:function(){this._bounds=null},_extendBounds:t.abstract})}(jQuery,DevExpress),function(n,t,i){var f=t.ui,s=t.support.winJS,u="_bingScriptReady",h="https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&s=1&onScriptLoad="+u,c="ms-appx:///Bing.Maps.JavaScript/js/veapicore.js",l="ms-appx:///Bing.Maps.JavaScript/js/veapiModules.js",a="AhuxC0dQ1DBTNo8L-H9ToVMQStmizZzBJdraTSgCzDSWPsA1Qd8uIvFSflzxdaLH",e=1e-16,o=function(){return window.Microsoft&&window.Microsoft.Maps},r;f.dxMap.registerProvider("bing",f.dxMap.DynamicProvider.inherit({_mapType:function(n){var t={roadmap:Microsoft.Maps.MapTypeId.road,hybrid:Microsoft.Maps.MapTypeId.aerial,satellite:Microsoft.Maps.MapTypeId.aerial};return t[n]||t.road},_movementMode:function(n){var t={driving:Microsoft.Maps.Directions.RouteMode.driving,walking:Microsoft.Maps.Directions.RouteMode.walking};return t[n]||t.driving},_resolveLocation:function(t){var i=n.Deferred(),r=this._getLatLng(t),u,f;return r?i.resolve(new Microsoft.Maps.Location(r.lat,r.lng)):(u=new Microsoft.Maps.Search.SearchManager(this._map),f={where:t,count:1,callback:function(n){var t=n.results[0].location;i.resolve(new Microsoft.Maps.Location(t.latitude,t.longitude))}},u.geocode(f)),i.promise()},_normalizeLocation:function(n){return{lat:n.latitude,lng:n.longitude}},_normalizeLocationRect:function(n){var t=this._normalizeLocation(n.getNorthwest()),i=this._normalizeLocation(n.getSoutheast());return{northEast:{lat:t.lat,lng:i.lng},southWest:{lat:i.lat,lng:t.lng}}},_loadImpl:function(){return this._msMapsLoader=n.Deferred(),o()?this._mapReady():(r&&(r.state()!=="resolved"||o())||(r=n.Deferred(),window[u]=n.proxy(r.resolve,r),s?n.when(n.getScript(c),n.getScript(l)).done(function(){Microsoft.Maps.loadModule("Microsoft.Maps.Map",{callback:window[u]})}):n.getScript(h)),r.done(n.proxy(this._mapReady,this))),this._msMapsLoader.promise()},_mapReady:function(){try{delete window[u]}catch(f){window[u]=i}var t=n.Deferred(),r=n.Deferred();Microsoft.Maps.loadModule("Microsoft.Maps.Search",{callback:n.proxy(t.resolve,t)}),Microsoft.Maps.loadModule("Microsoft.Maps.Directions",{callback:n.proxy(r.resolve,r)}),n.when(t,r).done(n.proxy(function(){this._msMapsLoader.resolve()},this))},_init:function(){var r=n.Deferred(),t=n.Deferred(),i=this._option("controls"),u;return this._map=new Microsoft.Maps.Map(this._$container[0],{credentials:this._keyOption("bing")||a,zoom:this._option("zoom"),showDashboard:i,showMapTypeSelector:i,showScalebar:i}),u=Microsoft.Maps.Events.addHandler(this._map,"tiledownloadcomplete",n.proxy(t.resolve,t)),n.when(t).done(n.proxy(function(){Microsoft.Maps.Events.removeHandler(u),r.resolve()},this)),r.promise()},_attachHandlers:function(){this._providerViewChangeHandler=Microsoft.Maps.Events.addHandler(this._map,"viewchange",n.proxy(this._viewChangeHandler,this)),this._providerClickHandler=Microsoft.Maps.Events.addHandler(this._map,"click",n.proxy(this._clickActionHandler,this))},_viewChangeHandler:function(){var t=this._map.getBounds(),n;this._option("bounds",this._normalizeLocationRect(t)),n=this._map.getCenter(),this._option("center",this._normalizeLocation(n)),this._preventZoomChangeEvent||this._option("zoom",this._map.getZoom())},_clickActionHandler:function(n){if(n.targetType==="map"){var t=new Microsoft.Maps.Point(n.getX(),n.getY()),i=n.target.tryPixelToLocation(t);this._fireClickAction({location:this._normalizeLocation(i)})}},updateDimensions:function(){var t=this._$container;return this._map.setOptions({width:t.width(),height:t.height()}),n.Deferred().resolve().promise()},updateMapType:function(){var t=this._option("type"),i=Microsoft.Maps.LabelOverlay;return this._map.setView({animate:!1,mapTypeId:this._mapType(t),labelOverlay:t==="satellite"?i.hidden:i.visible}),n.Deferred().resolve().promise()},updateBounds:function(){var t=n.Deferred(),i=this,r=this._resolveLocation(this._option("bounds.northEast")),u=this._resolveLocation(this._option("bounds.southWest"));return n.when(r,u).done(function(n,r){var u=new Microsoft.Maps.LocationRect.fromLocations(n,r);i._map.setView({animate:!1,bounds:u}),t.resolve()}),t.promise()},updateCenter:function(){var t=n.Deferred(),i=this;return this._resolveLocation(this._option("center")).done(function(n){i._map.setView({animate:!1,center:n}),t.resolve()}),t.promise()},updateZoom:function(){return this._map.setView({animate:!1,zoom:this._option("zoom")}),n.Deferred().resolve().promise()},updateControls:function(){return this.clean(),this.render.apply(this,arguments)},_renderMarker:function(i){var u=n.Deferred(),r=this;return this._resolveLocation(i.location).done(function(f){var h={icon:i.iconSrc||r._option("markerIconSrc")},e,o,s,c,l,a;i.html&&(n.extend(h,{htmlContent:i.html,width:null,height:null}),e=i.htmlOffset,e&&(h.anchor=new Microsoft.Maps.Point(-e.left,-e.top))),o=new Microsoft.Maps.Pushpin(f,h),r._map.entities.push(o),s=r._renderTooltip(f,i.tooltip),i.clickAction&&(t.log("W0001","dxMap","marker.clickAction","14.2","Use 'onClick' option instead"),i.onClick=i.clickAction),(i.onClick||i.tooltip)&&(l=r._createAction(i.onClick||n.noop),a=r._normalizeLocation(f),c=Microsoft.Maps.Events.addHandler(o,"click",function(){l({location:a}),s&&s.setOptions({visible:!0})})),u.resolve({location:f,marker:o,infobox:s,handler:c})}),u.promise()},_renderTooltip:function(n,t){if(t){t=this._parseTooltipOptions(t);var i=new Microsoft.Maps.Infobox(n,{description:t.text,offset:new Microsoft.Maps.Point(0,33),visible:t.visible});return this._map.entities.push(i,null),i}},_destroyMarker:function(n){this._map.entities.remove(n.marker),n.infobox&&this._map.entities.remove(n.infobox),n.handler&&Microsoft.Maps.Events.removeHandler(n.handler)},_renderRoute:function(i){var u=n.Deferred(),r=this,f=n.map(i.locations,function(n){return r._resolveLocation(n)});return n.when.apply(n,f).done(function(){var s=n.makeArray(arguments),f=new Microsoft.Maps.Directions.DirectionsManager(r._map),h=new t.Color(i.color||r._defaultRouteColor()).toHex(),e=new Microsoft.Maps.Color.fromHex(h),o;e.a=(i.opacity||r._defaultRouteOpacity())*255,f.setRenderOptions({autoUpdateMapView:!1,displayRouteSelector:!1,waypointPushpinOptions:{visible:!1},drivingPolylineOptions:{strokeColor:e,strokeThickness:i.weight||r._defaultRouteWeight()},walkingPolylineOptions:{strokeColor:e,strokeThickness:i.weight||r._defaultRouteWeight()}}),f.setRequestOptions({routeMode:r._movementMode(i.mode),routeDraggable:!1}),n.each(s,function(n,t){var i=new Microsoft.Maps.Directions.Waypoint({location:t});f.addWaypoint(i)}),o=Microsoft.Maps.Events.addHandler(f,"directionsUpdated",function(n){Microsoft.Maps.Events.removeHandler(o);var t=n.routeSummary[0];u.resolve({instance:f,northEast:t.northEast,southWest:t.southWest})}),f.calculateDirections()}),u.promise()},_destroyRoute:function(n){n.instance.dispose()},_fitBounds:function(){var i,t,r;return this._updateBounds(),this._bounds&&this._option("autoAdjust")&&(i=this._map.getZoom(),this._preventZoomChangeEvent=!0,t=this._bounds.clone(),t.height=t.height*1.1,t.width=t.width*1.1,this._map.setView({animate:!1,bounds:t,zoom:i}),r=this._map.getZoom(),i<r?this._map.setView({animate:!1,zoom:i}):this._option("zoom",r),delete this._preventZoomChangeEvent),n.Deferred().resolve().promise()},_extendBounds:function(n){this._bounds=this._bounds?new Microsoft.Maps.LocationRect.fromLocations(this._bounds.getNorthwest(),this._bounds.getSoutheast(),n):new Microsoft.Maps.LocationRect(n,e,e)},clean:function(){return this._map&&(Microsoft.Maps.Events.removeHandler(this._providerViewChangeHandler),Microsoft.Maps.Events.removeHandler(this._providerClickHandler),this._clearMarkers(),this._clearRoutes(),this._map.dispose()),n.Deferred().resolve().promise()}}))}(jQuery,DevExpress),function(n,t,i){var e=t.ui,f="_googleScriptReady",s="https://maps.google.com/maps/api/js?v=3.18&sensor=false&callback="+f,r,h=function(){r=function(t){this._position=t.position,this._offset=t.offset,this._$overlayContainer=n("<div>").css({position:"absolute",display:"none",cursor:"pointer"}).append(t.html),this.setMap(t.map)},r.prototype=new google.maps.OverlayView,r.prototype.onAdd=function(){var t=n(this.getPanes().overlayMouseTarget);t.append(this._$overlayContainer),this._clickListner=google.maps.event.addDomListener(this._$overlayContainer.get(0),"click",n.proxy(function(n){google.maps.event.trigger(this,"click"),n.preventDefault()},this)),this.draw()},r.prototype.onRemove=function(){google.maps.event.removeListener(this._clickListner),this._$overlayContainer.remove()},r.prototype.draw=function(){var n=this.getProjection().fromLatLngToDivPixel(this._position);this._$overlayContainer.css({left:n.x+this._offset.left,top:n.y+this._offset.top,display:"block"})}},o=function(){return window.google&&window.google.maps},u;e.dxMap.registerProvider("google",e.dxMap.DynamicProvider.inherit({_mapType:function(n){var t={hybrid:google.maps.MapTypeId.HYBRID,roadmap:google.maps.MapTypeId.ROADMAP,satellite:google.maps.MapTypeId.SATELLITE};return t[n]||t.hybrid},_movementMode:function(n){var t={driving:google.maps.TravelMode.DRIVING,walking:google.maps.TravelMode.WALKING};return t[n]||t.driving},_resolveLocation:function(t){var i=n.Deferred(),r=this._getLatLng(t),u;return r?i.resolve(new google.maps.LatLng(r.lat,r.lng)):(u=new google.maps.Geocoder,u.geocode({address:t},function(n,t){t===google.maps.GeocoderStatus.OK&&i.resolve(n[0].geometry.location)})),i.promise()},_normalizeLocation:function(n){return{lat:n.lat(),lng:n.lng()}},_normalizeLocationRect:function(n){return{northEast:this._normalizeLocation(n.getNorthEast()),southWest:this._normalizeLocation(n.getSouthWest())}},_loadImpl:function(){if(this._googleMapsLoader=n.Deferred(),o())this._mapReady();else{if(!u||u.state()==="resolved"&&!o()){u=n.Deferred();var t=this._keyOption("google");window[f]=n.proxy(u.resolve,u),n.getScript(s+(t?"&key="+t:""))}u.done(n.proxy(this._mapReady,this))}return this._googleMapsLoader.promise()},_mapReady:function(){try{delete window[f]}catch(n){window[f]=i}h(),this._googleMapsLoader.resolve()},_init:function(){var r=n.Deferred(),i=n.Deferred(),t=this._option("controls"),u;return this._map=new google.maps.Map(this._$container[0],{zoom:this._option("zoom"),panControl:t,zoomControl:t,mapTypeControl:t,streetViewControl:t}),u=google.maps.event.addListener(this._map,"idle",n.proxy(i.resolve,i)),n.when(i).done(n.proxy(function(){google.maps.event.removeListener(u),r.resolve()},this)),r.promise()},_attachHandlers:function(){this._boundsChangeListener=google.maps.event.addListener(this._map,"bounds_changed",n.proxy(this._boundsChangeHandler,this)),this._clickListener=google.maps.event.addListener(this._map,"click",n.proxy(this._clickActionHandler,this))},_boundsChangeHandler:function(){var t=this._map.getBounds(),n;this._option("bounds",this._normalizeLocationRect(t)),n=this._map.getCenter(),this._option("center",this._normalizeLocation(n)),this._preventZoomChangeEvent||this._option("zoom",this._map.getZoom())},_clickActionHandler:function(n){this._fireClickAction({location:this._normalizeLocation(n.latLng)})},updateDimensions:function(){var n=this._option("center");return google.maps.event.trigger(this._map,"resize"),this._option("center",n),this.updateCenter()},updateMapType:function(){return this._map.setMapTypeId(this._mapType(this._option("type"))),n.Deferred().resolve().promise()},updateBounds:function(){var t=n.Deferred(),i=this,r=this._resolveLocation(this._option("bounds.northEast")),u=this._resolveLocation(this._option("bounds.southWest"));return n.when(r,u).done(function(n,r){var u=new google.maps.LatLngBounds;u.extend(n),u.extend(r),i._map.fitBounds(u),t.resolve()}),t.promise()},updateCenter:function(){var i=n.Deferred(),t=this;return this._resolveLocation(this._option("center")).done(function(n){t._map.setCenter(n),t._option("center",t._normalizeLocation(n)),i.resolve()}),i.promise()},updateZoom:function(){return this._map.setZoom(this._option("zoom")),n.Deferred().resolve().promise()},updateControls:function(){var t=this._option("controls");return this._map.setOptions({panControl:t,zoomControl:t,mapTypeControl:t,streetViewControl:t}),n.Deferred().resolve().promise()},_renderMarker:function(i){var f=n.Deferred(),u=this;return this._resolveLocation(i.location).done(function(e){var o,s,h,c,l;o=i.html?new r({map:u._map,position:e,html:i.html,offset:n.extend({top:0,left:0},i.htmlOffset)}):new google.maps.Marker({position:e,map:u._map,icon:i.iconSrc||u._option("markerIconSrc")}),s=u._renderTooltip(o,i.tooltip),i.clickAction&&(t.log("W0001","dxMap","marker.clickAction","14.2","Use 'onClick' option instead"),i.onClick=i.clickAction),(i.onClick||i.tooltip)&&(c=u._createAction(i.onClick||n.noop),l=u._normalizeLocation(e),h=google.maps.event.addListener(o,"click",function(){c({location:l}),s&&s.open(u._map,o)})),f.resolve({location:e,marker:o,listner:h})}),f.promise()},_renderTooltip:function(n,t){if(t){t=this._parseTooltipOptions(t);var i=new google.maps.InfoWindow({content:t.text});return t.visible&&i.open(this._map,n),i}},_destroyMarker:function(n){n.marker.setMap(null),n.listner&&google.maps.event.removeListener(n.listner)},_renderRoute:function(i){var u=n.Deferred(),r=this,f=new google.maps.DirectionsService,e=n.map(i.locations,function(n){return r._resolveLocation(n)});return n.when.apply(n,e).done(function(){var e=n.makeArray(arguments),o=e.shift(),s=e.pop(),h=n.map(e,function(n){return{location:n,stopover:!0}}),c={origin:o,destination:s,waypoints:h,optimizeWaypoints:!0,travelMode:r._movementMode(i.mode)};f.route(c,function(n,f){if(f===google.maps.DirectionsStatus.OK){var o=new t.Color(i.color||r._defaultRouteColor()).toHex(),s={directions:n,map:r._map,suppressMarkers:!0,preserveViewport:!0,polylineOptions:{strokeWeight:i.weight||r._defaultRouteWeight(),strokeOpacity:i.opacity||r._defaultRouteOpacity(),strokeColor:o}},h=new google.maps.DirectionsRenderer(s),e=n.routes[0].bounds;u.resolve({instance:h,northEast:e.getNorthEast(),southWest:e.getSouthWest()})}})}),u.promise()},_destroyRoute:function(n){n.instance.setMap(null)},_fitBounds:function(){var t,i;return this._updateBounds(),this._bounds&&this._option("autoAdjust")&&(t=this._map.getZoom(),this._preventZoomChangeEvent=!0,this._map.fitBounds(this._bounds),i=this._map.getZoom(),t<i?this._map.setZoom(t):this._option("zoom",i),delete this._preventZoomChangeEvent),n.Deferred().resolve().promise()},_extendBounds:function(n){this._bounds?this._bounds.extend(n):(this._bounds=new google.maps.LatLngBounds,this._bounds.extend(n))},clean:function(){return this._map&&(google.maps.event.removeListener(this._boundsChangeListener),google.maps.event.removeListener(this._clickListener),this._clearMarkers(),this._clearRoutes(),delete this._map,this._$container.empty()),n.Deferred().resolve().promise()}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f=r.events,u="dxSwipeable",e="dx-swipeable",o={onStart:"dxswipestart",onUpdated:"dxswipe",onEnd:"dxswipeend",onCancel:"dxswipecancel"};t.registerComponent(u,r,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({elastic:!0,immediate:!1,direction:"horizontal",itemSizeFunc:null,onStart:null,onUpdated:null,onEnd:null,onCancel:null})},_render:function(){this.callBase(),this.element().addClass(e),this._attachEventHandlers()},_attachEventHandlers:function(){if(this._detachEventHanlers(),!this.option("disabled")){var t=this.NAME;this._createEventData(),n.each(o,n.proxy(function(n,i){var r=this._createActionByOption(n,{context:this});i=f.addNamespace(i,t);this.element().on(i,this._eventData,function(n){return r({jQueryEvent:n})})},this))}},_createEventData:function(){this._eventData={elastic:this.option("elastic"),itemSizeFunc:this.option("itemSizeFunc"),direction:this.option("direction"),immediate:this.option("immediate")}},_detachEventHanlers:function(){this.element().off("."+u)},_optionChanged:function(n){switch(n.name){case"disabled":case"onStart":case"onUpdated":case"onEnd":case"onCancel":case"elastic":case"immediate":case"itemSizeFunc":case"direction":this._detachEventHanlers(),this._attachEventHandlers();break;case"rtlEnabled":break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var f=t.ui,e=t.translator,s=t.inflector,u=f.events,r="dxDraggable",h=u.addNamespace("dxdragstart",r),c=u.addNamespace("dxdrag",r),l=u.addNamespace("dxdragend",r),a=u.addNamespace("dxpointerdown",r),o=s.dasherize(r),v=o+"-dragging";t.registerComponent(r,f,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({onDragStart:n.noop,onDrag:n.noop,onDragEnd:n.noop,direction:"both",area:window,boundOffset:0,allowMoveByClick:!1})},_init:function(){this.callBase(),this._attachEventHandlers()},_attachEventHandlers:function(){var i=this.element().css("position","absolute"),t={},r=this.option("allowMoveByClick");t[h]=n.proxy(this._dragStartHandler,this),t[c]=n.proxy(this._dragHandler,this),t[l]=n.proxy(this._dragEndHandler,this),r&&(t[a]=n.proxy(this._pointerDownHandler,this),i=this._getArea());i.on(t,{direction:this.option("direction"),immediate:!0})},_detachEventHandlers:function(){this.element().off("."+r),this._getArea().off("."+r)},_move:function(n){e.move(this.element(),n)},_pointerDownHandler:function(t){var u=n(t.currentTarget),f=n.isWindow(u.get(0))?{left:0,top:0}:u.offset(),i=this.option("direction"),r={};(i==="horizontal"||i==="both")&&(r.left=t.pageX-this.element().width()/2-f.left),(i==="vertical"||i==="both")&&(r.top=t.pageY-this.element().height()/2-f.top),this._move(r),this._getAction("onDrag")({jQueryEvent:t})},_dragStartHandler:function(n){var i=this.element(),r=this._getArea(),t=this._getBoundOffset(),u=r.outerWidth(),f=r.outerHeight(),o=i.width(),s=i.height();this._toggleDraggingClass(!0),this._startPosition=e.locate(i),n.maxLeftOffset=this._startPosition.left-t.h,n.maxRightOffset=u-this._startPosition.left-o-t.h,n.maxTopOffset=this._startPosition.top-t.v,n.maxBottomOffset=f-this._startPosition.top-s-t.v,this._getAction("onDragStart")({jQueryEvent:n})},_toggleDraggingClass:function(n){this.element().toggleClass(v,n)},_getBoundOffset:function(){var i=this.option("boundOffset");return n.isFunction(i)&&(i=i.call(this)),t.utils.stringPairToObject(i)},_getArea:function(){var t=this.option("area");return n.isFunction(t)&&(t=t.call(this)),n(t)},_dragHandler:function(n){var t=n.offset,i=this._startPosition;this._move({left:i.left+t.x,top:i.top+t.y}),this._getAction("onDrag")({jQueryEvent:n})},_dragEndHandler:function(n){this._toggleDraggingClass(!1),this._getAction("onDragEnd")({jQueryEvent:n})},_getAction:function(n){return this["_"+n+"Action"]||this._createActionByOption(n)},_render:function(){this.callBase(),this.element().addClass(o)},_optionChanged:function(n){var t=n.name;switch(t){case"onDragStart":case"onDrag":case"onDragEnd":this["_"+t+"Action"]=this._createActionByOption(t);break;case"allowMoveByClick":case"direction":this._detachEventHandlers(),this._attachEventHandlers();break;case"boundOffset":case"area":break;default:this.callBase(n)}},_dispose:function(){this.callBase(),this._detachEventHandlers()}}))}(jQuery,DevExpress),function(n,t,i){var o=t.ui,s=t.utils,e=o.events,u="dxResizable",h="dx-resizable",c="dx-resizable-resizing",f="dx-resizable-handle",l="dx-resizable-handle-top",a="dx-resizable-handle-bottom",v="dx-resizable-handle-left",y="dx-resizable-handle-right",r="dx-resizable-handle-corner",p=e.addNamespace("dxdragstart",u),w=e.addNamespace("dxdrag",u),b=e.addNamespace("dxdragend",u);t.registerComponent(u,o,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({handles:"all",step:"1",area:i,minWidth:30,maxWidth:Infinity,minHeight:30,maxHeight:Infinity,onResizeStart:null,onResize:null,onResizeEnd:null})},_init:function(){this.callBase(),this.element().addClass(h)},_render:function(){this.callBase(),this._renderActions(),this._renderHandles()},_renderActions:function(){this._resizeStartAction=this._createActionByOption("onResizeStart"),this._resizeEndAction=this._createActionByOption("onResizeEnd"),this._resizeAction=this._createActionByOption("onResize")},_renderHandles:function(){var i=this.option("handles"),t;i!=="none"&&(t=i==="all"?["top","bottom","left","right"]:i.split(" "),n.each(t,n.proxy(function(n,t){this._renderHandle(t)},this)),n.inArray("bottom",t)+1&&n.inArray("right",t)+1&&this._renderHandle("corner-bottom-right"),n.inArray("bottom",t)+1&&n.inArray("left",t)+1&&this._renderHandle("corner-bottom-left"),n.inArray("top",t)+1&&n.inArray("right",t)+1&&this._renderHandle("corner-top-right"),n.inArray("top",t)+1&&n.inArray("left",t)+1&&this._renderHandle("corner-top-left"))},_renderHandle:function(t){var u=this.element(),r=n("<div>"),i;r.addClass(f).addClass(f+"-"+t).appendTo(u),i={},i[p]=n.proxy(this._dragStartHandler,this),i[w]=n.proxy(this._dragHandler,this),i[b]=n.proxy(this._dragEndHandler,this);r.on(i,{direction:this._dragEventDirection(t),immediate:!0})},_dragEventDirection:function(n){switch(n){case"right":case"left":return"horizontal";case"top":case"bottom":return"vertical";default:return"both"}},_dragStartHandler:function(n){this._toggleResizingClass(!0),this._movingSides=this._getMovingSides(n);var i=this.element();this._elementLocation=t.translator.locate(i),this._elementSize={width:i.outerWidth(),height:i.outerHeight()},this._renderDragOffsets(n),this._resizeStartAction({jQueryEvent:n,width:this._elementSize.width,height:this._elementSize.height,handles:this._movingSides}),n.targetElements=null},_toggleResizingClass:function(n){this.element().toggleClass(c,n)},_renderDragOffsets:function(t){var i=this._getArea(),e=n(t.target).closest("."+f);if(i.length){var o=i.innerWidth(),s=i.innerHeight(),h=e.outerWidth(),c=e.outerHeight(),u=e.offset(),r=i.offset()||{top:0,left:0};r.left+=this._getBorderWidth(i,"left")+this._getBorderWidth(this.element(),"left"),r.top+=this._getBorderWidth(i,"top")+this._getBorderWidth(this.element(),"top"),o-=this.element().outerWidth()-this.element().innerWidth(),s-=this.element().outerHeight()-this.element().innerHeight(),t.maxLeftOffset=u.left-r.left,t.maxRightOffset=r.left+o-u.left-h,t.maxTopOffset=u.top-r.top,t.maxBottomOffset=r.top+s-u.top-c}},_getBorderWidth:function(n,t){var i=n.css("border-"+t+"-width");return parseInt(i)||0},_dragHandler:function(n){var c=this.element(),i=this._getOffset(n),r=this._movingSides,e=this._elementLocation,o=this._elementSize,u=o.width+i.x*(r.left?-1:1),f=o.height+i.y*(r.top?-1:1),s,h;this._renderSize(u,f),s=i.y-(this.option("height")-f),h=i.x-(this.option("width")-u),t.translator.move(c,{top:e.top+(r.top?s:0),left:e.left+(r.left?h:0)}),this._resizeAction({jQueryEvent:n,width:u,height:f,handles:this._movingSides})},_getOffset:function(n){var i=n.offset,r=t.utils.stringPairToObject(this.option("step"));return{x:i.x-i.x%r.h,y:i.y-i.y%r.v}},_getMovingSides:function(t){var i=n(t.target);return{top:i.hasClass(l)||i.hasClass(r+"-top-left")||i.hasClass(r+"-top-right"),left:i.hasClass(v)||i.hasClass(r+"-top-left")||i.hasClass(r+"-bottom-left"),bottom:i.hasClass(a)||i.hasClass(r+"-bottom-left")||i.hasClass(r+"-bottom-right"),right:i.hasClass(y)||i.hasClass(r+"-top-right")||i.hasClass(r+"-bottom-right")}},_getArea:function(){var t=this.option("area");return n.isFunction(t)&&(t=t.call(this)),n(t)},_dragEndHandler:function(n){var t=this.element();this._resizeEndAction({jQueryEvent:n,width:t.outerWidth(),height:t.outerHeight(),handles:this._movingSides}),this._toggleResizingClass(!1)},_renderSize:function(n,t){this.option("width",s.fitIntoRange(n,this.option("minWidth"),this.option("maxWidth"))),this.option("height",s.fitIntoRange(t,this.option("minHeight"),this.option("maxHeight")))},_optionChanged:function(n){switch(n.name){case"handles":this._invalidate();break;case"minWidth":case"maxWidth":case"minHeight":case"maxHeight":this._renderSize(this.element().outerWidth(),this.element().outerHeight());break;case"onResize":case"onResizeStart":case"onResizeEnd":this._renderActions();break;case"gridStepHorizontal":case"gridStepVertical":case"area":case"step":break;default:this.callBase(n)}},_clean:function(){this.element().find("."+f).remove()}}))}(jQuery,DevExpress),function(n,t){var a=DevExpress.ui,o=t.utils,v="dx-box",y=".dx-box",tt="dx-box-item",r="dxBoxItemData",p=t.support.styleProp("flexGrow"),it=t.support.styleProp("flexShrink"),rt=t.support.stylePropPrefix("flexDirection"),w={row:"minWidth",col:"minHeight"},b={row:"maxWidth",col:"maxHeight"},s=1,k={start:"flex-start",end:"flex-end",center:"center","space-between":"space-between","space-around":"space-around"},d={start:"flex-start",end:"flex-end",center:"center",stretch:"stretch"},ut={row:"row",col:"column"},ft=t.Class.inherit({ctor:function(n,t){this._$element=n,this._option=t},renderBox:function(){this._$element.css({display:t.support.stylePropPrefix("flexDirection")+"flex",flexDirection:ut[this._option("direction")]})},renderAlign:function(){this._$element.css({justifyContent:this._normalizedAlign()})},_normalizedAlign:function(){var n=this._option("align");return n in k?k[n]:n},renderCrossAlign:function(){this._$element.css({alignItems:this._normalizedCrossAlign()})},_normalizedCrossAlign:function(){var n=this._option("crossAlign");return n in d?d[n]:n},renderItems:function(i){var u=this._option("direction");n.each(i,function(){var f=n(this),i=f.data(r),e;f.css({display:rt+"flex",flexBasis:i.baseSize||0}).css(b[u],i.maxSize||"none").css(w[u],i.minSize||"0"),e=f.get(0).style,e[p]=i.ratio,e[it]=o.isDefined(i.shrink)?i.shrink:s,f.children().each(function(i,r){n(r).css({width:"auto",height:"auto",display:t.support.stylePropPrefix("flexDirection")+"flex",flexDirection:f.children().css("flexDirection")||"column"}),r.style[p]=1})})},update:n.noop}),et="dxBox",h="dxupdate."+et,g="dx-box-fallback-item",ot={row:"nowrap",col:"normal"},u={row:"width",col:"height"},f={row:"height",col:"width"},e={row:"marginLeft",col:"marginTop"},c={row:"marginRight",col:"marginBottom"},l={row:"marginTop",col:"marginLeft"},nt={row:"marginBottom",col:"marginRight"},st={marginLeft:"marginRight",marginRight:"marginLeft"},ht=t.Class.inherit({ctor:function(n,t){this._$element=n,this._option=t},renderBox:function(){this._$element.css({fontSize:0,whiteSpace:ot[this._option("direction")],verticalAlign:"top"});this._$element.off(h).on(h,n.proxy(this.update,this))},renderAlign:function(){var n=this._$items;if(n){var f=this._option("align"),t=0,o=this.totalItemSize,i=this._option("direction"),s=this._$element[u[i]](),r=s-o;this._setItemsMargins(n,i,0);switch(f){case"end":t=r,n.first().css(this._chooseMarginSide(e[i]),t);break;case"center":t=.5*r,n.first().css(this._chooseMarginSide(e[i]),t),n.last().css(this._chooseMarginSide(c[i]),t);break;case"space-between":t=.5*r/(n.length-1),this._setItemsMargins(n,i,t),n.first().css(this._chooseMarginSide(e[i]),0),n.last().css(this._chooseMarginSide(c[i]),0);break;case"space-around":t=.5*r/n.length,this._setItemsMargins(n,i,t)}}},_setItemsMargins:function(n,t,i){n.css(this._chooseMarginSide(e[t]),i).css(this._chooseMarginSide(c[t]),i)},renderCrossAlign:function(){var r=this._$items;if(r){var e=this._option("crossAlign"),t=this._option("direction"),u=this._$element[f[t]](),i=this;switch(e){case"end":n.each(r,function(){var r=n(this),e=r[f[t]](),o=u-e;r.css(i._chooseMarginSide(l[t]),o)});break;case"center":n.each(r,function(){var r=n(this),o=r[f[t]](),e=.5*(u-o);r.css(i._chooseMarginSide(l[t]),e).css(i._chooseMarginSide(nt[t]),e)});break;case"stretch":r.css(i._chooseMarginSide(l[t]),0).css(i._chooseMarginSide(nt[t]),0).css(f[t],"100%")}}},_chooseMarginSide:function(n){return this._option("rtlEnabled")?st[n]||n:n},renderItems:function(t){this._$items=t;var i=this._option("direction"),e=0,h=0,c=0;n.each(t,n.proxy(function(t,f){var l=n(f);l.css({display:"inline-block",verticalAlign:"top"}),l[u[i]]("auto"),l.removeClass(g);var a=l.data(r),y=a.ratio||0,v=this._baseSize(l),p=o.isDefined(a.shrink)?a.shrink:s;e+=y,h+=p*v,c+=v},this));var f=this._boxSize()-c,a=n.proxy(function(n){var t=n.data(r),i=this._baseSize(n),c=f>=0?t.ratio||0:(o.isDefined(t.shrink)?t.shrink:s)*i,u=f>=0?e:h,l=u?Math.round(f*c/u):0;return i+l},this),l=0;n.each(t,function(t,f){var e=n(f),o=n(f).data(r),s=a(e);l+=s,e.css(b[i],o.maxSize||"none").css(w[i],o.minSize||"0").css(u[i],s),e.addClass(g)}),this.totalItemSize=l},_baseSize:function(t){var i=n(t).data(r);return i.baseSize==null?0:i.baseSize==="auto"?this._contentSize(t):this._parseSize(i.baseSize)},_contentSize:function(t){return n(t)[u[this._option("direction")]]()},_parseSize:function(n){return String(n).match(/.+%$/)?.01*parseFloat(n)*this._boxSize():n},_boxSize:function(){return this._$element[u[this._option("direction")]]()},_totalBaseSize:function(){var t=0;return n.each(this._$items,n.proxy(function(n,i){t+=this._baseSize(i)},this)),t},update:function(){if(this._$items&&!this._$element.is(":hidden")){this.renderItems(this._$items),this.renderAlign(),this.renderCrossAlign();var t=this._$element.get(0);this._$items.find(y).each(function(){t===n(this).parent().closest(y).get(0)&&n(this).triggerHandler(h)})}}});t.registerComponent("dxBox",a,a.CollectionWidget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({direction:"row",align:"start",crossAlign:"stretch",activeStateEnabled:!1,focusStateEnabled:!1,_layoutStrategy:"flex"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var n=t.devices.real(),i=n.platform==="android"&&(n.version[0]<4||n.version[0]===4&&n.version[1]<4),r=n.platform==="ios"&&n.version[0]<7;return n.platform==="win8"||t.browser.msie||i||r},options:{_layoutStrategy:"fallback"}}])},_itemClass:function(){return tt},_itemDataKey:function(){return r},_itemElements:function(){return this._itemContainer().children(this._itemSelector())},_init:function(){this.callBase(),this.element().addClass(v+"-"+this.option("_layoutStrategy")),this._initLayout()},_initLayout:function(){this._layout=this.option("_layoutStrategy")==="fallback"?new ht(this.element(),n.proxy(this.option,this)):new ft(this.element(),n.proxy(this.option,this))},_render:function(){this.callBase(),this.element().addClass(v),this._renderBox()},_renderBox:function(){this._layout.renderBox(),this._layout.renderAlign(),this._layout.renderCrossAlign()},_renderItems:function(t){this.callBase(t),this._layout.renderItems(this._itemElements()),clearTimeout(this._updateTimer),this._updateTimer=setTimeout(n.proxy(function(){this._isUpdated||this._layout.update(),this._isUpdated=!1},this))},_postprocessRenderItem:function(t){var i=t.itemData.box;i&&this._createComponent(t.itemContent,"dxBox",n.extend({itemTemplate:this.option("itemTemplate"),itemHoldTimeout:this.option("itemHoldTimeout"),onItemHold:this.option("onItemHold"),onItemClick:this.option("onItemClick"),onItemContextMenu:this.option("onItemContextMenu"),onItemRendered:this.option("onItemRendered")},i))},_createItemByTemplate:function(n,t){return t.item.box?n.source():this.callBase(n,t)},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dimensionChanged:function(){this._isUpdated=!0,this._layout.update()},_dispose:function(){clearTimeout(this._updateTimer),this.callBase.apply(this,arguments)},_optionChanged:function(n){switch(n.name){case"_layoutStrategy":case"direction":this._invalidate();break;case"align":this._layout.renderAlign();break;case"crossAlign":this._layout.renderCrossAlign();break;default:this.callBase(n)}},repaint:function(){this._dimensionChanged()}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f="dx-responsivebox",e="dx-box-item",u="dxBoxItemData",o=function(n){return n<768?"xs":n<992?"sm":n<1200?"md":"lg"};t.registerComponent("dxResponsiveBox",r,r.CollectionWidget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({rows:[],cols:[],screenByWidth:o,singleColumnScreen:"xs",activeStateEnabled:!1,focusStateEnabled:!1})},_initOptions:function(n){n.screenByWidth&&this.option("singleColumnScreen",n.screenByWidth(0)),this.callBase(n)},_itemClass:function(){return e},_itemDataKey:function(){return u},_render:function(){this.callBase(),this.element().addClass(f),this._updateRootBox()},_updateRootBox:function(){clearTimeout(this._updateTimer),this._updateTimer=setTimeout(n.proxy(function(){this._$root&&this._$root.trigger("dxupdate")},this))},_renderItems:function(){this._screenItems=this._itemsByScreen(),this._prepareGrid(),this._spreadItems(),this._layoutItems(),this._linkNodeToItem()},_prepareGrid:function(){var t=this._grid=[];this._prepareRowsAndCols(),n.each(this._rows,n.proxy(function(){var i=[];t.push(i),n.each(this._cols,n.proxy(function(){i.push(this._createEmptyCell())},this))},this))},_prepareRowsAndCols:function(){this._isSingleColumnScreen()?(this._prepareSingleColumnScreenItems(),this._rows=this._defaultSizeConfig(this._screenItems.length),this._cols=this._defaultSizeConfig(1)):(this._rows=this._sizesByScreen(this.option("rows")),this._cols=this._sizesByScreen(this.option("cols")))},_isSingleColumnScreen:function(){return this._screenRegExp().test(this.option("singleColumnScreen"))||!this.option("rows").length||!this.option("cols").length},_prepareSingleColumnScreenItems:function(){this._screenItems.sort(function(n,t){return n.location.row-t.location.row||n.location.col-t.location.col}),n.each(this._screenItems,function(t,i){n.extend(i.location,{row:t,col:0,rowspan:1,colspan:1})})},_sizesByScreen:function(t){return n.map(this._filterByScreen(t),n.proxy(function(t){return n.extend(this._defaultSizeConfig(),t)},this))},_defaultSizeConfig:function(n){var r={ratio:1,baseSize:0,minSize:0,maxSize:0},t,i;if(!arguments.length)return r;for(t=[],i=0;i<n;i++)t.push(r);return t},_filterByScreen:function(t){var i=this._screenRegExp();return n.grep(t,function(n){return!n.screen||i.test(n.screen)})},_screenRegExp:function(){var n=this._screenWidth(),t=this.option("screenByWidth")(n);return new RegExp("(^|\\s)"+t+"($|\\s)","i")},_screenWidth:function(){return n(window).width()},_createEmptyCell:function(){return{item:{},location:{colspan:1,rowspan:1}}},_spreadItems:function(){n.each(this._screenItems,n.proxy(function(n,t){var i=t.location||{},u=i.col,f=i.row,r=this._grid[f],e=r&&r[u];this._occupyCells(e,t)},this))},_itemsByScreen:function(){return n.map(this.option("items"),n.proxy(function(t){var i=t.location||{};return i=n.isPlainObject(i)?[i]:i,n.map(this._filterByScreen(i),function(i){return{item:t,location:n.extend({rowspan:1,colspan:1},i)}})},this))},_occupyCells:function(t,i){t&&!this._isItemCellOccupied(t,i)&&(n.extend(t,i),this._markSpanningCell(t))},_isItemCellOccupied:function(t,i){if(!n.isEmptyObject(t.item))return!0;var r=!1;return this._loopOverSpanning(i.location,function(t){r=r||!n.isEmptyObject(t.item)}),r},_loopOverSpanning:function(n,t){var u=n.row+n.rowspan-1,f=n.col+n.colspan-1,e=Math.min(u,this._rows.length-1),o=Math.min(f,this._cols.length-1),i,r;for(n.rowspan-=u-e,n.colspan-=f-o,i=n.row;i<=e;i++)for(r=n.col;r<=o;r++)(i!==n.row||r!==n.col)&&t(this._grid[i][r])},_markSpanningCell:function(t){this._loopOverSpanning(t.location,function(i){n.extend(i,{item:t.item,spanningCell:t})})},_linkNodeToItem:function(){n.each(this._itemElements(),function(t,i){var r=n(i),f=r.data(u);f.box||(f.node=r.children())})},_layoutItems:function(){var t=this._grid.length,u=t&&this._grid[0].length,i,r;(t||u)&&(i=this._layoutBlock({direction:"col",row:{start:0,end:t-1},col:{start:0,end:u-1}}),r=this._prepareBoxConfig(i.box||{direction:"col",items:[i]}),n.extend(r,this._rootBoxConfig()),this._$root=n("<div>").appendTo(this._itemContainer()),this._createComponent(this._$root,"dxBox",r))},_rootBoxConfig:function(){return{width:"100%",height:"100%",itemTemplate:this.option("itemTemplate"),itemHoldTimeout:this.option("itemHoldTimeout"),onItemHold:this.option("onItemHold"),onItemClick:this.option("onItemClick"),onItemContextMenu:this.option("onItemContextMenu"),onItemRendered:this.option("onItemRendered")}},_prepareBoxConfig:function(t){return n.extend(t||{},{crossAlign:"stretch"})},_layoutBlock:function(n){return this._isSingleItem(n)?this._itemByCell(n.row.start,n.col.start):this._layoutDirection(n)},_isSingleItem:function(n){var t=this._grid[n.row.start][n.col.start].location,i=n.row.end-n.row.start==t.rowspan-1,r=n.col.end-n.col.start==t.colspan-1;return i&&r},_itemByCell:function(n,t){var i=this._grid[n][t];return i.spanningCell?null:i.item},_layoutDirection:function(i){for(var e=[],o=i.direction,u=this._crossDirection(o),r,f;r=this._nextBlock(i);){if(this._isBlockIndivisible(i.prevBlockOptions,r))throw t.Error("E1025");f=this._layoutBlock({direction:u,row:r.row,col:r.col,prevBlockOptions:i}),f&&(n.extend(f,this._blockSize(r,u)),e.push(f)),i[u].start=r[u].end+1}return{box:this._prepareBoxConfig({direction:o,items:e})}},_isBlockIndivisible:function(n,t){return n&&n.col.start===t.col.start&&n.col.end===t.col.end&&n.row.start===t.row.start&&n.row.end===t.row.end},_crossDirection:function(n){return n==="col"?"row":"col"},_nextBlock:function(n){var i=n.direction,f=this._crossDirection(i),l=n[i].start,a=n[i].end,t=n[f].start,r,u,e,o,v,h,c,s;if(t>n[f].end)return null;for(r=1,u=t;u<t+r;u++){for(e=1,o=l;o<=a;o++)v=this._cellByDirection(i,o,u),e=Math.max(e,v.location[f+"span"]);h=u+e,c=t+r,h>c&&(r+=h-c)}return s={},s[i]={start:l,end:a},s[f]={start:t,end:t+r-1},s},_cellByDirection:function(n,t,i){return n==="col"?this._grid[i][t]:this._grid[t][i]},_blockSize:function(n,t){for(var f=t==="row"?this._rows:this._cols,i={ratio:0,baseSize:0,minSize:0,maxSize:0},r,u=n[t].start;u<=n[t].end;u++)r=f[u],i.ratio+=r.ratio,i.baseSize+=r.baseSize,i.minSize+=r.minSize,i.maxSize+=r.maxSize;return i.minSize=i.minSize?i.minSize:"auto",i.maxSize=i.maxSize?i.maxSize:"auto",this._isSingleColumnScreen()&&(i.baseSize="auto"),i},_update:function(){var n=this._$root;this._renderItems(),n.remove()},_dispose:function(){clearTimeout(this._updateTimer),this.callBase.apply(this,arguments)},_optionChanged:function(n){switch(n.name){case"rows":case"cols":case"screenByWidth":case"singleColumnScreen":this._invalidate();break;case"width":case"height":this.callBase(n),this._update();break;default:this.callBase(n)}},_dimensionChanged:function(){this._update()},repaint:function(){this._update()}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f=r.events,e=t.utils,o="dx-button",u="dx-button-content",s="dx-button-has-text",h="dx-button-has-icon",c="dx-template-wrapper",l=100;t.registerComponent("dxButton",r,r.Widget.inherit({_supportedKeys:function(){var i=this,t=function(n){n.preventDefault(),i._executeClickAction(n)};return n.extend(this.callBase(),{space:t,enter:t})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{clickAction:{since:"14.2",alias:"onClick"},iconSrc:{since:"15.1",alias:"icon"}})},_setDefaultOptions:function(){this.callBase(),this.option({onClick:null,type:"normal",text:"",icon:"",validationGroup:i,activeStateEnabled:!0,template:"content"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._feedbackHideTimeout=l},_render:function(){this.callBase(),this.element().addClass(o),this._renderType(),this._renderClick(),this.setAria("role","button"),this._updateAriaLabel()},_renderContentImpl:function(){var t=n("<div>").addClass(u),r=this._getContentData(),f,i;this.element().empty(),this.element().append(t),this.element().toggleClass(h,!!r.icon),this.element().toggleClass(s,!!r.text),f=this._getTemplateByOption("template"),i=f.render(r,t),i.hasClass(c)&&(t.replaceWith(i),t=i,t.addClass(u))},_getContentData:function(){var n=this.option("icon"),i=this.option("text"),r=this.option("type")==="back";return r&&!n&&(n="back"),r&&!i&&(i=t.localization.localizeString("@Back")),{icon:n,text:i}},_renderClick:function(){var t=this,n=f.addNamespace("dxclick",this.NAME);this._clickAction=this._createActionByOption("onClick");this.element().off(n).on(n,function(n){t._executeClickAction(n)})},_executeClickAction:function(n){this._clickAction({jQueryEvent:n,validationGroup:t.validationEngine.getGroupConfig(this._findGroup())})},_updateAriaLabel:function(){var t=this.option("icon"),r=this.option("text"),i;t=e.getImageSourceType(t)==="image"?t.replace(/.+\/([^\.]+)\..+$/,"$1"):t,i=r||t,this.setAria("label",n.trim(i))},_renderType:function(){var n=this.option("type");n&&this.element().addClass("dx-button-"+n)},_refreshType:function(n){var t=this.option("type");n&&this.element().removeClass("dx-button-"+n).addClass("dx-button-"+t),this.element().hasClass("dx-button-has-icon")||t!=="back"||this._renderContentImpl()},_optionChanged:function(n){switch(n.name){case"onClick":this._renderClick();break;case"icon":case"text":this._renderContentImpl(),this._updateAriaLabel();break;case"type":this._refreshType(n.previousValue),this._updateAriaLabel();break;case"template":this._renderContentImpl();break;default:this.callBase(n)}},_findGroup:t.ui.validation.findGroup}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,e=r.events,o="dx-checkbox",s="dx-checkbox-icon",h="dx-checkbox-checked",c="dx-checkbox-container",l=".dx-checkbox-container",a="dx-checkbox-text",v=".dx-checkbox-text",u="dx-checkbox-has-text",y="dx-checkbox-indeterminate",p=100,f=e.addNamespace("dxclick","dxCheckBox");t.registerComponent("dxCheckBox",r,r.Editor.inherit({_supportedKeys:function(){var t=function(n){n.preventDefault(),this._clickAction({jQueryEvent:n})};return n.extend(this.callBase(),{space:t})},_setDefaultOptions:function(){this.callBase(),this.option({value:!1,text:""})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._feedbackHideTimeout=p},_render:function(){this.callBase(),this.element().addClass(o).append(n("<div>").addClass(c)),this.setAria("role","checkbox"),this._$container=this.element().find(l),this._renderClick(),this._renderValue(),this._renderIcon(),this._renderText()},_renderDimensions:function(){this.callBase()},_renderIcon:function(){this._$icon=n("<span>").addClass(s).prependTo(this._$container)},_renderText:function(){if(this._$text=this._$container.find(v),!this.option("text")){this._$text&&(this._$text.remove(),this.element().removeClass(u));return}this._$text.length||(this._$text=n("<span>").addClass(a)),this._$text.text(this.option("text")),this._$container.append(this._$text),this.element().addClass(u)},_renderClick:function(){this._clickAction=this._createAction(this._clickHandler);this.element().off(f).on(f,n.proxy(function(n){this._clickAction({jQueryEvent:n})},this))},_clickHandler:function(n){var t=n.component;t._saveValueChangeEvent(n.jQueryEvent),t.option("value",!t.option("value"))},_renderValue:function(){var t=this.element(),n=this.option("value"),r=n===i;t.toggleClass(h,Boolean(n)),t.toggleClass(y,r),this.setAria("checked",r?"mixed":n||"false")},_optionChanged:function(n){switch(n.name){case"value":this._renderValue(),this.callBase(n);break;case"text":this._renderText(),this._renderDimensions();break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,e=u.events,f=t.fx,r="dx-switch",o=r+"-wrapper",s=r+"-container",h=r+"-inner",c=r+"-handle",l=r+"-on-value",a=r+"-on",v=r+"-off",y=100;t.registerComponent("dxSwitch",u,u.Editor.inherit({_supportedKeys:function(){var t=this.option("rtlEnabled"),i=function(n){n.preventDefault(),this._clickAction({jQueryEvent:n})},r=function(n,t){t.preventDefault(),t.stopPropagation(),this._animateValue(n)};return n.extend(this.callBase(),{space:i,enter:i,leftArrow:n.proxy(r,this,t?!0:!1),rightArrow:n.proxy(r,this,t?!1:!0)})},_setDefaultOptions:function(){this.callBase(),this.option({onText:Globalize.localize("dxSwitch-onText"),offText:Globalize.localize("dxSwitch-offText"),value:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._animating=!1,this._animationDuration=y},_render:function(){var t=this.element();this._$switchInner=n("<div>").addClass(h),this._$handle=n("<div>").addClass(c).appendTo(this._$switchInner),this._$labelOn=n("<div>").addClass(a).prependTo(this._$switchInner),this._$labelOff=n("<div>").addClass(v).appendTo(this._$switchInner),this._$switchContainer=n("<div>").addClass(s).append(this._$switchInner),this._$switchWrapper=n("<div>").addClass(o).append(this._$switchContainer),t.addClass(r).append(this._$switchWrapper),this.setAria("role","button"),this._createComponent(t,"dxSwipeable",{elastic:!1,immediate:!0,onStart:n.proxy(this._swipeStartHandler,this),onUpdated:n.proxy(this._swipeUpdateHandler,this),onEnd:n.proxy(this._swipeEndHandler,this)}),this._renderLabels(),this.callBase(),this._updateMarginBound(),this._renderValue(),this._renderClick()},_updateMarginBound:function(){this._marginBound=this._$switchContainer.outerWidth(!0)-this._$handle.outerWidth()},_marginDirection:function(){return this.option("rtlEnabled")?"Right":"Left"},_offsetDirection:function(){return this.option("rtlEnabled")?-1:1},_renderPosition:function(n,t){var r=n?1:0,i=this._marginDirection(),u=i==="Left"?"Right":"Left";this._$switchInner.css("margin"+i,this._marginBound*(r+t-1)),this._$switchInner.css("margin"+u,0)},_validateValue:function(){var n=this.option("value");typeof n!="boolean"&&(this._options.value=!!n)},_renderClick:function(){var t=e.addNamespace("dxclick",this.NAME);this._clickAction=this._createAction(n.proxy(this._clickHandler,this));this.element().off(t).on(t,n.proxy(function(n){this._clickAction({jQueryEvent:n})},this))},_clickHandler:function(n){var t=n.jQueryEvent;(this._saveValueChangeEvent(t),this._animating||this._swiping)||this._animateValue(!this.option("value"))},_animateValue:function(n){var r=this.option("value"),t=n;if(r!==t){this._animating=!0;var u=this,i=this._marginDirection(),s=i==="Left"?"Right":"Left",e={},o={};this._$switchInner.css("margin"+s,0),e["margin"+i]=(Number(r)-1)*this._marginBound,o["margin"+i]=(Number(t)-1)*this._marginBound,f.animate(this._$switchInner,{from:e,to:o,duration:this._animationDuration,complete:function(){u._animating=!1,u.option("value",t)}})}},_swipeStartHandler:function(n){var t=this.option("value"),i=this.option("rtlEnabled"),r=i?0:1,u=i?1:0;n.jQueryEvent.maxLeftOffset=t?r:u,n.jQueryEvent.maxRightOffset=t?u:r,this._swiping=!0,this._toggleActiveState(this.element(),!0)},_swipeUpdateHandler:function(n){this._renderPosition(this.option("value"),this._offsetDirection()*n.jQueryEvent.offset)},_swipeEndHandler:function(n){var t=this,i=this._offsetDirection(),r={};r["margin"+this._marginDirection()]=this._marginBound*(t.option("value")+i*n.jQueryEvent.targetOffset-1),f.animate(this._$switchInner,{to:r,duration:t._animationDuration,complete:function(){t._swiping=!1;var r=t.option("value")+i*n.jQueryEvent.targetOffset;t.option("value",Boolean(r)),t._toggleActiveState(t.element(),!1)}})},_renderValue:function(){this._validateValue();var n=this.option("value");this._renderPosition(n,0),this.element().toggleClass(l,n),this.setAria({pressed:n,label:n?this.option("onText"):this.option("offText")})},_renderLabels:function(){this._$labelOn.text(this.option("onText")),this._$labelOff.text(this.option("offText"))},_visibilityChanged:function(n){n&&this.repaint()},_optionChanged:function(n){switch(n.name){case"visible":case"width":this._refresh();break;case"onText":case"offText":this._renderLabels();break;case"value":this._renderValue(),this.callBase(n);break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,r=u.events,f=t.inflector,c="dx-texteditor",e="dx-texteditor-input",l="."+e,a="dx-texteditor-container",o="dx-texteditor-buttons-container",v="dx-placeholder",y="dx-show-clear-button",p="dx-icon",w="dx-icon-clear",b="dx-clear-button-area",k="dx-texteditor-empty",s="dx-state-focused",h=["keyDown","keyPress","keyUp","change","cut","copy","paste","input"];t.registerComponent("dxTextEditor",u,u.Editor.inherit({_supportedKeys:function(){var n=function(n){n.stopPropagation()};return{space:n,enter:n,leftArrow:n,rightArrow:n}},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{keyDownAction:{since:"14.2",alias:"onKeyDown"},keyPressAction:{since:"14.2",alias:"onKeyPress"},keyUpAction:{since:"14.2",alias:"onKeyUp"},cutAction:{since:"14.2",alias:"onCut"},copyAction:{since:"14.2",alias:"onCopy"},pasteAction:{since:"14.2",alias:"onPaste"},changeAction:{since:"14.2",alias:"onChange"},inputAction:{since:"14.2",alias:"onInput"},focusInAction:{since:"14.2",alias:"onFocusIn"},focusOutAction:{since:"14.2",alias:"onFocusOut"},enterKeyAction:{since:"14.2",alias:"onEnterKey"}})},_setDefaultOptions:function(){this.callBase(),this.option({value:"",spellcheck:!1,showClearButton:!1,valueChangeEvent:"change",placeholder:"",attr:{},onFocusIn:null,onFocusOut:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onChange:null,onInput:null,onCut:null,onCopy:null,onPaste:null,onEnterKey:null,mode:"text",hoverStateEnabled:!0,focusStateEnabled:!0,text:i,valueFormat:function(n){return n}})},_input:function(){return this.element().find(l).first()},_inputWrapper:function(){return this.element()},_buttonsContainer:function(){return this._inputWrapper().find("."+o)},_render:function(){this.element().addClass(c),this._renderInput(),this._renderInputType(),this._renderValue(),this._renderProps(),this._renderPlaceholder(),this._renderEvents(),this._renderEnterKeyAction(),this._renderEmptinessEvent(),this.callBase()},_renderInput:function(){n("<div>").addClass(a).append(this._createInput()).append(n("<div>").addClass(o)).appendTo(this.element())},_createInput:function(){return n("<input>").addClass(e).attr("autocomplete","off").attr(this.option("attr"))},_renderValue:function(){this._renderInputValue(),this._renderInputAddons()},_renderInputValue:function(){var n=this.option("text"),f=this.option("value"),r=this.option("displayValue"),u=this.option("valueFormat");r!==i?n=u(r):t.utils.isDefined(n)||(n=u(f)),this._input().val()!==(t.utils.isDefined(n)?n:"")&&this._renderDisplayText(n)},_renderDisplayText:function(n){this._input().val(n),this._toggleEmptinessEventHandler()},_isValueValid:function(){var n=this._input().get(0).validity;return n?n.valid:!0},_toggleEmptiness:function(n){this.element().toggleClass(k,n),this._togglePlaceholder(n)},_togglePlaceholder:function(n){this._$placeholder&&(t.browser.msie?this._$placeholder.toggle(!this._input().is(":focus")&&n):this._$placeholder.toggle(n))},_renderProps:function(){this._toggleDisabledState(this.option("disabled")),this._toggleReadOnlyState(this._readOnlyPropValue()),this._toggleSpellcheckState()},_toggleDisabledState:function(){this.callBase.apply(this,arguments);var n=this._input();this.option("disabled")?n.attr("disabled",!0).attr("tabindex",-1):n.removeAttr("disabled").removeAttr("tabindex")},_toggleReadOnlyState:function(n){this._input().prop("readOnly",n),this.callBase()},_readOnlyPropValue:function(){return this.option("readOnly")},_toggleSpellcheckState:function(){this._input().prop("spellcheck",this.option("spellcheck"))},_renderPlaceholder:function(){this._$placeholder&&(this._$placeholder.remove(),this._$placeholder=null);var i=this,u=i._input(),f=i.option("placeholder"),t=this._$placeholder=n("<div>").attr("data-dx_placeholder",f),e=r.addNamespace("dxpointerup",this.NAME);t.on(e,function(){u.focus()});t.insertAfter(u),t.addClass(v)},_placeholder:function(){return this._$placeholder||n()},_renderInputAddons:function(){this._renderClearButton()},_checkIfClearButtonShouldBeRendered:function(){return this.option("showClearButton")&&!this.option("readOnly")},_renderClearButton:function(){var n=this._checkIfClearButtonShouldBeRendered();if(this.element().toggleClass(y,n),!n){this._$clearButton&&this._$clearButton.remove(),this._$clearButton=null;return}this._$clearButton||(this._$clearButton=this._createClearButton())},_createClearButton:function(){return n("<span>").addClass(b).append(n("<span>").addClass(p).addClass(w)).prependTo(this._buttonsContainer()).on(r.addNamespace("dxpointerdown",this.NAME),function(n){n.preventDefault(),n.dxPreventBlur=!0}).on(r.addNamespace("dxclick",this.NAME),n.proxy(this._clearValueHandler,this))},_clearValueHandler:function(n){var t=this._input();n.stopPropagation(),this.reset(),t.is(":focus")?(t.val(""),this._toggleEmptinessEventHandler()):t.focus()},_renderEvents:function(){var t=this,i=t._input();t._renderValueChangeEvent(),t._attachFocusEvents(),n.each(h,function(n,u){var e=r.addNamespace(u.toLowerCase(),t.NAME),o=t._createActionByOption("on"+f.camelize(u,!0),{excludeValidators:["readOnly"]});i.off(e).on(e,function(n){o({jQueryEvent:n})})})},_keyUpHandler:function(){this.option("text",this._input().val())},_renderValueChangeEvent:function(){var t=this.NAME+"ValueChange",i=r.addNamespace(this._renderValueEventName(),this.NAME+"TextChange"),u;this._input().off(i).on(i,n.proxy(this._keyUpHandler,this));u=r.addNamespace(this.option("valueChangeEvent"),t);this._input().off("."+t).on(u,n.proxy(this._valueChangeEventHandler,this)).on("paste",n.proxy(this._pasteHandler,this))},_renderValueEventName:function(){return"input change keyup"},_focusTarget:function(){return this._input()},_pasteHandler:function(t){clearTimeout(this._pasteTimer),this._pasteTimer=setTimeout(n.proxy(this._valueChangeEventHandler,this,t))},_focusInHandler:function(n){n.stopPropagation(),this.element().addClass(s)},_focusOutHandler:function(n){n.stopPropagation(),this.element().removeClass(s)},_renderEmptinessEvent:function(){var t=this._input();t.on("input blur",n.proxy(this._toggleEmptinessEventHandler,this));this._toggleEmptinessEventHandler()},_toggleEmptinessEventHandler:function(){var t=this._input().val(),i=(t===""||t===null)&&this._isValueValid();this._toggleEmptiness(i)},_valueChangeEventHandler:function(n,t){this._saveValueChangeEvent(n),this.option("value",arguments.length>1?t:this._input().val())},_renderEnterKeyAction:function(){if(this.option("onEnterKey")){this._enterKeyAction=this._createActionByOption("onEnterKey",{excludeValidators:["readOnly"]});this._input().on("keyup.onEnterKey.dxTextEditor",n.proxy(this._enterKeyHandlerUp,this))}else this._input().off("keyup.onEnterKey.dxTextEditor"),this._enterKeyAction=i},_enterKeyHandlerUp:function(n){n.which===13&&this._enterKeyAction({jQueryEvent:n})},_updateValue:function(){this.option("text",i),this._renderValue()},_clean:function(){this._$placeholder&&(this._$placeholder.remove(),delete this._$placeholder),delete this._$clearButton,this.callBase()},_dispose:function(){clearTimeout(this._pasteTimer),this.callBase()},_optionChanged:function(t){var i=t.name;if(n.inArray(f.camelize(i.replace("on","")),h)>-1){this._renderEvents();return}switch(i){case"valueChangeEvent":this._renderValueChangeEvent();break;case"onValueChanged":this._createValueChangeAction();break;case"readOnly":this._toggleReadOnlyState(t.value),this.callBase(t),this._renderInputAddons();break;case"spellcheck":this._toggleSpellcheckState();break;case"mode":this._renderInputType();break;case"onEnterKey":this._renderEnterKeyAction();break;case"placeholder":this._invalidate();break;case"showClearButton":this._renderInputAddons();break;case"text":break;case"value":this._updateValue(),this.callBase(t);break;case"attr":this._input().attr(t.value);break;case"valueFormat":this._invalidate();break;default:this.callBase(t)}},_renderInputType:function(){this._setInputType(this.option("mode"))},_setInputType:function(n){var t=this._input();n==="search"&&(n="text");try{t.prop("type",n)}catch(i){t.prop("type","text")}},focus:function(){this._input().focus()},blur:function(){this._input().is(document.activeElement)&&t.utils.resetActiveElement()},reset:function(){this.option("value","")}}))}(jQuery,DevExpress),function(n,t){var f=t.ui,r=f.events,e=t.utils,s=" ",h=32,c="dx-texteditor-masked",u="dxMask",o="forward",l="backward",a={"0":/[0-9]/,"9":/[0-9\s]/,"#":/[-+0-9\s]/,L:/[a-zA-Z]/,l:/[a-zA-Z\s]/,C:/\S/,c:/./,A:/[0-9a-zA-Z]/,a:/[0-9a-zA-Z\s]/},v={35:"end",36:"home",37:"leftArrow",38:"upArrow",39:"rightArrow",40:"downArrow"};t.registerComponent("dxTextEditor",f,f.dxTextEditor.inherit({_setDefaultOptions:function(){this.callBase(),this.option({mask:"",maskChar:"_",maskRules:{},maskInvalidMessage:Globalize.localize("validation-mask")})},_supportedKeys:function(){var t=this,r={backspace:t._maskBackspaceHandler,del:t._maskDelHandler,enter:t._changeHandler},i=t.callBase();return n.each(r,function(n,r){var u=i[n];i[n]=function(n){t.option("mask")&&r.call(t,n),u&&u(n)}}),i},_render:function(){this.callBase(),this._renderMask()},_renderMask:function(){(this.element().removeClass(c),this._maskRulesChain=null,this.option("mask"))&&(this.element().addClass(c),this._attachMaskEventHandlers(),this._parseMask(),this._renderMaskedValue())},_attachMaskEventHandlers:function(){this._input().off("."+u).on(r.addNamespace("focus",u),n.proxy(this._maskFocusHandler,this)).on(r.addNamespace("keypress",u),n.proxy(this._maskKeyPressHandler,this)).on(r.addNamespace("paste",u),n.proxy(this._maskPasteHandler,this)).on(r.addNamespace("cut",u),n.proxy(this._maskCutHandler,this)).on(r.addNamespace("drop",u),n.proxy(this._maskDragHandler,this));this._attachChangeEventHandlers()},_attachChangeEventHandlers:function(){if(n.inArray("change",this.option("valueChangeEvent").split(" "))!==-1)this._input().on(r.addNamespace("blur",u),n.proxy(this._changeHandler,this))},_changeHandler:function(n){this._valueChangeEventHandler(r.createEvent(n,{type:"change"}))},_parseMask:function(){this._maskRules=n.extend({},a,this.option("maskRules")),this._maskRulesChain=this._parseMaskRule(0)},_parseMaskRule:function(n){var i=this.option("mask"),t;return n>=i.length?new f.dxTextEditor.EmptyMaskRule:(t=this._getMaskRule(i[n]),t.next(this._parseMaskRule(n+1)),t)},_getMaskRule:function(t){var i;return n.each(this._maskRules,function(n,r){if(n===t)return i={pattern:n,allowedChars:r},!1}),e.isDefined(i)?new f.dxTextEditor.MaskRule(n.extend({maskChar:this.option("maskChar")},i)):new f.dxTextEditor.StubMaskRule({maskChar:t})},_renderMaskedValue:function(){if(this._maskRulesChain){var n=this.option("value");this._maskRulesChain.clear(),this._handleChain({value:n,length:n.length}),this._displayMask()}},_displayMask:function(){var n=this._caret();this._renderValue(),this._caret(n)},_renderValue:function(){this._maskRulesChain&&this.option("text",this._maskRulesChain.text()),this.callBase()},_valueChangeEventHandler:function(n){if(this._maskRulesChain){this._saveValueChangeEvent(n),this.option("value",(this._value||"").replace(/\s+$/,""));return}this.callBase.apply(this,arguments)},_maskFocusHandler:function(){this._direction(o),this._adjustCaret()},_maskKeyPressHandler:function(n){this._isControlKeyFired(n)||this._maskKeyHandler(n,function(){return this._handleKey(n.which),!0})},_isControlKeyFired:function(n){return v[n.keyCode]&&!n.which||n.metaKey},_maskBackspaceHandler:function(n){this._maskKeyHandler(n,function(){return this._hasSelection()?!0:this._tryMoveCaretBackward()?!1:(this._handleKey(h,l),!0)})},_maskDelHandler:function(n){this._maskKeyHandler(n,function(){return this._hasSelection()||this._handleKey(h),!0})},_maskPasteHandler:function(n){var t=this._caret();this._maskKeyHandler(n,function(){var r=e.clipboardText(n),u=this._maskRulesChain.text().substring(t.end),f=this._handleChain({text:r,start:t.start,length:r.length}),i=t.start+f;return this._handleChain({text:u,start:i,length:u.length}),this._caret({start:i,end:i}),!0})},_handleChain:function(n){var t=this._maskRulesChain.handle(n);return this._value=this._maskRulesChain.value(),t},_maskCutHandler:function(n){var t=this._caret(),i=this._input().val().substring(t.start,t.end);this._maskKeyHandler(n,function(){return e.clipboardText(n,i),!0})},_maskDragHandler:function(){this._clearDragTimer(),this._dragTimer=setTimeout(n.proxy(function(){this.option("value",this._convertToValue(this._input().val()))},this))},_convertToValue:function(n){return n.replace(new RegExp(this.option("maskChar"),"g"),s)},_maskKeyHandler:function(n,t){(this._direction(o),n.preventDefault(),this._handleSelection(),t.call(this))&&(this._direction(o),this._adjustCaret(),this._displayMask(),this._maskRulesChain.reset())},_handleKey:function(n,t){var i=String.fromCharCode(n);this._direction(t||o),this._adjustCaret(i),this._handleKeyChain(i),this._moveCaret()},_handleSelection:function(){if(this._hasSelection()){var n=this._caret(),t=new Array(n.end-n.start+1).join(s);this._handleKeyChain(t)}},_handleKeyChain:function(n){var t=this._caret(),i=this._isForwardDirection()?t.start:t.start-1,r=this._isForwardDirection()?t.end:t.end-1,u=i===r?1:r-i;this._handleChain({text:n,start:i,length:u})},_tryMoveCaretBackward:function(){this._direction(l);var n=this._caret().start;return this._adjustCaret(),!n||n!==this._caret().start},_adjustCaret:function(n){var t=this._maskRulesChain.adjustedCaret(this._caret().start,this._isForwardDirection(),n);this._caret({start:t,end:t})},_moveCaret:function(){var n=this._caret().start,i=n+(this._isForwardDirection()?0:-1),t=this._maskRulesChain.isAccepted(i)?n+(this._isForwardDirection()?1:-1):n;this._caret({start:t,end:t})},_caret:function(n){if(!arguments.length)return e.caret(this._input());e.caret(this._input(),n)},_hasSelection:function(){var n=this._caret();return n.start!==n.end},_direction:function(n){if(!arguments.length)return this._typingDirection;this._typingDirection=n},_isForwardDirection:function(){return this._direction()===o},_clearDragTimer:function(){clearTimeout(this._dragTimer)},_clean:function(){this._clearDragTimer(),this.callBase()},_validateMask:function(){if(this._maskRulesChain){var n=this._maskRulesChain.isValid();this.option({isValid:n,validationError:n?null:{editorSpecific:!0,message:this.option("maskInvalidMessage")}})}},_optionChanged:function(n){switch(n.name){case"mask":case"maskChar":case"maskRules":this._renderMask(),this._validateMask();break;case"value":this._renderMaskedValue(),this._validateMask(),this.callBase(n);break;case"maskInvalidMessage":break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var e=t.ui,r=" ",u=t.Class.inherit({ctor:function(t){this._value=r,n.extend(this,t)},next:function(n){if(!arguments.length)return this._next;this._next=n},text:n.noop,value:n.noop,rawValue:n.noop,handle:n.noop,_prepareHandlingArgs:function(n,i){var r=n.hasOwnProperty("value")?"value":"text";return n[r]=t.utils.isDefined(i.str)?i.str:n[r],n.start=t.utils.isDefined(i.start)?i.start:n.start,n.length=t.utils.isDefined(i.length)?i.length:n.length,n},reset:n.noop,clear:n.noop,isAccepted:function(){return!1},adjustedCaret:function(n,t,i){return t?this._adjustedForward(n,0,i):this._adjustedBackward(n,0,i)},_adjustedForward:n.noop,_adjustedBackward:n.noop,isValid:n.noop}),o=u.inherit({next:n.noop,handle:function(){return 0},text:function(){return""},value:function(){return""},rawValue:function(){return""},adjustedCaret:function(){return 0},isValid:function(){return!0}}),f=u.inherit({text:function(){return(this._value!==r?this._value:this.maskChar)+this.next().text()},value:function(){return this._value+this.next().value()},rawValue:function(){return this._value+this.next().rawValue()},handle:function(n){var t=n.hasOwnProperty("value")?n.value:n.text,r,i;return!t.length||!n.length?0:n.start?this.next().handle(this._prepareHandlingArgs(n,{start:n.start-1})):(r=t[0],i=t.substring(1),this._tryAcceptChar(r),this._accepted()?this.next().handle(this._prepareHandlingArgs(n,{str:i,length:n.length-1}))+1:this.handle(this._prepareHandlingArgs(n,{str:i,length:n.length-1})))},clear:function(){this._tryAcceptChar(r),this.next().clear()},reset:function(){this._accepted(!1),this.next().reset()},_tryAcceptChar:function(n){(this._accepted(!1),this._isAllowed(n))&&(this._accepted(!0),this._value=n)},_accepted:function(n){if(!arguments.length)return!!this._isAccepted;this._isAccepted=!!n},_isAllowed:function(n){return n===r?!0:this._isValid(n)},_isValid:function(t){var i=this.allowedChars;return i instanceof RegExp?i.test(t):n.isFunction(i)?i(t):n.isArray(i)?n.inArray(t,i)>-1:i===t},isAccepted:function(n){return n===0?this._accepted():this.next().isAccepted(n-1)},_adjustedForward:function(n,t,i){return t>=n?t:this.next()._adjustedForward(n,t+1,i)||t+1},_adjustedBackward:function(n,t){return t>=n-1?n:this.next()._adjustedBackward(n,t+1)||t+1},isValid:function(){return this._isValid(this._value)&&this.next().isValid()}}),s=f.inherit({value:function(){return this.next().value()},handle:function(n){var r=n.hasOwnProperty("value"),t=r?n.value:n.text,i,u,f;return!t.length||!n.length?0:n.start||r?this.next().handle(this._prepareHandlingArgs(n,{start:n.start&&n.start-1})):(i=t[0],u=t.substring(1),this._tryAcceptChar(i),f=this._isAllowed(i)?this._prepareHandlingArgs(n,{str:u,length:n.length-1}):n,this.next().handle(f)+1)},clear:function(){this._accepted(!1),this.next().clear()},_tryAcceptChar:function(n){this._accepted(this._isValid(n))},_isValid:function(n){return n===this.maskChar},_adjustedForward:function(n,t,i){return t>=n&&i===this.maskChar?t:n===t+1&&this._accepted()?n:this.next()._adjustedForward(n,t+1,i)},_adjustedBackward:function(n,t){return t>=n-1?0:this.next()._adjustedBackward(n,t+1)},isValid:function(){return this.next().isValid()}});n.extend(e.dxTextEditor,{MaskRule:f,StubMaskRule:s,EmptyMaskRule:o})}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=r.events,e=t.devices,o=window.navigator.userAgent,s=[8,9,13,33,34,35,36,37,38,39,40,46],h="dx-textbox",f="dx-searchbox",c="dx-icon",l="dx-icon-search";t.registerComponent("dxTextBox",r,r.dxTextEditor.inherit({ctor:function(n,t){t&&(this._showClearButton=t.showClearButton),this.callBase.apply(this,arguments)},_setDefaultOptions:function(){this.callBase(),this.option({mode:"text",maxLength:null})},_render:function(){this.callBase(),this.element().addClass(h),this.setAria("role","textbox"),this._renderMaxLengthHandlers()},_renderInputType:function(){this.callBase(),this._renderSearchMode()},_renderMaxLengthHandlers:function(){if(this._isAndroid())this._input().on(u.addNamespace("keydown",this.NAME),n.proxy(this._onKeyDownAndroidHandler,this)).on(u.addNamespace("change",this.NAME),n.proxy(this._onChangeAndroidHandler,this))},_getAriaTarget:function(){return this._input()},_renderProps:function(){this.callBase(),this._toggleMaxLengthProp()},_toggleMaxLengthProp:function(){if(!this._isAndroid()){var n=this.option("maxLength");n>0?this._input().attr("maxLength",n):this._input().removeAttr("maxLength")}},_renderSearchMode:function(){var n=this._$element;this.option("mode")==="search"?(n.addClass(f),this._renderSearchIcon(),this._showClearButton===i&&(this._showClearButton=this.option("showClearButton"),this.option("showClearButton",!0))):(n.removeClass(f),this._$searchIcon&&this._$searchIcon.remove(),this.option("showClearButton",this._showClearButton===i?this.option("showClearButton"):this._showClearButton),delete this._showClearButton)},_renderSearchIcon:function(){var t=n("<div>").addClass(c).addClass(l);t.prependTo(this._input().parent()),this._$searchIcon=t},_optionChanged:function(n){switch(n.name){case"maxLength":this._toggleMaxLengthProp(),this._renderMaxLengthHandlers();break;default:this.callBase(n)}},_onKeyDownAndroidHandler:function(t){var r=this.option("maxLength"),i,u;return r?(i=n(t.target),u=t.keyCode,this._cutOffExtraChar(i),i.val().length<r||n.inArray(u,s)!==-1||window.getSelection().toString()!==""):!0},_onChangeAndroidHandler:function(t){var i=n(t.target);this.option("maxLength")&&this._cutOffExtraChar(i)},_cutOffExtraChar:function(n){var t=this.option("maxLength"),i=n.val();i.length>t&&n.val(i.substr(0,t))},_isAndroid:function(){var n=e.real(),t=n.version.join(".");return n.platform==="android"&&t&&/^(2\.|4\.1)/.test(t)&&!/chrome/i.test(o)}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events,s="dx-dropdowneditor",w="dx-dropdowneditor-readonly",f="dx-dropdowneditor-input-wrapper",h="dx-dropdowneditor-button",c="dx-dropdowneditor-icon",l="dx-dropdowneditor-overlay",a="dx-dropdowneditor-overlay-flipped",v="dx-dropdowneditor-active",y="dx-dropdowneditor-button-visible",p="dx-dropdowneditor-field-clickable",e="dxDropDownEditor",o=u.addNamespace("dxclick",e);t.registerComponent(e,r,r.dxTextBox.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{escape:function(n){this.option("opened")&&n.preventDefault(),this.close()},upArrow:function(n){return(n.preventDefault(),n.stopPropagation(),n.altKey)?(this.close(),!1):!0},downArrow:function(n){return(n.preventDefault(),n.stopPropagation(),n.altKey)?(this._validatedOpening(),!1):!0},enter:function(n){return this.option("opened")&&(n.preventDefault(),this._valueChangeEventHandler(n)),!0}})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{openAction:{since:"14.2",alias:"onOpened"},closeAction:{since:"14.2",alias:"onClosed"},shownAction:{since:"14.2",alias:"onOpened"},hiddenAction:{since:"14.2",alias:"onClosed"},editEnabled:{since:"14.2",alias:"fieldEditEnabled"}})},_setDefaultOptions:function(){this.callBase(),this.option({value:null,onOpened:null,onClosed:null,opened:!1,fieldEditEnabled:!0,applyValueMode:"instantly",fieldTemplate:null,contentTemplate:null,openOnFieldClick:!1,deferRendering:!0,showDropButton:!0,dropPosition:this._getDefaultDropPosition(),applyButtonText:Globalize.localize("OK"),cancelButtonText:Globalize.localize("Cancel"),buttonsLocation:"default",showPopupTitle:!1})},_getDefaultDropPosition:function(){var n=this.option("rtlEnabled")?"right":"left";return{offset:{h:0,v:-1},my:n+" top",at:n+" bottom",collision:"flip flip"}},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"generic"},options:{dropPosition:{offset:{v:0}}}}])},_inputWrapper:function(){return this.element().find("."+f)},_init:function(){this.callBase(),this._initVisibilityActions()},_initVisibilityActions:function(){this._openAction=this._createActionByOption("onOpened"),this._closeAction=this._createActionByOption("onClosed")},_render:function(){this.callBase(),this._renderOpenHandler(),this.element().addClass(s),this._renderOpenedState(),this.setAria("role","combobox")},_renderContentImpl:function(){this.option("deferRendering")||this._createPopup()},_renderInput:function(){this.callBase(),this.element().wrapInner(n("<div>").addClass(f)),this._$container=this.element().children().eq(0),this.setAria({haspopup:"true",autocomplete:"list"})},_readOnlyPropValue:function(){return!this.option("fieldEditEnabled")||this.callBase()},_renderField:function(){var r=this._getTemplateByOption("fieldTemplate"),n,i,u;if(r&&this.option("fieldTemplate")){if(n=this._input().is(":focus"),n&&this._input().focusout(),this._cleanFocusState(),i=this._$container,u=this._fieldRenderData(),i.empty(),this._$dropButton=null,this._$clearButton=null,r.render(u,i),!this._input().length)throw t.Error("E1010");this._renderFocusState(),n&&this._input().focus()}},_fieldRenderData:function(){return this.option("value")},_renderInputAddons:function(){this._renderField(),this.callBase(),this._renderDropButton()},_renderDropButton:function(){var t=this.option("showDropButton");if(this.element().toggleClass(y,t),!t){this._$dropButton&&this._$dropButton.remove(),this._$dropButton=null;return}this._$dropButton||(this._$dropButton=this._createDropButton().addClass(h)),this._$dropButton.prependTo(this._buttonsContainer())},_createDropButton:function(){var t=n("<div>"),i;this._createComponent(t,"dxButton",{focusStateEnabled:!1,disabled:this.option("readOnly"),_templates:{}}),i=n("<div>").addClass(c);t.append(i).removeClass("dx-button").on("mousedown",function(n){n.preventDefault()});return t.find(".dx-button-content").remove(),t},_renderOpenHandler:function(){var i=this.element().find(".dx-dropdowneditor-input-wrapper"),r;if(i.off(o),r=this.option("openOnFieldClick"),this.element().toggleClass(p,r),r){i.on(u.addNamespace("mousedown",this.NAME),function(n){t.devices.real().platform!=="generic"&&n.preventDefault()});i.on(o,n.proxy(this._openHandler,this));return}this.option("showDropButton")&&this._$dropButton.dxButton("option","onClick",n.proxy(this._openHandler,this))},_openHandler:function(){this._toggleOpenState()},_keyboardEventBindingTarget:function(){return this._input()},_toggleOpenState:function(n){this.option("disabled")||(this._input().focus(),this.option("readOnly")||(n=arguments.length?n:!this.option("opened"),this.option("opened",n)))},_renderOpenedState:function(){var n=this.option("opened");n&&this._createPopup(),this.element().toggleClass(v,n),this._setPopupOption("visible",n),this.setAria("expanded",n)},_createPopup:function(){this._$popup||(this._$popup=n("<div>").addClass(l).addClass(this.option("customOverlayCssClass")).appendTo(this.element()),this._renderPopup(),this._renderPopupContent())},_renderPopup:function(){this._popup=this._createComponent(this._$popup,"dxPopup",this._popupConfig());this._popup.on({showing:n.proxy(this._popupShowingHandler,this),shown:n.proxy(this._popupShownHandler,this),hiding:n.proxy(this._popupHidingHandler,this),hidden:n.proxy(this._popupHiddenHandler,this)});this._popup.option("onContentReady",n.proxy(this._contentReadyHandler,this)),this._contentReadyHandler()},_contentReadyHandler:n.noop,_popupConfig:function(){return{position:n.extend(this.option("dropPosition"),{of:this.element()}),showTitle:this.option("showPopupTitle"),width:"auto",height:"auto",shading:!1,closeOnTargetScroll:!0,closeOnOutsideClick:n.proxy(this._closeOutsideDropDownHandler,this),animation:{show:{type:"fade",duration:0,from:0,to:1},hide:{type:"fade",duration:400,from:1,to:0}},deferRendering:!1,focusStateEnabled:!1,showCloseButton:!1,buttons:this._getPopupButtons(),onPositioned:n.proxy(this._popupPositionedHandler,this)}},_popupPositionedHandler:function(n){this._popup.overlayContent().toggleClass(a,n.position.v.flip)},_popupShowingHandler:n.noop,_popupHidingHandler:function(){this.option("opened",!1)},_popupShownHandler:function(){this._openAction(),this._$validationMessage&&this._$validationMessage.dxTooltip("option","position",this._getValidationTooltipPosition())},_popupHiddenHandler:function(){this._closeAction(),this._$validationMessage&&this._$validationMessage.dxTooltip("option","position",this._getValidationTooltipPosition())},_getValidationTooltipPosition:function(){var n="below",i,r;return this._popup&&this._popup.option("visible")&&(i=t.position(this.element()).top,r=t.position(this._popup.content()).top,n=i+this.option("dropPosition").offset.v>r?"below":"above"),this.callBase(n)},_renderPopupContent:function(){var t=this._getTemplateByOption("contentTemplate"),n;t&&this.option("contentTemplate")&&(n=this._popup.content(),n.empty(),t.render(n))},_closeOutsideDropDownHandler:function(t){var i=n(t.target),r=!!i.closest(this.element()).length,u=!!i.closest(this._$dropButton).length;return!r&&!u},_clean:function(){delete this._$dropButton,this._$popup&&(this._$popup.remove(),delete this._$popup,delete this._popup),this.callBase()},_setPopupOption:function(){this._setWidgetOption("_popup",arguments)},_validatedOpening:function(){this.option("readOnly")||this._toggleOpenState(!0)},_getAriaTarget:function(){return this._input()},_getPopupButtons:function(){return this.option("applyValueMode")==="useButtons"?this._popupButtonsConfig():[]},_popupButtonsConfig:function(){var t=[{shortcut:"done",options:{onClick:n.proxy(this._applyButtonHandler,this),text:this.option("applyButtonText")}},{shortcut:"cancel",options:{onClick:n.proxy(this._cancelButtonHandler,this),text:this.option("cancelButtonText")}}];return this._applyButtonsLocation(t)},_applyButtonsLocation:function(i){var u=this.option("buttonsLocation"),f=i,r;return u!=="default"&&(r=t.utils.splitPair(u),n.each(f,function(t,i){n.extend(i,{toolbar:r[0],location:r[1]})})),f},_applyButtonHandler:function(){this.close(),this.option("focusStateEnabled")&&this.focus()},_cancelButtonHandler:function(){this.close(),this.option("focusStateEnabled")&&this.focus()},_optionChanged:function(n){switch(n.name){case"opened":this._renderOpenedState();break;case"onOpened":case"onClosed":this._initVisibilityActions();break;case"fieldTemplate":case"fieldRender":this._renderInputAddons();break;case"showDropButton":case"contentTemplate":case"contentRender":case"fieldEditEnabled":case"openOnFieldClick":this._invalidate();break;case"dropPosition":case"deferRendering":break;case"applyValueMode":case"applyButtonText":case"cancelButtonText":case"buttonsLocation":this._setPopupOption("buttons",this._getPopupButtons());break;case"showPopupTitle":this._setPopupOption("showTitle",n.value);break;default:this.callBase(n)}},open:function(){this.option("opened",!0)},close:function(){this.option("opened",!1)},reset:function(){this.option("value",null)},field:function(){return this._input()},content:function(){return this._popup?this._popup.content():null}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f=t.utils,e=".dx-list-item",u="dxListItemData",o="dx-dropdownlist-selected",s="dx-dropdownlist-popup-wrapper",h=["startswith","contains","endwith","notcontains"];t.registerComponent("dxDropDownList",r,r.dxDropDownEditor.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{tab:function(){var t,i;this.option("opened")===!0?(t=this._list.option("focusedElement"),t&&(i=this._listSelectedItemElements(),this._changeSelectedItem(i,t),this.option("value",this._selectedItemValue())),this.close()):this._focusTarget().focusout()},space:n.noop,home:n.noop,end:n.noop})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,this._dataExpressionDeprecatedOptions(),{pagingEnabled:{since:"15.1",message:"Use the 'dataSource.paginate' option instead"}})},_setDefaultOptions:function(){this.callBase(),this.option(n.extend(this._dataExpressionDefaultOptions(),{displayValue:i,searchEnabled:!1,searchMode:"contains",searchTimeout:500,minSearchLength:0,searchExpr:null,valueChangeEvent:"change keyup",selectedItem:null,pagingEnabled:i,noDataText:Globalize.localize("dxCollectionWidget-noDataText"),onSelectionChanged:null,onItemClick:n.noop,dropPosition:{my:"left top",at:"left bottom",offset:{h:0,v:0},collision:"flip"},popupWidthExtension:0}))},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"win8"},options:{dropPosition:{offset:{v:-6}}}},{device:function(n){return n.platform==="android"},options:{popupWidthExtension:32}}])},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{value:!0,selectedItem:!0,displayValue:!0})},_init:function(){this.callBase(),this._initDataExpressions(),this._initActions(),this._setListDataSource(),this._validateSearchMode(),this._clearSelectedItem()},_initActions:function(){this._initContentReadyAction(),this._initSelectionChangedAction(),this._initItemClickAction()},_initContentReadyAction:function(){this._contentReadyAction=this._createActionByOption("onContentReady")},_initSelectionChangedAction:function(){this._selectionChangedAction=this._createActionByOption("onSelectionChanged",{excludeValidators:["disabled","readOnly"]})},_initItemClickAction:function(){this._itemClickAction=this._createActionByOption("onItemClick")},_renderContentImpl:function(){this.callBase(),this.option("deferRendering")&&this._loadDataSource()},_renderField:function(){this.callBase();this._input().on("input",n.proxy(this._setFocusPolicy,this))},_preventFocusOnPopup:function(n){this._list&&this._list.initialOption("focusStateEnabled")&&n.preventDefault()},_createPopup:function(){this.callBase(),this._popup._wrapper().addClass(this._popupWrapperClass());this._popup.content().off("mousedown").on("mousedown",n.proxy(this._preventFocusOnPopup,this))},_popupWrapperClass:function(){return s},_renderInputValue:function(){var t=n.proxy(this.callBase,this);return this._loadItem(this.option("value")).always(n.proxy(function(n){this._setSelectedItem(n),this._refreshSelected(),t()},this))},_loadItem:function(t){var r=n.grep(this.option("items")||[],n.proxy(function(n){return this._isValueEquals(this._valueGetter(n),t)},this))[0];return r!==i?n.Deferred().resolve(r).promise():this._loadValue(t)},_setSelectedItem:function(n){var t=this._displayValue(n);this.option("selectedItem",n),this.option("displayValue",t)},_displayValue:function(n){return this._displayGetter(n)},_refreshSelected:function(){this._listItemElements().each(n.proxy(function(t,i){var r=n(i),e=this._valueGetter(r.data(u)),f=this._isSelectedValue(e);r.toggleClass(this._selectedItemClass(),f),f?this._list.selectItem(r):this._list.unselectItem(r)},this))},_popupShownHandler:function(){this.callBase(),this._setFocusPolicy()},_setFocusPolicy:function(){this.option("focusStateEnabled")&&this._list&&this._list.option("focusedElement",null)},_isSelectedValue:function(n){return this._isValueEquals(n,this.option("value"))},_validateSearchMode:function(){var i=this.option("searchMode"),r=i.toLowerCase();if(n.inArray(r,h)<0)throw t.Error("E1019",i);},_clearSelectedItem:function(){this.option("selectedItem",null)},_processDataSourceChanging:function(){this._setListDataSource(),this._renderInputValue().fail(n.proxy(this.reset,this))},reset:function(){this.option("value",null),this._clearSelectedItem()},_selectedItemClass:function(){return o},_listItemElements:function(){return this._$list?this._$list.find(e):n()},_listSelectedItemElements:function(){return this._$list?this._$list.find("."+this._selectedItemClass()):n()},_popupConfig:function(){return n.extend(this.callBase(),{width:this.option("width")})},_renderPopupContent:function(){this._renderList()},_attachChildKeyboardEvents:function(){this._childKeyboardProcessor=this._keyboardProcessor.attachChildProcessor(),this._setListOption("_keyboardProcessor",this._childKeyboardProcessor)},_fireContentReadyAction:n.noop,_renderList:function(){var t=(new DevExpress.data.Guid)._value,i=this._$list=n("<div>",{id:t}).appendTo(this._popup.content());this._list=this._createComponent(i,"dxList",this._listConfig()),this.setAria({activedescendant:this._list.getFocusedItemId(),owns:t}),this._refreshList()},_refreshList:function(){this._list&&this._shouldRefreshDataSource()&&this._setListDataSource()},_shouldRefreshDataSource:function(){var n=!!this._list.option("dataSource");return n!==this._isMinFilterLengthExceeded()},_refreshActiveDescendant:function(){this.setAria("activedescendant",""),this.setAria("activedescendant",this._list.getFocusedItemId())},_listConfig:function(){return{_templates:this.option("_templates"),templateProvider:this.option("templateProvider"),noDataText:this.option("noDataText"),onContentReady:n.proxy(this._listContentReadyHandler,this),itemTemplate:this._getTemplateByOption("itemTemplate"),indicateLoading:!1,tabIndex:-1,onItemClick:n.proxy(this._listItemClickAction,this),dataSource:this._isMinFilterLengthExceeded()?this._dataSource:null,_keyboardProcessor:this._childKeyboardProcessor,onOptionChanged:n.proxy(function(n){n.name==="focusedElement"&&this._refreshActiveDescendant()},this)}},_dataSourceOptions:function(){this._suppressDeprecatedWarnings();var n=this.option("pagingEnabled");return this._resumeDeprecatedWarnings(),{paginate:f.ensureDefined(n,!1)}},_listContentReadyHandler:function(){this._list=this._list||this._$list.dxList("instance"),this.option().items=this._list.option("items"),this._refreshSelected(),this._dimensionChanged(),this._contentReadyAction()},_setListOption:function(){this._setWidgetOption("_list",arguments)},_listItemClickAction:function(n){this._listItemClickHandler(n),this._itemClickAction(n)},_listItemClickHandler:n.noop,_setListDataSource:function(){if(this._list){var n=this._isMinFilterLengthExceeded();this._setListOption("dataSource",n?this._dataSource:null),n||this._setListOption("items",[])}},_isMinFilterLengthExceeded:function(){return this._searchValue().toString().length>=this.option("minSearchLength")},_searchValue:function(){return this._input().val()||""},_search:function(){if(!this._isMinFilterLengthExceeded()){this._searchCanceled();return}var t=this.option("searchTimeout");t?this._searchTimer||(this._searchTimer=setTimeout(n.proxy(this._searchDataSource,this),t)):this._searchDataSource()},_searchCanceled:function(){this._clearSearchTimer(),this._refreshList()},_searchDataSource:function(){this._filterDataSource(this._searchValue())},_filterDataSource:function(t){var i=this._dataSource;return i.searchExpr(this.option("searchExpr")||this._displayGetterExpr()),i.searchOperation(this.option("searchMode")),i.searchValue(t),i.pageIndex(0),i.load().done(n.proxy(this._dataSourceFiltered,this))},_clearFilter:function(){this._dataSource.searchValue("")},_dataSourceFiltered:function(){this._clearSearchTimer(),this._refreshList(),this._refreshPopupVisibility()},_refreshPopupVisibility:function(){this.option("opened",this._hasItemsToShow()),this.option("opened")&&this._dimensionChanged()},_hasItemsToShow:function(){var n=this._dataSource&&this._dataSource.items()||[],t=n.length,i=this._isMinFilterLengthExceeded();return i&&t&&this.element().hasClass("dx-state-focused")},_clearSearchTimer:function(){clearTimeout(this._searchTimer),delete this._searchTimer},_popupShowingHandler:function(){this._dimensionChanged()},_dimensionChanged:function(){this._popup&&this._updatePopupDimensions()},_updatePopupDimensions:function(){this._updatePopupWidth(),this._updatePopupHeight()},_updatePopupWidth:function(){this._setPopupOption("width",this.element().outerWidth()+this.option("popupWidthExtension"))},_updatePopupHeight:function(){var n=this._popup.overlayContent().outerHeight()-this._popup.content().height(),t=this._list?this._list.element().outerHeight()-this._list.clientHeight():0,i=this._list?this._list.scrollHeight()+t:0,r=Math.min(i+n,this._getMaxHeight());this._setPopupOption("height",r),this._list&&this._list.updateDimensions()},_getMaxHeight:function(){var t=this.element(),i=t.offset(),r=n(window).height(),u=Math.max(i.top,r-i.top-t.outerHeight());return Math.min(r*.5,u)},_changeSelectedItem:function(n,t){var i=this._selectedItemClass();n.removeClass(i),t.addClass(i)},_selectedItemValue:function(){var n=this._listSelectedItemElements();return this._valueGetter(n.data(u))},_valueChangeArgs:function(){return n.extend(this.callBase.apply(this,arguments),{selectedItem:this.option("selectedItem"),itemData:this.option("selectedItem")})},_clean:function(){this._list&&delete this._list,this.callBase()},_dispose:function(){this._clearSearchTimer(),this.callBase()},_setCollectionWidgetOption:function(){this._setListOption.apply(this,arguments)},_optionChanged:function(n){this._dataExpressionOptionChanged(n);switch(n.name){case"items":this.option("dataSource")||this._processDataSourceChanging();break;case"dataSource":this._processDataSourceChanging();break;case"valueExpr":case"displayExpr":this._renderValue();break;case"searchMode":this._validateSearchMode();break;case"minSearchLength":this._refreshList();break;case"searchEnabled":case"searchExpr":case"pagingEnabled":this._invalidate();break;case"onContentReady":this._initContentReadyAction();break;case"onSelectionChanged":this._initSelectionChangedAction();break;case"onItemClick":this._initItemClickAction();break;case"noDataText":this._setListOption("noDataText");break;case"displayValue":this.option("text",n.value);break;case"itemTemplate":case"searchTimeout":case"popupWidthExtension":break;case"selectedItem":this._selectionChangedAction({selectedItem:n.value});break;default:this.callBase(n)}}}).include(r.DataExpressionMixin))}(jQuery,DevExpress),function(n,t){var u=t.ui,r=u.events,f="dx-textarea",e="dx-texteditor-input";t.registerComponent("dxTextArea",u,u.dxTextBox.inherit({_setDefaultOptions:function(){this.callBase(),this.option({spellcheck:!0})},_render:function(){this.callBase(),this.element().addClass(f),this.setAria("multiline","true")},_renderInput:function(){this.callBase(),this._renderScrollHandler()},_createInput:function(){return n("<textarea>").addClass(e)},_renderScrollHandler:function(){var n=this._input(),t=0;n.on(r.addNamespace("dxpointerdown",this.NAME),function(n){t=r.eventData(n).y});n.on(r.addNamespace("dxpointermove",this.NAME),function(i){var u=n.scrollTop(),f=n.prop("scrollHeight")-n.prop("clientHeight")-u;if(u!==0||f!==0){var e=r.eventData(i).y,o=u===0&&t>=e,s=f===0&&t<=e,h=u>0&&f>0;(o||s||h)&&(i.isScrollingEvent=!0),t=e}})},_renderInputType:n.noop}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,o=Math,u=r.events,a="dx-numberbox",s="dx-numberbox-spin",v="dx-numberbox-spin-container",nt="dx-numberbox-spin-up",tt="dx-numberbox-spin-down",y="dx-numberbox-spin-button",p=".dx-numberbox-spin-button",w="dx-numberbox-spin-touch-friendly",b=100,k=["Tab","Del","Delete","Backspace","Left","ArrowLeft","Right","ArrowRight","Home","End"],f="dxNumberBox",h=u.addNamespace("dxmousewheel",f),e=u.addNamespace("dxpointerdown",f),c=u.addNamespace("dxpointerup",f),l=u.addNamespace("dxpointercancel",f),d=t.devices.real().android&&navigator.userAgent.indexOf("Chrome")===-1,g=r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({direction:"up",onChange:null,activeStateEnabled:!0,hoverStateEnabled:!1})},_render:function(){this.callBase();var i=this.element(),t=s+"-"+this.option("direction");i.addClass(y).addClass(t).off(e).on(e,n.proxy(this._spinDownHandler,this));this._spinIcon=n("<div>").addClass(t+"-icon").appendTo(this.element()),this._spinChangeHandler=this._createActionByOption("onChange")},_spinDownHandler:function(t){t.preventDefault(),this._clearTimer();n(document).on("dxhold",n.proxy(function(){this._feedBackDeferred=n.Deferred(),r.events.lockFeedback(this._feedBackDeferred),this._spinChangeHandler({jQueryEvent:t}),this._holdTimer=setInterval(this._spinChangeHandler,b,{jQueryEvent:t})},this)).on(c,n.proxy(this._clearTimer,this)).on(l,n.proxy(this._clearTimer,this));this._spinChangeHandler({jQueryEvent:t})},_dispose:function(){this._clearTimer(),this.callBase()},_clearTimer:function(){n(document).off(c).off(l).off("dxhold"),this._feedBackDeferred&&this._feedBackDeferred.resolve(),this._holdTimer&&clearInterval(this._holdTimer)},_optionChanged:function(n){switch(n.name){case"onChange":case"direction":this._invalidate();break;default:this.callBase(n)}}});t.registerComponent("dxNumberBox",r,r.dxTextEditor.inherit({_activeStateUnit:p,_supportedKeys:function(){return n.extend(this.callBase(),{upArrow:function(n){n.preventDefault(),n.stopPropagation(),this._spinUpChangeHandler()},downArrow:function(n){n.preventDefault(),n.stopPropagation(),this._spinDownChangeHandler()},enter:function(){this._input().trigger(this.option("valueChangeEvent"))}})},_setDefaultOptions:function(){this.callBase(),this.option({value:0,min:i,max:i,step:1,showSpinButtons:!1,useTouchSpinButtons:!0,mode:"number"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{useTouchSpinButtons:!1}}])},_render:function(){this.callBase(),this.element().addClass(a),this.setAria("role","spinbutton"),this._keyPressHandlerEvent(),this._renderMouseWheelHandler()},_keyPressHandlerEvent:function(){var t=this;this._input().keypress(function(i){var r=String.fromCharCode(i.which),u=/[\d.,eE\-+]/,f=u.test(r);if(!f)return i.metaKey||i.ctrlKey||i.key&&n.inArray(i.key,k)>=0?void 0:(i.preventDefault(),!1);t._isIncompleteValue=!1,t._isValueIncomplete(t._input().val()+r)&&(t._isIncompleteValue=!0)})},_isValueIncomplete:function(n){var t=/\d+[eE]$/,i=/^[\.,]$/,r=/^-$/;return t.test(n)||i.test(n)||r.test(n)},_renderMouseWheelHandler:function(){var i=this._createAction(n.proxy(function(n){this._mouseWheelHandler(n.jQueryEvent)},this));this._input().off(h).on(h,function(n){i({jQueryEvent:n})})},_mouseWheelHandler:function(n){this._input().is(":focus")&&(n.delta>0?this._spinValueChange(1):this._spinValueChange(-1),n.preventDefault(),n.stopPropagation())},_renderValue:function(){this._input().val().length&&Number(this._input().val())===this.option("value")||(this._forceValueRender(),this._toggleEmptinessEventHandler()),this._renderInputAddons(),this.setAria("valuenow",this.option("value"))},_forceValueRender:function(){var n=this._input(),t=this.option("value"),i=this.option("valueFormat"),r;d?(r=n.attr("type"),this._setInputType("text"),n.val(i(t)),this._setInputType(r)):n.val(i(t))},_getAriaTarget:function(){return this._input()},_renderProps:function(){this.callBase(),this._input().prop({min:this.option("min"),max:this.option("max"),step:this.option("step")}),this.setAria({valuemin:this.option("min")||"undefined",valuemax:this.option("max")||"undefined"})},_renderInputAddons:function(){this.callBase(),this._renderSpinButtons()},_renderSpinButtons:function(){var n=this.option("showSpinButtons");if(this.element().toggleClass(s,n),this._toggleTouchFriendlyClass(),!n){this._$spinContainer&&this._$spinContainer.remove(),this._$spinContainer=null;return}this._$spinContainer||(this._$spinContainer=this._createSpinButtons()),this._$spinContainer.prependTo(this._buttonsContainer())},_toggleTouchFriendlyClass:function(){this.element().toggleClass(w,this.option("showSpinButtons")&&this.option("useTouchSpinButtons"))},_createSpinButtons:function(){var i=this._createAction(n.proxy(this._spinButtonsPointerDownHandler,this)),t=n("<div>").addClass(v).off(e).on(e,function(n){i({jQueryEvent:n})});return this._$spinUp=n("<div>").appendTo(t),this._createComponent(this._$spinUp,"dxSpinButton",{direction:"up",onChange:n.proxy(this._spinUpChangeHandler,this)}),this._$spinDown=n("<div>").appendTo(t),this._createComponent(this._$spinDown,"dxSpinButton",{direction:"down",onChange:n.proxy(this._spinDownChangeHandler,this)}),t},_spinButtonsPointerDownHandler:function(n){n.dxPreventBlur=!0;var t=this._input();this.option("useTouchSpinButtons")||document.activeElement===t[0]||t.trigger("focus")},_spinUpChangeHandler:function(){this.option("readOnly")||this._spinValueChange(1)},_spinDownChangeHandler:function(){this.option("readOnly")||this._spinValueChange(-1)},_spinValueChange:function(n){var t=parseFloat(this._validationRequired()?this._oldValue:this._normalizeInputValue())||0,i=parseFloat(this.option("step"));t=this._correctRounding(t,i*n),this.option("value",t)},_correctRounding:function(n,t){var i=/[,|.](.*)/,r=i.test(n),u=i.test(t);if(r||u){var f=r?i.exec(n)[0].length:0,e=u?i.exec(t)[0].length:0,s=o.max(f,e);return n=this._round(n+t,s)}return n+t},_round:function(n,t){t=t||0;var i=Math.pow(10,t);return n*=i,n=Math.round(n)/i},_renderValueChangeEvent:function(){this.callBase(),this._input().focusout(n.proxy(this._forceRefreshInputValue,this))},_forceRefreshInputValue:function(){var n=this._input(),t=this.option("valueFormat");n.val(null),n.val(t(this.option("value")))},_valueChangeEventHandler:function(n){if(this._validationRequired()){this._inputInvalidHandler();return}var i=this._input(),t=this._normalizeInputValue(),r=this.option("valueFormat");this._isIncompleteValue||(Number(i.val())!==t&&i.val(r(this.option("value")),r(t)),this.callBase(n,t))},_validationRequired:function(){return!this._isIncompleteValue&&!this._validateValue(this._normalizeText())},_validateValue:function(n){var t=this._isValueValid(),i,r;return!n&&t?(this.option("value",null),!0):(i=/^-?\d*\.?\d*$/.test(n),r=/^-?\d+e[-+]?\d+$/.test(n),this._oldValue=this.option("value"),!i&&!r&&!t)?!1:!0},_inputInvalidHandler:function(){var i=this._input(),n=t.utils.isDefined(this._oldValue);this.option("value",n?this._oldValue:null),n&&i.val(this._oldValue),this._oldValue=null},_normalizeInputValue:function(){var n=this._normalizeValue();return t.utils.isDefined(n)?n:this.option("value")},_normalizeValue:function(n){return this._parseValue(this._normalizeText(n))},_normalizeText:function(i){return i=n.trim(t.utils.isDefined(i)?i:this._input().val()),i.replace(",",".")},_parseValue:function(n){var t=parseFloat(n);return this.option("min")!==i&&(t=o.max(t,this.option("min"))),this.option("max")!==i&&(t=o.min(t,this.option("max"))),t},_setValue:function(n,t){if(n==null||n===""){this.option("value",null),n!==null&&this._suppressValueChangeAction();return}var i=this._normalizeValue(n);if(!i&&i!==0){this.option("value",t),this._suppressValueChangeAction();return}n!==i&&(this.option("value",i),this._suppressValueChangeAction())},_clean:function(){delete this._$spinContainer,delete this._$spinUp,delete this._$spinDown,this.callBase()},_optionChanged:function(n){switch(n.name){case"value":this._setValue(n.value,n.previousValue),this.callBase(n),this._resumeValueChangeAction();break;case"step":case"min":case"max":this._renderProps();break;case"showSpinButtons":this._renderInputAddons();break;case"useTouchSpinButtons":this._toggleTouchFriendlyClass();break;default:this.callBase(n)}}})),t.registerComponent("dxSpinButton",r.dxNumberBox,g)}(jQuery,DevExpress),function(n,t){var r=t.ui,e=r.events,u="dxRadioButton",o="dx-radiobutton",s="dx-radiobutton-icon",h="dx-radiobutton-icon-dot",c="dx-radiobutton-checked",f=e.addNamespace("dxclick",u);t.registerComponent(u,r,r.Editor.inherit({_supportedKeys:function(){var t=function(n){n.preventDefault(),this._clickAction({jQueryEvent:n})};return n.extend(this.callBase(),{space:t})},_setDefaultOptions:function(){this.callBase(),this.option({value:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0,hoverStateEnabled:!0}}])},_init:function(){this.callBase(),this.element().addClass(o)},_render:function(){this.callBase(),this._renderIcon(),this._renderCheckedState(this.option("value")),this._renderClick(),this.setAria("role","radio")},_renderIcon:function(){var t=n("<div>").addClass(s);n("<div>").addClass(h).appendTo(t),this.element().append(t)},_renderCheckedState:function(n){this.element().toggleClass(c,n),this.setAria("checked",n)},_renderClick:function(){this._clickAction=this._createAction(n.proxy(function(n){this._clickHandler(n.jQueryEvent)},this));this.element().off(f).on(f,n.proxy(function(n){this._clickAction({jQueryEvent:n})},this))},_clickHandler:function(n){this._saveValueChangeEvent(n),this.option("value",!0)},_optionChanged:function(n){switch(n.name){case"value":this._renderCheckedState(n.value),this.callBase(n);break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f="dx-radiogroup",e="dx-radiogroup-vertical",o="dx-radiogroup-horizontal",u="dx-radiobutton",s="dx-radiobutton-icon",h="dx-radiobutton-icon-dot",c="dx-radio-value-container",l="dx-radiobutton-checked",a="dxItemData",v=100,y=r.CollectionWidget.inherit({_setDefaultOptions:function(){this.callBase(),this.option(n.extend(this._dataExpressionDefaultOptions(),{_itemAttributes:{role:"radio"}}))},_getAriaTarget:function(){return this._focusTarget()},_focusTarget:function(){return this.element().parent()},_keyboardEventBindingTarget:function(){return this._focusTarget()}});t.registerComponent("dxRadioGroup",r,r.Editor.inherit({_activeStateUnit:"."+u,_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,this._dataExpressionDeprecatedOptions())},_setDefaultOptions:function(){this.callBase(),this.option(n.extend(this._dataExpressionDefaultOptions(),{layout:"vertical"}))},_defaultOptionsRules:function(){return this.callBase().concat([{device:{tablet:!0},options:{layout:"horizontal"}},{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0,hoverStateEnabled:!0}}])},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{value:!0})},_dataSourceOptions:function(){return{paginate:!1}},_init:function(){this.callBase(),this._initDataExpressions(),this._feedbackHideTimeout=v},_render:function(){this.element().addClass(f),this._renderRadios(),this.setAria("role","radiogroup"),this.callBase(),this._renderLayout(),this._updateItemsSize()},_renderFocusState:n.noop,_renderRadios:function(){var t=n("<div>").appendTo(this.element());this._radios=this._createComponent(t,"dxRadioCollection",{dataSource:this._dataSource,onItemRendered:n.proxy(this._itemRenderedHandler,this),onItemClick:n.proxy(this._itemClickHandler,this),itemTemplate:this._getTemplateByOption("itemTemplate"),scrollingEnabled:!1,focusStateEnabled:this.option("focusStateEnabled"),accessKey:this.option("accessKey"),tabIndex:this.option("tabIndex"),noDataText:"",disabled:this.option("disabled")}),this._setCollectionWidgetOption("onContentReady",n.proxy(this._contentReadyHandler,this)),this._contentReadyHandler()},_contentReadyHandler:function(){this.itemElements().addClass(u),this._refreshSelected()},_itemRenderedHandler:function(t){if(!t.itemData.html){var i,r;i=n("<div>").addClass(s),n("<div>").addClass(h).appendTo(i),r=n("<div>").append(i).addClass(c),t.itemElement.prepend(r)}},_itemClickHandler:function(n){this.option("value",this._getItemValue(n.itemData))},_getItemValue:function(n){return!this._valueGetter?n.text:this._valueGetter(n)},itemElements:function(){return this._radios.itemElements()},_renderDimensions:function(){this.callBase(),this._updateItemsSize()},_renderLayout:function(){var n=this.option("layout");this.element().toggleClass(e,n==="vertical"),this.element().toggleClass(o,n==="horizontal")},_refreshSelected:function(){var t=this.option("value");this.itemElements().each(n.proxy(function(i,r){var u=n(r),f=this._valueGetter(u.data(a));u.toggleClass(l,this._isValueEquals(f,t)),this.setAria("checked",this._isValueEquals(f,t),u)},this))},_updateItemsSize:function(){if(this.option("layout")==="horizontal")this.itemElements().css("height","auto");else{var n=this.option("items").length;this.itemElements().css("height",100/n+"%")}},_setCollectionWidgetOption:function(){this._setWidgetOption("_radios",arguments)},_optionChanged:function(n){this._dataExpressionOptionChanged(n);switch(n.name){case"focusStateEnabled":case"accessKey":case"tabIndex":this._setCollectionWidgetOption(n.name,n.value);break;case"disabled":this.callBase(n),this._setCollectionWidgetOption(n.name,n.value);break;case"dataSource":this._setCollectionWidgetOption("dataSource");break;case"valueExpr":this._refreshSelected();break;case"value":this._refreshSelected(),this.callBase(n);break;case"items":case"itemTemplate":case"displayExpr":break;case"layout":this._renderLayout(),this._updateItemsSize();break;default:this.callBase(n)}}}).include(r.DataExpressionMixin)),t.registerComponent("dxRadioCollection",r.dxRadioGroup,y)}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events,a="dx-tabs",v="dx-indent-wrapper",f="dx-tabs-expanded",y="dx-scrollable-wrapper",e="dx-tabs-nav-buttons",p="dx-tab",w=".dx-tab",b="dx-tab-selected",k="dx-tabs-nav-button",o="dx-tabs-nav-button-left",s="dx-tabs-nav-button-right",d="dxTabData",g=100,h=5,nt=300,c="dx-state-active",l=30;t.registerComponent("dxTabs",r,r.CollectionWidget.inherit({_activeStateUnit:w,_setDefaultOptions:function(){this.callBase(),this.option({showNavButtons:!1,scrollByContent:!0,scrollingEnabled:!0,wordWrap:!1,selectionMode:"single",activeStateEnabled:!0,selectionRequired:!1,selectOnFocus:!0,loopItemFocus:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"win8"},options:{wordWrap:!0}},{device:{platform:"generic"},options:{showNavButtons:!0,scrollByContent:!1}},{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._renderMultiple(),this.element().addClass(a),this._feedbackHideTimeout=g},_itemClass:function(){return p},_selectedItemClass:function(){return b},_itemDataKey:function(){return d},_render:function(){this.element().removeClass(f),this.callBase(),this._renderWrapper(),this._allowScrolling()?(this._renderScrollable(),this._renderNavButtons(),this._updateNavButtons()):(this.element().removeClass(e),this.element().addClass(f)),this.setAria("role","tablist");var t=this;this.itemElements().each(function(i,r){t.setAria("role","tab",n(r))}),this.element().addClass(c).removeClass(c)},_renderMultiple:function(){this.option("selectionMode")==="multi"&&this.option("selectOnFocus",!1)},_renderWrapper:function(){this.element().wrapInner(n("<div>").addClass(v))},_renderScrollable:function(){var t=this.element().wrapInner(n("<div>").addClass(y)).children();this._scrollable=this._createComponent(t,"dxScrollable",{direction:"horizontal",showScrollbar:!1,useKeyboard:!1,useNative:!1,scrollByContent:this.option("scrollByContent"),onScroll:n.proxy(this._updateNavButtonsVisibility,this)}),this.element().append(this._scrollable.element())},_allowScrolling:function(){if(this.option("wordWrap")||!this.option("scrollingEnabled"))return!1;var t=0;return this.itemElements().each(function(i,r){t+=n(r).outerWidth(!0)}),t-1>this.element().width()},_renderNavButtons:function(){var n,t;this.element().toggleClass(e,this.option("showNavButtons")),this.option("showNavButtons")&&(this._leftButton=this._createNavButton(-l,"chevronprev"),n=this._leftButton.element(),n.addClass(o),this.element().prepend(n),this._rightButton=this._createNavButton(l,"chevronnext"),t=this._rightButton.element(),t.addClass(s),this.element().append(t),this._updateNavButtonsVisibility(),this._scrollable.update(),this.option("rtlEnabled")&&this._scrollable.scrollTo({left:this._scrollable.scrollWidth()-this._scrollable.clientWidth()}))},_updateNavButtonsVisibility:function(){this._leftButton&&this._leftButton.option("disabled",this._scrollable.scrollLeft()<=0),this._rightButton&&this._rightButton.option("disabled",this._scrollable.scrollLeft()>=this._scrollable.scrollWidth()-this._scrollable.clientWidth())},_updateScrollPosition:function(n,t){this._scrollable.update(),this._scrollable.scrollBy(n/t)},_createNavButton:function(t,i){var r=this,e=r._createAction(function(){r._holdInterval=setInterval(function(){r._updateScrollPosition(t,h)},h)}),o=u.addNamespace("dxhold","dxButton"),s=u.addNamespace("dxpointerup","dxButton"),c=u.addNamespace("dxpointerout","dxButton"),f=this._createComponent(n("<div>").addClass(k),"dxButton",{focusStateEnabled:!1,icon:i,onClick:function(){r._updateScrollPosition(t,1)},_templates:{}});f.element().on(o,{timeout:nt},n.proxy(function(n){e({jQueryEvent:n})},this)).on(s,function(){r._clearInterval()}).on(c,function(){r._clearInterval()});return f},_clearInterval:function(){this._holdInterval&&clearInterval(this._holdInterval)},_updateNavButtons:function(){var n=this.element(),t=n.height();n.find("."+o).css({height:t}),n.find("."+s).css({height:t,"margin-top":-t})},_renderSelection:function(n){this._scrollable&&this._scrollable.scrollToElement(this.itemElements().eq(n[0]))},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dimensionChanged:function(){this._refresh()},_itemSelectHandler:function(n){this.option("selectionMode")==="single"&&this.isItemSelected(n.currentTarget)||this.callBase(n)},_optionChanged:function(n){switch(n.name){case"wordWrap":case"scrollingEnabled":case"showNavButtons":this._invalidate();break;case"scrollByContent":this._scrollable&&this._scrollable.option(n.name,n.value);break;case"selectionMode":this._renderMultiple(),this.callBase(n);break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-navbar",f="dx-item-content",e="dx-nav-item",o="dx-nav-item-content";t.registerComponent("dxNavBar",r,r.dxTabs.inherit({_setDefaultOptions:function(){this.callBase(),this.option({scrollingEnabled:!1})},_render:function(){this.callBase(),this.element().addClass(u)},_postprocessRenderItem:function(n){this.callBase(n);var t=n.itemElement,i=n.itemData;t.addClass(e),t.find("."+f).addClass(o),i.icon||i.iconSrc||t.addClass("dx-navbar-text-item")}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,o=t.fx,s=t.translator,h="dx-toolbar",c="dx-toolbar-bottom",l="dx-toolbar-mini",a="dx-toolbar-item",f="dx-toolbar-label",e="dx-toolbar-button",v="dx-toolbar-menu-container",y="dx-toolbar-menu-button",p="dx-toolbar-items-container",r="."+f,w="dxToolbarItemDataKey",b="easeOutCubic",k=200,d=400,g=function(n,t,i){var r=i?d:k;o.animate(n,{type:"slide",to:{top:t},easing:b,duration:r})};t.registerComponent("dxToolbar",u,u.CollectionWidget.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{menuItemRender:{since:"14.2",alias:"menuItemTemplate"}})},_setDefaultOptions:function(){this.callBase(),this.option({menuItemTemplate:"menuItem",submenuType:"dxDropDownMenu",renderAs:"topToolbar"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"ios"},options:{submenuType:"dxActionSheet"}},{device:{platform:"android"},options:{submenuType:"dxDropDownMenu"}},{device:{platform:"win8"},options:{submenuType:"dxList"}}])},_itemContainer:function(){return this._$toolbarItemsContainer.find(".dx-toolbar-before,.dx-toolbar-center,.dx-toolbar-after")},_itemClass:function(){return a},_itemDataKey:function(){return w},_dimensionChanged:function(){this._menu&&this._toggleMenuVisibility(!1,!0),this._arrangeTitle()},_render:function(){this._renderToolbar(),this._renderSections(),this.callBase(),this._renderMenu(),this._arrangeTitle(),this.setAria("role","toolbar")},_renderToolbar:function(){this.element().addClass(h).toggleClass(c,this.option("renderAs")==="bottomToolbar"),this._$toolbarItemsContainer=n("<div>").appendTo(this.element()),this._$toolbarItemsContainer.addClass(p)},_renderSections:function(){var t=this._$toolbarItemsContainer,i=this;n.each(["before","center","after"],function(){var r="dx-toolbar-"+this,u=t.find("."+r);u.length||(i["_$"+this+"Section"]=u=n("<div>").addClass(r).appendTo(t))})},_arrangeTitle:function(){var t,i,u,f;if(!this.element().is(":hidden")&&(t=this._$toolbarItemsContainer.find(r).eq(0).parent(),i=t.children(r).eq(0),i.length)){var h=this._$toolbarItemsContainer.width(),c=this._$beforeSection.outerWidth()?this._$beforeSection.outerWidth():i.position().left,e=t.hasClass("dx-toolbar-before")?0:c,o=t.hasClass("dx-toolbar-after")?0:this._$afterSection.outerWidth(),s=10;t.children().not(r).each(function(){s+=n(this).outerWidth()}),u=h-e-o-s,f=i.outerWidth()>u,t.css({marginLeft:f?e:"",marginRight:f?o:""}),i.css("max-width",u)}},_renderItem:function(n,t){var u=t.location||"center",o=this._$toolbarItemsContainer.find(".dx-toolbar-"+u),i=Boolean(t.text),r=this.callBase(n,t,o);return r.toggleClass(e,!i).toggleClass(f,i),r},_hasVisibleMenuItems:function(){var i=this._getMenuItems(),t=!1,r=DevExpress.data.utils.compileGetter("visible");return n.each(i,function(n,i){var u=r(i,{functionsAsIs:!0});u!==!1&&(t=!0)}),t},_getToolbarItems:function(){return n.grep(this.option("items")||[],function(n){return n.location!=="menu"})},_getMenuItems:function(){return n.grep(this.option("items")||[],function(n){return n.location==="menu"})},_renderContentImpl:function(){var n=this._getToolbarItems();this.element().toggleClass(l,n.length===0),this._renderedItemsCount?this._renderItems(n.slice(this._renderedItemsCount)):this._renderItems(n)},_renderMenu:function(){var n=this,i=this._createActionByOption("onItemClick"),t={itemTemplate:function(){return n._menuType==="dxActionSheet"?n._getTemplate("actionSheetItem"):n._getTemplateByOption("menuItemTemplate")},onItemClick:function(t){n._toggleMenuVisibility(!1,!0),i(t)}};this._menuType=this.option("submenuType"),this._menuType==="dxList"&&this.option("renderAs")==="topToolbar"&&(this._menuType="dxDropDownMenu");switch(this._menuType){case"dxActionSheet":this._renderActionSheet(t);break;case"dxDropDownMenu":this._renderDropDown(t);break;case"dxList":this._renderList(t)}},_renderMenuButton:function(t){var i=n.extend({onClick:n.proxy(this._menuButtonClickHandler,this)},t);this._renderMenuButtonContainer(),this._$button=n("<div>").appendTo(this._$menuButtonContainer).addClass(y),this._createComponent(this._$button,"dxButton",i)},_renderMenuButtonContainer:function(){var t=this._$afterSection;this._$menuButtonContainer=n("<div>").appendTo(t).addClass(e).addClass(v)},_renderDropDown:function(t){if(this._hasVisibleMenuItems()){this._renderMenuButtonContainer();var i=n("<div>").appendTo(this._$menuButtonContainer);this._menu=this._createComponent(i,"dxDropDownMenu",t),this._renderMenuItems()}},_renderActionSheet:function(t){if(this._hasVisibleMenuItems()){this._renderMenuButton({icon:"overflow"});var i=n.extend({target:this._$button,showTitle:!1},t),r=n("<div>").appendTo(this.element());this._menu=this._createComponent(r,"dxActionSheet",i),this._renderMenuItems()}},_renderList:function(t){var i,r;this._renderMenuButton({activeStateEnabled:!1,text:"..."}),i=n.extend({width:"100%",indicateLoading:!1},t),this._renderListOverlay(),this._renderContainerSwipe(),this._hasVisibleMenuItems()&&(r=n("<div>").appendTo(this._listOverlay.content()),this._menu=this._createComponent(r,"dxList",i),this._renderMenuItems()),this._changeListVisible(this.option("visible"))},_renderMenuItems:function(){this._menu.option("items",this._getMenuItems())},_getListHeight:function(){var n=this._listOverlay.content().find(".dx-list").height(),t=this._$toolbarItemsContainer.height()-this.element().height();return n+t},_renderListOverlay:function(){var t=n("<div>").appendTo(this.element());this._listOverlay=this._createComponent(t,"dxOverlay",{container:!1,deferRendering:!1,shading:!1,height:"auto",width:"100%",showTitle:!1,closeOnOutsideClick:n.proxy(this._listOutsideClickHandler,this),position:null,animation:null,closeOnBackButton:!1})},_hideTopOverlayHandler:function(){this._toggleMenuVisibility(!1,!0)},_toggleHideTopOverlayCallback:function(){this._closeCallback&&t.hideTopOverlayCallback.remove(this._closeCallback),this._menuShown&&(this._closeCallback=n.proxy(this._hideTopOverlayHandler,this),t.hideTopOverlayCallback.add(this._closeCallback))},_renderContainerSwipe:function(){this._createComponent(this._$toolbarItemsContainer.appendTo(this._listOverlay.content()),"dxSwipeable",{elastic:!1,onStart:n.proxy(this._swipeStartHandler,this),onUpdated:n.proxy(this._swipeUpdateHandler,this),onEnd:n.proxy(this._swipeEndHandler,this),itemSizeFunc:n.proxy(this._getListHeight,this),direction:"vertical"})},_listOutsideClickHandler:function(t){n(t.target).closest(this._listOverlay.content()).length||this._toggleMenuVisibility(!1,!0)},_calculatePixelOffset:function(n){n=(n||0)-1;var t=this._getListHeight();return n*t},_swipeStartHandler:function(n){n.jQueryEvent.maxTopOffset=this._menuShown?0:1,n.jQueryEvent.maxBottomOffset=this._menuShown?1:0},_swipeUpdateHandler:function(n){var t=this._menuShown?n.jQueryEvent.offset:1+n.jQueryEvent.offset;this._renderMenuPosition(t,!1)},_swipeEndHandler:function(n){var t=n.jQueryEvent.targetOffset;t-=this._menuShown-1,this._toggleMenuVisibility(t===0,!0)},_renderMenuPosition:function(n,t){var i=this._calculatePixelOffset(n),r=this._listOverlay.content();t?g(r,i,this._menuShown):s.move(r,{top:i})},_menuButtonClickHandler:function(){this._toggleMenuVisibility(!this._menuShown,!0)},_toggleMenuVisibility:function(n,t){this._menuShown=n;switch(this._menuType){case"dxList":this._toggleHideTopOverlayCallback(),this._renderMenuPosition(this._menuShown?0:1,t);break;case"dxActionSheet":this._menu.toggle(this._menuShown),this._menuShown=!1}},_renderEmptyMessage:n.noop,_clean:function(){this._$toolbarItemsContainer.children().empty(),this.element().empty()},_changeMenuOption:function(n,t){this._menu&&this._menu.option(n,t)},_changeListVisible:function(n){this._listOverlay&&(this._listOverlay.option("visible",n),this._toggleMenuVisibility(!1,!1))},_visibilityChanged:function(n){n&&this._arrangeTitle()},_renderDimensions:function(){this.callBase(),this._arrangeTitle()},_optionChanged:function(n){var i=n.name,t=n.value;switch(i){case"renderAs":case"submenuType":this._invalidate();break;case"visible":this.callBase.apply(this,arguments),this._changeListVisible(t);break;case"menuItemTemplate":this._changeMenuOption("itemTemplate",this._getTemplate(t));break;case"onItemClick":this._changeMenuOption(i,t),this.callBase.apply(this,arguments);break;default:this.callBase.apply(this,arguments)}}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,o=u.events,r=t.utils,c="dx-list",e="dx-list-item",l="."+e,f="dx-list-group",s="dx-list-group-header",h="dx-list-group-body",a="dx-list-collapsible-groups",v="dx-list-group-collapsed",y="dx-has-next",p="dx-list-next-button",w="dxListItemData",b=70,k=t.data.utils.compileGetter("items");t.registerComponent("dxList",u,u.CollectionWidget.inherit({_activeStateUnit:l,_supportedKeys:function(){var t=this,i=function(n){var i=r(n),f=i.is(t.option("focusedElement"));f&&(u(i,n),i=r(n)),t.option("focusedElement",i),t.scrollToItem(i)},r=function(n){var e=t.scrollTop(),o=t.element().height(),r=t.option("focusedElement"),u=!0,i,f;if(r){while(u){if(i=r[n](),!i.length)break;f=i.position().top+i.outerHeight()/2,u=f<o+e&&f>e,u&&(r=i)}return r}},u=function(n,i){var r=n.position().top;i==="prev"&&(r=n.position().top-t.element().height()+n.outerHeight()),t.scrollTo(r)};return n.extend(this.callBase(),{leftArrow:n.noop,rightArrow:n.noop,pageUp:function(){return i("prev"),!1},pageDown:function(){return i("next"),!1}})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{itemSwipeAction:{since:"14.2",alias:"onItemSwipe"},scrollAction:{since:"14.2",alias:"onScroll"},pullRefreshAction:{since:"14.2",alias:"onPullRefresh"},pageLoadingAction:{since:"14.2",alias:"onPageLoading"},groupRender:{since:"14.2",alias:"groupTemplate"},autoPagingEnabled:{since:"15.1",message:"Use the 'pageLoadMode' option instead"},showNextButton:{since:"15.1",message:"Use the 'pageLoadMode' option instead"}})},_setDefaultOptions:function(){this.callBase(),this.option({pullRefreshEnabled:!1,scrollingEnabled:!0,showScrollbar:"onScroll",useNative:!0,bounceEnabled:!0,scrollByContent:!0,scrollByThumb:!1,pullingDownText:Globalize.localize("dxList-pullingDownText"),pulledDownText:Globalize.localize("dxList-pulledDownText"),refreshingText:Globalize.localize("dxList-refreshingText"),pageLoadingText:Globalize.localize("dxList-pageLoadingText"),onScroll:null,onPullRefresh:null,onPageLoading:null,pageLoadMode:"scrollBottom",nextButtonText:Globalize.localize("dxList-nextButtonText"),onItemSwipe:null,grouped:!1,onGroupRendered:null,collapsibleGroups:!1,groupTemplate:"group",indicateLoading:!0,activeStateEnabled:!0,_itemAttributes:{role:"option"}})},_defaultOptionsRules:function(){return this.callBase().concat(u.dxScrollable.deviceDependentOptions(),[{device:function(n){return!t.support.nativeScrolling&&!t.devices.isSimulator()&&t.devices.real().platform==="generic"&&n.platform==="generic"},options:{showScrollbar:"onHover",pageLoadMode:"nextButton"}},{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_getOptionAliases:function(){return n.extend(this.callBase(),{useNative:"useNativeScrolling"})},_itemClass:function(){return e},_itemDataKey:function(){return w},_itemContainer:function(){return this._$container},_allowDinamicItemsAppend:function(){return!0},_init:function(){this.callBase(),this._$container=this.element(),this._initScrollView(),this._feedbackShowTimeout=b,this._createGroupRenderAction()},_dataSourceOptions:function(){this._suppressDeprecatedWarnings();var t=this.option("autoPagingEnabled");return t=r.isDefined(this.option("showNextButton"))?t||this.option("showNextButton"):t,this._resumeDeprecatedWarnings(),n.extend(this.callBase(),{paginate:r.isDefined(t)?t:!0})},_initScrollView:function(){this._suppressDeprecatedWarnings();var t=this.option("scrollingEnabled"),i=t&&this.option("pullRefreshEnabled"),u=t&&r.ensureDefined(this.option("autoPagingEnabled"),this.option("pageLoadMode")==="scrollBottom")&&!!this._dataSource;this._resumeDeprecatedWarnings(),this._scrollView=this._createComponent(this.element(),"dxScrollView",{disabled:this.option("disabled")||!t,onScroll:n.proxy(this._scrollHandler,this),onPullDown:i?n.proxy(this._pullDownHandler,this):null,onReachBottom:u?n.proxy(this._scrollBottomHandler,this):null,showScrollbar:this.option("showScrollbar"),useNative:this.option("useNativeScrolling"),bounceEnabled:this.option("bounceEnabled"),scrollByContent:this.option("scrollByContent"),scrollByThumb:this.option("scrollByThumb"),pullingDownText:this.option("pullingDownText"),pulledDownText:this.option("pulledDownText"),refreshingText:this.option("refreshingText"),reachBottomText:this.option("pageLoadingText"),useKeyboard:!1}),this._$container=this._scrollView.content(),this._createScrollViewActions()},_createScrollViewActions:function(){this._scrollAction=this._createActionByOption("onScroll"),this._pullRefreshAction=this._createActionByOption("onPullRefresh"),this._pageLoadingAction=this._createActionByOption("onPageLoading")},_scrollHandler:function(n){this._scrollAction(n)},_updateLoadingState:function(n){this._suppressDeprecatedWarnings();var t=!n||this._isLastPage(),u=r.ensureDefined(this.option("autoPagingEnabled"),this.option("pageLoadMode")==="scrollBottom"),i=t||!u,f=i&&!this._isDataSourceLoading();this._resumeDeprecatedWarnings(),i||this._scrollViewIsFull()?(this._scrollView.release(f),this._toggleNextButton(this._shouldRenderNextButton()&&!t),this._loadIndicationSuppressed(!1)):this._infiniteDataLoading()},_shouldRenderNextButton:function(){this._suppressDeprecatedWarnings();var n=r.ensureDefined(this.option("showNextButton"),this.option("pageLoadMode")==="nextButton")&&this._dataSource&&this._dataSource.isLoaded();return this._resumeDeprecatedWarnings(),n},_dataSourceLoadingChangedHandler:function(t){this._loadIndicationSuppressed()||(t&&this.option("indicateLoading")?this._showLoadingIndicatorTimer=setTimeout(n.proxy(function(){this._scrollView&&this._scrollView.startLoading()},this)):(clearTimeout(this._showLoadingIndicatorTimer),this._scrollView&&this._scrollView.finishLoading()))},_hideLoadingIfLoadIndicationOff:function(){this.option("indicateLoading")||this._dataSourceLoadingChangedHandler(!1)},_loadIndicationSuppressed:function(n){if(!arguments.length)return this._isLoadIndicationSuppressed;this._isLoadIndicationSuppressed=n},_scrollViewIsFull:function(){return!this._scrollView||this._scrollView.isFull()},_pullDownHandler:function(n){this._pullRefreshAction(n),this._dataSource&&!this._isDataSourceLoading()?(this._dataSource.pageIndex(0),this._dataSource.load()):this._updateLoadingState()},_infiniteDataLoading:function(){this._scrollViewIsFull()||this._isDataSourceLoading()||this._isLastPage()||(clearTimeout(this._loadNextPageTimer),this._loadNextPageTimer=setTimeout(n.proxy(this._loadNextPage,this)))},_scrollBottomHandler:function(n){this._pageLoadingAction(n),this._isDataSourceLoading()?this._updateLoadingState():this._loadNextPage()},_renderItems:function(t){this.option("grouped")?(n.each(t,n.proxy(this._renderGroup,this)),this._attachGroupCollapseEvent(),this._renderEmptyMessage()):this.callBase.apply(this,arguments),this._updateLoadingState(!0)},_attachGroupCollapseEvent:function(){var i=o.addNamespace("dxclick",this.NAME),r="."+s,t=this.element(),u=this.option("collapsibleGroups");if(t.toggleClass(a,u),t.off(i,r),u)t.on(i,r,n.proxy(function(t){this._createAction(n.proxy(function(t){this._collapseGroupHandler(n(t.jQueryEvent.currentTarget).parent())},this),{validatingTargetName:"element"})({jQueryEvent:t})},this))},_collapseGroupHandler:function(t,i){var u=n.Deferred(),f=t.children("."+h),r;return t.toggleClass(v,i),r="slideToggle",i===!0&&(r="slideUp"),i===!1&&(r="slideDown"),f[r]({duration:200,complete:n.proxy(function(){this.updateDimensions(),u.resolve()},this)}),u.promise()},_dataSourceLoadErrorHandler:function(){this._forgetNextPageLoading(),this._initialized&&(this._renderEmptyMessage(),this._updateLoadingState())},_render:function(){this.element().addClass(c),this.callBase(),this.setAria("role","listbox")},_postprocessRenderItem:function(t){this.callBase.apply(this,arguments),this.option("onItemSwipe")&&this._attachSwipeEvent(n(t.itemElement))},_attachSwipeEvent:function(t){var i=o.addNamespace("dxswipeend",this.NAME);t.on(i,n.proxy(this._itemSwipeEndHandler,this))},_itemSwipeEndHandler:function(n){this._itemJQueryEventHandler(n,"onItemSwipe",{direction:n.offset<0?"left":"right"})},_nextButtonHandler:function(){var n=this._dataSource;n&&!n.isLoading()&&(this._scrollView.toggleLoading(!0),this._$nextButton.detach(),this._loadIndicationSuppressed(!0),this._loadNextPage())},_renderGroup:function(t,i){var r=n("<div>").addClass(f).appendTo(this._itemContainer()),u=n("<div>").addClass(s).appendTo(r),o=this.option("groupTemplate"),c=this._getTemplate(i.template||o,i,t,u),l={index:t,item:i,container:u},e;this._createItemByTemplate(c,l),this._renderingGroupIndex=t,e=n("<div>").addClass(h).appendTo(r),n.each(k(i)||[],n.proxy(function(n,t){this._renderItem(n,t,e)},this)),this._groupRenderAction({groupElement:r,groupIndex:t,groupData:i})},_createGroupRenderAction:function(){this._groupRenderAction=this._createActionByOption("onGroupRendered")},_clean:function(){this._$nextButton&&(this._$nextButton.remove(),this._$nextButton=null),this.callBase.apply(this,arguments)},_dispose:function(){clearTimeout(this._holdTimer),clearTimeout(this._loadNextPageTimer),clearTimeout(this._showLoadingIndicatorTimer),this.callBase()},_toggleDisabledState:function(n){this.callBase(n),this._scrollView.option("disabled",n||!this.option("scrollingEnabled"))},_toggleNextButton:function(n){var t=this._dataSource,i=this._getNextButton();this.element().toggleClass(y,n),n&&t&&t.isLoaded()&&i.appendTo(this._itemContainer()),n||i.detach()},_getNextButton:function(){return this._$nextButton||(this._$nextButton=this._createNextButton()),this._$nextButton},_createNextButton:function(){var t=n("<div>").addClass(p),i=n("<div>").appendTo(t);return this._createComponent(i,"dxButton",{text:this.option("nextButtonText"),onClick:n.proxy(this._nextButtonHandler,this),_templates:{}}),t},_moveFocus:function(){this.callBase.apply(this,arguments),this.scrollToItem(this.option("focusedElement"))},_optionChanged:function(n){switch(n.name){case"pageLoadMode":this._toggleNextButton(n.value),this._initScrollView();break;case"showNextButton":this._toggleNextButton(n.value);break;case"dataSource":this.callBase(n),this._initScrollView();break;case"pullingDownText":case"pulledDownText":case"refreshingText":case"pageLoadingText":case"useNative":case"showScrollbar":case"bounceEnabled":case"scrollByContent":case"scrollByThumb":case"scrollingEnabled":case"pullRefreshEnabled":case"autoPagingEnabled":this._initScrollView();break;case"nextButtonText":case"onItemSwipe":this._invalidate();break;case"onScroll":case"onPullRefresh":case"onPageLoading":this._createScrollViewActions(),this._invalidate();break;case"grouped":case"collapsibleGroups":case"groupTemplate":this._invalidate();break;case"onGroupRendered":this._createGroupRenderAction();break;case"items":this._invalidate();break;case"width":case"height":this.callBase(n),this._scrollView.update();break;case"indicateLoading":this._hideLoadingIfLoadIndicationOff();break;case"visible":this.callBase(n),this._scrollView.update();break;case"rtlEnabled":this._initScrollView(),this.callBase(n);break;default:this.callBase(n)}},_extendActionArgs:function(t){if(!this.option("grouped"))return this.callBase(t);var i=t.closest("."+f),r=i.find("."+e);return n.extend(this.callBase(t),{itemIndex:{group:i.index(),item:r.index(t)}})},expandGroup:function(t){var i=n.Deferred(),r=this._itemContainer().find("."+f).eq(t);return this._collapseGroupHandler(r,!1).done(n.proxy(function(){i.resolveWith(this)},this)),i.promise()},collapseGroup:function(t){var i=n.Deferred(),r=this._itemContainer().find("."+f).eq(t);return this._collapseGroupHandler(r,!0).done(n.proxy(function(){i.resolveWith(this)},this)),i},updateDimensions:function(){var t=this,i=n.Deferred();return t._scrollView?t._scrollView.update().done(function(){i.resolveWith(t)}):i.resolveWith(t),i.promise()},reload:function(){this.scrollTo(0),this._pullDownHandler()},scrollTop:function(){return this._scrollView.scrollOffset().top},clientHeight:function(){return this._scrollView.clientHeight()},scrollHeight:function(){return this._scrollView.scrollHeight()},scrollBy:function(n){this._scrollView.scrollBy(n)},scrollTo:function(n){this._scrollView.scrollTo(n)},scrollToItem:function(n){var t=this._editStrategy.getItemElement(n);this._scrollView.scrollToElement(t)}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-list-item-selected",f="dx-list-item-response-wait";t.registerComponent("dxList",r,r.dxList.inherit({_supportedKeys:function(){var t=this,i=this.callBase(),r=function(n){t.option("allowItemDeleting")&&(n.preventDefault(),t.deleteItem(t.option("focusedElement")))},u=function(n){if(n.shiftKey&&t.option("allowItemReordering")){n.preventDefault();var r=t._editStrategy.getNormalizedIndex(t.option("focusedElement")),u=t._editStrategy.getItemElement(r-1);t.reorderItem(t.option("focusedElement"),u),t.scrollToItem(t.option("focusedElement"))}else i.upArrow(n)},f=function(n){if(n.shiftKey&&t.option("allowItemReordering")){n.preventDefault();var r=t._editStrategy.getNormalizedIndex(t.option("focusedElement")),u=t._editStrategy.getItemElement(r+1);t.reorderItem(t.option("focusedElement"),u),t.scrollToItem(t.option("focusedElement"))}else i.downArrow(n)};return n.extend({},i,{del:r,upArrow:u,downArrow:f})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{itemDeleteAction:{since:"14.2",alias:"onItemDeleted"},itemReorderAction:{since:"14.2",alias:"onItemReordered"},itemUnselectAction:{since:"14.2",message:"Use the 'onSelectionChanged' option instead"}})},_setDefaultOptions:function(){this.callBase(),this.option({showSelectionControls:!1,selectionMode:"none",selectAllText:Globalize.localize("dxList-selectAll"),menuItems:[],menuMode:"context",allowItemDeleting:!1,itemDeleteMode:"toggle",allowItemReordering:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="ios"},options:{menuMode:"slide",itemDeleteMode:"slideItem"}},{device:{platform:"android"},options:{itemDeleteMode:"swipe"}},{device:{platform:"win8"},options:{itemDeleteMode:"context"}},{device:{platform:"generic"},options:{itemDeleteMode:"static"}}])},_init:function(){this.callBase(),this._initEditProvider()},_initEditProvider:function(){this._editProvider=new r.dxList.EditProvider(this)},_disposeEditProvider:function(){this._editProvider&&this._editProvider.dispose()},_refreshEditProvider:function(){this._disposeEditProvider(),this._initEditProvider()},_initEditStrategy:function(){this.option("grouped")?this._editStrategy=new r.dxList.GroupedEditStrategy(this):this.callBase()},_render:function(){this._refreshEditProvider(),this.callBase()},_renderItems:function(){this.callBase.apply(this,arguments),this._editProvider.afterItemsRendered()},_selectedItemClass:function(){return u},_itemResponseWaitClass:function(){return f},_itemClickHandler:function(t){var i=n(t.currentTarget),r;i.is(".dx-state-disabled, .dx-state-disabled *")||(r=this._editProvider.handleClick(i,t),r)||this.callBase.apply(this,arguments)},_shouldAttachContextMenuEvent:function(){return this.callBase.apply(this,arguments)||this._editProvider.contextMenuHandlerExists()},_itemHoldHandler:function(t){var i=n(t.currentTarget),u,f;if(!i.is(".dx-state-disabled, .dx-state-disabled *")){if(u=r.events.isTouchEvent(t),f=u&&this._editProvider.handleContextMenu(i,t),f){t.handledByEditProvider=!0;return}this.callBase.apply(this,arguments)}},_itemContextMenuHandler:function(t){var i=n(t.currentTarget),r;i.is(".dx-state-disabled, .dx-state-disabled *")||(r=!t.handledByEditProvider&&this._editProvider.handleContextMenu(i,t),r)||this.callBase.apply(this,arguments)},_postprocessRenderItem:function(n){this.callBase.apply(this,arguments),this._editProvider.modifyItemElement(n)},_clean:function(){this._disposeEditProvider(),this.callBase()},_optionChanged:function(n){switch(n.name){case"items":this._clearSelectedItems(),this.callBase(n);break;case"grouped":this._clearSelectedItems(),delete this._renderingGroupIndex,this._initEditStrategy(n.value),this.callBase(n);break;case"showSelectionControls":case"menuItems":case"menuMode":case"allowItemDeleting":case"itemDeleteMode":case"allowItemReordering":case"selectAllText":this._invalidate();break;default:this.callBase(n)}},getFlatIndexByItemElement:function(n){return this._itemElements().index(n)},getItemElementByFlatIndex:function(t){var i=this._itemElements();return t<0||t>=i.length?n():i.eq(t)},getItemByIndex:function(n){return this._getItemData(this._itemElements().eq(n))}}))}(jQuery,DevExpress),function(n,t){var f=t.ui,h="dx-list-item",e="dx-list-group",o=20,c=2303,u=function(n){return(n.group<<o)+n.item},r=function(n){return{group:n>>o,item:n&c}},s=function(t,i){var u=t.items,r={key:t.key,items:[]};return n.each(i,function(n,t){r.items.push(u[t])}),r},l=function(n,t){for(var r=n.length,i=0;i<r;i++)if(n[i].key===t)return n[i]};f.dxList.GroupedEditStrategy=f.CollectionWidget.EditStrategy.inherit({_groupElements:function(){return this._collectionWidget._itemContainer().find("."+e)},_groupItemElements:function(n){return n.find("."+h)},getIndexByItemData:function(){return null},getItemDataByIndex:function(){return null},deleteItemAtIndex:function(n){var t=r(n),i=this._collectionWidget.option("items")[t.group].items;i.splice(t.item,1)},updateSelectionAfterDelete:function(t){var i=r(t),u=this._collectionWidget._selectedItemIndices;n.each(u,function(n,t){var f=r(t);f.group===i.group&&f.item>i.item&&(u[n]-=1)})},fetchSelectedItems:function(t){var e,f,u,i;return t=t||this._collectionWidget._selectedItemIndices,e=this._collectionWidget.option("items"),f=[],t.sort(function(n,t){return n-t}),u=0,i=[],n.each(t,function(n,t){var o=r(t);o.group!==u&&i.length&&(f.push(s(e[u],i)),i.length=0),u=o.group,i.push(o.item)}),i.length&&f.push(s(e[u],i)),f},selectedItemIndices:function(){var t=[],i=this._collectionWidget.option("items"),r=this._collectionWidget.option("selectedItems");return n.each(r,function(r,f){var e=l(i,f.key),o=n.inArray(e,i);n.each(f.items,function(i,r){var f=n.inArray(r,e.items);f!==-1&&t.push(u({group:o,item:f}))})}),t},moveItemAtIndexToIndex:function(n,t){var u=this._collectionWidget.option("items"),i=r(n),f=r(t),e=u[i.group].items,o=u[f.group].items,s=e[i.item];e.splice(i.item,1),o.splice(f.item,0,s)},getSelectedItemsAfterReorderItem:function(t,i){if(this._itemsFromSameParent(t,i)||n.inArray(t,this._collectionWidget._selectedItemIndices))return this.callBase();var s=this._collectionWidget.option("items"),u=this._collectionWidget.option("selectedItems"),f=r(t),h=r(i),e=u[f.group].items,c=u[h.group].items,o=s[f.group].items[f.item],l=n.inArray(o,e);return e.splice(l,1),c.push(o),u},_isItemIndex:function(t){return n.isNumeric(t.group)&&n.isNumeric(t.item)},_getNormalizedItemIndex:function(t){var i=n(t),r=i.closest("."+e);return u({group:this._groupElements().index(r),item:this._groupItemElements(r).index(i)})},_normalizeItemIndex:function(n){return u(n)},_denormalizeItemIndex:function(n){return r(n)},_getItemByNormalizedIndex:function(n){var t=r(n),i=this._groupElements().eq(t.group);return this._groupItemElements(i).eq(t.item)},_itemsFromSameParent:function(n,t){return r(n).group===r(t).group}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events;r.dxList.EditDecoratorsRegistry={},r.dxList.registerEditDecorator=function(t,i,u){var f=r.dxList.EditDecoratorsRegistry,e={};e[t]=f[t]?f[t]:{},e[t][i]=u,f=n.extend(f,e)};var f="dxListEditDecorator",e=u.addNamespace("dxswipestart",f),o=u.addNamespace("dxswipe",f),s=u.addNamespace("dxswipeend",f);r.dxList.EditDecorator=t.Class.inherit({ctor:function(n){this._list=n,this._init()},_init:n.noop,_shouldHandleSwipe:!1,_attachSwipeEvent:function(t){var i={itemSizeFunc:n.proxy(function(){return this._clearSwipeCache&&(this._itemWidthCache=this._list.element().width(),this._clearSwipeCache=!1),this._itemWidthCache},this)};t.$itemElement.on(e,i,n.proxy(this._itemSwipeStartHandler,this)).on(o,n.proxy(this._itemSwipeUpdateHandler,this)).on(s,n.proxy(this._itemSwipeEndHandler,this))},_itemSwipeStartHandler:function(t){var i=n(t.currentTarget);if(i.is(".dx-state-disabled, .dx-state-disabled *")){t.cancel=!0;return}this._swipeStartHandler(i,t)},_itemSwipeUpdateHandler:function(t){var i=n(t.currentTarget);this._swipeUpdateHandler(i,t)},_itemSwipeEndHandler:function(t){var i=n(t.currentTarget);this._swipeEndHandler(i,t),this._clearSwipeCache=!0},beforeBag:n.noop,afterBag:n.noop,_commonOptions:function(){return{activeStateEnabled:this._list.option("activeStateEnabled"),hoverStateEnabled:this._list.option("hoverStateEnabled"),focusStateEnabled:this._list.option("focusStateEnabled")}},modifyElement:function(n){this._shouldHandleSwipe&&(this._attachSwipeEvent(n),this._clearSwipeCache=!0)},afterRender:n.noop,handleClick:n.noop,handleContextMenu:n.noop,_swipeStartHandler:n.noop,_swipeUpdateHandler:n.noop,_swipeEndHandler:n.noop,visibilityChange:n.noop,dispose:n.noop})}(jQuery,DevExpress),function(n,t){var r=t.ui;r.dxList.EditDecoratorMenuHelperMixin={_menuEnabled:function(){return!!this._menuItems().length},_menuItems:function(){return this._list.option("menuItems")},_deleteEnabled:function(){return this._list.option("allowItemDeleting")},_fireMenuAction:function(n,t){this._list._itemEventHandlerByHandler(n,t,{},{excludeValidators:["disabled","readOnly"]})}}}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-list-static-delete-button-container",f="dx-list-static-delete-button";r.dxList.registerEditDecorator("delete","static",r.dxList.EditDecorator.inherit({afterBag:function(t){var r=t.$itemElement,e=t.$container,i=n("<div>").addClass(f);this._list._createComponent(i,"dxButton",{icon:"remove",type:"danger",onClick:n.proxy(function(){this._deleteItem(r)},this),_templates:{}}),e.addClass(u).append(i)},_deleteItem:function(n){n.is(".dx-state-disabled, .dx-state-disabled *")||this._list.deleteItem(n)}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,o=r.events,s="dxListEditDecorator",f=o.addNamespace("dxpointerdown",s),h="dx-list-item-content",u="dx-list-switchable-delete-ready",c="dx-list-switchable-menu-shield-positioning",l="dx-list-switchable-delete-top-shield",a="dx-list-switchable-delete-bottom-shield",e="dx-list-switchable-menu-item-shield-positioning",v="dx-list-switchable-delete-item-content-shield";r.dxList.SwitchableEditDecorator=r.dxList.EditDecorator.inherit({_init:function(){this._$topShield=n("<div />").addClass(l),this._$bottomShield=n("<div />").addClass(a),this._$itemContentShield=n("<div />").addClass(v);this._$topShield.on(f,n.proxy(this._cancelDeleteReadyItem,this));this._$bottomShield.on(f,n.proxy(this._cancelDeleteReadyItem,this));this._list.element().append(this._$topShield.toggle(!1)).append(this._$bottomShield.toggle(!1))},handleClick:function(){return this._cancelDeleteReadyItem()},_cancelDeleteReadyItem:function(){return this._$readyToDeleteItem?(this._cancelDelete(this._$readyToDeleteItem),!0):!1},_cancelDelete:function(n){this._toggleDeleteReady(n,!1)},_toggleDeleteReady:function(n,t){t===i&&(t=!this._isReadyToDelete(n)),this._toggleShields(n,t),this._toggleScrolling(t),this._cacheReadyToDeleteItem(n,t),this._animateToggleDelete(n,t)},_isReadyToDelete:function(n){return n.hasClass(u)},_toggleShields:function(n,t){this._list.element().toggleClass(c,t),this._$topShield.toggle(t),this._$bottomShield.toggle(t),t&&this._updateShieldsHeight(n),this._toggleContentShield(n,t)},_updateShieldsHeight:function(n){var t=this._list.element(),r=t.offset().top,u=t.outerHeight(),f=n.offset().top,e=n.outerHeight(),i=f-r,o=u-e-i;this._$topShield.height(Math.max(i,0)),this._$bottomShield.height(Math.max(o,0))},_toggleContentShield:function(n,t){t?n.find("."+h).append(this._$itemContentShield):this._$itemContentShield.detach()},_toggleScrolling:function(n){var t=this._list.element().dxScrollView("instance");n?(this._scrollViewDisabled=t.option("disabled"),t.option("disabled",!0)):t.option("disabled",this._scrollViewDisabled)},_cacheReadyToDeleteItem:function(n,t){t?this._$readyToDeleteItem=n:delete this._$readyToDeleteItem},_animateToggleDelete:function(t,i){i?(this._enablePositioning(t),this._prepareDeleteReady(t),this._animatePrepareDeleteReady(t)):(this._forgetDeleteReady(t),this._animateForgetDeleteReady(t).done(n.proxy(this._disablePositioning,this,t)))},_enablePositioning:function(n){n.addClass(e)},_disablePositioning:function(n){n.removeClass(e)},_prepareDeleteReady:function(n){n.addClass(u)},_forgetDeleteReady:function(n){n.removeClass(u)},_animatePrepareDeleteReady:t.abstract,_animateForgetDeleteReady:t.abstract,_deleteItem:function(t){(t=t||this._$readyToDeleteItem,t.is(".dx-state-disabled, .dx-state-disabled *"))||this._list.deleteItem(t).always(n.proxy(this._cancelDelete,this,t))},_isRtlEnabled:function(){return this._list.option("rtlEnabled")},dispose:function(){this._$topShield&&this._$topShield.remove(),this._$bottomShield&&this._$bottomShield.remove(),this.callBase.apply(this,arguments)}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.fx,s="dx-list-switchable-delete-button-container",h="dx-list-switchable-delete-button-wrapper",c="dx-list-switchable-delete-button-inner-wrapper",l="dx-list-switchable-delete-button",f=200,e,o;r.dxList.SwitchableButtonEditDecorator=r.dxList.SwitchableEditDecorator.inherit({_init:function(){this.callBase.apply(this,arguments);var t=n("<div >").addClass(s),i=n("<div />").addClass(h),r=n("<div />").addClass(c),u=n("<div />").addClass(l);this._list._createComponent(u,"dxButton",{text:Globalize.localize("dxListEditDecorator-delete"),type:"danger",onClick:n.proxy(function(n){this._deleteItem(),n.jQueryEvent.stopPropagation()},this),_templates:{}}),t.append(i),i.append(r),r.append(u),this._$buttonContainer=t},_enablePositioning:function(n){this.callBase.apply(this,arguments),u.stop(this._$buttonContainer,!0),this._$buttonContainer.appendTo(n)},_disablePositioning:function(){this.callBase.apply(this,arguments),this._$buttonContainer.detach()},_animatePrepareDeleteReady:function(){var n=this._isRtlEnabled(),t=this._list.element().width(),i=this._buttonWidth(),r=n?t:-i,e=n?t-i:0;return u.animate(this._$buttonContainer,{type:"custom",duration:f,from:{right:r},to:{right:e}})},_animateForgetDeleteReady:function(){var n=this._isRtlEnabled(),t=this._list.element().width(),i=this._buttonWidth(),r=n?t-i:0,e=n?t:-i;return u.animate(this._$buttonContainer,{type:"custom",duration:f,from:{right:r},to:{right:e}})},_buttonWidth:function(){return this._buttonContainerWidth||(this._buttonContainerWidth=this._$buttonContainer.outerWidth()),this._buttonContainerWidth},dispose:function(){this._$buttonContainer&&this._$buttonContainer.remove(),this.callBase.apply(this,arguments)}}),e="dx-list-toggle-delete-switch-container",o="dx-list-toggle-delete-switch",r.dxList.registerEditDecorator("delete","toggle",r.dxList.SwitchableButtonEditDecorator.inherit({beforeBag:function(t){var u=t.$itemElement,i=t.$container,r=n("<div />").addClass(o);this._list._createComponent(r,"dxButton",{icon:"toggle-delete",onClick:n.proxy(function(n){this._toggleDeleteReady(u),n.jQueryEvent.stopPropagation()},this),_templates:{}}),i.addClass(e),i.append(r)}})),r.dxList.registerEditDecorator("delete","slideButton",r.dxList.SwitchableButtonEditDecorator.inherit({_shouldHandleSwipe:!0,_swipeEndHandler:function(n,t){return t.targetOffset!==0&&this._toggleDeleteReady(n),!0}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,h=r.events,c=t.translator,u=t.fx,l="dxListEditDecorator",e=h.addNamespace("dxclick",l),a="dx-list-slide-menu",v="dx-list-slide-menu-wrapper",f="dx-list-slide-menu-content",y="dx-list-slide-menu-buttons-container",o="dx-list-slide-menu-buttons",s="dx-list-slide-menu-button",p="dx-list-slide-menu-button-menu",w="dx-list-slide-menu-button-delete";r.dxList.registerEditDecorator("menu","slide",r.dxList.SwitchableEditDecorator.inherit({_shouldHandleSwipe:!0,_init:function(){this.callBase.apply(this,arguments),this._$buttonsContainer=n("<div/>").addClass(y),this._$buttons=n("<div/>").addClass(o).appendTo(this._$buttonsContainer),this._renderMenu(),this._renderDeleteButton()},_renderMenu:function(){var t,i,r,u;this._menuEnabled()&&(t=this._menuItems(),t.length===1?(i=t[0],this._renderMenuButton(i.text,n.proxy(function(){this._fireAction(i)},this))):(r=n("<div />").addClass(a),this._menu=this._list._createComponent(r,"dxActionSheet",{showTitle:!1,items:t,onItemClick:n.proxy(function(n){this._fireAction(n.itemData)},this),_templates:{}}),r.appendTo(this._list.element()),u=this._renderMenuButton(Globalize.localize("dxListEditDecorator-more"),n.proxy(this._menu.show,this._menu)),this._menu.option("target",u)))},_renderMenuButton:function(t,i){var r=n("<div/>").addClass(s).addClass(p).text(t);this._$buttons.append(r);r.on(e,i);return r},_renderDeleteButton:function(){if(this._deleteEnabled()){var t=n("<div/>").addClass(s).addClass(w).text(Globalize.localize("dxListEditDecorator-delete"));t.on(e,n.proxy(function(){this._deleteItem()},this));this._$buttons.append(t)}},_fireAction:function(t){this._fireMenuAction(n(this._cachedNode),t.action),this._cancelDeleteReadyItem()},modifyElement:function(t){var i,r;this.callBase.apply(this,arguments),i=t.$itemElement,i.addClass(v),r=n("<div/>").addClass(f),i.wrapInner(r)},handleClick:function(t,i){return n(i.target).closest("."+f).length?this.callBase.apply(this,arguments):!1},_swipeStartHandler:function(n){this._enablePositioning(n),this._cacheItemData(n)},_swipeUpdateHandler:function(n,t){var r=this._isRtlEnabled(),u=r?-1:1,f=this._cachedItemWidth*t.offset,e=this._isReadyToDelete(n)?-this._cachedButtonWidth*u:0,i=(f+e)*u,o=i<0?f+e:0,s=i<0?i:0;return c.move(this._$cachedContent,{left:o}),this._$buttonsContainer.css(r?"right":"left",Math.max(this._cachedItemWidth+s,this._minButtonContainerLeftOffset())),!0},_cacheItemData:function(n){n[0]!==this._cachedNode&&(this._$cachedContent=n.find("."+f),this._cachedItemWidth=n.outerWidth(),this._cachedButtonWidth=this._cachedButtonWidth||n.find("."+o).outerWidth(),this._$cachedContent.length&&(this._cachedNode=n[0]))},_minButtonContainerLeftOffset:function(){return this._cachedItemWidth-this._cachedButtonWidth},_swipeEndHandler:function(n,t){this._cacheItemData(n);var i=this._isRtlEnabled()?1:-1,r=this._cachedItemWidth*t.offset,u=!this._isReadyToDelete(n)&&r*i>this._cachedButtonWidth*.2,f=t.targetOffset===i||u;return this._toggleDeleteReady(n,f),!0},_enablePositioning:function(n){this.callBase.apply(this,arguments),this._$buttonsContainer.appendTo(n)},_disablePositioning:function(){this.callBase.apply(this,arguments),this._$buttonsContainer.detach()},_animatePrepareDeleteReady:function(){var t=this._isRtlEnabled(),f=t?1:-1,r;this._$buttonsContainer.css(t?"left":"right","0");var e=u.animate(this._$cachedContent,{to:{left:this._cachedButtonWidth*f},type:"slide",duration:200}),o=t?"right":"left",i={};return i[o]=this._minButtonContainerLeftOffset(),r=u.animate(this._$buttonsContainer,{to:i,duration:200}),n.when(e,r).promise()},_animateForgetDeleteReady:function(t){var i,e;this._cacheItemData(t),i=this._isRtlEnabled(),this._$buttonsContainer.css(i?"left":"right","0");var o=u.animate(this._$cachedContent,{to:{left:0},type:"slide",duration:200}),r=i?"right":"left",f={};return f[r]=this._cachedItemWidth,e=u.animate(this._$buttonsContainer,{to:f,duration:200,complete:n.proxy(function(){this._$buttonsContainer.css(r,"100%")},this)}),n.when(o,e).promise()},dispose:function(){this._menu&&this._menu.element().remove(),this._$buttonsContainer&&this._$buttonsContainer.remove(),this.callBase.apply(this,arguments)}}).include(r.dxList.EditDecoratorMenuHelperMixin))}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.translator,f=t.fx;r.dxList.registerEditDecorator("delete","swipe",r.dxList.EditDecorator.inherit({_shouldHandleSwipe:!0,_renderItemPosition:function(t,i,r){var e=n.Deferred(),o=i*this._itemElementWidth;return r?f.animate(t,{to:{left:o},type:"slide",complete:function(){e.resolve(t,i)}}):(u.move(t,{left:o}),e.resolve()),e.promise()},_swipeStartHandler:function(n){return this._itemElementWidth=n.width(),!0},_swipeUpdateHandler:function(n,t){return this._renderItemPosition(n,t.offset),!0},_swipeEndHandler:function(t,i){var r=i.targetOffset;return this._renderItemPosition(t,r,!0).done(n.proxy(function(t,i){Math.abs(i)&&this._list.deleteItem(t).fail(n.proxy(function(){this._renderItemPosition(t,0,!0)},this))},this)),!0}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-list-context-menu",f="dx-list-context-menucontent";r.dxList.registerEditDecorator("menu","context",r.dxList.EditDecorator.inherit({_init:function(){var t=n("<div/>").addClass(u);this._list.element().append(t),this._menu=this._renderOverlay(t)},_renderOverlay:function(t){return this._list._createComponent(t,"dxOverlay",{shading:!1,deferRendering:!0,closeOnTargetScroll:!0,closeOnOutsideClick:function(t){return!n(t.target).closest("."+u).length},animation:{show:{type:"slide",duration:300,from:{height:0,opacity:1},to:{height:n.proxy(function(){return this._$menuList.outerHeight()},this),opacity:1}},hide:{type:"slide",duration:0,from:{opacity:1},to:{opacity:0}}},height:n.proxy(function(){return this._$menuList?this._$menuList.outerHeight():0},this),width:n.proxy(function(){return this._list.element().outerWidth()},this),onContentReady:n.proxy(this._renderMenuContent,this)})},_renderMenuContent:function(t){var i=t.component.content(),r=this._menuItems().slice();this._deleteEnabled()&&r.push({text:Globalize.localize("dxListEditDecorator-delete"),action:n.proxy(this._deleteItem,this)}),this._$menuList=n("<div>"),this._list._createComponent(this._$menuList,"dxList",{items:r,onItemClick:n.proxy(this._menuItemClickHandler,this),height:"auto",_templates:{}}),i.addClass(f),i.append(this._$menuList)},_menuItemClickHandler:function(n){this._menu.hide(),this._fireMenuAction(this._$itemWithMenu,n.itemData.action)},_deleteItem:function(){this._list.deleteItem(this._$itemWithMenu)},handleContextMenu:function(n){return this._$itemWithMenu=n,this._menu.option({position:{my:"top",at:"bottom",of:n,collision:"flip"}}),this._menu.show(),!0},dispose:function(){this._menu&&this._menu.element().remove(),this.callBase.apply(this,arguments)}}).include(r.dxList.EditDecoratorMenuHelperMixin))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,e=r.events,u="dx-list-select-decorator-enabled",o="dx-list-select-all",s="dx-list-select-all-checkbox",h="dx-list-select-all-label",c="dx-list-select-checkbox-container",l="dx-list-select-checkbox",a="dx-list-select-radiobutton-container",v="dx-list-select-radiobutton",f=e.addNamespace("dxclick","dxListEditDecorator");r.dxList.registerEditDecorator("selection","default",r.dxList.EditDecorator.inherit({_init:function(){this.callBase.apply(this,arguments);var n=this._list.option("selectionMode");this._singleStrategy=n==="single",this._containerClass=this._singleStrategy?a:c,this._controlClass=this._singleStrategy?v:l,this._controlWidget=this._singleStrategy?"dxRadioButton":"dxCheckBox",this._list.element().addClass(u)},beforeBag:function(t){var i=t.$itemElement,r=t.$container,u=n("<div />").addClass(this._controlClass);u[this._controlWidget](n.extend(this._commonOptions(),{value:this._isSelected(i),focusStateEnabled:!1,hoverStateEnabled:!1,onValueChanged:n.proxy(function(n){this._processCheckedState(i,n.value),n.jQueryEvent&&n.jQueryEvent.stopPropagation()},this)})),r.addClass(this._containerClass),r.append(u)},modifyElement:function(t){this.callBase.apply(this,arguments);var i=t.$itemElement,r=i.find("."+this._controlClass)[this._controlWidget]("instance");i.on("stateChanged",n.proxy(function(){r.option("value",this._isSelected(i)),this._updateSelectAllState()},this))},_updateSelectAllState:function(){if(this._$selectAll){var t=this._list.option("items"),n=this._list.option("selectedItems"),r=t.length===n.length?!0:n.length===0?!1:i;this._selectAllCheckBox.option("value",r)}},afterRender:function(){this._list.option("selectionMode")==="all"&&(this._$selectAll||this._renderSelectAll(),this._selectAllCheckBox.option("value")&&this._selectAllItems())},_renderSelectAll:function(){var t=this._$selectAll=n("<div>").addClass(o);this._selectAllCheckBox=this._list._createComponent(n("<div>").addClass(s).appendTo(t),"dxCheckBox"),n("<div>").addClass(h).text(this._list.option("selectAllText")).appendTo(t),this._list.itemsContainer().prepend(t),this._updateSelectAllState(),this._attachSelectAllHandler()},_attachSelectAllHandler:function(){this._selectAllCheckBox.option("onValueChanged",n.proxy(this._selectAllHandler,this));this._$selectAll.off(f).on(f,n.proxy(this._selectAllClickHandler,this))},_selectAllHandler:function(n){var t=this._selectAllCheckBox.option("value");t===!0?this._selectAllItems():t===!1&&this._unselectAllItems(),n.jQueryEvent&&n.jQueryEvent.stopPropagation()},_selectAllItems:function(){this._list.option("selectedItems",this._list.option("items").slice())},_unselectAllItems:function(){this._list.option("selectedItems",[])},_selectAllClickHandler:function(){this._selectAllCheckBox.option("value",!this._selectAllCheckBox.option("value"))},_isSelected:function(n){return this._list.isItemSelected(n)},_processCheckedState:function(n,t){t?this._list.selectItem(n):this._list.unselectItem(n)},dispose:function(){this._disposeSelectAll(),this._list.element().removeClass(u),this.callBase.apply(this,arguments)},_disposeSelectAll:function(){this._$selectAll&&(this._$selectAll.remove(),this._$selectAll=null)},handleClick:function(n){var t=!this._isSelected(n)||this._singleStrategy;return this._processCheckedState(n,t),!0}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,f=u.events,e=t.translator,r=t.fx,l=t.support,o=t.utils,h=o.fitIntoRange,a=t.Animator.inherit({ctor:function(n){this.callBase(),this._strategy=n},_isFinished:function(){return this._strategy.scrollFinished()},_step:function(){this._strategy.scrollByStep()}}),s="dxListEditDecorator",v=f.addNamespace("dxdragstart",s),y=f.addNamespace("dxdrag",s),p=f.addNamespace("dxdragend",s),w="dx-list-reorder-handle-container",b="dx-list-reorder-handle",c="dx-list-item-reordering",k="dx-list-item-ghost-reordering",d="dx-list-reorder-compatibility-mode";u.dxList.registerEditDecorator("reorder","default",u.dxList.EditDecorator.inherit({_init:function(){this._groupedEnabled=this._list.option("grouped"),this._initAnimator()},_initAnimator:function(){this._scrollAnimator=new a(this)},_startAnimator:function(){this._scrollAnimator.inProgress()||this._scrollAnimator.start()},_stopAnimator:function(){this._scrollAnimator.stop()},afterBag:function(t){var r=t.$itemElement,u=t.$container,i=n("<div>").addClass(b);i.on(v,{direction:"vertical",immediate:!0},n.proxy(this._dragStartHandler,this,r));i.on(y,n.proxy(this._dragHandler,this,r));i.on(p,n.proxy(this._dragEndHandler,this,r));u.addClass(w),u.append(i)},_dragStartHandler:function(n,t){if(n.is(".dx-state-disabled, .dx-state-disabled *")){t.cancel=!0;return}this._stopPreviousAnimation(),t.targetElements=[],this._cacheItemsPositions(),this._startPointerOffset=t.pageY-n.offset().top,this._elementHeight=n.outerHeight();var i=this._list.getFlatIndexByItemElement(n);this._startIndex=i,this._lastIndex=i,this._cacheScrollData(),this._createGhost(n),n.addClass(c),this._toggleCompatibilityMode(!0)},_stopPreviousAnimation:function(){r.stop(this._$ghostItem,!0)},_toggleCompatibilityMode:function(n){this._list.element().toggleClass(d,!l.transform&&n)},_cacheItemsPositions:function(){this._itemPositions=[],n.each(this._list.itemElements(),n.proxy(function(t,i){this._itemPositions.push(n(i).position().top)},this))},_getDraggingElementPosition:function(){return this._itemPositions[this._startIndex]},_getLastElementPosition:function(){return this._itemPositions[this._lastIndex]},_cacheScrollData:function(){this._list.updateDimensions(),this._startScrollTop=this._list.scrollTop(),this._scrollOffset=0,this._scrollHeight=this._list.scrollHeight(),this._clientHeight=this._list.clientHeight()},_scrollTop:function(){return this._startScrollTop+this._scrollOffset},_createGhost:function(n){this._$ghostItem=n.clone(),this._$ghostItem.addClass(k).appendTo(this._list.itemsContainer()),this._startGhostPosition=this._getDraggingElementPosition()-this._$ghostItem.position().top,e.move(this._$ghostItem,{top:this._startGhostPosition})},_dragHandler:function(n,t){this._topOffset=t.offset.y,this._updateItemPositions();var i=this._getPonterPosition();this._toggleScroll(i)},_getPonterPosition:function(){return this._getDraggingElementPosition()+this._startPointerOffset+this._scrollOffset+this._topOffset},_toggleScroll:function(n){if(!(this._scrollHeight<=this._clientHeight)){var t=this._elementHeight*.7,u=this._clientHeight-(n-this._scrollTop()),i=u/t,f=n-this._scrollTop(),r=f/t;i<1?(this._stepSize=this._adjustRationIntoRange(i),this._startAnimator()):r<1?(this._stepSize=-this._adjustRationIntoRange(r),this._startAnimator()):this._stopAnimator()}},_adjustRationIntoRange:function(n){return h(Math.round(Math.abs(n-1)*7),1,7)},_updateItemPositions:function(){this._updateGhostPosition(),this._updateOthersPositions()},_updateGhostPosition:function(){e.move(this._$ghostItem,{top:this._startGhostPosition+this._scrollOffset+this._topOffset})},_updateOthersPositions:function(){var n=this._findItemIndexByPosition(this._getPonterPosition()),t;if(this._lastIndex!==n&&(!this._groupedEnabled||this._sameParent(n))){var u=n-this._startIndex,f=o.sign(u),c=Math.min(n,this._lastIndex),l=Math.max(n,this._lastIndex);for(t=c;t<=l;t++)if(t!==this._startIndex){var i=this._list.getItemElementByFlatIndex(t),e=t-this._startIndex,a=o.sign(e),s=Math.abs(e)<=Math.abs(u),h=f===a,v=s&&h,y=!s||!h;r.stop(i),v&&r.animate(i,{type:"slide",to:{top:this._elementHeight*-f},duration:300}),y&&r.animate(i,{type:"slide",to:{top:0},duration:300})}this._lastIndex=n}},_sameParent:function(n){var t=this._list.getItemElementByFlatIndex(this._startIndex),i=this._list.getItemElementByFlatIndex(n);return i.parent().get(0)===t.parent().get(0)},scrollByStep:function(){this._scrollOffset+=this._stepSize,this._list.scrollBy(this._stepSize),this._updateItemPositions()},scrollFinished:function(){var n=this._scrollTop(),t=n<=0&&this._stepSize<0,i=n>=this._scrollHeight-this._clientHeight&&this._stepSize>0;return t||i},_dragEndHandler:function(t){this._scrollAnimator.stop(),r.animate(this._$ghostItem,{type:"slide",to:{top:this._startGhostPosition+this._getLastElementPosition()-this._getDraggingElementPosition()},duration:300}).done(n.proxy(function(){t.removeClass(c),this._resetPositions(),this._list.reorderItem(t,this._list.getItemElementByFlatIndex(this._lastIndex)),this._deleteGhost(),this._toggleCompatibilityMode(!1)},this))},_deleteGhost:function(){this._$ghostItem.remove()},_resetPositions:function(){for(var i=Math.min(this._startIndex,this._lastIndex),r=Math.max(this._startIndex,this._lastIndex),t,n=i;n<=r;n++)t=this._list.getItemElementByFlatIndex(n),e.resetPosition(t)},_findItemIndexByPosition:function(n){for(var i=0,r=this._itemPositions.length-1,t,u;i<=r;)if(t=(i+r)/2|0,u=this._itemPositions[t],u<n)i=t+1;else if(u>n)r=t-1;else return t;return h(i,0,Math.max(r,0))}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,f=[],r=function(n,t,i){f.push({enabled:n,decoratorType:t,decoratorSubType:i})};r(function(){return this.option("menuItems").length},function(){return"menu"},function(){return this.option("menuMode")}),r(function(){return!this.option("menuItems").length&&this.option("allowItemDeleting")},function(){var n=this.option("itemDeleteMode");return n==="toggle"||n==="slideButton"||n==="swipe"||n==="static"?"delete":"menu"},function(){var n=this.option("itemDeleteMode");return n==="slideItem"&&(n="slide"),n==="hold"&&(n="context"),n}),r(function(){return this.option("selectionMode")!=="none"&&this.option("showSelectionControls")},function(){return"selection"},function(){return"default"}),r(function(){return this.option("allowItemReordering")},function(){return"reorder"},function(){return"default"});var e="dx-list-item-before-bag",o="dx-list-item-after-bag",s="beforeBag",h="afterBag",c="modifyElement",l="afterRender";u.dxList.EditProvider=t.Class.inherit({ctor:function(n){this._list=n,this._fetchRequiredDecorators()},dispose:function(){this._decorators&&this._decorators.length&&n.each(this._decorators,function(n,t){t.dispose()})},_fetchRequiredDecorators:function(){this._decorators=[],n.each(f,n.proxy(function(n,t){var i=t.enabled.call(this._list);if(i){var r=t.decoratorType.call(this._list),u=t.decoratorSubType.call(this._list),f=this._createDecorator(r,u);this._decorators.push(f)}},this))},_createDecorator:function(n,t){var i=this._findDecorator(n,t);return new i(this._list)},_findDecorator:function(n,i){var r=u.dxList.EditDecoratorsRegistry[n][i];if(!r)throw t.Error("E1012",n,i);return r},modifyItemElement:function(t){var i=n(t.itemElement),r={$itemElement:i};this._prependBeforeBags(i,r),this._appendAfterBags(i,r),this._applyDecorators(c,r)},afterItemsRendered:function(){this._applyDecorators(l)},_prependBeforeBags:function(n,t){var i=this._collectDecoratorsMarkup(s,t,e);n.prepend(i)},_appendAfterBags:function(n,t){var i=this._collectDecoratorsMarkup(h,t,o);n.append(i)},_collectDecoratorsMarkup:function(t,i,r){var u=n("<div />");return n.each(this._decorators,function(){var f=n("<div />").addClass(r);this[t](n.extend({$container:f},i)),f.children().length&&u.append(f)}),u.children()},_applyDecorators:function(t,i){n.each(this._decorators,function(){this[t](i)})},_handlerExists:function(t){var r,u,i;if(!this._decorators)return!1;for(r=this._decorators,u=r.length,i=0;i<u;i++)if(r[i][t]!==n.noop)return!0;return!1},_eventHandler:function(n,t,i){var r;if(!this._decorators)return!1;var u=!1,f=this._decorators,e=f.length;for(r=0;r<e;r++)if(u=f[r][n](t,i),u)break;return u},handleClick:function(n,t){return this._eventHandler("handleClick",n,t)},contextMenuHandlerExists:function(){return this._handlerExists("handleContextMenu")},handleContextMenu:function(n,t){return this._eventHandler("handleContextMenu",n,t)}})}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f="dx-tileview",e="dx-tileview-wrapper",u="dx-tile",o="."+u,s="dxTileData";t.registerComponent("dxTileView",r,r.CollectionWidget.inherit({_activeStateUnit:o,_setDefaultOptions:function(){this.callBase(),this.option({items:null,showScrollbar:!1,height:500,baseItemWidth:100,baseItemHeight:100,itemMargin:20,activeStateEnabled:!0,indicateLoading:!0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_itemClass:function(){return u},_itemDataKey:function(){return s},_itemContainer:function(){return this._$container},_init:function(){this.callBase(),this._initScrollView()},_dataSourceLoadingChangedHandler:function(n){var t=this._scrollView;t&&(n&&this.option("indicateLoading")?t.startLoading():t.finishLoading())},_hideLoadingIfLoadIndicationOff:function(){this.option("indicateLoading")||this._dataSourceLoadingChangedHandler(!1)},_initScrollView:function(){this._scrollView=this._createComponent(this.element(),"dxScrollView",{direction:"horizontal",scrollByContent:!0,useKeyboard:!1,showScrollbar:this.option("showScrollbar"),disabled:this.option("disabled")}),this._$container=this._scrollView.content(),this._$container.addClass(e),this._scrollView.option("onUpdated",n.proxy(this._renderGeometry,this))},_render:function(){this.callBase(),this.element().addClass(f),this.cellsPerColumn=1,this._updateScrollView(),this._fireContentReadyAction()},_renderContent:function(){this._renderContentImpl()},_updateScrollView:function(){this._scrollView.option("rtlEnabled",this.option("rtlEnabled")),this._renderGeometry(),this._scrollView.update(),this._indicateLoadingIfAlreadyStarted()},_indicateLoadingIfAlreadyStarted:function(){this._isDataSourceLoading()&&this._dataSourceLoadingChangedHandler(!0)},_renderGeometry:function(){var t=this.option("items")||[],i=Math.max.apply(Math,n.map(t||[],function(n){return Math.round(n.heightRatio||1)}));this.cellsPerColumn=Math.floor(this.element().height()/(this.option("baseItemHeight")+this.option("itemMargin"))),this.cellsPerColumn=Math.max(this.cellsPerColumn,i),this.cells=[],this.cells.push(new Array(this.cellsPerColumn)),this._arrangeItems(t),this._$container.width(this.cells.length*this.option("baseItemWidth")+(this.cells.length+1)*this.option("itemMargin"))},_arrangeItems:function(t){var i=this;this._itemsPositions=[],n.each(t,function(n,t){var r={},u;r.widthRatio=t.widthRatio||1,r.heightRatio=t.heightRatio||1,r.index=n,r.widthRatio=r.widthRatio<=0?0:Math.round(r.widthRatio),r.heightRatio=r.heightRatio<=0?0:Math.round(r.heightRatio),u=i._getItemPosition(r),u.x===-1&&(u.x=i.cells.push(new Array(i.cellsPerColumn))-1),i._occupyCells(r,u),i._arrangeItem(r,u),i._itemsPositions.push(u)})},_getItemPosition:function(n){for(var r={x:-1,y:0},i,t=0;t<this.cells.length;t++){for(i=0;i<this.cellsPerColumn;i++)if(this._itemFit(t,i,n)){r.x=t,r.y=i;break}if(r.x>-1)break}return r},_itemFit:function(n,t,r){var e=!0,u,f;if(t+r.heightRatio>this.cellsPerColumn)return!1;for(u=n;u<n+r.widthRatio;u++)for(f=t;f<t+r.heightRatio;f++)if(this.cells.length-1<u)this.cells.push(new Array(this.cellsPerColumn));else if(this.cells[u][f]!==i){e=!1;break}return e},_occupyCells:function(n,t){for(var r,i=t.x;i<t.x+n.widthRatio;i++)for(r=t.y;r<t.y+n.heightRatio;r++)this.cells[i][r]=n.index},_arrangeItem:function(n,t){var f=this.option("baseItemHeight"),r=this.option("baseItemWidth"),i=this.option("itemMargin"),u,e=this.option("rtlEnabled")?this._$container.width():0,o=this._itemElements().eq(n.index);if(e){var s=t.x*r,h=r+i,c=h*n.widthRatio,l=t.x*i;u=e-(s+c+l)}else u=t.x*r+(t.x+1)*i;o.css({height:n.heightRatio*f+(n.heightRatio-1)*i,width:n.widthRatio*r+(n.widthRatio-1)*i,top:t.y*f+(t.y+1)*i,left:u,display:n.widthRatio<=0||n.heightRatio<=0?"none":""})},_moveFocus:function(n){var o="up",s="down",h=this.option("rtlEnabled")?"right":"left",c=this.option("rtlEnabled")?"left":"right",l="pageup",a="pagedown",r=this.cells,u=this.option("focusedElement").index(),t=this._itemsPositions[u].x,i=this._itemsPositions[u].y,e,f;switch(n){case l:case o:while(i>0&&u===r[t][i])i--;i<0&&(i=0);break;case a:case s:while(i<r[0].length&&u===r[t][i])i++;i===r[0].length&&(i=r[0].length-1);break;case c:while(t<r.length&&u===r[t][i])t++;t===r.length&&(t=r.length-1);break;case h:while(t>=0&&u===r[t][i])t--;t<0&&(t=0);break;default:this.callBase.apply(this,arguments);return}e=r[t][i],f=this._itemElements().eq(e),this.option("focusedElement",f),this._scrollToItem(f)},_scrollToItem:function(n){if(n.length){var t=n.position().left,r=n.outerWidth(),f=t+r,i=this._scrollView.scrollLeft(),u=this._scrollView.element().outerWidth();i<=t&&f<=i+u||(i>t?this._scrollView.scrollTo(t-this.option("itemMargin")):this._scrollView.scrollTo(t+r-u+this.option("itemMargin")))}},_optionChanged:function(n){switch(n.name){case"showScrollbar":this._initScrollView();break;case"disabled":this._scrollView.option("disabled",n.value);break;case"baseItemWidth":case"baseItemHeight":case"itemMargin":this._renderGeometry();break;case"height":this.callBase(n),this._renderGeometry(),this._scrollView.update();break;case"indicateLoading":this._hideLoadingIfLoadIndicationOff();break;default:this.callBase(n)}},scrollPosition:function(){return this._scrollView.scrollOffset().left}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,r=t.fx,f="dx-trackbar",e="dx-trackbar-container",o="dx-trackbar-range",s="dx-trackbar-wrapper";t.registerComponent("dxTrackBar",u,u.Editor.inherit({_setDefaultOptions:function(){this.callBase(),this.option({min:0,max:100,value:0})},_render:function(){this.element().addClass(f),this._renderWrapper(),this._renderContainer(),this._renderRange(),this.callBase(),this._renderValue()},_renderWrapper:function(){this._$wrapper=n("<div>").addClass(s).appendTo(this.element())},_renderContainer:function(){this._$bar=n("<div>").addClass(e).appendTo(this._$wrapper)},_renderRange:function(){this._$range=n("<div>").addClass(o).appendTo(this._$bar)},_renderValue:function(){var i=this.option("value"),n=this.option("min"),t=this.option("max"),r;if(!(n>t)){if(i<n){this.option("value",n),this._currentRatio=0;return}if(i>t){this.option("value",t),this._currentRatio=1;return}r=n===t?0:(i-n)/(t-n),this._animateRange({width:r*100+"%"}),this.setAria({valuemin:this.option("min"),valuemax:t,valuenow:i}),this._currentRatio=r}},_animateRange:function(t){r.stop(this._$range),this._needPreventAnimation||r.animate(this._$range,{type:"custom",duration:100,to:t,complete:n.proxy(this._rangeAnimationCompleteHandler,this)})},_rangeAnimationCompleteHandler:n.noop,_optionChanged:function(n){switch(n.name){case"value":this._renderValue(),this.callBase(n);break;case"max":case"min":this._renderValue();break;default:this.callBase(n)}},_dispose:function(){r.stop(this._$range),this.callBase()}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f="dx-progressbar",e="dx-progressbar-container",o="dx-progressbar-range-container",s="dx-progressbar-range",h="dx-progressbar-wrapper",c="dx-progressbar-status",l="dx-progressbar-animating-container",u="dx-progressbar-animating-segment";t.registerComponent("dxProgressBar",r,r.dxTrackBar.inherit({_setDefaultOptions:function(){this.callBase(),this.option({statusFormat:function(n){return"Progress: "+Math.round(n*100)+"%"},showStatus:!0,onComplete:null,activeStateEnabled:!1,statusPosition:"bottom left",_animatingSegmentCount:0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:[{platform:"win8"}],options:{_animatingSegmentCount:5}},{device:function(n){return n.platform==="android"},options:{_animatingSegmentCount:2}}])},_init:function(){this.callBase()},_render:function(){this._createCompleteAction(),this._renderStatus(),this.callBase(),this.element().addClass(f),this.setAria("role","progressbar"),this._$wrapper.addClass(h),this._$bar.addClass(e),n("<div>").addClass(o).appendTo(this._$wrapper).append(this._$bar),this._$range.addClass(s),this._toggleStatus(this.option("showStatus"))},_createCompleteAction:function(){this._completeAction=this._createActionByOption("onComplete")},_renderStatus:function(){this._$status=n("<div>").addClass(c)},_renderIndeterminateState:function(){var i,t;for(this._$segmentContainer=n("<div>").addClass(l),i=this.option("_animatingSegmentCount"),t=0;t<i;t++)n("<div>").addClass(u).addClass(u+"-"+(t+1)).appendTo(this._$segmentContainer);this._$segmentContainer.appendTo(this._$wrapper)},_toggleStatus:function(n){var t=this.option("statusPosition").split(" ");n?t[0]==="top"||t[0]==="left"?this._$status.prependTo(this._$wrapper):this._$status.appendTo(this._$wrapper):this._$status.detach(),this._togglePositionClass()},_togglePositionClass:function(){var i=this.option("statusPosition"),n=i.split(" "),t;this._$wrapper.removeClass("dx-position-top-left dx-position-top-right dx-position-bottom-left dx-position-bottom-right dx-position-left dx-position-right"),t="dx-position-"+n[0],n[1]&&(t+="-"+n[1]),this._$wrapper.addClass(t)},_toggleIndeterminateState:function(n){n?(this._renderIndeterminateState(),this._$bar.toggle(!1)):(this._$bar.toggle(!0),this._$segmentContainer.remove(),delete this._$segmentContainer)},_renderValue:function(){var n=this.option("value"),t=this.option("max");if(!n&&n!==0){this._toggleIndeterminateState(!0);return}this._$segmentContainer&&this._toggleIndeterminateState(!1),n===t&&this._completeAction(),this.callBase(),this._setStatus()},_setStatus:function(){var t=this.option("statusFormat"),i;t=n.isFunction(t)?n.proxy(t,this):function(n){return n},i=t(this._currentRatio,this.option("value")),this._$status.text(i)},_dispose:function(){this._$status.remove(),this.callBase()},_optionChanged:function(n){switch(n.name){case"statusFormat":this._setStatus();break;case"showStatus":this._toggleStatus(n.value);break;case"statusPosition":this._toggleStatus(this.option("showStatus"));break;case"onComplete":this._createCompleteAction();break;case"_animatingSegmentCount":break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=r.events,h=t.translator,e=t.support.transitionEndEventName,c="dx-slider",l="dx-slider-wrapper",a="dx-slider-handle",v=".dx-slider-handle",y="dx-slider-bar",p="dx-slider-range",w="dx-slider-range-visible",o="dx-slider-label",f="dx-slider-label-position-",s="dx-slider-tooltip-position-",b=r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({hoverStateEnabled:!1,value:50,tooltipEnabled:!1,tooltipFormat:function(n){return n},tooltipPosition:"top",tooltipShowMode:"onHover",tooltipFitIn:null})},_render:function(){this.callBase(),this.element().addClass(a),this._renderTooltip(),this.setAria({role:"slider",valuenow:this.option("value")})},_renderTooltip:function(){this.option("tooltipEnabled")?(this._$tooltip||(this._$tooltip=n("<div>").appendTo(this.element()),this._tooltip=this._createComponent(this._$tooltip,"dxTooltip",{visible:!0,height:i,target:this.element(),closeOnOutsideClick:!1,container:this.element(),closeOnBackButton:!1,closeOnTargetScroll:!1,animation:null,arrowPosition:null})),this._renderTooltipPosition(),this._renderTooltipShowMode(),this._renderValue()):this._removeTooltip()},_visibilityChanged:function(){this._dimensionChanged()},_dimensionChanged:function(){this._repaintTooltip()},_removeTooltip:function(){this._$tooltip&&(this._$tooltip.remove(),delete this._$tooltip,delete this._tooltip)},_renderTooltipPosition:function(){if(this._tooltip){var t=this.option("tooltipPosition");n.type(t)==="string"&&(t=t+"None"),this._tooltip.option("position",t)}},_repaintTooltip:function(){this._tooltip&&this._tooltip.repaint()},_renderValue:function(){if(this._tooltip){var n=this.option("tooltipFormat"),t=n(this.option("value"));this._tooltip.content().html(t),this._fitTooltipPosition()}},_renderTooltipShowMode:function(){this.element().toggleClass("dx-slider-tooltip-on-hover",/^onhover$/i.test(this.option("tooltipShowMode")))},_fitTooltipPosition:function(){if(this._$tooltip){var n=this._tooltip.content().parent(),o=n.outerWidth(),t=this.option("tooltipFitIn"),s=t.outerWidth(),i=t.offset().left,c=i+s,r=this.element(),u=r.outerWidth(),f=r.offset().left,l=f+u,e=Math.round(u/2-o/2),a=Math.ceil(i-f),v=Math.floor(c-l)+e*2,y=Math.min(Math.max(a,e),v);h.move(n,{left:y})}},_clean:function(){this.callBase(),delete this._$tooltip,delete this._tooltip},_optionChanged:function(n){switch(n.name){case"tooltipFormat":this._renderValue();break;case"value":this._renderValue(),this.setAria("valuenow",n.value);break;case"tooltipEnabled":this._renderTooltip();break;case"tooltipPosition":this._renderTooltipPosition();break;case"tooltipShowMode":this._renderTooltipShowMode();break;case"tooltipFitIn":this._fitTooltipPosition();break;case"_templates":case"templateProvider":break;default:this.callBase(n)}},fitTooltipPosition:function(){this._fitTooltipPosition()},repaint:function(){this._repaintTooltip(),this._renderTooltipPosition(),this._fitTooltipPosition()}});t.registerComponent("dxSlider",r,r.dxTrackBar.inherit({_activeStateUnit:v,_supportedKeys:function(){var i=this.option("rtlEnabled"),t=this,r=function(n){var r=t.option("value");n=t._valueStep(n),r=i?r-n:r+n,t.option("value",r)},u=function(n){var r=t.option("value");n=t._valueStep(n),r=i?r+n:r-n,t.option("value",r)};return n.extend(this.callBase(),{leftArrow:function(n){n.preventDefault(),n.stopPropagation(),u(this.option("step"))},rightArrow:function(n){n.preventDefault(),n.stopPropagation(),r(this.option("step"))},pageUp:function(n){n.preventDefault(),n.stopPropagation(),r(this.option("step")*this.option("keyStep"))},pageDown:function(n){n.preventDefault(),n.stopPropagation(),u(this.option("step")*this.option("keyStep"))},home:function(n){n.preventDefault(),n.stopPropagation();var t=this.option("min");this.option("value",t)},end:function(n){n.preventDefault(),n.stopPropagation();var t=this.option("max");this.option("value",t)}})},_setDefaultOptions:function(){this.callBase(),this.option({step:1,value:50,showRange:!0,tooltip:{enabled:!1,format:function(n){return n},position:"top",showMode:"onHover"},label:{visible:!1,position:"bottom",format:function(n){return n}},keyStep:1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0,hoverStateEnabled:!0}}])},_render:function(){this.element().addClass(c),this.callBase(),this._renderLabels(),this._renderStartHandler(),this._renderAriaMinAndMax()},_visibilityChanged:function(){this.repaint()},_renderWrapper:function(){this.callBase(),this._$wrapper.addClass(l),this._createComponent(this._$wrapper,"dxSwipeable",{elastic:!1,immediate:!0,onStart:n.proxy(this._swipeStartHandler,this),onUpdated:n.proxy(this._swipeUpdateHandler,this),onEnd:n.proxy(this._swipeEndHandler,this),itemSizeFunc:n.proxy(this._itemWidthFunc,this)})},_renderContainer:function(){this.callBase(),this._$bar.addClass(y);this._$bar.off(e+"."+this.NAME).on(e,n.proxy(this._fitHandleTooltipPosition,this))},_renderRange:function(){this.callBase(),this._$range.addClass(p),this._renderHandle(),this._renderRangeVisibility()},_renderRangeVisibility:function(){this._$range.toggleClass(w,Boolean(this.option("showRange")))},_renderHandle:function(){this._$handle=this._renderHandleImpl(this.option("value"),this._$handle)},_renderHandleImpl:function(t,i){var f=i||n("<div>").appendTo(this._$range),e=this._normalizeFormat(this.option("tooltip.format")),r=this.option("tooltip.enabled"),u=this.option("tooltip.position");return this.element().toggleClass(s+"bottom",r&&u==="bottom").toggleClass(s+"top",r&&u==="top"),this._createComponent(f,"dxSliderHandle",{value:t,tooltipEnabled:r,tooltipPosition:u,tooltipFormat:e,tooltipShowMode:this.option("tooltip.showMode"),tooltipFitIn:this.element()}),f},_renderAriaMinAndMax:function(){this.setAria({valuemin:this.option("min"),valuemax:this.option("max")},this._$handle)},_renderLabels:function(){if(this.element().removeClass(f+"bottom").removeClass(f+"top"),this.option("label.visible")){var i=this.option("min"),r=this.option("max"),u=this.option("label.position"),t=this._normalizeFormat(this.option("label.format"));this._$minLabel||(this._$minLabel=n("<div>").addClass(o).appendTo(this._$wrapper)),this._$minLabel.html(t(i)),this._$maxLabel||(this._$maxLabel=n("<div>").addClass(o).appendTo(this._$wrapper)),this._$maxLabel.html(t(r)),this.element().addClass(f+u)}else this._$minLabel&&(this._$minLabel.remove(),delete this._$minLabel),this._$maxLabel&&(this._$maxLabel.remove(),delete this._$maxLabel)},_normalizeFormat:function(t){var i=t;return i=typeof t=="string"?function(n){return Globalize.format(n,t)}:n.isFunction(t)?n.proxy(i,this):function(n){return n}},_renderDimensions:function(){if(this.callBase(),this._$bar){var n=this._$bar.outerWidth(!0)-this._$bar.outerWidth();this._$bar.width(this.option("width")-n)}},_renderStartHandler:function(){var t=u.addNamespace("dxpointerdown",this.NAME),i=u.addNamespace("dxclick",this.NAME),r=this._createAction(n.proxy(this._startHandler,this));this.element().off(t).on(t,function(n){u.isMouseEvent(n)&&r({jQueryEvent:n})}).off(i).on(i,n.proxy(function(n){var t=this._activeHandle();t&&t.focusin()&&t.focus(),r({jQueryEvent:n})},this))},_itemWidthFunc:function(){return this.element().width()/this._swipePixelRatio()},_swipeStartHandler:function(t){var e=this.option("rtlEnabled"),i,f;u.isTouchEvent(t.jQueryEvent)&&this._createAction(n.proxy(this._startHandler,this))({jQueryEvent:t.jQueryEvent}),this._feedbackDeferred=n.Deferred(),r.events.lockFeedback(this._feedbackDeferred),this._toggleActiveState(this._activeHandle(),!0),this._startOffset=this._currentRatio,i=this._startOffset*this._swipePixelRatio(),f=(1-this._startOffset)*this._swipePixelRatio(),t.jQueryEvent.maxLeftOffset=e?f:i,t.jQueryEvent.maxRightOffset=e?i:f,this._needPreventAnimation=!0},_swipeEndHandler:function(n){this._feedbackDeferred.resolve(),this._toggleActiveState(this._activeHandle(),!1);var t=this.option("rtlEnabled")?-1:1;delete this._needPreventAnimation,this._changeValueOnSwipe(this._startOffset+t*n.jQueryEvent.targetOffset/this._swipePixelRatio()),delete this._startOffset,this._renderValue()},_activeHandle:function(){return this._$handle},_swipeUpdateHandler:function(n){this._saveValueChangeEvent(n),this._updateHandlePosition(n)},_updateHandlePosition:function(n){var i=this.option("rtlEnabled")?-1:1,t=this._startOffset+i*n.jQueryEvent.offset/this._swipePixelRatio();this._$range.width(t*100+"%"),this._changeValueOnSwipe(t)},_swipePixelRatio:function(){var n=this.option("min"),t=this.option("max"),i=this._valueStep(this.option("step"));return(t-n)/i},_valueStep:function(n){return(!n||isNaN(n))&&(n=1),n=parseFloat(n.toFixed(5)),n===0&&(n=1e-5),n},_changeValueOnSwipe:function(n){var t=this.option("min"),u=this.option("max"),r=this._valueStep(this.option("step")),o=n*(u-t),i=t+o;if(!(r<0))if(i===u||i===t)this.option("value",i);else{var f=(r+"").split(".")[1],e=(t+"").split(".")[1],s=Math.max(f&&f.length||0,e&&e.length||0),h=Math.round((i-t)/r);i=Number((h*r+t).toFixed(s)),this.option("value",Math.max(Math.min(i,u),t))}},_startHandler:function(n){var t=n.jQueryEvent;this._currentRatio=(r.events.eventData(t).x-this._$bar.offset().left)/this._$bar.width(),this.option("rtlEnabled")&&(this._currentRatio=1-this._currentRatio),this._saveValueChangeEvent(t),this._changeValueOnSwipe(this._currentRatio)},_renderValue:function(){this.callBase(),this._activeHandle().dxSliderHandle("option","value",this.option("value"))},_rangeAnimationCompleteHandler:function(){this._fitHandleTooltipPosition()},_fitHandleTooltipPosition:function(){this._activeHandle()&&this._activeHandle().dxSliderHandle("fitTooltipPosition")},_repaintHandle:function(){this._$handle.dxSliderHandle("repaint")},_optionChanged:function(n){switch(n.name){case"visible":this.callBase(n),this._renderHandle(),this._repaintHandle(),t.utils.triggerShownEvent(this.element());break;case"min":case"max":this._renderLabels(),this._renderAriaMinAndMax(),this.callBase(n);break;case"step":this._renderValue();break;case"keyStep":break;case"showRange":this._renderRangeVisibility();break;case"tooltip":this._renderHandle();break;case"label":this._renderLabels();break;case"rtlEnabled":this._toggleRTLDirection(),this._renderValue();break;default:this.callBase(n)}},_refresh:function(){this._renderDimensions(),this._renderValue(),this._renderHandle(),this._repaintHandle()}})),t.registerComponent("dxSliderHandle",r.dxSlider,b)}(jQuery,DevExpress),function(n,t,i){var u=t.ui,e=t.utils,o=u.events,f="dx-rangeslider",r=f+"-start-handle",s=f+"-end-handle";t.registerComponent("dxRangeSlider",u,u.dxSlider.inherit({_supportedKeys:function(){var i=this.option("rtlEnabled"),t=this,u=function(n,i){t.option("start")===t.option("end")&&(t._capturedHandle=i,n.target=t._capturedHandle,t._capturedHandle.focus())},f=function(u,f,e){var h=n(u.target).hasClass(r),o=h?"start":"end",s=t.option(o);f=t._valueStep(f),s+=e*(i?-f:f),t.option(o,s)},e=function(n,r){u(n,i?t._$handleStart:t._$handleEnd),f(n,r,1)},o=function(n,r){u(n,i?t._$handleEnd:t._$handleStart),f(n,r,-1)};return n.extend(this.callBase(),{leftArrow:function(n){n.preventDefault(),n.stopPropagation(),o(n,this.option("step"))},rightArrow:function(n){n.preventDefault(),n.stopPropagation(),e(n,this.option("step"))},pageUp:function(n){n.preventDefault(),n.stopPropagation(),e(n,this.option("step")*this.option("keyStep"))},pageDown:function(n){n.preventDefault(),n.stopPropagation(),o(n,this.option("step")*this.option("keyStep"))},home:function(t){t.preventDefault(),t.stopPropagation();var i=n(t.target).hasClass(r),u=i?"start":"end",f=i?"min":"start",e=this.option(f);this.option(u,e)},end:function(t){t.preventDefault(),t.stopPropagation();var i=n(t.target).hasClass(r),u=i?"start":"end",f=i?"end":"max",e=this.option(f);this.option(u,e)}})},_setDefaultOptions:function(){this.callBase(),this.option({start:40,end:60})},_render:function(){this.callBase(),this.element().addClass(f)},_renderHandle:function(){this._$handleStart=this._renderHandleImpl(this.option("start"),this._$handleStart).addClass(r),this._$handleEnd=this._renderHandleImpl(this.option("end"),this._$handleEnd).addClass(s),this._updateHandleAriaLabels()},_startHandler:function(n){var i=n.jQueryEvent,t=this._$range,r=t.width(),u=o.eventData(i).x-this._$bar.offset().left,f=t.position().left,e=t.position().left+r,s=this.option("rtlEnabled"),h=(s?-1:1)*((f+e)/2-u)>0;this._capturedHandle=h?this._$handleStart:this._$handleEnd,this.callBase(n)},_updateHandleAriaLabels:function(){this.setAria("label",e.stringFormat(Globalize.localize("dxRangeSlider-ariaFrom"),this.option("start")),this._$handleStart),this.setAria("label",e.stringFormat(Globalize.localize("dxRangeSlider-ariaTill"),this.option("end")),this._$handleEnd)},_activeHandle:function(){return this._capturedHandle},_updateHandlePosition:function(n){var s=this.option("rtlEnabled"),h=s?-1:1,f=this.option("max"),r=this.option("min"),t=this._startOffset+h*n.jQueryEvent.offset/this._swipePixelRatio(),o,u,e,i;t=t.toPrecision(12),o=t*(f-r)+r,this._updateSelectedRangePosition(t,t),this._changeValueOnSwipe(t),u=this.option("start"),e=this.option("end"),u===e&&(i=o<u?this._$handleStart:this._$handleEnd,i.focus(),i&&i!==this._capturedHandle&&(this._updateSelectedRangePosition((u-r)/(f-r),(e-r)/(f-r)),this._toggleActiveState(this._activeHandle(),!1),this._toggleActiveState(i,!0),this._capturedHandle=i),this._updateSelectedRangePosition(t,t),this._changeValueOnSwipe(t))},_updateSelectedRangePosition:function(n,t){var i=this.option("rtlEnabled"),r=this._capturedHandle===this._$handleStart&&i||this._capturedHandle===this._$handleEnd&&!i,u=r?"right":"left";i^r?this._$range.css(u,100-t*100+"%"):this._$range.css(u,n*100+"%")},_changeValueOnSwipe:function(n){this._suppressValueChangeAction(),this.callBase(n),this._resumeValueChangeAction();var f=this._capturedHandle===this._$handleStart?"start":"end",t=this.option("start"),u=this.option("end"),r=this.option("value"),i=this.option("max"),e=this.option("min");t>i&&(t=i,this.option("start",i)),t<e&&(t=e,this.option("start",e)),u>i&&(u=i,this.option("end",i)),r>u&&f==="start"&&(r=u),r<t&&f==="end"&&(r=t),this.option(f,r)},_renderValue:function(){var i=this.option("start"),r=this.option("end"),n=this.option("min"),t=this.option("max"),u=this.option("rtlEnabled");i=Math.max(n,Math.min(i,t)),r=Math.max(i,Math.min(r,t)),this.option("start",i),this.option("end",r);var o=t===n?0:(i-n)/(t-n),s=t===n?0:(r-n)/(t-n),f=parseFloat((o*100).toPrecision(12))+"%",e=parseFloat(((1-s)*100).toPrecision(12))+"%";this._animateRange({right:u?f:e,left:u?e:f}),this._renderHandle()},_repaintHandle:function(){this._$handleStart.dxSliderHandle("repaint"),this._$handleEnd.dxSliderHandle("repaint")},_optionChanged:function(n){switch(n.name){case"start":case"end":this._renderValue(),this._createActionByOption("onValueChanged")({start:this.option("start"),end:this.option("end"),jQueryEvent:this._valueChangeEventInstance}),this._saveValueChangeEvent(i);break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,f=u.events,e=t.fx,o=t.translator,r="dx-gallery",b=r+"-wrapper",v="dx-gallery-loop",k=r+"-container",y=r+"-active",s=r+"-item",h=s+"-loop",d="."+s,c=s+"-selected",p=r+"-indicator",l=p+"-item",a="."+l,w=l+"-selected",g="dxGalleryItemData",nt=u.Widget.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{pageUp:n.noop,pageDown:n.noop})},_setDefaultOptions:function(){this.callBase(),this.option({direction:"next",onClick:null,hoverStateEnabled:!0,activeStateEnabled:!0})},_render:function(){this.callBase();var t=this,i=this.element(),n=f.addNamespace("dxclick",this.NAME);i.addClass(r+"-nav-button-"+this.option("direction")).off(n).on(n,function(n){t._createActionByOption("onClick")({jQueryEvent:n})})},_optionChanged:function(n){switch(n.name){case"onClick":case"direction":this._invalidate();break;default:this.callBase(n)}}});t.registerComponent("dxGallery",u,u.CollectionWidget.inherit({_activeStateUnit:d,_setDefaultOptions:function(){this.callBase(),this.option({activeStateEnabled:!1,animationDuration:400,animationEnabled:!0,loop:!1,swipeEnabled:!0,indicatorEnabled:!0,showIndicator:!0,selectedIndex:0,slideshowDelay:0,showNavButtons:!1,wrapAround:!1,initialItemWidth:i,stretchImages:!1,_itemAttributes:{role:"option"},loopItemFocus:!1,selectOnFocus:!0,selectionMode:"single",selectionRequired:!0,selectionByClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this.option("loopItemFocus",this.option("loop"))},_dataSourceOptions:function(){return{paginate:!1}},_itemContainer:function(){return this._$container},_itemClass:function(){return s},_itemDataKey:function(){return g},_itemWidth:function(){return this._itemWidthCache||(this._itemWidthCache=this.option("initialItemWidth")||this.element().outerWidth()),this._itemWidthCache},_actualItemWidth:function(){var n=this.option("wrapAround")?this._itemsPerPage()+1:this._itemsPerPage();return this.option("stretchImages")?this.element().outerWidth()/n:this.option("wrapAround")?this._itemWidth()*this._itemsPerPage()/(this._itemsPerPage()+1):this._itemWidth()},_itemsPerPage:function(){var n=Math.floor(this.element().outerWidth()/this._itemWidth())||1;return Math.min(n,this._itemsCount())},_pagesCount:function(){return Math.ceil(this._itemsCount()/this._itemsPerPage())},_clearItemWidthCache:function(){delete this._itemWidthCache},_itemsCount:function(){return(this.option("items")||[]).length},_offsetDirection:function(){return this.option("rtlEnabled")?-1:1},_render:function(){this.element().addClass(r),this.element().toggleClass(v,this.option("loop")),this._renderDragHandler(),this._renderWrapper(),this._renderItemsContainer(),this.callBase(),this._renderContainerPosition(),this._renderItemSizes(),this._renderItemPositions(),this._renderNavButtons(),this._renderIndicator(),this._renderSelectedItem(),this._renderUserInteraction(),this._setupSlideShow(),this._reviseDimensions(),this.setAria({role:"listbox",label:"gallery"})},_dimensionChanged:function(){var n=this.option("selectedIndex")||0;this._clearItemWidthCache(),this._renderDuplicateItems(),this._renderItemSizes(),this._renderItemPositions(),this._renderIndicator(),this._renderContainerPosition(this._calculateIndexOffset(n))},_renderDragHandler:function(){var n=f.addNamespace("dragstart",this.NAME);this.element().off(n).on(n,"img",function(){return!1})},_renderWrapper:function(){this._$wrapper||(this._$wrapper=n("<div />").addClass(b).appendTo(this.element()))},_renderItems:function(n){this.callBase(n),this._loadNextPageIfNeeded()},_renderItemsContainer:function(){this._$container||(this._$container=n("<div>").addClass(k).appendTo(this._$wrapper))},_renderDuplicateItems:function(){var r;if(this.option("loop")){var t=this.option("items")||[],i=t.length,u=i-1,n;if(i){for(this.element().find("."+h).remove(),r=Math.min(this._itemsPerPage(),i),n=0;n<r;n++)this._renderItem(0,t[n]).addClass(h);for(n=0;n<r;n++)this._renderItem(0,t[u-n]).addClass(h)}}},_renderItemSizes:function(t){var r=this._itemElements(),u=this._actualItemWidth();t!==i&&(r=r.slice(t)),r.each(function(t){n(r[t]).outerWidth(u)})},_renderItemPositions:function(){var u=this._actualItemWidth(),t=this._itemsCount(),i=this._itemsPerPage(),f=this.element().find("."+h).length,e=t+f-1,s=this._offsetDirection(),r=this.option("wrapAround")?.5:0,c=this._itemFreeSpace();this._itemElements().each(function(f){var h=f,l;f>t+i-1&&(h=e-h-i),l=s*u*(h+r)+c*(h+1-r),o.move(n(this),{left:l})}),this._relocateItems(this.option("selectedIndex"),this.option("selectedIndex"),!0)},_itemFreeSpace:function(){var n=this._itemsPerPage();return this.option("wrapAround")&&(n=n+1),(this.element().outerWidth()-this._actualItemWidth()*n)/(n+1)},_renderContainerPosition:function(i,r){i=i||0;var u=this,s=this._actualItemWidth(),h=i,e=this._offsetDirection()*h*(s+this._itemFreeSpace()),f;return t.utils.isDefined(this._animationOverride)&&(r=this._animationOverride,delete this._animationOverride),r?(u._startSwipe(),f=u._animate(e).done(n.proxy(u._endSwipe,u))):(o.move(this._$container,{left:e}),f=n.Deferred().resolveWith(u)),this._deferredAnimate&&f.done(function(){u._deferredAnimate.resolveWith(u)}),f.promise()},_startSwipe:function(){this.element().addClass(y)},_endSwipe:function(){this.element().removeClass(y)},_animate:function(t,i){var r=this,u=n.Deferred();return e.animate(this._$container,n.extend({type:"slide",to:{left:t},duration:r.option("animationDuration"),complete:function(){r._needMoveContainerForward()&&o.move(r._$container,{left:0}),r._needMoveContainerBack()&&o.move(r._$container,{left:r._maxContainerOffset()}),u.resolveWith(r)}},i||{})),u},_needMoveContainerForward:function(){return this._$container.position().left*this._offsetDirection()<=-this._maxItemWidth()*this._itemsCount()},_needMoveContainerBack:function(){return this._$container.position().left*this._offsetDirection()>=this._actualItemWidth()},_maxContainerOffset:function(){return-this._maxItemWidth()*(this._itemsCount()-this._itemsPerPage())*this._offsetDirection()},_maxItemWidth:function(){return this._actualItemWidth()+this._itemFreeSpace()},_reviseDimensions:function(){var n=this,t=n._itemElements().first().find(".dx-item-content");t&&!t.is(":hidden")&&(n.option("height")||n.option("height",t.outerHeight()),n.option("width")||n.option("width",t.outerWidth()),this._dimensionChanged())},_renderIndicator:function(){var i,t;if(this._cleanIndicators(),this.option("showIndicator")){for(i=this._$indicator=n("<div>").addClass(p).appendTo(this._$wrapper),t=0;t<this._pagesCount();t++)n("<div>").addClass(l).appendTo(i);this._renderSelectedPageIndicator()}},_cleanIndicators:function(){this._$indicator&&this._$indicator.remove()},_renderSelectedItem:function(){var n=this.option("selectedIndex");this._itemElements().removeClass(c).eq(n).addClass(c)},_renderSelectedPageIndicator:function(){if(this._$indicator){var t=this.option("selectedIndex"),i=this._pagesCount()-1,n=Math.ceil(t/this._itemsPerPage());n=Math.min(i,n),this._$indicator.find(a).removeClass(w).eq(n).addClass(w)}},_renderUserInteraction:function(){var t=this,i=t.element(),u=t.option("swipeEnabled")&&this._itemsCount()>1,r;this._createComponent(i,"dxSwipeable",{disabled:this.option("disabled")||!u,onStart:n.proxy(t._swipeStartHandler,t),onUpdated:n.proxy(t._swipeUpdateHandler,t),onEnd:n.proxy(t._swipeEndHandler,t),itemSizeFunc:n.proxy(t._actualItemWidth(),t)}),r=this._createAction(this._indicatorSelectHandler);i.off(f.addNamespace("dxclick",this.NAME),a).on(f.addNamespace("dxclick",this.NAME),a,function(n){r({jQueryEvent:n})})},_indicatorSelectHandler:function(t){var f=t.jQueryEvent,i=t.component,u,r;i.option("indicatorEnabled")&&(u=n(f.target).index(),r=i._fitPaginatedIndex(u*i._itemsPerPage()),i._needLongMove=!0,i.option("selectedIndex",r),i._loadNextPageIfNeeded(r))},_renderNavButtons:function(){var t=this;if(!t.option("showNavButtons")){t._cleanNavButtons();return}t._prevNavButton=n("<div>").appendTo(this._$wrapper),t._createComponent(t._prevNavButton,"dxGalleryNavButton",{direction:"prev",onClick:function(){t._prevPage()}}),t._nextNavButton=n("<div>").appendTo(this._$wrapper),t._createComponent(t._nextNavButton,"dxGalleryNavButton",{direction:"next",onClick:function(){t._nextPage()}}),this._renderNavButtonsVisibility()},_prevPage:function(){var n=this._itemsPerPage(),t=this.option("selectedIndex")-n;return t===-n&&n===this._itemsCount()?this._relocateItems(t,0):this.goToItem(this._fitPaginatedIndex(t))},_nextPage:function(){var n=this._itemsPerPage(),t=this.option("selectedIndex")+n;return t===n&&n===this._itemsCount()?this._relocateItems(t,0):this.goToItem(this._fitPaginatedIndex(t)).done(this._loadNextPageIfNeeded)},_loadNextPageIfNeeded:function(t){t=t===i?this.option("selectedIndex"):t,this._dataSource&&this._dataSource.paginate()&&this._shouldLoadNextPage(t)&&!this._isDataSourceLoading()&&!this._isLastPage()&&this._loadNextPage().done(n.proxy(function(){this._renderIndicator(),this._renderItemPositions(),this._renderNavButtonsVisibility(),this._renderItemSizes(t)},this))},_shouldLoadNextPage:function(n){var t=this._itemsPerPage();return n+2*t>this.option("items").length},_allowDinamicItemsAppend:function(){return!0},_fitPaginatedIndex:function(n){var t=this._itemsPerPage(),i=n<0?t+n:this._itemsCount()-n;return n>this._itemsCount()-1?(n=0,this._goToGhostItem=!0):i<t&&i>0&&(n=n>0?n-(t-i):n+(t-i)),n},_cleanNavButtons:function(){this._prevNavButton&&(this._prevNavButton.remove(),delete this._prevNavButton),this._nextNavButton&&(this._nextNavButton.remove(),delete this._nextNavButton)},_renderNavButtonsVisibility:function(){var n,r;if(this.option("showNavButtons")&&this._prevNavButton&&this._nextNavButton){var i=this.option("selectedIndex"),u=this.option("loop"),t=this._itemsCount();(this._prevNavButton.show(),this._nextNavButton.show(),u)||(n=i===t-this._itemsPerPage(),r=t<2||i===0,n=this._dataSource&&this._dataSource.paginate()?n&&this._isLastPage():n||t<2,r&&this._prevNavButton.hide(),n&&this._nextNavButton.hide())}},_setupSlideShow:function(){var n=this,t=n.option("slideshowDelay");(clearTimeout(n._slideshowTimer),t)&&(n._slideshowTimer=setTimeout(function(){if(n._userInteraction){n._setupSlideShow();return}n.nextItem(!0).done(n._setupSlideShow)},t))},_swipeStartHandler:function(n){var t=this._itemsCount();if(!t){n.jQueryEvent.cancel=!0;return}if(this._stopItemAnimations(),this._startSwipe(),this._userInteraction=!0,!this.option("loop")){var i=this.option("selectedIndex"),r=t-i-this._itemsPerPage(),u=i,f=this.option("rtlEnabled");n.jQueryEvent.maxLeftOffset=f?u:r,n.jQueryEvent.maxRightOffset=f?r:u}},_stopItemAnimations:function(){e.stop(this._$container,!0)},_swipeUpdateHandler:function(n){var i=this.option("wrapAround")?1:0,t=this._offsetDirection()*n.jQueryEvent.offset*(this._itemsPerPage()+i)-this.option("selectedIndex");t<0&&this._loadNextPageIfNeeded(Math.ceil(Math.abs(t))),this._renderContainerPosition(t)},_swipeEndHandler:function(n){var t=n.jQueryEvent.targetOffset*this._offsetDirection()*this._itemsPerPage(),i=this.option("selectedIndex"),r=this._fitIndex(i-t),u=this._fitPaginatedIndex(r);if(Math.abs(t)<this._itemsPerPage()){this._relocateItems(i);return}if(this._itemsPerPage()===this._itemsCount()){t>0?this._relocateItems(-t):this._relocateItems(0);return}this.option("selectedIndex",u)},_setFocusOnSelect:function(){this._userInteraction=!0;var n=this.itemElements().filter("."+c);this.option("focusedElement",n),this._userInteraction=!1},_flipIndex:function(n){var t=this._itemsCount();return n=n%t,n>(t+1)/2&&(n-=t),n<-(t-1)/2&&(n+=t),n},_fitIndex:function(n){if(!this.option("loop"))return n;var t=this._itemsCount();return(n>=t||n<0)&&(this._goToGhostItem=!0),n>=t&&(n=t-n),n=n%t,n<0&&(n+=t),n},_clean:function(){this.callBase(),this._cleanIndicators(),this._cleanNavButtons()},_dispose:function(){clearTimeout(this._slideshowTimer),this.callBase()},_updateSelection:function(n,t){this._stopItemAnimations(),this._renderNavButtonsVisibility(),this._renderSelectedItem(),this._relocateItems(n[0],t[0]),this._renderSelectedPageIndicator()},_relocateItems:function(n,t,r){t===i&&(t=n);var u=this._calculateIndexOffset(n,t);this._renderContainerPosition(u,this.option("animationEnabled")&&!r).done(function(){this._setFocusOnSelect(),this._userInteraction=!1,this._setupSlideShow()})},_focusInHandler:function(){e.isAnimating(this._$container)||this._userInteraction||this.callBase.apply(this,arguments)},_focusOutHandler:function(){e.isAnimating(this._$container)||this._userInteraction||this.callBase.apply(this,arguments)},_selectFocusedItem:n.noop,_moveFocus:function(){this._stopItemAnimations(),this.callBase.apply(this,arguments);var t=this.itemElements().index(this.option("focusedElement"));this.goToItem(t,this.option("animationEnabled"))},_visibilityChanged:function(n){n&&this._reviseDimensions()},_calculateIndexOffset:function(n,t){t===i&&(t=n);var r=t-n;return this.option("loop")&&!this._needLongMove&&this._goToGhostItem&&(this._isItemOnFirstPage(n)&&this._isItemOnLastPage(t)?r=-this._itemsPerPage():this._isItemOnLastPage(n)&&this._isItemOnFirstPage(t)&&(r=this._itemsPerPage()),this._goToGhostItem=!1),this._needLongMove=!1,r=r-t},_isItemOnLastPage:function(n){return n>=this._itemsCount()-this._itemsPerPage()},_isItemOnFirstPage:function(n){return n<=this._itemsPerPage()},_optionChanged:function(n){var t=n.value;switch(n.name){case"width":case"initialItemWidth":this.callBase.apply(this,arguments),this._dimensionChanged();break;case"animationDuration":this._renderNavButtonsVisibility();break;case"animationEnabled":break;case"loop":this.option("loopItemFocus",t),this.element().toggleClass(v,t),this._renderDuplicateItems(),this._renderItemPositions(),this._renderNavButtonsVisibility();return;case"showIndicator":this._renderIndicator();return;case"showNavButtons":this._renderNavButtons();return;case"slideshowDelay":this._setupSlideShow();return;case"wrapAround":case"stretchImages":this._renderItemSizes(),this._renderItemPositions();break;case"swipeEnabled":case"indicatorEnabled":this._renderUserInteraction();return;default:this.callBase(n)}},goToItem:function(t,r){var u=this.option("selectedIndex"),f=this._itemsCount();return(r!==i&&(this._animationOverride=r),t=this._fitIndex(t),this._deferredAnimate=n.Deferred(),t>f-1||t<0||u===t)?this._deferredAnimate.resolveWith(this).promise():(this.option("selectedIndex",t),this._deferredAnimate.promise())},prevItem:function(n){return this.goToItem(this.option("selectedIndex")-1,n)},nextItem:function(n){return this.goToItem(this.option("selectedIndex")+1,n)}})),t.registerComponent("dxGalleryNavButton",u.dxGallery,nt)}(jQuery,DevExpress),function(n,t,i){var e=t.ui,f=t.utils,r=e.events,s=t.fx,u=t.translator,v="dx-overlay",y="dx-overlay-wrapper",p="dx-overlay-content",w="dx-overlay-shader",b="dx-overlay-modal",k="content",d="dx-rtl",h=["onShowing","onShown","onHiding","onHidden","onPositioning","onPositioned"],c=1e3,g=[],nt="dx-state-disabled",tt=9,o=t.devices.real(),l=o.version,it=o.platform==="ios"&&t.compareVersions(l,[7,1])<0,rt=o.platform==="android"&&t.compareVersions(l,[4,0],2)===0&&navigator.userAgent.indexOf("Chrome")===-1,ut=function(n){if(it&&n.width(),rt){var t=n.parents(),i=t.is(".dx-scrollable-native");i||(t.css("backface-visibility","hidden"),t.css("backface-visibility"),t.css("backface-visibility","visible"))}},a=function(t){return t&&n(t instanceof n.Event?t.target:t)};t.registerComponent("dxOverlay",e,e.Widget.inherit({_supportedKeys:function(){var t=5,i=function(n,t,i){if(this.option("dragEnabled")){i.preventDefault(),i.stopPropagation();var r={top:n,left:t};this._changePosition(r)}};return n.extend(this.callBase(),{escape:function(){this.hide()},downArrow:n.proxy(i,this,t,0),upArrow:n.proxy(i,this,-t,0),leftArrow:n.proxy(i,this,0,-t),rightArrow:n.proxy(i,this,0,t)})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{shownAction:{since:"14.2",alias:"onShown"},showingAction:{since:"14.2",alias:"onShowing"},hidingAction:{since:"14.2",alias:"onHiding"},hiddenAction:{since:"14.2",alias:"onHidden"}})},_setDefaultOptions:function(){this.callBase(),this.option({activeStateEnabled:!1,visible:!1,deferRendering:!0,shading:!0,shadingColor:"",position:{my:"center",at:"center"},width:function(){return n(window).width()*.8},height:function(){return n(window).height()*.8},animation:{show:{type:"pop",duration:400},hide:{type:"pop",duration:400,to:{opacity:0,scale:0},from:{opacity:1,scale:1}}},closeOnOutsideClick:!1,closeOnBackButton:!0,onShowing:null,onShown:null,onHiding:null,onHidden:null,contentTemplate:"content",dragEnabled:!1,resizeEnabled:!1,target:i,container:i,hideTopOverlayHandler:i,closeOnTargetScroll:!1,onPositioning:null,onPositioned:null,boundaryOffset:{h:0,v:0}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var i=t.devices.real(),r=i.platform,u=i.version;return r==="android"&&t.compareVersions(u,[4,2])<0},options:{animation:{show:{type:"fade",duration:400},hide:{type:"fade",duration:400,to:{opacity:0},from:{opacity:1}}}}}])},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{animation:!0})},_getAnonimousTemplateName:function(){return k},_wrapper:function(){return this._$wrapper},_container:function(){return this._$content},_init:function(){this.callBase(),this._initActions(),this._initCloseOnOutsideClickHandler(),this._$wrapper=n("<div>").addClass(y),this._$content=n("<div>").addClass(p);var t=this.element();this._$wrapper.addClass(t.attr("class")),t.addClass(v),this._$wrapper.attr("data-bind","dxControlsDescendantBindings: true");this._$wrapper.on("MSPointerDown",n.noop);this._toggleViewPortSubscriptiion(!0)},_initOptions:function(n){this._initTarget(n.target),this._initContainer(n.container),this._initHideTopOverlayHandler(n.hideTopOverlayHandler),this.callBase(n)},_initTarget:function(t){if(f.isDefined(t)){var i=this.option();n.each(["position.of","animation.show.from.position.of","animation.show.to.position.of","animation.hide.from.position.of","animation.hide.to.position.of"],function(r,u){for(var e=u.split("."),f=i;f;)if(e.length===1){n.isPlainObject(f)&&(f[e.shift()]=t);break}else f=f[e.shift()]})}},_initContainer:function(r){r=r===i?t.viewPort():r;var f=this.element(),u=f.closest(r);u.length||(u=n(r).first()),this._$container=u.length?u:f.parent()},_initHideTopOverlayHandler:function(t){this._hideTopOverlayHandler=t!==i?t:n.proxy(this._defaultHideTopOverlayHandler,this)},_defaultHideTopOverlayHandler:function(){this.hide()},_initActions:function(){this._actions={},n.each(h,n.proxy(function(t,i){this._actions[i]=this._createActionByOption(i)||n.noop},this))},_initCloseOnOutsideClickHandler:function(){this._proxiedDocumentDownHandler=n.proxy(function(){this._documentDownHandler.apply(this,arguments)},this)},_documentDownHandler:function(t){var i,r,u;this._isTopOverlay()&&(i=this.option("closeOnOutsideClick"),n.isFunction(i)&&(i=i(t)),i&&(r=this._$content,u=!r.is(t.target)&&!n.contains(r.get(0),t.target),u&&(this.option("shading")&&t.preventDefault(),this.hide())))},_isTopOverlay:function(){var n=this._zIndexStack();return n[n.length-1]===this._zIndex},_zIndexStack:function(){return g},_zIndexInitValue:function(){return c},_toggleViewPortSubscriptiion:function(i){t.viewPortChanged.remove(this._viewPortChangeHandle),i&&(this._viewPortChangeHandle=n.proxy(this._viewPortChangeHandler,this),t.viewPortChanged.add(this._viewPortChangeHandle))},_viewPortChangeHandler:function(){this._initContainer(this.option("container")),this._refresh()},_renderVisibilityAnimate:function(){var n=this.option("visible");return this._stopAnimation(),n?this._show():this._hide()},_normalizePosition:function(){this._position=this.option("position")},_show:function(){if(this._isParentHidden())return n.Deferred().resolve();this._normalizePosition();var t=this,i=n.Deferred(),u=t.option("animation")||{},r=this._normalizeAnimation(u.show,"to"),f=r&&r.complete||n.noop;return this._isHidingActionCancelled?(delete this._isHidingActionCancelled,i.resolve()):(this._toggleVisibility(!0),this._animate(r,function(){t.option("focusStateEnabled")&&t._focusTarget().focus(),f.apply(this,arguments),t._actions.onShown(),i.resolve()})),i.promise()},_normalizeAnimation:function(t,i){return t&&t[i]&&(t=n.extend({type:"slide"},t),n.extend(t[i],{position:this._position})),t},_hide:function(){var r=this,t=n.Deferred(),f=this.option("animation")||{},i=this._normalizeAnimation(f.hide,"from"),e=i&&i.complete||n.noop,u={cancel:!1};this._actions.onHiding(u);return u.cancel?(this._isHidingActionCancelled=!0,this.option("visible",!0),t.resolve()):(this._toggleShading(!1),this._animate(i,function(){r._toggleVisibility(!1),e.apply(this,arguments),r._actions.onHidden(),t.resolve()})),t.promise()},_animate:function(t,i){if(t){var u=t.start||n.noop,r=this._$content;s.animate(this._$content,n.extend({},t,{start:function(){r.css("pointer-events","none"),u.apply(this,arguments)},complete:function(){r.css("pointer-events",""),i.apply(this,arguments)}}))}else i()},_stopAnimation:function(){s.stop(this._$content,!0)},_toggleVisibility:function(n){n&&this._isParentHidden()||(this._stopAnimation(),n||f.triggerHidingEvent(this._$content),this.callBase.apply(this,arguments),this._$content.toggle(n),this._updateZIndexStackPosition(n),n?(this._renderContent(),this._actions.onShowing(),this._moveToContainer(),this._renderGeometry(),f.triggerShownEvent(this._$content)):this._moveFromContainer(),this._toggleShading(n),this._toggleSubscriptions(n))},_updateZIndexStackPosition:function(t){var i=this._zIndexStack(),r,u;t?(this._zIndex||(r=i.length,this._zIndex=(r?i[r-1]:this._zIndexInitValue())+1,i.push(this._zIndex)),this._$wrapper.css("z-index",this._zIndex),this._$content.css("z-index",this._zIndex)):this._zIndex&&(u=n.inArray(this._zIndex,i),i.splice(u,1),delete this._zIndex)},_toggleShading:function(n){this._$wrapper.toggleClass(b,this.option("shading")&&!this.option("container")),this._$wrapper.toggleClass(w,n&&this.option("shading")),this._$wrapper.css("background-color",this.option("shading")?this.option("shadingColor"):""),this._toggleTabTerminator(n&&this.option("shading"))},_toggleTabTerminator:function(t){var i=r.addNamespace("keydown",this.NAME);if(t)n(document).on(i,n.proxy(this._tabKeyHandler,this));else n(document).off(i)},_tabKeyHandler:function(t){if(t.keyCode===tt){var i=this._$wrapper.find(":dx-tabbable"),r=i.first(),u=i.last(),f=!t.shiftKey&&t.target===u.get(0),e=t.shiftKey&&t.target===r.get(0),o=i.length===0,s=n.inArray(t.target,i)===-1;(f||e||o||s)&&(t.preventDefault(),(t.shiftKey?u:r).focusin().focus())}},_toggleSubscriptions:function(n){this._toggleHideTopOverlayCallback(n),this._toggleDocumentDownHandler(n),this._toggleParentsScrollSubscription(n)},_toggleHideTopOverlayCallback:function(n){this._hideTopOverlayHandler&&(n&&this.option("closeOnBackButton")?t.hideTopOverlayCallback.add(this._hideTopOverlayHandler):t.hideTopOverlayCallback.remove(this._hideTopOverlayHandler))},_toggleDocumentDownHandler:function(t){var i=r.addNamespace("dxpointerdown",this.NAME);if(t)n(document).on(i,this._proxiedDocumentDownHandler);else n(document).off(i,this._proxiedDocumentDownHandler)},_toggleParentsScrollSubscription:function(i){if(this._position){var u=this,o=u._position.of||n(),e=this.option("closeOnTargetScroll"),f=a(o).parents();if(t.devices.real().platform==="generic"&&(f=f.add(window)),n().add(this._$prevTargetParents).off(r.addNamespace("scroll dxscroll",u.NAME)),i&&e){f.on(r.addNamespace("scroll dxscroll",u.NAME),function(t){if(!t.overlayProcessed){t.overlayProcessed=!0;var i=!1;n.isFunction(e)&&(i=e(t)),i||u.hide()}});this._$prevTargetParents=f}}},_renderContent:function(){var n=!this.option("visible")&&this.option("deferRendering"),t=this.option("visible")&&this._isParentHidden();this._contentAlreadyRendered||n||t||(this._contentAlreadyRendered=!0,this.callBase())},_isParentHidden:function(){var t=this.element().parent(),i;return t.is(":visible")?!1:(i=!1,t.add(t.parents()).each(function(){var t=n(this);if(t.css("display")==="none")return i=!0,!1}),i||!n.contains(document,t.get(0)))},_renderContentImpl:function(){var t=this.element(),n;this._$content.appendTo(t),n=this._getTemplate(this.option("contentTemplate")),n&&n.render(this.content()),this._renderDrag(),this._renderResize(),this._renderScrollTerminator()},_renderDrag:function(){var t=this._getDragTarget(),i,u;if(t&&(i=r.addNamespace("dxdragstart",this.NAME),u=r.addNamespace("dxdrag",this.NAME),t.off(i).off(u),this.option("dragEnabled")))t.on(i,n.proxy(this._dragStartHandler,this)).on(u,n.proxy(this._dragUpdateHandler,this))},_renderResize:function(){this._createComponent(this._$content,"dxResizable",{handles:this.option("resizeEnabled")?"all":"none",onResizeEnd:n.proxy(this._resizeEndHandler,this),minHeight:100,minWidth:100,area:this._$container})},_resizeEndHandler:function(){this._geometryChangeHandled=!0},_renderScrollTerminator:function(){var i=this._wrapper(),t=r.addNamespace("dxscroll",this.NAME);i.off(t).on(t,{validate:function(){return!0},getDirection:function(){return"both"},_togglePointerAddons:n.noop,_clearSelection:n.noop,isNative:!0},function(n){n.originalEvent.originalEvent.type!=="mousemove"&&n.preventDefault()})},_getDragTarget:function(){return this.content()},_dragStartHandler:function(n){n.targetElements=[],this._prevOffset={x:0,y:0};var i=u.locate(this._$content),r=this._allowedOffsets(),f=this._deltaSize(),t=f.height>=0&&f.width>=0;this._geometryChangeHandled=t,n.maxLeftOffset=t?i.left+r.left:0,n.maxRightOffset=t?-i.left+r.right:0,n.maxTopOffset=t?i.top+r.top:0,n.maxBottomOffset=t?-i.top+r.bottom:0},_deltaSize:function(){var n=this._$content,t=this._$container,i=n.outerWidth(),r=n.outerHeight(),u=t.width(),f=t.height();return{width:u-i,height:f-r}},_dragUpdateHandler:function(n){var t=n.offset,i=this._prevOffset,r={top:t.y-i.y,left:t.x-i.x};this._changePosition(r),this._prevOffset=t},_changePosition:function(n){var t=u.locate(this._$content);u.move(this._$content,{left:t.left+n.left,top:t.top+n.top})},_allowedOffsets:function(){var t=this._deltaSize(),n=this.option("boundaryOffset");return{top:n.v,bottom:t.height-n.v,left:n.h,right:t.width-n.h}},_fireContentReadyAction:function(){this.option("visible")&&this._moveToContainer(),this.callBase.apply(this,arguments)},_moveFromContainer:function(){this._$content.appendTo(this.element()),this._detachWrapperToContainer()},_detachWrapperToContainer:function(){this._$wrapper.detach()},_moveToContainer:function(){this._attachWrapperToContainer(),this._$content.appendTo(this._$wrapper)},_attachWrapperToContainer:function(){var n=this.element();this._$container&&this._$container[0]!==n.parent()[0]?this._$wrapper.appendTo(this._$container):this._$wrapper.appendTo(n)},_renderGeometry:function(){this.option("visible")&&this._renderGeometryImpl()},_renderGeometryImpl:function(){this._stopAnimation(),this._normalizePosition(),this._renderShading(),this._renderDimensions(),this._renderPosition()},_renderShading:function(){var n=this._$wrapper,t=this._getContainer();n.css("position",this._isWindow(t)?"fixed":"absolute"),this.option("shading")&&n.show(),this._renderShadingDimensions(),this._renderShadingPosition()},_renderShadingPosition:function(){if(this.option("shading")){var n=this._getContainer();t.position(this._$wrapper,{my:"top left",at:"top left",of:n})}},_renderShadingDimensions:function(){if(this.option("shading")){var n=this._getContainer(),t=this._isWindow(n)?"100%":n.outerWidth(),i=this._isWindow(n)?"100%":n.outerHeight();this._$wrapper.css({width:t,height:i})}},_isWindow:function(t){return!!t&&n.isWindow(t.get(0))},_getContainer:function(){var n=this._position,t=this.option("container"),i=n?n.of||window:null;return a(t||i)},_renderDimensions:function(){if(this._geometryChangeHandled){var n=this._$content,t=this._$container;n.outerWidth(Math.min(n.outerWidth(),t.width())).outerHeight(Math.min(n.outerHeight(),t.height()))}else this._$content.outerWidth(this.option("width")).outerHeight(this.option("height"))},_renderPosition:function(){var n,r,i,e,o;if(this._geometryChangeHandled)e=this._$content,n=u.locate(e),i=this._allowedOffsets(),u.move(e,{top:f.fitIntoRange(n.top,-i.top,i.bottom),left:f.fitIntoRange(n.left,-i.left,i.right)});else{u.resetPosition(this._$content),this._renderOverlayBoundaryOffset(),n=this._position,r=t.calculatePosition(this._$content,n);this._actions.onPositioning({position:r});o=t.position(this._$content,r);this._actions.onPositioned({position:o});ut(this._$content)}},_renderOverlayBoundaryOffset:function(){var n=this.option("boundaryOffset");this._$content.css("margin",n.v+"px "+n.h+"px")},_focusTarget:function(){return this._$content},_attachKeyboardEvents:function(){this._keyboardProcessor=new e.KeyboardProcessor({element:this._$content,handler:this._keyboardHandler,context:this})},_keyboardHandler:function(t){var i=t.originalEvent,r=n(i.target);r.is(this._$content)&&this.callBase.apply(this,arguments)},_visibilityChanged:function(n){n?(this.option("visible")&&this._$content.is(":hidden")&&this._show(),this._dimensionChanged()):this._$content.is(":visible")&&this._hide()},_dimensionChanged:function(){this._renderGeometry()},_clean:function(){this._cleanFocusState()},_dispose:function(){this._stopAnimation(),this._toggleViewPortSubscriptiion(!1),this._toggleSubscriptions(!1),this._updateZIndexStackPosition(!1),this._actions=null,this.callBase(),this._$wrapper.remove(),this._$content.remove()},_toggleDisabledState:function(n){this.callBase.apply(this,arguments),this._$content.toggleClass(nt,n)},_toggleRTLDirection:function(n){this._$content.toggleClass(d,n)},_optionChanged:function(t){var i=t.value;if(n.inArray(t.name,h)>-1){this._initActions();return}switch(t.name){case"dragEnabled":this._renderDrag();break;case"resizeEnabled":this._renderResize();break;case"resizeEnabled":this._invalidate();break;case"shading":case"shadingColor":this._toggleShading(this.option("visible"));break;case"width":case"height":case"position":case"boundaryOffset":this._renderGeometry();break;case"visible":delete this._geometryChangeHandled,this._renderVisibilityAnimate().done(n.proxy(function(){this._animateDeferred&&this._animateDeferred.resolveWith(this)},this));break;case"target":this._initTarget(i),this._invalidate();break;case"container":this._initContainer(i),this._invalidate();break;case"deferRendering":case"contentTemplate":this._invalidate();break;case"closeOnBackButton":this._toggleHideTopOverlayCallback(this.option("visible"));break;case"closeOnOutsideClick":this._toggleDocumentDownHandler(this.option("visible"));break;case"closeOnTargetScroll":this._toggleParentsScrollSubscription(this.option("visible"));break;case"animation":break;default:this.callBase(t)}},toggle:function(t){if(t=t===i?!this.option("visible"):t,t===this.option("visible"))return n.Deferred().resolve().promise();var r=n.Deferred();return this._animateDeferred=r,this.option("visible",t),r.promise().done(n.proxy(function(){delete this._animateDeferred},this))},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)},content:function(){return this._$content},repaint:function(){this._renderGeometry()}})),DevExpress.ui.dxOverlay.baseZIndex=function(n){c=n}}(jQuery,DevExpress),function(n,t){var f=t.ui,e="dx-toast",r=e+"-",o=r+"wrapper",s=r+"content",h=r+"message",c=r+"icon",l="dxToast",a=["info","warning","error","success"],v=[],y=8e3,u=null,p={top:{my:"top",at:"top",of:window,offset:"0 0"},bottom:{my:"bottom",at:"bottom",of:window,offset:"0 -20"},center:{my:"center",at:"center",of:window,offset:"0 0"},right:{my:"center right",at:"center right",of:window,offset:"0 0"},left:{my:"center left",at:"center left",of:window,offset:"0 0"}};t.registerComponent(l,f,f.dxOverlay.inherit({_setDefaultOptions:function(){this.callBase(),this.option({message:"",type:"info",displayTime:2e3,position:"bottom center",animation:{show:{type:"fade",duration:400,from:0,to:1},hide:{type:"fade",duration:400,to:0}},shading:!1,height:"auto",closeOnBackButton:!1,resizeEnabled:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"win8"},options:{position:"top center",width:function(){return n(window).width()}}},{device:function(n){return n.platform==="android"},options:{closeOnOutsideClick:!0,width:"auto",position:{at:"bottom left",my:"bottom left",offset:"20 -20"}}},{device:function(n){return n.deviceType==="phone"&&n.platform==="android"},options:{width:function(){return n(window).width()},position:{at:"bottom center",my:"bottom center",offset:"0 0"}}}])},_init:function(){this.callBase(),this._posStringToObject()},_renderContentImpl:function(){this.option("message")&&(this._message=n("<div>").addClass(h).text(this.option("message")).appendTo(this.content())),this.setAria("role","alert",this._message),n.inArray(this.option("type").toLowerCase(),a)>-1&&this.content().prepend(n("<div>").addClass(c)),this.callBase()},_render:function(){this.callBase(),this.element().addClass(e),this._wrapper().addClass(o),this._$content.addClass(r+String(this.option("type")).toLowerCase()),this.content().addClass(s);this._$content.off("dxswipe").on("dxswipe",n.proxy(this.hide,this))},_posStringToObject:function(){if(t.utils.isString(this.option("position"))){var r=this.option("position").split(" ")[0],i=this.option("position").split(" ")[1];this.option("position",n.extend({},p[r]));switch(i){case"center":case"left":case"right":this.option("position").at+=" "+i,this.option("position").my+=" "+i}}},_show:function(){return u&&(clearTimeout(u._hideTimeout),u.hide()),u=this,this.callBase.apply(this,arguments).done(n.proxy(function(){clearTimeout(this._hideTimeout),this._hideTimeout=setTimeout(n.proxy(this.hide,this),this.option("displayTime"))},this))},_hide:function(){return u=null,this.callBase.apply(this,arguments)},_zIndexStack:function(){return v},_zIndexInitValue:function(){return this.callBase()+y},_dispose:function(){clearTimeout(this._hideTimeout),u=null,this.callBase()},_optionChanged:function(n){switch(n.name){case"type":this._$content.removeClass(r+n.previousValue),this._$content.addClass(r+String(n.value).toLowerCase());break;case"message":this._message&&this._message.text(n.value);break;case"displayTime":case"position":break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,h=t.translator,r="dx-popup",c="dx-popup-wrapper",f="dx-popup-fullscreen",l="dx-popup-fullscreen-width",a="dx-popup-normal",v="dx-popup-content",y="dx-popup-draggable",e="dx-popup-title",p="dx-closebutton",o="dx-popup-bottom",w="dx-template-wrapper",s=["cancel","clear","done"],b=function(n){var u=t.devices.current(),r=u.platform,f="bottom",i="before";if(r==="ios")switch(n){case"cancel":f="top";break;case"clear":f="top",i="after";break;case"done":i="after"}else if(r==="win8")i="after";else if(r==="android"&&u.version&&parseInt(u.version[0])>4)switch(n){case"cancel":i="after";break;case"done":i="after"}else r==="android"&&(i="center");return{toolbar:f,location:i}};t.registerComponent("dxPopup",u,u.dxOverlay.inherit({_setDefaultOptions:function(){this.callBase(),this.option({fullScreen:!1,title:"",showTitle:!0,titleTemplate:"title",onTitleRendered:null,dragEnabled:!1,buttons:[],showCloseButton:!1,bottomTemplate:"bottom"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"win8"},options:{width:function(){return n(window).width()}}},{device:{platform:"win8",phone:!0},options:{position:{my:"top center",at:"top center",offset:"0 0"}}},{device:{platform:"ios"},options:{animation:this._iosAnimation}},{device:{platform:"generic"},options:{showCloseButton:!0}},{device:function(n){return t.devices.real().platform==="generic"&&n.platform==="generic"},options:{dragEnabled:!0}},{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_iosAnimation:{show:{type:"slide",duration:400,from:{position:{my:"top",at:"bottom"}},to:{position:{my:"center",at:"center"}}},hide:{type:"slide",duration:400,from:{opacity:1,position:{my:"center",at:"center"}},to:{opacity:1,position:{my:"top",at:"bottom"}}}},_init:function(){this.callBase(),this.element().addClass(r),this._wrapper().addClass(c),this._$popupContent=this._$content.wrapInner(n("<div>").addClass(v)).children().eq(0)},_render:function(){var n=this.option("fullScreen");this._$content.toggleClass(y,this.option("dragEnabled")).toggleClass(f,n).toggleClass(a,!n),this.callBase()},_renderContentImpl:function(){this.callBase(),this._renderTitle(),this._renderBottom()},_renderTitle:function(){var i=this._getToolbarItems("top"),r=this.option("title"),u=this.option("showTitle"),f;u&&!!r&&i.unshift({location:t.devices.current().ios?"center":"before",text:r}),u||i.length>0?(this._$title&&this._$title.remove(),f=n("<div>").addClass(e).prependTo(this._$content),this._$title=this._renderTemplateByType("titleTemplate",i,f).addClass(e),this._renderDrag(),this._executeTitleRenderAction(this._$title)):this._$title&&this._$title.detach()},_renderTemplateByType:function(n,t,i){var u=this._getTemplateByOption(n),f=u.owner()===this.option("templateProvider"),r;return f?(r=u.render(t,i),i.replaceWith(r),r):(r=u.render(i),r.hasClass(w)&&(i.replaceWith(r),i=r),i)},_executeTitleRenderAction:function(n){this._getTitleRenderAction()({titleElement:n})},_getTitleRenderAction:function(){return this._titleRenderAction||this._createTitleRenderAction()},_createTitleRenderAction:function(){return this._titleRenderAction=this._createActionByOption("onTitleRendered",{element:this.element(),excludeValidators:["designMode","disabled","readOnly"]})},_getCloseButton:function(){return{toolbar:"top",location:"after",template:this._getCloseButtonRenderer()}},_getCloseButtonRenderer:function(){return n.proxy(function(t,r,u){var f=n("<div>").addClass(p);this._createComponent(f,"dxButton",{icon:"close",onClick:this._createButtonAction(i),_templates:{}}),u.append(f)},this)},_getToolbarItems:function(i){var e=this.option("buttons"),r=[],u,f;return this._buttonsClasses=[],u=t.devices.current().platform,f=0,n.each(e,n.proxy(function(e,o){var h=t.utils.isDefined(o.shortcut),s=h?b(o.shortcut):o,c;h&&u==="ios"&&f<2&&(s.toolbar="top",f++),n.extend(s,t.utils.isDefined(o.toolbar)?{toolbar:o.toolbar}:{}),s&&s.toolbar===i&&(h&&n.extend(s,{location:o.location},this._getButtonByAlias(o)),c=u==="win8"||u==="generic",o.shortcut==="done"&&c||o.shortcut==="cancel"&&!c?r.unshift(s):r.push(s))},this)),i==="top"&&this.option("showCloseButton")&&r.push(this._getCloseButton()),r},_getButtonByAlias:function(i){var u=i.shortcut,o,f,e;return n.inArray(u,s)<0?!1:(o=n.extend({text:Globalize.localize(t.inflector.camelize(u,!0)),onClick:this._createButtonAction(i.onClick),_templates:{}},i.options||{}),f=r+"-"+u,this._buttonsClasses.push(f),e=n("<div>").addClass(f),this._createComponent(e,"dxButton",o),{template:function(n,t,i){i.append(e)}})},_createButtonAction:function(n){return this._createAction(n,{afterExecute:function(n){n.component.hide()}})},_renderBottom:function(){var t=this._getToolbarItems("bottom"),i;t.length?(this._$bottom&&this._$bottom.remove(),i=n("<div>").addClass(o).appendTo(this._$content),this._$bottom=this._renderTemplateByType("bottomTemplate",t,i).addClass(o),this._toggleClasses()):this._$bottom&&this._$bottom.detach()},_toggleClasses:function(){var t=s;n.each(t,n.proxy(function(t,i){var u=r+"-"+i;n.inArray(u,this._buttonsClasses)>=0?(this._wrapper().addClass(u+"-visible"),this._$bottom.addClass(u)):(this._wrapper().removeClass(u+"-visible"),this._$bottom.removeClass(u))},this))},_getDragTarget:function(){return this._$title},_renderGeometryImpl:function(){this._resetContentHeight(),this.callBase.apply(this,arguments),this._setContentHeight()},_resetContentHeight:function(){this._$popupContent.css({height:"auto","max-height":"none"})},_renderResize:function(){this.callBase(),this._$content.dxResizable("option","onResize",n.proxy(this._setContentHeight,this))},_setContentHeight:function(){if(this.option("height")!=="auto"){var n=this._$content.height();this._$title&&(n-=this._$title.outerHeight(!0)||0),this._$bottom&&(n-=this._$bottom.outerHeight(!0)||0),this._$popupContent.css({height:"100%","max-height":n})}},_renderDimensions:function(){this.option("fullScreen")?this._$content.css({width:"100%",height:"100%"}):this.callBase.apply(this,arguments),this._renderFullscreenWidthClass()},_renderFullscreenWidthClass:function(){this.overlayContent().toggleClass(l,this.overlayContent().outerWidth()===n(window).width())},_renderShadingDimensions:function(){this.option("fullScreen")?this._wrapper().css({width:"100%",height:"100%"}):this.callBase.apply(this,arguments)},_renderPosition:function(){this.option("fullScreen")?h.move(this._$content,{top:0,left:0}):this.callBase.apply(this,arguments)},_optionChanged:function(n){switch(n.name){case"showTitle":case"title":case"titleTemplate":this._renderTitle(),this._renderGeometry();break;case"bottomTemplate":this._renderBottom(),this._renderGeometry();break;case"onTitleRendered":this._createTitleRenderAction(n.value);break;case"buttons":this._renderTitle(),this._renderBottom(),this._renderGeometry();break;case"dragEnabled":this._renderDrag();break;case"fullScreen":this._$content.toggleClass(f,n.value),this._refresh();break;case"showCloseButton":this._renderTitle();break;default:this.callBase(n)}},bottomToolbar:function(){return this._$bottom},content:function(){return this._$popupContent},overlayContent:function(){return this._$content}}))}(jQuery,DevExpress),function(n,t){var f=t.ui,o=t.fx,s="dx-popover",h="dx-popover-wrapper",c="dx-popover-arrow",l="dx-popover-without-title",u={left:"right",top:"bottom",right:"left",bottom:"top",center:"center"},r={left:-1,top:-1,center:0,right:1,bottom:1},a={top:{my:"bottom center",at:"top center"},bottom:{my:"top center",at:"bottom center"},right:{my:"left center",at:"right center"},left:{my:"right center",at:"left center"},topNone:{my:"bottom center",at:"top center",collision:"none"},bottomNone:{my:"top center",at:"bottom center",collision:"none"},rightNone:{my:"left center",at:"right center",collision:"none"},leftNone:{my:"right center",at:"left center",collision:"none"}},e={top:"0 -1",bottom:"0 1",left:"-1 0",right:"1 0"};t.registerComponent("dxPopover",f,f.dxPopup.inherit({_setDefaultOptions:function(){this.callBase(),this.option({target:window,shading:!1,position:"bottom",closeOnOutsideClick:!0,animation:{show:{type:"fade",from:0,to:1},hide:{type:"fade",to:0}},showTitle:!1,width:"auto",height:"auto",dragEnabled:!1,resizeEnabled:!1,fullScreen:!1,closeOnTargetScroll:!0,arrowPosition:null,boundaryOffset:{h:10,v:10}})},_defaultOptionsRules:function(){return[{device:{platform:"ios"},options:{arrowPosition:{boundaryOffset:{h:20,v:-10},collision:"fit"}}}]},_init:function(){this.callBase(),this._renderArrow(),this.element().addClass(s),this._wrapper().addClass(h)},_renderArrow:function(){this._$arrow=n("<div>").addClass(c).appendTo(this._wrapper())},_documentDownHandler:function(n){this._isOutsideClick(n)&&this.callBase(n)},_isOutsideClick:function(t){return!n(t.target).closest(this.option("target")).length},_animate:function(t){this._animateArrow(t),t&&t.to&&n.extend(t.to,{position:this._contentPosition}),this.callBase.apply(this,arguments)},_animateArrow:function(i){i&&t.fx.animate(this._$arrow,n.extend({},i,{complete:n.noop}))},_stopAnimation:function(){this.callBase.apply(this,arguments),o.stop(this._$arrow)},_renderTitle:function(){this._wrapper().toggleClass(l,!this.option("showTitle")),this.callBase()},_renderPosition:function(){this.callBase(),this._renderOverlayPosition(),this._renderArrowPosition()},_renderOverlayBoundaryOffset:n.noop,_renderOverlayPosition:function(){var o;this._setContentHeight(!0),this._togglePositionClass("dx-position-"+this._positionSide),t.translator.move(this._$content,{left:0,top:0});var i=n.extend({},this._position),s=this._getContainerPosition(),e=t.calculatePosition(this._$content,s),r=e.v.flip,f=e.h.flip;this._updateContentSize(e),this._position.collision==="flip"&&(i.collision="fit"),o="dx-position-"+(r||f||this._isPopoverInside()?u[this._positionSide]:this._positionSide),this._togglePositionClass(o),this._toggleFlippedClass(r,f),n.extend(i,this._applyFlip(i,r,f)),i.offset=this._updateContentOffset(r,f,i.offset),t.position(this._$content,i),this._contentPosition=i},_isPopoverInside:function(){var n=this._getPosition(),i=t.position.normalizeAlign(n.my),r=t.position.normalizeAlign(n.at);return i.h===r.h&&i.v===r.v},_getPosition:function(){var i=this.option("position");return t.utils.isString(i)&&(i=n.extend({},a[i])),i},_setContentHeight:function(n){n&&this.callBase()},_updateContentSize:function(n){var t,i,r,u;this._$popupContent&&(t=this._positionSide,n.h.oversize>0&&(t==="left"||t==="right")&&(i=this._$content.width()-n.h.oversize,this._$content.width(i)),n.v.oversize>0&&(t==="top"||t==="bottom")&&(r=this._$content.height()-n.v.oversize,u=this._$popupContent.height()-n.v.oversize,this._$content.height(r),this._$popupContent.height(u)))},_updateContentOffset:function(n,t,i){var r=this._positionSide,u=this._getOffsetObject(i),e=t?-1:1,o=n?-1:1,f=this._isPopoverInside()?-1:1,s=r==="top"&&!n||r==="bottom"&&n,h=r==="bottom"&&!n||r==="top"&&n,c=r==="left"&&!t||r==="right"&&t,l=r==="right"&&!t||r==="left"&&t;return s?u.h+" "+(u.v*o-f*(this._$arrow.height()-1)):h?u.h+" "+(u.v*o+f*(this._$arrow.height()-1)):c?u.h*e-f*(this._$arrow.width()-1)+" "+u.v:l?u.h*e+f*(this._$arrow.width()-1)+" "+u.v:void 0},_getContainerPosition:function(){var t=this._getOffsetObject(this._position.offset||""),i=this._$arrow.width()+t.h+" "+(this._$arrow.height()+t.v);return n.extend({},this._position,{offset:i})},_applyFlip:function(n,i,r){var f=t.utils.splitPair(n.my),e=t.utils.splitPair(n.at),o=function(n){return n==="bottom"||n==="top"},s=function(n){return n==="left"||n==="right"},u=function(n){return i&&o(n)||r&&s(n)?t.position.inverseAlign(n):n};return{my:u(f[0])+" "+u(f[1]),at:u(e[0])+" "+u(e[1])}},_renderArrowPosition:function(){t.translator.move(this._$arrow,{left:0,top:0});var i=this.option("arrowPosition"),r=n.extend({},this._getDefaultArrowPosition(),i),u=i&&t.utils.isDefined(i.at)&&t.utils.isDefined(i.my);u&&n.extend(r,this._getCustomArrowPosition(i)),t.position(this._$arrow,r)},_getCustomArrowPosition:function(n){var r=this._contentPosition.at.split(" ")[0],t=n.at,i=n.my,o=t&&t.split(" ")[0]===r,u,f;return o&&(u=t,t=i,i=u),f=this._mergeOffsets(e[r],n.offset),{my:i,at:t,of:this._$content,offset:f}},_getDefaultArrowPosition:function(){var t=this._getDisplaySide(this._contentPosition),r=u[t],f=this,i=function(n){return f._isPopoverInside()?u[n]:n};return this._isPopoverLargerThanTarget()?{my:i(r),at:t,of:n(this.option("target"))}:{my:i(t),at:i(r),of:this._$content,offset:e[i(t)]}},_isPopoverLargerThanTarget:function(){if(this._$content.is(":hidden"))return!0;if(this._position.of.target)return!1;var u=this._positionSide,r=n(this._position.of),t,i;switch(u){case"top":case"bottom":t=this._$content.width(),i=r.outerWidth()+this._$arrow.width();break;case"left":case"right":t=this._$content.height(),i=r.outerHeight()+this._$arrow.height()}return t>i},_mergeOffsets:function(n,t){if(!t)return n;var i=this._getOffsetObject(n),r=this._getOffsetObject(t);return i.h+r.h+" "+(i.v+r.v)},_renderShadingPosition:function(){this.option("shading")&&this._$wrapper.css({top:0,left:0})},_renderShadingDimensions:function(){this.option("shading")&&this._$wrapper.css({width:"100%",height:"100%"})},_togglePositionClass:function(n){this._$wrapper.removeClass("dx-position-left dx-position-right dx-position-top dx-position-bottom").addClass(n)},_toggleFlippedClass:function(n,t){this._$wrapper.toggleClass("dx-popover-flipped-vertical",n).toggleClass("dx-popover-flipped-horizontal",t)},_normalizePosition:function(){var n=this._getPosition();n.of||(n.of=this.option("target")),n.collision||(n.collision="flip"),n.boundaryOffset||(n.boundaryOffset=this.option("boundaryOffset")),this._positionSide=this._getDisplaySide(n),this._position=n},_getDisplaySide:function(n){var u=t.position.normalizeAlign(n.my),i=t.position.normalizeAlign(n.at),f=r[u.h]===r[i.h]&&r[u.v]===r[i.v]?-1:1,e=Math.abs(r[u.h]-f*r[i.h]),o=Math.abs(r[u.v]-f*r[i.v]);return e>o?i.h:i.v},_getOffsetObject:function(n){return t.utils.stringPairToObject(n)},_optionChanged:function(n){switch(n.name){case"showTitle":case"title":case"titleTemplate":this.callBase(n),this._renderGeometry();break;case"target":case"boundaryOffset":case"arrowPosition":this._renderGeometry();break;case"fullScreen":n.value&&this.option("fullScreen",!1);break;default:this.callBase(n)}},show:function(n){return n&&this.option("target",n),this.callBase()}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u="dx-tooltip",f="dx-tooltip-wrapper",e=[],o=-500;t.registerComponent("dxTooltip",r,r.dxPopover.inherit({_setDefaultOptions:function(){this.callBase(),this.option({showTitle:!1,title:i,titleTemplate:i,bottomTemplate:i})},_render:function(){this.element().addClass(u),this._wrapper().addClass(f),this.callBase()},_renderContent:function(){this.callBase(),this._contentId=new DevExpress.data.Guid,this._$content.attr({id:this._contentId,role:"tooltip"}),this._toggleAriaDescription(!0)},_toggleAriaDescription:function(t){var r=n(this.option("target")),u=t?this._contentId:i;this.setAria("describedby",u,r)},_zIndexStack:function(){return e},_zIndexInitValue:function(){return this.callBase()+o}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f="dx-dropdownmenu",u="dx-dropdownmenu-popup",e=u+"-wrapper",o="dx-dropdownmenu-list",s="dx-dropdownmenu-button",h={popupWidth:"width",popupHeight:"height"},c={buttonIcon:"icon",buttonText:"text"};t.registerComponent("dxDropDownMenu",r,r.Widget.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{tab:function(){this._popup.hide()}})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{itemClickAction:{since:"14.2",alias:"onItemClick"},buttonClickAction:{since:"14.2",alias:"onButtonClick"},itemRender:{since:"14.2",alias:"itemTemplate"},buttonIconSrc:{since:"15.1",alias:"buttonIcon"}})},_setDefaultOptions:function(){this.callBase(),this.option({items:[],onItemClick:null,dataSource:null,itemTemplate:"item",buttonText:"",buttonIcon:"overflow",onButtonClick:null,usePopover:!1,popupWidth:"auto",popupHeight:"auto",hoverStateEnabled:!0,opened:!1,popupPosition:"bottom",popupAnimation:i})},_defaultOptionsRules:function(){return this.callBase().concat([{device:[{platform:"ios"}],options:{usePopover:!0}},{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}},{device:function(n){return n.android&&(n.version[0]>=4&&n.version[1]>=1||n.version[0]>=5)},options:{popupPosition:{my:"top "+(this.option("rtlEnabled")?"left":"right"),at:"top "+(this.option("rtlEnabled")?"left":"right")},popupAnimation:{show:{type:"pop",duration:200,from:{scale:0},to:{scale:1}},hide:{type:"pop",duration:200,from:{scale:1},to:{scale:0}}}}}])},_dataSourceOptions:function(){return{paginate:!1}},_init:function(){this.callBase(),this._initDataSource(),this._initItemClickAction(),this._initButtonClickAction()},_initItemClickAction:function(){this._itemClickAction=this._createActionByOption("onItemClick")},_initButtonClickAction:function(){this._buttonClickAction=this._createActionByOption("onButtonClick")},_render:function(){this.element().addClass(f),this._renderButton(),this.callBase(),this.setAria({role:"menubar",haspopup:!0,expanded:this.option("opened")})},_clean:function(){this._cleanFocusState(),this._popup.element().remove()},_renderContentImpl:function(){this._renderPopup()},_renderButton:function(){var t=this,u=this.element().addClass(s),i,r;this._button=this._createComponent(u,"dxButton",{text:this.option("buttonText"),icon:this.option("buttonIcon"),focusStateEnabled:!1,onClick:function(n){t.option("opened",!t.option("opened")),t._buttonClickAction(n)},_templates:{}}),i=this._supportedKeys(),r=this._button._supportedKeys(),this._supportedKeys=function(){return n.extend(i,r)}},_toggleMenuVisibility:function(n){var t=n===i?!this._popup.option("visible"):n;this._popup.toggle(t),this.setAria("expanded",t)},_renderPopup:function(){var t=this._$popup=n("<div>").appendTo(this.element()),i={onContentReady:n.proxy(this._popupContentReadyHandler,this),deferRendering:!1,position:this.option("popupPosition"),animation:this.option("popupAnimation"),onOptionChanged:n.proxy(function(n){n.name==="visible"&&this.option("opened",n.value)},this)};this._popup=this._createPopover(t,i),this._popup._wrapper().addClass(e),this._popup._wrapper().toggleClass(u,!this.option("usePopover"))},_popupContentReadyHandler:function(){var n=this._$popup.dxPopover("instance");this._renderList(n)},_createPopover:function(t,i){return this._createComponent(t,"dxPopover",n.extend(i,{target:this.element(),height:this.option("popupHeight"),width:this.option("popupWidth")}))},_renderList:function(t){var r=t.content(),i=this,u;r.addClass(o),i._list=i._createComponent(r,"dxList",{_keyboardProcessor:i._listProcessor,pageLoadMode:"scrollBottom",indicateLoading:!1,noDataText:"",itemTemplate:i._getTemplateByOption("itemTemplate"),onItemClick:function(n){i.option("opened",!1),i._itemClickAction(n)},tabIndex:-1,focusStateEnabled:this.option("focusStateEnabled"),_itemAttributes:{role:"menuitem"}}),i._list._getAriaTarget=function(){return i.element()},i._setListDataSource(),u=n(window).height()*.5,r.height()>u&&r.height(u)},_setListDataSource:function(){this._list&&this._list.option("dataSource",this._dataSource||this.option("items"))},_attachKeyboardEvents:function(){this.callBase.apply(this,arguments),this._listProcessor=this._keyboardProcessor.attachChildProcessor(),this._list&&this._list.option("_keyboardProcessor",this._listProcessor)},_cleanFocusState:function(){this.callBase.apply(this,arguments),delete this._listProcessor},_toggleVisibility:function(n){this.callBase(n),this._button.option("visible",n)},_optionChanged:function(n){var t=n.name,i=n.value;switch(t){case"items":case"dataSource":this._refreshDataSource(),this._setListDataSource();break;case"itemTemplate":this._list&&this._list.option(t,this._getTemplate(i));break;case"onItemClick":this._initItemClickAction();break;case"onButtonClick":this._buttonClickAction();break;case"buttonIcon":case"buttonText":this._button.option(c[t],i);break;case"popupWidth":case"popupHeight":this._popup.option(h[t],i);break;case"usePopover":this._invalidate();break;case"focusStateEnabled":this._list&&this._list.option(t,i),this.callBase(n);break;case"opened":this._toggleMenuVisibility(i);break;case"popupPosition":break;default:this.callBase(n)}},open:function(){this.option("opened",!0)},close:function(){this.option("opened",!1)}}).include(r.DataHelperMixin))}(jQuery,DevExpress),function(n,t,i){var u=function(){return["year","day","month","day"]},r=t.ui.dateUtils={SUPPORTED_FORMATS:["date","time","datetime"],DEFAULT_FORMATTER:function(n){return n},DATE_COMPONENT_TEXT_FORMATTER:function(t,i){var r=n("<div>").addClass("dx-dateview-formatter-container");return n("<span>").text(t).addClass("dx-dateview-value-formatter").appendTo(r),n("<span>").text(i).addClass("dx-dateview-name-formatter").appendTo(r),r},ONE_MINUTE:6e4,ONE_DAY:864e5,TEN_YEARS:31536e7,FORMATS_INFO:{date:{standardPattern:"yyyy-MM-dd",components:u()},time:{standardPattern:"HH:mm",components:["hours","minutes"]},datetime:{standardPattern:"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'",components:u().concat(["hours","minutes","seconds","milliseconds"])},"datetime-local":{standardPattern:"yyyy'-'MM'-'dd'T'HH':'mm",components:u().concat(["hours","minutes","seconds"])}},FORMATS_MAP:{date:"d",time:"t",datetime:"S","datetime-local":"f"},toStandardDateFormat:function(n,t,i){return i=i||r.FORMATS_INFO[t].standardPattern,Globalize.format(n,i)},fromStandardDateFormat:function(n){return Globalize.parseDate(n,r.FORMATS_INFO.datetime.standardPattern)||Globalize.parseDate(n,r.FORMATS_INFO["datetime-local"].standardPattern)||Globalize.parseDate(n,r.FORMATS_INFO.time.standardPattern)||Globalize.parseDate(n,r.FORMATS_INFO.date.standardPattern)||Date.parse&&Date.parse(n)&&new Date(Date.parse(n))},getMaxMonthDay:function(n,t){return new Date(n,t+1,0).getDate()},mergeDates:function(t,u,f){if(!u)return i;isNaN(t.getTime())&&(t=new Date(0,0,0,0,0,0));var e=r.FORMATS_INFO[f];return n.each(e.components,function(){var n=r.DATE_COMPONENTS_INFO[this];t[n.setter](u[n.getter]())}),t},getLongestCaptionIndex:function(n){for(var i=0,r=0,t=0;t<n.length;++t)n[t].length>r&&(i=t,r=n[t].length);return i},expandPattern:function(n){return n.length===1?Globalize.culture().calendar.patterns[n]:n},formatUsesMonthName:function(n){return r.expandPattern(n).indexOf("MMMM")!==-1},formatUsesDayName:function(n){return r.expandPattern(n).indexOf("dddd")!==-1},getLongestDate:function(n,t,i){var u=new Date(1888,r.formatUsesMonthName(n)?r.getLongestCaptionIndex(t):9,21,23,59,59,999);return r.formatUsesDayName(n)&&u.setDate(u.getDate()-u.getDay()+r.getLongestCaptionIndex(i)),u},calculateMaximumDateFormatWidth:function(t,i,u){if(!u||n(u).is(":visible")){var e,o=2,f=n("<div>"+Globalize.format(r.getLongestDate(t,Globalize.culture().calendar.months.names,Globalize.culture().calendar.days.names),t)+"<\/div>").css({visibility:"hidden","white-space":"nowrap",position:"absolute",float:"left"});return i&&f.css(i),f.appendTo(u?n(u):n("body")),e=f.width()+o,f.remove(),e}}};r.DATE_COMPONENTS_INFO={year:{getter:"getFullYear",setter:"setFullYear",possibleFormats:["yy","yyyy"],formatter:r.DEFAULT_FORMATTER,startValue:i,endValue:i},day:{getter:"getDate",setter:"setDate",possibleFormats:["d","dd"],formatter:function(n,t,i){if(!t)return n;var u=new Date(i.getTime());return u.setDate(n),r.DATE_COMPONENT_TEXT_FORMATTER(n,Globalize.culture().calendar.days.names[u.getDay()])},startValue:1,endValue:i},month:{getter:"getMonth",setter:"setMonth",possibleFormats:["M","MM","MMM","MMMM"],formatter:function(n,t){var i=Globalize.culture().calendar.months.names[n];return t?r.DATE_COMPONENT_TEXT_FORMATTER(n+1,i):i},startValue:0,endValue:11},hours:{getter:"getHours",setter:"setHours",possibleFormats:["H","HH","h","hh"],formatter:function(n){return Globalize.format(new Date(0,0,0,n),"HH")},startValue:0,endValue:23},minutes:{getter:"getMinutes",setter:"setMinutes",possibleFormats:["m","mm"],formatter:function(n){return Globalize.format(new Date(0,0,0,0,n),"mm")},startValue:0,endValue:59},seconds:{getter:"getSeconds",setter:"setSeconds",possibleFormats:["s","ss"],formatter:function(n){return Globalize.format(new Date(0,0,0,0,0,n),"ss")},startValue:0,endValue:59},milliseconds:{getter:"getMilliseconds",setter:"setMilliseconds",possibleFormats:["f","ff","fff"],formatter:function(n){return Globalize.format(new Date(0,0,0,0,0,0,n),"fff")},startValue:0,endValue:999}},function(){var t="yyyy'-'MM'-'dd'T'HH':'mm'Z'",i=n("<input>").attr("type","datetime");i.val(r.toStandardDateFormat(new Date,"datetime",t)),i.val()&&(r.FORMATS_INFO.datetime.standardPattern=t)}()}(jQuery,DevExpress),function(n,t,i){var e=t.ui,f=t.fx,r=t.utils,a="dx-calendar",v="dx-calendar-body",h="dx-calendar-cell",c="dx-calendar-empty-cell",y="dx-calendar-footer",p="dx-calendar-today-button",w="dx-calendar-with-footer",s=300,b=200,k=250,d=.6,g=1,nt=.5,l="dxDateValueKey",u={left:-1,right:1},o={month:3,year:2,decade:1,century:0};t.registerComponent("dxCalendar",e,e.Editor.inherit({_activeStateUnit:"."+h,_supportedKeys:function(){var i=this.option("rtlEnabled"),t=r.getDifferenceInMonth(this.option("zoomLevel"));return n.extend(this.callBase(),{rightArrow:function(n){if(n.ctrlKey)n.preventDefault(),this._waitRenderView(t,i?-1:1);else return this._change="key",!0},leftArrow:function(n){if(n.ctrlKey)n.preventDefault(),this._waitRenderView(t,i?1:-1);else return this._change="key",!0},upArrow:function(n){if(n.ctrlKey)n.preventDefault(),this._navigateUp();else return f.isAnimating(this._view.element())?void 0:(this._change="upDownArrow",!0)},downArrow:function(n){if(n.ctrlKey)n.preventDefault(),this._navigateDown();else return f.isAnimating(this._view.element())?void 0:(this._change="upDownArrow",!0)},pageUp:function(n){n.preventDefault(),this._waitRenderView(t,-1)},pageDown:function(n){n.preventDefault(),this._waitRenderView(t,1)},tab:n.noop,enter:function(){if(this._isMaxZoomLevel())return!0;this._navigateDown()}})},_setDefaultOptions:function(){this.callBase(),this.option({currentDate:new Date,min:new Date(1e3,0),max:new Date(3e3,0),firstDayOfWeek:i,zoomLevel:"month",maxZoomLevel:"month",minZoomLevel:"century",showTodayButton:!1,cellTemplate:"cell",onCellClick:null,onContouredChanged:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0,hoverStateEnabled:!0}}])},_init:function(){this.callBase(),this._correctZoomLevel(),this._updateCurrentDate(this.option("value")),this._initActions()},_initActions:function(){this._cellClickOptionAction=this._createActionByOption("onCellClick")},_correctZoomLevel:function(){var n=this.option("maxZoomLevel"),t=this.option("minZoomLevel"),i=this.option("zoomLevel");o[n]<o[t]||(o[i]>o[n]?this.option("zoomLevel",n):o[i]<o[t]&&this.option("zoomLevel",t))},_updateCurrentDate:function(n){var t=this.option("min"),i=this.option("max"),f,u,e,o;if(t&&i&&t>i){this.option("currentDate",new Date);return}t&&(t=new Date(t)),i&&(i=new Date(i)),f=n||new Date(this.option("currentDate")),u=new Date(r.normalizeDate(f,t,i)),u.setDate(1),this.option("currentDate",u),e=this.option("zoomLevel"),o=this._view&&!r.sameView(e,u,this._view.option("date")),o&&(this._view.element().remove(),delete this._view,this._renderView())},_render:function(){this.callBase(),this.element().addClass(a),this._renderView(),this._renderFooter(),this.onContouredChanged=this._createActionByOption("onContouredChanged"),this.setAria({role:"listbox",label:Globalize.localize("dxCalendar-ariaWidgetName")})},_renderView:function(){this._change="",this._renderBody(),this._renderSpecificView(),this._renderNavigator(),this._renderSwipeable()},_renderBody:function(){this._body||(this._body=n("<div>").addClass(v),this.element().append(this._body))},_renderSwipeable:function(){var n=this;this._swipeable||(this._swipeable=this._createComponent(this.element(),"dxSwipeable",{elastic:!1,onStart:function(t){n._swipeStartHandler(t)},onUpdated:function(t){n._swipeUpdateHandler(t)},onEnd:function(t){n._swipeEndHandler(t)},itemWidthFunc:function(){return this.element().width()}}))},_waitRenderView:function(t,i){this._alreadyViewRender||(this._alreadyViewRender=!0,this._change="",this._navigate(t*i),setTimeout(n.proxy(function(){this._alreadyViewRender=!1},this)))},_focusTarget:function(){return this.element()},_focusOutHandler:function(){this.callBase.apply(this,arguments),this._view.option("contouredDate",i)},_focusInHandler:function(){this.callBase.apply(this,arguments),this._view.focusInHandler()},_attachKeyboardEvents:function(){this.callBase.apply(this,arguments),this._viewKeyboardProcessor=new e.KeyboardProcessor,this._keyboardProcessor.push(this._viewKeyboardProcessor)},_swipeStartHandler:function(n){if(this._viewsAnimating){n.jQueryEvent.cancel=!0;return}this._swipeInProgress=!0,this._viewsOnLeft=[this._view],this._viewsOnRight=[this._view]},_swipeUpdateHandler:function(n){this._setOffset(n.jQueryEvent.offset),this._swipeOffset>=0?this._renderViews(this._viewsOnLeft,u.right):this._renderViews(this._viewsOnRight,u.left)},_setOffset:function(n){var t=n>0?u.right:u.left,i=this._swipeOffset||0;t*(n-i)<=1&&(this._swipeOffset=n)},_renderViews:function(t,i){var f=Math.ceil(i*this._swipeOffset),o=this.option("zoomLevel"),u=i*f,s,h;u*=r.getDifferenceInMonth(o),u=this.option("rtlEnabled")?u:-1*u,this._initalizeViewDimensions(),t[f]||(this._newDate=new Date(this.option("currentDate")),this._newDate.setMonth(this._newDate.getMonth()+u),s=this._body,h=n("<div>").appendTo(s),t[f]=new e.dxCalendar.views[o](h,this._viewConfig())),this._translateViews(t,i)},_translateViews:function(n,i){var r=n[Math.floor(i*this._swipeOffset)],f=n[Math.ceil(i*this._swipeOffset)],u=this._swipeOffset%1;this._normalizeViewsPosition(),t.translator.move(r.element(),{left:this._correctionMovement*u*this._viewWidth}),i*u>=.05&&t.translator.move(f.element(),{left:this._correctionMovement*(u-i)*this._viewWidth}),this._view=this._isInView(r,this._viewWidth/2)?r:f,this._renderNavigator()},_normalizeViewsPosition:function(){for(var n=0;n<this._viewsOnLeft.length;n++)t.translator.move(this._viewsOnLeft[n].element(),{left:-this._correctionMovement*this._viewWidth});for(n=0;n<this._viewsOnRight.length;n++)t.translator.move(this._viewsOnRight[n].element(),{left:this._correctionMovement*this._viewWidth})},_isDateInInvalidRange:function(){if(!this._view.isBoundary(this._newDate)){var n=this.option("min"),t=this.option("max"),i=r.normalizeDate(this._newDate,n,t);return i===n||i===t}},_trimUnusedViews:function(t){var i=t.slice(),r=n.inArray(this._view,i)+1,u=this._getBoundaryIndexView(i);return i=i.splice(0,r+1),i.splice(0,u),this._disposeUnusedViews(t,r),i},_cleanFocusState:function(){this.callBase(),this._viewKeyboardProcessor&&this._viewKeyboardProcessor.dispose()},_getBoundaryIndexView:function(n){for(var i=n.length,t=i-1;t>=0;t--)if(n[t]&&this._view.isBoundary(n[t].option("date")))return t},_disposeUnusedViews:function(n,t){for(var r=n.length,i=r-1;i>t;i--)n[i].element().remove()},_moveInRange:function(n,i){for(var f=n.length,e=n[f-1].element().position().left*i,u=e,r=f-1;r>=0;r--)t.translator.move(n[r].element(),{left:this._correctionMovement*u*i}),u+=n[r].element().width();return u-=n[0].element().width(),this._animateToBoundary(n,u,i)},_animateToBoundary:function(t,i,r){var f,u,e;for(this._animation=n.Deferred(),f=t.length,u=f-1;u>=0;u--)e=t[u].element().position().left,this._animateView(t[u],e-i*r,b*f);return this._animation.promise()},_swipeEndHandler:function(n){var t=this,f=n.jQueryEvent.targetOffset,i,r;this._viewsAnimating=!0,r=!1,Math.abs(n.jQueryEvent.offset)<nt&&(f===1||f===-1)&&(r=!0),this._isDateInInvalidRange()?(this._toggleNavigatorDisabled(!0),this._$footer&&this._$footer.toggleClass("dx-state-disabled",!0),this._swipeOffset>0?(i=this._animatedIllegalRange(t._viewsOnLeft,u.right),this._newDate=new Date(this.option("min"))):(i=this._animatedIllegalRange(t._viewsOnRight,u.left),this._newDate=new Date(this.option("max")))):i=this._alignViews(r),i.done(function(){t._disposeViews(),t._isDateInInvalidRange()||t.option("currentDate",t._view.option("date")),t._viewsAnimating=!1,t._toggleNavigatorDisabled(!1),t._$footer&&t._$footer.toggleClass("dx-state-disabled",!1),t._normalizedCircledDate(t._view.option("date"))}),this._swipeInProgress=!1,this._swipeOffset=0},_animatedIllegalRange:function(n,t){var i=this._trimUnusedViews(n);return this._moveInRange(i,t)},_alignViews:function(t){this._animation=n.Deferred(),this._swipeOffset=this._swipeOffset||0;var i,r;return this._swipeOffset>=0?(i=this._viewsOnLeft[Math.floor(Math.abs(this._swipeOffset))],r=this._viewsOnLeft[Math.ceil(Math.abs(this._swipeOffset))]):(i=this._viewsOnRight[Math.ceil(Math.abs(this._swipeOffset))],r=this._viewsOnRight[Math.floor(Math.abs(this._swipeOffset))]),this._isInView(i,this._viewWidth/2)?t?this._arrangeViews(r,i,u.right):this._arrangeViews(i,r,u.left):t?this._arrangeViews(i,r,u.left):this._arrangeViews(r,i,u.right),this._renderNavigator(),this._animation.promise()},_arrangeViews:function(n,t,i){this._centerView(n),this._animateView(t,i*this._viewWidth,s)},_animateView:function(n,t,i){var r=this;f.animate(n.element(),{type:"slide",from:{left:n.element().position().left},to:{left:t},duration:i,complete:function(){r._animation.resolve()}})},_centerView:function(n){this._animateView(n,0,s),this._view=n},_isInView:function(n,t){var i=n.element(),r=i.position().left;return t>r&&t<=r+i.width()},_disposeViews:function(){for(var n=0;n<this._viewsOnLeft.length;n++)this._viewsOnLeft[n]!==this._view&&this._viewsOnLeft[n].element().remove();for(n=0;n<this._viewsOnRight.length;n++)this._viewsOnRight[n]!==this._view&&this._viewsOnRight[n].element().remove();this._viewsOnLeft=[],this._viewsOnRight=[]},_renderFooter:function(){var r=this,t=this.option("showTodayButton"),i;t&&(i=this._createComponent(n("<a>"),"dxButton",{focusStateEnabled:!1,text:Globalize.localize("dxCalendar-todayButtonText"),onClick:function(){r._toTodayView()},_templates:{}}).element().addClass(p),this._$footer=n("<div>").addClass(y).append(i),this.element().append(this._$footer)),this.element().toggleClass(w,t)},_toTodayView:function(){var t=new Date,r,i;if(!this._isMaxZoomLevel()){this.option("currentDate",t),this.option("zoomLevel",this.option("maxZoomLevel")),this._animateShowView(),this.option("value",t);return}if(r=this._view.option("date"),i=0,i+=(t.getFullYear()-r.getFullYear())*12,i+=t.getMonth()-r.getMonth(),!i){this.option("value",t);return}this._addPrevView(t),this._animateNavigation(i).done(n.proxy(function(){this._clearPrevView(),this.option("value",new Date)},this))},_isMaxZoomLevel:function(){return this.option("zoomLevel")===this.option("maxZoomLevel")},_renderNavigator:function(){if(!this._navigator){var t=n("<div>").prependTo(this.element());this._navigator=new e.dxCalendar.Navigator(t,this._navigatorConfig())}this._navigator.option("text",this._view._getNavigatorCaption()),this._updateButtonsVisibility()},_updateButtonsVisibility:function(){var n=this.option("zoomLevel"),i=this.option("rtlEnabled"),t=i?-1*r.getDifferenceInMonth(n):1*r.getDifferenceInMonth(n);this._navigator.toggleButton("next",!this._view.canNavigate(t)),this._navigator.toggleButton("prev",!this._view.canNavigate(-t))},_navigatorConfig:function(){return{text:this._view._getNavigatorCaption(),onClick:n.proxy(this._navigatorClickHandler,this),onCaptionClick:n.proxy(this._navigateUp,this),rtlEnabled:this.option("rtlEnabled")}},_navigatorClickHandler:function(n){var t=this.option("zoomLevel"),i=r.getDifferenceInMonth(t),u=i*n.direction;this._navigate(u)},_isMinZoomLevel:function(n){var t=this.option("min"),i=this.option("max");return r.sameView(n,t,i)||this.option("minZoomLevel")===n},_navigateUp:function(){var t=this.option("zoomLevel"),i=r.getViewUp(t),n;i&&!this._isMinZoomLevel(t)&&(this._contouredStack=this._contouredStack||[],n=this._view.option("contouredDate"),n&&this._contouredStack.push(n),this.option("currentDate",n||this._view.option("date")),this.option("zoomLevel",i),this._animateShowView())},_navigateDown:function(t){var e=this.option("zoomLevel"),u,i,f;if(!this._isMaxZoomLevel()&&(u=r.getViewDown(e),u)){if(i=this._view.option("contouredDate")||this._view.option("date"),t&&(i=n(t).data(l)),this.option("currentDate",i),this.option("zoomLevel",u),this._animateShowView(),this._contouredStack&&this._contouredStack.length>0){f=this._view.getCircledDate(i,this._contouredStack),this._normalizedCircledDate(f),this._view.option("contouredDate",f);return}this._normalizedCircledDate(i),this._view.option("contouredDate",i)}},_animateShowView:function(){f.stop(this._view.element(),!0),this._viewsAnimating=!0,this._popAnimationView(this._view,d,g,k).done(n.proxy(function(){this._viewsAnimating=!1,this._view.moveContouredDate(0)},this))},_toggleNavigatorDisabled:function(n){this._navigator&&this._navigator.option("disabled",n)},_popAnimationView:function(n,t,i,r){return f.animate(n.element(),{type:"pop",from:{scale:t,opacity:t},to:{scale:i,opacity:i},duration:r})},_renderSpecificView:function(){var i=e.dxCalendar.views[this.option("zoomLevel")],r=this._body,u=n("<div>").appendTo(r);this._view=new i(u,this._viewConfig()),this.element().addClass("dx-calendar-view-"+this.option("zoomLevel")),this._correctionMovement=t.browser.msie&&this.option("rtlEnabled")?-1:1},_viewConfig:function(){return{date:this._swipeInProgress?this._newDate:this.option("currentDate"),min:this.option("min"),max:this.option("max"),firstDayOfWeek:this.option("firstDayOfWeek"),value:this.option("value"),rtl:this.option("rtlEnabled"),disabled:this.option("disabled")||DevExpress.designMode,_keyboardProcessor:this._viewKeyboardProcessor,tabIndex:i,focusStateEnabled:this.option("focusStateEnabled"),hoverStateEnabled:this.option("hoverStateEnabled"),onValueChanged:n.proxy(this._viewValueChangedHandler,this),onContouredDateChanged:n.proxy(this._viewContouredChangedHandler,this),onCellClick:n.proxy(this._handlerOnCellClick,this),cellTemplate:this._getTemplateByOption("cellTemplate"),allowValueSelection:this._isMaxZoomLevel()}},_cellClickHandler:function(n){this._cellClickAction({jQueryEvent:n})},_handlerOnCellClick:function(n){var i=this.option("zoomLevel"),u=r.getViewDown(i),f=this._isMaxZoomLevel(),t;u&&!f?(t=n.jQueryEvent.currentTarget,this._navigateDown(t)):this._cellClickOptionAction(n)},_viewValueChangedHandler:function(n){this._isMaxZoomLevel()&&this.option("value",n.value)},_viewContouredChangedHandler:function(n){var t=n.value,i=this.option("currentDate"),u=this.option("zoomLevel"),o=r.sameView(u,i,t),f,e;this.setAria("activedescendant",n.ariaId),this.onContouredChanged&&this.onContouredChanged(n.ariaId),t&&!o&&!this._isAlreadyNavigated&&(this._isMaxZoomLevel()||this._change==="key"||this._change==="upDownArrow")&&(f=r.getFirstMonthDate(t)>i?1:-1,e=r.getDifferenceInMonth(u)*f,this._isAlreadyNavigated=!0,this._navigate(e))},_normalizedCircledDate:function(n){var t,o;if(this._view.isBoundary(n)){var u=this.option("zoomLevel"),i=this._view.$body.find("."+h).not("."+c),f=this.option("min"),e=this.option("max");r.sameView(u,f,e)?t=Math.abs(f-n)>Math.abs(e-n)?i.last():i.first():r.sameView(u,n,f)?t=i.first():r.sameView(u,n,e)&&(t=i.last()),n=t?t.data(l):n,this._view.option("contouredDate",n);return}if(o=this.option("currentDate"),t=this._view._getCellByDate(r.getShortDate(n)),!t.length&&!r.dateInRange(n,this.option("min"),this.option("max"))){this._view.option("contouredDate",o);return}if(!t.hasClass(c)){this._view.option("contouredDate",n);return}this._view.option("contouredDate",n)},_initalizeViewDimensions:function(){this._viewWidth=this._viewWidth||this._body.width(),this._viewHeight=this._viewHeight||this._body.height()},_navigate:function(n){var i,t,u,f;this._view.canNavigate(n)&&(i=this.option("currentDate"),t=new Date(i),t.setMonth(i.getMonth()+n),r.fixTimezoneGap(i,t),u=this._view.getNextCircledDate(n),this._change==="upDownArrow"&&(u=this._view.option("contouredDate")),this._change==="key"&&(f=this.option("zoomLevel"),u=n<0?r.getLastDateView(f,t):r.getFirstDateView(f,t)),this._changeView(t,n),this._normalizedCircledDate(u))},_changeView:function(n,t){var i=this;f.isAnimating(this._view.element())&&(this._stopCurrentAnimation(),this._prevView&&this._prevView.element().remove()),this._addPrevView(n),this._animateNavigation(t).done(function(){i._clearPrevView(),i._isAlreadyNavigated=!1})},_clearPrevView:function(){this._prevView.element().remove(),delete this._prevView},_addPrevView:function(t){var i=n("<div>");this._prevView=new e.dxCalendar.views[this.option("zoomLevel")](i,this._viewConfig()),this._body.append(this._prevView.element()),this.option("currentDate",t)},_stopCurrentAnimation:function(){this._prevView&&f.stop(this._prevView.element(),!0),f.stop(this._view.element(),!0)},_animateNavigation:function(i){this._animation=n.Deferred(),this._initalizeViewDimensions();var r=i<0?-1:1;return t.translator.move(this._view.element(),{left:this._correctionMovement*r*this._viewWidth}),this._animateView(this._view,0,s),this._animateView(this._prevView,-r*this._viewWidth,s),this._animation.promise()},_clean:function(){this.callBase(),delete this._body,delete this._navigator,delete this._$footer,delete this._viewWidth,delete this._viewHeight},_optionChanged:function(n){var t=n.value,i;switch(n.name){case"min":case"max":case"firstDayOfWeek":i=this.option("value"),i=i?new Date(i):new Date,this._updateCurrentDate(i),this._view.element().remove(),this._renderView();break;case"currentDate":this._updateCurrentDate(t);break;case"zoomLevel":this.element().removeClass("dx-calendar-view-"+n.previousValue),this._correctZoomLevel(),this._view.element().remove(),delete this._view,this._renderView(),this._updateButtonsVisibility();break;case"minZoomLevel":case"maxZoomLevel":this._correctZoomLevel(),this._updateButtonsVisibility();break;case"value":this._updateCurrentDate(t?new Date(t):new Date),this._view.option("value",t?new Date(t):null),this.callBase(n);break;case"disabled":this._view.option("disabled",t),this.callBase(n);break;case"showTodayButton":this._invalidate();break;case"onCellClick":this._view.option("onCellClick",t);break;case"onContouredChanged":this.onContouredChanged=this._createActionByOption("onContouredChanged");break;case"cellTemplate":this._invalidate();break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,v=u.events,r=t.utils,y="dx-calendar-other-month",c="dx-calendar-other-view",s="dx-calendar-cell",e="dx-calendar-empty-cell",p="dx-calendar-today",l="dx-calendar-selected-date",h="dx-calendar-contoured-date",a=v.addNamespace("dxclick","dxCalendar"),o="dxDateValueKey",f="CalendarView";u.dxCalendar.BaseView=u.Widget.inherit({NAME:f+"Base",_setDefaultOptions:function(){this.callBase(),this.option({date:new Date,focusStateEnabled:!1,cellTemplate:null,onCellClick:null,rowCount:3,colCount:4,allowValueSelection:!0,onValueChanged:null,onContouredDateChanged:null})},_init:function(){this.callBase();var t=this.option("value"),n=this.option("contouredDate");n&&this.option("contouredDate",this._calculateContouredDate(n)),this.option("value",new Date(t)),this.option("value").valueOf()||this.option("value",new Date(0,0,0,0,0,0)),this._initActions()},_initActions:function(){this._createCellClickOptionAction(),this._createCellClickAction(),this._valueChangedAction=this._createActionByOption("onValueChanged"),this._contouredDateChangedAction=this._createActionByOption("onContouredDateChanged")},_render:function(){this.callBase(),this._renderImpl()},_renderImpl:function(){this._$table=n("<table>"),this._renderBody(),this._renderContouredDate(),this._renderValue();var t=this._createAction(n.proxy(function(n){this._cellClickHandler(n.jQueryEvent)},this));this._$table.off(a).on(a,"td",function(n){t({jQueryEvent:n})});this.element().off("beforeactivate").on("beforeactivate",function(n){n.preventDefault()});this.element().append(this._$table)},_renderBody:function(){function l(f){var l=t._getCellData(i,f),a=n("<td>").appendTo(h).addClass(s).toggleClass(p,t._isTodayCell(l)).toggleClass(e,t._isDateOutOfRange(l)).toggleClass(c,t._isOtherView(l)).attr("data-value",r.getShortDate(l)).data(o,l);t.setAria({role:"option",label:t._getCellAriaLabel(l)},a),u?u.render({text:t._getCellText(l)},a,f):a.text(t._getCellText(l))}var t,u,i,f,h;for(this.$body=n("<tbody>").appendTo(this._$table),t=this,u=this.option("cellTemplate"),i=0,f=this.option("rowCount");i<f;i++)h=n("<tr>").appendTo(this.$body),this._iterateCells(l)},_iterateCells:function(n){for(var i=this.option("rtl"),r=this.option("colCount"),t=i?r-1:0;i?t>=0:t<r;)n(t),i?--t:++t},_isTodayCell:t.abstract,_isDateOutOfRange:t.abstract,_isOtherView:t.abstract,_getCellText:t.abstract,_getCellData:t.abstract,_supportedKeys:function(){return this._difference=r.getDifferenceInMonthForCells(this._getViewName()),n.extend(this.callBase(),{leftArrow:this._leftArrowHandler,rightArrow:this._rightArrowHandler,upArrow:this._upArrowHandler,downArrow:this._downArrowHandler,enter:this._enterHandler,home:this._homeHandler,end:this._endHandler})},_homeHandler:function(n){var i,u,f;n.preventDefault(),i=this.option("date"),u=this._getViewName(),r[t.inflector.camelize("same "+u)](i,new Date(this.option("min")))?(f=this.$body.find("."+s).not("."+e).first(),this.option("contouredDate",f.data(o))):this.option("contouredDate",r.getFirstDateView(u,i)),this._renderContouredDate()},_endHandler:function(n){var i,u,f;n.preventDefault(),i=this.option("date"),u=this._getViewName(),r[t.inflector.camelize("same "+u)](i,new Date(this.option("max")))?(f=this.$body.find("."+s).not("."+e).last(),this.option("contouredDate",f.data(o))):this.option("contouredDate",r.getLastDateView(u,i)),this._renderContouredDate()},_getViewName:function(){var t=f.length,n=this.NAME;return n=n.substr(t,n.length),n.toLowerCase()},_leftArrowHandler:function(n){n.preventDefault(),this.moveContouredDate(this.option("rtl")?1*this._difference:-1*this._difference)},_rightArrowHandler:function(n){n.preventDefault(),this.moveContouredDate(this.option("rtl")?-1*this._difference:1*this._difference)},_upArrowHandler:function(n){n.preventDefault(),this.moveContouredDate(-this.option("colCount")*this._difference)},_downArrowHandler:function(n){n.preventDefault(),this.moveContouredDate(this.option("colCount")*this._difference)},_enterHandler:function(){this.option("value",this.option("contouredDate"))},_renderContouredDate:function(){if(this.option("focusStateEnabled")){var r=this.option("contouredDate"),n=this._$table.find("."+h),t=this._getCellByDate(r);n.removeClass(h),t.addClass(h),this._ariaId=new DevExpress.data.Guid,this.setAria({id:i,selected:i},n),this.setAria({id:this._ariaId,selected:!0},t)}},_dispose:function(){this._keyboardProcessor=i,this.callBase()},_createCellClickOptionAction:function(){this._cellClickOptionAction=this._createActionByOption("onCellClick")},_cellClickHandler:function(n){this._cellClickAction({jQueryEvent:n})},_createCellClickAction:function(){this._cellClickAction=this._createAction(n.proxy(function(t){var i=n(t.jQueryEvent.currentTarget),r;i.hasClass(e)||(r=i.data(o),this._changeValue(r),this._cellClickOptionAction(t))},this))},_fitContouredCell:function(n,t){var i=this._getCellByDate(r.getShortDate(n));i.hasClass(e)&&this.option("contouredDate",t)},_changeValue:function(n){if(n){var i=this.option("value"),t=i?new Date(i):new Date;t.setDate(n.getDate()),t.setMonth(n.getMonth()),t.setFullYear(n.getFullYear()),t.setDate(n.getDate()),this.option("value",t)}else this.option("value",null)},_renderValue:function(){if(this.option("allowValueSelection")){var t=this.option("value"),n=this._getCellByDate(t);this._selectedCell&&this._selectedCell.removeClass(l),n.addClass(l),this._selectedCell=n}},_getCellAriaLabel:n.noop,getNextCircledDate:function(n){var t=this.option("contouredDate")&&new Date(this.option("contouredDate"));return t&&t.setMonth(t.getMonth()+n),t},focusInHandler:t.abstract,canNavigate:t.abstract,moveContouredDate:t.abstract,isBoundary:t.abstract,_optionChanged:function(n){var t=n.name;switch(t){case"value":this.option("contouredDate",n.value),this._renderValue(),this._valueChangedAction({jQueryEvent:i,value:n.value,previousValue:n.previousValue});break;case"contouredDate":this._fitContouredCell(n.value,n.previousValue),this._renderContouredDate(),this._contouredDateChangedAction({jQueryEvent:i,value:n.value,previousValue:n.previousValue,ariaId:this._ariaId});break;case"onCellClick":this._createCellClickOptionAction();break;case"cellTemplate":this._invalidate();break;case"onValueChanged":case"onContouredDateChanged":break;default:this.callBase(n)}}}),u.dxCalendar.views={month:u.dxCalendar.BaseView.inherit({NAME:f+"Month",_setDefaultOptions:function(){this.callBase(),this.option({firstDayOfWeek:i,rowCount:6,colCount:7})},_renderImpl:function(){this.callBase(),this._renderHeader()},_renderBody:function(){this.callBase(),this._$table.find("."+c).addClass(y)},_renderFocusTarget:n.noop,_getCellAriaLabel:function(n){return Globalize.format(n,"D")},_renderHeader:function(){var t=this,i=n("<thead>").prependTo(this._$table),r=n("<tr>").appendTo(i);this._iterateCells(function(i){n("<th>").text(t._getDayCaption(t._getFirstDayOfWeek()+i)).appendTo(r)})},_getNavigatorCaption:function(){var n=Globalize.culture().calendar.months.names[this.option("date").getMonth()],t=this.option("date").getFullYear();return this.option("rtl")?t+" "+n:n+" "+t},_isTodayCell:function(n){var t=new Date;return r.sameMonthAndYear(n,t)&&n.getDate()===t.getDate()},_isDateOutOfRange:function(n){var t=this.option("min"),i=this.option("max");return!r.dateInRange(n,t,i)},_isOtherView:function(n){return n.getMonth()!==this.option("date").getMonth()},_getCellText:function(n){return n.getDate()},_getDayCaption:function(n){var t=this.option("colCount");return Globalize.culture().calendar.days.namesAbbr[n%t]},_getCellData:function(n,t){var i=r.getFirstMonthDate(this.option("date")),f=i.getDay()-this._getFirstDayOfWeek(),e=this.option("colCount"),u=e*n-f;return u=f<0?u-e:u,i.setDate(i.getDate()+u+t),i},_getFirstDayOfWeek:function(){return this.option("firstDayOfWeek")||Globalize.culture().calendar.firstDay},moveContouredDate:function(n){var i=this.option("contouredDate"),t=i||this._calculateContouredDate(i),u=new Date(t.getFullYear(),t.getMonth(),t.getDate()+n);r.fixTimezoneGap(t,u),this.option("contouredDate",u)},_calculateContouredDate:function(n){var t=null,i=this.option("date"),u=this.option("value");return r.sameMonthAndYear(n,i)?t=n:r.sameMonthAndYear(u,i)&&(t=u),t||r.getFirstMonthDate(i)},focusInHandler:function(){this.option("contouredDate",this._calculateContouredDate(this.option("contouredDate")))},canNavigate:function(n){var t=new Date(this.option("date")),i=n<0?new Date(t.getFullYear(),t.getMonth()+n+1,0):new Date(t.getFullYear(),t.getMonth()+n,1);return r.dateInRange(i,this.option("min"),this.option("max"))},_getCellByDate:function(n){return this._$table.find("td[data-value='"+r.getShortDate(n)+"']")},isBoundary:function(n){return r.sameMonthAndYear(n,this.option("min"))||r.sameMonthAndYear(n,this.option("max"))},getNextCircledDate:function(n){var t=this.option("contouredDate")&&new Date(this.option("contouredDate")),i,u;return t&&(i=t.getDate(),t.setDate(1),t.setMonth(t.getMonth()+n),u=r.getLastMonthDate(t).getDate(),i>u?t.setDate(u):t.setDate(i)),t},getCircledDate:function(n,t){var r=t.pop(),u=r.getDate(),i=new Date(n);return i.setDate(u),i}}),year:u.dxCalendar.BaseView.inherit({NAME:f+"Year",_isTodayCell:function(n){return r.sameMonthAndYear(n,new Date)},_isDateOutOfRange:function(n){return!r.dateInRange(n,r.getFirstMonthDate(this.option("min")),r.getLastMonthDate(this.option("max")))},_isOtherView:function(){return!1},_getCellText:function(n){return Globalize.culture().calendar.months.names[n.getMonth()].slice(0,3)},_getCellData:function(n,t){var i=new Date(this.option("date")),r=this.option("colCount");return i.setDate(1),i.setMonth(n*r+t),i},_getCellByDate:function(n){var t=new Date(n);return t.setDate(1),this._$table.find("td[data-value='"+r.getShortDate(t)+"']")},_getCellAriaLabel:function(n){return Globalize.format(n,"Y")},_getNavigatorCaption:function(){return this.option("date").getFullYear()},moveContouredDate:function(n){var t=this.option("contouredDate")||this.option("date"),i=new Date(t.getFullYear(),t.getMonth()+n,t.getDate());r.fixTimezoneGap(t,i),this.option("contouredDate",i)},focusInHandler:function(){var n=this.option("date");this.option("contouredDate",new Date(n.getFullYear(),n.getMonth(),1))},canNavigate:function(n){var t=new Date(this.option("date")),i=n<0?new Date(t.getFullYear()-1,11,31):new Date(t.getFullYear()+1,1,1);return r.dateInRange(i,this.option("min"),this.option("max"))},isBoundary:function(n){return r.sameYear(n,this.option("min"))||r.sameYear(n,this.option("max"))},getCircledDate:function(n,t){var r=t.pop(),u=r.getMonth(),i=new Date(n);return i.setMonth(u),i.setDate(1),i}}),decade:u.dxCalendar.BaseView.inherit({NAME:f+"Decade",_isTodayCell:function(n){return r.sameYear(n,new Date)},_isDateOutOfRange:function(n){var t=this.option("min"),i=this.option("max");return!r.dateInRange(n.getFullYear(),t&&t.getFullYear(),i&&i.getFullYear())},_isOtherView:function(n){var t=new Date(n);return t.setMonth(1),!r.sameDecade(t,this.option("date"))},_getCellText:function(n){return n.getFullYear()},_getCellData:function(n,t){var i=this.option("colCount"),u=r.getFirstYearInDecade(this.option("date"))-1+n*i+t;return new Date(u,0,1)},_getCellAriaLabel:function(n){return this._getCellText(n)},_getNavigatorCaption:function(){var n=r.getFirstYearInDecade(this.option("date"));return n+"-"+(n+9)},moveContouredDate:function(n){var t=new Date(this.option("contouredDate")||this.option("date")),i;t.setMonth(0),i=new Date(t.getFullYear(),t.getMonth()+n,t.getDate()),r.fixTimezoneGap(t,i),this.option("contouredDate",i)},focusInHandler:function(){var n=this.option("date");this.option("contouredDate",new Date(n.getFullYear(),0,1))},_getCellByDate:function(n){var t=new Date(n);return t.setDate(1),t.setMonth(0),this._$table.find("td[data-value='"+r.getShortDate(t)+"']")},canNavigate:function(n){var t=new Date(this.option("date")),i=n<0?new Date(r.getFirstYearInDecade(t)-1,11,31):new Date(r.getFirstYearInDecade(t)+10,1,1);return r.dateInRange(i,this.option("min"),this.option("max"))},isBoundary:function(n){return r.sameDecade(n,this.option("min"))||r.sameDecade(n,this.option("max"))},getCircledDate:function(n,t){var r=t.pop(),u=r.getFullYear(),i=new Date(n);return i.setFullYear(i.getFullYear()+u%10),i.setMonth(0),i.setDate(1),i}}),century:u.dxCalendar.BaseView.inherit({NAME:f+"Century",_isTodayCell:function(n){return r.sameDecade(n,new Date)},_isDateOutOfRange:function(n){var t=r.getFirstYearInDecade(n),i=r.getFirstYearInDecade(this.option("min")),u=r.getFirstYearInDecade(this.option("max"));return!r.dateInRange(t,i,u)},_isOtherView:function(n){var t=new Date(n);return t.setMonth(1),!r.sameCentury(t,this.option("date"))},_getCellText:function(n){var t=n.getFullYear();return t+" - "+(t+9)},_getCellData:function(n,t){var i=this.option("colCount"),u=r.getFirstDecadeInCentury(this.option("date"))+(-1+n*i+t)*10;return new Date(u,0,1)},_getCellAriaLabel:function(n){return this._getCellText(n)},_getCellByDate:function(n){var t=new Date(n);return t.setDate(1),t.setMonth(0),t.setFullYear(r.getFirstYearInDecade(t)),this._$table.find("td[data-value='"+r.getShortDate(t)+"']")},_getNavigatorCaption:function(){var n=r.getFirstDecadeInCentury(this.option("date"));return n+"-"+(n+99)},moveContouredDate:function(n){var t=this._calculateContouredDate(this.option("contouredDate")),i=new Date(t.getFullYear(),t.getMonth()+n,t.getDate());r.fixTimezoneGap(t,i),this.option("contouredDate",i)},_calculateContouredDate:function(n){var t=null,i;return r.isDefined(n)?(t=new Date(n),t.setFullYear(r.getFirstYearInDecade(this.option("contouredDate")))):(i=this.option("date"),t=new Date(i),t.setFullYear(r.getFirstYearInDecade(i)),t.setDate(1)),t.setMonth(0),t},focusInHandler:function(){var n=this.option("date");this.option("contouredDate",new Date(r.getFirstYearInDecade(n),0,1))},canNavigate:function(n){var t=new Date(this.option("date")),i=n<0?new Date(r.getFirstDecadeInCentury(t)-1,11,31):new Date(r.getFirstDecadeInCentury(t)+100,1,1);return r.dateInRange(i,this.option("min"),this.option("max"))},isBoundary:function(n){return r.sameCentury(n,this.option("min"))||r.sameCentury(n,this.option("max"))}})}}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-calendar-navigator",f="dx-calendar-navigator-previous-month",e="dx-calendar-navigator-next-month",o="dx-calendar-navigator-previous-view",s="dx-calendar-navigator-next-view",h="dx-calendar-disabled-navigator-link",c="dx-calendar-caption-button";r.dxCalendar.Navigator=r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({onClick:null,onCaptionClick:null,text:""})},_init:function(){this.callBase(),this._initActions()},_initActions:function(){this._clickAction=this._createActionByOption("onClick"),this._captionClickAction=this._createActionByOption("onCaptionClick")},_render:function(){this.callBase(),this.element().addClass(u),this._renderButtons(),this._renderCaption()},_renderButtons:function(){var t=this,i=this.option("rtlEnabled")?-1:1,r,u,h;this._prevButton=this._createComponent(n("<a>"),"dxButton",{focusStateEnabled:!1,icon:"chevronleft",onClick:function(n){t._clickAction({direction:-i,jQueryEvent:n})},_templates:{}}),r=this._prevButton.element().addClass(o).addClass(f),this._nextButton=this._createComponent(n("<a>"),"dxButton",{focusStateEnabled:!1,icon:"chevronright",onClick:function(n){t._clickAction({direction:i,jQueryEvent:n})},_templates:{}}),u=this._nextButton.element().addClass(s).addClass(e),this._caption=this._createComponent(n("<a>").addClass(c),"dxButton",{focusStateEnabled:!1,onClick:function(n){t._captionClickAction({jQueryEvent:n})},_templates:{}}),h=this._caption.element(),this.element().append(r,h,u)},_renderCaption:function(){this._caption.option("text",this.option("text"))},toggleButton:function(n,t){var r="_"+n+"Button",i=this[r];i&&(i.option("disabled",t),i.element().toggleClass(h,t))},_optionChanged:function(n){var t=n.value;switch(n.name){case"text":this._renderCaption(t);break;default:this.callBase(n)}}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.browser,e=u.msie&&t.compareVersions(u.version,9)<0,o="dx-timeview",s="dx-timeview-clock",h="dx-timeview-field",c="dx-timeview-hourarrow",l="dx-timeview-minutearrow",f=function(n,t,i){e?a(n,t,i):v(n,t,i)},a=function(n,t,i){var u,f,e,r;t=t/180*Math.PI,u=Math.sin(t),f=Math.cos(t),n.css("filter","none"),e=n.width(),r=n.height(),n.css("filter",'progid:DXImageTransform.Microsoft.Matrix(sizingMethod="auto expand", M11 = '+f+", M12 = "+-u+", M21 = "+u+", M22 = "+f+")");var o=n.width(),s=n.height(),h=(o-e)/2,c=(s-r)/2;n.css("margin-left",-e/2+(r/2-i)*u-h),n.css("margin-top",r/2-(r/2-i)*f-c)},v=function(n,t,i){n.css("transform","rotate("+t+"deg) translate(0,"+i+"px)")};t.registerComponent("dxTimeView",r,r.Editor.inherit({_setDefaultOptions:function(){this.callBase(),this.option({value:new Date(n.now()),_arrowOffset:0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"android"},options:{_arrowOffset:15}},{device:{platform:"generic"},options:{_arrowOffset:5}}])},_getValue:function(){return this.option("value")||new Date},_init:function(){this.callBase(),this.element().addClass(o)},_render:function(){this.callBase(),this._renderBox(),this._updateTime()},_renderBox:function(){var t=n("<div>").appendTo(this.element());this._createComponent(t,"dxBox",{height:"100%",width:"100%",direction:"col",items:[{ratio:1,shrink:0,baseSize:"auto",template:n.proxy(this._renderClock,this)},{ratio:0,shrink:0,baseSize:50,template:n.proxy(this._renderField,this)}]})},_renderClock:function(t,i,r){this._$hourArrow=n("<div>").addClass(c),this._$minuteArrow=n("<div>").addClass(l),r.addClass(s).append(this._$hourArrow).append(this._$minuteArrow),this.setAria("role","presentation",r)},_updateClock:function(){var n=this._getValue(),t=n.getHours()*30+n.getMinutes()/2,i=n.getMinutes()*6;f(this._$hourArrow,t,this.option("_arrowOffset")),f(this._$minuteArrow,i,this.option("_arrowOffset"))},_renderField:function(){return this._createHourBox(),this._createMinuteBox(),this._createComponent(n("<div>").addClass(h),"dxBox",{direction:"row",align:"center",crossAlign:"center",items:[{ratio:0,shrink:0,baseSize:"auto",template:n.proxy(function(){return this._hourBox.element()},this)},{ratio:0,shrink:0,baseSize:"auto",template:Globalize.culture().calendar[":"]},{ratio:0,shrink:0,baseSize:"auto",template:n.proxy(function(){return this._minuteBox.element()},this)}]}).element()},_createHourBox:function(){this._hourBox=this._createComponent(n("<div>"),"dxNumberBox",n.extend({min:-1,max:24,value:this._getValue().getHours(),onValueChanged:n.proxy(function(n){var i=(24+n.value)%24,t;this._hourBox.option("value",i),t=new Date(this._getValue()),t.setHours(i),this.option("value",t)},this)},this._getNumberBoxConfig())),this._hourBox.setAria("label","hours")},_createMinuteBox:function(){this._minuteBox=this._createComponent(n("<div>"),"dxNumberBox",n.extend({min:-1,max:60,value:this._getValue().getMinutes(),onValueChanged:n.proxy(function(n){var i=(60+n.value)%60,t;this._minuteBox.option("value",i),t=new Date(this._getValue()),t.setMinutes(i),this.option("value",t)},this)},this._getNumberBoxConfig())),this._minuteBox.setAria("label","minutes")},_getNumberBoxConfig:function(){return{showSpinButtons:!0,disabled:this.option("disabled"),valueFormat:function(n){return(n<10?"0":"")+n}}},_updateField:function(){this._hourBox&&this._hourBox.option("value",this._getValue().getHours()),this._minuteBox&&this._minuteBox.option("value",this._getValue().getMinutes())},_updateTime:function(){this._updateClock(),this._updateField()},_visibilityChanged:function(n){n&&this._updateTime()},_toggleDisabledState:function(n){this._hourBox&&this._hourBox.option("disabled",n),this._minuteBox&&this._minuteBox.option("disabled",n)},_optionChanged:function(n){switch(n.name){case"value":this._updateTime(),this.callBase(n);break;case"_arrowOffset":break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var i=t.ui,e=i.events,r=i.dateUtils,u="dx-dateview",s="dx-dateview-wrapper",h="dx-dateview-rollers",o="dx-dateviewroller",c="dx-state-active",l="dx-dateviewroller-current",f="dx-dateview-item",a="dx-dateview-item-selected",v="dx-dateview-item-selected-frame",y="dx-dateview-item-selected-border",p="dx-dateview-button-up",w="dx-dateview-button-down";t.registerComponent("dxDateViewRoller",i,i.dxScrollable.inherit({_setDefaultOptions:function(){this.callBase(),this.option({clickableItems:!1,showScrollbar:!1,useNative:!1,selectedIndex:0,bounceEnabled:!1,items:[],onClick:null,showOnClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"win8"},options:{clickableItems:!0,showOnClick:!0}},{device:{platform:"generic"},options:{scrollByContent:!0}}])},_init:function(){this.callBase(),this._renderSelectedItemFrame(),this._renderControlButtons()},_render:function(){this.callBase(),n.each(this._strategy._scrollers,function(t,i){i._correctLocation=n.noop}),this.element().addClass(o),this._renderContainerClick(),this._renderItems(),this._renderSelectedValue(),this._renderItemsClick(),this._wrapAction("_endAction",n.proxy(this._endActionHandler,this))},_renderContainerClick:function(){if(this.option("showOnClick")){var n=e.addNamespace("dxclick",this.NAME),t=this._createActionByOption("onClick");this._$container.off(n).on(n,function(n){t({jQueryEvent:n})})}},_wrapAction:function(n,t){var i=this._strategy,r=i[n];i[n]=function(){return t.apply(this,arguments),r.apply(this,arguments)}},_renderItems:function(){var i=this.option("items")||[],t=n();this._$content.empty(),n.each(i,function(){t=t.add(n("<div>").addClass(f).append(this))}),this._$content.append(t),this._$items=t,this.update()},_renderSelectedItemFrame:function(){n("<div>").addClass(v).append(n("<div>").addClass(y)).appendTo(this._$container)},_renderControlButtons:function(){this._createComponent(n("<div>").addClass(p).insertAfter(this._$container),"dxButton",{onClick:n.proxy(this._upButtonClickHandler,this),_templates:{}}),this._createComponent(n("<div>").addClass(w).insertAfter(this._$container),"dxButton",{onClick:n.proxy(this._downButtonClickHandler,this),_templates:{}})},_renderSelectedValue:function(n){n===undefined&&(n=this.option("selectedIndex")),n=this._fitIndex(n);var t=this._getItemPosition(n);this.option().selectedIndex=n,this._moveTo({top:t}),this._renderActiveStateItem()},_fitIndex:function(n){var i=this.option("items")||[],t=i.length;return n>=t?t-1:n<0?0:n},_renderItemsClick:function(){var t="."+f,i=e.addNamespace("dxclick",this.NAME);if(this.element().off(i,t),this.option("clickableItems"))this.element().on(i,t,n.proxy(this._itemClickHandler,this))},_itemClickHandler:function(n){this._renderSelectedValue(this._itemElementIndex(this._closestItemElement(n)))},_itemElementIndex:function(n){return this._itemElements().index(n)},_closestItemElement:function(n){return n.currentTarget},_itemElements:function(){return this.element().find("."+f)},_renderActiveStateItem:function(){var t=this.option("selectedIndex");n.each(this._$items,function(i){n(this).toggleClass(a,t===i)})},_upButtonClickHandler:function(){this._animation=!0,this.option("selectedIndex",this.option("selectedIndex")-1)},_downButtonClickHandler:function(){this._animation=!0,this.option("selectedIndex",this.option("selectedIndex")+1)},_getItemPosition:function(n){return Math.round(this._itemHeight()*n)},_moveTo:function(n){n=this._normalizeLocation(n);var r=this._location(),i={x:-(r.left-n.left),y:-(r.top-n.top)};this._isVisible()&&(i.x||i.y)&&(this._strategy._prepareDirections(!0),this._animation?(t.fx.stop(this._$content),t.fx.animate(this._$content,{duration:200,type:"slide",to:{top:n.top}}),delete this._animation):this._strategy.handleMove({delta:i}))},_validate:function(n){return this._strategy.validate(n)},_endActionHandler:function(){if(this._changedByIndex){this._changedByIndex=!1,this._renderSelectedValue();return}var n=-this._location().top/this._itemHeight(),t=Math.round(n);this._animation=!0,this._renderSelectedValue(t)},_itemHeight:function(){var n=this._$items.first();return n.outerHeight()+parseFloat(n.css("margin-top")||0)},_toggleActive:function(n){this.element().toggleClass(c,n)},_isVisible:function(){return this._$container.is(":visible")},_optionChanged:function(n){switch(n.name){case"selectedIndex":this._renderSelectedValue(),this._changedByIndex=!0,this._strategy.handleEnd({velocity:{x:0,y:0}});break;case"items":this._renderItems(),this._renderSelectedValue();break;case"clickableItems":this._renderItemsClick();break;case"onClick":case"showOnClick":this._renderContainerClick();break;default:this.callBase(n)}}}),i),t.registerComponent("dxDateView",i,i.Editor.inherit({_valueOption:function(){return new Date(this.option("value"))==="Invalid Date"?new Date:new Date(this.option("value"))},_setDefaultOptions:function(){this.callBase(),this.option({minDate:new Date(1),maxDate:new Date((new Date).setHours(23,59,59)+r.TEN_YEARS),format:"date",value:new Date,culture:Globalize.culture().name,activeStateEnabled:!0,showNames:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"win8"},options:{showNames:!0}}])},_render:function(){this.callBase(),this.element().addClass(u),this._toggleFormatClasses(this.option("format"))},_toggleFormatClasses:function(n,t){this.element().addClass(u+"-"+n),t&&this.element().removeClass(u+"-"+t)},_wrapper:function(){return this._$wrapper},_renderContentImpl:function(){this._$wrapper=n("<div>").appendTo(this.element()).addClass(s),this._renderRollers()},_renderRollers:function(){var t=this;t._$rollersContainer||(t._$rollersContainer=n("<div>").appendTo(t._wrapper()).addClass(h)),t._$rollersContainer.empty(),t._createRollerConfigs(),t._rollers={},n.each(t._rollerConfigs,function(i){var r=n("<div>").appendTo(t._$rollersContainer).addClass(o+"-"+t._rollerConfigs[i].type);t._rollers[t._rollerConfigs[i].type]=t._createComponent(r,"dxDateViewRoller",{items:t._rollerConfigs[i].displayItems,selectedIndex:t._rollerConfigs[i].selectedIndex,showScrollbar:!1,onStart:function(n){var r=n.component;r._toggleActive(!0),t._setActiveRoller(t._rollerConfigs[i],r.option("selectedIndex"))},onEnd:function(n){var r=n.component;t._setRollerState(t._rollerConfigs[i],r.option("selectedIndex")),r._toggleActive(!1)},onClick:function(n){var r=n.component;r._toggleActive(!0),t._setActiveRoller(t._rollerConfigs[i],r.option("selectedIndex")),t._setRollerState(t._rollerConfigs[i],r.option("selectedIndex")),r._toggleActive(!1)}})})},_setActiveRoller:function(t){var i=t&&this._rollers[t.type];n.each(this._rollers,function(){this._$element.toggleClass(l,this===i)})},_updateRollersPosition:function(){var t=this;n.each(this._rollers,function(n){var i=t._rollerConfigs[n].getIndex(t._getCurrentDate());this.update(),this._renderSelectedValue(i)})},_setRollerState:function(n,t){if(t!==n.selectedIndex){var f=n.valueItems[t],e=n.setValue,i=new Date(this._getCurrentDate()),u=i.getDate();n.type==="month"?u=Math.min(u,r.getMaxMonthDay(i.getFullYear(),f)):n.type==="year"&&(u=Math.min(u,r.getMaxMonthDay(f,i.getMonth()))),i.setDate(u),i[e](f),this.option("value",i),n.selectedIndex=t}n.type==="year"&&(this._refreshMonthRoller(),this._refreshDayRoller()),n.type==="month"&&this._refreshDayRoller()},_refreshMonthRoller:function(){var t=this._rollers.month,n;t&&(this._createRollerConfig("month"),n=this._rollerConfigs.month,n.displayItems.length!==t.option("items").length&&t.option({items:n.displayItems,selectedIndex:n.selectedIndex}))},_refreshDayRoller:function(){var t=this._rollers.day,n;t&&(this._createRollerConfig("day"),n=this._rollerConfigs.day,n.displayItems.length!==t.option("items").length&&t.option({items:n.displayItems,selectedIndex:n.selectedIndex}))},_createRollerConfigs:function(t){var i=this;t=t||i.option("format"),i._rollerConfigs={},n.each(i._getFormatPattern(t).split(/\W+/),function(t,u){n.each(r.DATE_COMPONENTS_INFO,function(t,r){n.inArray(u,r.possibleFormats)>-1&&i._createRollerConfig(t)})})},_getFormatPattern:function(n){var t=Globalize.culture(this.option("culture")),i="";return n==="date"?i=t.calendar.patterns.d:n==="time"?i=t.calendar.patterns.t:n==="datetime"&&(i=[t.calendar.patterns.d,t.calendar.patterns.t].join(" ")),i},_createRollerConfig:function(n){for(var u=r.DATE_COMPONENTS_INFO[n],f=this._calculateRollerConfigValueRange(n),e=f.startValue,s=f.endValue,h=u.formatter,c=this.option("showNames"),o=this._getCurrentDate(),t={type:n,setValue:u.setter,valueItems:[],displayItems:[],getIndex:function(n){return n[u.getter]()-e}},i=e;i<=s;i++)t.valueItems.push(i),t.displayItems.push(h(i,c,o));t.selectedIndex=t.getIndex(o),this._rollerConfigs[n]=t},_getCurrentDate:function(){var n=this.option("value"),t=this.option("minDate"),i=this.option("maxDate");return t&&n.getTime()<=t.getTime()?n=t:i&&n.getTime()>=i.getTime()&&(n=i),n},_calculateRollerConfigValueRange:function(n){var t=this._getCurrentDate(),i=this.option("minDate"),u=this.option("maxDate"),o=t.getFullYear()===i.getFullYear(),c=o&&t.getMonth()===i.getMonth(),s=t.getFullYear()===u.getFullYear(),l=s&&t.getMonth()===u.getMonth(),h=r.DATE_COMPONENTS_INFO[n],e=h.startValue,f=h.endValue;return n==="year"&&(e=i.getFullYear(),f=u.getFullYear()),n==="month"&&(o&&(e=i.getMonth()),s&&(f=u.getMonth())),n==="day"&&(f=r.getMaxMonthDay(t.getFullYear(),t.getMonth()),o&&c&&(e=i.getDate()),s&&l&&(f=u.getDate())),{startValue:e,endValue:f}},_refreshRollers:function(){this._refreshMonthRoller(),this._refreshDayRoller()},_optionChanged:function(n){switch(n.name){case"showNames":case"minDate":case"maxDate":case"culture":case"format":this._renderRollers(),this._toggleFormatClasses(n.value,n.previousValue);break;case"visible":this.callBase(n),n.value&&this._renderRollers();break;case"value":this.option("value",this._valueOption()),this._refreshRollers(),this._updateRollersPosition();break;default:this.callBase(n)}},_clean:function(){this.callBase(),delete this._$rollersContainer},_dispose:function(){clearTimeout(this._deferredRenderDayTimeout),clearTimeout(this._deferredRenderMonthTimeout),this.callBase()}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f=t.support,s=t.devices,u=r.dateUtils,e=t.utils,o="dx-datebox",h="dx-datebox-native",c="dx-datebox-overlay",l=10,a=48,v=function(n){var t=n[0].style.width;return t&&t!=="auto"&&t!=="inherit"?!0:!1},y=function(t,i,r){var u=n("<div>").text(t).css({"font-style":i.css("font-style"),"font-variant":i.css("font-variant"),"font-weight":i.css("font-weight"),"font-size":i.css("font-size"),"font-family":i.css("font-family"),"letter-spacing":i.css("letter-spacing"),"padding-left":i.css("padding-left"),"padding-right":i.css("padding-right"),border:i.css("border"),visibility:"hidden","white-space":"nowrap",position:"absolute",float:"left"}),f;return u.appendTo(r),f=u.outerWidth()+l+(i.prop("type")!=="text"?a:0),u.remove(),f};t.registerComponent("dxDateBox",r,r.dxDropDownEditor.inherit({ctor:function(t,i){this._userOptions=n.extend({},i),this.callBase(t,i)},_supportedKeys:function(){return n.extend(this.callBase(),this._strategy.supportedKeys())},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{closeOnValueChange:{since:"14.2",message:"Use the 'applyValueMode' option instead"},useNative:{since:"15.1",message:"'useNative' option is deprecated in 15.1. Use the 'pickerType' option instead"},useCalendar:{since:"15.1",message:"'useCalendar' option is deprecated in 15.1. Use the 'pickerType' option instead"}})},_setDefaultOptions:function(){this.callBase(),this.option({format:"date",value:new Date,min:i,max:i,useCalendar:!1,maxZoomLevel:"month",minZoomLevel:"century",useNative:!0,pickerType:"native"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"ios"},options:{showPopupTitle:!0}},{device:function(n){return n.platform==="android"},options:{buttonsLocation:"bottom after"}},{device:{platform:"win8"},options:{buttonsLocation:"bottom after"}},{device:function(){var i=t.devices.real(),n=i.platform,r=i.version;return n==="generic"||n==="win8"||n==="android"&&t.compareVersions(r,[4,4])<0},options:{pickerType:"rollers"}},{device:{platform:"generic"},options:{pickerType:"calendar",buttonsLocation:"bottom after"}}])},_initOptions:function(i){if(t.utils.isDefined(i.closeOnValueChange)&&!t.utils.isDefined(i.applyValueMode)){var r=i.closeOnValueChange?"instantly":"useButtons";n.extend(i,{applyValueMode:r})}this.callBase(i)},_updatePickerOptions:function(){this.option(this._getPickerOptions())},_getPickerOptions:function(){var r={},n,t,f,e,u;return this._hasPickerTypePriority?(n=this.option("pickerType"),this.option().useNative=n==="native",this.option().useCalendar=n==="calendar"||n==="list"):(t=this._userOptions,t&&(n=this.option("pickerType"),t.useNative===i&&this.option("useNative",n==="native"),t.useCalendar===i&&this.option("useCalendar",n==="list"||n==="calendar")),f=this.option("useNative"),e=this.option("useCalendar"),t&&t.useCalendar===!0&&t.format==="time"?r.pickerType="list":f?r.pickerType="native":e?(u=this.option("format"),r.pickerType=u==="date"||u==="datetime"?"calendar":"list"):r.pickerType="rollers"),r},_init:function(){this._hasPickerTypePriority=this._userOptions.pickerType!==i||this._userOptions.useNative===i&&this._userOptions.useCalendar===i,this._updatePickerOptions(),this._initStrategy(),this.option(n.extend({},this._strategy.getDefaultOptions(),this._userOptions)),delete this._userOptions,this.callBase(),this._strategy.initFormat()},_initStrategy:function(){this._parseFormat(this.option("format"));var n=this._getStrategyName(this._formatType),t=r.dxDateBox.renderingStrategies[n];this._strategy&&this._strategy.NAME===n||(this._strategy=new t(this))},_getStrategyName:function(n){switch(this.option("pickerType")){case"calendar":case"list":return n==="date"?"Calendar":n==="datetime"?"CalendarWithTime":"List";case"rollers":case"native":return this.option().useCalendar?"Calendar":"DateView"}},_parseFormat:function(n){var i=/h|m|s/g.test(n),r=/d|M|Y/g.test(n),t="";r&&(t+="date"),i&&(t+="time");switch(n){case"date":n=Globalize.culture().calendar.patterns.d;break;case"datetime":n=Globalize.culture().calendar.patterns.d+" "+Globalize.culture().calendar.patterns.t;break;case"time":n=Globalize.culture().calendar.patterns.t}n&&this._setFormatString(n),t&&this._setFormatType(t)},_setFormatString:function(n){this._formatString=n},_setFormatType:function(n){this._formatType=n},_attachChildKeyboardEvents:function(){this._strategy.attachKeyboardEvents(this._keyboardProcessor)},_render:function(){this.element().addClass(o).addClass(o+"-"+this.option("format")),this.callBase(),this._strategy.render(),this._isNativeView()&&this.element().addClass(h),this._updateSize(),this._updateDropButtonVisibility()},_popupShowingHandler:function(){this.callBase(),this._strategy.popupShowingHandler()},_popupConfig:function(){var t=this.callBase();return n.extend(this._strategy.popupConfig(t),{title:this._getPopupTitle(),dragEnabled:!1})},_renderPopup:function(){this.callBase(),this._popup._$wrapper.addClass(c)},_renderPopupContent:function(){this.callBase(),this._strategy.renderPopupContent()},_popupHiddenHandler:function(){this.callBase(),this._strategy.popupHiddenHandler()},_visibilityChanged:function(n){n&&this._updateSize()},_updateSize:function(){var n=this.element(),r=this.option("width"),f=e.isDefined(r)||v(n)&&!this._isSizeUpdatable,o=n.is(":visible"),h=this.option("pickerType"),c=h!=="rollers"&&s.current().platform==="generic";if(!f&&c&&o){var l=this._input(),t=Globalize.culture().calendar,i=this.option("formatString"),a=Globalize.format(u.getLongestDate(i,t.months.names,t.days.names),i);n.width(y(a,l,this.element())),this._isSizeUpdatable=!0}},_usingNativeDatePicker:function(){return f.inputType(this.option("mode"))&&this.option("pickerType")==="native"},_readOnlyPropValue:function(){return this.callBase()||this.option("pickerType")==="rollers"},_checkIfClearButtonShouldBeRendered:function(){return!this._isNativeView()&&this.callBase()},_renderValue:function(){var n=this.option("mode"),t=this.option("value"),i=u.FORMATS_MAP[n],r=this._getPattern(i);this._validateValue(t),n!=="text"?this.option("text",u.toStandardDateFormat(t,n,r)):this.option("text",Globalize.format(t,this.option("formatString"))),this._strategy.renderValue(),this.callBase(),this._textHasBeenChanged=!1},_getPattern:function(n){return f.inputType(this.option("mode"))?null:Globalize.culture().calendar.patterns[n]},_valueChangeEventHandler:function(){var i=this.option("text"),t=this._strategy.getParsedText(i,this.option("formatString")),r=this.option("value"),o=new Date(r&&r.valueOf()),f=this.option("mode"),e=(f!=="text"?u.mergeDates(o,t,f):t)||null;this._text=i,this._textHasBeenChanged=!0,this._validateValue(t)?this.option("value",e):this.option().value=null,this.validationRequest.fire({value:e,editor:this})},_validateValue:function(n){var o=this.option("text"),r=!!o,u=!!n,f=u&&e.dateInRange(n,this.option("min"),this.option("max")),t=this._textHasBeenChanged&&!r||!r&&!n||f,i="";return u?f||(i=Globalize.localize("validation-range")):i=Globalize.localize("dxDateBox-validation-datetime"),this.option({isValid:t,validationError:t?null:{editorSpecific:!0,message:i}}),t},_updateDropButtonVisibility:function(){this.option("showDropButton",t.devices.real().platform!=="generic"||this.option("pickerType")!=="native")},_renderProps:function(){this.callBase(),this._input().attr("autocomplete","off")},_renderOpenedState:function(){this._openedStateRendering=!0,this._isNativeView()||this.callBase(),this._strategy.renderOpenedState(),this._openedStateRendering=!1},_isNativeView:function(){return this.option("pickerType")==="native"},_popupShownHandler:function(){this.callBase.apply(this,arguments),this._text=this.option("text")},_getPopupTitle:function(){var n=this.option("placeholder"),t;if(!n){t=this.option("format");switch(t){case"time":n=Globalize.localize("dxDateBox-simulatedDataPickerTitleTime");break;case"date":case"datetime":n=Globalize.localize("dxDateBox-simulatedDataPickerTitleDate")}}return n},_renderPlaceholder:function(){var n=this._getPopupTitle();this._popup&&this._popup.option("title",n),this.callBase()},_refreshStrategy:function(){this._strategy.dispose(),this._initStrategy(),this._strategy.initFormat(),this.option(this._strategy.getDefaultOptions()),this._refresh()},_applyButtonHandler:function(){this.option("value",this._strategy.getValue()),this.callBase()},_dispose:function(){this._strategy&&this._strategy.dispose(),this.callBase()},_optionChanged:function(n){switch(n.name){case"useCalendar":case"useNative":this._hasPickerTypePriority=!1,this._updatePickerOptions();break;case"showClearButton":this.callBase.apply(this,arguments),this._updateSize();break;case"pickerType":this._hasPickerTypePriority=!0,this._updatePickerOptions(),this._refreshStrategy(),this._invalidate();break;case"format":this._updatePickerOptions(),this._refreshStrategy(),this._updateSize();break;case"placeholder":this._renderPlaceholder();break;case"readOnly":case"min":case"max":case"interval":case"minZoomLevel":case"maxZoomLevel":this._invalidate();break;case"type":throw t.Error("E1020");case"formatString":case"formatWidthCalculator":break;case"closeOnValueChange":var i=n.value?"instantly":"useButtons";this.option("applyValueMode",i);break;case"applyValueMode":this._suppressDeprecatedWarnings(),this.option("closeOnValueChange",n.value==="instantly"),this._resumeDeprecatedWarnings(),this.callBase.apply(this,arguments);break;case"text":this._strategy.textChangedHandler(n.value),this.callBase.apply(this,arguments);break;case"isValid":this.callBase.apply(this,arguments),this._updateSize();break;default:this.callBase.apply(this,arguments)}}})),r.dxDateBox.renderingStrategies={}}(jQuery,DevExpress),function(n,t){var r=t.ui;r.dxDateBox.strategy=t.Class.inherit({ctor:function(n){this.dateBox=n},widgetOption:function(){return this._widget&&this._widget.option.apply(this._widget,arguments)},_renderWidget:function(t){t=t||n("<div>"),this._widget=this._createWidget(t),this._widget.element().appendTo(this._getWidgetContainer())},_createWidget:function(n){return this.dateBox._createComponent(n,this._getWidgetName(),this._getWidgetOptions())},_getWidgetOptions:t.abstract,_getWidgetName:t.abstract,initFormat:function(){this.dateBox.option("mode","text")},supportedKeys:n.noop,attachKeyboardEvents:function(n){this._widgetKeyboardProcessor=n.attachChildProcessor()},getParsedText:function(n,t){return Globalize.parseDate(n,t)},getDefaultOptions:t.abstract,_getDateBoxClass:t.abstract,renderOpenedState:function(){this.dateBox.option("opened")&&this._updateValue()},popupConfig:t.abstract,renderPopupContent:function(){var t=this._getPopup();t._wrapper().addClass(this._getPopupWrapperClass()),this._renderWidget();t.content().parent().off("mousedown").on("mousedown",n.proxy(this._preventFocusOnPopup,this))},_preventFocusOnPopup:function(n){n.preventDefault()},_getWidgetContainer:function(){return this._getPopup().content()},_getPopup:function(){return this.dateBox._popup},_getPopupWrapperClass:t.abstract,popupShowingHandler:n.noop,popupHiddenHandler:n.noop,_getDateBoxValue:function(){return this.dateBox.option("value")},_updateValue:function(){this._widget&&this._widget.option("value",this._getDateBoxValue())},_valueChangedHandler:function(n){this.dateBox.option("opened")&&this.dateBox.option("applyValueMode")==="instantly"&&this.dateBox.option("value",n.value)},textChangedHandler:n.noop,renderValue:function(){this.dateBox.option("opened")&&this._updateValue()},getValue:function(){return this._widget.option("value")},render:function(){this.dateBox.element().addClass(this._getDateBoxClass())},dispose:function(){this.dateBox.element().removeClass(this._getDateBoxClass());var n=this._getPopup();n&&(n._wrapper().removeClass(this._getPopupWrapperClass()),n.content().empty())}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.utils,f="dx-datebox-with-calendar",e="dx-datebox-calendar-overlay";r.dxDateBox.renderingStrategies.Calendar=r.dxDateBox.strategy.inherit({NAME:"Calendar",supportedKeys:function(){return{tab:function(){this.close()},rightArrow:function(){if(this.option("opened"))return!0},leftArrow:function(){if(this.option("opened"))return!0},enter:n.proxy(function(n){if(this.dateBox.option("opened")){if(this.dateBox._text!==n.target.value)return this.dateBox._valueChangeEventHandler(n),!1;if(this._widget.option("zoomLevel")===this._widget.option("maxZoomLevel")){var t=this._widget._view.option("contouredDate");t&&this.dateBox.option("value",t),this.dateBox.close(),this.dateBox._valueChangeEventHandler(n)}else return!0}},this)}},getDefaultOptions:function(){return{formatString:Globalize.culture().calendar.patterns.d}},_getDateBoxClass:function(){return f},_getPopupWrapperClass:function(){return e},_getWidgetName:function(){return"dxCalendar"},_getWidgetOptions:function(){return n.extend(this.dateBox.option("calendarOptions"),{value:this._getDateBoxValue(),_keyboardProcessor:this._widgetKeyboardProcessor,min:this.dateBox.option("min"),max:this.dateBox.option("max"),onValueChanged:n.proxy(this._valueChangedHandler,this),onCellClick:n.proxy(this._cellClickHandler,this),tabIndex:null,maxZoomLevel:this.dateBox.option("maxZoomLevel"),minZoomLevel:this.dateBox.option("minZoomLevel"),onContouredChanged:n.proxy(this._refreshActiveDescendant,this)})},_refreshActiveDescendant:function(n){this.dateBox.setAria("activedescendant",n.actionValue)},popupConfig:function(i){var u=i.buttons,f=this.dateBox.option("buttonsLocation"),r=[];return r=f!=="default"?t.utils.splitPair(f):["bottom","center"],this.dateBox.option("applyValueMode")==="useButtons"&&u.unshift({widget:"button",toolbar:r[0],location:r[1]==="after"?"before":r[1],options:{onClick:n.proxy(function(){this._widget._toTodayView()},this),text:Globalize.localize("dxCalendar-todayButtonText"),type:"today"}}),n.extend(i,{buttons:u})},_valueChangedHandler:function(n){if(!this.dateBox._openedStateRendering){var t=this.dateBox,i=n.value,r=n.previousValue,f=u.sameMonthAndYear(i,r)&&i.getDate()===r.getDate();f||t.option("applyValueMode")==="instantly"&&t.option("value",this.getValue())}},_getParsedValue:function(){return this.getParsedText(this.dateBox.option("text"),this.dateBox.option("formatString"))},_updateValue:function(n){var t=this._getParsedValue(),i;t||n||(t=new Date),this._widget&&(i=this.dateBox.option("value"),t&&(i&&t.setHours(i.getHours(),i.getMinutes(),i.getSeconds()),this._widget.option("value",t)))},textChangedHandler:function(){this.dateBox.option("opened")&&this._widget&&this._updateValue(!0)},_cellClickHandler:function(){var n=this.dateBox;n.option("applyValueMode")==="instantly"&&n.option({opened:n._textHasBeenChanged,value:this.getValue()})},dispose:function(){this.dateBox.off("optionChanged"),this.callBase()}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-calendar-with-time-picker",f="dx-calendar-with-time-picker-container";r.dxDateBox.renderingStrategies.CalendarWithTime=r.dxDateBox.renderingStrategies.Calendar.inherit({NAME:"CalendarWithTime",supportedKeys:function(){return n.extend(this.callBase(),{tab:function(n){this.option("opened")===!0&&(n.preventDefault(),this._strategy._timeView._hourBox.focus())}})},getDefaultOptions:function(){return n.extend(this.callBase(),{formatString:Globalize.culture().calendar.patterns.d+" "+Globalize.culture().calendar.patterns.t,applyValueMode:"useButtons",buttonsLocation:"bottom after",showPopupTitle:!1})},_renderWidget:function(){this.callBase(),this._timeView=this.dateBox._createComponent(n("<div>"),"dxTimeView",{value:this.dateBox.option("value"),onValueChanged:n.proxy(this._valueChangedHandler,this)})},_updateValue:function(n){var t=this._getParsedValue();t||n||(t=new Date),this.callBase.apply(this,arguments),this._timeView&&t&&this._timeView.option("value",t)},renderPopupContent:function(){this.callBase();var t=this._getPopup().content().addClass(f),i=this.dateBox._createComponent(n("<div>").appendTo(t),"dxBox",{direction:"row",crossAlign:"start",items:[{ratio:0,shrink:0,baseSize:"auto",name:"calendar"},{ratio:0,shrink:0,baseSize:"auto",name:"time"}],itemTemplate:n.proxy(function(t){switch(t.name){case"calendar":return n("<div>").append(this._widget.element());case"time":return n("<div>").append(this._timeView.element())}},this)});this._removeMinWidthTimer=setTimeout(function(){i.option("_layoutStrategy")==="fallback"&&t.find(".dx-timeview-clock").css("minWidth",0)},0),this._attachTabHandler()},_attachTabHandler:function(){var n=this.dateBox,t=function(t){t.shiftKey&&(t.preventDefault(),n.focus())};this._timeView._hourBox.registerKeyHandler("tab",t)},_preventFocusOnPopup:function(t){n(t.target).hasClass("dx-texteditor-input")||(this.callBase.apply(this,arguments),this.dateBox.element().hasClass("dx-state-focused")||this.dateBox.focus())},getValue:function(){var n=this._widget.option("value"),t=this._timeView.option("value");return n=n?new Date(n):new Date(1970,0,1,0,0,0),n.setHours(t.getHours(),t.getMinutes(),t.getSeconds()),n},render:function(){this.dateBox.element().addClass(u),this.callBase()},dispose:function(){clearTimeout(this._removeMinWidthTimer),this.dateBox.element().removeClass(u),this.callBase();var n=this._getPopup();n&&n._wrapper().removeClass(this._getPopupWrapperClass())}})}(jQuery,DevExpress);var DATEVIEW_PICKER_OVERLAY_CLASS="dx-dateview-picker-overlay";(function(n,t){var u=t.ui,f=t.support,r=u.dateUtils,e="dx-datebox-dateview";u.dxDateBox.renderingStrategies.DateView=u.dxDateBox.strategy.inherit({NAME:"DateView",popupShowingHandler:function(){this._widget.option("visible",!0)},popupHiddenHandler:function(){this._widget.option("visible",!1)},getDefaultOptions:function(){return{openOnFieldClick:!0,applyButtonText:Globalize.localize("Done")}},_getDateBoxClass:function(){return e},popupConfig:function(){return{showTitle:!0,buttons:this.dateBox._popupButtonsConfig(),defaultOptionsRules:[{device:{platform:"win8"},options:{showNames:!0}},{device:{platform:"win8",phone:!0},options:{fullScreen:!0,animation:null}},{device:function(n){return n.platform!=="win8"},options:{width:333,height:331}},{device:{platform:"generic"},options:{width:"auto",height:"auto"}},{device:{platform:"ios"},options:{width:"auto",height:"auto"}},{device:{platform:"ios",phone:!0},options:{width:"100%",position:{my:"bottom",at:"bottom",of:window}}}]}},getParsedText:function(n){return r.fromStandardDateFormat(n)},_renderWidget:function(){var t,i;if(this.dateBox._usingNativeDatePicker()||this.dateBox.option("readOnly")){this._widget&&(this._widget.element().remove(),this._widget=null);return}t=this._getPopup(),this._widget?this._widget.option(this._getWidgetOptions()):(i=n("<div>").appendTo(t.content()),this._widget=this._createWidget(i)),this._widget.element().appendTo(this._getWidgetContainer()),t._$wrapper.addClass(DATEVIEW_PICKER_OVERLAY_CLASS)},_getWidgetName:function(){return"dxDateView"},_getDateBoxValue:function(){return this.callBase()||new Date},_getWidgetOptions:function(){return{value:this._getDateBoxValue(),format:this.dateBox.option("format"),minDate:this.dateBox.option("min")||new Date(1),maxDate:this.dateBox.option("max")||new Date(n.now()+r.TEN_YEARS),visible:!1,onDisposing:n.proxy(function(){this._widget=null},this)}},_getPopupWrapperClass:function(){return""},initFormat:function(){var t=this.dateBox.option("format");n.inArray(t,r.SUPPORTED_FORMATS)===-1?t="date":t!=="datetime"||f.inputType(t)||(t="datetime-local"),this.dateBox.option({mode:t,formatString:r.FORMATS_MAP[t]})}})})(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.dateUtils,f="dx-datebox-list",e="dx-datebox-list-popup-wrapper";r.dxDateBox.renderingStrategies.List=r.dxDateBox.strategy.inherit({NAME:"List",supportedKeys:function(){return{tab:function(){this.option("opened")&&this.close()},space:n.noop,home:n.noop,end:n.noop}},getDefaultOptions:function(){return{formatString:Globalize.culture().calendar.patterns.t,applyValueMode:"instantly",interval:30}},_getDateBoxClass:function(){return f},_getPopupWrapperClass:function(){return e},popupConfig:function(t){return n.extend(t,{width:this.dateBox.element().outerWidth()})},popupShowingHandler:function(){this._dimensionChanged()},_renderWidget:function(){this.callBase(),this._refreshItems()},_getWidgetName:function(){return"dxList"},_getWidgetOptions:function(){var t=this.dateBox._keyboardProcessor;return{_keyboardProcessor:t?t.attachChildProcessor():null,itemTemplate:n.proxy(this._timeListItemTemplate,this),onItemClick:n.proxy(this._listItemClickHandler,this),tabIndex:-1,onFocusedItemChanged:n.proxy(this._refreshActiveDescendant,this)}},_refreshActiveDescendant:function(n){this.dateBox.setAria("activedescendant",""),this.dateBox.setAria("activedescendant",n.actionValue)},_refreshItems:function(){var n=this._getTimeListItems();this._widget.option("items",n)},_getTimeListItems:function(){var i=this.dateBox.option("min")||new Date(0,0,0,0,0),f=this.dateBox.option("max")||new Date(0,0,0,23,59),e=this.dateBox.option("interval"),r=[],n=new Date(i),t=f-i;if(t<0)return[];for(t>u.ONE_DAY&&(t=u.ONE_DAY);n-i<t;)r.push(new Date(n)),n.setMinutes(n.getMinutes()+e);return r},_timeListItemTemplate:function(n){return Globalize.format(n,this.dateBox.option("formatString"))},_listItemClickHandler:function(n){this.dateBox.option("opened",!1),this.dateBox.option("value",n.itemData)},attachKeyboardEvents:function(n){var t=n.attachChildProcessor();this._widget&&this._widget.option("_keyboardProcessor",t)},_dimensionChanged:function(){this._getPopup()&&this._updatePopupDimensions()},_updatePopupDimensions:function(){this._updatePopupWidth(),this._updatePopupHeight()},_updatePopupWidth:function(){this.dateBox._setPopupOption("width",this.dateBox.element().outerWidth())},_updatePopupHeight:function(){this.dateBox._setPopupOption("height","auto");var t=this.dateBox._popup.overlayContent().outerHeight(),i=n(window).height()*.45;this.dateBox._setPopupOption("height",Math.min(t,i)),this.dateBox._timeList&&this.dateBox._timeList.updateDimensions()}})}(jQuery,DevExpress),function(n,t){var r=t.ui,f="dx-loadindicator",e="dx-loadindicator-wrapper",o="dx-loadindicator-content",s="dx-loadindicator-icon",u="dx-loadindicator-segment",h="dx-loadindicator-segment-inner",c="dx-loadindicator-image";t.registerComponent("dxLoadIndicator",r,r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({indicatorSrc:"",activeStateEnabled:!1,hoverStateEnabled:!1,_animatingSegmentCount:0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){var n=DevExpress.devices.real(),t=n.platform==="android"&&!/chrome/i.test(navigator.userAgent);return DevExpress.browser.msie&&DevExpress.browser.version<10||t},options:{viaImage:!0}},{device:[{platform:"win8"}],options:{_animatingSegmentCount:5}},{device:function(n){return n.platform==="ios"},options:{_animatingSegmentCount:11}},{device:[{platform:"android"}],options:{_animatingSegmentCount:2}},{device:[{platform:"generic"}],options:{_animatingSegmentCount:7}}])},_init:function(){this.callBase(),this.element().addClass(f)},_render:function(){this._renderWrapper(),this._renderContent(),this._renderMarkup(),this.callBase()},_renderWrapper:function(){this._$wrapper=n("<div>").addClass(e),this.element().append(this._$wrapper)},_renderContent:function(){this._$content=n("<div>").addClass(o),this._$wrapper.append(this._$content)},_renderMarkup:function(){!t.support.animation||this.option("viaImage")||this.option("indicatorSrc")?this._renderMarkupForImage():this._renderMarkupForAnimation()},_renderMarkupForAnimation:function(){var f=t.devices.current(),i,r;for(this._$indicator=n("<div>").addClass(s),this._$content.append(this._$indicator),i=this.option("_animatingSegmentCount");i>=0;--i)r=n("<div>").addClass(u).addClass(u+i),f.platform==="android"&&r.append(n("<div>").addClass(h)),this._$indicator.append(r)},_renderMarkupForImage:function(){var n=this.option("indicatorSrc");this._$wrapper.addClass(c),n&&this._$wrapper.css("background-image","url("+n+")")},_renderDimensions:function(){this.callBase(),this._updateContentSizeForAnimation()},_updateContentSizeForAnimation:function(){var n,t,i;this._$indicator&&(n=this.option("width"),t=this.option("height"),(n||t)&&(n=this.element().width(),t=this.element().height(),i=Math.min(t,n),this._$wrapper.css({height:i,width:i,"font-size":i})))},_clean:function(){this.callBase(),this._removeMarkupForAnimation(),this._removeMarkupForImage()},_removeMarkupForAnimation:function(){this._$indicator&&(this._$indicator.remove(),delete this._$indicator)},_removeMarkupForImage:function(){this._$wrapper.css("background-image","none")},_optionChanged:function(n){switch(n.name){case"_animatingSegmentCount":case"indicatorSrc":this._invalidate();break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,e="dx-loadpanel",o="dx-loadpanel-wrapper",u="dx-loadpanel-indicator",f="dx-loadpanel-message",s="dx-loadpanel-content",h="dx-loadpanel-content-wrapper",c="dx-loadpanel-pane-hidden";t.registerComponent("dxLoadPanel",r,r.dxOverlay.inherit({_setDefaultOptions:function(){this.callBase(),this.option({message:Globalize.localize("Loading"),width:222,height:90,animation:null,showIndicator:!0,indicatorSrc:"",showPane:!0,delay:0,closeOnBackButton:!1,resizeEnabled:!1})},_init:function(){this.callBase.apply(this,arguments),this._$contentWrapper=n("<div>").addClass(h),this._$contentWrapper.appendTo(this._$content)},_render:function(){this.callBase(),this.element().addClass(e),this._wrapper().addClass(o)},_renderContentImpl:function(){this.callBase(),this.content().addClass(s),this._togglePaneVisible(),this._cleanPreviousContent(),this._renderLoadIndicator(),this._renderMessage()},_show:function(){var i=this.option("delay"),t,r;return i?(t=n.Deferred(),r=n.proxy(this.callBase,this),this._clearShowTimeout(),this._showTimeout=setTimeout(function(){r().done(function(){t.resolve()})},i),t.promise()):this.callBase()},_hide:function(){return this._clearShowTimeout(),this.callBase()},_clearShowTimeout:function(){clearTimeout(this._showTimeout)},_renderMessage:function(){var t=this.option("message"),i;t&&(i=n("<div>").addClass(f).text(t),this._$contentWrapper.append(i))},_renderLoadIndicator:function(){this.option("showIndicator")&&(this._$indicator=n("<div>").addClass(u).appendTo(this._$contentWrapper),this._createComponent(this._$indicator,"dxLoadIndicator",{indicatorSrc:this.option("indicatorSrc")}))},_cleanPreviousContent:function(){this.content().find("."+f).remove(),this.content().find("."+u).remove()},_togglePaneVisible:function(){this.content().toggleClass(c,!this.option("showPane"))},_optionChanged:function(n){switch(n.name){case"delay":break;case"message":case"showIndicator":this._cleanPreviousContent(),this._renderLoadIndicator(),this._renderMessage();break;case"showPane":this._togglePaneVisible();break;case"indicatorSrc":this._$indicator&&this._createComponent(this._$indicator,"dxLoadIndicator",{indicatorSrc:this.option("indicatorSrc")});break;default:this.callBase(n)}},_dispose:function(){this._clearShowTimeout(),this.callBase()}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,r=t.utils,s=u.events,h="dx-lookup",f="dx-lookup-selected",c="dx-lookup-search",l="dx-lookup-search-wrapper",a="dx-lookup-field",v="dx-lookup-arrow",e="dx-lookup-field-wrapper",y="dx-lookup-popup",p="dx-lookup-popup-wrapper",w="dx-lookup-popup-search",b="dx-lookup-popover-mode",k="dx-lookup-empty",d="dx-lookup-validation-message",o="dx-lookup-invalid",g=".dx-list-item",nt="dxListItemData",tt={popupWidth:"width",popupHeight:"height"};t.registerComponent("dxLookup",u,u.dxDropDownList.inherit({_supportedKeys:function(){return n.extend(this.callBase(),{space:function(){this._validatedOpening()},enter:function(){this._validatedOpening()}})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{minFilterLength:{since:"14.2",alias:"minSearchLength"},scrollAction:{since:"14.2",alias:"onScroll"},autoPagingEnabled:{since:"14.2",alias:"pagingEnabled"},pullRefreshAction:{since:"14.2",alias:"onPullRefresh"},pageLoadingAction:{since:"14.2",alias:"onPageLoading"},contentReadyAction:{since:"14.2",alias:"onContentReady"},titleRender:{since:"14.2",alias:"titleTemplate"},groupRender:{since:"14.2",alias:"groupTemplate"},doneButtonText:{since:"14.2",alias:"applyButtonText"},showDoneButton:{since:"14.2",message:"use the 'applyValueMode' option instead"},showNextButton:{since:"15.1",message:"Use the 'pageLoadMode' option instead"},pagingEnabled:{since:"15.1",message:"Use the 'dataSource.paginate' option instead"}})},_setDefaultOptions:function(){this.callBase(),this.option({title:"",titleTemplate:"title",onTitleRendered:null,placeholder:Globalize.localize("Select"),searchPlaceholder:Globalize.localize("Search"),searchEnabled:!0,cleanSearchOnOpening:!0,fullScreen:!1,showCancelButton:!0,cancelButtonText:Globalize.localize("Cancel"),showClearButton:!1,clearButtonText:Globalize.localize("Clear"),applyButtonText:Globalize.localize("Done"),popupWidth:function(){return n(window).width()*.8},popupHeight:function(){return n(window).height()*.8},shading:!0,closeOnOutsideClick:!1,position:i,animation:i,pullRefreshEnabled:!1,useNativeScrolling:!0,pullingDownText:Globalize.localize("dxList-pullingDownText"),pulledDownText:Globalize.localize("dxList-pulledDownText"),refreshingText:Globalize.localize("dxList-refreshingText"),pageLoadingText:Globalize.localize("dxList-pageLoadingText"),onScroll:null,onPullRefresh:null,onPageLoading:null,pageLoadMode:"scrollBottom",showNextButton:i,nextButtonText:Globalize.localize("dxList-nextButtonText"),grouped:!1,groupTemplate:"group",usePopover:!1,showDropButton:!1,showPopupTitle:!0})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return!t.support.nativeScrolling},options:{useNativeScrolling:!1}},{device:function(n){return!t.support.nativeScrolling&&!t.devices.isSimulator()&&t.devices.real().platform==="generic"&&n.platform==="generic"},options:{pageLoadMode:"nextButton",usePopover:!0}},{device:function(){var i=t.browser;return i.msie&&t.compareVersions(i.version,9)<0},options:{usePopover:!1}},{device:{platform:"win8",phone:!0},options:{showCancelButton:!1,fullScreen:!0}},{device:{platform:"win8",phone:!1},options:{popupWidth:function(){return n(window).width()}}},{device:{platform:"ios",phone:!0},options:{fullScreen:!0}},{device:{platform:"ios",tablet:!0},options:{popupWidth:function(){return Math.min(n(window).width(),n(window).height())*.4},popupHeight:function(){return Math.min(n(window).width(),n(window).height())*.4},usePopover:!0}},{device:{platform:"generic"},options:{buttonsLocation:"bottom center"}}])},_initOptions:function(i){if(t.utils.isDefined(i.showDoneButton)&&!t.utils.isDefined(i.applyValueMode)){var r=i.showDoneButton?"useButtons":"instantly";n.extend(i,{applyValueMode:r})}this.callBase(i)},_getAriaTarget:function(){return this._$field},_dataSourceOptions:function(){this._suppressDeprecatedWarnings();var t=r.ensureDefined(this.option("pagingEnabled"),!0);return t=r.isDefined(this.option("showNextButton"))?t||this.option("showNextButton"):t,this._resumeDeprecatedWarnings(),n.extend(this.callBase(),{paginate:t})},_inputWrapper:function(){return this.element().find("."+e)},_render:function(){this.callBase(),this.element().addClass(h).toggleClass(b,this.option("usePopover"))},_fireContentReadyAction:n.noop,_popupWrapperClass:function(){return""},_renderInput:function(){var i=this._createAction(n.proxy(function(){this._validatedOpening()},this)),t;this._$field=n("<div>").addClass(a).on(s.addNamespace("dxclick",this.NAME),function(n){i({jQueryEvent:n})}),t=n("<div>").addClass(v),this._$fieldWrapper=n("<div>").addClass(e).append(this._$field).append(t).appendTo(this.element())},_popupShowingHandler:function(){var n;this._$popupValidationMessage&&(n=this.option("validationError"),n&&n.message?(this._$popupValidationMessage.text(n.message),this._popup.content().addClass(o)):this._popup.content().removeClass(o)),this.callBase.apply(this,arguments),this.option("cleanSearchOnOpening")&&(this.option("searchEnabled")&&this._searchBox.option("value")&&(this._searchBox.option("value",""),this._searchCanceled(),this._searchDataSource()),this._list&&this._list.option("focusedElement",null))},_popupPositionedHandler:function(){this.option("usePopover")&&this._updatePopoverHeight()},_updatePopoverHeight:function(){var t;if(this._isInitialOptionValue("popupHeight")){var n=0,i=this._popup.content().position().top,r=this._popup.bottomToolbar()?this._popup.bottomToolbar().outerHeight(!0):0,u=i+r;this._list&&(n+=this._list.element().position().top,n+=this._list.element().outerHeight()-this._list.clientHeight(),n+=this._list.scrollHeight()),this._popup.overlayContent().css("maxHeight","none"),t=Math.min(n+u,this._popup.overlayContent().outerHeight()),this._popup.overlayContent().css("maxHeight",t),this._list&&this._list.updateDimensions()}},_renderPopup:function(){this.option("usePopover")&&!this.option("fullScreen")?this._renderPopover():this.callBase(),this._$popup.addClass(y),this._popup._wrapper().addClass(p)},_popupOptionMap:function(n){return tt[n]||n},_renderPopover:function(){this._popup=this._createComponent(this._$popup,"dxPopover",n.extend(this._popupConfig(),{target:this.element(),fullScreen:!1,shading:!1,closeOnTargetScroll:!0,closeOnOutsideClick:!0,width:this._isInitialOptionValue("popupWidth")?this.element().width():this._popupConfig().width}));this._popup.on({showing:n.proxy(this._popupShowingHandler,this),shown:n.proxy(this._popupShownHandler,this),hiding:n.proxy(this._popupHidingHandler,this),hidden:n.proxy(this._popupHiddenHandler,this),positioned:n.proxy(this._popupPositionedHandler,this)});this._popup.option("onContentReady",n.proxy(this._contentReadyHandler,this)),this._contentReadyHandler()},_popupHidingHandler:function(){this.callBase(),this.option("focusStateEnabled")&&this.focus()},_preventFocusOnPopup:n.noop,_popupConfig:function(){var t=n.extend(this.callBase(),{onShowing:null,showTitle:this.option("showPopupTitle"),title:this.option("title"),titleTemplate:this._getTemplateByOption("titleTemplate"),onTitleRendered:this.option("onTitleRendered"),buttons:this._getPopupButtons(),fullScreen:this.option("fullScreen"),shading:this.option("shading"),closeOnTargetScroll:!1,closeOnOutsideClick:this.option("closeOnOutsideClick")});return delete t.animation,delete t.position,n.each(["position","animation","popupWidth","popupHeight"],n.proxy(function(n,r){this.option(r)!==i&&(t[this._popupOptionMap(r)]=this.option(r))},this)),t},_getPopupButtons:function(){var n=this.option("applyValueMode")==="useButtons"?this._popupButtonsConfig():[],i=this._getCancelButtonConfig(),t;return i&&n.push(i),t=this._getClearButtonConfig(),t&&n.push(t),this._applyButtonsLocation(n)},_popupButtonsConfig:function(){return[{shortcut:"done",options:{onClick:n.proxy(this._applyButtonHandler,this),text:this.option("applyButtonText")}}]},_getCancelButtonConfig:function(){return this.option("showCancelButton")?{shortcut:"cancel",onClick:n.proxy(this._cancelButtonHandler,this),options:{text:this.option("cancelButtonText")}}:null},_getClearButtonConfig:function(){return this.option("showClearButton")?{shortcut:"clear",onClick:n.proxy(this._resetValue,this),options:{text:this.option("clearButtonText")}}:null},_applyButtonHandler:function(){this.option("value",this._valueGetter(this._currentSelectedItem())),this.callBase()},_cancelButtonHandler:function(){this._refreshSelected(),this.callBase()},_refreshPopupVisibility:n.noop,_dimensionChanged:function(){this.option("usePopover")&&!this.option("popupWidth")&&this.option("popupWidth",this.element().width())},_input:function(){return this._$searchBox||this.callBase()},_renderPopupContent:function(){this._popup.NAME==="dxPopup"&&(this._$popupValidationMessage=n("<div>").addClass(d).appendTo(this._popup.content())),this._renderSearch(),this.callBase()},_renderSearch:function(){var i=this._$searchWrapper=n("<div>").addClass(l),u=this._$searchBox=n("<div>").addClass(c).appendTo(i),r=t.devices.current(),f=r.android&&r.version[0]>=5?"text":"search";this._searchBox=this._createComponent(u,"dxTextBox",{mode:f,showClearButton:!0,valueChangeEvent:this.option("valueChangeEvent"),onValueChanged:n.proxy(this._search,this)}),this._searchBox.registerKeyHandler("escape",n.proxy(function(){this.close()},this)),i.appendTo(this._popup.content()),this._renderSearchVisibility(),this._setSearchPlaceholder()},_renderSearchVisibility:function(){if(this._popup){var n=this.option("searchEnabled");this._popup._wrapper().toggleClass(w,n),this._$searchWrapper.toggle(n)}},_setSearchPlaceholder:function(){if(this._$searchBox){var t=this.option("minSearchLength"),n=this.option("searchPlaceholder");t&&n===Globalize.localize("Search")&&(n=r.stringFormat(Globalize.localize("dxLookup-searchPlaceholder"),t)),this._searchBox.option("placeholder",n)}},_renderList:function(){this.callBase(),this._list.registerKeyHandler("escape",n.proxy(function(){this.close()},this))},_listConfig:function(){return n.extend(this.callBase(),{tabIndex:0,grouped:this.option("grouped"),groupTemplate:this._getTemplateByOption("groupTemplate"),pullRefreshEnabled:this.option("pullRefreshEnabled"),useNativeScrolling:this.option("useNativeScrolling"),pullingDownText:this.option("pullingDownText"),pulledDownText:this.option("pulledDownText"),refreshingText:this.option("refreshingText"),pageLoadingText:this.option("pageLoadingText"),onScroll:this.option("onScroll"),onPullRefresh:this.option("onPullRefresh"),onPageLoading:this.option("onPageLoading"),pageLoadMode:this._getPageLoadMode(),nextButtonText:this.option("nextButtonText")})},_listContentReadyHandler:function(){this.option("usePopover")&&this._popup.repaint(),this.callBase.apply(this,arguments)},_getPageLoadMode:function(){this._suppressDeprecatedWarnings();var n=r.isDefined(this.option("showNextButton"))?"nextButton":this.option("pageLoadMode");return this._resumeDeprecatedWarnings(),n},_setFocusPolicy:function(){this.option("focusStateEnabled")&&(this.option("searchEnabled")?this._searchBox.focus():this._$list.focus())},_attachChildKeyboardEvents:n.noop,_focusTarget:function(){return this._$field},_keyboardEventBindingTarget:function(){return this._$field},_selectedItemClass:function(){return f},_listItemClickHandler:function(n){this._currentSelectedItem()===n.itemData&&this._applyButtonHandler(),this._setCurrentSelectedClass(n.jQueryEvent.target),this.option("applyValueMode")==="instantly"&&this._applyButtonHandler()},_currentSelectedItem:function(){return this._listSelectedItemElements().data(nt)},_setCurrentSelectedClass:function(t){this._listSelectedItemElements().removeClass(f),n(t).closest(g).addClass(f)},_resetValue:function(){this.option("value",null),this.option("opened",!1)},_searchValue:function(){return this.option("searchEnabled")?this._searchBox.option("value"):""},_renderInputValue:function(){return this.callBase().always(n.proxy(function(){this._refreshField()},this))},_refreshField:function(){this._$field.text(this.option("displayValue")||this.option("placeholder")),this.element().toggleClass(k,!this.option("selectedItem"))},_clean:function(){this._$fieldWrapper.remove(),this._$searchBox=null,this.callBase()},_optionChanged:function(n){var i=n.name,t=n.value;switch(i){case"searchEnabled":this._renderSearchVisibility();break;case"searchPlaceholder":this._setSearchPlaceholder();break;case"minSearchLength":this._setSearchPlaceholder(),this.callBase.apply(this,arguments);break;case"title":case"titleTemplate":case"onTitleRendered":case"shading":case"animation":case"position":case"closeOnOutsideClick":this._setPopupOption(i);break;case"fullScreen":case"usePopover":this._invalidate();break;case"clearButtonText":case"showClearButton":case"showCancelButton":this._setPopupOption("buttons",this._getPopupButtons());break;case"showDoneButton":this.option("applyValueMode",t?"useButtons":"instantly");break;case"applyValueMode":this.option("showDoneButton",t==="useButtons"),this.callBase.apply(this,arguments);break;case"popupWidth":this._setPopupOption("popupWidth",t==="auto"?this.initialOption("popupWidth"):t);break;case"popupHeight":this._setPopupOption("popupHeight",t==="auto"?this.initialOption("popupHeight"):t);break;case"pullRefreshEnabled":case"useNativeScrolling":case"pullingDownText":case"pulledDownText":case"refreshingText":case"pageLoadingText":case"onScroll":case"onPullRefresh":case"onPageLoading":case"nextButtonText":case"grouped":case"groupTemplate":this._setListOption(i);break;case"showNextButton":case"pageLoadMode":this._setListOption("pageLoadMode",this._getPageLoadMode());break;case"cleanSearchOnOpening":break;default:this.callBase.apply(this,arguments)}},focus:function(){this.option("opened")?this._setFocusPolicy():this._focusTarget().focus()},field:function(){return this._$field}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-autocomplete",f="dx-autocomplete-popup-wrapper",e={"9":"tab","13":"enter","16":"shift","17":"ctrl","18":"alt","27":"escape","33":"pageUp","34":"pageDown","35":"end","36":"home","37":"leftArrow","38":"upArrow","39":"rightArrow","40":"downArrow"};t.registerComponent("dxAutocomplete",r,r.dxDropDownList.inherit({_supportedKeys:function(){var t=this._list?this._list.option("focusedElement"):null;return n.extend(this.callBase(),{upArrow:function(n){return(n.preventDefault(),n.stopPropagation(),t&&!t.prev().length)?(this._clearFocusedItem(),!1):!0},downArrow:function(n){return(n.preventDefault(),n.stopPropagation(),t&&!t.next().length)?(this._clearFocusedItem(),!1):!0},enter:function(){return t||this.close(),!0}})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{displayExpr:{since:"14.2",alias:"valueExpr"}})},_setDefaultOptions:function(){this.callBase(),this.option({minSearchLength:1,maxItemCount:10,noDataText:"",showDropButton:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(n){return n.platform==="android"},options:{dropPosition:{offset:{h:-16,v:-9}}}}])},_render:function(){this.callBase(),this.element().addClass(u),this.setAria("autocomplete","inline")},_loadValue:function(){return n.Deferred().resolve(this.option("value"))},_displayGetterExpr:function(){return this.option("valueExpr")},_setSelectedItem:function(n){this.callBase(n),this.option("displayValue",this.option("value"))},_popupConfig:function(){return n.extend(this.callBase(),{closeOnOutsideClick:n.proxy(function(t){return!n(t.target).closest(this.element()).length},this)})},_renderDimensions:function(){this.callBase(),this._setPopupOption("width")},_hasItemsToShow:function(){var n=this._dataSource&&this._dataSource.items()||[],t=this.option("value"),i=this._displayGetter(n[0])||"",r=i.length<(t||"").length;return this.callBase()&&!r},_popupWrapperClass:function(){return this.callBase()+" "+f},_listConfig:function(){return n.extend(this.callBase(),{pageLoadMode:"none",indicateLoading:!1})},_listItemClickHandler:function(n){var t=this._displayGetter(n.itemData);this.option("value",t),this.close()},_refreshSelected:n.noop,_searchCanceled:function(){this.callBase(),this.close()},_dataSourceOptions:function(){return{paginate:!0}},_searchDataSource:function(){this._dataSource.pageSize(this.option("maxItemCount")),this.callBase(),this._clearFocusedItem()},_clearFocusedItem:function(){this._list&&(this._list.option("focusedElement",null),this._list.option("selectedIndex",-1))},_renderValueEventName:function(){return"input keyup"},_keyUpHandler:function(n){e[n.which||n.keyCode]||(this.callBase.apply(this,arguments),this._search())},_optionChanged:function(n){n.name==="maxItemCount"?this._searchDataSource():this.callBase(n)}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f=r.events,u="dxSelectBox",o="dx-selectbox",s="dx-selectbox-popup",h="dx-selectbox-selected",c="dx-selectbox-container",l="dx-selectbox-popup-wrapper",e=f.addNamespace("blur",u),a=f.addNamespace("dxclick",u),v={"9":"tab","13":"enter","16":"shift","17":"ctrl","18":"alt","27":"escape","33":"pageUp","34":"pageDown","35":"end","36":"home","37":"leftArrow","38":"upArrow","39":"rightArrow","40":"downArrow"};t.registerComponent(u,r,r.dxDropDownList.inherit({_supportedKeys:function(){var t=this.callBase(),i=function(n){this.option("showClearButton")&&(n.preventDefault(),this.reset())};return n.extend({},t,{upArrow:function(){if(t.upArrow.apply(this,arguments))return this.option("opened")||this._setNextValue(-1),!0},downArrow:function(){if(t.downArrow.apply(this,arguments))return this.option("opened")||this._setNextValue(1),!0},enter:function(){if(t.enter.apply(this,arguments))return this.option("opened")},backspace:i,del:i})},_setDefaultOptions:function(){this.callBase(),this.option({placeholder:Globalize.localize("Select"),fieldTemplate:null,valueChangeEvent:"keyup",fieldEditEnabled:!1,showSelectionControls:!1,tooltipEnabled:!1,openOnFieldClick:!0,showDropButton:!0,displayCustomValue:!1,_isAdaptableDropPosition:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"win8"},options:{_isAdaptableDropPosition:!0,dropPosition:{at:"left top",offset:{h:0,v:0}}}},{device:function(n){return n.platform==="android"},options:{_isAdaptableDropPosition:!0,dropPosition:{my:"top left",at:"top left",offset:{h:-16,v:-8}}}}])},_selectedItemClass:function(){return h},_render:function(){this.callBase(),this.element().addClass(o),this._renderTooltip()},_createPopup:function(){this.callBase(),this._updatePopupPosition(),this._popup.element().addClass(s)},_popupWrapperClass:function(){return this.callBase()+" "+l},_renderOpenedState:function(){this.callBase(),this.option("opened")&&(this._updatePopupHeight(),this._scrollToSelectedItem())},_updatePopupPosition:function(){if(this.option("_isAdaptableDropPosition")&&this.option("dropPosition")===this.initialOption("dropPosition"))if(this.option("fieldEditEnabled")||this.option("searchEnabled")){var t=n.extend(this._getDefaultDropPosition(),{offset:{h:this.option("dropPosition").offset.h,v:-4}});this._setPopupOption("position",t)}else this._setPopupOption("position",this.initialOption("dropPosition"))},_scrollToSelectedItem:function(){this._dataSource.paginate()&&this._isEditable()?this._list.scrollTo(0):this._list.scrollToItem(this._$list.find("."+this._selectedItemClass()))},_renderInputValue:function(){return this.callBase().always(n.proxy(function(){this._renderTooltip(),this._renderInputAddons()},this))},_fitIntoRange:function(n,t,i){return n>i?t:n<t?i:n},_setNextValue:function(t){this._dataSource.isLoaded()||this._loadDataSource();var r=this.option("selectedItem"),i=this._dataSource.items(),u=n.inArray(r,i),f=this._fitIntoRange(u+t,0,i.length-1);this._setValue(this._valueGetter(i[f]))},_setSelectedItem:function(n){var t=!this._isCustomValueAllowed()&&n===i;this.callBase(t?null:n)},_isCustomValueAllowed:function(){return this.option("fieldEditEnabled")||this.option("displayCustomValue")},_displayValue:function(n){return n=!t.utils.isDefined(n)&&this._isCustomValueAllowed()?this.option("value"):n,this.callBase(n)},_listConfig:function(){var t=n.extend(this.callBase(),{pageLoadMode:"scrollBottom",noDataText:"",onSelectionChanged:this._getSelectionChangeHandler(),selectionMode:"single"});return this.option("showSelectionControls")&&n.extend(t,{showSelectionControls:!0}),t},_getSelectionChangeHandler:function(){return this.option("showSelectionControls")?n.proxy(this._selectionChangeHandler,this):n.noop},_selectionChangeHandler:function(t){n.each(t.addedItems||[],n.proxy(function(n,t){this._setValue(this._valueGetter(t))},this))},_toggleOpenState:function(){this.callBase.apply(this,arguments),this.option("opened")&&this._isEditable()&&this._filterDataSource("")},_renderTooltip:function(){this.option("tooltipEnabled")&&this.element().attr("title",this.option("displayValue"))},_renderDimensions:function(){this.callBase(),this._setPopupOption("width")},_renderInput:function(){this.callBase(),this._$container.addClass(c);this._input().off(e).on(e,n.proxy(this._fieldBlurHandler,this))},_fieldBlurHandler:function(){if(this.option("searchEnabled")&&!this.option("fieldEditEnabled")){var t=this.option("selectedItem");this._renderInputValue().always(n.proxy(function(){this._setSelectedItem(t),this._renderDisplayText(this._displayGetter(this.option("selectedItem")))},this))}},_renderValueChangeEvent:function(){this._isEditable()&&this.callBase()},_isEditable:function(){return this.option("fieldEditEnabled")||this.option("searchEnabled")},_fieldRenderData:function(){return this.option("selectedItem")},_readOnlyPropValue:function(){return!this._isEditable()||this.option("readOnly")},_isSelectedValue:function(n){return this._isValueEquals(n,this.option("value"))},_listItemClickHandler:function(n){this._completeSelection(this._valueGetter(n.itemData))},_completeSelection:function(n){n===i&&(n=this.option("fieldEditEnabled")&&this._searchValue()?this._searchValue():this.option("value")),this.option("opened",!1),this._clearFilter(),this._setValue(n)},_setValue:function(n){this.option("value",n)},_clearValueHandler:function(){this.reset()},_valueChangeEventHandler:function(n){v[n.which||n.keyCode]||(this.option("fieldEditEnabled")&&(this._valueUpdateSuppressed=!0,this.callBase.apply(this,arguments),this._valueUpdateSuppressed=!1),this.option("searchEnabled")&&this._search())},_createClearButton:function(){return this.callBase().on(a,function(){return!1})},_optionChanged:function(n){switch(n.name){case"_isAdaptableDropPosition":break;case"tooltipEnabled":this._renderTooltip();break;case"displayCustomValue":case"fieldEditEnabled":case"showSelectionControls":this._invalidate();break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,h=r.events,f="dxTagBox",u="dxTagData",c="dx-tagbox",l="dx-tag-container",e="dx-tag",a="dx-tag-content",o="dx-tag-remove-button",v="dx-tagbox-only-select",y="dx-texteditor-empty",s=h.addNamespace("dxclick",f+"TagRemove"),p=r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({activeStateEnabled:!0})},_render:function(){this.callBase(),this.element().addClass(o)}});t.registerComponent(f,r,r.dxSelectBox.inherit({_supportedKeys:function(){var t=this.callBase();return n.extend(t,{backspace:function(n){if(!this._searchValue().length){n.preventDefault(),n.stopPropagation();var t=this.option("values");this._removeTagWithUpdate(t[t.length-1])}},enter:function(n){this.option("fieldEditEnabled")&&!this._$list.find(".dx-state-focused").length?this._completeSelection():this._keyboardProcessor._childProcessors[0].process(n)}})},_setNextValue:n.noop,_setDefaultOptions:function(){this.callBase(),this.option({values:[],onValuesChanged:null,showDropButton:!1,tagTemplate:"tag",selectAllText:Globalize.localize("dxList-selectAll")})},_init:function(){this.callBase(),this._initValuesChangedAction(),this._initDynamicTagTemplate()},_initValuesChangedAction:function(){this._valuesChangedAction=this._createActionByOption("onValuesChanged"),this._removeTagAction=this._createAction(n.proxy(this._removeTagHandler,this))},_initDynamicTagTemplate:function(){this._displayGetterExpr()?this._dynamicTemplates.tag=new r.DefaultTemplate(n.proxy(function(n){return this._displayGetter(n)},this)):delete this._dynamicTemplates.tag},_render:function(){this.callBase(),this._updateValues(),this.element().addClass(c),this.element().toggleClass(v,!(this.option("searchEnabled")||this.option("fieldEditEnabled")));this.element().find(".dx-texteditor-container").off(s).on(s,"."+o,n.proxy(function(n){this._removeTagAction({jQueryEvent:n})},this))},_renderInputValue:function(){return this.callBase().always(n.proxy(function(){this._renderMultiSelect()},this))},_listContentReadyHandler:function(){this._suppressingSelectionChanged(function(){this._valuesChangedAction=n.noop,this._setListOption("selectedItems",this._selectedItems)}),this.callBase(),this._initValuesChangedAction()},_suppressingSelectionChanged:function(t){this._setListOption("onSelectionChanged",n.noop),t.call(this),this._setListOption("onSelectionChanged",this._getSelectionChangeHandler())},_listConfig:function(){var t=this.callBase();return this.option("showSelectionControls")&&n.extend(t,{selectionMode:"all",selectAllText:this.option("selectAllText")}),t},_renderMultiSelect:function(){this._$tagsContainer=this.element().find(".dx-texteditor-container").addClass(l),this._renderInputSize(),this._clearFilter(),this._renderTags(),this._popup&&this._popup.repaint()},_renderInputSize:function(){var n=this._input();n.prop("size",n.val()?n.val().length+2:1)},_renderTags:function(){var t,i;this._cleanTags(),t=n("<div>"),this._selectedItems=[],i=n.map(this._values(),n.proxy(function(n){return this._renderTag(n,t)},this)),t.children().insertBefore(this._input()),n.when.apply(n,i).done(n.proxy(this._renderInputAddons,this)),this._renderEmptyState()},_renderEmptyState:function(){var n=!this._values().length;this.element().toggleClass(y,n),this._placeholder().toggle(n),this._renderDisplayText()},_renderDisplayText:function(){this._input().val(""),this._renderInputSize()},_cleanTags:function(){var t=this._tagElements(),i=this.option("values");n.each(t,function(t,r){var f=n(r);n.inArray(f.data(u),i)<0&&f.remove()})},_tagElements:function(){return this.element().find("."+e)},_renderTag:function(i,r){if(this._isTagRendered(i))return n.Deferred().resolve();var f=n("<div>").addClass(e).data(u,i).appendTo(r),o=this._getTemplateByOption("tagTemplate"),s=n("<div>").addClass(a).appendTo(f);return n("<div>").dxTagRemoveButton().appendTo(f),this._loadItem(i).always(n.proxy(function(n){n=t.utils.isDefined(n)?n:i,o.render(n,s),this._selectedItems.push(n)},this))},_isTagRendered:function(t){var r=this._tagElements(),i=!1;return n.each(r,function(r,f){var e=n(f);if(t===e.data(u))return i=!0,!1}),i},_toggleEmptinessEventHandler:function(){this._toggleEmptiness(!this.option("values").length&&!this._searchValue().length)},_removeTagHandler:function(t){var i=t.jQueryEvent,r,f;i.stopPropagation(),r=n(i.target).closest("."+e),f=r.data(u),this._removeTagWithUpdate(f)},_removeTagWithUpdate:function(n){this._removeTag(n),this._suppressingSelectionChanged(function(){this._updateValues()}),this.option("values",this.option("values"))},_selectionChangeHandler:function(t){n.each(t.removedItems||[],n.proxy(function(n,t){this._removeTag(this._valueGetter(t))},this)),n.each(t.addedItems||[],n.proxy(function(n,t){this._addTag(this._valueGetter(t))},this)),this.callBase(t),this._updateValues(),this._valuesChangedAction(t)},_removeTag:function(n){this.option().value=n;var i=this.option("values"),t=this._valueIndex(n);t>=0&&i.splice(t,1)},_addTag:function(n){var t=this.option("values"),i=this._valueIndex(n);i<0&&t.push(n)},_fieldRenderData:function(){return this._selectedItems},_setValue:function(n){if(n!==null&&!this._isSelectedValue(n)){var t=this.option("values");t.push(n),this.option("values",t)}},_isSelectedValue:function(n){return this._valueIndex(n)>-1},_valueIndex:function(t){var i=-1;return n.each(this._values(),n.proxy(function(n,r){if(this._isValueEquals(t,r))return i=n,!1},this)),i},_values:function(){return this.option("values")||[]},_optionValuesEqual:function(n,t,i){if(n==="value")return!1;this.callBase(n,t,i)},reset:function(){this.option("values",[]),this.callBase()},_updateValues:function(){var n=this._lastValue()===i?null:this._lastValue();this.option("value",n)},_lastValue:function(){return this._values().slice(-1).pop()},_valueChangeEventHandler:function(n){(this._renderInputSize(),this.option("fieldEditEnabled"))||this.callBase(n)},_valueChangeArgs:function(){var t=this.callBase.apply(this,arguments);return delete t.previousValue,n.extend(t,{values:this.option("values")})},_optionChanged:function(n){switch(n.name){case"displayExpr":this.callBase(n),this._initDynamicTagTemplate(),this._invalidate();break;case"tagTemplate":this._initDynamicTagTemplate(),this._invalidate();break;case"values":this._updateValues();break;case"onValuesChanged":this._initValuesChangedAction();break;case"selectAllText":this._setListOption("selectAllText",this.option("selectAllText"));break;default:this.callBase(n)}}})),t.registerComponent("dxTagRemoveButton",r[f],p)}(jQuery,DevExpress),function(n,t,i){var f=t.ui,e=t.utils,o=t.fx,s=t.translator,l="dx-multiview",a="dx-multiview-wrapper",v="dx-multiview-item-container",h="dx-multiview-item",y="dx-multiview-item-hidden",p="dxMultiViewItemData",w=200,c=function(n){return+n},b=function(n){return s.locate(n).left},r=function(n,t){s.move(n,{left:t})},u={moveTo:function(n,t,i,r){o.animate(n,{type:"slide",to:{left:t},duration:i,complete:r})},complete:function(n){o.stop(n,!0)}};t.registerComponent("dxMultiView",f,f.CollectionWidget.inherit({_activeStateUnit:"."+h,_supportedKeys:function(){return n.extend(this.callBase(),{pageUp:n.noop,pageDown:n.noop})},_setDefaultOptions:function(){this.callBase(),this.option({selectedIndex:0,swipeEnabled:!0,animationEnabled:!0,loop:!1,_itemAttributes:{role:"tabpanel"},deferRendering:!0,loopItemFocus:!1,selectOnFocus:!0,selectionMode:"single",selectionRequired:!0,selectionByClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_itemClass:function(){return h},_itemDataKey:function(){return p},_itemContainer:function(){return this._$itemContainer},_itemWidth:function(){return this._itemWidthValue||(this._itemWidthValue=this._$wrapper.width()),this._itemWidthValue},_clearItemWidthCache:function(){delete this._itemWidthValue},_itemsCount:function(){return this.option("items").length},_normalizeIndex:function(n){var t=this._itemsCount();return n<0&&(n=n+t),n>=t&&(n=n-t),n},_getRTLSignCorrection:function(){return this.option("rtlEnabled")?-1:1},_init:function(){this.callBase.apply(this,arguments);var t=this.element();t.addClass(l),this._$wrapper=n("<div>").addClass(a),this._$wrapper.appendTo(t),this._$itemContainer=n("<div>").addClass(v),this._$itemContainer.appendTo(this._$wrapper),this.option("loopItemFocus",this.option("loop")),this._initSwipeable()},_render:function(){this._deferredItems=[],this.callBase()},_renderItemContent:function(t){this._deferredItems.push(n.Deferred()),this._deferredItems[t].done(n.proxy(function(n,t){n.apply(this,t)},this,this.callBase,arguments)),this.option("deferRendering")||this._deferredItems[t].resolve()},_renderSelection:function(n){this._updateItems(n[0])},_updateItems:function(n,t){this._updateItemsPosition(n,t),this._updateItemsVisibility(n,t)},_renderSpecificItem:function(n){var i=this._itemElements().eq(n).find(this._itemContentClass()).length>0;t.utils.isDefined(n)&&!i&&this._deferredItems[n].resolve()},_updateItemsPosition:function(n,t){var i=this._itemElements(),u=-this._animationDirection(t,n),f=i.eq(n);r(f,0),r(i.eq(t),u*100+"%")},_updateItemsVisibility:function(t,r){var u=this._itemElements();u.each(n.proxy(function(u,f){var o=n(f),e=u!==t&&u!==r;e||this._renderSpecificItem(u),o.toggleClass(y,e),this.setAria("hidden",e||i,o)},this))},_setAriaSelected:n.noop,_updateSelection:function(t,i){var f=t[0],e=i[0],o;u.complete(this._$itemContainer),this._updateItems(e,f),o=this._animationDirection(f,e),this._animateItemContainer(o*this._itemWidth(),n.proxy(function(){r(this._$itemContainer,0),this._updateItems(f),this._$itemContainer.width()},this))},_animateItemContainer:function(n,t){var i=this.option("animationEnabled")?w:0;u.moveTo(this._$itemContainer,n,i,t)},_animationDirection:function(n,t){var i=b(this._$itemContainer),r=(t-n)*this._getRTLSignCorrection()*this._getItemFocusLoopSignCorrection(),u=i!==0,f=u?i:r;return e.sign(f)},_initSwipeable:function(){this._createComponent(this.element(),"dxSwipeable",{disabled:!this.option("swipeEnabled"),elastic:!1,itemSizeFunc:n.proxy(this._itemWidth,this),onStart:n.proxy(function(n){this._swipeStartHandler(n.jQueryEvent)},this),onUpdated:n.proxy(function(n){this._swipeUpdateHandler(n.jQueryEvent)},this),onEnd:n.proxy(function(n){this._swipeEndHandler(n.jQueryEvent)},this)})},_swipeStartHandler:function(n){u.complete(this._$itemContainer);var t=this.option("selectedIndex"),i=this.option("loop"),r=this._itemsCount()-1,f=this.option("rtlEnabled");n.maxLeftOffset=c(i||(f?t>0:t<r)),n.maxRightOffset=c(i||(f?t<r:t>0)),this._swipeDirection=null},_swipeUpdateHandler:function(n){var u=n.offset,t=e.sign(u)*this._getRTLSignCorrection(),i,f;r(this._$itemContainer,u*100+"%"),t!==this._swipeDirection&&(this._swipeDirection=t,i=this.option("selectedIndex"),f=this._normalizeIndex(i-t),this._updateItems(i,f))},_swipeEndHandler:function(t){var i=t.targetOffset*this._getRTLSignCorrection(),r;i?(this.option("selectedIndex",this._normalizeIndex(this.option("selectedIndex")-i)),r=this.itemElements().filter(".dx-item-selected"),this.option("focusedElement",r)):this._animateItemContainer(0,n.noop)},_getItemFocusLoopSignCorrection:function(){return this._itemFocusLooped?-1:1},_moveFocus:function(){this.callBase.apply(this,arguments),this._itemFocusLooped=!1},_prevItem:function(n){var t=this.callBase.apply(this,arguments);return this._itemFocusLooped=t.is(n.last()),t},_nextItem:function(n){var t=this.callBase.apply(this,arguments);return this._itemFocusLooped=t.is(n.first()),t},_dimensionChanged:function(){this._clearItemWidthCache()},_visibilityChanged:function(n){n&&this._dimensionChanged()},_optionChanged:function(n){var t=n.value;switch(n.name){case"loop":this.option("loopItemFocus",t);break;case"animationEnabled":break;case"swipeEnabled":this.element().dxSwipeable("option","disabled",!t);break;case"deferRendering":this._invalidate();break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var f=t.ui,r=t.validationEngine,e="dx-validator",u;DevExpress.ui.validation.defaultAdapter=t.Class.inherit({ctor:function(t,i){var r=this,u;r.editor=t,r.validator=i,r.validationRequestsCallbacks=n.Callbacks(),u=function(){r.validationRequestsCallbacks.fire()},t.validationRequest.add(u);t.on("disposing",function(){t.validationRequest.remove(u)})},getValue:function(){return this.editor.option("value")},getCurrentValidationError:function(){return this.editor.option("validationError")},applyValidationResults:function(n){this.editor.option({isValid:n.isValid,validationError:n.brokenRule})},reset:function(){this.editor.reset()},focus:function(){this.editor.focus()}}),u=t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({validationRules:[]})},_init:function(){this.callBase(),this._initGroupRegistration(),this.focused=n.Callbacks(),this._initAdapter()},_initGroupRegistration:function(){var n=this._findGroup();if(!this._groupWasInit)this.on("disposing",function(n){r.removeRegistredValidator(n.component._validationGroup,n.component)});this._groupWasInit&&this._validationGroup===n||(r.removeRegistredValidator(this._validationGroup,this),this._groupWasInit=!0,this._validationGroup=n,r.registerValidatorInGroup(n,this))},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{validationGroup:!0})},_initAdapter:function(){var i=this,r=i.element().data("dx-validation-target"),n=i.option("adapter");if(!n){if(r){n=new DevExpress.ui.validation.defaultAdapter(r,this),n.validationRequestsCallbacks.add(function(){i.validate()}),this.option("adapter",n);return}throw t.Error("E0120");}n.validationRequestsCallbacks&&n.validationRequestsCallbacks.add(function(){i.validate()})},_findGroup:t.ui.validation.findGroup,_render:function(){this.element().addClass(e),this.callBase()},_optionChanged:function(n){switch(n.name){case"validationGroup":this._initGroupRegistration();return;case"validationRules":return;case"adapter":this._initAdapter();break;default:this.callBase(n)}},validate:function(){var t=this,i=t.option("adapter"),e=t.option("name"),o=i.getValue(),u=i.getCurrentValidationError&&i.getCurrentValidationError(),s=n.map(t.option("validationRules"),function(n){return n.validator=t,n}),f;return u&&u.editorSpecific?(u.validator=this,f={isValid:!1,brokenRule:u}):f=r.validate(o,s,e),this._applyValidationResult(f,i),f},reset:function(){var t=this,n=t.option("adapter"),i={isValid:!0,brokenRule:null};n.reset(),this._applyValidationResult(i,n)},_applyValidationResult:function(n,t){var i=this._createActionByOption("onValidated");n.validator=this,t.applyValidationResults&&t.applyValidationResults(n),this.option({isValid:n.isValid}),i(n)},focus:function(){var n=this.option("adapter");n.focus()}}),t.registerComponent("dxValidator",f,u)}(jQuery,DevExpress),function(n,t){var u=t.ui,r="dx-validationgroup";t.registerComponent("dxValidationGroup",u,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({})},_init:function(){this.callBase()},_render:function(){var t=this.element();t.addClass(r),t.find(".dx-validator").each(function(t,i){n(i).dxValidator("instance")._initGroupRegistration()}),t.find(".dx-validationsummary").each(function(t,i){n(i).dxValidationSummary("instance")._initGroupRegistration()}),this.callBase()},validate:function(){return t.validationEngine.validateGroup(this)},reset:function(){return t.validationEngine.resetGroup(this)},_optionChanged:function(n){switch(n.name){default:this.callBase(n)}},_dispose:function(){t.validationEngine.removeGroup(this),this.element().removeClass(r),this.callBase()}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,r="dx-validationsummary",f=r+"-item",e=r+"-item-data";t.registerComponent("dxValidationSummary",u,u.CollectionWidget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({focusStateEnabled:!1,noDataText:null})},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{validationGroup:!0})},_findGroup:t.ui.validation.findGroup,_init:function(){this.callBase(),this._initGroupRegistration()},_initGroupRegistration:function(){var i=this._findGroup(),r=t.validationEngine.addGroup(i);this._unsubscribeGroup(),this._groupWasInit=!0,this._validationGroup=i,this.groupSubscription=n.proxy(this._groupValidationHandler,this);r.on("validated",this.groupSubscription)},_unsubscribeGroup:function(){var n=t.validationEngine.getGroupConfig(this._validationGroup);n&&n.off("validated",this.groupSubscription)},_getOrderedItems:function(t,i){var r=[];return n.each(t,function(t,u){var f=n.grep(i,function(n){if(n.validator===u)return!0})[0];f&&r.push(f)}),r},_groupValidationHandler:function(t){var i=this,r=i._getOrderedItems(t.validators,n.map(t.brokenRules,function(n){return{text:n.message,validator:n.validator}}));i.validators=t.validators,n.each(i.validators,function(t,r){var u=n.proxy(i._itemValidationHandler,i),f=function(){r.off("validated",u),u=null};r.on("validated",u);r.on("disposing",f)}),i.option("items",r)},_itemValidationHandler:function(t){var i=this.option("items"),o=t.isValid,f,r=!1,e=t.brokenRule&&t.brokenRule.message,u=t.validator;o?(n.each(i,function(n,t){if(t.validator===u)return f=n,r=!0,!1}),r&&i.splice(f,1)):(n.each(i,function(n,t){if(t.validator===u)return t.text=e,r=!0,!1}),r||i.push({text:e,validator:u})),i=this._getOrderedItems(this.validators,i),this.option("items",i)},_render:function(){this.element().addClass(r),this.callBase()},_optionChanged:function(n){switch(n.name){case"validationGroup":this._initGroupRegistration();break;default:this.callBase(n)}},_itemClass:function(){return f},_itemDataKey:function(){return e},_postprocessRenderItem:function(n){n.itemElement.on("click",function(){n.itemData.validator.focus()})},_dispose:function(){this.callBase(),this._unsubscribeGroup()}}))}(jQuery,DevExpress),function(n,t,i){var o=t.ui,a=t.utils,v="dx-fileuploader",s="dx-fileuploader-empty",u="dx-fileuploader-dragover",y="<input type='file'>",p="dx-fileuploader-wrapper",w="dx-fileuploader-container",b="dx-fileuploader-content",k="dx-fileuploader-input-wrapper",d="dx-fileuploader-input-container",g="dx-fileuploader-input-label",nt="dx-fileuploader-input",tt="dx-fileuploader-files-container",it="dx-fileuploader-file-container",rt="dx-fileuploader-file-info",ct="dx-fileuploader-file-status",ut="dx-fileuploader-file-status-message",ft="dx-fileuploader-file",h="dx-fileuploader-file-name",c="dx-fileuploader-file-size",r="dx-fileuploader-button",f="dx-fileuploader-button-container",et="dx-fileuploader-cancel-button",l="dx-fileuploader-upload-button",e=400,ot=function(){return!!window.FormData},st=function(){return FormData},ht=function(){return XMLHttpRequest};t.registerComponent("dxFileUploader",o,o.Editor.inherit({_supportedKeys:function(){var t=function(n){n.preventDefault(),this._$button&&this._$button.click()};return n.extend(this.callBase(),{space:t,enter:t})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{buttonText:{since:"15.1",alias:"selectButtonText"}})},_setDefaultOptions:function(){this.callBase(),this.option({value:null,values:[],selectButtonText:Globalize.localize("dxFileUploader-selectFile"),uploadButtonText:Globalize.localize("dxFileUploader-upload"),labelText:Globalize.localize("dxFileUploader-dropFile"),name:"files[]",multiple:!1,accept:"",uploadUrl:"/",allowCanceling:!0,showFileList:!0,progress:0,readyToUploadMessage:Globalize.localize("dxFileUploader-readyToUpload"),uploadedMessage:Globalize.localize("dxFileUploader-uploaded"),uploadFailedMessage:Globalize.localize("dxFileUploader-uploadFailedMessage"),uploadMode:"instantly"})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.option("value",null),this.option("values",[]),this.callBase.apply(this,arguments),this._initFileInput(),this._initLabel(),this._initDragEvents(),this._createFiles(),this.element().addClass(v)},_initFileInput:function(){if(!this._$fileInput){this._$fileInput=n(y);this._$fileInput.on("change",n.proxy(this._inputChangeHandler,this));this._$fileInput.on("click",n.proxy(function(){var n=this._isCustomEvent||!1;return this._isCustomEvent=!1,n},this))}this._$fileInput.prop({multiple:this.option("multiple"),name:this.option("name"),accept:this.option("accept")})},_inputChangeHandler:function(){if(!this._doPreventInputChange){var u=this._$fileInput.val().replace(/^.*\\/,""),i=this._$fileInput.prop("files"),r=[];(!i||i.length)&&(i?n.each(i,function(n,t){r.push(t)}):r=[{name:u}],this._shouldChangeValue=!0,this.option("values",r),delete this._shouldChangeValue,this.option("uploadMode")==="instantly"&&this._uploadFiles())}},_initLabel:function(){this._$inputLabel||(this._$inputLabel=n("<div>")),this._$inputLabel.text(this.option("labelText"))},_initDragEvents:function(){if(t.devices.real().platform==="generic"&&!t.browser.msie){this._dragEventsCount=0;this.element().on("dragenter",n.proxy(this._dragEnterHandler,this)).on("dragleave",n.proxy(this._dragLeaveHandler,this)).on("drop",n.proxy(this._dropHandler,this))}},_dragEnterHandler:function(){if(this.option("disabled"))return!1;this._dragEventsCount++,this.element().addClass(u)},_dragLeaveHandler:function(){this._dragEventsCount--,this._dragEventsCount<=0&&this.element().removeClass(u)},_dropHandler:function(){this._dragEventsCount=0,this.element().removeClass(u)},_focusTarget:function(){return this.element().find("."+r)},_render:function(){this._renderWrapper(),this._renderInputWrapper(),this._renderSelectButton(),this._renderInputContainer(),this._renderFiles(),this._renderUploadButton(),this.callBase.apply(this,arguments)},_createFiles:function(){this._files=[],n.each(this.option("values"),n.proxy(function(n,t){this._files.push(this._createFile(t))},this))},_createFile:function(t){return{value:t,loadedSize:0,onProgress:n.Callbacks(),onLoad:n.Callbacks(),onError:n.Callbacks(),onLoadStart:n.Callbacks()}},_renderFiles:function(){if(this._$filesContainer?this._$filesContainer.empty():this._$filesContainer=n("<div>").addClass(tt).appendTo(this._$content),this.option("showFileList")){var t=this;n.each(this._files,function(n,i){t._renderFile(i)})}this.element().toggleClass(s,!this._files.length),this._updateFileNameMaxWidth()},_renderFile:function(t){var i=t.value,u=n("<div>").addClass(it).appendTo(this._$filesContainer),r;this._renderFileButtons(t,u),t.$file=n("<div>").addClass(ft).appendTo(u),r=n("<div>").addClass(rt).appendTo(t.$file),t.$statusMessage=n("<div>").addClass(ut).text(this.option("readyToUploadMessage")).appendTo(t.$file),n("<div>").addClass(h).text(i.name).appendTo(r),a.isDefined(i.size)&&n("<div>").addClass(c).text(this._getFileSize(i.size)).appendTo(r)},_updateFileNameMaxWidth:function(){var i=this.option("allowCanceling")?1:0,r=this.option("uploadMode")==="useButtons"?1:0,u=this._$filesContainer.width(),e=this._$filesContainer.find("."+f).eq(0),o=e.width()*(i+r),n=this._$filesContainer.find("."+c).eq(0),s=n.text(),t;n.text("1000Mb"),t=n.width(),n.text(s),this._$filesContainer.find("."+h).css("max-width",u-o-t)},_renderFileButtons:function(t,i){t.cancelButton=this._createComponent(n("<div>").addClass(r+" "+et),"dxButton",{onClick:n.proxy(function(){this._removeFile(t)},this),icon:"close",visible:this.option("allowCanceling"),_templates:{}}),n("<div>").addClass(f).append(t.cancelButton.element()).appendTo(i),this.option("uploadMode")==="useButtons"&&(t.uploadButton=this._createComponent(n("<div>").addClass(r+" "+l),"dxButton",{onClick:n.proxy(function(){this._uploadFile(t)},this),icon:"upload"}),n("<div>").addClass(f).append(t.uploadButton.element()).appendTo(i),t.onLoadStart.add(n.proxy(function(){t.uploadButton.element().remove()},this)))},_removeFile:function(t){t.$file.parent().remove();var i=this.option("values");i.splice(n.inArray(t.value,i),1),this._files.splice(n.inArray(t,this._files),1),this.element().toggleClass(s,!this._files.length),this._recalculateProgress(),this._doPreventInputChange=!0,this._$fileInput.val(""),this._doPreventInputChange=!1},_getFileSize:function(n){for(var t=0,i=[Globalize.localize("dxFileUploader-bytes"),Globalize.localize("dxFileUploader-kb"),Globalize.localize("dxFileUploader-Mb"),Globalize.localize("dxFileUploader-Gb")],r=i.length-1;t<r&&n>=1024;)n/=1024,t++;return Math.round(n)+i[t]},_renderSelectButton:function(){var t=n("<div>").addClass(r).appendTo(this._$inputWrapper);t.off("click").on("click",n.proxy(this._selectButtonClickHandler,this));this._selectButton=this._createComponent(t,"dxButton",{text:this.option("selectButtonText"),focusStateEnabled:!1,_templates:{}})},_selectButtonClickHandler:function(){if(this.option("disabled"))return!1;this._isCustomEvent=!0,this._$fileInput.click()},_renderUploadButton:function(){if(this.option("uploadMode")==="useButtons"){var t=n("<div>").addClass(r).addClass(l).appendTo(this._$content);this._uploadButton=this._createComponent(t,"dxButton",{text:this.option("uploadButtonText"),onClick:n.proxy(this._uploadButtonClickHandler,this),_templates:{}})}},_uploadButtonClickHandler:function(){this._uploadFiles()},_renderInputContainer:function(){this._$inputContainer=n("<div>").addClass(d).appendTo(this._$inputWrapper),t.browser.msie&&this._$inputContainer.css("display","none"),this._$fileInput.addClass(nt).appendTo(this._$inputContainer),this._$inputLabel.addClass(g).appendTo(this._$inputContainer)},_renderInputWrapper:function(){this._$inputWrapper=n("<div>").addClass(k).appendTo(this._$content)},_renderWrapper:function(){var t=n("<div>").addClass(p).appendTo(this.element()),i=n("<div>").addClass(w).appendTo(t);this._$content=n("<div>").addClass(b).appendTo(i)},_clean:function(){this._$fileInput.detach(),delete this._$filesContainer,this.callBase.apply(this,arguments)},_uploadFiles:function(){ot()&&n.each(this._files,n.proxy(function(n,t){this._uploadFile(t)},this))},_uploadFile:function(t){if(!t.progressBar){var i=t.$file,r=t.value;this._initUploadRequest(t),i&&(t.progressBar=this._createProgressBar(r.size),t.progressBar.element().appendTo(i),this._initStatusMessage(t),this._initCancelButton(t),t.onError.add(n.proxy(this._onErrorHandler,this,t))),t.onProgress.add(n.proxy(this._onProgressHandler,this,t)),t.request.send(this._createFormData(this.option("name"),r))}},_onErrorHandler:function(n){var t=this;setTimeout(function(){n.$statusMessage.text(t.option("uploadFailedMessage")),n.$statusMessage.css("display",""),n.progressBar.element().remove()},e)},_onLoadedHandler:function(n){var t=this;setTimeout(function(){n.$statusMessage.text(t.option("uploadedMessage")),n.$statusMessage.css("display",""),n.progressBar.element().remove()},e)},_onProgressHandler:function(n,t){var u=this._getTotalSize(),i=0,r=this._getLoadedSize(),f=0;n&&(i=Math.min(t.loaded,n.value.size),r+=i-n.loadedSize,n.progressBar&&n.progressBar.option({value:i,showStatus:!0}),n.loadedSize=i),u&&(f=Math.round(r/u*100)),this.option("progress",f),this._setLoadedSize(r)},_initStatusMessage:function(t){t.$statusMessage.css("display","none"),t.onLoad.add(n.proxy(this._onLoadedHandler,this,t))},_initCancelButton:function(t){var r=n.proxy(function(){t.request.abort(),this._removeFile(t)},this),i;t.cancelButton.option("onClick",r),i=function(){setTimeout(function(){t.cancelButton.option({visible:!1})},e)},t.onLoad.add(i),t.onError.add(i)},_initUploadRequest:function(t){t.request=this._createRequest(this.option("uploadUrl")),t.loadedSize=0,t.request.onreadystatechange=n.proxy(function(n){n.currentTarget.readyState===4&&(n.currentTarget.status===200?this.onLoad.fire(n):this.onError.fire(n))},t),t.request.upload.onprogress=n.proxy(function(n){this.onProgress.fire(n)},t),t.request.upload.onloadstart=n.proxy(function(n){this.onLoadStart.fire(n)},t)},_createRequest:function(n){var i=ht(),t=new i;return t.open("POST",n,!0),t},_createFormData:function(n,t){var r=st(),i=new r;return i.append(n,t),i},_createProgressBar:function(t){return this._createComponent(n("<div>"),"dxProgressBar",{value:i,min:0,max:t,statusFormat:function(n){return Math.round(n*100)+"%"},showStatus:!1,statusPosition:"right"})},_getTotalSize:function(){if(!this._totalSize){var i=this.option("values"),t=0;n.each(i,function(n,i){t+=i.size}),this._totalSize=t}return this._totalSize},_getLoadedSize:function(){if(!this._loadedSize){var t=0;n.each(this._files,function(n,i){t+=i.loadedSize}),this._loadedSize=t}return this._loadedSize},_setLoadedSize:function(n){this._loadedSize=n},_recalculateProgress:function(){delete this._totalSize,delete this._loadedSize,this._onProgressHandler()},_optionChanged:function(n){var t=n.value;switch(n.name){case"height":case"width":this._updateFileNameMaxWidth(),this.callBase(n);break;case"value":this._shouldChangeValue||(this._$fileInput.val(""),this.option("values",[])),this.callBase(n);break;case"values":t.length&&!this._shouldChangeValue?this.option("values",[]):(this._createFiles(),this._renderFiles(),this.option("value",t[0]||null),this._recalculateProgress());break;case"name":case"accept":this._initFileInput();break;case"multiple":this._initFileInput(),n.value||this.option("values",[]);break;case"selectButtonText":this._selectButton.option("text",t);break;case"uploadButtonText":this._uploadButton&&this._uploadButton.option("text",t);break;case"readyToUploadMessage":case"uploadedMessage":case"uploadFailedMessage":this._invalidate();break;case"labelText":this._$inputLabel.text(t);break;case"showFileList":this._renderFiles();break;case"uploadUrl":case"progress":break;case"allowCanceling":case"uploadMode":this.reset(),this._invalidate();break;default:this.callBase(n)}},_valueChangeArgs:function(){return n.extend(this.callBase.apply(this,arguments),{values:this.option("values")})}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u="dx-tabpanel";t.registerComponent("dxTabPanel",r,r.dxMultiView.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{titleTemplate:{since:"14.2",alias:"itemTitleTemplate"}})},_setDefaultOptions:function(){this.callBase(),this.option({itemTitleTemplate:"title",onTitleClick:null,onTitleHold:null,onTitleRendered:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}},{device:function(){return!t.support.touch},options:{swipeEnabled:!1}},{device:{platform:"generic"},options:{animationEnabled:!1}}])},_init:function(){this.callBase(),this.element().addClass(u),this.setAria("role","tabpanel"),this._renderBox()},_renderBox:function(){var t=n("<div>").appendTo(this.element());this._box=this._createComponent(t,"dxBox",{direction:"col",align:"flex-start",crossAlign:"stretch",items:[{ratio:0,shrink:0,baseSize:"auto",template:n.proxy(function(){var t=n("<div>");return this._tabs=this._createComponent(t,"dxTabs",this._tabConfig()),t},this)},{ratio:1,shrink:1,baseSize:"auto",template:n.proxy(function(n,t,i){this._$wrapper.addClass(i.attr("class")),i.replaceWith(this._$wrapper)},this)}],height:"100%"})},_refreshActiveDescendant:function(){var t=this._tabs,r=t.itemElements(),u=n(r[t.option("selectedIndex")]),f=this.getFocusedItemId();this.setAria("controls",i,n(r)),this.setAria("controls",f,u)},_tabConfig:function(){return{selectOnFocus:!0,focusStateEnabled:this.option("focusStateEnabled"),tabIndex:this.option("tabIndex"),selectedIndex:this.option("selectedIndex"),onItemClick:this.option("onTitleClick"),onItemHold:this.option("onTitleHold"),itemHoldTimeout:this.option("itemHoldTimeout"),onSelectionChanged:n.proxy(function(n){this.option("selectedIndex",n.component.option("selectedIndex")),this._refreshActiveDescendant()},this),onItemRendered:this.option("onTitleRendered"),itemTemplate:this._getTemplateByOption("itemTitleTemplate"),items:this.option("items"),scrollingEnabled:!1,itemTemplateProperty:"tabTemplate",selectionRequired:!0,onOptionChanged:n.proxy(function(n){var u=n.name,t=n.value,i,r;u==="focusedElement"&&(i=t?t.index():t,r=t?this._itemElements().eq(i):t,this.option("focusedElement",r))},this),onFocusIn:n.proxy(this._focusInHandler,this),onFocusOut:n.proxy(this._focusOutHandler,this)}},_renderFocusTarget:function(){this._focusTarget().attr("tabindex",-1),this._refreshActiveDescendant()},_setTabsOption:function(n,t){this._tabs&&this._tabs.option(n,t)},_updateSelection:function(){this.callBase.apply(this,arguments),this._box.repaint()},_optionChanged:function(n){var i=n.name,t=n.value,r,u;switch(i){case"dataSource":this.callBase(n);break;case"items":case"selectedIndex":case"selectedItem":case"itemHoldTimeout":case"focusStateEnabled":this._setTabsOption(i,t),this.callBase(n);break;case"focusedElement":r=t?t.index():t,u=t?this._tabs._itemElements().eq(r):t,this._setTabsOption("focusedElement",u),this.callBase(n),this._tabs.focus();break;case"itemTitleTemplate":this._setTabsOption("itemTemplate",this._getTemplateByOption("itemTitleTemplate"));break;case"onTitleClick":this._setTabsOption("onItemClick",t);break;case"onTitleHold":this._setTabsOption("onItemHold",t);break;case"onTitleRendered":this._setTabsOption("onItemRendered",t);break;default:this.callBase(n)}}}))}(jQuery,DevExpress),DevExpress.MOD_WIDGETS_BASE=!0}if(!DevExpress.MOD_WIDGETS_MOBILE){if(!DevExpress.MOD_WIDGETS_BASE)throw Error("Required module is not referenced: widgets-base");(function(n,t,i){var e=t.ui,f=t.fx,u=t.translator,o=e.events,v="dx-pivottabs",l="dx-pivottabs-tab",s="dx-pivottabs-tab-selected",a="dx-pivottabs-ghosttab",y="dxPivotTabData",h=200,c="cubic-bezier(.40, .80, .60, 1)",r={moveTo:function(n,t,i){return f.animate(n,{type:"slide",to:{left:t},duration:h,easing:c,complete:i})},slideAppear:function(n,t){return f.animate(n,{type:"slide",to:{left:t,opacity:1},duration:h,easing:c})},slideDisappear:function(n,t){return f.animate(n,{type:"slide",to:{left:t,opacity:0},duration:h,easing:c})},complete:function(t){t&&n.each(t,function(n,t){f.stop(t,!0)})},stop:function(t){t&&n.each(t,function(n,t){f.stop(t)})}};t.registerComponent("dxPivotTabs",e,e.CollectionWidget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({selectedIndex:0,onPrepare:null,onUpdatePosition:null,onRollback:null,focusStateEnabled:!1,selectionMode:"single",selectionRequired:!0,swipeEnabled:!0})},_itemClass:function(){return l},_itemDataKey:function(){return y},_itemContainer:function(){return this.element()},_elementWidth:function(){return this._elementWidthCache||(this._elementWidthCache=this.element().width()),this._elementWidthCache},_clearElementWidthCache:function(){delete this._elementWidthCache},_itemWidths:function(){if(!this._itemWidthsCache){var i=this._itemElements(),t=[];i.each(function(){t.push(n(this).outerWidth())}),this._itemWidthsCache=t}return this._itemWidthsCache},_init:function(){this.callBase(),this._initGhostTab(),this._initSwipeHandlers(),this._initActions()},_dimensionChanged:function(){this._clearElementWidthCache(),this._cleanPositionCache(),this._updateTabsPositions()},_initGhostTab:function(){this._$ghostTab=n("<div>").addClass(a)},_initActions:function(){this._updatePositionAction=this._createActionByOption("onUpdatePosition"),this._rollbackAction=this._createActionByOption("onRollback"),this._prepareAction=this._createActionByOption("onPrepare")},_render:function(){this.element().addClass(v),this.callBase(),this._renderGhostTab()},_renderGhostTab:function(){this._itemContainer().append(this._$ghostTab),this._toggleGhostTab(!1)},_toggleGhostTab:function(n){var t=this._$ghostTab;n?(this._updateGhostTabContent(),t.css("opacity",1)):t.css("opacity",0)},_isGhostTabVisible:function(){return this._$ghostTab.css("opacity")==="1"},_updateGhostTabContent:function(n){n=n===i?this._previousIndex():n;var t=this._$ghostTab,r=this._itemElements();t.html(r.eq(n).html())},_updateTabsPositions:function(n){n=this._applyOffsetBoundaries(n);var t=this.option("rtlEnabled")^n>0&&n!==0,i=this._calculateTabPositions(t?"replace":"append");this._moveTabs(i,n),this._toggleGhostTab(t)},_moveTabs:function(t,i){i=i||0;var r=this._allTabElements();r.each(function(r){u.move(n(this),{left:t[r]+i})})},_applyOffsetBoundaries:function(n){n=n||0;var t=n>0?this._maxRightOffset:this._maxLeftOffset;return n*t},_animateRollback:function(){var u=this,t=this._itemElements(),i=this._calculateTabPositions("prepend");this._isGhostTabVisible()&&(this._swapGhostWithTab(t.eq(this._previousIndex())),r.moveTo(this._$ghostTab,i[this._indexBoundary()],function(){u._toggleGhostTab(!1)})),t.each(function(t){r.moveTo(n(this),i[t])})},_animateComplete:function(n,t){var i=this._itemElements(),r=this._isGhostTabVisible();i.eq(t).removeClass(s),r?this._animateIndexDecreasing(n):this._animateIndexIncreasing(n),i.eq(n).addClass(s)},_animateIndexDecreasing:function(t){var f=this._itemElements(),u=this._calculateTabPositions("append",t),i=[];return f.each(function(t){i.push(r.moveTo(n(this),u[t]))}),i.push(r.slideDisappear(this._$ghostTab,u[this._indexBoundary()])),n.when.apply(n,i)},_animateIndexIncreasing:function(t){var s=this,f=this._itemElements(),o=this._calculateTabPositions("prepend",t),i=this._previousIndex(t),h=f.eq(i),c=u.locate(h).left,l=this.option("rtlEnabled"),a=l?this._elementWidth()-this._itemWidths()[i]:0,v=(c-a)*this._getRTLSignCorrection()<0,e=[];return v||this._moveTabs(this._calculateTabPositions("append",i)),this._updateGhostTabContent(i),this._swapGhostWithTab(f.eq(i)),f.each(function(t){var u=n(this),f=o[t];e.push(t===i?r.slideAppear(u,f):r.moveTo(u,f))}),e.push(r.moveTo(this._$ghostTab,o[this._indexBoundary()],function(){s._toggleGhostTab(!1)})),n.when.apply(n,e)},_swapGhostWithTab:function(n){var t=this._$ghostTab,i=u.locate(n).left,r=n.css("opacity");u.move(n,{left:u.locate(t).left}),n.css("opacity",t.css("opacity")),u.move(t,{left:i}),t.css("opacity",r)},_calculateTabPositions:function(n,t){t=t===i?this.option("selectedIndex"):t;var r=t+n;return this._calculetedPositionsMark!==r&&(this._calculetedPositions=this._calculateTabPositionsImpl(t,n),this._calculetedPositionsMark=r),this._calculetedPositions},_calculateTabPositionsImpl:function(t,i){var e=this._normalizeIndex(t-1),u=this._itemWidths(),f=this.option("rtlEnabled"),l=this._getRTLSignCorrection(),o=this._elementWidth(),s=f?o:0,r=[],h=function(n,t){var i=f*t;r.splice(n,0,s-i),s+=t*l},c;n.each(u.slice(t),h),n.each(u.slice(0,t),h);switch(i){case"replace":c=r[e],r.splice(e,1,f?o:-u[e]),r.push(c);break;case"prepend":r.push(f?o:-u[e]);break;case"append":r.push(s-u[t]*f)}return r},_allTabElements:function(){return this._itemContainer().find("."+l+", ."+a)},_initSwipeHandlers:function(){this.element().on(o.addNamespace("dxswipestart",this.NAME),{itemSizeFunc:n.proxy(this._elementWidth,this)},n.proxy(this._swipeStartHandler,this)).on(o.addNamespace("dxswipe",this.NAME),n.proxy(this._swipeUpdateHandler,this)).on(o.addNamespace("dxswipeend",this.NAME),n.proxy(this._swipeEndHandler,this))},_swipeStartHandler:function(n){this._prepareAnimation(),this._prepareAction(),n.maxLeftOffset=1,n.maxRightOffset=1,t.designMode||this.option("disabled")||!this.option("swipeEnabled")||this._indexBoundary()<=1?n.cancel=!0:this._swipeGestureRunning=!0},_prepareAnimation:function(){this._stopAnimation()},_stopAnimation:function(){r.complete(this._allTabElements())},_swipeUpdateHandler:function(n){var t=n.offset;this._updateTabsPositions(t),this._updatePositionAction({offset:t})},_swipeEndHandler:function(n){var t=n.targetOffset*this._getRTLSignCorrection(),i;t===0?(this._animateRollback(),this._rollbackAction()):(i=this._normalizeIndex(this.option("selectedIndex")-t),this.option("selectedIndex",i)),this._swipeGestureRunning=!1},_previousIndex:function(n){return n=n===i?this.option("selectedIndex"):n,this._normalizeIndex(n-1)},_normalizeIndex:function(n){var t=this._indexBoundary();return n<0&&(n=t+n),n>=t&&(n=n-t),n},_indexBoundary:function(){return this.option("items").length},_renderSelection:function(n){this._calculateMaxOffsets(n),this._updateTabsPositions(),this._itemElements().eq(n).addClass(s)},_updateSelection:function(n,t){var i=n[0],r=t[0];this._calculateMaxOffsets(i),this._swipeGestureRunning||this._prepareAnimation(),this._itemElements().length&&this._animateComplete(i,r)},_calculateMaxOffsets:function(n){var t=this._itemWidths()[n],i=this._itemWidths()[this._previousIndex(n)],r=this.option("rtlEnabled");this._maxLeftOffset=r?i:t,this._maxRightOffset=r?t:i},_getRTLSignCorrection:function(){return this.option("rtlEnabled")?-1:1},_visibilityChanged:function(n){n&&this._dimensionChanged()},_clean:function(){r.stop(this._allTabElements()),this._clearElementWidthCache(),this._cleanPositionCache(),this.callBase()},_cleanPositionCache:function(){delete this._itemWidthsCache,delete this._calculetedPositionsMark},_optionChanged:function(n){switch(n.name){case"items":case"rtlEnabled":this._cleanPositionCache(),this.callBase(n);break;case"onPrepare":case"swipeEnabled":break;case"onUpdatePosition":case"onRollback":this._initActions();break;default:this.callBase(n)}},prepare:function(){this._prepareAnimation()},updatePosition:function(n){this._updateTabsPositions(n)},rollback:function(){this._animateRollback()}}))})(jQuery,DevExpress),function(n,t){var f=t.ui,e=t.utils,o=f.events,u=t.fx,s=t.translator,l="dx-pivot",a="dx-pivot-autoheight",v="dx-pivot-wrapper",y="dx-pivottabs-container",p="dx-pivot-itemcontainer",w="dx-pivot-itemwrapper",c="dx-pivot-item",h="dx-pivot-item-hidden",b="dxPivotItemData",k=200,d=50,g=250,nt="cubic-bezier(.10, 1, 0, 1)",r={returnBack:function(n){u.animate(n,{type:"slide",to:{left:0},duration:k})},slideAway:function(n,t,i){u.animate(n,{type:"slide",to:{left:t},duration:d,complete:i})},slideBack:function(n){u.animate(n,{type:"slide",to:{left:0},easing:nt,duration:g})},complete:function(n){u.stop(n,!0)}};t.registerComponent("dxPivot",f,f.CollectionWidget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({selectedIndex:0,swipeEnabled:!0,titleTemplate:"title",contentTemplate:"content",focusStateEnabled:!1,selectionMode:"single",selectionRequired:!0,selectionByClick:!1})},_itemClass:function(){return c},_itemDataKey:function(){return b},_itemContainer:function(){return this._$itemWrapper},_elementWidth:function(){return this._elementWidthCache||(this._elementWidthCache=this.element().width()),this._elementWidthCache},_clearElementWidthCache:function(){delete this._elementWidthCache},_init:function(){this.callBase(),this.element().addClass(l),this._initWrapper(),this._initTabs(),this._initItemContainer(),this._clearItemsCache(),this._initSwipeHandlers()},_dimensionChanged:function(){this._clearElementWidthCache()},_initWrapper:function(){this._$wrapper=n("<div>").addClass(v).appendTo(this.element())},_initItemContainer:function(){var t=n("<div>").addClass(p);this._$wrapper.append(t),this._$itemWrapper=n("<div>").addClass(w),t.append(this._$itemWrapper)},_clearItemsCache:function(){this._itemsCache=[]},_initTabs:function(){var t=this,i=n("<div>").addClass(y);this._$wrapper.append(i),this._tabs=this._createComponent(i,"dxPivotTabs",{itemTemplateProperty:"titleTemplate",itemTemplate:this._getTemplateByOption("titleTemplate"),items:this.option("items"),selectedIndex:this.option("selectedIndex"),onPrepare:function(){t._prepareAnimation()},onUpdatePosition:function(n){t._updateContentPosition(n.offset)},onRollback:function(){t._animateRollback()},onSelectionChanged:function(n){t.option("selectedItem",n.addedItems[0])},swipeEnabled:this.option("swipeEnabled")})},_render:function(){this._renderContentTemplate(),this.callBase();var n=this.option("selectedIndex");this._renderCurrentContent(n,n)},_renderContentTemplate:function(){e.isDefined(this._singleContent)||(this._getTemplateByOption("contentTemplate").render(this._$itemWrapper),this._singleContent=!this._$itemWrapper.is(":empty"))},_renderDimensions:function(){this.callBase(),this.element().toggleClass(a,this.option("height")==="auto")},_renderCurrentContent:function(t,i){var u=this._itemsCache,f,r;u[i]=this._selectedItemElement(),f=u[i],r=u[t],e.triggerHidingEvent(f),f.addClass(h),r?(r.removeClass(h),e.triggerShownEvent(r)):this._renderContent(),this._selectionChangePromise&&this._selectionChangePromise.resolve(),this._selectionChangePromise=n.Deferred()},_updateContentPosition:function(n){s.move(this._$itemWrapper,{left:this._calculatePixelOffset(n)})},_animateRollback:function(){r.returnBack(this._$itemWrapper)},_animateComplete:function(t,i){var u=this._$itemWrapper,e=this._getRTLSignCorrection(),f=this._elementWidth()*(this._isPrevSwipeHandled()?1:-1)*e;r.slideAway(u,f,n.proxy(function(){s.move(u,{left:-f}),this._renderCurrentContent(t,i)},this)),r.slideBack(u)},_calculatePixelOffset:function(n){return n=n||0,n*this._elementWidth()},_isPrevSwipeHandled:function(){var n=s.locate(this._$itemWrapper).left,t=this.option("rtlEnabled");return t^n>0&&n!==0},_initSwipeHandlers:function(){this.element().on(o.addNamespace("dxswipestart",this.NAME),{itemSizeFunc:n.proxy(this._elementWidth,this)},n.proxy(this._swipeStartHandler,this)).on(o.addNamespace("dxswipe",this.NAME),n.proxy(this._swipeUpdateHandler,this)).on(o.addNamespace("dxswipeend",this.NAME),n.proxy(this._swipeEndHandler,this))},_swipeStartHandler:function(n){this._prepareAnimation(),this._tabs.prepare(),t.designMode||this.option("disabled")||!this.option("swipeEnabled")||this._indexBoundary()<=1?n.cancel=!0:this._swipeGestureRunning=!0,n.maxLeftOffset=1,n.maxRightOffset=1},_prepareAnimation:function(){this._stopAnimation()},_stopAnimation:function(){r.complete(this._$itemWrapper)},_swipeUpdateHandler:function(n){var t=n.offset;this._updateContentPosition(t),this._tabs.updatePosition(t)},_swipeEndHandler:function(n){var t=n.targetOffset*this._getRTLSignCorrection(),i;t===0?(this._animateRollback(),this._tabs.rollback()):(i=this._normalizeIndex(this.option("selectedIndex")-t),this.option("selectedIndex",i)),this._swipeGestureRunning=!1},_normalizeIndex:function(n){var t=this._indexBoundary();return n<0&&(n=t+n),n>=t&&(n=n-t),n},_indexBoundary:function(){return this.option("items").length},_renderContentImpl:function(){if(!this._singleContent){var n=this.option("items"),t=this.option("selectedIndex");n.length&&this._renderItems([n[t]])}},_selectedItemElement:function(){return this._$itemWrapper.children("."+c+":not(."+h+")")},_getRTLSignCorrection:function(){return this.option("rtlEnabled")?-1:1},_clean:function(){r.complete(this._$itemWrapper),this.callBase()},_cleanItemContainer:function(){this._singleContent||this.callBase()},_refresh:function(){this._tabs._refresh(),this.callBase()},_updateSelection:function(n,t){var i=n[0],r=t[0];this._swipeGestureRunning||this._prepareAnimation(),this._animateComplete(i,r),this._tabs.option("selectedIndex",i)},_optionChanged:function(n){var t=n.value;switch(n.name){case"disabled":this._tabs.option("disabled",t),this.callBase(n);break;case"items":this._tabs.option("items",t),this._clearItemsCache(),this.callBase(n);break;case"rtlEnabled":this._tabs.option("rtlEnabled",t),this._clearItemsCache(),this.callBase(n);break;case"titleTemplate":this._tabs.option("itemTemplate",this._getTemplate(t));break;case"swipeEnabled":this._tabs.option("swipeEnabled",t);break;case"contentTemplate":this._singleContent=null,this._invalidate();break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-actionsheet",f="dx-actionsheet-container",e="dx-actionsheet-popup-wrapper",o="dx-actionsheet-popover-wrapper",s="dx-actionsheet-cancel",h="dx-actionsheet-item",c="dxActionSheetItemData",l="dx-actionsheet-without-title";t.registerComponent("dxActionSheet",r,r.CollectionWidget.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{cancelClickAction:{since:"14.2",alias:"onCancelClick"}})},_setDefaultOptions:function(){this.callBase(),this.option({usePopover:!1,target:null,title:"",showTitle:!0,showCancelButton:!0,cancelText:Globalize.localize("Cancel"),onCancelClick:null,visible:!1,noDataText:"",focusStateEnabled:!1,selectionByClick:!1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"ios",tablet:!0},options:{usePopover:!0}}])},_itemContainer:function(){return this._$itemContainer},_itemClass:function(){return h},_itemDataKey:function(){return c},_toggleVisibility:n.noop,_renderDimensions:n.noop,_render:function(){this.element().addClass(u),this._createItemContainer(),this._renderPopup()},_createItemContainer:function(){this._$itemContainer=n("<div>").addClass(f),this._renderDisabled()},_renderDisabled:function(){this._$itemContainer.toggleClass("dx-state-disabled",this.option("disabled"))},_renderPopup:function(){this._$popup=n("<div>").appendTo(this.element()),this._popup=this._isPopoverMode()?this._createPopover():this._createPopup(),this._renderPopupTitle(),this._mapPopupOption("visible")},_mapPopupOption:function(n){this._popup.option(n,this.option(n))},_isPopoverMode:function(){return this.option("usePopover")&&this.option("target")},_renderPopupTitle:function(){this._mapPopupOption("showTitle"),this._popup._wrapper().toggleClass(l,!this.option("showTitle"))},_clean:function(){this._$popup&&this._$popup.remove(),this.callBase()},_createPopover:function(){var t=this._createComponent(this._$popup,"dxPopover",{showTitle:!0,title:this.option("title"),width:this.option("width")||200,height:this.option("height")||"auto",target:this.option("target"),onHidden:n.proxy(this.hide,this),onContentReady:n.proxy(this._popupContentReadyAction,this)});return t._wrapper().addClass(o),t},_createPopup:function(){var t=this._createComponent(this._$popup,"dxPopup",{dragEnabled:!1,title:this.option("title"),width:this.option("width")||"100%",height:this.option("height")||"auto",onContentReady:n.proxy(this._popupContentReadyAction,this),showCloseButton:!1,position:{my:"bottom",at:"bottom",of:window},animation:{show:{type:"slide",duration:400,from:{position:{my:"top",at:"bottom",of:window}},to:{position:{my:"bottom",at:"bottom",of:window}}},hide:{type:"slide",duration:400,from:{position:{my:"bottom",at:"bottom",of:window}},to:{position:{my:"top",at:"bottom",of:window}}}}});t.on("optionChanged",n.proxy(function(n){n.name==="visible"&&this.option("visible",n.value)},this));return t._wrapper().addClass(e),t},_popupContentReadyAction:function(){this._popup.content().append(this._$itemContainer),this._attachClickEvent(),this._attachHoldEvent(),this._renderContent(),this._renderCancelButton()},_renderCancelButton:function(){if(!this._isPopoverMode()&&(this._$cancelButton&&this._$cancelButton.remove(),this.option("showCancelButton"))){var t=this._createActionByOption("onCancelClick")||n.noop,i=this;this._$cancelButton=n("<div>").addClass(s).appendTo(this._popup.content()),this._createComponent(this._$cancelButton,"dxButton",{text:this.option("cancelText"),onClick:function(n){var r={jQueryEvent:n,cancel:!1};t(r),r.cancel||i.hide()},_templates:{}})}},_attachItemClickEvent:n.noop,_itemClickHandler:function(t){this.callBase(t),n(t.target).is(".dx-state-disabled, .dx-state-disabled *")||this.hide()},_itemHoldHandler:function(t){this.callBase(t),n(t.target).is(".dx-state-disabled, .dx-state-disabled *")||this.hide()},_optionChanged:function(n){switch(n.name){case"width":case"height":case"visible":case"title":this._mapPopupOption(n.name);break;case"disabled":this._renderDisabled();break;case"showTitle":this._renderPopupTitle();break;case"showCancelButton":case"onCancelClick":case"cancelText":this._renderCancelButton();break;case"target":case"usePopover":case"items":this._invalidate();break;default:this.callBase(n)}},toggle:function(t){var i=this,r=n.Deferred();return i._popup.toggle(t).done(function(){i.option("visible",t),r.resolveWith(i)}),r.promise()},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)}}))}(jQuery,DevExpress),function(n,t){var o=t.ui,s=o.events,e=t.fx,c=t.translator,p="dx-panorama",w="dx-panorama-wrapper",b="dx-panorama-title",k="dx-panorama-ghosttitle",d="dx-panorama-itemscontainer",l="dx-panorama-item",a="dx-panorama-ghostitem",g="dxPanoramaItemData",nt=.02,tt=.02,it=300,rt="cubic-bezier(.40, .80, .60, 1)",ut=300,ft="cubic-bezier(.40, .80, .60, 1)",et=300,ot="cubic-bezier(.40, .80, .60, 1)",v=function(n,t){n.css("background-position",t+"px 0%")},f=function(n){return c.locate(n).left},r=function(n,t){c.move(n,{left:t})},u={backgroundMove:function(n,t,i){return e.animate(n,{to:{"background-position":t+"px 0%"},duration:it,easing:rt,complete:i})},titleMove:function(n,t,i){return e.animate(n,{type:"slide",to:{left:t},duration:ut,easing:ft,complete:i})},itemMove:function(n,t,i){return e.animate(n,{type:"slide",to:{left:t},duration:et,easing:ot,complete:i})}},y=function(t){t&&n.each(t,function(n,t){e.stop(t,!0)})},h=t.Class.inherit({ctor:function(n){this._panorama=n},init:n.noop,render:n.noop,allItemElements:function(){return this._panorama._itemElements()},updatePositions:t.abstract,animateRollback:t.abstract,detectBoundsTransition:t.abstract,animateComplete:t.abstract,_getRTLSignCorrection:function(){return this._panorama._getRTLSignCorrection()},_isRTLEnabled:function(){return this._panorama.option("rtlEnabled")},_itemMargin:function(){return this._containerWidth()*nt},_containerWidth:function(){return this._panorama._elementWidth()},_itemWidth:function(){return this._panorama._itemWidth()},_indexBoundary:function(){return this._panorama._indexBoundary()},_normalizeIndex:function(n){return this._panorama._normalizeIndex(n)},_startNextPosition:function(){return this._isRTLEnabled()?this._containerWidth()-(this._itemMargin()+this._itemWidth()):this._itemMargin()},_startPrevPosition:function(){return this._isRTLEnabled()?this._containerWidth():-this._itemWidth()}}),st=h.inherit({updatePositions:function(){var t=this._panorama._itemElements(),i=this._startNextPosition();t.each(function(){r(n(this),i)})},animateRollback:n.noop,detectBoundsTransition:n.noop,animateComplete:n.noop}),ht=h.inherit({init:function(){this._initGhostItem()},render:function(){this._renderGhostItem()},_initGhostItem:function(){this._$ghostItem=n("<div>").addClass(a)},_renderGhostItem:function(){this._panorama._itemContainer().append(this._$ghostItem),this._toggleGhostItem(!1)},_toggleGhostItem:function(n){var t=this._$ghostItem;n?t.css("opacity",1):t.css("opacity",0)},_updateGhostItemContent:function(n){n!==!1&&n!==this._prevGhostIndex&&(this._$ghostItem.html(this._panorama._itemElements().eq(n).html()),this._prevGhostIndex=n)},_isGhostItemVisible:function(){return this._$ghostItem.css("opacity")==="1"},_swapGhostWithItem:function(n){var t=this._$ghostItem,i=f(n);r(n,f(t)),r(t,i)},allItemElements:function(){return this._panorama._itemContainer().find("."+l+", ."+a)},updatePositions:function(t){var o=this.allItemElements(),i=this._panorama.option("selectedIndex"),u=t*this._getRTLSignCorrection(),f=u>0&&i===0||u<0&&i===1,e=u<0&&i===0||u>0&&i===1,s=f&&"replaceLast"||e&&"replaceFirst",h=f&&1||e&&0,c=this._calculateItemPositions(i,s);this._updateGhostItemContent(h),this._toggleGhostItem(f||e),o.each(function(i){r(n(this),c[i]+t)})},animateRollback:function(t){var h=this,i=this._panorama._itemElements(),e=this._startNextPosition(),o=this._getRTLSignCorrection(),c=(f(i.eq(t))-e)*o,r=(f(this._$ghostItem)-e)*o,s=this._calculateItemPositions(t,r>0?"prepend":"append"),l=t===0&&c>0&&r>0||t===1&&r<0;l?this._swapGhostWithItem(i.eq(1)):this._swapGhostWithItem(i.eq(0)),i.each(function(t){u.itemMove(n(this),s[t])}),u.itemMove(this._$ghostItem,s[2],function(){h._toggleGhostItem(!1)})},detectBoundsTransition:function(n,t){var i=f(this._$ghostItem),r=this._startNextPosition(),u=this._isRTLEnabled();return n===0&&u^i<r?"left":t===0&&u^i>r?"right":void 0},animateComplete:function(t,i,r){var o=this,s=!t^r!==0?"prepend":"append",h=this._panorama._itemElements(),e=this._calculateItemPositions(i,s),f=[];return h.each(function(t){f.push(u.itemMove(n(this),e[t]))}),f.push(u.itemMove(this._$ghostItem,e[2],function(){o._toggleGhostItem(!1)})),n.when.apply(n,f)},_calculateItemPositions:function(n,t){var i=[],o=this._itemMargin(),s=this._itemWidth(),e=(s+o)*this._getRTLSignCorrection(),u=n===0,f=this._startPrevPosition(),r=this._startNextPosition();i.push(r),r+=e,u?i.push(r):i.splice(0,0,r),r+=e;switch(t){case"replaceFirst":i.push(i[0]),i[0]=u?r:f;break;case"replaceLast":u?i.splice(1,0,f):i.splice(1,0,r);break;case"prepend":i.push(f);break;case"append":i.push(r)}return i}}),ct=h.inherit({updatePositions:function(t){var i=this._panorama._itemElements(),u=t*this._getRTLSignCorrection()<0,f=this._calculateItemPositions(this._panorama.option("selectedIndex"),u);i.each(function(i){r(n(this),f[i]+t)})},animateRollback:function(t){var i=this._panorama._itemElements(),e=this._calculateItemPositions(t),o=[t,this._normalizeIndex(t+1)];this._isRTLEnabled()^f(i.eq(t))>this._startNextPosition()&&o.push(this._normalizeIndex(t-1)),i.each(function(t){var i=n(this);n.inArray(t,o)!==-1?u.itemMove(i,e[t]):r(i,e[t])})},detectBoundsTransition:function(n,t){var i=this._indexBoundary()-1;return t===i&&n===0?"left":t===0&&n===i?"right":void 0},animateComplete:function(t,i,f){var s=[],h=this._panorama._itemElements(),e=this._calculateItemPositions(i),o=this._normalizeIndex(f-1)===i,l=h.length===3&&o?this._normalizeIndex(f+1):null,a=e[this._indexBoundary()],c=[i,f],v=o?f:i;return o||c.push(this._normalizeIndex(v+1)),h.each(function(t){var i=n(this);if(n.inArray(t,c)===-1){r(i,e[t]);return}s.push(t!==l?u.itemMove(i,e[t]):u.itemMove(i,a,function(){r(i,e[t])}))}),n.when.apply(n,s)},_calculateItemPositions:function(n,t){for(var f=this._normalizeIndex(n-1),o=this._itemMargin(),s=this._itemWidth(),e=(s+o)*this._getRTLSignCorrection(),i=[],h=this._startPrevPosition(),r=this._startNextPosition(),u=n;u!==f;u=this._normalizeIndex(u+1))i[u]=r,r+=e;return t?(i[f]=r,r+=e):i[f]=h,i.push(r),i}});t.registerComponent("dxPanorama",o,o.CollectionWidget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({selectedIndex:0,title:"panorama",backgroundImage:{url:null,width:0,height:0},focusStateEnabled:!1,selectionMode:"single",selectionRequired:!0,selectionByClick:!1})},_itemClass:function(){return l},_itemDataKey:function(){return g},_itemContainer:function(){return this._$itemsContainer},_itemWidth:function(){return this._itemWidthCache||(this._itemWidthCache=this._itemElements().eq(0).outerWidth()),this._itemWidthCache},_clearItemWidthCache:function(){delete this._itemWidthCache},_elementWidth:function(){return this._elementWidthCache||(this._elementWidthCache=this.element().width()),this._elementWidthCache},_clearElementWidthCache:function(){delete this._elementWidthCache},_titleWidth:function(){return this._titleWidthCache||(this._titleWidthCache=this._$title.outerWidth()),this._titleWidthCache},_clearTitleWidthCache:function(){delete this._titleWidthCache},_init:function(){this.callBase(),this._initItemsRenderStrategy(),this._initWrapper(),this._initTitle(),this._initItemsContainer(),this._initSwipeHandlers()},_dimensionChanged:function(){this._clearItemWidthCache(),this._clearElementWidthCache(),this._clearTitleWidthCache(),this._updatePositions()},_initWrapper:function(){this._$wrapper=n("<div>").addClass(w).appendTo(this.element())},_initItemsRenderStrategy:function(){var n;switch(this.option("items").length){case 0:case 1:n=st;break;case 2:n=ht;break;default:n=ct}this._itemsRenderStrategy=new n(this),this._itemsRenderStrategy.init()},_initBackgroundImage:function(){var n=this.option("backgroundImage.url");n&&this.element().css("background-image","url("+n+")")},_initTitle:function(){this._$title=n("<div>").addClass(b),this._$ghostTitle=n("<div>").addClass(k),this._$wrapper.append(this._$title),this._$wrapper.append(this._$ghostTitle),this._updateTitle()},_updateTitle:function(){var n=this.option("title");this._$title.text(n),this._$ghostTitle.text(n),this._toggleGhostTitle(!1)},_toggleGhostTitle:function(n){var t=this._$ghostTitle;n?t.css("opacity",1):t.css("opacity",0)},_getRTLSignCorrection:function(){return this.option("rtlEnabled")?-1:1},_initItemsContainer:function(){this._$itemsContainer=n("<div>").addClass(d),this._$wrapper.append(this._$itemsContainer)},_render:function(){this.element().addClass(p),this.callBase(),this._initBackgroundImage(),this._itemsRenderStrategy.render()},_updatePositions:function(n){n=n||0,this._updateBackgroundPosition(n*this._calculateBackgroundStep()),this._updateTitlePosition(n*this._calculateTitleStep()),this._itemsRenderStrategy.updatePositions(n*this._elementWidth())},_updateBackgroundPosition:function(n){v(this.element(),this._calculateBackgroundPosition(this.option("selectedIndex"))+n)},_updateTitlePosition:function(n){r(this._$title,this._calculateTitlePosition(this.option("selectedIndex"))+n)},_animateRollback:function(n){this._animateBackgroundMove(n),this._animateTitleMove(n),this._itemsRenderStrategy.animateRollback(n)},_animateBackgroundMove:function(n){return u.backgroundMove(this.element(),this._calculateBackgroundPosition(n))},_animateTitleMove:function(n){return u.titleMove(this._$title,this._calculateTitlePosition(n))},_animateComplete:function(t,i){var r=this,u=this._itemsRenderStrategy.detectBoundsTransition(t,i),f=this._performBackgroundAnimation(u,t),e=this._performTitleAnimation(u,t),o=this._itemsRenderStrategy.animateComplete(u,t,i);n.when(f,e,o).done(function(){r._indexChangeOnAnimation=!0,r.option("selectedIndex",t),r._indexChangeOnAnimation=!1})},_performBackgroundAnimation:function(n,t){return n?this._animateBackgroundBoundsTransition(n,t):this._animateBackgroundMove(t)},_animateBackgroundBoundsTransition:function(n,t){var r=this,f=n==="left",i=this._calculateBackgroundPosition(t),e=f^this.option("rtlEnabled")?-this._calculateBackgroundScaledWidth():this._calculateBackgroundScaledWidth(),o=i+e;return u.backgroundMove(this.element(),o,function(){v(r.element(),i)})},_performTitleAnimation:function(n,t){return n?this._animateTitleBoundsTransition(n,t):this._animateTitleMove(t)},_animateTitleBoundsTransition:function(t,i){var a=this,e=this._$ghostTitle,o=this._titleWidth(),f=this._elementWidth(),s=t==="left",h=this.option("rtlEnabled"),v=s^h?f:-o,y=s^h?-(f+o):f,c,l;return r(e,v),this._toggleGhostTitle(!0),this._swapGhostWithTitle(),c=u.titleMove(e,y,function(){a._toggleGhostTitle(!1)}),l=u.titleMove(this._$title,this._calculateTitlePosition(i)),n.when(c,l)},_swapGhostWithTitle:function(){var n=this._$ghostTitle,t=this._$title,i=f(t);r(t,f(n)),r(n,i)},_calculateTitlePosition:function(n){var t=this._elementWidth(),r=this._titleWidth(),i=t*tt,u=this.option("rtlEnabled")?t-i-r:i,f=n*this._calculateTitleStep()*this._getRTLSignCorrection();return u-f},_calculateTitleStep:function(){var i=this._elementWidth(),n=this._titleWidth(),t=this._indexBoundary()||1;return Math.max((n-i)/t,n/t)},_calculateBackgroundPosition:function(n){var t=this._elementWidth(),i=this._calculateBackgroundScaledWidth(),r=this.option("rtlEnabled")?t-i:0,u=n*this._calculateBackgroundStep()*this._getRTLSignCorrection();return r-u},_calculateBackgroundStep:function(){var n=this._itemWidth(),t=this._calculateBackgroundScaledWidth();return Math.max((t-n)/(this._indexBoundary()||1),0)},_calculateBackgroundScaledWidth:function(){return this.element().height()*this.option("backgroundImage.width")/(this.option("backgroundImage.height")||1)},_initSwipeHandlers:function(){this.element().on(s.addNamespace("dxswipestart",this.NAME),{itemSizeFunc:n.proxy(this._elementWidth,this)},n.proxy(this._swipeStartHandler,this)).on(s.addNamespace("dxswipe",this.NAME),n.proxy(this._swipeUpdateHandler,this)).on(s.addNamespace("dxswipeend",this.NAME),n.proxy(this._swipeEndHandler,this))},_swipeStartHandler:function(n){this._stopAnimations(),n.maxLeftOffset=1,n.maxRightOffset=1,(t.designMode||this.option("disabled")||this._indexBoundary()<=1)&&(n.cancel=!0)},_stopAnimations:function(){y([this.element(),this._$ghostTitle,this._$title]),y(this._itemsRenderStrategy.allItemElements())},_swipeUpdateHandler:function(n){this._updatePositions(n.offset)},_swipeEndHandler:function(n){var t=this.option("selectedIndex"),i=n.targetOffset*this._getRTLSignCorrection();i===0?this._animateRollback(t):this._animateComplete(this._normalizeIndex(t-i),t)},_renderSelection:function(){this._indexChangeOnAnimation||this._updatePositions()},_normalizeIndex:function(n){var t=this._indexBoundary();return n<0&&(n=t+n),n>=t&&(n=n-t),n},_indexBoundary:function(){return this.option("items").length},_visibilityChanged:function(n){n&&this._dimensionChanged()},_optionChanged:function(n){switch(n.name){case"width":this.callBase(n),this._dimensionChanged();break;case"backgroundImage":this._invalidate();break;case"title":this._updateTitle();break;case"items":this._initItemsRenderStrategy(),this.callBase(n);break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,r=t.fx,f=t.translator,e="dx-slideoutview",o="dx-slideoutview-wrapper",s="dx-slideoutview-menu-content",h="dx-slideoutview-content",c="dx-slideoutview-shield",l="dx-state-invisible",a="content",v=400,y={moveTo:function(n,t,i){r.animate(n,{type:"slide",to:{left:t},duration:v,complete:i})},complete:function(n){r.stop(n,!0)}};t.registerComponent("dxSlideOutView",u,u.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({menuVisible:!1,swipeEnabled:!0,menuTemplate:"menu",contentTemplate:"content",contentOffset:45})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{android:!0},options:{contentOffset:54}},{device:function(n){return n.platform==="generic"&&n.deviceType!=="desktop"},options:{contentOffset:56}},{device:{win8:!0,phone:!1},options:{contentOffset:76}}])},_getAnonimousTemplateName:function(){return a},_init:function(){this.callBase(),this.element().addClass(e),this._deferredAnimate=i,this._initHideTopOverlayHandler()},_initHideTopOverlayHandler:function(){this._hideMenuHandler=n.proxy(this.hideMenu,this)},_render:function(){this.callBase(),this._renderShield(),this._initSwipeHandlers(),this._dimensionChanged()},_renderContentImpl:function(){this._renderMarkup();var n=this._getTemplate(this.option("menuTemplate")),t=this._getTemplate(this.option("contentTemplate"));n&&n.render(this.menuContent()),t&&t.render(this.content())},_renderMarkup:function(){var t=n("<div>").addClass(o);this._$menu=n("<div>").addClass(s),this._$container=n("<div>").addClass(h),t.append(this._$menu),t.append(this._$container),this.element().append(t);this._$container.on("MSPointerDown",n.noop)},_renderShield:function(){this._$shield=this._$shield||n("<div>").addClass(c),this._$shield.appendTo(this.content());this._$shield.off("dxclick").on("dxclick",n.proxy(this.hideMenu,this));this._toggleShieldVisibility(this.option("menuVisible"))},_initSwipeHandlers:function(){this._createComponent(this.content(),"dxSwipeable",{disabled:!this.option("swipeEnabled"),elastic:!1,itemSizeFunc:n.proxy(this._getMenuWidth,this),onStart:n.proxy(this._swipeStartHandler,this),onUpdated:n.proxy(this._swipeUpdateHandler,this),onEnd:n.proxy(this._swipeEndHandler,this)})},_swipeStartHandler:function(n){var i=n.jQueryEvent,t=this.option("menuVisible"),r=this.option("rtlEnabled");i.maxLeftOffset=+(r?!t:t),i.maxRightOffset=+(r?t:!t),this._toggleShieldVisibility(!0)},_swipeUpdateHandler:function(n){var t=n.jQueryEvent,i=this.option("menuVisible")?t.offset+1*this._getRTLSignCorrection():t.offset;i*=this._getRTLSignCorrection(),this._renderPosition(i,!1)},_swipeEndHandler:function(n){var i=n.jQueryEvent.targetOffset*this._getRTLSignCorrection()+this.option("menuVisible"),t=i!==0;this.option("menuVisible")===t?this._renderPosition(this.option("menuVisible"),!0):this.option("menuVisible",t)},_renderPosition:function(t,i){var r=this._calculatePixelOffset(t)*this._getRTLSignCorrection();this._toggleHideMenuCallback(t),i?(this._toggleShieldVisibility(!0),y.moveTo(this.content(),r,n.proxy(this._animationCompleteHandler,this))):f.move(this.content(),{left:r})},_calculatePixelOffset:function(n){return n=n||0,n*this._getMenuWidth()},_getMenuWidth:function(){var n,t;return this._menuWidth||(n=this.element().width()-this.option("contentOffset"),this.menuContent().css("max-width",n),t=this.menuContent().width(),this._menuWidth=Math.min(t,n)),this._menuWidth},_animationCompleteHandler:function(){this._toggleShieldVisibility(this.option("menuVisible")),this._deferredAnimate&&this._deferredAnimate.resolveWith(this)},_toggleHideMenuCallback:function(n){n?t.hideTopOverlayCallback.add(this._hideMenuHandler):t.hideTopOverlayCallback.remove(this._hideMenuHandler)},_getRTLSignCorrection:function(){return this.option("rtlEnabled")?-1:1},_dispose:function(){r.stop(this.content()),this._toggleHideMenuCallback(!1),this.callBase()},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dimensionChanged:function(){delete this._menuWidth,this._renderPosition(this.option("menuVisible"),!1)},_toggleShieldVisibility:function(n){this._$shield.toggleClass(l,!n)},_optionChanged:function(n){switch(n.name){case"width":this.callBase(n),this._dimensionChanged();break;case"contentOffset":this._dimensionChanged();break;case"menuVisible":this._renderPosition(n.value,!0);break;case"swipeEnabled":this._initSwipeHandlers();break;case"contentTemplate":case"menuTemplate":this._invalidate();break;default:this.callBase(n)}},menuContent:function(){return this._$menu},content:function(){return this._$container},showMenu:function(){return this.toggleMenuVisibility(!0)},hideMenu:function(){return this.toggleMenuVisibility(!1)},toggleMenuVisibility:function(t){return t=t===i?!this.option("menuVisible"):t,this._deferredAnimate=n.Deferred(),this.option("menuVisible",t),this._deferredAnimate.promise()}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,f=t.utils,e="dx-slideout",o="dx-slideout-item-container",s="dx-slideout-menu",u="dx-slideout-item",h="dxSlideoutItemData";t.registerComponent("dxSlideOut",r,r.CollectionWidget.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{menuItemRender:{since:"14.2",alias:"menuItemTemplate"},menuGroupRender:{since:"14.2",alias:"menuGroupTemplate"}})},_setDefaultOptions:function(){this.callBase(),this.option({activeStateEnabled:!1,menuItemTemplate:"menuItem",swipeEnabled:!0,menuVisible:!1,menuGrouped:!1,menuGroupTemplate:"menuGroup",onMenuItemRendered:null,onMenuGroupRendered:null,contentTemplate:"content",selectionMode:"single",selectionRequired:!0})},_itemClass:function(){return u},_itemDataKey:function(){return h},_itemContainer:function(){return this._slideOutView.content()},_init:function(){this.callBase(),this.element().addClass(e),this._initSlideOutView()},_initEditStrategy:function(){if(this.option("menuGrouped")){var t=r.CollectionWidget.PlainEditStrategy.inherit({_getPlainItems:function(){return n.map(this.callBase(),function(n){return n.items})}});this._editStrategy=new t(this)}else this.callBase()},_initSlideOutView:function(){this._slideOutView=this._createComponent(this.element(),"dxSlideOutView",{_templates:[],menuVisible:this.option("menuVisible"),swipeEnabled:this.option("swipeEnabled"),onOptionChanged:n.proxy(this._slideOutViewOptionChanged,this)}),this._itemContainer().addClass(o)},_slideOutViewOptionChanged:function(n){n.name==="menuVisible"&&this.option(n.name,n.value)},_render:function(){this._slideOutView._renderShield(),this._renderList(),this._renderContentTemplate(),this.callBase()},_renderList:function(){this._$list=this._$list||n("<div>").addClass(s).appendTo(this._slideOutView.menuContent()),this._renderItemClickAction(),this._createComponent(this._$list,"dxList",{itemTemplateProperty:"menuTemplate",indicateLoading:!1,onItemClick:n.proxy(this._listItemClickHandler,this),items:this.option("items"),dataSource:this.option("dataSource"),itemTemplate:this._getTemplateByOption("menuItemTemplate"),grouped:this.option("menuGrouped"),groupTemplate:this.option("menuGroupTemplate"),onItemRendered:this.option("onMenuItemRendered"),onGroupRendered:this.option("onMenuGroupRendered"),onContentReady:n.proxy(this._updateSlideOutView,this)})},_updateSlideOutView:function(){this._slideOutView._dimensionChanged()},_renderItemClickAction:function(){this._itemClickAction=this._createActionByOption("onItemClick")},_listItemClickHandler:function(n){var t=this._$list.find(".dx-list-item").index(n.itemElement);this.option("selectedIndex",t),this._itemClickAction(n)},_renderContentTemplate:function(){if(!f.isDefined(this._singleContent)){var n=this._getTemplateByOption("contentTemplate").render(this._itemContainer());this._singleContent=!!n.length||n.is(":empty")}},_itemClickHandler:n.noop,_renderContentImpl:function(){var i,t,r;this._singleContent||(i=this.option("items"),t=this.option("selectedIndex"),i.length&&t>-1&&(r=this._$list.dxList("instance").getItemByIndex(t),this._renderItems([r])))},_renderItem:function(n,t){this._itemContainer().find("."+u).remove(),this.callBase(n,t)},_selectedItemElement:function(){return this._itemElements().eq(0)},_renderSelection:function(){this._renderContent()},_getListWidth:function(){return this._slideOutView._getMenuWidth()},_changeMenuOption:function(n,t){this._$list.dxList("instance").option(n,t),this._updateSlideOutView()},_cleanItemContainer:function(){this._singleContent||this.callBase()},_optionChanged:function(n){var i=n.name,t=n.value;switch(i){case"menuVisible":case"swipeEnabled":case"rtlEnabled":this._slideOutView.option(i,t);break;case"width":this.callBase(n),this._updateSlideOutView();break;case"menuItemTemplate":this._changeMenuOption("itemTemplate",this._getTemplate(t));break;case"items":this._changeMenuOption(i,t);break;case"dataSource":this._changeMenuOption(i,t),this.callBase(n);break;case"menuGrouped":this._initEditStrategy(),this._changeMenuOption("grouped",t);break;case"menuGroupTemplate":this._changeMenuOption("groupTemplate",this._getTemplate(t));break;case"onMenuItemRendered":this._changeMenuOption("onItemRendered",t);break;case"onMenuGroupRendered":this._changeMenuOption("onGroupRendered",t);break;case"onItemClick":this._renderItemClickAction();break;case"contentTemplate":this._singleContent=null,this._invalidate();break;default:this.callBase(n)}},showMenu:function(){return this._slideOutView.toggleMenuVisibility(!0)},hideMenu:function(){return this._slideOutView.toggleMenuVisibility(!1)},toggleMenuVisibility:function(n){return this._slideOutView.toggleMenuVisibility(n)}}))}(jQuery,DevExpress),DevExpress.MOD_WIDGETS_MOBILE=!0}if(!DevExpress.MOD_WIDGETS_WEB){if(!DevExpress.MOD_WIDGETS_BASE)throw Error("Required module is not referenced: widgets-base");(function(n,t,i){var e=t.ui,c=e.events,o=t.fx,l="dx-accordion",a="dx-accordion-wrapper",h="dx-accordion-item",r="dx-accordion-item-opened",s="dx-accordion-item-closed",u="dx-accordion-item-title",f="dx-accordion-item-body",v="dxAccordionItemData",y="dxAccordionItemTitleData",p="dxAccordionItemContentData";t.registerComponent("dxAccordion",e,e.CollectionWidget.inherit({_activeStateUnit:"."+h,_setDefaultOptions:function(){this.callBase(),this.option({height:i,itemTitleTemplate:"title",onItemTitleClick:null,onItemTitleHold:null,selectedIndex:0,collapsible:!1,multiple:!1,animationDuration:300,deferRendering:!0,selectionByClick:!0,activeStateEnabled:!0,_itemAttributes:{role:"tab"}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_init:function(){this.callBase(),this.option("selectionRequired",!this.option("collapsible")),this.option("selectionMode",this.option("multiple")?"multi":"single");var t=this.element();t.addClass(l),this._$container=n("<div>").addClass(a),t.append(this._$container)},_render:function(){this._deferredItems=[],this.callBase(),this.setAria({role:"tablist",multiselectable:this.option("multiple")}),this._attachItemTitleClickAction()},_itemDataKey:function(){return v},_itemClass:function(){return h},_itemContainer:function(){return this._$container},_itemTitles:function(){return this._itemElements().find("."+u)},_itemContents:function(){return this._itemElements().find("."+f)},_getItemData:function(t){return n(t).parent().data(this._itemDataKey())||this.callBase.apply(this,arguments)},_executeItemRenderAction:function(n){n.type||this.callBase.apply(this,arguments)},_itemSelectHandler:function(t){n(t.target).closest("."+f).length||this.callBase.apply(this,arguments)},_renderItemContent:function(t,i,r){r=r||this._itemContainer();var u=this.callBase.apply(this,[t,n.extend({type:"title",titleTemplate:this._getTemplateByOption("itemTitleTemplate")},i),r]),f=u.parent();this._deferredItems.push(n.Deferred()),this._deferredItems[t].done(n.proxy(this._renderItemBody,this,this.callBase,t,i,f)),this.option("deferRendering")||this._deferredItems[t].resolve()},_renderItemBody:function(t,i,r,u){var f=n("<div>").appendTo(u);t.apply(this,[i,n.extend({type:"content",template:this._getTemplateByOption("itemTemplate")},r),f])},_getItemTemplateName:function(n){var t=this.option("itemTemplateProperty");return n.type==="title"&&(t="titleTemplate"),n&&n[t]||this.option("itemTemplate")},_addItemContentClasses:function(n,t){switch(t.type){case"title":n.addClass(u).data(y,t);break;case"content":n.addClass(f).data(p,t);break;default:this.callBase.apply(this,arguments)}},_attachItemTitleClickAction:function(){var t="."+u,i=c.addNamespace("dxclick",this.NAME);this._itemContainer().off(i,t).on(i,t,n.proxy(this._itemTitleClickHandler,this))},_itemTitleClickHandler:function(n){this._itemJQueryEventHandler(n,"onItemTitleClick")},_renderSelection:function(n,t){this._itemElements().addClass(s),this._updateItems(n,t,!0)},_updateSelection:function(n,t){this._updateItems(n,t,!1)},_updateItems:function(t,i,u){var e=this._itemElements(),o=this;n.each(t,function(n,t){var i=e.eq(t);i.find("."+f).length===0&&o._deferredItems[t].resolve(),i.addClass(r),i.removeClass(s)}),n.each(i,function(n,t){e.eq(t).removeClass(r)}),this._updateItemHeights(u)},_updateItemHeights:function(t){var i=this._itemElements(),f=this._splitFreeSpace(this._calculateFreeSpace());n.each(i,n.proxy(function(i,e){var s=n(e),h=s.children("."+u),l=s.outerHeight(),c=s.hasClass(r)?f+h.outerHeight()||s.height("auto").outerHeight():h.outerHeight();o.isAnimating(s)&&o.stop(s),t?s.css("height",c):this._animateItem(s,l,c)},this))},_animateItem:function(t,i,u){o.animate(t,{type:"slide",from:{height:i},to:{height:u},duration:this.option("animationDuration"),complete:n.proxy(function(){this._deferredAnimate&&this._deferredAnimate.resolveWith(this),this._itemElements().not("."+r).addClass(s)},this)})},_splitFreeSpace:function(n){return n?n/this.option("selectedItems").length:n},_calculateFreeSpace:function(){var r=this.option("height"),u,t;if(r!==i&&r!=="auto")return u=this._itemTitles(),t=0,n.each(u,function(i,r){t+=n(r).outerHeight()}),this.element().height()-t},_visibilityChanged:function(n){n&&this._dimensionChanged()},_dimensionChanged:function(){this._updateItemHeights(!0)},_optionChanged:function(n){switch(n.name){case"animationDuration":case"onItemTitleClick":break;case"collapsible":this.option("selectionRequired",!this.option("collapsible"));break;case"itemTitleTemplate":case"itemContentTemplate":case"onItemTitleHold":case"height":case"deferRendering":this._invalidate();break;case"multiple":this.option("selectionMode",n.value?"multi":"single");break;default:this.callBase(n)}},expandItem:function(t){return this._deferredAnimate=n.Deferred(),this.selectItem(t),this._deferredAnimate.promise()},collapseItem:function(t){return this._deferredAnimate=n.Deferred(),this.unselectItem(t),this._deferredAnimate.promise()}}))})(jQuery,DevExpress),function(n,t,i){var o=t.ui,r=t.utils,e=o.events,v=t.Class,u=4,y="dx-pager",s="dx-page",p="dx-pages",h="dx-selection",w="dx-separator",b="dx-page-sizes",c="dx-page-size",k="dx-navigate-button",l="dx-prev-button",a="dx-next-button",d="dx-info",g="dx-button-disable",f=v.inherit({ctor:function(t,i){var r=this;r.index=i,r._$page=n("<div />").text(t).addClass(s)},value:function(n){var i=this,t;if(r.isDefined(n))i._$page.text(n);else return t=i._$page.text(),r.isNumber(t)?parseInt(t):t},element:function(){return this._$page},select:function(n){this._$page.toggleClass(h,n)},render:function(n,t){t?this._$page.prependTo(n):this._$page.appendTo(n)}});t.registerComponent("dxPager",o,o.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({visible:!0,pageIndex:1,maxPagesCount:10,pageCount:10,pageSize:5,showPageSizes:!0,pageSizes:[5,10],hasKnownLastPage:!0,showNavigationButtons:!1,showInfo:!1,infoText:Globalize.localize("dxPager-infoText"),rtlEnabled:!1,pageIndexChanged:n.noop,pageSizeChanged:n.noop})},_toggleVisibility:function(n){var t=this.element();t&&t.css("display",n?"":"none")},_getPages:function(n,t){var r=[],e=!this.option("hasKnownLastPage"),o,i;if(t>0||e)if(t<=this.option("maxPagesCount")){for(i=1;i<=t;i++)r.push(new f(i,i-1));e&&r.push(new f(">",i-1))}else{for(r.push(new f(1,0)),o=n?n.value()-n.index:1,i=1;i<=u;i++)r.push(new f(o+i,i));r.push(new f(t,u+1)),e&&r.push(new f(">",u+1))}return r},_getPageByValue:function(n){for(var r=this,i,t=0;t<r._pages.length;t++)if(i=r._pages[t],i.value()===n)return i},_processSelectedPage:function(t,i,e){var o=this,s=!1,h;o._pages&&(n.each(o._pages,function(n,t){i===t.value()&&(s=!0)}),s||(o.selectedPage=null)),r.isDefined(o.selectedPage)?i===e&&e>t&&o.selectedPage.index!==u+1&&(o.selectedPage.index=u+1):i>u&&i<e&&(h=e-u<i?u-(e-i)+1:2,o.selectedPage=new f(i,h))},_selectPageByValue:function(n){var u=this,f,t=u._getPageByValue(n),h=u._pages,o=h.length,s,e,c;if(r.isDefined(t)){if(s=u._pages[t.index-1],e=u._pages[t.index+1],e&&e.value()===">"&&(c=e,e=i,o--,h.pop()),u.selectedPage&&u.selectedPage.select(!1),t.select(!0),u.selectedPage=t,e&&e.value()-n>1)if(t.index!==0)for(s.value(n+1),u._pages.splice(t.index,1),u._pages.splice(t.index-1,0,t),u._pages[t.index].index=t.index,t.index=t.index-1,f=t.index-1;f>0;f--)u._pages[f].value(u._pages[f+1].value()-1);else for(f=0;f<o-1;f++)u._pages[f].value(f+1);if(s&&n-s.value()>1)if(t.index!==o-1)for(e.value(n-1),u._pages.splice(t.index,1),u._pages.splice(t.index+1,0,t),u._pages[t.index].index=t.index,t.index=t.index+1,f=t.index+1;f<o-1;f++)u._pages[f].value(u._pages[f-1].value()+1);else for(f=1;f<=o-2;f++)u._pages[o-1-f].value(u._pages[o-1].value()-f);c&&h.push(c)}},_nextPage:function(n){var t=this.selectedPage&&this.selectedPage.value(),i=this.option("pageCount");r.isDefined(t)&&(t=n==="next"?++t:--t,t>0&&t<=i&&this.option("pageIndex",t))},_renderPages:function(t){var i=this,f,o=t.length,h=i._createAction(function(t){var u=t.jQueryEvent,r=n(u.target).text(),f=r===">"?i.option("pageCount")+1:Number(r);i.option("pageIndex",f)}),u,r;if(o>1){i._pageClickHandler=function(n){h({jQueryEvent:n})};i.$pagesChooser.on(e.addNamespace("dxclick",i.Name+"Pages"),"."+s,i._pageClickHandler)}for(r=0;r<o;r++)u=t[r],u.render(i.$pagesChooser,i.option("rtlEnabled")),i.setAria({role:"button",label:"Page "+u.value()},u.element()),t[r+1]&&t[r+1].value()-u.value()>1&&(f=n("<div>. . .<\/div>").addClass(w),i.option("rtlEnabled")?f.prependTo(i.$pagesChooser):f.appendTo(i.$pagesChooser))},_renderPagesChooser:function(){var t=this,i=t.element();if(i){if(t._pages.length===0){t.selectedPage=null;return}r.isDefined(t.$pagesChooser)?t.$pagesChooser.empty():t.$pagesChooser=n("<div />").addClass(p),t._renderInfo(),t._renderNavigateButton("prev"),t._renderPages(t._pages),t._renderNavigateButton("next"),r.isDefined(t.$pagesChooser[0].parentElement)||t.$pagesChooser.appendTo(i)}},_renderPagesSizeChooser:function(){var t=this,i,u,a=t.option("pageSize"),f=t.option("pageSizes"),v=t.option("showPageSizes"),o,s=f&&f.length,l=t.element();if(l&&(t._clickPagesSizeAction=t._createAction(function(i){var r=i.jQueryEvent;o=parseInt(n(r.target).text()),t.option("pageSize",o)}),r.isDefined(t.pagesSizeChooserElement)?t.pagesSizeChooserElement.empty():t.pagesSizeChooserElement=n("<div />").addClass(b).on(e.addNamespace("dxclick",t.Name+"PageSize"),"."+c,function(n){t._clickPagesSizeAction({jQueryEvent:n})}),v&&s)){for(i=0;i<s;i++)u=n("<div />").text(f[i]).addClass(c),t.setAria({role:"button",label:"Display "+f[i]+" items on page"},u),a===f[i]&&u.addClass(h),t.option("rtlEnabled")?t.pagesSizeChooserElement.prepend(u):t.pagesSizeChooserElement.append(u);r.isDefined(t.pagesSizeChooserElement[0].parentElement)||t.pagesSizeChooserElement.appendTo(l)}},_renderInfo:function(){var t=this.option("infoText");this.option("showInfo")&&r.isDefined(t)&&n("<div>").addClass(d).text(r.stringFormat(t,this.selectedPage&&this.selectedPage.value(),this.option("pageCount"))).appendTo(this.$pagesChooser)},_renderNavigateButton:function(t){var i=this,u,o=i._createAction(function(){i._nextPage(t)}),r,f;i.option("showNavigationButtons")&&(u=i.option("pageIndex"),f=u>1&&t==="prev"||u<i.option("pageCount")&&t==="next",r=n("<div>").addClass(k).addClass(f?"":g).on(e.addNamespace("dxclick",i.Name+"Pages"),function(n){o({jQueryEvent:n})}),i.setAria({role:"button",label:t==="prev"?"Previous page":" Next page"},r),i.option("rtlEnabled")?(r.addClass(t==="prev"?a:l),r.prependTo(this.$pagesChooser)):(r.addClass(t==="prev"?l:a),r.appendTo(this.$pagesChooser)))},_render:function(){this.callBase(),this._update(),this.element().addClass(y),this._toggleVisibility(this.option("visible")),this._renderPagesSizeChooser(),this._renderPagesChooser()},_update:function(){var n=this.option("pageCount"),t=this.option("pageIndex");this._processSelectedPage(this.option("maxPagesCount"),t,n),this._pages=this._getPages(this.selectedPage,n),this._selectPageByValue(t)},_optionChanged:function(n){var t,i;switch(n.name){case"visible":this._toggleVisibility(n.value);break;case"pageIndex":t=this.option("pageIndexChanged"),t&&t(n.value),this._update(),this._renderPagesChooser();break;case"maxPagesCount":case"pageCount":case"hasKnownLastPage":case"showNavigationButtons":this._update(),this._renderPagesChooser();break;case"pageSize":i=this.option("pageSizeChanged"),i&&i(n.value),this._renderPagesSizeChooser();break;case"pageSizes":this._renderPagesSizeChooser();break;default:this._invalidate()}},_clean:function(){this.$pagesChooser&&this.$pagesChooser.off(e.addNamespace("dxclick",this.Name+"Pages"),"."+s,this._pageClickHandler)},getHeight:function(){return this.option("visible")?this.element().outerHeight():0}}))}(jQuery,DevExpress),function(n,t){var f=t.ui,r=t.translator,s="dx-colorview",h="dx-colorview-container",u="dx-colorview-container-row",c="dx-colorview-container-cell",l="dx-colorview-palette",a="dx-colorview-palette-cell",v="dx-colorview-palette-handle",e="dx-colorview-palette-gradient",y="dx-colorview-palette-gradient-white",p="dx-colorview-palette-gradient-black",w="dx-colorview-hue-scale",b="dx-colorview-hue-scale-cell",k="dx-colorview-hue-scale-handle",d="dx-colorview-hue-scale-wrapper",g="dx-colorview-controls-container",nt="dx-colorview-label-red",tt="dx-colorview-label-green",it="dx-colorview-label-blue",rt="dx-colorview-label-hex",ut="dx-colorview-alpha-channel-scale",ft="dx-colorview-alpha-channel-row",et="dx-colorview-alpha-channel-wrapper",ot="dx-colorview-alpha-channel-label",st="dx-colorview-alpha-channel-handle",ht="dx-colorview-alpha-channel-cell",ct="dx-colorview-alpha-channel-border",o="dx-colorview-color-preview",lt="dx-colorview-color-preview-container",at="dx-colorview-color-preview-container-inner",vt="dx-colorview-color-preview-color-current",yt="dx-colorview-color-preview-color-new";t.registerComponent("dxColorView",f,f.Editor.inherit({_supportedKeys:function(){var i=this.option("rtlEnabled"),t=this,u=function(n){var i=100/t._paletteWidth;return n.shiftKey&&(i=i*t.option("keyStep")),i=i>1?i:1,Math.round(i)},f=function(n){var i=t._currentColor.hsv.s+n;i>100?i=100:i<0&&(i=0),t._currentColor.hsv.s=i,s()},e=function(n){var i=100/t._paletteHeight;return n.shiftKey&&(i=i*t.option("keyStep")),i=i>1?i:1,Math.round(i)},o=function(n){var i=t._currentColor.hsv.v+n;i>100?i=100:i<0&&(i=0),t._currentColor.hsv.v=i,s()},s=function(){t._placePaletteHandle(),t._updateColorFromHsv(t._currentColor.hsv.h,t._currentColor.hsv.s,t._currentColor.hsv.v)},h=function(n){var i=360/(t._hueScaleWrapperHeight-t._hueScaleHandleHeight);return n.shiftKey&&(i=i*t.option("keyStep")),i=i>1?i:1},c=function(n){t._currentColor.hsv.h+=n,t._placeHueScaleHandle();var i=r.locate(t._$hueScaleHandle);t._updateColorHue(i.top+t._hueScaleHandleHeight/2)},l=function(n){var r=1/t._alphaChannelScaleWorkWidth;return n.shiftKey&&(r=r*t.option("keyStep")),r=r>.01?r:.01,r=i?-r:r},a=function(n){t._currentColor.a+=n,t._placeAlphaChannelHandle();var i=r.locate(t._$alphaChannelHandle);t._calculateColorTransparenceByScaleWidth(i.left+t._alphaChannelHandleWidth/2)};return n.extend(this.callBase(),{upArrow:function(n){n.preventDefault(),n.stopPropagation(),n.ctrlKey?this._currentColor.hsv.h<=360&&!this._isTopColorHue&&c(h(n)):this._currentColor.hsv.v<100&&o(e(n))},downArrow:function(n){n.preventDefault(),n.stopPropagation(),n.ctrlKey?this._currentColor.hsv.h>=0&&(this._isTopColorHue&&(this._currentColor.hsv.h=360),c(-h(n))):this._currentColor.hsv.v>0&&o(-e(n))},rightArrow:function(n){n.preventDefault(),n.stopPropagation(),n.ctrlKey?(i?this._currentColor.a<1:this._currentColor.a>0&&this.option("editAlphaChannel"))&&a(-l(n)):this._currentColor.hsv.s<100&&f(u(n))},leftArrow:function(n){n.preventDefault(),n.stopPropagation(),n.ctrlKey?(i?this._currentColor.a>0:this._currentColor.a<1&&this.option("editAlphaChannel"))&&a(l(n)):this._currentColor.hsv.s>0&&f(-u(n))},enter:function(){this.option("applyValueMode")==="useButtons"&&this.applyColor()}})},_setDefaultOptions:function(){this.callBase(),this.option({value:null,editAlphaChannel:!1,applyValueMode:"useButtons",keyStep:1})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_init:function(){this.callBase(),this._initColorAndOpacity()},_initColorAndOpacity:function(){this._setCurrentColor(this.option("value"))},_setCurrentColor:function(n){n=n||"#000000";var i=new t.Color(n);i.colorIsInvalid?this.option("value",this._currentColor.baseColor):this._currentColor&&this._makeRgba(this._currentColor)===this._makeRgba(i)||(this._currentColor=i,this._$currentColor&&this._makeTransparentBackground(this._$currentColor,i))},_render:function(){this.callBase(),this.element().addClass(s),this._renderColorPickerContainer()},_enterKeyHandler:function(){this.option("applyValueMode")==="useButtons"&&this.applyColor()},_makeTransparentBackground:function(n,i){i instanceof t.Color||(i=new t.Color(i)),t.browser.msie&&t.browser.version==="8.0"?n.css({background:i.toHex(),filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity="+i.a*100+")"}):n.css("backgroundColor",this._makeRgba(i))},_makeRgba:function(n){return n instanceof t.Color||(n=new t.Color(n)),"rgba("+[n.r,n.g,n.b,n.a].join(", ")+")"},_renderValue:function(){this.callBase(this.option("editAlphaChannel")?this._makeRgba(this._currentColor):this.option("value"))},_renderColorPickerContainer:function(){var t=this.element();this._$colorPickerContainer=n("<div>",{"class":h,appendTo:t}),this._renderHtmlRows(),this._renderPalette(),this._renderHueScale(),this._renderControlsContainer(),this._renderControls(),this._renderAlphaChannelElements()},_renderHtmlRows:function(t){var e=this._$colorPickerContainer.find("."+u),r=e.length,c=this._calculateRowsCount(),i=r-c,s,f,o,h;if(i>0&&(s=this._calculateRemovedHtmlRowIndex(r,t),e.eq(s).remove()),i<0){for(i=Math.abs(i),f=[],o=0;o<i;o++)f.push(n("<div>",{"class":u}));r?(h=this._calculateHtmlRowIndex(r,t),e.eq(h).after(f)):this._$colorPickerContainer.append(f)}},_renderHtmlCellInsideRow:function(t,i,r){return n("<div>",{"class":c,addClass:r,appendTo:i.find("."+u+t)})},_calculateRowsCount:function(){return this.option("editAlphaChannel")?this.option("applyValueMode")==="instantly"?2:3:this.option("applyValueMode")==="instantly"?1:2},_calculateRemovedHtmlRowIndex:function(n,t){var i=-1;return n===3&&(t==="editAlphaChannel"&&(i=-2),t==="applyValueMode"&&(i=-1)),i},_calculateHtmlRowIndex:function(n,t){var i=0;return n===2&&t==="applyValueMode"&&(i=1),i},_renderPalette:function(){var t=this._renderHtmlCellInsideRow(":first",this._$colorPickerContainer,a),i=n("<div>",{"class":[e,y].join(" ")}),r=n("<div>",{"class":[e,p].join(" ")});this._$palette=n("<div>",{"class":l,css:{backgroundColor:this._currentColor.getPureColor().toHex()},appendTo:t}),this._paletteHeight=this._$palette.height(),this._paletteWidth=this._$palette.width(),this._renderPaletteHandle(),this._$palette.append([i,r])},_renderPaletteHandle:function(){this._createComponent(this._$paletteHandle=n("<div>",{"class":v,appendTo:this._$palette}),"dxDraggable",{area:this._$palette,allowMoveByClick:!0,boundOffset:n.proxy(function(){return-this._paletteHandleHeight/2},this),onDrag:n.proxy(function(){var t=r.locate(this._$paletteHandle);this._updateByDrag=!0,this._updateColorFromHsv(this._currentColor.hsv.h,this._calculateColorSaturation(t),this._calculateColorValue(t))},this)}),this._paletteHandleWidth=this._$paletteHandle.width(),this._paletteHandleHeight=this._$paletteHandle.height(),this._placePaletteHandle()},_placePaletteHandle:function(){r.move(this._$paletteHandle,{left:Math.round(this._paletteWidth*this._currentColor.hsv.s/100-this._paletteHandleWidth/2),top:Math.round(this._paletteHeight-this._paletteHeight*this._currentColor.hsv.v/100-this._paletteHandleHeight/2)})},_calculateColorValue:function(n){var t=Math.floor(n.top+this._paletteHandleHeight/2);return 100-Math.round(t*100/this._paletteHeight)},_calculateColorSaturation:function(n){var t=Math.floor(n.left+this._paletteHandleWidth/2);return Math.round(t*100/this._paletteWidth)},_updateColorFromHsv:function(n,i,r){var u=this._currentColor.a;this._currentColor=new t.Color("hsv("+[n,i,r].join(",")+")"),this._currentColor.a=u,this._updateColorParamsAndColorPreview(),this.option("applyValueMode")==="instantly"&&this.applyColor()},_renderHueScale:function(){var t=this._renderHtmlCellInsideRow(":first",this._$colorPickerContainer,b);this._$hueScaleWrapper=n("<div>",{"class":d,appendTo:t}),this._$hueScale=n("<div>",{"class":w,appendTo:this._$hueScaleWrapper}),this._hueScaleHeight=this._$hueScale.height(),this._hueScaleWrapperHeight=this._$hueScaleWrapper.outerHeight(),this._renderHueScaleHandle()},_renderHueScaleHandle:function(){this._createComponent(this._$hueScaleHandle=n("<div>",{"class":k,appendTo:this._$hueScaleWrapper}),"dxDraggable",{area:this._$hueScaleWrapper,allowMoveByClick:!0,direction:"vertical",onDrag:n.proxy(function(){this._updateByDrag=!0,this._updateColorHue(r.locate(this._$hueScaleHandle).top+this._hueScaleHandleHeight/2)},this)}),this._hueScaleHandleHeight=this._$hueScaleHandle.height(),this._placeHueScaleHandle()},_placeHueScaleHandle:function(){var t=this._hueScaleWrapperHeight,i=this._hueScaleHandleHeight,n=(t-i)*(360-this._currentColor.hsv.h)/360;t<n+i&&(n=t-i),n<0&&(n=0),r.move(this._$hueScaleHandle,{top:Math.round(n)})},_updateColorHue:function(n){var t=360-Math.round((n-this._hueScaleHandleHeight/2)*360/(this._hueScaleWrapperHeight-this._hueScaleHandleHeight)),i=this._currentColor.hsv.s,r=this._currentColor.hsv.v;this._isTopColorHue=!1,t=t<0?0:t,t>=360&&(this._isTopColorHue=!0,t=0),this._updateColorFromHsv(t,i,r),this._$palette.css("backgroundColor",this._currentColor.getPureColor().toHex())},_renderControlsContainer:function(){var t=this._renderHtmlCellInsideRow(":first",this._$colorPickerContainer);this._$controlsContainer=n("<div>",{"class":g,appendTo:t})},_renderControls:function(){this._renderColorsPreview(),this._renderRgbInputs(),this._renderHexInput()},_renderColorsPreview:function(){var t=n("<div>",{"class":lt,appendTo:this._$controlsContainer}),i=n("<div>",{"class":at,appendTo:t});this._$currentColor=n("<div>",{"class":[o,vt].join(" ")}),this._$newColor=n("<div>",{"class":[o,yt].join(" ")}),this._makeTransparentBackground(this._$currentColor,this._currentColor),this._makeTransparentBackground(this._$newColor,this._currentColor),i.append([this._$currentColor,this._$newColor])},_renderAlphaChannelElements:function(){this.option("editAlphaChannel")&&(this._$colorPickerContainer.find("."+u).eq(1).addClass(ft),this._renderAlphaChannelScale(),this._renderAlphaChannelInput())},_renderRgbInputs:function(){this._rgbInputsWithLabels=[this._renderEditorWithLabel({editorType:"dxNumberBox",value:this._currentColor.r,onValueChanged:n.proxy(this._updateColor,this,!1),labelText:"R",labelAriaText:Globalize.localize("dxColorView-ariaRed"),labelClass:nt}),this._renderEditorWithLabel({editorType:"dxNumberBox",value:this._currentColor.g,onValueChanged:n.proxy(this._updateColor,this,!1),labelText:"G",labelAriaText:Globalize.localize("dxColorView-ariaGreen"),labelClass:tt}),this._renderEditorWithLabel({editorType:"dxNumberBox",value:this._currentColor.b,onValueChanged:n.proxy(this._updateColor,this,!1),labelText:"B",labelAriaText:Globalize.localize("dxColorView-ariaBlue"),labelClass:it})],this._$controlsContainer.append(this._rgbInputsWithLabels),this._rgbInputs=[this._rgbInputsWithLabels[0].find(".dx-numberbox").dxNumberBox("instance"),this._rgbInputsWithLabels[1].find(".dx-numberbox").dxNumberBox("instance"),this._rgbInputsWithLabels[2].find(".dx-numberbox").dxNumberBox("instance")],n.each(this._rgbInputs,n.proxy(function(n,t){this._attachEnterKeyHandler(t)},this))},_renderEditorWithLabel:function(t){var r=n("<div>"),f=n("<label>",{"class":t.labelClass,text:t.labelText+":",append:r}).off("dxclick").on("dxclick",function(n){n.preventDefault()}),u=t.editorType,i={value:t.value,onValueChanged:t.onValueChanged};return u==="dxNumberBox"&&(i.min=t.min||0,i.max=t.max||255,i.step=t.step||1),r[u](i),this.setAria("label",t.labelAriaText,r),f},_renderHexInput:function(){this._hexInput=this._renderEditorWithLabel({editorType:"dxTextBox",value:this._currentColor.toHex().replace("#",""),onValueChanged:n.proxy(this._updateColor,this,!0),labelClass:rt,labelText:"#",labelAriaText:Globalize.localize("dxColorView-ariaHex")}).appendTo(this._$controlsContainer).find(".dx-textbox").dxTextBox("instance"),this._attachEnterKeyHandler(this._hexInput)},_attachEnterKeyHandler:function(t){t.registerKeyHandler("enter",n.proxy(function(n){this._enterKeyHandler(n)},this))},_renderAlphaChannelScale:function(){var t=this._renderHtmlCellInsideRow(":eq(1)",this._$colorPickerContainer,ht),i=n("<div>",{"class":ct,appendTo:t}),r=n("<div>",{"class":et,appendTo:i});this._$alphaChannelScale=n("<div>",{"class":ut,appendTo:r}),this._makeCSSLinearGradient(this._$alphaChannelScale),this._renderAlphaChannelHandle(t)},_makeCSSLinearGradient:function(n){var t=this._currentColor,i=[t.r,t.g,t.b].join(","),r=t.toHex().replace("#",""),u=function(n,t){var u=this.option("rtlEnabled"),i="rgba("+n+", "+(u?"1":"0")+")",r="rgba("+n+", "+(u?"0":"1")+")",f="'#"+(u?"00":"")+t+"'",e="'#"+(u?"":"00")+t+"'";return["background-image: -webkit-linear-gradient(180deg, "+i+", "+r+")","background-image: -moz-linear-gradient(-90deg, "+i+", "+r+")","background-image: -ms-linear-gradient(-90deg, "+i+", "+r+")","background-image: -o-linear-gradient(-90deg, "+i+", "+r+")","background-image: linear-gradient(-90deg, "+i+", "+r+")","filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr="+f+", endColorstr="+e+")","-ms-filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr="+f+", endColorstr="+e+")"].join(";")};n.attr("style",u.call(this,i,r))},_renderAlphaChannelInput:function(){var n=this,t=this._renderHtmlCellInsideRow(":eq(1)",this._$colorPickerContainer);n._alphaChannelInput=this._renderEditorWithLabel({editorType:"dxNumberBox",value:this._currentColor.a,max:1,step:.1,onValueChanged:function(t){var i=t.value;i=n._currentColor.isValidAlpha(i)?i:n._currentColor.a,n._updateColorTransparence(i),n._placeAlphaChannelHandle()},labelClass:ot,labelText:"Alpha",labelAriaText:Globalize.localize("dxColorView-ariaAlpha")}).appendTo(t).find(".dx-numberbox").dxNumberBox("instance"),this._attachEnterKeyHandler(n._alphaChannelInput)},_updateColorTransparence:function(n){this._currentColor.a=n,this._makeTransparentBackground(this._$newColor,this._currentColor),this.option("applyValueMode")==="instantly"&&this.applyColor()},_renderAlphaChannelHandle:function(t){this._createComponent(this._$alphaChannelHandle=n("<div>",{"class":st,appendTo:t}),"dxDraggable",{area:t,allowMoveByClick:!0,direction:"horizontal",onDrag:n.proxy(function(){this._updateByDrag=!0;var t=this._$alphaChannelHandle,i=r.locate(t).left+this._alphaChannelHandleWidth/2;this._calculateColorTransparenceByScaleWidth(i)},this)}),this._alphaChannelHandleWidth=this._$alphaChannelHandle.width(),this._alphaChannelScaleWorkWidth=t.width()-this._alphaChannelHandleWidth,this._placeAlphaChannelHandle()},_calculateColorTransparenceByScaleWidth:function(n){var t=(n-this._alphaChannelHandleWidth/2)/this._alphaChannelScaleWorkWidth,i=this.option("rtlEnabled");t=i?t:1-t,n>=this._alphaChannelScaleWorkWidth+this._alphaChannelHandleWidth/2?t=i?1:0:t<1&&(t=t.toFixed(2)),this._alphaChannelInput.option("value",t)},_placeAlphaChannelHandle:function(){var n=this._alphaChannelScaleWorkWidth*(1-this._currentColor.a);n<0&&(n=0),this._alphaChannelScaleWorkWidth<n&&(n=this._alphaChannelScaleWorkWidth),r.move(this._$alphaChannelHandle,{left:this.option("rtlEnabled")?this._alphaChannelScaleWorkWidth-n:n})},applyColor:function(){var n=this.option("editAlphaChannel")?this._makeRgba(this._currentColor):this._currentColor.toHex();this._makeTransparentBackground(this._$currentColor,this._currentColor),this.option("value",n)},cancelColor:function(){this._initColorAndOpacity(),this._refreshMarkup()},_updateColor:function(n){var i,r;n?r=this._validateHex("#"+this._hexInput.option("value")):(i=this._validateRgb(),this._alphaChannelInput?(i.push(this._alphaChannelInput.option("value")),r="rgba("+i.join(", ")+")"):r="rgb("+i.join(", ")+")"),this._suppressEditorsValueUpdating||(this._currentColor=new t.Color(r),this._refreshMarkup(),this.option("applyValueMode")==="instantly"&&this.applyColor())},_validateHex:function(n){return this._currentColor.isValidHex(n)?n:this._currentColor.toHex()},_validateRgb:function(){var n=this._rgbInputs[0].option("value"),t=this._rgbInputs[1].option("value"),i=this._rgbInputs[2].option("value");return this._currentColor.isValidRGB(n,t,i)||(n=this._currentColor.r,t=this._currentColor.g,i=this._currentColor.b),[n,t,i]},_refreshMarkup:function(){this._placeHueScaleHandle(),this._placePaletteHandle(),this._updateColorParamsAndColorPreview(),this._$palette.css("backgroundColor",this._currentColor.getPureColor().toHex()),this._$alphaChannelHandle&&(this._updateColorTransparence(this._currentColor.a),this._placeAlphaChannelHandle())},_updateColorParamsAndColorPreview:function(){this._suppressEditorsValueUpdating=!0,this._hexInput.option("value",this._currentColor.toHex().replace("#","")),this._rgbInputs[0].option("value",this._currentColor.r),this._rgbInputs[1].option("value",this._currentColor.g),this._rgbInputs[2].option("value",this._currentColor.b),this._suppressEditorsValueUpdating=!1,this._makeTransparentBackground(this._$newColor,this._currentColor),this.option("editAlphaChannel")&&(this._makeCSSLinearGradient.call(this,this._$alphaChannelScale),this._alphaChannelInput.option("value",this._currentColor.a))},_optionChanged:function(n){var t=n.value;switch(n.name){case"value":this._setCurrentColor(t),this._updateByDrag||this._refreshMarkup(),this._updateByDrag=!1,this.callBase(n);break;case"editAlphaChannel":this._$colorPickerContainer&&(this._renderHtmlRows("editAlphaChannel"),this._renderAlphaChannelElements());break;case"applyValueMode":this._$colorPickerContainer&&this._renderHtmlRows("applyValueMode");break;case"keyStep":break;default:this.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,f="dx-colorbox",o=f+"-input",h=o+"-container",c=f+"-color-result-preview",s=f+"-color-is-not-defined",l=f+"-overlay",a="dx-colorview-container-cell",v="dx-colorview-button-cell",y="dx-colorview-buttons-container",p="dx-colorview-apply-button",w="dx-colorview-cancel-button",e=u.dxColorView.prototype,r={makeTransparentBackground:n.proxy(e._makeTransparentBackground,e),makeRgba:n.proxy(e._makeRgba,e)};t.registerComponent("dxColorBox",u,u.dxDropDownEditor.inherit({_supportedKeys:function(){var t=function(n){return n.stopPropagation(),this.option("opened")?(n.preventDefault(),!0):void 0},i=function(n){return this.option("opened")?n.altKey?(this.close(),!1):!0:(n.preventDefault(),!1)},r=function(n){return!this.option("opened")&&!n.altKey?(n.preventDefault(),!1):!this.option("opened")&&n.altKey?(this._validatedOpening(),!1):!0};return n.extend(this.callBase(),{tab:function(n){this.option("opened")&&(n.preventDefault(),this._colorView._rgbInputs[0].focus())},enter:this._enterKeyHandler,leftArrow:t,rightArrow:t,upArrow:i,downArrow:r})},_setDefaultOptions:function(){this.callBase(),this.option({editAlphaChannel:!1,applyButtonText:Globalize.localize("OK"),cancelButtonText:Globalize.localize("Cancel"),applyValueMode:"useButtons",keyStep:1,onApplyButtonClick:null,onCancelButtonClick:null,buttonsLocation:"bottom after"})},_popupConfig:function(){return n.extend(this.callBase(),{height:"auto",width:""})},_contentReadyHandler:function(){this._createColorView(),this._addPopupBottomClasses()},_addPopupBottomClasses:function(){var n=this._popup.bottomToolbar();n&&(n.addClass(a).addClass(v).find(".dx-toolbar-items-container").addClass(y),n.find(".dx-popup-done").addClass(p),n.find(".dx-popup-cancel").addClass(w))},_createColorView:function(){this._popup.overlayContent().addClass(l);var t=n("<div>").appendTo(this._popup.content());this._colorView=this._createComponent(t,"dxColorView",this._colorViewConfig()),this._colorView._enterKeyHandler=n.proxy(this._enterKeyHandler,this);t.on("focus",n.proxy(function(){this.focus()},this))},_colorViewConfig:function(){var n=this,t=n.option("focusStateEnabled")&&!n.option("disabled");return{value:n.option("value"),editAlphaChannel:n.option("editAlphaChannel"),applyValueMode:n.option("applyValueMode"),focusStateEnabled:n.option("focusStateEnabled"),onValueChanged:function(t){var i=t.value;n.option("value",i),i&&r.makeTransparentBackground(n._$colorResultPreview,i)},_keyboardProcessor:t?n._keyboardProcessor.attachChildProcessor():null}},_enterKeyHandler:function(n){var t=this._input().val(),i=this.option("editAlphaChannel")?r.makeRgba(this.option("value")):this.option("value");return t&&t!==i?(this._applyColorFromInput(t),this.option("value",this.option("editAlphaChannel")?r.makeRgba(t):t),!1):(this.option("applyValueMode")==="useButtons"&&this._colorView.applyColor(),this.option("opened")&&(n.preventDefault(),this.close()),!1)},_applyButtonHandler:function(){this._colorView.applyColor(),n.isFunction(this.option("onApplyButtonClick"))&&this.option("onApplyButtonClick")(),this.callBase()},_cancelButtonHandler:function(){this._colorView.cancelColor(),n.isFunction(this.option("onCancelButtonClick"))&&this.option("onCancelButtonClick")(),this.callBase()},_attachChildKeyboardEvents:function(){var n=this._keyboardProcessor.attachChildProcessor();if(this._colorView){this._colorView.option("_keyboardProcessor",n);return}},_init:function(){this.callBase()},_render:function(){this.callBase(),this.element().addClass(f)},_renderInput:function(){this.callBase(),this.element().wrapInner(n("<div/>").addClass(h)),this._$colorBoxInputContainer=this.element().children().eq(0),this._$colorResultPreview=n("<div>",{"class":c,appendTo:this._$colorBoxInputContainer}),this.option("value")?r.makeTransparentBackground(this._$colorResultPreview,this.option("value")):this._$colorBoxInputContainer.addClass(s),this._input().addClass(o)},_renderValue:function(){var n=this.option("value");this.option("text",this.option("editAlphaChannel")?r.makeRgba(n):n),this.callBase()},_valueChangeEventHandler:function(n){var t=this._input().val();t&&(t=this._applyColorFromInput(t),this._colorView&&(this._colorView._setCurrentColor(t),this._colorView._refreshMarkup())),this.callBase(n,t)},_applyColorFromInput:function(n){var i=new t.Color(n);return i.colorIsInvalid&&(n=this.option("value"),this._input().val(n)),n},_optionChanged:function(n){var t=n.value,i=n.name;switch(i){case"value":this._$colorBoxInputContainer.toggleClass(s,!t),t?r.makeTransparentBackground(this._$colorResultPreview,t):this._$colorResultPreview.removeAttr("style"),this._colorView&&this._colorView.option("value",t),this.callBase(n);break;case"applyButtonText":case"cancelButtonText":this.callBase(n),this._popup&&this._addPopupBottomClasses();break;case"editAlphaChannel":case"onCancelButtonClick":case"onApplyButtonClick":case"keyStep":this._colorView&&this._colorView.option(i,t);break;case"applyValueMode":this._colorView&&this._colorView.option(i,t),this.callBase(n);break;case"rtlEnabled":this._colorView&&this._colorView.option(i,t),this.callBase(n);break;default:this.callBase(n)}}})),t.registerComponent("dxColorPicker",u,u.dxColorBox.inherit({ctor:function(){t.log("W0000",this.NAME,"14.2","Use 'dxColorBox' instead"),this.callBase.apply(this,arguments)}}))}(jQuery,DevExpress),function(n,t){var e=t.ui,u=t.utils,f="dx-menu",c="dx-menu-base",r=f+"-item",s=r+"-selected",h=r+"-wrapper",l=f+"-items-container",a=r+"-expanded",v=f+"-separator",y=f+"-last-group-item",p=r+"-has-text",w=r+"-has-icon",b=r+"-has-submenu",k="dx-state-focused",d="."+r,g="."+s,o="single",nt="none",tt=1,it=50,rt=300,ut=e.CollectionWidget.inherit({NAME:"dxMenuBase",_setDefaultOptions:function(){this.callBase(),this.option({items:[],cssClass:"",activeStateEnabled:!0,showSubmenuMode:{name:"onHover",delay:{show:50,hide:300}},animation:{show:{type:"fade",from:0,to:1,duration:100},hide:{type:"fade",from:1,to:0,duration:100}},selectionByClick:!1,selectionMode:"none",focusOnSelectedItem:!1,_remoteSelectionSync:!1,hoverStateEnabled:!0,_itemAttributes:{role:"menuitem"}})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_activeStateUnit:d,_itemDataKey:function(){return"dxMenuItemDataKey"},_itemClass:function(){return r},_setAriaSelected:n.noop,_selectedItemClass:function(){return s},_focusTarget:function(){return this._itemContainer()},_eventBindingTarget:function(){return this._itemContainer()},_supportedKeys:function(){var t=function(){var t=this.option("focusedElement");t&&this._isSelectionEnabled()&&this.selectItem(t)};return n.extend(this.callBase(),{space:t,pageUp:n.noop,pageDown:n.noop})},_isSelectionEnabled:function(){return this._getSelectionMode()===o},_getSelectionMode:function(){return this.option("selectionMode")===o?o:nt},_init:function(){this.callBase(),this._initActions()},_initActions:n.noop,_render:function(){var n=this.element();this.callBase(arguments),this._addCustomCssClass(n),this._itemContainer().addClass(c)},_getShowSubmenuMode:function(){var n;return n=u.isObject(this.option("showSubmenuMode"))?this._isDesktopDevice()?this.option("showSubmenuMode").name:"onClick":this._isDesktopDevice()?this.option("showSubmenuMode"):"onClick"},_isDesktopDevice:function(){return t.devices.real().deviceType==="desktop"},_initEditStrategy:function(){var n=e.CollectionWidget.MenuBaseEditStrategy;this._editStrategy=new n(this)},_addCustomCssClass:function(n){n.addClass(this.option("cssClass"))},_itemWrapperSelector:function(){return"."+h},_hoverStartHandler:function(t){var i=this,r=i._getItemElementByEventArgs(t);if(r){if(i._isItemDisabled(r))return;t.stopPropagation(),i.option("focusedElement",r),i._getShowSubmenuMode()==="onHover"&&setTimeout(n.proxy(i._showSubmenu,i,r),i._getSubmenuShowDelay())}},_isItemDisabled:function(n){return n.data(this._itemDataKey()).disabled},_showSubmenu:function(n){n.hasClass(k)&&this._addExpandedClass(n)},_addExpandedClass:function(n){n.addClass(a)},_getSubmenuHideDelay:function(){var n=this.option("showSubmenuMode").delay;return n?u.isObject(n)?n.hide:n:rt},_getSubmenuShowDelay:function(){var n=this.option("showSubmenuMode").delay,t;return t=n?u.isObject(n)?n.show:n:it},_getItemElementByEventArgs:function(t){var i=n(t.target);if(i.hasClass(this._itemClass())||i.get(0)===t.currentTarget)return i;while(!i.hasClass(this._itemClass()))if(i=i.parent(),i.hasClass("dx-submenu"))return null;return i},_hoverEndHandler:n.noop,_hasSubmenu:function(n){return n.items&&n.items.length>0},_renderItems:function(t,i,r){i=i||tt;var f=this,u;t.length&&(u=this._renderContainer(i,r),n.each(t,function(n,t){f._renderItem(n,t,u,i)})),this._setSelectionFromItems()},_renderContainer:function(){return this._createItemsContainer().addClass(l)},_createItemsContainer:function(){var t=n("<div>").appendTo(this.element());return n("<ul>").appendTo(t)},_renderItem:function(t,i,r,f){var s=this.option("items"),e=n("<li>"),o;this._renderSeparator(i,t,r),e.appendTo(r).addClass(h),s[t+1]&&s[t+1].beginGroup&&e.addClass(y),u.isObject(i)||(i={text:i}),u.isDefined(i.selected)||(i.selected=!1),o=this.callBase(t,i,e),this._addContentClasses(i,o),this._hasSubmenu(i)&&this._renderSubmenuItems(i,o,f)},_addContentClasses:function(n,t){n.text&&t.addClass(p),(n.icon||n.iconSrc)&&t.addClass(w),n.items&&n.items.length>0&&t.addClass(b)},_setSelectionFromItems:function(){var t=this.option("selectedIndex"),i=!t||t===-1;!this.option("_remoteSelectionSync")&&i&&(n.each(this._editStrategy._getPlainItems(),function(n,i){i.selected&&i.selectable!==!1&&(t=n)}),t>=0&&this.option("selectedIndex",t))},_renderSeparator:function(t,i,r){t.beginGroup&&i>0&&n("<li>").appendTo(r).addClass(v)},_renderSubmenuItems:function(n,t){this.setAria("haspopup","true",t)},_itemClickHandler:function(t){var i=this._createAction(n.proxy(this._updateSubmenuVisibilityOnClick,this));this._itemJQueryEventHandler(t,"onItemClick",{},{afterExecute:n.proxy(i,this)})},_updateSubmenuVisibilityOnClick:function(n){this._updateSelectedItemOnClick(n),this._getShowSubmenuMode()==="onClick"&&this._addExpandedClass(n.args[0].itemElement)},_updateSelectedItemOnClick:function(n){var t=n.args?n.args[0]:n,u=this._isSelectionEnabled()&&this.option("selectionByClick"),i,r;u&&t.itemData.selectable!==!1&&!this._hasSubmenu(t.itemData)&&(i=this._itemContainer().find(g),i.length?(r=this._getItemData(i),i.removeClass(this._selectedItemClass()),r&&(r.selected=!1,this._clearSelectedItems()),i.is(t.itemElement)||this._setSelectedItems(t)):this._setSelectedItems(t))},_setSelectedItems:function(n){n.itemData.selected=!0,this.option("selectedItems",[n.itemData])},_syncSelectionOptions:function(t){var i=this._editStrategy._getPlainItems()||[],e=this.option("selectedItems")||[],r=this.option("selectedItem"),f=this.option("selectedIndex");t=t||this._chooseSelectOption();switch(t){case"selectedItems":this._setOptionSilent("selectedItem",e[0]),this._setOptionSilent("selectedIndex",n.inArray(e[0],i));break;case"selectedItem":u.isDefined(r)?(this._setOptionSilent("selectedItems",[r]),this._setOptionSilent("selectedIndex",n.inArray(r,i))):(this._setOptionSilent("selectedItems",[]),this._setOptionSilent("selectedIndex",-1));break;case"selectedIndex":u.isDefined(i[f])?(this._setOptionSilent("selectedItems",[i[f]]),this._setOptionSilent("selectedItem",i[f])):(this._setOptionSilent("selectedItems",[]),this._setOptionSilent("selectedItem",null))}},_getStringifiedArray:function(t){return n.map(t,function(n){return JSON.stringify(n)})},_isOwnItem:function(t){var i=this._editStrategy._getPlainItems();return n.inArray(JSON.stringify(t),this._getStringifiedArray(i))>=0},_optionChanged:function(n){switch(n.name){case"showSubmenuMode":break;case"_remoteSelectionSync":case"cssClass":case"position":case"selectionByClick":case"animation":this._invalidate();break;default:this.callBase(n)}},selectItem:function(t){var i=this._editStrategy.getNormalizedIndex(t),f=this._getItemData(t),u,r;i!==-1&&(u=n.inArray(i,this._selectedItemIndices),u===-1)&&this.option("selectionMode")==="single"&&f.selectable!==!1&&(r=this._editStrategy.fetchSelectedItems([i]),r[0].selected=!0,this.option("selectedItems",r))},unselectItem:function(t){var r=this._editStrategy.getNormalizedIndex(t),i,u;r!==-1&&(i=n.inArray(r,this._selectedItemIndices),i!==-1)&&(u=this._editStrategy.fetchSelectedItems([i]),u[0].selected=!1,this.option("selectedItems",[]))}});e.dxMenuBase=ut}(jQuery,DevExpress),function(n,t){var r=t.ui;r.CollectionWidget.MenuBaseEditStrategy=r.CollectionWidget.PlainEditStrategy.inherit({_getPlainItems:function(){return n.map(this._collectionWidget.option("items"),function t(i){return i.items?[i].concat(n.map(i.items,t)):i})},_getStringifiedArray:function(t){var i=this;return n.map(t,function(n){return i._stringifyItem(n)})},_stringifyItem:function(n){var t=this;return JSON.stringify(n,function(n,i){return n==="template"?t._getTemplateString(i):i})},_getTemplateString:function(t){var i;return i=typeof t=="object"?n(t).text():t.toString()},selectedItemIndices:function(){var t=[],i=this._getStringifiedArray(this._getPlainItems()),r=this._collectionWidget.option("selectedItems");return n.each(r,function(r,u){var f=n.inArray(JSON.stringify(u),i);f!==-1&&t.push(f)}),t},fetchSelectedItems:function(t){t=t||this._collectionWidget._selectedItemIndices;var r=this._getPlainItems(),i=[];return n.each(t,function(n,t){i.push(r[t])}),i}})}(jQuery,DevExpress),function(n,t,i){var o=t.ui,k=t.utils,s=o.events,h=t.fx,c="dx-menu",e=c+"-item",r=e+"-expanded",d="dx-menu-phone-overlay",f=c+"-items-container",g=e+"-wrapper",u="dx-submenu",nt="dx-context-menu",tt="dx-has-context-menu",it="dx-state-disabled",rt="dxSubmenuLevel",l="up",a="down",v="left",y="right",p="first",w="last",b=["onShowing","onShown","onHiding","onHidden","onPositioning","onLeftFirstItem","onLeftLastItem","onCloseRootSubmenu","onExpandLastSubmenu"],ut=[l,a,p,w];t.registerComponent("dxContextMenu",o,o.dxMenuBase.inherit({_setDefaultOptions:function(){this.callBase(),this.option({alternativeInvocationMode:{enabled:!1,invokingElement:null},position:{at:"top left",my:"top left"},onShowing:null,onShown:null,onHiding:null,onHidden:null,onPositioning:null,submenuDirection:"auto",visible:!1,target:window,onLeftFirstItem:null,onLeftLastItem:null,onCloseRootSubmenu:null,onExpandLastSubmenu:null})},_initActions:function(){this._actions={},n.each(b,n.proxy(function(t,i){this._actions[i]=this._createActionByOption(i)||n.noop},this))},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{animation:!0,position:!0,selectedItem:!0})},_itemContainer:function(){return this._overlay.content()},_supportedKeys:function(){return n.extend(this.callBase(),{esc:this.hide})},_moveFocus:function(n){var t=this._getItemsByLocation(n),r=this._getActiveItem(!0),i,u=this.option("focusedElement");switch(n){case l:if(i=u?this._prevItem(t):t.last(),r.is(t.first()))this._actions.onLeftFirstItem(r);break;case a:if(i=u?this._nextItem(t):t.first(),r.is(t.last()))this._actions.onLeftLastItem(r);break;case y:i=this.option("rtlEnabled")?this._hideSubmenuHandler(t):this._expandSubmenuHandler(t);break;case v:i=this.option("rtlEnabled")?this._expandSubmenuHandler(t):this._hideSubmenuHandler(t);break;case p:i=t.first();break;case w:i=t.last();break;default:return this.callBase(n)}i.length!==0&&this.option("focusedElement",i)},_getItemsByLocation:function(t){var i,r=this._getActiveItem(!0),u=this.option("rtlEnabled")?v:y;return n.inArray(t,ut)>=0?i=r.closest("."+f).children().children():(i=this._itemElements(),t!==u&&(i=i.filter(":visible"))),i},_refreshActiveDescendant:function(){var n=this._overlay.content(),t=this.getFocusedItemId();if(!n)return this.callBase();this.setAria("activedescendant","",n),this.setAria("activedescendant",t,n)},_hideSubmenuHandler:function(){var t=this._getActiveItem(!0),i=t.parents("."+r).first();if(i.length)return this._hideSubmenusOnSameLevel(i),i;this._actions.onCloseRootSubmenu(t);return t},_expandSubmenuHandler:function(n){var t=this._getActiveItem(!0),i=t.children("."+u);if(i.length&&!t.hasClass(it))return i.css("visibility")==="hidden"&&this._showSubmenu(t),this._nextItem(n);this._actions.onExpandLastSubmenu(t);return t},_render:function(){this.element().addClass(tt),this.callBase(),this.setAria("role","menu")},_renderContentImpl:function(){this._renderContextMenuOverlay(),this._detachShowContextMenuEvents(),this._attachShowContextMenuEvents(),this._attachInvokeContextMenuEvents(),this.callBase()},_renderContextMenuOverlay:function(){var i=this._getOverlayOptions(),r=n("<div>"),t;this._overlay=this._createComponent(r.appendTo(this._$element),"dxOverlay",i),t=this._overlay.content(),t.addClass(nt),this._addCustomCssClass(t),this._addPlatformDependentClass(t),this.option("visible")&&this._show()},_addPlatformDependentClass:function(n){t.devices.current().phone&&n.addClass(d)},_detachShowContextMenuEvents:function(){var t=s.addNamespace("dxcontextmenu",this.NAME);n(this.option("target")).off(t),this._overlay&&this._overlay.content().off(t)},_attachShowContextMenuEvents:function(){var t=this,i=s.addNamespace("dxcontextmenu",this.NAME),r=this._createAction(n.proxy(function(n){t.option("alternativeInvocationMode").enabled||t._show(n.jQueryEvent)},this));this._overlay&&this._overlay.content().on(i,n.noop);n(this.option("target")).on(i,n.proxy(function(n){r({jQueryEvent:n})},this))},_attachInvokeContextMenuEvents:function(){var i=this,t=s.addNamespace("dxclick",this.NAME),r=this._createAction(n.proxy(function(){i.toggle()},this));if(this.option("alternativeInvocationMode").enabled&&this._getInvokeTarget())n(this._getInvokeTarget()).off(t).on(t,n.proxy(function(n){r({jQueryEvent:n})},this))},_getInvokeTarget:function(){return this.option("alternativeInvocationMode").invokingElement},_hoverEndHandler:function(n){n.stopPropagation()},_renderDimensions:n.noop,_renderContainer:function(t,i){var e=n("<div>"),r=n("<ul>"),o=t===1?this._itemContainer():i;return e.appendTo(o).addClass(u).data(rt,t).css("visibility",t===1?"visible":"hidden"),r.appendTo(e).addClass(f),t===1&&(this.option("width")&&r.css("min-width",this.option("width")),this.option("height")&&r.css("min-height",this.option("height"))),r},_renderSubmenuItems:function(n,t,i){this._renderItems(n.items,++i,t),this.callBase(n,t)},_getOverlayOptions:function(){var t=this.option("position"),i=this.option("animation");return{focusStateEnabled:this.option("focusStateEnabled"),animation:i,closeOnOutsideClick:n.proxy(this._closeOnOutsideClickHandler,this),closeOnTargetScroll:!0,deferRendering:!1,disabled:this.option("disabled"),position:{at:t.at,my:t.my,of:this.option("target")},shading:!1,showTitle:!1,height:"auto",width:"auto",onShowing:n.proxy(this._overlayShowingActionHandler,this),onShown:n.proxy(this._overlayShownActionHandler,this),onHiding:n.proxy(this._overlayHidingActionHandler,this),onHidden:n.proxy(this._overlayHiddenActionHandler,this),onPositioned:n.proxy(this._overlayPositionedActionHandler,this),onPositioning:n.proxy(this._overlayPositioningActionHandler,this)}},_overlayShowingActionHandler:function(n){this._actions.onShowing(n);this._clearFocusedItem()},_overlayShownActionHandler:function(n){this._actions.onShown(n);this._clearFocusedItem()},_clearFocusedItem:function(){this._removeFocusedItem(),this.option("focusedElement",null)},_overlayHidingActionHandler:function(n){this._actions.onHiding(n);n.cancel||this._hideAllShownSubmenus()},_overlayHiddenActionHandler:function(n){this._actions.onHidden(n);this._setOptionSilent("visible",!1)},_overlayPositionedActionHandler:n.noop,_overlayPositioningActionHandler:function(n){var i=n.position,r=i;i.h.oversize===0&&i.v.oversize===0||this.option("_notChangePosition")||(r.h.location=Math.round(i.h.location-i.h.oversize),r.v.location=Math.round(i.v.location-i.v.oversize),t.position(this.element(),r))},_closeOnOutsideClickHandler:function(t){var i,u,f,r,o,s,h=n(t.target).closest(this._getInvokeTarget());return t.target===document?!0:h&&h.length?!1:(u=this._getActiveItemsContainer(t.target),f=this._getItemsContainers(),i=this._searchActiveItem(t.target),r=this.element().parents("."+e),o=i[0]===r[0]&&i.length&&r.length,s=this._isIncludeOverlay(u,f)&&i.length,s||o)?(this._getShowSubmenuMode()==="onClick"&&this._hideAllShownChildSubmenus(i),!1):!0},_getActiveItemsContainer:function(t){return n(t).closest("."+f)},_getItemsContainers:function(){return this._overlay._$content.find("."+f)},_searchActiveItem:function(t){return n(t).closest("."+e).eq(0)},_isIncludeOverlay:function(t,i){var r=!1;return n.each(i,function(n,i){t.is(i)&&!r&&(r=!0)}),r},_hideAllShownChildSubmenus:function(t){var r=this,f=t.find("."+u),e=n.extend([],this._shownSubmenus),i;f.length>0&&n.each(e,function(n,u){i=r._searchActiveItem(u.context).parent(),i.parent().is(t.parent().parent())&&!i.is(t.parent())&&r._hideSubmenu(u)})},_showSubmenu:function(n){var i=n.children("."+u).length,t;this._hideSubmenusOnSameLevel(n),i&&(this.callBase(n),n.closest("."+f).find("."+r).removeClass(r),t=this._isSubmenuVisible(n.children("."+u)),t||(n.addClass(r),this._drawSubmenu(n)))},_hideSubmenusOnSameLevel:function(n){var t=n.closest("."+f).find("."+r);t.length&&(t.removeClass(r),this._hideSubmenu(t.find("."+u)))},_hideSubmenuGroup:function(n){this._isSubmenuVisible(n)&&this._hideSubmenuCore(n)},_isSubmenuVisible:function(n){return n.css("visibility")==="visible"},_drawSubmenu:function(i){var f=this.option("animation")?this.option("animation").show:{},r=i.children("."+u);this._overlay&&this._overlay.option("visible")&&(k.isDefined(this._shownSubmenus)||(this._shownSubmenus=[]),n.inArray(r,this._shownSubmenus)&&this._shownSubmenus.push(r),t.position(r,this._getSubmenuPosition(i)),f&&this._animate(r,f),r.css("visibility","visible"),this._stopAnimate(r))},_animate:function(n,t){h.animate(n,t)},_getSubmenuPosition:function(n){var i=this.option("submenuDirection").toLowerCase(),r=n.parent("."+g),t={collision:"flip",of:r,offset:{h:0,v:-1}};switch(i){case"left":t.at="left top",t.my="right top";break;case"right":t.at="right top",t.my="left top";break;default:this.option("rtlEnabled")?(t.at="left top",t.my="right top"):(t.at="right top",t.my="left top")}return t},_updateSubmenuVisibilityOnClick:function(t){var r,f,i,e,o;if(t.args.length&&t.args[0]){if(t.args[0].jQueryEvent.stopPropagation(),r=t.args[0].itemElement,f=this._getItemData(r),e=f&&f.closeMenuOnClick===!1,i=r.children("."+u),r.context===i.context&&i.css("visibility")==="visible")return;if(!f||f.disabled||e)return;this._updateSelectedItemOnClick(t),i.length===0?(o=n(r.parents("."+u)[0]),this._hideSubmenu(o),!t.canceled&&this._overlay&&this._overlay.option("visible")&&this.option("visible",!1)):(this._shownSubmenus&&this._shownSubmenus.length>0&&(this._shownSubmenus[0].is(i)||this._shownSubmenus[0].has(i).length===1?this._hideSubmenu(i):this._hideAllShownSubmenus()),this._showSubmenu(r))}},_hideSubmenu:function(t){var i=this,u=n.extend([],i._shownSubmenus);n.each(u,function(n,u){(t.is(u)||t.has(u).length)&&(u.parent().removeClass(r),i._hideSubmenuCore(u))})},_hideSubmenuCore:function(t){var i=n.inArray(t,this._shownSubmenus),r=this.option("animation")?this.option("animation").hide:null;i>=0&&this._shownSubmenus.splice(i,1),this._stopAnimate(t),r&&this._animate(t,r),t.css("visibility","hidden")},_stopAnimate:function(n){h.stop(n,!0)},_hideAllShownSubmenus:function(){var t=this,i=n.extend([],t._shownSubmenus),u=this._overlay.content().find("."+r);u.removeClass(r),n.each(i,function(n,i){t._hideSubmenuCore(i)})},_optionChanged:function(t){if(!this._cancelOptionChange){if(n.inArray(t.name,b)>-1){this._initActions();return}switch(t.name){case"visible":this._toggleVisibility(t.value);break;case"alternativeInvocationMode":this._invalidate();break;case"items":this._overlay.option("visible")&&this._overlay.hide(),this.callBase(t);break;case"position":case"submenuDirection":this._invalidate();break;case"target":t.previousValue&&this._detachShowContextMenuEvents(n(t.previousValue)),this._invalidate();break;case"focusedElement":this.callBase(t);break;default:this._overlay&&this._overlay.option("visible")&&this._overlay.hide(),this.callBase(t)}}},_toggleVisibility:function(n){n?this._show():this._hide()},_show:function(t){var u=!(this._overlay&&this._positionContextMenu(t)),i=new DevExpress.data.Guid,r;return u&&this._overlay&&(this.option("focusedElement",this._itemElements().first()),r=this._overlay.show(),this._overlay.content().attr({id:i,role:"menu"}),this.setAria("owns",i),this._setOptionSilent("visible",!0)),r||n.Deferred().reject().promise()},_positionContextMenu:function(n){var t=this.option("position"),r=this._createActionByOption("onPositioning",i),i;return n&&n.preventDefault&&(t={at:"top left",my:"top left",of:n}),t.of||(t.of=this.option("target")),i={position:t,jQueryEvent:n},r(i),!i.canceled&&this._overlay?t&&this._overlay.option("position",t):i.jQueryEvent.cancel=!0,i.canceled},_hide:function(){var t;return this._overlay&&(this._overlay.content().removeAttr("id"),t=this._overlay.hide(),this._setOptionSilent("visible",!1)),this.setAria("owns",i),t||n.Deferred().reject().promise()},_clean:function(){this._overlay&&(this._overlay.element().remove(),this._overlay=null),this._detachShowContextMenuEvents(n(this.option("target")))},toggle:function(n){var t=this.option("visible");return n=n===i?!t:n,n?this._show():this._hide()},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)}}))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,e=t.utils,y=f.events,o="dx-menu",b=o+"-vertical",k=o+"-horizontal",d=o+"-item",c=o+"-items-container",l=d+"-expanded",h="dx-context-menu",a=h+"-container-border",p="dx-context-menu-content-delimiter",w="dx-submenu",g="dx-state-disabled",v="dx-state-focused",nt="dx-state-hover",tt="up",it="down",rt="left",ut="right",s="showSubmenu",u="nextItem",r="prevItem",ft=50,et=300,ot=["onSubmenuShowing","onSubmenuShown","onSubmenuHiding","onSubmenuHidden"],st=f.dxContextMenu.inherit({_setDefaultOptions:function(){this.callBase(),this.option({orientation:"horizontal"})},_renderContentImpl:function(){this.callBase(),this._renderDelimiter()},_renderDelimiter:function(){this.$contentDelimiter=n("<div>").appendTo(this._itemContainer()).addClass(p)},_overlayPositionedActionHandler:function(n){this._showDelimiter(n)},_hoverEndHandler:function(t){var i=n(t.currentTarget);i.removeClass(v)},_hoverStartHandler:function(t){this.callBase(t);var i=n(t.currentTarget);i.addClass(v)},_showDelimiter:function(n){var f=this._itemContainer().children("."+w).eq(0),e=this.option("position").of,i={of:f},r,u;this.$contentDelimiter&&(r=n.position,u=e.offset(),this.$contentDelimiter.css("display","block"),this.option("orientation")==="horizontal"?(this.$contentDelimiter.width(e.width()<f.width()?e.width()-2:f.width()-2),this.$contentDelimiter.height(2),r.v.location>u.top?Math.round(r.h.location)===Math.round(u.left)?(i.offset="1 -1",i.at="left top",i.my="left top"):(i.offset="-1 -1",i.at="right top",i.my="right top"):(this.$contentDelimiter.height(4),Math.round(r.h.location)===Math.round(u.left)?(i.offset="1 2",i.at="left bottom",i.my="left bottom"):(i.offset="-1 2",i.at="right bottom",i.my="right bottom"))):this.option("orientation")==="vertical"&&(this.$contentDelimiter.width(2),this.$contentDelimiter.height(e.height()<f.height()?e.height()-2:f.height()-2),r.h.location>u.left?Math.round(r.v.location)===Math.round(u.top)?(i.offset="-1 1",i.at="left top",i.my="left top"):(i.offset="-1 -1",i.at="left bottom",i.my="left bottom"):Math.round(r.v.location)===Math.round(u.top)?(i.offset="1 1",i.at="right top",i.my="right top"):(i.offset="1 -1",i.at="right bottom",i.my="right bottom")),t.position(this.$contentDelimiter,i))}});t.registerComponent("dxMenu",f,f.dxMenuBase.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{allowSelection:{since:"14.2",message:'Use the "selectionMode" option instead'},submenuHiddenAction:{since:"14.2",alias:"onSubmenuHidden"},submenuHidingAction:{since:"14.2",alias:"onSubmenuHiding"},submenuShowingAction:{since:"14.2",alias:"onSubmenuShowing"},submenuShownAction:{since:"14.2",alias:"onSubmenuShown"}})},_setDefaultOptions:function(){this.callBase(),this.option({orientation:"horizontal",submenuDirection:"auto",showFirstSubmenuMode:{name:"onClick",delay:{show:50,hide:300}},hideSubmenuOnMouseLeave:!1,onSubmenuShowing:null,onSubmenuShown:null,onSubmenuHiding:null,onSubmenuHidden:null})},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{animation:!0,selectedItem:!0})},_focusTarget:function(){return this.element()},_eventBindingTarget:function(){return this.element()},_getOrientation:function(){return this.option("orientation")==="vertical"?"vertical":"horizontal"},_isMenuHorizontal:function(){return this._getOrientation()==="horizontal"},_moveFocus:function(n){var h=this._itemElements().filter(":visible"),t=this._isMenuHorizontal(),i,c=this._getActiveItem(!0),f,e,o;switch(n){case tt:f=t?s:this._getItemsNavigationOperation(r),i=t?c:h,e=this._getKeyboardNavigationAction(f,i),o=e();break;case it:f=t?s:this._getItemsNavigationOperation(u),i=t?c:h,e=this._getKeyboardNavigationAction(f,i),o=e();break;case ut:f=t?this._getItemsNavigationOperation(u):s,i=t?h:c,e=this._getKeyboardNavigationAction(f,i),o=e();break;case rt:f=t?this._getItemsNavigationOperation(r):s,i=t?h:c,e=this._getKeyboardNavigationAction(f,i),o=e();break;default:return this.callBase(n)}o&&o.length!==0&&this.option("focusedElement",o)},_getItemsNavigationOperation:function(n){var t=n;return this.option("rtlEnabled")&&(t=n===r?u:r),t},_getKeyboardNavigationAction:function(t,i){var f=n.noop;switch(t){case s:i.hasClass(g)||(f=n.proxy(this._showSubmenu,this,i));break;case u:f=n.proxy(this._nextItem,this,i);break;case r:f=n.proxy(this._prevItem,this,i)}return f},_init:function(){this.callBase(),this._submenus=[]},_initActions:function(){this._actions={},n.each(ot,n.proxy(function(t,i){this._actions[i]=this._createActionByOption(i)||n.noop},this))},_render:function(){this._visibleSubmenu=[],this.callBase(),this.element().addClass(o),this.setAria("role","menubar")},_getHideDelay:function(){var n=this.option("showFirstSubmenuMode").delay;return n?e.isObject(n)?n.hide:n:et},_getShowDelay:function(){var n=this.option("showFirstSubmenuMode").delay,t;return t=n?e.isObject(n)?n.show:n:ft},_renderContainer:function(){var r=this.option("orientation")==="vertical",t=n("<div>"),i=n("<ul>");return t.appendTo(this.element()).addClass(r?b:k),i.appendTo(t).addClass(c).css("min-height",this._getValueHeight(t)),i},_getValueHeight:function(t){var i=n("<div>").html("Jj").css({width:"auto",position:"fixed",top:"-3000px",left:"-3000px"}).appendTo(t),r=i.height();return i.remove(),r},_renderSubmenuItems:function(n,t){var i=this._createSubmenu(n.items,t);this._submenus.push(i),this._renderBorderElement(t),this.callBase(n,t)},_createSubmenu:function(t,i){var u=n("<div>").addClass(h).appendTo(i),r=this._createComponent(u,"dxSubmenu",n.extend(this._getSubmenuOptions(),{items:t,position:this.getSubmenuPosition(i)}));return this._attachSubmenuHandlers(i,r),r},_getSubmenuOptions:function(){var i=n("<div>"),t=this._isMenuHorizontal();return{itemTemplate:this.option("itemTemplate"),templateProvider:this.option("templateProvider"),target:i,orientation:this.option("orientation"),selectionMode:this.option("selectionMode"),selectionByClick:this.option("selectionByClick"),cssClass:this.option("cssClass"),hoverStateEnabled:this.option("hoverStateEnabled"),activeStateEnabled:this.option("activeStateEnabled"),focusStateEnabled:this.option("focusStateEnabled"),animation:this.option("animation"),disabled:this.option("disabled"),showSubmenuMode:this._getShowSubmenuMode(),onSelectionChanged:n.proxy(this._nestedItemOnSelectionChangedHandler,this),onItemClick:n.proxy(this._nestedItemOnItemClickHandler,this),onLeftFirstItem:t?null:n.proxy(this._moveMainMenuFocus,this,r),onLeftLastItem:t?null:n.proxy(this._moveMainMenuFocus,this,u),onCloseRootSubmenu:t?n.proxy(this._moveMainMenuFocus,this,r):null,onExpandLastSubmenu:t?n.proxy(this._moveMainMenuFocus,this,u):null,_remoteSelectionSync:!0,_notChangePosition:!0}},_getShowFirstSubmenuMode:function(){var n;return n=e.isObject(this.option("showFirstSubmenuMode"))?this._isDesktopDevice()?this.option("showFirstSubmenuMode").name:"onClick":this._isDesktopDevice()?this.option("showFirstSubmenuMode"):"onClick"},_moveMainMenuFocus:function(n){var i=this.element().find("."+l).first(),t;switch(n){case r:t=i.parent().prev(),t.length||(t=i.parent().siblings().last()),t=t.children();break;case u:t=i.parent().next(),t.length||(t=i.parent().siblings().first()),t=t.children()}this._visibleSubmenu.length&&this._hideSubmenu(this._visibleSubmenu),this.focus(),this.option("focusedElement",t)},_nestedItemOnSelectionChangedHandler:function(n){var t=n.addedItems,i=n.element.dxSubmenu("instance");this._clearSelectionInSubmenus(t[0],i),this._clearRootSelection(),this.option("selectedItems",t)},_clearSelectionInSubmenus:function(t,i){var r=this,u=!arguments.length;n.each(this._submenus,function(n,t){var o=t._itemContainer(),s=!o.is(i&&i._itemContainer()),f=o.find("."+r._selectedItemClass()),e;(s&&f.length||u)&&(f.removeClass(r._selectedItemClass()),e=r._getItemData(f),e&&(e.selected=!1),t._clearSelectedItems())})},_clearRootSelection:function(){var n=this.element().find("."+c).first().children().children().filter("."+this._selectedItemClass()),t;n.length&&(t=this._getItemData(n),t.selected=!1,n.removeClass(this._selectedItemClass())),this._clearSelectedItems()},_nestedItemOnItemClickHandler:function(n){var t=this._createActionByOption("onItemClick",{});t(n)},_updateSelectedItemOnClick:function(n){var t=this.option("selectedIndex");this.callBase(n),t!==this.option("selectedIndex")&&this._clearSelectionInSubmenus()},_attachSubmenuHandlers:function(t,i){var r=this,f=i._overlay.content(),e=f.find("."+w),u=y.addNamespace("dxhoverend",this.NAME+"_submenu");i.option({onShowing:n.proxy(this._submenuOnShowingHandler,this,t,i),onShown:n.proxy(this._submenuOnShownHandler,this,t,i),onHiding:n.proxy(this._submenuOnHidingHandler,this,t,i),onHidden:n.proxy(this._submenuOnHiddenHandler,this,t,i)}),n.each(e,function(i,f){n(f).off(u).on(u,null,n.proxy(r._submenuMouseLeaveHandler,r,t))})},_submenuOnShowingHandler:function(n,t){var r=n.children("."+a);this._actions.onSubmenuShowing({rootItem:n,submenu:t});this._options.width!==i&&(this._options.rtlEnabled?r.css("width",this._$element.width()-n.position().right):r.css("width",this._$element.width()-n.position().left)),r.show(),n.addClass(l)},_submenuOnShownHandler:function(n,t){this._actions.onSubmenuShown({rootItem:n,submenu:t})},_submenuOnHidingHandler:function(n,t,i){var u=n.children("."+a),r=i;r.rootItem=n,r.submenu=t;this._actions.onSubmenuHiding(r);i=r,i.cancel||(u.hide(),n.removeClass(l))},_submenuOnHiddenHandler:function(n,t){this._actions.onSubmenuHidden({rootItem:n,submenu:t})},_submenuMouseLeaveHandler:function(t,i){var r=this,u=n(i.relatedTarget).parents("."+h)[0],f=this._getSubmenuElementByRootElement(t).dxSubmenu("instance")._overlay.content()[0];this.option("hideSubmenuOnMouseLeave")&&u!==f&&(clearTimeout(this._showSubmenuTimer),clearTimeout(this._hideSubmenuTimer),setTimeout(n.proxy(this._hideSubmenuAfterTimeout,this),r._getHideDelay(),t))},_hideSubmenuAfterTimeout:function(t){var i=this._getSubmenuElementByRootElement(t),r=this._visibleSubmenu.length,u=n(this._visibleSubmenu.context).hasClass(nt);!r||this._getFocusedSubmenuItem(this._getSubmenuInstance(this._visibleSubmenu)).length||u||i.length&&this._getSubmenuInstance(i).hide()},_getFocusedSubmenuItem:function(n){return n._overlay.content().find("."+v)},_getSubmenuInstance:function(n){return n.dxSubmenu("instance")},_getSubmenuElementByRootElement:function(n){return n&&n.children("."+h)},_getSubmenuInstanceByRootElement:function(n){var t=this._getSubmenuElementByRootElement(n);return t.length&&this._getSubmenuInstance(t)},getSubmenuPosition:function(n){var i=this.option("orientation").toLowerCase()==="vertical",u=this.option("submenuDirection").toLowerCase(),r=this.option("rtlEnabled"),t={collision:"flip",of:n};switch(u){case"leftortop":t.at=i?"left top":"left top",t.my=i?"right top":"left bottom";break;case"rightorbottom":t.at=i?"right top":"left bottom",t.my=i?"left top":"left top";break;default:i?(t.at=r?"left top":"right top",t.my=r?"right top":"left top"):(t.at=r?"right bottom":"left bottom",t.my=r?"right top":"left top")}return t},_renderBorderElement:function(t){n("<div>").appendTo(t).addClass(a).hide()},_hoverStartHandler:function(t){var u=y.addNamespace("dxpointermove",this.NAME),i=this._getItemElementByEventArgs(t),r=this._getSubmenuInstanceByRootElement(i),f=e.isDefined(t.buttons)&&t.buttons===1||!e.isDefined(t.buttons)&&t.which===1;if(!this._isItemDisabled(i)&&(i.off(u),this._getShowFirstSubmenuMode()==="onHover"&&r&&!f)){if(clearTimeout(this._hideSubmenuTimer),clearTimeout(this._showSubmenuTimer),!r._overlay.option("visible")){i.on(u,n.proxy(this._itemMouseMoveHandler,this));this._showSubmenuTimer=this._getHideDelay()}r.element().is(this._visibleSubmenu)||this._hideSubmenu(this._visibleSubmenu)}},_hoverEndHandler:function(t){var i=this,r=this._getItemElementByEventArgs(t);this._isItemDisabled(r)||n(t.relatedTarget).hasClass(p)||this.option("hideSubmenuOnMouseLeave")&&!n(t.relatedTarget).hasClass(c)&&(clearTimeout(this._showSubmenuTimer),clearTimeout(this._hideSubmenuTimer),this._hideSubmenuTimer=setTimeout(function(){i._hideSubmenuAfterTimeout(r)},i._getHideDelay()))},_showSubmenu:function(n){var t=this._getSubmenuElementByRootElement(n);this._visibleSubmenu.length&&!this._visibleSubmenu.is(t)&&this._hideSubmenu(this._visibleSubmenu),t.length&&this._getSubmenuInstance(t).show(),this._visibleSubmenu=t,this._hoveredRootItem=n},_hideSubmenu:function(n){n.length&&this._getSubmenuInstance(n).hide(),this._visibleSubmenu.length&&this._visibleSubmenu.is(n)&&(this._visibleSubmenu=[]),this._hoveredRootItem=null},_itemMouseMoveHandler:function(t){var i=this,r=n(t.currentTarget);this._showSubmenuTimer&&(clearTimeout(this._hideSubmenuTimer),clearTimeout(this._showSubmenuTimer),this._showSubmenuTimer=setTimeout(function(){i._getSubmenuInstanceByRootElement(r)._overlay.option("visible")||i._showSubmenu(r)},i._getShowDelay()))},_updateSubmenuVisibilityOnClick:function(n){var r,u,t,i=n.args.length&&n.args[0];if(i){if(i.jQueryEvent.stopPropagation(),u=i.itemData,r=i.itemElement,u.disabled)return;t=this._getSubmenuInstanceByRootElement(r),this._updateSelectedItemOnClick(n),t?t._overlay.option("visible")?this._getShowFirstSubmenuMode()==="onClick"&&this._hideSubmenu(t.element()):this._showSubmenu(r):this._visibleSubmenu.length&&this._hideSubmenu(this._visibleSubmenu)}},_optionChanged:function(n){if(!this._cancelOptionChange){this._hideShownSubmenuOnOptionChange(n.name);switch(n.name){case"selectedItems":var t=n.value[0];this._isItemInSubmenu(t)?(this._syncSelectionOptions(n.name),this._normalizeSelectedItems()):this.callBase(n);break;case"orientation":case"submenuDirection":case"hideSubmenuOnMouseLeave":case"showFirstSubmenuMode":this._invalidate();break;case"showSubmenuMode":this._changeSubmenusOption(n.name,n.value);break;case"onSubmenuShowing":case"onSubmenuShown":case"onSubmenuHiding":case"onSubmenuHidden":this._initActions();break;default:this.callBase(n)}}},_hideShownSubmenuOnOptionChange:function(n){n!=="focusedElement"&&this._visibleSubmenu.length&&this._hideSubmenu(this._visibleSubmenu)},_changeSubmenusOption:function(t,i){n.each(this._submenus,function(n,r){r.option(t,i)})},_isItemInSubmenu:function(t){return n.inArray(JSON.stringify(t),this._getStringifiedArray(this.option("items")))<0},selectItem:function(t){var i=this._getItemData(t);this._isItemInSubmenu(i)?n.each(this._submenus,function(n,r){r._isOwnItem(i)&&r.selectItem(t)}):this.callBase(t)}})),t.registerComponent("dxSubmenu",f.dxMenu,st)}(jQuery,DevExpress),function(n,t,i){var l=t.ui,c=l.events,u=t.data.utils,o=t.utils,b="dx-treeview",f="dx-treeview-node-container",s="dx-treeview-node-container-opened",e="dx-treeview-node",r="dx-treeview-item",k="dx-treeview-item-with-checkbox",d="dx-treeview-item-data",a="dx-treeview-node-is-leaf",h="dx-treeview-toggle-item-visibility",y="dx-treeview-toggle-item-visibility-opened",g="dx-treeview-select-all-item",w="dx-state-focused",v="dx-state-disabled",p="data-item-id",nt="dxdblclick",tt=n.noop;t.registerComponent("dxTreeView",l,l.CollectionWidget.inherit({_supportedKeys:function(){var i=function(n){var t=this.option("focusedElement");t&&(n.target=t,n.currentTarget=t,this._itemClickHandler(n,t.find(">."+r)))},u=function(n){n.preventDefault(),this._changeCheckBoxState(this.option("focusedElement"))},f=function(n,t){var i,u;this.option("expandAllEnabled")&&(t.preventDefault(),i=this.option("focusedElement"),i)&&(u=this._getItemData(i.find("."+r)),this._toggleExpandedNestedItems([u],n))};return n.extend(this.callBase(),{enter:this.option("showCheckBoxes")?u:i,space:this.option("showCheckBoxes")?u:i,asterisk:n.proxy(f,this,!0),minus:n.proxy(f,this,!1)})},_changeCheckBoxState:function(n){var i=n.find("> .dx-checkbox"),t=i.dxCheckBox("instance"),u=t.option("value");t.option("disabled")||this._updateItemSelection(!u,n.find("."+r).get(0),!0,n)},_toggleExpandedNestedItems:function(n,t){var i,u,r;if(n)for(i=0,u=n.length;i<u;i++)r=n[i],this._toggleExpandedState(r,t),this._toggleExpandedNestedItems(r.items,t)},_getNodeElementById:function(n){return this.element().find("["+p+"='"+n+"']")},_activeStateUnit:"."+r,_setDefaultOptions:function(){this.callBase(),this.option({animationEnabled:!0,dataStructure:"tree",expandedItems:[],expandAllEnabled:!1,keyExpr:"id",displayExpr:"text",selectedExpr:"selected",expandedExpr:"expanded",disabledExpr:"disabled",itemsExpr:"items",parentIdExpr:"parentId",hasItemsExpr:"hasItems",showCheckBoxes:!1,selectNodesRecursive:!0,selectAllEnabled:!1,selectAllText:"("+Globalize.localize("dxList-selectAll")+")",onItemSelected:null,onItemExpanded:null,onItemCollapsed:null,scrollDirection:"vertical",virtualModeEnabled:!1,rootValue:0,focusStateEnabled:!1,selectionMode:"multi"})},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{selectedItems:{since:"14.2",message:"Use item.selected instead"},expandedItems:{since:"14.2",message:"Use item.expanded instead"}})},_initSelectedItems:n.noop,_syncSelectionOptions:n.noop,_fireSelectionChanged:function(){var t=this._selectionChangePromise;n.when(t).done(n.proxy(function(){this._createActionByOption("onSelectionChanged",{excludeValidators:["disabled","readOnly"]})()},this))},_initExpressions:function(){this._compileKeyAccessors(),this._compileDisplayAccessors(),this._compileSelectedAccessors(),this._compileExpandedAccessors(),this._compileItemsAccessors(),this._compileParentIdAccessors(),this._compileDisabledAccessors(),this._compileHasItemsAccessors()},_initDynamicTemplates:function(){var t=this.option("displayExpr");t!=="text"&&t!=="html"?this._dynamicTemplates.item=new l.DefaultTemplate(n.proxy(function(t){var i=n("<div>"),r=t.icon||t.iconSrc;return r&&o.getImageContainer(r).appendTo(i),n("<span>").text(this._displayGetter(t)).appendTo(i),i},this)):delete this._dynamicTemplates.item},_compileKeyAccessors:function(){this._keyGetter=u.compileGetter(this.option("keyExpr")),this._keySetter=u.compileSetter(this.option("keyExpr"))},_compileDisplayAccessors:function(){this._displayGetter=u.compileGetter(this.option("displayExpr")),this._displaySetter=u.compileSetter(this.option("displayExpr"))},_compileSelectedAccessors:function(){this._selectedGetter=u.compileGetter(this.option("selectedExpr")),this._selectedSetter=u.compileSetter(this.option("selectedExpr"))},_compileExpandedAccessors:function(){this._expandedGetter=u.compileGetter(this.option("expandedExpr")),this._expandedSetter=u.compileSetter(this.option("expandedExpr"))},_compileItemsAccessors:function(){this._itemsGetter=u.compileGetter(this.option("itemsExpr")),this._itemsSetter=u.compileSetter(this.option("itemsExpr"))},_compileParentIdAccessors:function(){this._parentIdGetter=u.compileGetter(this.option("parentIdExpr")),this._parentIdSetter=u.compileSetter(this.option("parentIdExpr"))},_compileDisabledAccessors:function(){this._disabledGetter=u.compileGetter(this.option("disabledExpr")),this._disabledSetter=u.compileSetter(this.option("disabledExpr"))},_compileHasItemsAccessors:function(){this._hasItemsGetter=u.compileGetter(this.option("hasItemsExpr")),this._hasItemsSetter=u.compileSetter(this.option("hasItemsExpr"))},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{hoverStateEnabled:!0,focusStateEnabled:!0}}])},_optionChanged:function(n){var o=n.name,t=n.value,i,r,u,f,e;switch(o){case"selectAllEnabled":t?this._$selectAllItem&&this._$selectAllItem.length||this._renderSelectAllItem():this._$selectAllItem&&(this._$selectAllItem.remove(),delete this._$selectAllItem);break;case"selectAllText":this._$selectAllItem&&this._$selectAllItem.dxCheckBox("instance").option("text",t);break;case"scrollDirection":this._scrollableContainer.option("direction",t);break;case"selectedItems":if(this._$selectAllItem){if(i=this._$selectAllItem.dxCheckBox("instance"),r=i.option("value"),r&&this._itemsCount===t.length)return;this._suppressUpdateSelectAllItemValue=!0,i.option("value",this._calculateSelectAllItemValue()),this._suppressUpdateSelectAllItemValue=!1}break;case"items":this._suppressDeprecatedWarnings(),delete this._$selectAllItem,this.option("selectedItems").length&&this.option("selectedItems",[]),this.option("expandedItems").length&&this.option("expandedItems",[]),this.callBase(n),this._resumeDeprecatedWarnings();break;case"keyExpr":case"displayExpr":this._dynamicTemplates.item||this._initDynamicTemplates(),this._initExpressions(),this.repaint();break;case"itemsExpr":case"selectedExpr":case"expandedExpr":case"parentIdExpr":case"disabledExpr":case"hasItemsExpr":this._initExpressions(),this.repaint();break;case"dataStructure":case"showCheckBoxes":case"rootValue":this.repaint();break;case"expandedItems":u=this.element().hasClass(w),this.repaint(),u&&(this.element().focus(),f=this.option("focusedElement").attr(p),e=this._getNodeElementById(f),this.option("focusedElement",e));break;case"selectNodesRecursive":case"onItemSelected":case"onItemExpanded":case"onItemCollapsed":case"expandAllEnabled":case"animationEnabled":case"virtualModeEnabled":break;case"virtualModeEnabled":case"rootValue":this.callBase(n);break;default:this.callBase(n)}},_nodes:[],_initDataSource:function(){this.callBase(),this._isVirtualMode()&&this._dataSource.filter(this.option("parentIdExpr"),this.option("rootValue"))},_dataSourceLoadErrorHandler:function(){this._renderEmptyMessage()},_init:function(){this._initExpressions(),this.callBase(),this._initDynamicTemplates()},_render:function(){var t=this;this.element().addClass(b),this._itemsCount=0;this.element().off("dxpointerdown").on("dxpointerdown",function(i){var r=n(i.target).closest(t._activeStateUnit);r.length||i.preventDefault()});this._makeNodes(),this._setKeyForItems(this._nodes,1),this.callBase(),this.setAria("role","tree"),this._isVirtualMode()&&this._dataSource&&!this._dataSource.items().length&&(this._initialized=!1)},_makeNodes:function(){this._nodes=this._getSmartItemsCopy(this.option("items")),this.option("dataStructure")==="plain"&&(this._nodes=this._createHierarchicalStructure(this._nodes))},_getSmartItemsCopy:function(t){var i=this,r=[];return n.each(t,function(t,u){var f=n.extend(!0,{},u),e,o;i._itemHasChildren(f)&&(e=i._itemsGetter(f),o=i._getSmartItemsCopy(e),i._itemsSetter(f,o)),r.push(f)}),r},_setKeyForItems:function(t,i){var r=this;return n.each(t,function(n,t){if(r._isPrimitiveValue(t)&&(t=r._makeObjectFromPrimitive(t)),o.isDefined(r._keyGetter(t)))return!1;r._keySetter(t,i),i++,r._itemHasChildren(t)&&(i=r._setKeyForItems(r._itemsGetter(t),i))}),i},_makePlainItems:function(){return this._makePlainList(this.option("items"),null,!0)},_makePlainNodes:function(){return this._makePlainList(this._nodes,null,!0)},_updateSelectionItemsOption:function(){var t=this,i=[];return n.each(t._plainItems,function(n,r){t._selectedGetter(r)&&i.push(r)}),i},_renderContentImpl:function(){var n=this._nodes,i,r,t;n.length&&(this._makePlainStructures(),this._applyExpandedItemsFromOption(),this._applySelectedItemsFromOption(n),i=this._makePlainList(n,null),this.option("selectNodesRecursive")&&(n=this._calculateChildrenSelectedState(n),this._calculateParentSelectedState(i)),this._calculateParentExpandedState(i),this._createParentFieldForEachItem(n),this._suppressDeprecatedWarnings(),r=this._updateSelectionItemsOption(),r.length&&this.option("selectedItems",r),this._resumeDeprecatedWarnings(),this._renderScrollableContainer(),t=this._renderNodeContainer(),this._scrollableContainer.content().append(t),this._renderItems(t,n,!0),this.option("selectAllEnabled")&&this._renderSelectAllItem(t)),this._renderEmptyMessage()},_makePlainStructures:function(){this._startIndex=1,this._plainItems=this._makePlainItems(),this._startIndex=1,this._plainNodes=this._makePlainNodes()},_isVirtualMode:function(){return this.option("virtualModeEnabled")&&this.option("dataSource")},_fireContentReadyAction:function(){this.callBase(),this._scrollableContainer&&this._scrollableContainer.content().height()>this.element().height()&&(this._scrollableContainer.update(),tt())},_createHierarchicalStructure:function(n){for(var u=[],f={},e=n.length,i,r,o,t=0;t<e;t++)f[this._keyGetter(n[t])]=n[t],this._itemsSetter(n[t],[]);for(t=0;t<e;t++)i=this._parentIdGetter(n[t]),r=this._createNode(n[t]),i?(o=this._itemsGetter(f[i]),o.push(r)):u.push(r);return u},_createNode:function(n){var t={};return this._keySetter(t,this._keyGetter(n)),this._displaySetter(t,this._displayGetter(n)),this._itemsSetter(t,this._itemsGetter(n)),this._expandedSetter(t,this._expandedGetter(n)),this._disabledSetter(t,this._disabledGetter(n)),n.hasOwnProperty(this.option("selectedExpr"))&&typeof this._selectedGetter(n)!="undefined"?this._selectedSetter(t,this._selectedGetter(n)):this._selectedSetter(t,!1),t},_createParentFieldForEachItem:function(t,i){var r=this;i=i?n.extend(!0,{},i):null,n.each(t,function(n,t){r._itemsCount++,o.isDefined(i)&&r._itemsGetter(i)&&r._itemsSetter(i,null),r._isPrimitiveValue(t)&&(t=r._makeObjectFromPrimitive(t)),t.parent=i,r._plainNodes[r._keyGetter(t)].parent=i,r._itemHasChildren(t)&&r._createParentFieldForEachItem(r._itemsGetter(t),t)})},_makeObjectFromPrimitive:function(n){var t=n;return n={},this._keySetter(n,t),n},_isPrimitiveValue:function(t){return n.inArray(n.type(t),["object","array","function"])===-1},_itemHasChildren:function(n){var t=this._itemsGetter(n);return t&&t.length},_renderScrollableContainer:function(){this._scrollableContainer=this._createComponent(n("<div />").appendTo(this.element()),"dxScrollable",{direction:this.option("scrollDirection"),useKeyboard:!1})},_renderNodeContainer:function(t){var i=n("<ul />").addClass(f),u;return this.setAria("role","group",i),t&&(u=this._getItemData(t.find("> ."+r)),this._expandedGetter(u)&&i.addClass(s),i.appendTo(t)),i},_renderItems:function(t,i){var r=this,u=r.option("showCheckBoxes");n.each(i,function(i,f){var v,c,l;r._isPrimitiveValue(f)&&(f=r._makeObjectFromPrimitive(f));var a=r._keyGetter(f),o=n("<li />").addClass(e).appendTo(t).attr(p,a),h=r._getSourceItemByKey(a);if(r.setAria({role:"treeitem",label:r._displayGetter(h)||"",expanded:h.items&&(r._expandedGetter(h)||"false")},o),u&&r._renderCheckBox(o,f),v=r._renderItem.call(r,i,h,o),r._attachDblclickToItem(v),r._hasItemsGetter(h)!==!1){if(r._isVirtualMode()){r._renderToggleItemVisibilityIcon(o,f),r._renderNodeContainer(o);return}c=r._itemsGetter(f),c&&n.isArray(c)&&c.length?(r._renderToggleItemVisibilityIcon(o,f),l=r._renderNodeContainer(o),r._expandedGetter(f)&&(r._renderItems(l,c,!1),l.addClass(s))):r._addLeafClass(o)}else r._addLeafClass(o)}),this._renderFocusTarget()},_addLeafClass:function(n){n.addClass(a)},_attachDblclickToItem:function(n){var t=this,i=c.addNamespace(nt,t.NAME);n.off(i).on(i,function(){var i=t._getItemData(n);t._toggleExpandedState(i)})},_toggleExpandedState:function(n,t,i){var u,r;(this._isVirtualMode()&&(u=this._getNodeElementById(this._getItemKey(n)),this._createLoadIndicator(u)),r=this._expandedGetter(n),this._disabledGetter(n))||o.isDefined(r)&&r===t||(o.isDefined(t)||(t=!r),this._updateExpandedState(n,t),this._updateExpandedItemsUI(n,t),this._fireExpandedStateUpdatedEvt(t,n,i))},_createLoadIndicator:function(n){var t=n.find(">."+h),i=n.find(" > ."+f);!t.hasClass(y)&&i.is(":empty")&&(this._createComponent("<div>","dxLoadIndicator",{width:15,height:15}).element().appendTo(n),t.css("display","none"))},_getSourceItemByKey:function(n){return this._plainItems[n]},_getItemKey:function(n){var t=this._keyGetter(n);return o.isDefined(t)||(t=this._getKeyForSourceItem(n)),t},_getKeyForSourceItem:function(t){var i=null;return n.each(this._plainItems,function(n,r){if(t===r)return i=n,!1}),i},_getNodeByKey:function(n){return this._plainNodes[n]},_renderSelectAllItem:function(t){t=t||this.element().find("."+f).first(),this._$selectAllItem=n("<div />").addClass(g),this._createComponent(this._$selectAllItem,"dxCheckBox",{value:this._calculateSelectAllItemValue(),text:this.option("selectAllText"),onValueChanged:n.proxy(this._toggleSelectAll,this)}),t.before(this._$selectAllItem)},_calculateSelectAllItemValue:function(){this._suppressDeprecatedWarnings();var n=!1,t=this.option("selectedItems").length;return t&&(n=this._itemsCount===t?!0:i),this._resumeDeprecatedWarnings(),n},_toggleSelectAll:function(n){if(!this._suppressUpdateSelectAllItemValue){if(this._suppressDeprecatedWarnings(),this._updateAllItems(this._nodes,n.value),n.value){var t=this._updateSelectionItemsOption();this.option("selectedItems",t)}else this.option("selectedItems",[]);this._resumeDeprecatedWarnings(),this._fireSelectionChanged()}},_updateAllItems:function(t,i){var r=this;n.each(t,function(n,t){var u=r._getNodeElementById(r._keyGetter(t)),f=r._getSourceItemByKey(r._keyGetter(t)),e=r._selectedGetter(t);if(e===i)return!0;u.length&&u.find("> .dx-checkbox").dxCheckBox("instance").option("value",i),r._commonSelectedSetter(f,t,i),u=null,r._itemHasChildren(t)&&r._updateAllItems(r._itemsGetter(t),i)})},_applySelectedItemsFromOption:function(t){var i=this;this._suppressDeprecatedWarnings(),n.each(this.option("selectedItems"),function(n,r){var u=i._getItemFromArray(r,t),f,e;u&&(f=i._getNodeByKey(i._keyGetter(u)),i._commonSelectedSetter(u,f,!0)),e=i._getNodeByKey(i._getItemKey(r)),i._commonSelectedSetter(r,e,!0)}),this._resumeDeprecatedWarnings()},_applyExpandedItemsFromOption:function(){var t=this;this._suppressDeprecatedWarnings(),n.each(this.option("expandedItems"),function(n,i){var r=t._getNodeByKey(t._getItemKey(i));t._commonExpandedSetter(i,r,!0)}),this._resumeDeprecatedWarnings()},_commonExpandedSetter:function(n,t,i){this._expandedSetter(n,i),this._expandedSetter(t,i)},_commonSelectedSetter:function(n,t,i){this._selectedSetter(n,i),this._selectedSetter(t,i)},_calculateChildrenSelectedState:function(t){var i=this;return n.each(t,function(t,r){i._selectedGetter(r)&&i._itemHasChildren(r)&&n.each(i._itemsGetter(r),function(n,t){var r=i._getSourceItemByKey(i._keyGetter(t));i._commonSelectedSetter(r,t,!0)}),i._itemHasChildren(r)&&i._itemsSetter(r,i._calculateChildrenSelectedState(i._itemsGetter(r)))}),t},_makePlainList:function(t,i,r){var u=this,f=r?{}:[];return i=i||f,n.each(t,function(n,t){if(r){u._isPrimitiveValue(t)&&(t=u._makeObjectFromPrimitive(t));var f=u._keyGetter(t);o.isDefined(f)||(f=u._startIndex),i[f]=t,u._startIndex++}else i.push(t);u._itemHasChildren(t)&&u._makePlainList(u._itemsGetter(t),i,r)}),i},_calculateParentSelectedState:function(t){function h(n){return f._selectedGetter(n)===!0}function c(n){return n.hasOwnProperty(f.option("selectedExpr"))&&typeof f._selectedGetter(n)=="undefined"}for(var s=t.length-1,f=this,u,r=s;r>=0;r--)if(!this._selectedGetter(t[r])&&(u=this._itemsGetter(t[r]),u&&u.length)){var o=n.grep(u,h),l=n.grep(u,c),a=this._getSourceItemByKey(this._keyGetter(t[r])),e=!1;o.length?e=o.length===u.length?!0:i:l.length&&(e=i),f._commonSelectedSetter(t[r],a,e)}return t},_calculateParentExpandedState:function(t){function s(n){return o._expandedGetter(n)===!0}for(var e=t.length-1,o=this,r,u,f,i=e;i>=0;i--)this._expandedGetter(t[i])||(r=this._itemsGetter(t[i]),r&&r.length&&(u=n.grep(r,s),u.length&&(f=this._getSourceItemByKey(this._keyGetter(t[i])),this._commonExpandedSetter(t[i],f,!0))))},_renderCheckBox:function(t,i){var u=this._calculateCheckBoxValue(i),r;t.addClass(k),this.setAria("selected",u,t),r=n("<div />").appendTo(t),this._createComponent(r,"dxCheckBox",{value:u,onValueChanged:n.proxy(this._changeCheckboxValue,this),focusStateEnabled:!1,disabled:this._disabledGetter(i)}),this._attachCheckboxClick(r,i)},_attachCheckboxClick:function(t,i){var r=c.addNamespace("dxclick",this.NAME),u=this._keyGetter(i),f=function(n){this._itemJQueryEventHandler(n,"onItemSelected",{node:this._getNodeByKey(u)})};t.off(r).on(r,n.proxy(f,this))},_renderToggleItemVisibilityIcon:function(t,i){var r=n("<div />").addClass(h).appendTo(t);this._expandedGetter(i)&&!this._isVirtualMode()&&(r.addClass(y),t.parent().addClass(s)),this._disabledGetter(i)&&r.addClass(v),this._renderToggleItemVisibilityIconClick(r,i)},_renderToggleItemVisibilityIconClick:function(n){var u=c.addNamespace("dxclick",this.NAME),f=this;n.off(u).on(u,function(t){var u=n.parent().find(">."+r),e=f._getItemData(u);f._toggleExpandedState(e,i,t)})},_updateExpandedState:function(t,i){this._suppressDeprecatedWarnings();var r=this.option("expandedItems"),f=this._getItemKey(t),e=this._getNodeByKey(f),u=this;u._commonExpandedSetter(t,e,i),i?u._getItemFromArray(t,r)||r.push(t):n.each(r,function(n,t){if(u._keyGetter(t)===f)return r.splice(n,1),!1}),this._resumeDeprecatedWarnings()},_updateExpandedItemsUI:function(n,t){var i=this._getNodeElementById(this._getItemKey(n)),u=i.find(">."+h),r=i.find(" > ."+f);u.toggleClass(y,t),this.setAria("expanded",t,i),this._renderNestedItems(r),this._animateNodeContainer(r,t)},_animateNodeContainer:function(i,r){var u=i.height();t.fx.stop(i,!0),t.fx.animate(i,{type:"custom",duration:this.option("animationEnabled")?400:0,from:{"max-height":r?0:u},to:{"max-height":r?u:0},start:function(){i.addClass(s)},complete:n.proxy(function(){i.css("max-height","none"),i.toggleClass(s,r),this._scrollableContainer.update()},this)})},_fireExpandedStateUpdatedEvt:function(n,t,i){var f=n?"onItemExpanded":"onItemCollapsed",e=this._getItemKey(t),o=this._getNodeByKey(e),u=this.option(f);u&&u.call(this,{itemData:t,node:o,itemElement:this._getNodeElementById(this._keyGetter(t)).find(">."+r),jQueryEvent:i})},_getParentById:function(t,i){var r;return n.each(t,function(n,t){t.id===i&&(r=t);return}),r},_renderNestedItems:function(n){if(n.is(":empty")){var t=n.parent().find(">."+r),i=this._getItemData(t),u=this._getItemKey(i),f=this._getNodeByKey(u);this._isVirtualMode()?this._renderVirtualNodes(n):this._renderItems(n,this._itemsGetter(f),!1)}},_renderVirtualNodes:function(t){var u=t.parent().find(">."+r),f=this._getItemData(u),e=this._getItemKey(f),i=this;this._dataSource.filter([this.option("parentIdExpr"),e]),this._dataSource.load().done(function(r){var e=[],o,s;n.each(r,function(n,t){e.push(i._createNode(t))}),i._renderItems(t,e,!1),e.length&&!i._selectedGetter(f)&&(o=i._keyGetter(e[0]),s=i._getNodeElementById(o),i._updateParentsState(i._getNodeByKey(o),s)),i._normalizeIconState(u,e.length)})},_normalizeIconState:function(n,t){var i=n.siblings(".dx-loadindicator"),r=n.siblings("."+h);i.dxLoadIndicator("instance").option("visible",!1),t?r.css("display","block"):(n.siblings("."+h).removeClass(h),n.parent().addClass(a))},_dataSourceChangedHandler:function(n){this._initialized&&this._isVirtualMode()?(this.option().items=this.option("items").concat(n),this._updateNodesFields(n)):this.option("items",n)},_updateNodes:function(){this._makeNodes(),this._makePlainStructures()},_calculateCheckBoxValue:function(n){var t;return t=this._isVirtualMode()?!!n.selected:n.hasOwnProperty(this.option("selectedExpr"))?this._selectedGetter(n):!1},_changeCheckboxValue:function(n){this._isVirtualMode()&&this._updateNodesFields();var t=n.element.parent("."+e),u=this._getItemData(t.find("> ."+r)),i=n.value,o=this._getItemKey(u),f=this._getNodeByKey(o);(this._commonSelectedSetter(u,f,i),this.setAria("selected",i,t),n.jQueryEvent&&!this.option("selectNodesRecursive")&&this._fireSelectionChanged(),n.jQueryEvent&&this.option("selectNodesRecursive"))&&this._updateParentsAndChildren(f,i,!1,t)},_updateNodesFields:function(t){var i,r,u;this._isVirtualMode()&&(i=this._dataSource.filter()&&this._dataSource.filter()[1],i&&i!==this.option("rootValue")&&(r=this._getNodeByKey(i),u=this.option("selectNodesRecursive"),t&&t.length&&this._itemsSetter(r,t),this._updateNodes(),t&&this._selectedGetter(r)?u&&n.each(t,n.proxy(function(n,t){this._selectedSetter(t,!0)},this)):(u&&this._calculateParentSelectedState(this._makePlainList(this._nodes,null)),this._createParentFieldForEachItem(this._nodes))))},_updateParentsAndChildren:function(n,t,i,r){n.parent&&n.parent!==null&&this._updateParentsState(n,r),n.items&&n.items.length&&this._updateChildrenState(this._itemsGetter(n),t,r),this._suppressDeprecatedWarnings();var u=this._updateSelectionItemsOption();this.option("selectedItems",u),this._resumeDeprecatedWarnings(),i||this._fireSelectionChanged()},_getItemFromArray:function(t,i){var r=null,u=this,f=u._keyGetter(t);return n.each(i,function(n,t){if(f===u._keyGetter(t))return r=t,!1}),r},_calculateSelectedItemsOption:function(n,t){var i=this._getItemKey(t),r=this._getNodeByKey(i);this._commonSelectedSetter(t,r,n)},_reduceSelectedItemsOption:function(t,i){var r=this,u=r._keyGetter(i);n.each(t,function(n,t){if(u===r._keyGetter(t))return!1})},_updateParentsState:function(t,i){var r=this._getNodeByKey(this._keyGetter(t.parent)),o,f=this;n.each(this._itemsGetter(r),function(n,i){f._keyGetter(t)===f._keyGetter(i)&&f._selectedSetter(i,f._selectedGetter(t))});var h=this._itemsGetter(r).length,s=this._getSelectedChildrenFromNode(r),c=this._getIntermediateChildrenFromNode(r),u;s===h?u=!0:s||c||(u=!1),i&&this.option("showCheckBoxes")&&(o=n(i.parents("."+e)[0]),o.find("> .dx-checkbox").dxCheckBox("instance").option("value",u)),this._updateParentField(t,u),this._selectedSetter(r,u),r.parent&&this._updateParentsState(r,o),this._calculateSelectedItemsOption(u,this._getSourceItemByKey(this._keyGetter(t.parent)))},_getSelectedChildrenFromNode:function(t){var i=this._itemsGetter(t),r=this;return i&&i.length?n.grep(i,function(n){return r._selectedGetter(n)===!0}).length:0},_getIntermediateChildrenFromNode:function(t){var r=this._itemsGetter(t),u=this;return r&&r.length?n.grep(r,function(n){return n.hasOwnProperty(u.option("selectedExpr"))&&u._selectedGetter(n)===i}).length:0},_updateChildrenState:function(t,i,r){var u=this,e;n.each(t,function(n,t){var r=u._getSourceItemByKey(u._keyGetter(t));u._updateParentField(t,i),u._calculateSelectedItemsOption(i,r),u._itemHasChildren(t)&&u._updateChildrenState(u._itemsGetter(t),i)}),r&&(e=r.find("> ."+f),e.find(".dx-checkbox").each(function(t,r){n(r).dxCheckBox("instance").option("value",i)}))},_updateParentField:function(n,t){n.parent&&this._selectedSetter(n.parent,t)},_itemEventHandlerImpl:function(t,i,u){var f=n(t).closest("."+e).find("> ."+r);return u=n.extend({itemElement:f,itemData:this._getItemData(f)},u),i(u)},_itemClass:function(){return r},_itemDataKey:function(){return d},_selectionEnabled:function(){return!0},_attachClickEvent:function(){var t=this,i=t._itemSelector(),r=c.addNamespace("dxclick",t.NAME),u=c.addNamespace("dxpointerdown",this.NAME);t._itemContainer().off(r,i).on(r,i,function(i){t._itemClickHandler(i,n(this))}).off(u,i).on(u,i,n.proxy(this._itemPointerDownHandler,this))},_itemClickHandler:function(n,t){var i=this._getItemData(t),r=this._getNodeByKey(this._getItemKey(i));this._itemJQueryEventHandler(n,"onItemClick",{node:r})},_updateItemSelection:function(n,t,i,r){var f=t.nodeType?this._getItemData(t):t,s=this._getItemKey(f),u=this._getNodeByKey(s),h,e,c,o;this._disabledGetter(f)||(h=this._selectedGetter(u),h!==n)&&(r||(e=this._getNodeElementById(s),e.length&&(r=e)),r&&r.find("> .dx-checkbox").dxCheckBox("instance").option("value",n),this._commonSelectedSetter(f,u,n),this._calculateSelectedItemsOption(n,u),this.option("selectNodesRecursive")?this._updateParentsAndChildren(u,n,i,r):(this._suppressDeprecatedWarnings(),c=this._updateSelectionItemsOption(),this.option("selectedItems",c),this._resumeDeprecatedWarnings()),o=this.option("onItemSelected"),o&&o.call(this,{itemData:f,node:u}))},_updateSelectionToFirstItem:function(t,i){for(var u=i,f;u>=0;)f=n(t[u]),this._updateItemSelection(!0,f.find("."+r).get(0),!0,f),u--},_updateSelectionToLastItem:function(t,i){for(var u=i,e=t.length,f;u<e;)f=n(t[u]),this._updateItemSelection(!0,f.find("."+r).get(0),!0,f),u++},_enlargeExpandedItemsOption:function(n,t){return this._getItemFromArray(n,t)||(t.push(n),this._expandedSetter(n,!0)),n.parent&&this._enlargeExpandedItemsOption(n.parent,t),t},_reduceExpandedItemsOption:function(t,i){var r=this,u=r._keyGetter(t),f=r._getSourceItemByKey(u);return r._commonExpandedSetter(f,t,!1),n.each(i,function(f,e){r._keyGetter(e)===u&&(i.splice(f,1),r._itemHasChildren(t)&&n.each(r._itemsGetter(t),function(n,t){var u=r._getSourceItemByKey(r._keyGetter(t));r._commonExpandedSetter(u,t,!1),r._reduceExpandedItemsOption(t,i)}))}),i},_focusInHandler:function(t){var i=t.currentTarget,u=this._focusTarget(),r;n.inArray(i,u)!==-1&&n(i).addClass(w),this.option("focusedElement")?this._setFocusedItem(this.option("focusedElement")):(r=this._getActiveItem(),this.option("focusedElement",r.closest("."+e)))},_setFocusedItem:function(n){n&&n.length&&(n.children().hasClass(v)||this.callBase(n))},_itemPointerDownHandler:function(t){if(this.option("focusStateEnabled")){var i=n(t.target).closest("."+e);i.hasClass(e)&&(i.hasClass(v)?this.option("focusedElement",null):this.option("focusedElement",i))}},_moveFocus:function(i,u){var l="up",a="down",y="first",p="last",w=this.option("rtlEnabled")?"right":"left",b=this.option("rtlEnabled")?"left":"right",e,o,s,h,c;this.element().find("."+f).each(function(){t.fx.stop(this,!0)}),e=this._nodeElements().not(function(){return n(this).find(">."+r).hasClass(v)});switch(i){case l:o=this._prevItem(e),this.option("focusedElement",o),u.shiftKey&&this.option("showCheckBoxes")&&this._updateItemSelection(!0,o.find("."+r).get(0),!0,o);break;case a:s=this._nextItem(e),this.option("focusedElement",s),u.shiftKey&&this.option("showCheckBoxes")&&this._updateItemSelection(!0,s.find("."+r).get(0),!0,s);break;case y:h=e.first(),u.shiftKey&&this.option("showCheckBoxes")&&this._updateSelectionToFirstItem(e,e.index(this._prevItem(e))),this.option("focusedElement",h);break;case p:c=e.last(),u.shiftKey&&this.option("showCheckBoxes")&&this._updateSelectionToLastItem(e,e.index(this._nextItem(e))),this.option("focusedElement",c);break;case b:this._expandFocusedContainer();break;case w:this._collapseFocusedContainer();break;default:this.callBase.apply(this,arguments);return}},_nodeElements:function(){return this.element().find("."+e).not(":hidden")},_expandFocusedContainer:function(){var n=this.option("focusedElement"),t,i;if(n&&!n.hasClass(a)){if(t=n.find("."+f).eq(0),t.hasClass(s)){this.option("focusedElement",this._nextItem(this._nodeElements()));return}i=this._getItemData(n.find(">."+r)),this._toggleExpandedState(i,!0)}},_collapseFocusedContainer:function(){var n=this.option("focusedElement"),i,u,o,t;n&&(i=n.find("."+f).eq(0),!n.hasClass(a)&&i.hasClass(s)?(u=this._getItemData(n.find(">."+r)),this._toggleExpandedState(u,!1)):(o=n.parent("."+f),t=o.parent("."+e).eq(0),t.length&&this.option("focusedElement",t)))},updateDimensions:function(){var t=this,i=n.Deferred();return t._scrollableContainer?t._scrollableContainer.update().done(function(){i.resolveWith(t)}):i.resolveWith(t),i.promise()},selectItem:function(n){this._updateItemSelection(!0,n)},unselectItem:function(n){this._updateItemSelection(!1,n)},expandItem:function(t){var i=this._getItemData(n(t));this._toggleExpandedState(i,!0)},collapseItem:function(t){var i=this._getItemData(n(t));this._toggleExpandedState(i,!1)},getNodes:function(){return this._nodes},selectAll:function(){this._toggleSelectAll({value:!0})},unselectAll:function(){this._toggleSelectAll({value:!1})}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,i=u.events.addNamespace,r="dxSortable",e="dx-sortable",f=function(t,i,r){var f=n(t),u=f.offset();if(i>=u.left&&i<=u.left+f.outerWidth(!0)&&r>=u.top&&r<=u.top+f.outerHeight(!0))return!0};t.registerComponent("dxSortable",u,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({onChanged:null,onDragging:null,itemRender:null,groupSelector:null,itemSelector:".dx-sort-item",itemContainerSelector:".dx-sortable",sourceClass:"dx-drag-source",dragClass:"dx-drag",targetClass:"dx-drag-target"})},_renderItem:function(n,t){var r=this.option("itemRender"),i;return r?i=r(n,t):(i=n.clone(),i.css({width:n.width(),height:n.height()})),i},_attachEventHandlers:function(){var e=this,p=e.option("itemSelector"),w=e.option("itemContainerSelector"),a=e.option("groupSelector"),c=e.option("sourceClass"),b=e.option("dragClass"),h=e.option("targetClass"),t,y,o,u,l,v,s=e.element();s.off(i("dxdragstart dxdrag dxdragend dxdragenter dxdragleave dxdrop",r));s.on(i("dxdragstart",r),p,function(i){t=n(i.currentTarget),l=t.offset(),l.top-=s.offset().top,l.left-=s.offset().left,v=e._renderItem(t,"drag").appendTo(s),o=e._renderItem(t,"target"),v.addClass(b),t.addClass(c),y=t.index(),o.addClass(h)});s.on(i("dxdrag",r),function(i){if(t){var g=e.option("onDragging"),b,r,k,d,nt=a?s.find(a):s;u&&u.removeClass(h),u=undefined,n.each(nt,function(){if(f(this,i.pageX,i.pageY))return u=n(this),!1}),u&&(k=u.find(w),d=k.find(p),n.each(d,function(){if(f(this,i.pageX,i.pageY))return r=n(this),!1})),u&&t&&(b={sourceGroup:t.closest(a).attr("group"),sourceIndex:y,sourceElement:t,targetGroup:u.attr("group"),targetIndex:o.index()},g&&g(b)),b&&b.cancel&&(u=undefined,r=undefined),u&&u.addClass(h),r?r.hasClass(h)||(o.detach(),r.hasClass(c)||r.prev().hasClass(c)||o.insertBefore(r)):(o.detach(),u&&!d.last().hasClass(c)&&o.appendTo(k)),v.css({top:l.top+i.offset.y,left:l.left+i.offset.x})}});s.on(i("dxdragend",r),function(){var r=e.option("onChanged"),n,i;t&&(u&&(u.removeClass(h),i=t.closest(a).attr("group"),n={sourceGroup:i,sourceIndex:y,sourceElement:t,targetGroup:u.attr("group"),targetIndex:o.index(),removeSourceElement:!0},(i!==n.targetGroup||o.parent().length)&&(r&&r(n),n.removeSourceElement&&t.remove())),t.removeClass(c),v.remove(),t=null,o.removeClass(h),o=null)})},_init:function(){this.callBase(),this._attachEventHandlers()},_render:function(){this.callBase(),this.element().addClass(e)},_optionChanged:function(n){var t=this;switch(n.name){case"onDragging":case"onChanged":case"itemRender":case"groupSelector":case"itemSelector":case"itemContainerSelector":case"sourceClass":case"targetClass":case"dragClass":t._attachEventHandlers();break;default:t.callBase(n)}}}))}(jQuery,DevExpress),function(n,t){var i=t.ui,r=t.utils,c=".dx-row",l="Specifying grid templates with the name of a jQuery selector is now deprecated. Instead, use the jQuery object that references this selector.",e=t.Class.inherit({ctor:function(t){var i=this;i.component=t,i._actions={},i._actionConfigs={},n.each(this.callbackNames()||[],function(t,r){var u=i.callbackFlags(r);i[this]=n.Callbacks(u)})},callbackNames:function(){},callbackFlags:function(){},publicMethods:function(){},init:function(){},option:function(){return this.component.option.apply(this.component,arguments)},on:function(){return this.component.on.apply(this.component,arguments)},off:function(){return this.component.off.apply(this.component,arguments)},optionChanged:function(n){n.name in this._actions&&(this.createAction(n.name,this._actionConfigs[n.name]),n.handled=!0)},getAction:function(n){return this._actions[n]},setAria:function(){return this.component.setAria.apply(this.component,arguments)},_createComponent:function(){return this.component._createComponent.apply(this.component,arguments)},getController:function(n){return this.component._controllers[n]},createAction:function(t,i){var u;if(r.isFunction(t))return u=this.component._createAction(n.proxy(t,this),i),function(n){u({jQueryEvent:n})};this._actions[t]=this.component._createActionByOption(t,i),this._actionConfigs[t]=i},executeAction:function(n,t){var i=this._actions[n];return i&&i(t)},dispose:function(){var t=this;n.each(t.callbackNames()||[],function(){t[this].empty()})}}),f=e,a=f.inherit({getView:function(n){return this.component._views[n]},getViews:function(){return this.component._views}}),o=e.inherit({element:function(){return this._$element},_renderCore:function(){},_resizeCore:function(){},_afterRender:function(){},_parentElement:function(){return this._$parent},ctor:function(t){this.callBase(t),this.renderCompleted=n.Callbacks(),this.resizeCompleted=n.Callbacks()},isVisible:function(){return!0},getTemplate:function(n){return this.component._getTemplate(n)},render:function(t,i){var r=this._$element,u=this.isVisible();r||(r=this._$element=n("<div />").appendTo(t),this._$parent=t),r.toggle(u),u&&(this._renderCore(i),this._afterRender(t),this.renderCompleted.fire())},resize:function(){this.isResizing=!0,this._resizeCore(),this.resizeCompleted.fire(),this.isResizing=!1},focus:function(){this.element().focus()}}),s=function(i,r){var u={},e={},h,s;n.each(r,function(){var r=this.controllers,i=this.name,s=this.views;r&&n.each(r,function(n,r){if(u[n])throw t.Error("E1001",i,n);else if(!(r&&r.subclassOf&&r.subclassOf(f))){r.subclassOf(f);throw t.Error("E1002",i,n);}u[n]=r}),s&&n.each(s,function(n,r){if(e[n])throw t.Error("E1003",i,n);else if(!(r&&r.subclassOf&&r.subclassOf(o)))throw t.Error("E1004",i,n);e[n]=r})}),n.each(r,function(){var t=this.extenders;t&&(t.controllers&&n.each(t.controllers,function(n,t){u[n]&&(u[n]=u[n].inherit(t))}),t.views&&n.each(t.views,function(n,t){e[n]&&(e[n]=e[n].inherit(t))}))}),h=function(i,r,u){var f=u.publicMethods();f&&n.each(f,function(n,f){if(u[f])if(i[f])throw t.Error("E1005",f);else i[f]=function(){return u[f].apply(u,arguments)};else throw t.Error("E1006",r,f);})},s=function(t){var r={};return n.each(t,function(n,t){var u=new t(i);u.name=n,h(i,n,u),r[n]=u}),r},i._controllers=s(u),i._views=s(e)},u=function(t,i,r){r=r||[],t._controllers&&n.each(t._controllers,function(){this[i]&&this[i].apply(this,r)}),t._views&&n.each(t._views,function(){this[i]&&this[i].apply(this,r)})},h;t.registerComponent("dxDataGrid",i,i.Widget.inherit({_activeStateUnit:c,_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{rowClick:{since:"14.2",alias:"onRowClick"},cellClick:{since:"14.2",alias:"onCellClick"},cellHoverChanged:{since:"14.2",alias:"onCellHoverChanged"},cellPrepared:{since:"14.2",message:"The cellPrepared option is deprecated. Use the onCellPrepared option instead. For further information, see http://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Configuration/?version=14_2#onCellPrepared"},rowPrepared:{since:"14.2",message:"The rowPrepared option is deprecated. Use the onRowPrepared option instead. For further information, see http://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Configuration/?version=14_2#onRowPrepared"},selectionChanged:{since:"14.2",alias:"onSelectionChanged"},dataErrorOccurred:{since:"14.2",alias:"onDataErrorOccurred"},initNewRow:{since:"14.2",alias:"onInitNewRow"},rowInserting:{since:"14.2",alias:"onRowInserting"},rowInserted:{since:"14.2",alias:"onRowInserted"},editingStart:{since:"14.2",alias:"onEditingStart"},rowUpdating:{since:"14.2",alias:"onRowUpdating"},rowUpdated:{since:"14.2",alias:"onRowUpdated"},rowRemoving:{since:"14.2",alias:"onRowRemoving"},rowRemoved:{since:"14.2",alias:"onRowRemoved"},editorPreparing:{since:"14.2",message:"The editorPreparing option is deprecated. Use the onEditorPreparing option instead. For further information, see http://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Configuration/?version=14_2#onEditorPreparing"},editorPrepared:{since:"14.2",message:"The editorPrepared option is deprecated. Use the onEditorPrepared option instead. For further information, see http://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Configuration/?version=14_2#onEditorPrepared"},contentReadyAction:{since:"14.2",alias:"onContentReady"}})},_setDefaultOptions:function(){var t=this;t.callBase(),n.each(i.dxDataGrid.modules,function(){n.isFunction(this.defaultOptions)&&t.option(this.defaultOptions())})},_defaultOptionsRules:function(){return this.callBase().concat([{device:{platform:"ios"},options:{showRowLines:!0}},{device:function(){return DevExpress.browser.webkit},options:{loadPanel:{animation:{show:{easing:"cubic-bezier(1, 0, 1, 0)",duration:500,from:{opacity:0},to:{opacity:1}}}}}}])},_init:function(){var n=this;n.callBase(),s(n,i.dxDataGrid.modules),u(n,"init")},_clean:n.noop,_optionChanged:function(n){var t=this;u(t,"optionChanged",[n]),n.handled||t.callBase(n)},_dimensionChanged:function(){this.updateDimensions()},_visibilityChanged:function(n){n&&this.updateDimensions()},_renderContentImpl:function(){var n=this;n.getView("gridView").render(n.element())},_renderContent:function(){this._renderContentImpl()},_getTemplate:function(i){var r=i;return t.utils.isString(r)&&r[0]==="#"&&(r=n(i),t.utils.logger.warn(l)),this.callBase(r)},_dispose:function(){var n=this;n.callBase(),u(n,"dispose")},isReady:function(){return this.getController("data").isReady()},beginUpdate:function(){var n=this;n.callBase(),u(n,"beginUpdate")},endUpdate:function(){var n=this;u(n,"endUpdate"),n.callBase()},getController:function(n){return this._controllers[n]},getView:function(n){return this._views[n]},focus:function(n){this.callBase(),r.isDefined(n)&&this.getController("keyboardNavigation").focus(n)}})),h=3,n.extend(i.dxDataGrid,{__internals:{},modules:[],View:o,ViewController:a,Controller:f,registerModule:function(n,t){for(var r=this.modules,i=0;i<r.length;i++)if(r[i].name===n)return;t.name=n,r.push(t)},unregisterModule:function(t){this.modules=n.grep(this.modules,function(n){return n.name!==t})},processModules:s,formatValue:function(n,i){var r=t.formatHelper.format(n,i.format,i.precision)||n&&n.toString()||"",u={value:n,valueText:i.getDisplayFormat?i.getDisplayFormat(r):r};return i.customizeText?i.customizeText.call(i,u):u.valueText},getDisplayValue:function(n,t){return n.lookup?n.lookup.calculateCellValue(t):t},getGroupRowSummaryText:function(n,t){for(var u="(",f,r=0;r<n.length;r++)f=n[r],u+=(r>0?", ":"")+i.dxDataGrid.getSummaryText(f,t);return u+=")"},getSummaryText:function(n,t){var i=n.displayFormat||n.columnCaption&&t[n.summaryType+"OtherColumn"]||t[n.summaryType];return this.formatValue(n.value,{format:n.valueFormat,precision:n.precision,getDisplayFormat:function(t){return i?r.stringFormat(i,t,n.columnCaption):t},customizeText:n.customizeText})},equalKeys:function(n,t,u){var f,e;if(u=u||0,u<h){if(r.isObject(n)&&r.isObject(t)){for(f in n)if(n.hasOwnProperty(f)&&!i.dxDataGrid.equalKeys(n[f],t[f],u+1))return!1;for(f in t)if(!(f in n))return!1;return!0}if(r.isArray(n)&&r.isArray(t)){if(n.length!==t.length)return!1;for(e=0;e<n.length;e++)if(!i.dxDataGrid.equalKeys(n[e],t[e],u+1))return!1;return!0}return r.isDate(n)&&r.isDate(t)?n.getTime()===t.getTime():n===t}return!0},getIndexByKey:function(t,r){var u=-1;return n.each(r,function(n,r){if(i.dxDataGrid.equalKeys(t,r.key))return u=n,!1}),u},normalizeSortingInfo:function(n){n=n||[];for(var r=t.data.utils.normalizeSortingInfo(n),i=0;i<n.length;i++)n&&n[i]&&n[i].isExpanded!==undefined&&(r[i].isExpanded=n[i].isExpanded);return r}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.utils,i=r.dxDataGrid;i.StateStoringController=i.ViewController.inherit(function(){var i=function(n){var t=n.type==="sessionStorage"?sessionStorage:localStorage;if(!t)throw new Error("E1007");return t},r=function(n){return"dx_datagrid_"+(u.isDefined(n.storageKey)?n.storageKey:"storage")},f=function(n,t){var i;return typeof t=="string"&&(i=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(t),i)?new Date(Date.UTC(+i[1],+i[2]-1,+i[3],+i[4],+i[5],+i[6])):t},e=function(t){var r=t.getController("columns"),f=t.getController("selection"),u=t.getController("export"),i=t.getController("data"),e=t.getView("pagerView");r&&r.columnsChanged.add(function(){n.extend(t._state,{columns:r.getUserState()}),t.isEnabled()&&t.save()}),f&&f.selectionChanged.add(function(i){n.extend(t._state,{selectedRowKeys:i}),t.isEnabled()&&t.save()}),i&&(t._initialPageSize=t.option("paging.pageSize"),i.changed.add(function(){n.extend(t._state,{searchText:t.option("searchPanel.text"),pageIndex:i.pageIndex(),pageSize:i.pageSize(),allowedPageSizes:e?e.getPageSizes():undefined}),t.isEnabled()&&t.save()})),u&&u.selectionOnlyChanged.add(function(){n.extend(t._state,{exportSelectionOnly:u.selectionOnly()}),t.isEnabled()&&t.save()})},o=function(n,t){var i=t.allowedPageSizes,e=t.searchText,o=t.selectedRowKeys,r=n.getController("export"),u=n.getController("columns"),f=n.option("scrolling.mode");n.component.beginUpdate(),u&&u.setUserState(t.columns),r&&r.selectionOnly(t.exportSelectionOnly),n.option("selectedRowKeys",o||[]),i&&n.option("pager.allowedPageSizes")==="auto"&&(n.option("pager").allowedPageSizes=i),n.option("searchPanel.text",e||""),n.option("paging.pageSize",f!=="virtual"&&f!=="infinite"&&t.pageSize?t.pageSize:n._initialPageSize),n.option("paging.pageIndex",t.pageIndex||0),n.component.endUpdate()};return{_loadState:function(){var n=this.option("stateStoring");if(n.type==="custom")return n.customLoad&&n.customLoad();try{return JSON.parse(i(n).getItem(r(n)),f)}catch(u){t.utils.logger.error(u.message)}},_saveState:function(n){var t=this.option("stateStoring");if(t.type==="custom"){t.customSave&&t.customSave(n);return}try{i(t).setItem(r(t),JSON.stringify(n))}catch(u){}},publicMethods:function(){return["state"]},isEnabled:function(){return this.option("stateStoring.enabled")},init:function(){var t=this;t._state={},t._isLoaded=!1,t._isLoading=!1,t._windowUnloadHandler=function(){t._savingTimeoutID!==undefined&&t._saveState(t.state())},n(window).on("unload",t._windowUnloadHandler),e(t)},isLoaded:function(){return this._isLoaded},isLoading:function(){return this._isLoading},load:function(){var i=this,t;return i._isLoading=!0,t=i._loadState(),t&&n.isFunction(t.done)||(t=n.Deferred().resolve(t)),t.done(function(n){i._isLoaded=!0,i._isLoading=!1,i.state(n)}),t},state:function(t){var i=this;if(arguments.length)i._state=n.extend({},t),o(i,n.extend({},t));else return n.extend(!0,{},i._state)},save:function(){var n=this;clearTimeout(n._savingTimeoutID),n._savingTimeoutID=setTimeout(function(){n._saveState(n.state()),n._savingTimeoutID=undefined},n.option("stateStoring.savingTimeout"))},optionChanged:function(n){var t=this;switch(n.name){case"stateStoring":t.isEnabled()&&t.load(),n.handled=!0;break;default:t.callBase(n)}},dispose:function(){clearTimeout(this._savingTimeoutID),n(window).off("unload",this._windowUnloadHandler)}}}()),i.registerModule("stateStoring",{defaultOptions:function(){return{stateStoring:{enabled:!1,storageKey:null,type:"localStorage",customLoad:null,customSave:null,savingTimeout:2e3}}},controllers:{stateStoring:r.dxDataGrid.StateStoringController},extenders:{controllers:{columns:{getVisibleColumns:function(){var t=this.callBase(),n=this.getController("stateStoring");return n.isEnabled()&&!n.isLoaded()?[]:t}},data:{_refreshDataSource:function(){var n=this,i=n.callBase,t=n.getController("stateStoring");t.isEnabled()&&!t.isLoaded()?(clearTimeout(n._restoreStateTimeoutID),n._restoreStateTimeoutID=setTimeout(function(){t.load().always(function(){n._restoreStateTimeoutID=null,i.call(n)})})):n._restoreStateTimeoutID||i.call(n)},isLoading:function(){var n=this,t=n.getController("stateStoring");return this.callBase()||t.isLoading()},dispose:function(){clearTimeout(this._restoreStateTimeoutID),this.callBase()}}}}})}(jQuery,DevExpress),function(n,t,i){var c=t.ui,e=c.dxDataGrid,o=e.normalizeSortingInfo,r=t.utils,s=r.normalizeIndexes,f=t.data.utils,u=r.isDefined,l=["filterValues","filterType","fixed","fixedPosition"],a=["visibleIndex","dataField","name","dataType","width","visibleWidth","visible","sortOrder","sortIndex","groupIndex","filterValue","selectedFilterOperation"].concat(l),v="dx-command-expand",h;e.checkChanges=function(n,t){for(var r=0,i=0;i<t.length;i++)n[t[i]]&&r++;return n.length&&n.length===r},h=e.Controller.inherit(function(){var at={visible:!0,showInColumnChooser:!0},vt={number:["=","<>","<",">","<=",">="],string:["contains","notcontains","startswith","endswith","=","<>"],date:["=","<>","<",">","<=",">="]},h="group",c="columnChooser",yt=function(n){for(var u=[],t,f=!1,i=!1,r=0;r<n.length;r++)t=n.charAt(r),i=t===t.toUpperCase()||t in["0","1","2","3","4","5","6","7","8","9"],t==="_"||t==="."?(t=" ",i=!0):r===0?(t=t.toUpperCase(),i=!0):!f&&i&&u.length>0&&u.push(" "),u.push(t),f=i;return u.join("")},g=function(t,i,u){var f,e;if(i)return r.isString(i)&&(i={dataField:i}),i.command?n.extend(!0,{},i):(f=t.getCommonSettings(),u&&u.name&&u.dataField&&(i=n.extend({},i,{dataField:u.dataField})),e=t._createCalculatedColumnOptions(i),n.extend(!0,{},at,f,e,i))},w=function(t,i){var r=[];return i&&n.each(i,function(n,i){var f=t._columnsUserState&&ht(i,t._columnsUserState[n])&&t._columnsUserState[n],u=g(t,i,f);u&&r.push(u)}),r},ut=function(t){var r=n.type(t);return r!=="string"&&r!=="boolean"&&r!=="number"&&r!=="date"&&(r=i),r},ft=function(n,t){switch(n){case"date":if(r.isNumber(t))return"number";if(r.isString(t))return"yyyy/MM/dd";break;case"number":if(r.isString(t))return"string"}},nt=function(n,t){n.deserializeValue||(t==="date"&&(n.deserializeValue=function(n){var t=this.serializationFormat,u;if(t&&t!=="number"&&t!=="yyyy/MM/dd"){if(n!==i)return Globalize.parseDate(n,t)}else return u=t==="number"?n:!r.isDate(n)&&Date.parse(n),u?new Date(u):n},n.serializeValue=function(n){var t=this.serializationFormat;return t==="number"?n&&n.valueOf&&n.valueOf():t?Globalize.format(n,t):n}),t==="number"&&(n.deserializeValue=function(n){return n?Number(n):n},n.serializeValue=function(n){return n?n.toString():n}))},pt=function(n,t){switch(n){case"number":return"right";case"boolean":return"center";case"date":return"left";default:return t?"right":"left"}},wt=function(n){switch(n){case"date":return"shortDate"}},bt=function(n){if(n==="boolean")return function(n){return n.value===!0?this.trueText||"true":n.value===!1?this.falseText||"false":n.valueText||""}},kt=function(n,t){for(var u=et(t),i,f={},e=[],o,r=0;r<u.length;r++)if(u[r])for(i in u[r])f[i]=!0;for(i in f)i.indexOf("__")!==0&&(o=g(n,i),e.push(o));return e},b=function(t,i){var r;if(n.isArray(t)&&n.isArray(i)){if(t.length!==i.length)return!1;for(r=0;r<t.length;r++)if(t[r].selector!==i[r].selector||t[r].desc!==i[r].desc||Boolean(t[r].isExpanded)!==Boolean(i[r].isExpanded))return!1;return!0}return(!t||!t.length)==(!i||!i.length)},et=function(n){var t,i=[],r=function(n,t){var i,u;if(!n||!t)return n;for(i=0;i<n.length;i++)if(u=r(n[i].items||n[i].collapsedItems,t-1),u&&u.length)return u};return n&&n.items().length>0&&(t=o(n.group()).length,i=r(n.items(),t)||[]),i},dt=function(t){n.each(t._columns,function(n,t){t.index=n}),n.each(t._commandColumns,function(n,t){t.index=-(n+1)})},tt=function(n,t){s(n._columns,"groupIndex",t,function(n){var t=n.grouped;return delete n.grouped,t})},ot=function(t,i){n.each(t._columns,function(n,t){u(t.sortIndex)&&!d(t.sortOrder)&&delete t.sortIndex}),s(t._columns,"sortIndex",i,function(n){return!u(n.groupIndex)&&d(n.sortOrder)})},st=function(n,t){s(n._columns,"visibleIndex",t)},it=function(n,t,i){var f=i===h?n.getGroupColumns():i===c?n.getChooserColumns():n.getVisibleColumns(),r=f[t];return r&&u(r.index)?r.index:-1},gt=function(n,t,i){var u=n.getGroupColumns(),r;if(i>=0)for(r=0;r<u.length;r++)u[r].groupIndex>=i&&u[r].groupIndex++;else for(i=0,r=0;r<u.length;r++)i=Math.max(i,u[r].groupIndex+1);t.groupIndex=i},ht=function(n,t){return n&&t&&t.name===n.name&&(t.dataField===n.dataField||n.name)},ct=function(t){function s(t,u){u==="dataType"?f[u]=f[u]||r[i][u]:n.inArray(u,l)>=0?u in r[i]&&(f[u]=r[i][u]):f[u]=r[i][u]}var r=t._columnsUserState,e=t._columns,o=[],f,i;if(r){if(e.length!==r.length)return;for(i=0;i<r.length;i++)if(f=u(r[i].initialIndex)?e[r[i].initialIndex]:e[i],f&&ht(f,r[i]))f=n.extend({},f),n.each(a,s),o.push(f);else return;y(t,o)}},k=function(n,t){dt(n),tt(n,t),ot(n,t),st(n,t)},lt=function(n){return n&&n.store&&n.store()instanceof t.data.ArrayStore},y=function(n,t){n._columns=t,n._visibleColumns=i,n.updateColumnDataTypes()},e=function(n,t,r,u){var f=n._columnChanges||{optionNames:{length:0},changeTypes:{length:0},columnIndex:u},e,o;r=r||"all",e=f.changeTypes,t&&!e[t]&&(e[t]=!0,e.length++),o=f.optionNames,r&&!o[r]&&(o[r]=!0,o.length++),(u===i||u!==f.columnIndex)&&delete f.columnIndex,n._columnChanges=f,n._visibleColumns=i},p=function(t){var u=t.option("onColumnsChanging"),r=t._columnChanges;t.isInitialized()&&!t._updateLockCount&&r&&(u&&(t._updateLockCount++,u(n.extend({component:t.component},r)),t._updateLockCount--),t._columnChanges=i,r.optionNames&&r.optionNames.dataField&&t.reinit(),t.columnsChanged.fire(r))},rt=function(n,t,i,r,u){var s=f.compileGetter(i),o;if(arguments.length===3)return s(t,{functionsAsIs:!0});s(t,{functionsAsIs:!0})!==r&&(o=i==="groupIndex"?"grouping":i==="sortIndex"||i==="sortOrder"?"sorting":"columns",f.compileSetter(i)(t,r,{functionsAsIs:!0}),u||e(n,o,i,t.index))},d=function(n){return n==="asc"||n==="desc"},ni=function(n){n.addCommandColumn({command:"expand",width:"auto",cssClass:v,allowEditing:!1,allowGrouping:!1,allowSorting:!1,allowResizing:!1,allowReordering:!1,allowHiding:!1})};return{init:function(){var n=this,t=n.option("columns");n._updateLockCount=n._updateLockCount||0,n._commandColumns=n._commandColumns||[],n._columns=n._columns||[],ni(n),n._isColumnsFromOptions=!!t,n._isColumnsFromOptions?(y(n,t?w(n,t):[]),ct(n)):y(n,n._columnsUserState?w(n,n._columnsUserState):n._columns),n._dataSourceApplied?n.applyDataSource(n._dataSource,!0):k(n)},callbackNames:function(){return["columnsChanged"]},optionChanged:function(n){switch(n.name){case"columns":n.handled=!0,this._columnsUserState=null,this.init();break;case"commonColumnSettings":case"columnAutoWidth":case"allowColumnResizing":case"allowColumnReordering":case"columnFixing":case"grouping":case"groupPanel":case"regenerateColumnsByVisibleItems":case"customizeColumns":case"editing":n.handled=!0,this.reinit();break;case"rtlEnabled":this.reinit();break;default:this.callBase(n)}},publicMethods:function(){return["addColumn","columnOption","columnCount","clearSorting","clearGrouping"]},applyDataSource:function(n,t){var i=this,r=n&&n.isLoaded();return i._dataSource=n,(!i._dataSourceApplied||i._dataSourceColumnsCount===0||t||i.option("regenerateColumnsByVisibleItems"))&&r?(i._isColumnsFromOptions||(y(i,kt(i,n)),i._dataSourceColumnsCount=i._columns.length,ct(i)),i.updateColumns(n,t)):void 0},reset:function(){this._dataSourceApplied=!1,this._dataSourceColumnsCount=i,this.reinit()},reinit:function(){this._columnsUserState=this.getUserState(),this.init()},isInitialized:function(){return!!this._columns.length},isDataSourceApplied:function(){return this._dataSourceApplied},beginUpdate:function(){this._updateLockCount++},endUpdate:function(){var n=this;n._updateLockCount--,n._updateLockCount||p(n)},getCommonSettings:function(){var r=this.option("commonColumnSettings")||{},t=this.option("grouping")||{},i=this.option("groupPanel")||{};return n.extend({allowFixing:this.option("columnFixing.enabled"),allowResizing:this.option("allowColumnResizing"),allowReordering:this.option("allowColumnReordering"),autoExpandGroup:t.autoExpandAll,allowCollapsing:t.allowCollapsing,allowGrouping:i.allowColumnDragging&&i.visible},r)},isColumnOptionUsed:function(n){for(var t=0;t<this._columns.length;t++)if(this._columns[t][n])return!0},isAllDataTypesDefined:function(){var t=this._columns,n;if(!t.length)return!1;for(n=0;n<t.length;n++)if(!t[n].dataType)return!1;return!0},getColumns:function(){return n.extend(!0,[],this._columns)},getGroupColumns:function(){var t=[];return n.each(this._columns,function(){var n=this;u(n.groupIndex)&&(t[n.groupIndex]=n)}),t},getVisibleColumns:function(){return this._visibleColumns=this._visibleColumns||this._getVisibleColumnsCore()},getFixedColumns:function(){var e=this,r=[],o=e._isColumnFixing(),t=0,f,i;return o&&(i=e.getVisibleColumns(),n.each(i,function(n,i){i.command||i.fixed||(t++,u(f)||(f=n))}),t<i.length&&(r=i.slice(0),r.splice(f,t,{command:"transparent",colspan:t}))),r},_isColumnFixing:function(){var t=this.option("columnFixing.enabled");return t||n.each(this._columns,function(n,i){if(i.fixed)return t=!0,!1}),t},_getExpandColumnsCore:function(){return this.getGroupColumns()},getExpandColumns:function(){var t=this._getExpandColumnsCore(),i;return t.length&&(i=this.columnOption("command:expand")),t=n.map(t,function(t){return n.extend({},t,{visibleWidth:"auto"},i,{index:t.index})})},_getVisibleColumnsCore:function(){var t=this.getExpandColumns(),i=[{},{},{}],e={},o=0,f,s=this.option("rtlEnabled"),h=this._columns.length?this._commandColumns.concat(this._columns):[];return n.each(h,function(){var t=this,h=t.visibleIndex,r;t.visible&&(!u(t.groupIndex)||t.showWhenGrouped)&&(t=n.extend(!0,{},t),h<0?(h=-h,r=e):t.fixed||t.command?(f=t.fixedPosition==="right",s&&(f=!f),r=f||t.command?i[2]:i[0]):r=i[1],r[h]=r[h]||[],r[h].push(t),o++)}),r.orderEach(e,function(n,i){t.unshift.apply(t,i)}),n.each(i,function(n,i){r.orderEach(i,function(n,i){t.push.apply(t,i)})}),!o&&this._columns.length&&t.push({command:"empty"}),t},getHiddenColumns:function(){var t=[];return n.each(this._columns,function(n,i){i.visible||t.push(i)}),t},getChooserColumns:function(){return n.grep(this.getHiddenColumns(),function(n){return n.showInColumnChooser})},allowMoveColumn:function(n,t,i,r){var f=this,e=it(f,n,i),u=f._columns[e];return u&&(u.allowReordering||u.allowGrouping||u.allowHiding)?i===r?i===c?!1:n!==t&&n+1!==t:i===h&&r!==c||r===h?u&&u.allowGrouping:i===c||r===c?u&&u.allowHiding:!0:!1},moveColumn:function(n,t,r,f){var s=this,v,l,a,w=r===h||f===h,o,y;v=it(s,n,r),l=it(s,t,f),v>=0&&(o=s._columns[v],a=l>=0?s._columns[l].groupIndex:-1,u(o.groupIndex)&&r===h&&(a>o.groupIndex&&a--,delete o.groupIndex,delete o.sortOrder,tt(s)),f===h?(gt(s,o,a),tt(s)):t>=0&&(l<0?o.visibleIndex=i:(y=s._columns[l],o.visibleIndex=o.fixed^y.fixed?i:y.visibleIndex),st(s,o)),o.visible=f!==c,e(s,w?"grouping":"columns"),p(s))},changeSortOrder:function(t,i){var f=this,h=f.option("sorting"),s=h&&h.mode,c=s==="single"||!i,l=s==="single"||s==="multiple",r=f._columns[t],a=function(n){if(i==="ctrl"){if(!("sortOrder"in n&&"sortIndex"in n))return!1;delete n.sortOrder,delete n.sortIndex}else n.sortOrder=u(n.groupIndex)||u(n.sortIndex)?n.sortOrder==="desc"?"asc":"desc":"asc";return!0},o=!1;l&&r&&r.allowSorting&&(c&&!u(r.groupIndex)&&n.each(f._columns,function(n){n!==t&&this.sortOrder&&!u(this.groupIndex)&&(delete this.sortOrder,delete this.sortIndex,o=!0)}),d(i)?r.sortOrder!==i&&(r.sortOrder=i,o=!0):i==="none"?r.sortOrder&&(delete r.sortIndex,delete r.sortOrder,o=!0):o=a(r)),o&&(ot(f),e(f,"sorting"),p(f))},getSortDataSourceParameters:function(){var r=this,i=[],t=[];return n.each(r._columns,function(){(this.dataField||this.selector||this.calculateCellValue)&&u(this.sortIndex)&&!u(this.groupIndex)&&(i[this.sortIndex]=this)}),n.each(i,function(){var n=this&&this.sortOrder;d(n)&&t.push({selector:this.calculateSortValue||this.selector||this.dataField||this.calculateCellValue,desc:this.sortOrder==="desc"})}),t.length>0?t:null},getGroupDataSourceParameters:function(t){var i=[];return n.each(this.getGroupColumns(),function(){var n=this.calculateGroupValue||this.selector||t&&this.groupSelector||this.dataField||this.calculateCellValue;n&&i.push({selector:n,desc:this.sortOrder==="desc",isExpanded:!!this.autoExpandGroup})}),i.length>0?i:null},refresh:function(t){var i=[];return n.each(this._columns,function(){var n=this.lookup;if(n){if(t&&n.valueMap)return;n.update&&i.push(n.update())}}),n.when.apply(n,i)},updateColumnDataTypes:function(t){var i=et(t),r=lt(t),f=this.option("rtlEnabled");n.each(this._columns,function(t,e){var h,l,s,a,c,o=e.lookup;if(e.calculateCellValue&&i.length){if(!e.dataType||o&&!o.dataType){for(h=0;h<i.length;h++)l=e.calculateCellValue(i[h]),c=e.dataType||ut(l),s=s||c,s&&c&&s!==c&&(s="string"),o&&(c=o.dataType||ut(o.calculateCellValue(l)),a=a||c,a&&c&&a!==c&&(a="string"));e.dataType=s,o&&(o.dataType=a)}if(!e.serializationFormat||o&&!o.serializationFormat)for(h=0;h<i.length;h++)l=e.calculateCellValue(i[h],!0),e.serializationFormat=e.serializationFormat||ft(e.dataType,l),o&&(o.serializationFormat=o.serializationFormat||ft(o.dataType,o.calculateCellValue(l,!0)))}r&&e.userDataType||!e.dataField?e.selector=e.selector||n.proxy(e,"calculateCellValue"):e.userDataType&&(e.groupSelector=e.groupSelector||n.proxy(e,"calculateCellValue")),nt(e,e.dataType),o&&nt(o,o.dataType),s=o?o.dataType:e.dataType,s&&(e.alignment=e.alignment||pt(s,f),e.format=e.format||wt(s),e.customizeText=e.customizeText||bt(s),u(e.filterOperations)||(e.filterOperations=!o&&vt[s]||[]),e.defaultFilterOperation=e.filterOperations&&e.filterOperations[0]||"=",e.defaultSelectedFilterOperation=e.selectedFilterOperation,e.showEditorAlways=u(e.showEditorAlways)?e.showEditorAlways:s==="boolean"&&!e.cellTemplate)})},_customizeColumns:function(n){var t=this,i=t.option("customizeColumns");i&&(i(n),y(t,w(t,n)))},updateColumns:function(t,i){var r=this,u,f;return i||r.updateSortingGrouping(t),!t||t.isLoaded()?(u=t?t.sort()||[]:r.getSortDataSourceParameters(),f=t?t.group()||[]:r.getGroupDataSourceParameters(),r._customizeColumns(r._columns),k(r),n.when(r.refresh(!0)).always(function(){t&&(r.updateColumnDataTypes(t),r._dataSourceApplied=!0),b(u,r.getSortDataSourceParameters())||e(r,"sorting"),b(f,r.getGroupDataSourceParameters())||e(r,"grouping"),e(r,"columns"),p(r)})):void 0},updateSortingGrouping:function(t,r){var u=this,f,s,h,c,l,a=function(t,r,u){var f,e,o;n.each(t,function(n,t){if(delete t[u],r)for(f=0;f<r.length;f++)if(e=r[f].selector,o=r[f].isExpanded,e===t.dataField||e===t.name||e===t.selector||e===t.calculateCellValue||e===t.calculateGroupValue){t.sortOrder=t.sortOrder||(r[f].desc?"desc":"asc"),o!==i&&(t.autoExpandGroup=o),t[u]=f;break}})};t&&(f=o(t.sort()),s=o(t.group()),h=u.getGroupDataSourceParameters(),c=u.getSortDataSourceParameters(),u._columns.length||(n.each(s,function(n,t){u._columns.push(t.selector)}),n.each(f,function(n,t){u._columns.push(t.selector)}),y(u,w(u,u._columns))),!r&&(h||u._hasUserState)||b(s,h)||(a(u._columns,s,"groupIndex"),r&&(e(u,"grouping"),l=!0)),!r&&(c||u._hasUserState)||b(f,c)||(a(u._columns,f,"sortIndex"),r&&(e(u,"sorting"),l=!0)),l&&p(u))},updateFilter:function(t,i){var f=this,e=lt(t),u=function(t){if(r.isArray(t)){var i,e;for(r.isString(t[0])&&(i=f.columnOption(t[0]),i&&i.calculateCellValue&&(t[0]=n.proxy(i,"calculateCellValue"))),e=0;e<t.length;e++)u(t[e])}};e&&u(i)},columnCount:function(){return this._columns.length},columnOption:function(t,u,f,e){var c=this,o,l=r.isString(t)&&t.substr(0,t.indexOf(":")),s=t<0||l==="command"?c._commandColumns:c._columns,h;if(t!==i){for(l&&(t=t.substr(l.length+1)),o=0;o<s.length;o++)if(l){if(""+s[o][l]===t){h=s[o];break}}else if(s[o].index===t||s[o].name===t||s[o].dataField===t||s[o].caption===t){h=s[o];break}if(h){if(arguments.length===1)return n.extend({},h);if(r.isString(u)){if(arguments.length===2)return rt(c,h,u);rt(c,h,u,f,e)}else r.isObject(u)&&n.each(u,function(n,t){rt(c,h,n,t,e)});k(c,h),p(c)}}},clearSorting:function(){var t=this,r=this.columnCount(),n;for(t.beginUpdate(),n=0;n<r;n++)t.columnOption(n,"sortOrder",i);t.endUpdate()},clearGrouping:function(){var t=this,r=this.columnCount(),n;for(t.beginUpdate(),n=0;n<r;n++)t.columnOption(n,"groupIndex",i);t.endUpdate()},getVisibleIndex:function(n){for(var i=this.getVisibleColumns(),t=0;t<i.length;t++)if(i[t].index===n)return t;return-1},addColumn:function(n){var t=this,i=g(t,n);t._columns.push(i),k(t,i),t.updateColumns(t._dataSource)},addCommandColumn:function(n){for(var i=this._commandColumns,t=0;t<i.length;t++)if(i[t].command===n.command)return;i.push(n)},getUserState:function(){function f(n,f){r[t][f]!==i&&(u[t][f]=r[t][f])}for(var r=this._columns,u=[],t=0;t<r.length;t++)u[t]={},n.each(a,f);return u},setUserState:function(n){this._columnsUserState=n,this._hasUserState=!!n,this.init()},_createCalculatedColumnOptions:function(i){var u={},e=i.dataField,o;return e&&r.isString(e)?(o=f.compileGetter(e),u={caption:yt(e),calculateCellValue:function(n,t){var i=o(n);return this.deserializeValue&&!t?this.deserializeValue(i):i},setCellValue:function(n,t){var r=this.dataField.split("."),f=r.length-1,u,i;for(this.serializeValue&&(t=this.serializeValue(t)),i=0;i<f;i++)u=r[i],n=n[u]=n[u]||{};n[r[f]]=t},parseValue:function(n){var u=this,t,i;return u.dataType==="number"?r.isString(n)?(i=Globalize.parseFloat(n),r.isNumber(i)&&(t=i)):r.isDefined(n)&&(t=Number(n)):u.dataType==="boolean"?n===u.trueText?t=!0:n===u.falseText&&(t=!1):u.dataType==="date"?(i=Globalize.parseDate(n),i&&(t=i)):t=n,t}}):n.extend(!0,u,{allowSorting:!1,allowGrouping:!1,calculateCellValue:function(){return null}}),i.dataType&&(u.userDataType=i.dataType),i.lookup&&(u.lookup={calculateCellValue:function(n,t){return n=this.valueMap&&this.valueMap[n],this.deserializeValue&&!t?this.deserializeValue(n):n},updateValueMap:function(){var i,r,t,n;if(this.valueMap={},this.items)for(i=f.compileGetter(this.valueExpr),r=f.compileGetter(this.displayExpr),n=0;n<this.items.length;n++)t=this.items[n],this.valueMap[i(t)]=r(t)},update:function(){var n=this,i=n.dataSource,u;if(i){if(r.isObject(i)||r.isArray(i))return u=f.normalizeDataSourceOptions(i),u.paginate=!1,i=new t.data.DataSource(u),i.load().done(function(t){n.items=t,n.updateValueMap&&n.updateValueMap()});t.log("E1016")}else n.updateValueMap&&n.updateValueMap()}}),u.resizedCallbacks=n.Callbacks(),i.resized&&u.resizedCallbacks.add(n.proxy(i.resized,i)),nt(u,i.dataType),u}}}()),c.dxDataGrid.ColumnsController=h,e.registerModule("columns",{defaultOptions:function(){return{commonColumnSettings:{allowFiltering:!0,allowHiding:!0,allowSorting:!0,allowEditing:!0,encodeHtml:!0,trueText:Globalize.localize("dxDataGrid-trueText"),falseText:Globalize.localize("dxDataGrid-falseText")},allowColumnReordering:!1,allowColumnResizing:!1,columns:i,regenerateColumnsByVisibleItems:!1,customizeColumns:null}},controllers:{columns:h}})}(jQuery,DevExpress),function(n,t){var u=t.ui.dxDataGrid,l=t.ui.events,r=t.utils,o="dx-editor-cell",a="dx-row",s="dx-selection",f="dx-select-checkbox",v="dx-select-checkboxes-hidden",h="dx-command-select",y="dx-selection-disabled",c="dx-data-row",i="selection.showCheckBoxesInMultipleMode",e="selection.mode",p=function(n){return n==="single"||n==="multiple"};u.SelectionController=u.Controller.inherit(function(){var o=function(t,i,u){var f,e=u?t._unselectedItemKeys:t._selectedItemKeys;if(r.isObject(i)){for(f=0;f<e.length;f++)if(a(e[f],i))return f;return-1}return n.inArray(i,e)},s=function(n,t){var i=n.getController("data").keyOf(t);o(n,i)===-1&&(n._selectedItemKeys.push(i),n._addedItemKeys.push(i),n._selectedItems.push(t))},c=function(n,t){var i=o(n,t);i>=0&&(n._selectedItemKeys.splice(i,1),n._removedItemKeys.push(t),n._selectedItems.splice(i,1))},b=function(n){l(n,[],[])},l=function(t,i,r){var u,f=t._selectedItemKeys;for(t._selectedItemKeys=i,t._selectedItems=r,t._unselectedItemKeys=[],u=0;u<f.length;u++)n.inArray(f[u],i)===-1&&t._removedItemKeys.push(f[u]);for(u=0;u<i.length;u++)n.inArray(i[u],f)===-1&&t._addedItemKeys.push(i[u])},a=u.equalKeys,w=function(n){delete n._shiftFocusedItemIndex},f=function(n){return n&&n.rowType==="data"&&!n.inserted},k=function(n,t,i){var e=!1,o,u,l=n.getController("data"),a=i[n._focusedItemIndex]&&n.isRowSelected(l.keyOf(i[n._focusedItemIndex].data)),h=function(n,t,i){i?c(n,l.keyOf(t)):s(n,t)};if(r.isDefined(n._shiftFocusedItemIndex)||(n._shiftFocusedItemIndex=n._focusedItemIndex),n._shiftFocusedItemIndex!==n._focusedItemIndex)for(o=n._focusedItemIndex<n._shiftFocusedItemIndex?1:-1,u=n._focusedItemIndex;u!==n._shiftFocusedItemIndex;u+=o)f(i[u])&&(h(n,i[u].data,!0),e=!0);if(t!==n._shiftFocusedItemIndex)for(o=t<n._shiftFocusedItemIndex?1:-1,u=t;u!==n._shiftFocusedItemIndex;u+=o)f(i[u])&&(h(n,i[u].data,!1),e=!0);return f(i[n._focusedItemIndex])&&!a&&(h(n,i[n._focusedItemIndex].data,!1),e=!0),e},d=function(t,i,r){var o,f,e=t&&t.key(),u=[];return t&&(e?n.each(i,function(t,i){if(u.length>0&&u.push(r?"and":"or"),n.isArray(e)){for(o=[],f=0;f<e.length;f++)f>0&&o.push(r?"or":"and"),o.push([e[f],r?"<>":"=",i[e[f]]]);u.push(o)}else u.push([e,r?"<>":"=",i])}):u=function(n){for(var t=0;t<i.length;t++)if(a(i[t],n))return!r;return r}),u.length>0||n.isFunction(u)?u:void 0},v=function(t){var r=[],u=t.getController("data"),e,o;u&&(n.each(u.items(),function(n,i){f(i)&&i.isSelected!==t.isRowSelected(i.key)&&r.push(n)}),t.option(i)==="onClick"&&(t._selectedItemKeys.length>1?t.startSelectionWithCheckboxes():t._selectedItemKeys.length===0&&r.length&&t.stopSelectionWithCheckboxes()),r.length&&u.updateItems({changeType:"updateSelection",itemIndexes:r}),e=t._addedItemKeys,o=t._removedItemKeys,(e.length||o.length)&&(t._selectedItemsInternalChange=!0,t.option("selectedRowKeys",t._selectedItemKeys.slice(0)),t._selectedItemsInternalChange=!1,t.selectionChanged.fire(t._selectedItemKeys),t._addedItemKeys=[],t._removedItemKeys=[],t.executeAction("onSelectionChanged",{selectedRowsData:t._selectedItems,selectedRowKeys:t._selectedItemKeys,currentSelectedRowKeys:e,currentDeselectedRowKeys:o})))},y=function(n){var t=n.getController("columns"),i=n.isSelectColumnVisible();t.addCommandColumn({command:"select",visible:i,visibleIndex:-1,dataType:"boolean",alignment:"center",cssClass:h,width:"auto"}),t.columnOption("command:select","visible",i)};return{init:function(){var n=this;n._isSelectionWithCheckboxes=!1,n._focusedItemIndex=-1,n._selectedItemKeys=[],n._unselectedItemKeys=[],n._selectedItems=[],n._addedItemKeys=[],n._removedItemKeys=[],y(n),n.createAction("onSelectionChanged",{excludeValidators:["disabled","readOnly"]})},callbackNames:function(){return["selectionChanged"]},optionChanged:function(n){var t=this;t.callBase(n);switch(n.name){case"selection":t.init(),t.getController("columns").updateColumns(),n.handled=!0;break;case"selectedRowKeys":r.isArray(n.value)&&!t._selectedItemsInternalChange&&t.selectRows(n.value),n.handled=!0}},publicMethods:function(){return["selectRows","deselectRows","selectRowsByIndexes","getSelectedRowKeys","getSelectedRowsData","clearSelection","selectAll","startSelectionWithCheckboxes","stopSelectionWithCheckboxes","isRowSelected"]},isRowSelected:function(n){var t=o(this,n);return t!==-1},isSelectColumnVisible:function(){var n=this.option(i);return this.option(e)==="multiple"&&(n==="always"||n==="onClick"||this._isSelectionWithCheckboxes)},isSelectAll:function(){var r=this.getController("data"),u=r.items(),f=r.getCombinedFilter(),n=this.getSelectedRowsData(),i;if(f&&t.data.query(n).filter(f).enumerate().done(function(t){n=t}),n.length){if(n.length>=r.totalCount())return!0}else{for(i=0;i<u.length;i++)if(u[i].selected)return;return!1}},selectAll:function(){return this.option(i)==="onClick"&&this.startSelectionWithCheckboxes(),this.selectedItemKeys([],!0,!1,!0)},deselectAll:function(){return this.selectedItemKeys([],!0,!0,!0)},clearSelection:function(){this.selectedItemKeys([])},refresh:function(){return this.selectedItemKeys(this.option("selectedRowKeys")||[])},selectedItemKeys:function(i,u,f,e){var a=this,k,o,g,h,w=a.getController("data"),nt=w.dataSource(),b=nt&&nt.store(),p,y,tt=[];return r.isDefined(i)?(b&&(k=n.isArray(i)?n.extend([],i):[i],(k.length||e)&&(o=d(nt,k,e),g=n.isFunction(o),(o||e)&&(e&&(p=w.getCombinedFilter()),o&&!g&&p?(y=[],y.push(o),y.push(p)):p?y=p:o&&!g&&(y=o),h=n.Deferred(),f&&new t.data.ArrayStore(a._selectedItems).load({filter:y}).done(function(n){tt=n}),w.setSelectionLoading(!0),n.when(tt.length?tt:b.load({filter:y})).done(function(n){new t.data.ArrayStore(n).load({filter:o}).done(h.resolve)}).fail(n.proxy(h.reject,h)).always(function(){w.setSelectionLoading(!1)})))),h=h||n.Deferred().resolve([]),h.done(function(n){var t,i,r,e=[];if(b&&n.length>0)for(t=0;t<n.length;t++)r=n[t],i=b.keyOf(r),u?f?c(a,i):s(a,r):e.push(i);u||l(a,e,n),v(a)}),h):a._selectedItemKeys},getSelectedRowKeys:function(){return this.selectedItemKeys()},selectRows:function(n,t){return this.selectedItemKeys(n,t)},deselectRows:function(n){return this.selectedItemKeys(n,!0,!0)},selectRowsByIndexes:function(t){var u=this.getController("data").items(),i=[];return r.isArray(t)||(t=Array.prototype.slice.call(arguments,0)),n.each(t,function(){var n=u[this];n&&n.rowType==="data"&&i.push(n.key)}),this.selectRows(i)},getSelectedRowsData:function(){return this._selectedItems},changeItemSelection:function(n,t){var i=this,d=i.getController("data"),g=d.items(),o=g[n],h=o&&o.data,y=i.option(e),u,nt,r;return p(y)&&f(o)&&(r=d.keyOf(h),t=t||{},i.isSelectionWithCheckboxes()&&(t.control=!0),t.shift&&y==="multiple"&&i._focusedItemIndex>=0?u=k(i,n,g):t.control?(w(i),nt=i.isRowSelected(r),y==="single"&&b(i),nt?c(i,r):s(i,h),u=!0):(w(i),i._selectedItemKeys.length===1&&a(i._selectedItemKeys[0],r)||(l(i,[r],[h]),u=!0)),u)?(i._focusedItemIndex=n,v(i),!0):!1},focusedItemIndex:function(n){var t=this;if(r.isDefined(n))t._focusedItemIndex=n;else return t._focusedItemIndex},isSelectionWithCheckboxes:function(){var n=this.option(e),t=this.option(i);return n==="multiple"&&(t==="always"||this._isSelectionWithCheckboxes)},startSelectionWithCheckboxes:function(){var n=this,t=n.isSelectColumnVisible();return n.option(e)==="multiple"&&!n.isSelectionWithCheckboxes()?(n._isSelectionWithCheckboxes=!0,y(n),t===n.isSelectColumnVisible()&&n.option(i)==="onClick"&&v(n),!0):!1},stopSelectionWithCheckboxes:function(){var n=this;return n._isSelectionWithCheckboxes?(n._isSelectionWithCheckboxes=!1,y(n),!0):!1}}}()),u.registerModule("selection",{defaultOptions:function(){return{selection:{mode:"none",showCheckBoxesInMultipleMode:"onClick",allowSelectAll:!0},selectedRowKeys:[]}},controllers:{selection:u.SelectionController},extenders:{controllers:{data:{setDataSource:function(n){this.callBase(n),n&&this.getController("selection").refresh()},setSelectionLoading:function(n){this._isSelectionLoading=n,this._fireLoadingChanged()},isLoading:function(){var n=this.callBase();return n||!!this._isSelectionLoading},pageIndex:function(n){var t=this,i=t._dataSource;return i&&n&&i.pageIndex()!==n&&t.getController("selection").focusedItemIndex(-1),t.callBase(n)},_processDataItem:function(){var i=this,t=i.getController("selection"),r=t.isSelectColumnVisible(),n=this.callBase.apply(this,arguments);return n.isSelected=t.isRowSelected(n.key),r&&n.values&&(n.values[0]=n.isSelected),n},refresh:function(){return n.when(this.getController("selection").refresh(),this.callBase.apply(this,arguments))}}},views:{columnHeadersView:{_renderCore:function(n){var t=this;t.getController("selection").selectionChanged.remove(t._selectionChangedHandler),t.callBase(n)},_getDefaultTemplate:function(t){var i=this,u,r=i.getController("selection"),e=i.getController("data");return t.command==="select"?function(t,s){var h=s.column;if(h.command==="select"){t.addClass(o),u=n("<div />").appendTo(t).addClass(f),i.setAria("label",Globalize.localize("dxDataGrid-ariaSelectAll"),t),i.getController("editorFactory").createEditor(u,n.extend({},h,{parentType:"headerRow",value:r.isSelectAll(),setValue:function(n,t){t.jQueryEvent&&r.isSelectAll()!==n&&((t.previousValue===undefined||t.previousValue)&&(r.deselectAll(),t.component.option("value",!1)),t.previousValue===!1&&(i.option("selection.allowSelectAll")?r.selectAll():t.component.option("value",!1)),t.jQueryEvent.preventDefault())}}));t.on("dxclick",i.createAction(function(t){var i=t.jQueryEvent;n(i.target).closest("."+f).length||n(i.currentTarget).children().trigger("dxclick"),i.preventDefault()}));i._selectionChangedHandler=function(){i.option("selection.mode")==="multiple"&&u.dxCheckBox("instance").option("value",r.isSelectAll())},i._dataChangedHandler=function(n){n&&n.changeType!=="refresh"||i._selectionChangedHandler()},e.changed.add(i._dataChangedHandler),r.selectionChanged.add(i._selectionChangedHandler)}}:i.callBase(t)}},rowsView:{_getDefaultTemplate:function(t){var i=this,r;return t.command==="select"?function(u,e){if(e.rowType==="data"&&!e.row.inserted){u.addClass(o);u.on("dxclick",i.createAction(function(t){var r=i.getController("selection"),u=t.jQueryEvent,f=i.getRowIndex(n(u.currentTarget).closest("."+a));f>=0&&(r.startSelectionWithCheckboxes(),r.changeItemSelection(f,{shift:u.shiftKey}))}));i.setAria("label",Globalize.localize("dxDataGrid-ariaSelectRow"),u),r=n("<div />").addClass(f).appendTo(u),i.getController("editorFactory").createEditor(r,n.extend({},t,{parentType:"dataRow",value:e.value,setValue:function(n,t){t&&t.jQueryEvent&&t.jQueryEvent.type==="keydown"&&u.trigger("dxclick",t)}}))}}:i.callBase(t)},_update:function(t){var i=this,r=i._getTableElements();t.changeType==="updateSelection"?r.length>0&&(n.each(r,function(r,u){n.each(t.itemIndexes||[],function(r,e){var h,o;t.items[e]&&(h=i._getRowElements(n(u)).eq(e),o=!!t.items[e].isSelected,h.toggleClass(s,o).find("."+f).dxCheckBox("option","value",o),i.setAria("selected",o,h))})}),i._updateCheckboxesClass()):i.callBase(t)},_createTable:function(){var t=this,u=t.option("selection.mode"),r=t.callBase.apply(t,arguments);if(u!=="none")r.on(l.addNamespace("dxhold","dxDataGridRowsView"),"."+c,t.createAction(function(r){var u=t.getController("selection"),f=r.jQueryEvent,e=n(f.target).closest("."+c).index();t.option(i)==="onLongTap"?u.isSelectionWithCheckboxes()?u.stopSelectionWithCheckboxes():u.startSelectionWithCheckboxes():(t.option(i)==="onClick"&&u.startSelectionWithCheckboxes(),u.changeItemSelection(e,{control:!0}))})).on("mousedown selectstart",t.createAction(function(n){var t=n.jQueryEvent;t.shiftKey&&t.preventDefault()}));return r},_createRow:function(n){var t=this.callBase(n),i;return n&&(i=!!n.isSelected,t.toggleClass(s,i),this.setAria("selected",i,t)),t},_rowClick:function(t){var r=this,i=t.jQueryEvent,u=n(i.target).closest("."+h).length,f=n(i.target).closest("."+y).length;u||(f||r.getController("selection").changeItemSelection(t.rowIndex,{control:i.ctrlKey,shift:i.shiftKey})&&(i.preventDefault(),t.handled=!0),r.callBase(t))},_renderCore:function(n){this.callBase(n),this._updateCheckboxesClass()},_updateCheckboxesClass:function(){var i=this._getTableElements(),t=this.getController("selection"),r=t.isSelectColumnVisible()&&!t.isSelectionWithCheckboxes();n.each(i,function(t,i){n(i).toggleClass(v,r)})}}}}})}(jQuery,DevExpress),function(n,t){var r=t.ui.dxDataGrid,u=t.utils,s=t.ui.events.addNamespace,a="dx-datagrid-checkbox-size",f="dx-cell-focus-disabled",h="dxDataGridEditorFactory",c=s("focusin dxpointerdown dxclick",h),l="dx-datagrid-focus-overlay",e="dx-focused",v="dx-datagrid-content",o="dx-pointer-events-target",y="dx-pointer-events-none",i="dx-hidden",p=9;r.EditorFactoryController=r.ViewController.inherit(function(){var r=function(t,i){return n.extend(t,{readOnly:i.readOnly,rtlEnabled:i.rtlEnabled,disabled:i.disabled})},w=function(n){return r({placeholder:n.placeholder,width:n.width,value:n.value,onValueChanged:function(t){var i=function(t){n&&n.setValue(t.value)};window.clearTimeout(t.component._valueChangeTimeoutID),t.jQueryEvent&&t.jQueryEvent.type==="keyup"?t.component._valueChangeTimeoutID=window.setTimeout(function(){i(t)},u.isDefined(n.updateValueTimeout)?n.updateValueTimeout:0):i(t)},valueChangeEvent:"change"+(n.parentType==="filterRow"?" keyup":"")},n)},k=function(n){n.editorName="dxDateBox",n.editorOptions=r({value:n.value,pickerType:"calendar",customOverlayCssClass:"dx-datagrid",onValueChanged:function(t){n.setValue(t.value)},formatString:t.utils.isString(n.format)&&t.DateTimeFormat[n.format.toLowerCase()]||n.format,formatWidthCalculator:null,width:"auto"},n)},d=function(n){var i=w(n),r=n.parentType==="searchPanel",u=function(n){return t.utils.isDefined(n)?n.toString():""};i.value=u(n.value),i.valueChangeEvent+=r?" keyup search":"",i.mode=r?"search":"text",n.editorName="dxTextBox",n.editorOptions=i},g=function(n){var t=w(n);t.value=u.isDefined(n.value)?n.value:null,n.editorName="dxNumberBox",n.editorOptions=t},nt=function(t){t.parentType==="filterRow"?b(n.extend(t,{lookup:{displayExpr:function(n){return n===!0?t.trueText||"true":n===!1?t.falseText||"false":void 0},dataSource:[!0,!1],rtlEnabled:t.rtlEnabled,disabled:t.disabled}})):tt(t)},b=function(n){var i=n.lookup,o,f,e,s=n.parentType==="filterRow";i&&(o=t.data.utils.compileGetter(i.displayExpr),(u.isObject(i.dataSource)||u.isArray(i.dataSource))&&(f=t.data.utils.normalizeDataSourceOptions(i.dataSource),s&&(e=f.postProcess,f.postProcess=function(n){return(this.pageIndex()===0&&(n=n.slice(0),n.unshift(null)),e)?e.call(this,n):n})),n.editorName="dxSelectBox",n.editorOptions=r({searchEnabled:!0,value:n.value,valueExpr:n.lookup.valueExpr,showClearButton:i.allowClearing&&!s,displayExpr:function(t){return t===null?n.showAllText:o(t)},dataSource:f,onValueChanged:function(t){n.setValue(t.value,t)}},n))},tt=function(n){n.editorName="dxCheckBox",n.editorOptions=r({value:n.value,onValueChanged:function(t){n.setValue&&n.setValue(t.value,t)}},n)},it=function(t){t.editorName&&t.editorOptions&&t.editorElement[t.editorName]&&(t.editorName==="dxCheckBox"&&t.editorElement.addClass(a),t.editorElement[t.editorName](t.editorOptions),t.editorName==="dxTextBox"&&t.editorElement.dxTextBox("instance").registerKeyHandler("enter",n.noop))};return{_getFocusedElement:function(n){return n.find("[tabindex]:focus, input:focus")},_updateFocusCore:function(){var n=this._$focusedElement,t=this.component&&this.component.element();if(t&&(n=this._getFocusedElement(t),n.length&&(n.hasClass(f)||(n=n.closest(".dx-row > td, ."+f)),n.length&&!n.hasClass(f)))){this.focus(n);return}this.loseFocus()},_updateFocus:function(t){var i=this,r=t&&t.jQueryEvent&&n(t.jQueryEvent.target).hasClass(l);i._isFocusOverlay=i._isFocusOverlay||r,clearTimeout(i._updateFocusTimeoutID),i._updateFocusTimeoutID=setTimeout(function(){delete i._updateFocusTimeoutID,i._isFocusOverlay||i._updateFocusCore(),i._isFocusOverlay=!1})},_updateFocusOverlaySize:function(n,i){var r=t.calculatePosition(n,i);r.h.oversize>0&&n.outerWidth(n.outerWidth()-r.h.oversize),r.v.oversize>0&&n.outerHeight(n.outerHeight()-r.v.oversize)},callbackNames:function(){return["focused"]},focus:function(r,u){var f=this;if(r===undefined)return f._$focusedElement;r&&setTimeout(function(){var s=f._$focusOverlay=f._$focusOverlay||n("<div>").addClass(l+" "+o),c,a,h;u?f._$focusOverlay&&f._$focusOverlay.addClass(i):(a=DevExpress.browser.mozilla?"right bottom":"left top",h=r.closest("."+v),s.removeClass(i).appendTo(h).outerWidth(r.outerWidth()+1).outerHeight(r.outerHeight()+1),c={my:a,at:a,of:r,boundary:h.length&&h},f._updateFocusOverlaySize(s,c),t.position(s,c),s.css("visibility","visible")),f._$focusedElement&&f._$focusedElement.removeClass(e),r.addClass(e),f._$focusedElement=r,f.focused.fire(r)})},resize:function(){var n=this._$focusedElement;n&&this.focus(n)},loseFocus:function(){this._$focusedElement&&this._$focusedElement.removeClass(e),this._$focusedElement=null,this._$focusOverlay&&this._$focusOverlay.addClass(i)},init:function(){this.createAction("onEditorPreparing",{excludeValidators:["designMode","disabled","readOnly"],category:"rendering"}),this.createAction("onEditorPrepared",{excludeValidators:["designMode","disabled","readOnly"],category:"rendering"}),this._updateFocusHandler=this._updateFocusHandler||this.createAction(n.proxy(this._updateFocus,this));n(document).on(c,this._updateFocusHandler);this._attachContainerEventHandlers()},_attachContainerEventHandlers:function(){var i=this,r=i.component&&i.component.element(),u=t.browser.msie&&parseInt(t.browser.version)<11;if(r){r.on(s("keydown",h),function(n){n.which===p&&i._updateFocusHandler(n)});u&&r.on("dxclick dxpointerup dxpointerdown","."+o,n.proxy(i._focusOverlayEventProxy,i))}},_focusOverlayEventProxy:function(t){var r=n(t.target),u=n(t.currentTarget),f,s=r.hasClass(o)||r.hasClass(y),e=this._$focusedElement;s&&!u.hasClass(i)&&(u.addClass(i),f=r.get(0).ownerDocument.elementFromPoint(t.clientX,t.clientY),n(f).trigger(jQuery.Event(t.type,{clientX:t.clientX,clientY:t.clientY})),u.removeClass(i),e&&e.find("input").focus())},dispose:function(){clearTimeout(this._updateFocusTimeoutID),n(document).off(c,this._updateFocusHandler)},createEditor:function(n,t){this.component._suppressDeprecatedWarnings();var i=this.option("editorPreparing"),r=this.option("editorPrepared");if(this.component._resumeDeprecatedWarnings(),t.rtlEnabled=this.option("rtlEnabled"),t.disabled=t.disabled||this.option("disabled"),t.cancel=!1,t.editorElement=n,t.lookup)b(t);else switch(t.dataType){case"date":k(t);break;case"boolean":nt(t);break;case"number":g(t);break;default:d(t)}(i&&i(n,t),this.executeAction("onEditorPreparing",t),t.cancel)||(it(t),r&&r(n,t),this.executeAction("onEditorPrepared",t))}}}()),r.registerModule("editorFactory",{defaultOptions:function(){return{}},controllers:{editorFactory:r.EditorFactoryController}})}(jQuery,DevExpress),function(n,t,i){var c=t.ui,u=t.utils,r=c.dxDataGrid,e="dx-datagrid-scroll-container",o="dx-row",l="dx-datagrid-group-space",a="dx-group-row",v="dx-datagrid-content",y="dx-datagrid-table",p="dx-datagrid-text-content",s="dx-column-indicators",w="dx-datagrid-table-fixed",b="dx-indicator-alignment-",d="dx-header-row",f="dxCellHintVisible",h={sort:"dx-sort",headerFilter:"dx-header-filter"},k={render:function(n,t){t.append(n)}};r.getWidths=function(t){var u,f=[],i,r;return t&&(u=t.children("tbody").children("tr").filter(":not(."+a+")").first().find("td"),n.each(u,function(t,u){i=n(u).outerWidth(!0),u.getBoundingClientRect&&(r=u.getBoundingClientRect(),r.width>i&&(i=Math.ceil(r.width))),f.push(i)})),f},r.ColumnsView=r.View.inherit({_getColumnAlignment:function(n){var t=this.option("rtlEnabled");return n!=="center"?n:t?"right":"left"},_applyColumnState:function(t){var c=this,u,r,e,o=t.column,f=t.rootElement,i=f.find("."+s),l=h[t.name],a=function(n){return n==="right"?"left":"right"};return r=c._getColumnAlignment(o.alignment),e=a(r),u=n("<span />").addClass(l),i.length||(i=n("<div/>").addClass(s)),i.append(u).css("float",t.showColumnLines?e:o.alignment!=="center"?r:null),t.showColumnLines?i.prependTo(f):i.addClass(b+r).appendTo(f),u},_updateIndicatorHeights:function(n){var r=this,i=r.getColumnElements(),u,t;if(i)for(t=0;t<i.length;t++)u=i.eq(t),r._updateIndicatorHeight(u,n)},_updateIndicatorHeight:function(n,t){var r=n.find("."+p),i=n.find("."+h[t]);i.length&&(i.height("auto"),i.height(r.height()||n.height()))},_updateIndicators:function(n){for(var i=this,r=i.getColumns(),u=i.getColumnElements(),t=0;t<r.length;t++)i._updateIndicator(u.eq(t),r[t],n);i._updateIndicatorHeights(n)},_updateIndicator:function(n,t,i){if(!t.command)return this._applyColumnState({name:i,rootElement:n,column:t,showColumnLines:this.option("showColumnLines")})},_updateCell:function(n,t){t.rowType&&this._cellPrepared(n,t)},_createCell:function(t){return n("<td/>").css("text-align",t.alignment||"left").toggleClass(t.cssClass,!u.isDefined(t.groupIndex)).attr("role","gridcell").toggleClass(l,t.command==="expand")},_createRow:function(){return n("<tr />").addClass(o).attr("role","row")},_createTable:function(i){var u=this,r=n("<table />").addClass(y).addClass(w).attr("role","grid");if(i&&(r.append(u._createColGroup(i)),t.devices.real().ios&&r.append("<thead><tr><\/tr><\/thead>")),u.option("cellHintEnabled"))r.on("mousemove",".dx-row > td",this.createAction(function(t){var r=t.jQueryEvent,i=n(r.target),e=n(r.currentTarget),o=e.parent(),s=o.hasClass("dx-data-row"),c=o.children(),l=u._columnsController.getVisibleColumns(),a=c.index(e),h=l[a];(!s||s&&h&&!h.cellTemplate)&&(i.data(f)&&(i.removeAttr("title"),i.data(f,!1)),i[0].scrollWidth>i[0].clientWidth&&!i.attr("title")&&(i.attr("title",i.text()),i.data(f,!0)))}));return r},_createColGroup:function(t){for(var r,u=n("<colgroup />"),f,e=t.length,i=0;i<e;i++)for(f=t[i].colspan||1,r=0;r<f;r++)u.append(this._createCol(t[i]));return u},_createCol:function(t){return n("<col />").width(t.visibleWidth||t.width)},renderDelayedTemplates:function(){for(var n,t=this._delayedTemplates;t.length;)n=t.shift(),n.template.render(n.options,n.container),n.options.column&&this._updateCell(n.container,n.options)},_processTemplate:function(t){var r=this,u;return n.isFunction(t)?u={render:function(n,i){t(i,n)}}:(r._templatesCache[t]||(r._templatesCache[t]=r.getTemplate(t)),u=r._templatesCache[t]),u},_renderTemplate:function(n,t,i){var u=this,r=u._processTemplate(t,i);if(r)if(i.denyRenderToDetachedContainer||r.denyRenderToDetachedContainer)u._delayedTemplates.push({template:r,container:n,options:i});else return r.render(i,n),!0;return!1},_appendRow:function(n,t){var i=this;i.option("rowTemplate")&&i._delayedTemplates.length&&t?i._delayedTemplates.push({container:n,template:k,options:t}):n.append(t)},_renderCore:function(){var t=this.element().parent();(!t||t.parent().length)&&this.renderDelayedTemplates()},_renderTable:function(n){n=n||{};var t=this,i;return n.columns=t._columnsController.getVisibleColumns(),i=t._createTable(n.columns),t._renderRows(i,n),i},_renderRows:function(t,i){for(var u=this,f=u._getRows(i.change),r=0;r<f.length;r++)u._renderRow(t,n.extend({row:f[r]},i))},_renderRow:function(t,i){var r=this,u;u=r._createRow(i.row),r._renderCells(u,i),r._appendRow(t,u),r._rowPrepared(u,n.extend({columns:i.columns},i.row))},_renderCells:function(t,i){for(var s=this,f=0,o=i.row,e=i.columns,r=0;r<e.length;r++)s._renderCell(t,n.extend({column:e[r],columnIndex:f,value:o.values&&o.values[f]},i)),u.isDefined(e[r].colspan)?f+=e[r].colspan:f++},_renderCell:function(n,t){var r=this,e=r._getCellOptions(t),f=t.column,i;return i=r._createCell(f),u.isDefined(f.command)||r.setAria("label",Globalize.localize("dxDataGrid-ariaColumn")+" "+f.caption+", "+Globalize.localize("dxDataGrid-ariaValue")+" "+e.text,i),r._renderCellContent(i,e),n.append(i),i},_renderCellContent:function(n,t){var i=this._getCellTemplate(t);(!i||this._renderTemplate(n,i,t))&&this._updateCell(n,t)},_getCellTemplate:function(){},_getRows:function(){return[]},_getCellOptions:function(n){return{column:n.column,columnIndex:n.columnIndex,rowType:n.row.rowType}},_cellPrepared:function(t,i){var r=this,u,f=function(t){return{cellElement:n(t.target).closest("td"),jQueryEvent:t,eventType:t.type}};if(r.option("onCellClick"))t.on("dxclick",function(t){r.executeAction("onCellClick",n.extend({},i,f(t)))});if(r.option("onCellHoverChanged")){t.on("mouseover",function(t){r.executeAction("onCellHoverChanged",n.extend({},i,f(t)))});t.on("mouseout",function(t){r.executeAction("onCellHoverChanged",n.extend({},i,f(t)))})}this.component._suppressDeprecatedWarnings(),u=r.option("cellPrepared"),this.component._resumeDeprecatedWarnings(),u&&u(t,i),i.cellElement=t,r.executeAction("onCellPrepared",i)},_rowPrepared:function(n,t){var r=this,i;this.component._suppressDeprecatedWarnings(),i=r.option("rowPrepared"),this.component._resumeDeprecatedWarnings(),i&&i(n,t),t.rowElement=n,this.executeAction("onRowPrepared",t)},_columnOptionChanged:function(t){var f=t.optionNames,i,u;if(r.checkChanges(f,["width","visibleWidth"])){i=this._columnsController.getVisibleColumns(),u=n.map(i,function(n){return n.visibleWidth||n.width||"auto"}),this.setColumnWidths(u);return}this.render()},_getTableElements:function(){return this._tableElement||n()},_getTableElement:function(){return this._tableElement},_setTableElement:function(n){this._tableElement=n},optionChanged:function(n){this.callBase(n);switch(n.name){case"cellHintEnabled":case"onCellPrepared":case"onRowPrepared":case"onCellHoverChanged":this.render(),this.component.resize(),n.handled=!0}},init:function(){var t=this;t._columnsController=t.getController("columns"),t._dataController=t.getController("data"),t._delayedTemplates=[],t._templatesCache={},t.createAction("onCellClick"),t.createAction("onCellHoverChanged",{excludeValidators:["disabled","readOnly"]}),t.createAction("onCellPrepared",{excludeValidators:["designMode","disabled","readOnly"],category:"rendering"}),t.createAction("onRowPrepared",{excludeValidators:["designMode","disabled","readOnly"],category:"rendering"}),t._columnsController.columnsChanged.add(n.proxy(t._columnOptionChanged,t)),t._dataController&&t._dataController.changed.add(n.proxy(t._handleDataChanged,t))},_handleDataChanged:function(){},scrollOffset:function(n){var r=this,u=r.element(),t=u&&u.find("."+e);if(n===i)return t&&t.scrollLeft();r._scrollLeft!==n&&(r._scrollLeft=n,t&&t.scrollLeft(n))},wrapTableInScrollContainer:function(t){return n("<div/>").addClass(v).addClass(e).append(t)},getColumnWidths:function(){var i=this,n=[],t=i._getTableElement();return t&&(n=r.getWidths(t)),n},setColumnWidths:function(t){var o,i,r,u,f,e=this._getTableElements(!0);if(e.length&&t)for(i=0;i<e.length;i++)for(u=0,o=n(e[i]).find("col"),f=this.getColumns(n(e[i])),r=0;r<f.length;r++){if(f[r].colspan){u+=f[r].colspan;continue}o.eq(u).width(t[u]||"auto"),u++}},getCellElements:function(n){var t=this._getRowElements().eq(n);return t.children()},getCellElement:function(n,t){var f=this,e=f.getCellElements(n),i,o=f._columnsController,s,r=t;return u.isString(t)&&(s=o.columnOption(t,"index"),r=o.getVisibleIndex(s)),e.length&&r>=0&&(i=e.eq(r)),i&&i.length?i:void 0},getColumnElements:function(){},getColumns:function(){return this._columnsController.getVisibleColumns()},getCell:function(t){var i,r=this._getTableElement();if(r&&r.length===1)return i=r[0].rows[t.rowIndex],i?n(i.cells[t.columnIndex]):null},getRowsCount:function(){var n=this._getTableElement();return n&&n.length===1?n[0].rows.length:0},_getRowElements:function(t){return t=t||this._getTableElement(),t&&t.children("tbody").children("."+o)||n()},getRowIndex:function(n){return this._getRowElements().index(n)},getBoundingRect:function(){},getName:function(){}})}(jQuery,DevExpress),function(n,t){var f=t.ui,e=t.utils,i=f.dxDataGrid,o="dx-datagrid-column-chooser",r="dx-datagrid-column-chooser-button",s="column-chooser",u="dx-column-chooser-item",h="dx-column-chooser-message",c="dx-datagrid-drag-action";i.ColumnChooserController=i.ViewController.inherit({renderShowColumnChooserButton:function(t){var i=this,e=i.option("columnChooser.enabled"),u=t.find("."+r),f;e?u.length?u.show():(f=n("<div />").addClass(r).appendTo(t),i._createComponent(f,"dxButton",{icon:s,onClick:function(){i.getView("columnChooserView").showColumnChooser()},hint:i.option("columnChooser.title"),_templates:{}})):u.hide()},getPosition:function(){var n=this.getView("rowsView");return{my:"right bottom",at:"right bottom",of:n&&n.element(),collision:"fit",offset:"-2 -2",boundaryOffset:"2 2"}}}),i.ColumnChooserView=i.ColumnsView.inherit({_updateItems:function(){var t=this._columnsController.getChooserColumns(),r=this.option("columnChooser"),u=this._popupContainer.content(),f=this._createComponent(u,"dxScrollable",i.createScrollableOptions(this));this._renderColumnChooserItems(u,t),t.length||n("<span />").addClass(h).text(r?r.emptyPanelText:"").appendTo(f.content())},_initializePopupContainer:function(){var t=this,s=t.element().addClass(o),r=t.option("columnChooser"),u=DevExpress.ui.themes.current(),f=u&&u.indexOf("generic")>-1,h=u&&u.indexOf("android5")>-1,i={visible:!1,shading:!1,showCloseButton:!1,dragEnabled:!0,buttons:[{text:r.title,toolbar:"top",location:f||h?"before":"center"}],position:t.getController("columnChooser").getPosition(),width:r.width,height:r.height,rtlEnabled:t.option("rtlEnabled"),container:r.container};if(f?n.extend(i,{showCloseButton:!0}):i.buttons[i.buttons.length]={shortcut:"cancel"},e.isDefined(this._popupContainer))this._popupContainer.option(i);else{t._popupContainer=t._createComponent(s,"dxPopup",i);t._popupContainer.on("optionChanged",function(n){n.name==="visible"&&t.renderCompleted.fire()})}},_renderCore:function(){this._popupContainer&&this._updateItems()},_renderColumnChooserItems:function(t,i){var r=t.dxScrollable("instance"),f=r.content(),e;f.empty(),n.each(i,function(t,i){e=n("<div />").addClass(i.cssClass).addClass(u).toggleClass(c,i.allowHiding).text(i.caption).appendTo(f)}),r.update()},getColumnElements:function(){var n=this._popupContainer&&this._popupContainer.content();return n&&n.find("."+u)},getName:function(){return"columnChooser"},getColumns:function(){return this._columnsController.getChooserColumns()},allowDragging:function(n){return this.isColumnChooserVisible()&&n&&n.allowHiding},getBoundingRect:function(){var i=this,n=i._popupContainer&&i._popupContainer._container(),t;return n&&n.is(":visible")?(t=n.offset(),{left:t.left,top:t.top,right:t.left+n.outerWidth(),bottom:t.top+n.outerHeight()}):null},showColumnChooser:function(){this._popupContainer||(this._initializePopupContainer(),this.render()),this._popupContainer.show()},hideColumnChooser:function(){this._popupContainer&&this._popupContainer.hide()},isColumnChooserVisible:function(){var n=this._popupContainer;return n&&n.option("visible")},publicMethods:function(){return["showColumnChooser","hideColumnChooser"]}}),i.registerModule("columnChooser",{defaultOptions:function(){return{columnChooser:{enabled:!1,width:250,height:260,title:Globalize.localize("dxDataGrid-columnChooserTitle"),emptyPanelText:Globalize.localize("dxDataGrid-columnChooserEmptyText"),container:undefined}}},controllers:{columnChooser:i.ColumnChooserController},views:{columnChooserView:i.ColumnChooserView},extenders:{views:{headerPanel:{_renderShowColumnChooserButton:function(){this.getController("columnChooser").renderShowColumnChooserButton(this.element())},_renderCore:function(){this.callBase(),this._renderShowColumnChooserButton()},optionChanged:function(n){switch(n.name){case"columnChooser":this._renderShowColumnChooserButton(),n.handled=!0;break;default:this.callBase(n)}},isVisible:function(){var n=this,t=n.option("columnChooser.enabled");return n.callBase()||t}}}}})}(jQuery,DevExpress),function(n,t){var o=t.ui.dxDataGrid,v=t.ui.events,g=v.addNamespace,a=t.utils,f=o.getIndexByKey,nt="dx-link",y="dx-editor-cell",p="dx-selection",w="dx-edit-row",b="dx-edit-button",l="__DX_INSERT_INDEX__",tt="dx-row-removed",it="dx-row-inserted",rt="dx-row-modified",k="dx-cell-modified",d="dx-highlight-outline",ut="dxDataGridEditing",ft="dx-datagrid-focus-overlay",et="dx-datagrid-readonly",ot="dx-data-row",st="dx-checkbox",ht="dx-editor-inline-block",ct="dx-cell-focus-disabled",u="batch",r="row",s="cell",e="insert",h="update",c="remove",lt="dx-pointer-events-none",at="dx-pointer-events-target",i=function(n){var t=n.option("editing.editMode");return t===u||t===s?t:r};o.EditingController=o.ViewController.inherit(function(){var v=function(t){return function(i,r){var u=n("<div/>").appendTo(i);t.getController("editorFactory").createEditor(u,n.extend({},r.column,{value:r.value,setValue:r.setValue,row:r.row,parentType:"dataRow",width:null,readOnly:r.setValue===undefined}))}},o=function(n){return n.getController("data")};return{init:function(){var t=this;if(t._insertIndex=1,t._editRowIndex=-1,t._editData=[],t._editColumnIndex=-1,t._columnsController=t.getController("columns"),t.createAction("onInitNewRow",{excludeValidators:["disabled","readOnly"]}),t.createAction("onRowInserting",{excludeValidators:["disabled","readOnly"]}),t.createAction("onRowInserted",{excludeValidators:["disabled","readOnly"]}),t.createAction("onEditingStart",{excludeValidators:["disabled","readOnly"]}),t.createAction("onRowUpdating",{excludeValidators:["disabled","readOnly"]}),t.createAction("onRowUpdated",{excludeValidators:["disabled","readOnly"]}),t.createAction("onRowRemoving",{excludeValidators:["disabled","readOnly"]}),t.createAction("onRowRemoved",{excludeValidators:["disabled","readOnly"]}),!t._saveEditorHandler){t._saveEditorHandler=t.createAction(function(u){var f=u.jQueryEvent,e,c,l,a,o,v,s,h;i(t)!==r&&t.isEditing()&&!t._editCellInProgress&&(c=n(f.target).closest(".dx-overlay-wrapper").length,l=n(f.target).closest(document).length,a=n(f.target).hasClass(ft),h=n(f.target).closest("."+ot).length,e=t._columnsController.getVisibleColumns(),o=n(f.target).closest("td"),s=o[0]&&o[0].cellIndex,v=e[s]&&e[s].allowEditing,h&&(!h||v)||c||a||!l||t.closeEditCell())});n(document).on("dxclick",t._saveEditorHandler)}t._updateEditColumn(),t._updateEditButtons()},getEditMode:function(){return i(this)},getFirstEditableColumnIndex:function(){var i=this.getController("columns"),r=i.getVisibleColumns(),t;return n.each(r,function(n,i){if(i.allowEditing)return t=n,!1}),t},getFirstEditableCellInRow:function(n){return this.getView("rowsView").getCellElement(n?n:0,this.getFirstEditableColumnIndex())},getIndexByKey:function(n,t){return f(n,t)},hasChanges:function(){var i=this,t=!1;return n.each(i._editData,function(n,i){t=t||!!i.type}),t},dispose:function(){this.callBase(),n(document).off("dxclick",this._saveEditorHandler)},optionChanged:function(n){n.name==="editing"?(this.init(),n.handled=!0):this.callBase(n)},publicMethods:function(){return["insertRow","editRow","editCell","closeEditCell","removeRow","saveEditData","undeleteRow","cancelEditData"]},refresh:function(){i(this)===r||i(this)===s?this.init():(this._editRowIndex=-1,this._editColumnIndex=-1)},isEditing:function(){return this._editRowIndex>-1},isEditRow:function(n){return i(this)===r&&this._editRowIndex===n},isEditCell:function(n,t){return this._editRowIndex===n&&this._editColumnIndex===t},processItems:function(n){var u=this,f=u._editData,i,r,o;for(u.update(),i=0;i<f.length;i++)r=f[i].key,o={key:r},f[i].type===e&&r.pageIndex===u._pageIndex&&(o[l]=r[l],n.splice(r.rowIndex,0,o));return n},processDataItem:function(t,r,o){var a=this,v,y,s,p=t.data[l]?t.data.key:t.key,w=i(a);if(v=f(p,a._editData),v>=0){y=a._editData[v],s=y.data;switch(y.type){case e:t.inserted=!0,t.key=p,t.data=s;break;case h:t.modified=!0,t.data=n.extend(!0,{},t.data,s),t.modifiedValues=o(s,r);break;case c:w===u&&(t.data=n.extend(!0,{},t.data,s)),t.removed=!0}}},insertRow:function(){var n=this,f=o(n),s=n.getView("rowsView"),r={data:{}},t={pageIndex:f.pageIndex(),rowIndex:s?s.getTopVisibleItemIndex():0},c=n._editRowIndex,a=i(n),h;if(n.refresh(),a!==u){if(n._insertIndex>1)return;n._editRowIndex=t.rowIndex}n.executeAction("onInitNewRow",r),t[l]=n._insertIndex++,n._addEditData({key:t,data:r.data,type:e}),f.updateItems({changeType:"update",rowIndices:[c,t.rowIndex]}),h=n.getFirstEditableCellInRow(),n._delayedInputFocus(h,function(){var t=n.getFirstEditableCellInRow();t&&t.trigger("dxclick")}),n._afterInsertRow({key:t,data:r.data})},_isEditingStart:function(n){return this.executeAction("onEditingStart",n),n.cancel},editRow:function(n){var t=this,u=o(t),f=u.items(),i=f[n],e={data:i.data,cancel:!1},s=t._editRowIndex,r;if(n===s)return!0;(i.inserted||(e.key=i.key),t._isEditingStart(e))||(t.init(),t._pageIndex=u.pageIndex(),t._editRowIndex=f[0].inserted?n-1:n,t._addEditData({data:{},key:i.key,oldData:i.data}),u.updateItems({changeType:"update",rowIndices:[s,n]}),r=t.getFirstEditableCellInRow(t._editRowIndex),t._delayedInputFocus(r,function(){r&&t.component.focus(r)}))},editCell:function(n,t){var u=this,h=o(u),y=h.items(),f=y[n],e={data:f&&f.data,cancel:!1,column:u._columnsController.getVisibleColumns()[t]},c=i(u),p=u._editRowIndex,l=u._editColumnIndex,a=u._columnsController.getVisibleColumns(),w=e.column&&e.column.allowEditing,b=e.column&&e.column.showEditorAlways,v;return w&&f&&f.rowType==="data"&&!f.removed&&c!==r?u.isEditCell(n,t)?!0:c===s&&!f.inserted&&u.hasChanges()&&(u.saveEditData(),u.hasChanges())?!0:(f.inserted||(e.key=f.key),u._isEditingStart(e))?!0:(u._editRowIndex=n,u._editColumnIndex=t,u._pageIndex=h.pageIndex(),u._addEditData({data:{},key:f.key,oldData:f.data}),b&&(!a[l]||a[l].showEditorAlways)||(u._editCellInProgress=!0,h.updateItems({changeType:"update",rowIndices:[p,u._editRowIndex]})),v=u.getView("rowsView").getCellElement(u._editRowIndex,u._editColumnIndex),u._delayedInputFocus(v,function(){u._editCellInProgress=!1}),!0):!1},_delayedInputFocus:function(n,t){setTimeout(function(){n&&n.find("[tabindex], input").focus(),t&&t()})},removeRow:function(n){var i=this,r=i.option("editing"),s=r&&r.texts,l=s&&s.confirmDeleteTitle,y=r&&r.editMode===u,p=s&&s.confirmDeleteMessage,w=o(i),v,b,d=i._editRowIndex,h=w.items()[n],k=h&&h.key;h&&(v=function(t){i.refresh();var r=f(t,i._editData);r>=0?i._editData[r].type===e?i._editData.splice(r,1):i._editData[r].type=c:i._addEditData({key:t,oldData:h.data,type:c}),y?w.updateItems({changeType:"update",rowIndices:[d,n]}):i.saveEditData()},y||!p?v(k):(b=a.isDefined(l)&&l.length>0,t.ui.dialog.confirm(p,l,b).done(function(n){n&&v(k)})))},undeleteRow:function(t){var i=this,s=o(i),u=s.items()[t],c=i._editRowIndex,l=u&&u.key,r,e;u&&(r=f(l,i._editData),r>=0&&(e=i._editData[r],n.isEmptyObject(e.data)?i._editData.splice(r,1):e.type=h,s.updateItems({changeType:"update",rowIndices:[c,t]})))},_saveEditDataCore:function(t,i){var r=this,u=o(r).store();n.each(r._editData,function(f,o){var y=o.data,p=o.oldData,l=o.key,w=o.type,a,v,s;if(!r._beforeSaveEditData(o,f)){switch(w){case c:if(s={data:p,key:l,cancel:!1},r.executeAction("onRowRemoving",s),s.cancel)return;a=u.remove(l);break;case e:if(s={data:y,cancel:!1},r.executeAction("onRowInserting",s),s.cancel)return;a=u.insert(s.data);break;case h:if(s={newData:y,oldData:p,key:l,cancel:!1},r.executeAction("onRowUpdating",s),s.cancel)return;a=u.update(l,s.newData)}a&&(v=n.Deferred(),a.always(function(){i.push(l)}).always(v.resolve),t.push(v.promise()))}})},_processSaveEditDataResult:function(n,t){for(var r=this,l=o(r),e,h,c,a=i(r),s=0;s<n.length;s++)if(e=n[s],h=f(t[s],r._editData),r._editData[h])if(c=e&&e instanceof Error,c){if(r._editData[h].error=e,l.dataErrorOccurred.fire(e),a!==u)return!1}else r._editData.splice(h,1);return!0},_fireSaveEditDataEvents:function(t){var i=this;n.each(t,function(t,r){var f=r.data,o=r.key,s=r.type,u={key:o,data:f};r.error&&(u.error=r.error);switch(s){case c:i.executeAction("onRowRemoved",n.extend({},u,{data:r.oldData}));break;case e:i.executeAction("onRowInserted",u);break;case h:i.executeAction("onRowUpdated",u)}})},saveEditData:function(){var t=this,f=[],u=[],e=o(t),s=t._editRowIndex,c=n.extend({},t._editData),l=i(t),h=function(n){n._editColumnIndex=-1,n._editRowIndex=-1};if(!t._beforeSaveEditData()){if(t._saveEditDataCore(u,f),u.length){n.when.apply(n,u).done(function(){t._processSaveEditDataResult(arguments,f)&&(h(t),n.when(e.refresh()).always(function(){t._fireSaveEditDataEvents(c),t._afterSaveEditData()}))});return}l===r?t.hasChanges()||t.cancelEditData():(h(t),e.updateItems(s>=0&&{changeType:"update",rowIndices:[s]})),t._afterSaveEditData()}},_updateEditColumn:function(){var n=this,t=n.option("editing"),u=t&&((t.editEnabled||t.insertEnabled)&&i(n)===r||t.removeEnabled);n._columnsController.addCommandColumn({command:"edit",visible:u,cssClass:"dx-command-edit",width:"auto"}),n._columnsController.columnOption("command:edit","visible",u)},_updateEditButtons:function(){var n=this,t=n._saveChangesButton,i=n._cancelChangesButton,r=n.hasChanges();t&&t.option("disabled",!r),i&&i.option("disabled",!r)},cancelEditData:function(){var n=this,t=o(n);n._beforeCancelEditData(),n.init(),t.updateItems()},closeEditCell:function(){var n=this,t=i(n),u=n._editRowIndex,f=o(n);t!==r&&setTimeout(function(){t===s&&n.hasChanges()?n.saveEditData():u>=0&&(n._editRowIndex=-1,n._editColumnIndex=-1,f.updateItems({changeType:"update",rowIndices:[u]}))})},update:function(){var n=this,t=o(n);n._pageIndex!==t.pageIndex()&&(n.refresh(),n._pageIndex=t.pageIndex()),n._updateEditButtons()},updateFieldValue:function(n,t){var i=this,r={},u=n.key,f=n.cellElement,e;u!==undefined&&n.column.setCellValue&&(f&&f.addClass(k),n.value=t,n.column.setCellValue(r,t),e={data:r,key:u,oldData:n.data,type:h},i._addEditData(e),i._updateEditButtons())},_addEditData:function(t){var i=this,r=f(t.key,i._editData);return r<0&&(r=i._editData.length,i._editData.push(t)),i._editData[r]&&(t.type=i._editData[r].type||t.type,n.extend(!0,i._editData[r],{data:t.data,type:t.type})),r},getColumnTemplate:function(t){var u=this,f=t.column,l=t.row&&t.row.rowIndex,h,o,e,p=u.option("editing.editEnabled"),s=i(u)===r,c=u.isEditRow(l),y=u.isEditCell(l,t.columnIndex);return(f.showEditorAlways||f.allowEditing&&f.setCellValue&&(c||y))&&t.rowType==="data"&&!a.isDefined(f.command)?(f.allowEditing&&(p||c||y)&&(s&&c||!s)&&(t.setValue=function(n){u.updateFieldValue(t,n)}),h=f.editCellTemplate||v(u)):f.command==="edit"&&t.rowType==="data"&&(h=function(t,i){var r=function(t,i,r,f){var e=n("<a />").addClass(nt).text(i).on(g("dxclick",ut),u.createAction(function(n){var t=n.jQueryEvent;t.stopPropagation(),setTimeout(function(){f.row&&u[r](f.row.rowIndex)})}));f.rtlEnabled?t.prepend(e,"&nbsp;"):t.append(e,"&nbsp;")};t.css("text-align","center"),i.rtlEnabled=u.option("rtlEnabled"),o=u.option("editing")||{},e=o.texts||{},i.row&&i.row.rowIndex===u._editRowIndex&&s?(r(t,e.saveRowChanges,"saveEditData",i),r(t,e.cancelRowChanges,"cancelEditData",i)):(o.editEnabled&&s&&r(t,e.editRow,"editRow",i),o.removeEnabled&&(i.row.removed?r(t,e.undeleteRow,"undeleteRow",i):r(t,e.deleteRow,"removeRow",i)))}),h},renderEditButtons:function(t){var r=this,s=t.find("."+b),f=r.option("editing")||{},e=r.option("editing.texts")||{},h={cancel:e.cancelAllChanges,save:e.saveAllChanges,addrow:e.addRow},o=function(t,i,u){return n("<div />").addClass(b).addClass("dx-datagrid-"+i+"-button").appendTo(t).dxButton({icon:"edit-button-"+i,onClick:function(n){var t=n.jQueryEvent;t.stopPropagation(),r[u]()},hint:h&&h[i]}).dxButton("instance")};s.length&&s.remove(),(f.editEnabled||f.insertEnabled||f.removeEnabled)&&i(r)===u&&(r._cancelChangesButton=o(t,"cancel","cancelEditData"),r._saveChangesButton=o(t,"save","saveEditData"),r._updateEditButtons()),f.insertEnabled&&o(t,"addrow","insertRow")},createHighlightCell:function(t){var i=t.find("."+d);i.length||t.wrapInner(n("<div>").addClass(d+" "+at))},_afterInsertRow:function(){},_beforeEditCell:function(){},_beforeSaveEditData:function(){},_afterSaveEditData:function(){},_beforeCancelEditData:function(){}}}()),o.registerModule("editing",{defaultOptions:function(){return{editing:{editMode:"row",insertEnabled:!1,editEnabled:!1,removeEnabled:!1,texts:{editRow:Globalize.localize("dxDataGrid-editingEditRow"),saveAllChanges:Globalize.localize("dxDataGrid-editingSaveAllChanges"),saveRowChanges:Globalize.localize("dxDataGrid-editingSaveRowChanges"),cancelAllChanges:Globalize.localize("dxDataGrid-editingCancelAllChanges"),cancelRowChanges:Globalize.localize("dxDataGrid-editingCancelRowChanges"),addRow:Globalize.localize("dxDataGrid-editingAddRow"),deleteRow:Globalize.localize("dxDataGrid-editingDeleteRow"),undeleteRow:Globalize.localize("dxDataGrid-editingUndeleteRow"),confirmDeleteMessage:Globalize.localize("dxDataGrid-editingConfirmDeleteMessage"),confirmDeleteTitle:Globalize.localize("dxDataGrid-editingConfirmDeleteTitle")}}}},controllers:{editing:o.EditingController},extenders:{controllers:{data:{init:function(){this._editingController=this.getController("editing"),this.callBase()},reload:function(){return this._editingController.refresh(),this.callBase()},_processItems:function(n,t){return n=this._editingController.processItems(n,t),this.callBase(n,t)},_processDataItem:function(n,t){return this._editingController.processDataItem(n,t.visibleColumns,this._generateDataValues),this.callBase(n,t)}}},views:{rowsView:{_getColumnTemplate:function(n){var t=this,i=t.getController("editing").getColumnTemplate(n);return i||t.callBase(n)},_createTable:function(){var n=this,t=n.option("editing"),i=n.callBase.apply(n,arguments);if(t&&t.editMode!==r&&t.editEnabled)i.on(v.addNamespace("dxhold","dxDataGridRowsView"),"td:not(."+y+")",n.createAction(function(){var i=n.getController("editing");i.isEditing()&&i.closeEditCell()}));return i},_createRow:function(n){var t=this.callBase(n),o,r,f,e,s;return n&&(o=this.getController("editing"),r=o.isEditRow(n.rowIndex),f=!!n.removed,e=!!n.inserted,s=!!n.modified,i(this)===u?t.toggleClass(tt,f):t.toggleClass(w,r),t.toggleClass(it,e),t.toggleClass(rt,s),(r||e||f)&&t.removeClass(p)),t},_rowClick:function(t){var i=this,r=i.getController("editing"),u=n(t.jQueryEvent.target).closest("td"),f=i.getCellIndex(u),e=i.option("editing.editEnabled");u.hasClass(lt)||e&&r.editCell(t.rowIndex,f)||r.isEditRow(t.rowIndex)||i.callBase(t)},_cellPrepared:function(n,t){var r=t.row&&(t.row.inserted?t.row.values:t.row.modifiedValues),o=t.columnIndex,f=t.column.alignment,i=this.getController("editing"),e=i.getEditMode();t.isEditing=i.isEditCell(t.rowIndex,t.columnIndex)||i.isEditRow(t.rowIndex)&&t.column.allowEditing,!a.isDefined(t.column.command)&&(t.isEditing||t.column.showEditorAlways)&&(n.addClass(y).toggleClass(et,!t.setValue),f&&n.find("input").first().css("text-align",f)),n.children("."+st).length===1&&n.addClass(ht).toggleClass(ct,!!t.column.command),(e===u||e===s&&t.row.inserted)&&(r&&r[o]!==undefined&&t.column&&t.column.allowEditing?(i.createHighlightCell(n),n.addClass(k)):t.setValue&&i.createHighlightCell(n,!0)),this.callBase.apply(this,arguments)},_update:function(n){this.callBase(n),n.changeType==="updateSelection"&&this._getTableElement().children("tbody").children("."+w).removeClass(p)}},headerPanel:{_renderCore:function(){this.callBase(),this.getController("editing").renderEditButtons(this.element())},isVisible:function(){var t=this,n=t.getController("editing").option("editing");return t.callBase()||n&&(n.insertEnabled||(n.editEnabled||n.removeEnabled)&&n.editMode===u)}}}}})}(jQuery,DevExpress),function(n,t){var i=t.ui.dxDataGrid,r=t.utils,e="dx-datagrid-invalid",o="dx-invalid-message",s="dx-invalid-message-always",u="__DX_INSERT_INDEX__",h="row",f="batch",c="cell";i.ValidatingController=i.Controller.inherit(function(){return{init:function(){this._editingController=this.getController("editing"),this.createAction("onRowValidating")},_rowValidating:function(n,t){var r=this,u=t?t.brokenRules||t.brokenRule&&[t.brokenRule]:[],f=t?t.isValid:n.isValid,i={brokenRules:u,isValid:f,key:n.key,newData:n.data,oldData:n.oldData,errorText:null};return r.executeAction("onRowValidating",i),n.isValid=i.isValid,n.errorText=i.errorText,i},validate:function(t){var i=this,r=!0,u=i._editingController;return(t=t||u.getEditMode()===h,i._isValidationInProgress)?!1:(i._isValidationInProgress=!0,t?n.each(u._editData,function(t,f){var e;f.type&&(e=i.validateGroup(f),e.isValid||n.each(e.brokenRules,function(){this.validator.option("adapter").getValue()===undefined&&u.updateFieldValue({key:f.key,column:this.column},null,!0)}),r=r&&e.isValid)}):i._currentCellValidator&&(r=i.validateGroup(i._currentCellValidator._findGroup()).isValid),i._isValidationInProgress=!1,r)},validateGroup:function(n){var u=this,i=t.validationEngine.getGroupConfig(n),r;return i&&i.validators.length&&(r=t.validationEngine.validateGroup(n)),u._rowValidating(n,r)},updateEditData:function(n){this.setDisableApplyValidationResults(!0),n.isValid=t.validationEngine.getGroupConfig(n)?t.validationEngine.validateGroup(n).isValid:!0,this.setDisableApplyValidationResults(!1)},setValidator:function(n){this._currentCellValidator=n},getValidator:function(){return this._currentCellValidator},removeValidators:function(i){var u=this,f=u._editingController;n.each(f._editData,function(n,u){var e=t.validationEngine.getGroupConfig(u),f;if((!r.isDefined(i)||i===n)&&e)for(f=0;f<e.validators.length;f++)e.validators[f]._dispose(),f--})},createValidator:function(i,r){var s=this,u=s._editingController,f=i.column,h,o=u.getIndexByKey(i.key,u._editData),c=function(n){n.brokenRule&&(n.brokenRule.columnIndex=f.index,n.brokenRule.column=f),r&&!s.getDisableApplyValidationResults()&&(n.isValid||u.createHighlightCell(r,!0),r.toggleClass(e,!n.isValid))};return o<0&&f.showEditorAlways&&(o=u._addEditData({key:i.key})),o>=0?(h=u._editData[o],new t.ui.dxValidator(r||{},{name:f.caption,validationRules:n.extend(!0,[],f.validationRules),validationGroup:h,adapter:{getValue:function(){return i.value},applyValidationResults:c}})):void 0},setDisableApplyValidationResults:function(n){this._disableApplyValidationResults=n},getDisableApplyValidationResults:function(){return this._disableApplyValidationResults}}}()),i.registerModule("validating",{defaultOptions:function(){return{}},controllers:{validating:i.ValidatingController},extenders:{controllers:{data:{reload:function(){var n=this.callBase(),t=this.getController("editing");return n.done(function(){t.resetRowAndPageIndeces(!0)})}},editing:{_addEditData:function(n){var t=this,u=t.getController("validating"),i=t.callBase(n),r;return i>=0&&(r=t._editData[i],u.updateEditData(r)),i},_updateRowAndPageIndices:function(){var t=this,i=t.getView("rowsView").getTopVisibleItemIndex(),r=i;n.each(t._editData,function(n,u){u.isValid||u.pageIndex===t._pageIndex||(u.pageIndex=t._pageIndex,u.rowIndex=u.type==="insert"?i:r,r++)})},resetRowAndPageIndeces:function(t){var i=this;n.each(i._editData,function(n,r){(r.pageIndex!==i._pageIndex||t)&&(delete r.pageIndex,delete r.rowIndex)})},init:function(){var t=this;t.callBase(),t.getController("data").changed.add(function(i){t.option("scrolling.mode")==="standard"&&t.resetRowAndPageIndeces(),n.each(t._editData,function(n,t){i&&i.changeType==="prepend"&&(t.rowIndex+=i.items.length)})})},processItems:function(t,r){var e=this,l=e.getController("data"),o,s=e._editData,h=t.length,c=0,a=function(t,r){var u=-1,f=t.type==="insert",e=t.key;return n.each(r,function(n,t){if(i.equalKeys(e,f?t:l.keyOf(t)))return u=n,!1}),u},v=function(n){var f={key:n.key},i=a(n,t),r;i>=0&&e.option("scrolling.mode")==="standard"||(n.rowIndex=n.rowIndex>h?n.rowIndex%h:n.rowIndex,r=n.rowIndex,f[u]=1,i>=0&&(t.splice(i,1),r-=c),t.splice(r,0,f),c++)};if(e.update(),e.getEditMode()===f&&r!=="prepend"&&r!=="append")for(o=0;o<s.length;o++)s[o].type&&s[o].pageIndex===e._pageIndex&&s[o].key.pageIndex!==e._pageIndex&&v(s[o]);return e.callBase(t,r)},processDataItem:function(t){var o=this,h,s,l=t.data[u],c=l?t.data.key:t.key,a=o.getEditMode();a===f&&l&&c&&(h=i.getIndexByKey(c,o._editData),h>=0&&(s=o._editData[h],s.type!=="insert"&&(t.data=n.extend(!0,{},s.oldData,s.data),t.key=c))),o.callBase.apply(o,arguments)},_afterInsertRow:function(t){var i=this.getController("validating"),u=this.getController("columns").getHiddenColumns();n.each(u,function(n,u){r.isArray(u.validationRules)&&i.createValidator({column:u,key:t.key,value:t.data[u.dataField]})}),this.callBase(t)},_beforeSaveEditData:function(n,t){var i=this,u,o,f=i.callBase.apply(i,arguments),e=i.getController("validating");return n?(u=n.type==="remove"||n.isValid,u?e.removeValidators(t):r.isDefined(i._hasInvalidRules)&&(i._hasInvalidRules=!0),f=f||!u):(o=e.validate(!0),i._updateRowAndPageIndices(),i.getEditMode()===c&&(u=e.validate(),u&&i._hasInvalidRules?(i.cancelEditData(),i._hasInvalidRules=!1,f=!0):o||(i._hasInvalidRules=!0,f=!0))),f},_afterSaveEditData:function(){var t=this;n.each(t._editData,function(n,i){t._showErrorRow(i)})},_beforeCancelEditData:function(){var n=this.getController("validating");n.removeValidators(),this.callBase()},_showErrorRow:function(n){var t=this.getController("errorHandling"),r=this.getController("data").items(),i=this.getIndexByKey(n.key,r);!n.isValid&&n.errorText&&i>=0&&t&&t.renderErrorRow(n.errorText,i)},createHighlightCell:function(n,t){var r=!0,i;t||(i=n.data("dxValidator"),i&&(r=i.validate().isValid)),r&&this.callBase(n)},updateFieldValue:function(n,t,i){var r=this;r.callBase.apply(r,arguments),i||(r._hasInvalidRules=!1)}},editorFactory:{loseFocus:function(n){n||this.getController("validating").setValidator(null),this.callBase()},focus:function(t){var f=this,h=!1,u=f.getView("rowsView"),i=t&&t.closest("td"),e=i&&i.data("dxValidator"),v=f.getController("validating"),l=i&&i.closest(".dx-datagrid-rowsview").find(".dx-tooltip"),y=i&&f.getController("columns").getVisibleColumns()[i.index()],a,c,r;return l&&l.remove(),e&&(a=e.option("adapter").getValue(),v.setValidator(e),a!==undefined&&(c=e.validate(),c.isValid||(r=y.alignment,h=!0,n("<div/>").addClass(o).addClass(s).text(c.brokenRule.message).appendTo(i).dxTooltip({target:i,container:i,visible:!0,closeOnOutsideClick:!1,closeOnTargetScroll:!1,arrowPosition:{offset:r==="left"?"5 0":"-5 0",my:"bottom "+r,at:"top "+r},position:{collision:"fit flip",boundary:u.element(),boundaryOffset:"0 0",offset:"0 -9",my:"top "+r,at:"bottom "+r},onPositioned:function(){u.element()&&u.updateFreeSpaceRowHeight()}})))),!h&&u.element()&&u.updateFreeSpaceRowHeight(),f.callBase(t,h)}}},views:{rowsView:{updateFreeSpaceRowHeight:function(){var n=this,u=n._getRowElements(),t=n._getFreeSpaceRowElements(),i=t.first(),r=n.element().find(".dx-invalid-message .dx-overlay-content");n.callBase(),r.length&&i&&u.length===1&&(!i.is(":visible")||r.outerHeight()>i.outerHeight())&&(t.show(),t.height(r.outerHeight()))},_cellPrepared:function(n,t){var i=this.getController("validating"),u=t.column;r.isArray(u.validationRules)&&i.createValidator(t,n),this.callBase.apply(this,arguments)}}}}})}(jQuery,DevExpress),function(n,t,i){var u=t.ui,r=u.dxDataGrid,f=t.utils;r.proxyMethod=function(n,t,i){n[t]||(n[t]=function(){var n=this._dataSource;return n?n[t].apply(n,arguments):i})},r.combineFilters=function(n,t){var i=[],r;for(t=t||"and",r=0;r<n.length;r++)n[r]&&(i.length&&i.push(t),i.push(n[r]));return i.length===1&&(i=i[0]),i.length?i:void 0},r.DataController=r.Controller.inherit({}).include(u.DataHelperMixin).inherit(function(){var u={init:function(){var t=this;t._items=[],t._columnsController=t.getController("columns"),t._columnsChangedHandler=n.proxy(t._handleColumnsChanged,t),t._dataChangedHandler=n.proxy(t._handleDataChanged,t),t._loadingChangedHandler=n.proxy(t._handleLoadingChanged,t),t._loadErrorHandler=n.proxy(t._handleLoadError,t),t._customizeStoreLoadOptionsHandler=n.proxy(t._handleCustomizeStoreLoadOptions,t),t._columnsController.columnsChanged.add(t._columnsChangedHandler),t._isLoading=!1,t._isCustomLoading=!1,t._refreshDataSource(),t.createAction("onDataErrorOccurred"),t.dataErrorOccurred.add(function(n){return t.executeAction("onDataErrorOccurred",{error:n})})},callbackNames:function(){return["changed","loadingChanged","dataErrorOccurred","pageIndexChanged","pageSizeChanged","filterChanged","dataSourceChanged"]},callbackFlags:function(n){if(n==="dataErrorOccurred")return"stopOnFalse"},publicMethods:function(){return["beginCustomLoading","endCustomLoading","refresh","filter","clearFilter","getCombinedFilter","keyOf","byKey","getDataByKeys","pageIndex","pageSize","pageCount","totalCount","_disposeDataSource","getKeyByRowIndex","getRowIndexByKey"]},optionChanged:function(n){function i(){n.handled=!0}function r(){t._columnsController.reset(),t._refreshDataSource()}var t=this;switch(n.name){case"loadingTimeout":case"remoteOperations":i();break;case"dataSource":case"scrolling":case"paging":i(),r();break;case"rtlEnabled":r();break;default:t.callBase(n)}},isReady:function(){return!this._isLoading},getCombinedFilter:function(){return this.combinedFilter()},combinedFilter:function(n){var t=this,u=t._dataSource,f=t._columnsController,e;return u&&(n===i&&(n=u.filter()),e=t._calculateAdditionalFilter(),e&&(f.isDataSourceApplied()||f.isAllDataTypesDefined())&&(n=r.combineFilters([e,n])),f.updateFilter(u,n)),n},_handleCustomizeStoreLoadOptions:function(n){var i=this._columnsController,r=this._dataSource,t=n.storeLoadOptions;this._isLoadingAll&&(t.isLoadingAll=!0,delete t.skip,delete t.take),t.filter=this.combinedFilter(t.filter),i.isDataSourceApplied()||i.updateColumnDataTypes(r),this._columnsUpdating=!0,i.updateSortingGrouping(r,!this._isFirstLoading),this._columnsUpdating=!1,t.sort=i.getSortDataSourceParameters(),t.group=i.getGroupDataSourceParameters(),r.sort(t.sort),r.group(t.group),n.group=i.getGroupDataSourceParameters(!0),this._isFirstLoading=!1},_handleColumnsChanged:function(n){var t=this,e=n.changeTypes,u=n.optionNames,o,s,h=function(){t._columnsController.columnsChanged.remove(h),t.updateItems()};e.sorting||e.grouping?t._dataSource&&!t._columnsUpdating&&(t._dataSource.group(t._columnsController.getGroupDataSourceParameters()),t._dataSource.sort(t._columnsController.getSortDataSourceParameters()),t.reload()):e.columns&&((u.filterValues||u.filterValue||u.selectedFilterOperation)&&(this.option("filterRow.applyFilter")!=="onClick"||u.filterValues)&&(o=t._columnsController.columnOption(n.columnIndex,"filterValue"),s=t._columnsController.columnOption(n.columnIndex,"filterValues"),(f.isArray(s)||n.columnIndex===i||f.isDefined(o)||!u.selectedFilterOperation||u.filterValue)&&t._applyFilter()),t._needApplyFilter||r.checkChanges(u,["width","visibleWidth","filterValue","selectedFilterOperation","filterValues"])||t._columnsController.columnsChanged.add(h))},_handleDataChanged:function(i){var r=this,u=r._dataSource,f=r._columnsController,e=f.isAllDataTypesDefined();!u||r._isDataSourceApplying||r._isLoadingAll||(r._isDataSourceApplying=!0,n.when(r._columnsController.applyDataSource(u)).done(function(){r._isLoading&&r._handleLoadingChanged(!1),r._isDataSourceApplying=!1;var n=r._calculateAdditionalFilter(),u=r._needApplyFilter;r._needApplyFilter=!1,u&&n&&n.length&&!e?(t.log("W1005",r.component.NAME),r._applyFilter()):r.updateItems(i)}),r._isDataSourceApplying&&r._handleLoadingChanged(!0),r._needApplyFilter=!r._columnsController.isDataSourceApplied())},_handleLoadingChanged:function(n){this._isLoading=n,this._fireLoadingChanged()},_handleLoadError:function(n){this.dataErrorOccurred.fire(n)},_initDataSource:function(){var t=this,n=this.option("dataSource"),r=this.option("paging.pageIndex"),u=this.option("paging.pageSize"),f=t.option("scrolling.mode"),e=this.option("paging.enabled"),o=f==="infinite",s=f==="virtual",h=this._dataSource;t.callBase(),n=t._dataSource,t._dataSource=h,t._isFirstLoading=!0,n&&(n.requireTotalCount(!o),e!==i&&n.paginate(e||s||o),u!==i&&n.pageSize(u),r!==i&&n.pageIndex(r),t.setDataSource(n))},_loadDataSource:function(){var n=this._dataSource;n&&n.load()},_processItems:function(t){var i=this,u=i._columnsController.getVisibleColumns(),e={visibleColumns:u,dataIndex:0},r=[];return n.each(t,function(n,t){f.isDefined(t)&&(t=i._processItem(t,e),r.push(t))}),r},_processItem:function(n,t){return n=this._generateDataItem(n),n=this._processDataItem(n,t),n.dataIndex=t.dataIndex++,n},_generateDataItem:function(n){return{rowType:"data",data:n,key:this.keyOf(n)}},_processDataItem:function(n,t){return n.values=this._generateDataValues(n.data,t.visibleColumns),n},_generateDataValues:function(t,i){var r=[];return n.each(i,function(){var n=null;this.command?n=null:this.calculateCellValue?n=this.calculateCellValue(t):this.dataField&&(n=t[this.dataField]),r.push(n)}),r},_updateItemsCore:function(t){var i=this,u,c=i._dataSource,o=t.changeType,f,s,e,h;if(c){u=t.items||c.items(),u=i._processItems(u.slice(0),o),t.items=u,t.changeType=o||"refresh";switch(o){case"prepend":i._items.unshift.apply(i._items,u);break;case"append":i._items.push.apply(i._items,u);break;case"update":for(f=t.rowIndices.slice(0),s=0,f.sort(function(n,t){return n-t}),e=0;e<f.length;e++)(f[e]<0||f[e-1]===f[e])&&(f.splice(e,1),e--);t.items=[],t.rowIndices=[],t.changeTypes=[],h=function(n,t){return r.equalKeys(n.key,t.key)&&n.rowType===t.rowType},n.each(f,function(n,r){var e,f,c,l;r+=s,t.rowIndices.push(r),e=i._items[r],c=i._items[r+1],f=u[r],l=u[r+1],f&&t.items.push(f),e&&f&&h(e,f)?(o="update",i._items[r]=f,e.visible!==f.visible&&t.items.splice(-1,1,{visible:f.visible})):f&&!e||l&&h(e,l)?(o="insert",i._items.splice(r,0,f),s++):(e&&!f||c&&h(f,c))&&(o="remove",i._items.splice(r,1),s--),t.changeTypes.push(o)});break;default:i._items=u.slice(0)}n.each(i._items,function(n,t){t.rowIndex=n})}},updateItems:function(n){var t=this;n=n||{},t._dataSource&&t._columnsController.isDataSourceApplied()&&(t._updateItemsCore(n),t.changed.fire(n))},isLoading:function(){return this._isLoading||this._isCustomLoading},_fireLoadingChanged:function(n){this.loadingChanged.fire(this.isLoading(),n)},_calculateAdditionalFilter:function(){return null},_applyFilter:function(){var t=this,i=t._dataSource;if(i)return i.pageIndex(0),t.reload().done(n.proxy(t.filterChanged,"fire"))},filter:function(n){var t=this._dataSource;if(arguments.length===0)return t?t.filter():i;n=arguments.length>1?Array.prototype.slice.call(arguments,0):n,t&&t.filter(n),this._applyFilter()},clearFilter:function(n){var t=this,u=t._columnsController,r=function(n){for(var r=u.columnCount(),t=0;t<r;t++)u.columnOption(t,n,i)};if(t.component.beginUpdate(),arguments.length>0)switch(n){case"dataSource":t.filter(null);break;case"search":t.searchByText("");break;case"header":r("filterValues");break;case"row":r("filterValue")}else t.filter(null),t.searchByText(""),r("filterValue"),r("filterValues");t.component.endUpdate()},_fireDataSourceChanged:function(){var n=this,t=function(){n.changed.remove(t),n.dataSourceChanged.fire()};n.changed.add(t)},_getDataSourceAdapterType:function(n){return n&&n.filtering&&n.sorting&&n.paging?r.DataSourceAdapterServer:r.DataSourceAdapterClient},_createDataSourceAdapterCore:function(n,i){var u,r;return i==="auto"&&(i=!(n.store()instanceof t.data.ArrayStore)),i===!0&&(i={filtering:!0,sorting:!0,paging:!0}),u=this._getDataSourceAdapterType(i),r=new u(this.component),r.init(n,i),r},_createDataSourceAdapter:function(n){var t=this.option("remoteOperations");return this._createDataSourceAdapterCore(n,t)},setDataSource:function(n){var t=this;t._dataSource&&(t._dataSource.changed.remove(t._dataChangedHandler),t._dataSource.loadingChanged.remove(t._loadingChangedHandler),t._dataSource.loadError.remove(t._loadErrorHandler),t._dataSource.customizeStoreLoadOptions.remove(t._customizeStoreLoadOptionsHandler),t._dataSource.dispose(t._isSharedDataSource)),n&&(n=t._createDataSourceAdapter(n)),t._dataSource=n,n&&(t._fireDataSourceChanged(),t._isLoading=!n.isLoaded(),t._needApplyFilter=!0,n.changed.add(t._dataChangedHandler),n.loadingChanged.add(t._loadingChangedHandler),n.loadError.add(t._loadErrorHandler),n.customizeStoreLoadOptions.add(t._customizeStoreLoadOptionsHandler))},items:function(){return this._items},isEmpty:function(){return!this.items().length},pageCount:function(){return this._dataSource?this._dataSource.pageCount():1},dataSource:function(){return this._dataSource},store:function(){var n=this._dataSource;return n&&n.store()},loadAll:function(t){var i=this,r=n.Deferred(),u=i._dataSource,f;return u?t?(f={data:t,loadOptions:{isLoadingAll:!0,group:u.group(),sort:u.sort()}},u._handleDataLoaded(f),r.resolve(i._processItems(f.data),f.totalAggregates)):i.isLoading()?r.reject():(i._isLoadingAll=!0,u.load(!0).done(function(n){n=i._processItems(n.slice(0)),r.resolve(n)}).fail(r.reject).always(function(){i._isLoadingAll=!1})):r.resolve([]),r},getKeyByRowIndex:function(n){var t=this.items()[n];if(t)return t.key},getRowIndexByKey:function(n){return r.getIndexByKey(n,this.items())},keyOf:function(n){var t=this.store();if(t)return t.keyOf(n)},byKey:function(t){var i=this.store(),r=this.getRowIndexByKey(t),u;if(i)return r>=0&&(u=n.Deferred().resolve(this.items()[r].data)),u||i.byKey(t)},getDataByKeys:function(t){var f=this,i=n.Deferred(),r=[],u=[];return n.each(t,function(n,t){r.push(f.byKey(t).done(function(t){u[n]=t}))}),n.when.apply(n,r).always(function(){i.resolve(u)}),i},pageIndex:function(t){var u=this,r=u._dataSource;return r?t!==i&&r.pageIndex()!==t?(r.pageIndex(t),r.load().done(n.proxy(u.pageIndexChanged,"fire"))):r.pageIndex():0},pageSize:function(t){var u=this,f=u.option("paging"),r=u._dataSource;return t===i?r?r.pageSize():0:r&&r.pageSize()!==t?(r.pageIndex(0),r.pageSize(t),f&&(f.pageSize=t),r.reload().done(n.proxy(u.pageSizeChanged,"fire"))):void 0},beginCustomLoading:function(n){this._isCustomLoading=!0,this._fireLoadingChanged(n)},endCustomLoading:function(){this._isCustomLoading=!1,this._fireLoadingChanged()},refresh:function(){var i=this,t=n.Deferred();return n.when(this._columnsController.refresh()).always(function(){n.when(i.reload()).done(t.resolve).fail(t.reject)}),t},_disposeDataSource:function(){this.setDataSource(null)}};return r.proxyMethod(u,"load"),r.proxyMethod(u,"reload"),r.proxyMethod(u,"itemsCount",0),r.proxyMethod(u,"totalItemsCount",0),r.proxyMethod(u,"hasKnownLastPage",!0),r.proxyMethod(u,"isLoaded",!1),r.proxyMethod(u,"totalCount",0),u}()),r.registerModule("data",{defaultOptions:function(){return{loadingTimeout:0,dataSource:null,onDataErrorOccurred:null,remoteOperations:"auto",paging:{enabled:!0,pageSize:i,pageIndex:i}}},controllers:{data:u.dxDataGrid.DataController}})}(jQuery,DevExpress),function(n,t){var r=t.ui,i=r.dxDataGrid;i.DataSourceAdapterServer=i.Controller.inherit(function(){return{init:function(t,i){var r=this;r._dataSource=t,r._remoteOperations=i,r._isLastPage=!t.isLastPage(),r._hasLastPage=!1,r._currentTotalCount=0,r.changed=n.Callbacks(),r.loadingChanged=n.Callbacks(),r.loadError=n.Callbacks(),r.customizeStoreLoadOptions=n.Callbacks(),r._dataChangedHandler=n.proxy(r._handleDataChanged,r),r._dataLoadingHandler=n.proxy(r._handleDataLoading,r),r._dataLoadedHandler=n.proxy(r._handleDataLoaded,r),r._loadingChangedHandler=n.proxy(r._handleLoadingChanged,r),r._loadErrorHandler=n.proxy(r._handleLoadError,r);t.on("changed",r._dataChangedHandler);t.on("customizeStoreLoadOptions",r._dataLoadingHandler);t.on("customizeLoadResult",r._dataLoadedHandler);t.on("loadingChanged",r._loadingChangedHandler);t.on("loadError",r._loadErrorHandler);n.each(t,function(t,i){!r[t]&&n.isFunction(i)&&(r[t]=function(){return this._dataSource[t].apply(this._dataSource,arguments)})})},dispose:function(n){var t=this,i=t._dataSource;i.off("changed",t._dataChangedHandler),i.off("customizeStoreLoadOptions",t._dataLoadingHandler),i.off("customizeLoadResult",t._dataLoadedHandler),i.off("loadingChanged",t._loadingChangedHandler),i.off("loadError",t._loadErrorHandler),n||i.dispose()},refresh:function(n,t){var i=this,r=i._dataSource;t&&(i._currentTotalCount=0,i._isLastPage=!r.paginate(),i._hasLastPage=i._isLastPage)},_handleDataLoading:function(t){var i=this,r;i.customizeStoreLoadOptions.fire(t),t.delay=this.option("loadingTimeout"),t.originalStoreLoadOptions=t.storeLoadOptions,r=!i.isLoaded()&&!i._isRefreshing,i._isRefreshing=!0,n.when(i.refresh(t.storeLoadOptions,r)).always(function(){i._lastOperationId===t.operationId&&i.load(),i._isRefreshing=!1}),i._dataSource.cancel(i._lastOperationId),i._lastOperationId=t.operationId,i._isRefreshing&&i._dataSource.cancel(i._lastOperationId)},_handleDataLoaded:function(n){n.storeLoadOptions=n.originalStoreLoadOptions},_handleLoadingChanged:function(n){this.loadingChanged.fire(n)},_handleLoadError:function(n){this.changed.fire({changeType:"loadError",error:n}),this.loadError.fire(n)},_handleDataChanged:function(n){var t=this,u,i=t._dataSource,r=t.itemsCount();t._isLastPage=!r||!t.pageSize()||r<t.pageSize(),t._isLastPage&&(t._hasLastPage=!0),i.totalCount()>=0?i.pageIndex()>=t.pageCount()&&(i.pageIndex(t.pageCount()-1),i.load()):(u=i.pageIndex()*t.pageSize()+r,t._currentTotalCount=Math.max(t._currentTotalCount,u),r===0&&i.pageIndex()>=t.pageCount()&&(i.pageIndex(t.pageCount()-1),i.load())),i.isLoading()||this.changed.fire(n)},isLastPage:function(){return this._isLastPage},totalCount:function(){return parseInt(this._currentTotalCount||this._dataSource.totalCount())},itemsCount:function(){return this._dataSource.items().length},totalItemsCount:function(){return this.totalCount()},pageSize:function(){var n=this._dataSource;return!arguments.length&&!n.paginate()?0:n.pageSize.apply(n,arguments)},pageCount:function(){var n=this,t=n.totalItemsCount(),i=n.pageSize();return i&&t>0?Math.max(1,Math.ceil(t/i)):1},hasKnownLastPage:function(){return this._hasLastPage||this._dataSource.totalCount()>=0}}}()),i.DataSourceAdapterClient=i.DataSourceAdapterServer.inherit({_handleDataLoading:function(n){this.callBase(n);var i=this._remoteOperations||{},t=n.loadOptions=n.storeLoadOptions;n.storeLoadOptions={userData:t.userData},i.filtering&&(n.storeLoadOptions.filter=t.filter,delete t.filter),i.sorting&&(n.storeLoadOptions.sort=t.sort,delete t.sort),this._handleDataLoadingCore(n)},_handleDataLoadingCore:function(){},_handleDataLoaded:function(n){var r=this.callBase,i=n.loadOptions;if(!i){this._dataSource.cancel(n.operationId);return}n.skip=i.skip,n.take=i.take,delete i.skip,delete i.take,new t.data.ArrayStore(n.data).load(i).done(function(t){n.data=t,i.requireTotalCount&&(n.extra=n.extra||{totalCount:t.length})}),this._handleDataLoadedCore(n),r.apply(this,arguments)},_handleDataLoadedCore:function(n){n.skip!==undefined&&(n.data=n.data.slice(n.skip)),n.take!==undefined&&(n.data=n.data.slice(0,n.take))}})}(jQuery,DevExpress),function(n,t){var a=t.ui,i=a.dxDataGrid,r=t.utils,u=t.data.utils.normalizeSortingInfo,f="dx-datagrid-group-panel",v="dx-group-panel-message",o="dx-group-panel-item",y="dx-datagrid-group-opened",p="dx-datagrid-group-closed",s="dx-datagrid-expand",w="dx-selection-disabled",h=function(){var i=function(n,i){for(var r=0;r<n.length;r++)if(t.data.utils.keysEqual(null,n[r].key,i))return n[r]},r=function(n,t){for(var i=0;i<n.length;i++)if(n[i].offset>t)break;return i},f=function(n){for(var t,u,i=0;i<n.length;i++)t=n[i],t.data&&t.data.offset!==t.offset&&(n.splice(i,1),t.offset=t.data.offset,u=r(n,t.offset),n.splice(u,0,t),u>i&&i--)},e=function(n,t,i){for(var r=0;r<n.length;r++)t+1>=i?n[r].children=[]:e(n[r].children,t+1,i)};return{init:function(){this.callBase.apply(this,arguments),this.reset()},reset:function(){this._groupsInfo=[],this._totalCountCorrection=0},totalItemsCount:function(){var n=this,t=n.callBase();return t>0&&n._dataSource.group()&&n._dataSource.requireTotalCount()?t+n._totalCountCorrection:t},itemsCount:function(){return this._dataSource.group()?this._itemsCount||0:this.callBase()},updateTotalItemsCount:function(n){this._totalCountCorrection=n||0},_isGroupItemCountable:function(n){return!this._isVirtualPaging()||!n.isContinuation},_isVirtualPaging:function(){var n=this.option("scrolling.mode");return n==="virtual"||n==="infinite"},updateItemsCount:function(n,t){function i(n,t,r){var u,f=0;if(t)if(r)for(u=0;u<t.length;u++)n._isGroupItemCountable(t[u])&&f++,f+=i(n,t[u].items,r-1);else f=t.length;return f}this._itemsCount=i(this,n,t)},foreachGroups:function(t,i,r){function u(t,i,e,o){function l(n,t,i,r){var u=t&&n(t,i);return r.push(u),u}for(var c,h=[],s=0;s<t.length;s++){if((o.push(t[s].data),!e&&l(i,t[s].data,o,h)===!1)||(!t[s].data||t[s].data.isExpanded||r)&&(c=u(t[s].children,i,e,o),h.push(c),c===!1)||e&&l(i,t[s].data,o,h)===!1)return!1;o.pop()}return n.when.apply(n,h).always(function(){f(t)})}var e=this;return u(e._groupsInfo,t,i,[])},findGroupInfo:function(n){for(var f=this,t,u=f._groupsInfo,r=0;u&&r<n.length;r++)t=i(u,n[r]),u=t&&t.children;return t&&t.data},addGroupInfo:function(n){for(var h=this,s,t,o=n.path,e=h._groupsInfo,u=0;u<o.length;u++)t=i(e,o[u]),t||(t={key:o[u],offset:n.offset,children:[]},s=r(e,n.offset),e.splice(s,0,t)),u===o.length-1&&(t.data=n,f(e)),e=t.children},allowCollapseAll:function(){return!0},isRowExpanded:function(n){var t=this.findGroupInfo(n);return t?t.isExpanded:!this.allowCollapseAll()},collapseAll:function(n){return this.allowCollapseAll()?this._collapseExpandAll(n,!1):(t.log("E1018"),!1)},expandAll:function(n){return this._collapseExpandAll(n,!0)},_collapseExpandAll:function(n,t){var e=this,o=e._dataSource,f=o.group(),r=u(f||[]),i;if(r.length){for(i=0;i<r.length;i++)n===undefined||n===i?r[i].isExpanded=t:f&&f[i]&&(r[i].isExpanded=f[i].isExpanded);o.group(r),e.foreachGroups(function(i,r){(n===undefined||n===r.length-1)&&(i.isExpanded=t)},!1,!0)}return!0},refresh:function(n){this.callBase.apply(this,arguments);var i=this,t,f=u(i._group||[]),o=u(n.group||[]),r=Math.min(f.length,o.length);for(i._group=n.group,t=0;t<r;t++)if(f[t].selector!==o[t].selector){r=t;break}r?e(i._groupsInfo,0,r):i.reset()},changeRowExpand:function(n){var i=this,t=i._dataSource;if(t.group())return t._changeLoadingCount(1),i._changeRowExpandCore(n).always(function(){t._changeLoadingCount(-1)})}}}(),c,e,l;i.DataSourceAdapterClient=i.DataSourceAdapterClient.inherit(h),i.DataSourceAdapterServer=i.DataSourceAdapterServer.inherit(h),c=function(){return{init:function(){var n=this;n.callBase(),n.createAction("onRowExpanding"),n.createAction("onRowExpanded"),n.createAction("onRowCollapsing"),n.createAction("onRowCollapsed")},_processItems:function(n){var t=this._columnsController.getGroupColumns();return n.length&&t.length&&(n=this._processGroupItems(n,t.length)),this.callBase(n)},_processItem:function(n,t){return r.isDefined(n.groupIndex)&&r.isString(n.rowType)&&n.rowType.indexOf("group")===0?(n=this._processGroupItem(n,t),t.dataIndex=0):n=this.callBase.apply(this,arguments),n},_processGroupItem:function(n){return n},_processGroupItems:function(n,t,i){var s=this,o,e,u,f,r;if(i||(o=s.option("scrolling.mode"),i={collectContinuationItems:o!=="virtual"&&o!=="infinite",resultItems:[],path:[]}),f=i.resultItems,r=i.path,i.data&&(i.collectContinuationItems||!i.data.isContinuation)&&f.push({rowType:"group",data:i.data,groupIndex:r.length-1,isExpanded:!!i.data.items,key:r,values:r}),n)if(t===0)f.push.apply(f,n);else for(e=0;e<n.length;e++)u=n[e],u&&(i.data=u,i.path=r.concat(u.key),s._processGroupItems(u.items,t-1,i),i.data=undefined,i.path=r);return f},publicMethods:function(){return this.callBase().concat(["collapseAll","expandAll","isRowExpanded","expandRow","collapseRow"])},collapseAll:function(n){var t=this._dataSource;t&&t.collapseAll(n)&&(t.pageIndex(0),t.reload())},expandAll:function(n){var t=this._dataSource;t&&t.expandAll(n)&&(t.pageIndex(0),t.reload())},changeRowExpand:function(t){var i=this,r=i.isRowExpanded(t),u={key:t,expanded:r};return i.executeAction(r?"onRowCollapsing":"onRowExpanding",u),u.cancel?void 0:n.when(i._changeRowExpandCore(t)).done(function(){u.expanded=!r,i.executeAction(r?"onRowCollapsed":"onRowExpanded",u)})},_changeRowExpandCore:function(t){var u=this,r=this._dataSource,i;if(r)return i=n.Deferred(),n.when(r.changeRowExpand(t)).done(function(){u.load().done(i.resolve).fail(i.reject)}).fail(i.reject),i},isRowExpanded:function(n){var t=this._dataSource;return t&&t.isRowExpanded(n)},expandRow:function(n){this.isRowExpanded(n)||this.changeRowExpand(n)},collapseRow:function(n){this.isRowExpanded(n)&&this.changeRowExpand(n)},optionChanged:function(n){n.name==="grouping"&&(n.name="dataSource"),this.callBase(n)}}}(),e=function(){return{_renderGroupPanel:function(){var i=this,u=i.element(),r=i.option("groupPanel"),t,e=i.getController("columns").getGroupColumns();t=u.find("."+f),r&&r.visible?(t.length?t.show():t=n("<div />").addClass(f).prependTo(u),i._renderGroupPanelItems(t,e),r.allowColumnDragging&&!e.length&&n("<div />").addClass(v).text(r.emptyPanelText).appendTo(t)):t.hide()},_renderGroupPanelItems:function(t,i){var r=this;t.empty(),n.each(i,function(n,i){r._createGroupPanelItem(t,i)})},_createGroupPanelItem:function(t,i){return n("<div />").addClass(i.cssClass).addClass(o).appendTo(t).text(i.caption)},_renderCore:function(){this.callBase.apply(this,arguments),this._renderGroupPanel()},allowDragging:function(n){var t=this.option("groupPanel");return t&&t.visible&&t.allowColumnDragging&&n&&n.allowGrouping},getColumnElements:function(){var n=this.element();return n&&n.find("."+o)},getColumns:function(){return this.getController("columns").getGroupColumns()},getBoundingRect:function(){var i=this,n=i.element(),t;return n&&n.find("."+f).length?(t=n.offset(),{top:t.top,bottom:t.top+n.height()}):null},getName:function(){return"group"},isVisible:function(){return this.callBase()||this.option("groupPanel.visible")},optionChanged:function(n){n.name==="groupPanel"?(this._renderGroupPanel(),n.handled=!0):this.callBase(n)}}}(),i.GroupingHeaderPanelExtender=e,l=function(){return{_rowClick:function(t){var i=this,r=i.getController("data"),f=n(t.jQueryEvent.target).closest("."+s),u;f.length&&(u=r.getKeyByRowIndex(t.rowIndex),r.changeRowExpand(u),t.jQueryEvent.preventDefault(),t.handled=!0),i.callBase(t)},_getDefaultTemplate:function(t){var i=this;return t.command==="expand"?function(t,u){!r.isDefined(u.value)||u.data&&u.data.isContinuation||u.row.inserted||(t.addClass(s).addClass(w),n("<div>").addClass(u.value?y:p).appendTo(t),i.setAria("label",u.value?Globalize.localize("dxDataGrid-ariaCollapse"):Globalize.localize("dxDataGrid-ariaExpand"),t))}:i.callBase(t)}}}(),i.registerModule("grouping",{defaultOptions:function(){return{grouping:{autoExpandAll:!0,allowCollapsing:!0,groupContinuesMessage:Globalize.localize("dxDataGrid-groupContinuesMessage"),groupContinuedMessage:Globalize.localize("dxDataGrid-groupContinuedMessage")},groupPanel:{visible:!1,emptyPanelText:Globalize.localize("dxDataGrid-groupPanelEmptyText"),allowColumnDragging:!0}}},extenders:{controllers:{data:c},views:{headerPanel:e,rowsView:l}}})}(jQuery,DevExpress),function(n,t){var u=t.data.utils,i=t.ui.dxDataGrid,r=i.normalizeSortingInfo,e=u.keysEqual,f=function(t,i){var r=n.Deferred(),u=n.extend({skip:0,take:1,requireTotalCount:!0},i);return t.load(u).done(function(u,f){f&&isFinite(f.totalCount)?r.resolve(f.totalCount):t.totalCount(i).done(n.proxy(r.resolve,r)).fail(n.proxy(r.reject,r))}).fail(n.proxy(r.reject,r)),r};i.DataSourceAdapterServer=i.DataSourceAdapterServer.inherit(function(){var o=function(n,t){return n.foreachGroups(function(n){if(!n.isExpanded)return t(n)})},h=function(n,t){var i=0,r=t||0;return t&&(o(n,function(n){if(n.offset-i>=t)return!1;i+=n.count-1}),r+=i),r},c=function(n,t,i,r,u,f){for(var e,s,o=0,h=!1,a,l=0;l<t.length;l++)e=t[l],e.items!==undefined?(i.push(e.key),a=n.findGroupInfo(i),a&&!a.isExpanded?(e.collapsedItems=e.items,e.items=null,r+=a.count,f--,f<0&&o++,u&&(h=!0)):e.items&&(s=c(n,e.items,i,r,u,f),u&&(s.offset-r>1?e.isContinuation=!0:h=!0),r=s.offset,f=s.take,f<0&&(e.items.length?e.isContinuationOnNextPage=!0:o++)),i.pop()):(u&&(h=!0),r++,f--,f<0&&o++),u=!1;return h&&t.splice(0,1),o&&t.splice(-o,o),{offset:r,take:f}},a=function(n,t){var i;if(n.length!==t.length)return!1;for(i=0;i<n.length;i++)if(!e(null,n[i],t[i]))return!1;return!0},s=function(n,t,i,r,u){var o,f,e;if(t){for(o=0;o<t.length;o++)f=t[o],"key"in f&&f.items!==undefined?(i.push(f.key),u&&a(u.path,i)&&!f.isContinuation&&(u.offset=r),e=n.findGroupInfo(i),e&&!e.isExpanded?f.isContinuation||(e.offset=r,r+=e.count):r=s(n,f.items,i,r,u),i.pop()):r++;return r}},v=function(n){var t,i;n.group&&(t=r(n.group),i=r(n.sort),n.sort=u.arrangeSortingInfo(t,i),delete n.group)},l=function(n,t){for(var e=r(t.group),f=[],u=0;u<n.length;u++)f.push([e[u].selector,"=",n[u]]);return t.filter&&f.push(t.filter),i.combineFilters(f)},y=function(n,t,u){for(var h=r(u||t.group),f,s,o=[],e=0;e<n.length;e++){for(s=[],f=0;f<=e;f++)s.push([h[f].selector,e===f?"<>":"=",n[f]]);o.push(i.combineFilters(s))}return o=i.combineFilters(o,"or"),i.combineFilters([o,t.filter])},p=function(n,t){for(var o=r(t.group),i,e,u=[],f=0;f<n.length;f++){for(e=[],i=0;i<=f;i++)e.push([o[i].selector,f===i?o[i].desc?">":"<":"=",n[i]]);u.length&&u.push("or"),u.push(e)}return t.filter&&u.push(t.filter),u};return{_handleDataLoading:function(t){this.callBase(t);var s=this,r=t.storeLoadOptions,i,f=[],c=0,l=!1,a,u=r.group,e=0;(v(r),t.group=t.group||u,r.isLoadingAll)||(i=n.extend({},r),i.skip=h(s,r.skip),i.skip&&i.take&&u&&(i.skip--,i.take++,l=!0),i.take&&u&&(a=i.take,i.take++),o(s,function(n){if(n.offset>=i.skip+i.take+e)return!1;n.offset>=i.skip+e&&n.count&&(e+=n.count-1,f.push(n.path),c+=n.count)}),n.each(f,function(){i.filter=y(this,i,u)}),t.storeLoadOptions=i,t.collapsedPaths=f,t.collapsedItemsCount=c,t.skip=i.skip||0,t.skipFirstItem=l,t.take=a)},_handleDataLoaded:function(n){function a(n,t,i){if(n&&t.length&&i.length){for(var f,e=u.toComparable(t[0],!0),r=0;r<n.length;r++)if(f=u.toComparable(n[r].key,!0),i[0].desc?e>=f:e<=f)break;n.length&&e===f||n.splice(r,0,{key:t[0],items:[]}),a(n[r].items,t.slice(1),i.slice(1))}}var s=this,i=n.data,f,h,e=n.collapsedPaths,o=r(n.group),l=o.length;if(this.callBase(n),l){if(h=t.data.query(i),t.data.utils.multiLevelGroup(h,o).enumerate().done(function(n){i=n}),e)for(f=0;f<e.length;f++)a(i,e[f],o);n.storeLoadOptions.isLoadingAll||(c(s,i,[],n.skip,n.skipFirstItem,n.take),s.updateItemsCount(i,l)),n.data=i,n.collapsedItemsCount&&n.extra&&n.extra.totalCount>=0&&(n.extra.totalCount+=n.collapsedItemsCount)}},updateTotalItemsCount:function(){var n=0;o(this,function(t){t.count&&(n-=t.count-1)}),this.callBase(n)},_changeRowExpandCore:function(t){var i=this,u=i._dataSource,a=i.basePageIndex&&i.basePageIndex()||i.pageIndex(),o=i.items(),c=h(i,a*i.pageSize()),r=i.findGroupInfo(t),e;return e=r&&!r.isExpanded?n.Deferred().resolve(r.count):f(u.store(),{filter:l(t,{filter:u.filter(),group:u.group()})}),n.when(e).done(function(n){n=parseInt(n.length?n[0]:n),r?(s(i,o,[],c),r.isExpanded=!r.isExpanded,r.count=n):(r={offset:-1,count:n,path:t,isExpanded:!1},s(i,o,[],c,r),r.offset>=0&&i.addGroupInfo(r)),i.updateTotalItemsCount()}).fail(n.proxy(u.loadError.fire,u.loadError))},allowCollapseAll:function(){return!1},refresh:function(t,i){var r=this,u=r._dataSource,e=u.store();return this.callBase.apply(this,arguments),i?o(r,function(i){var o=f(e,{filter:l(i.path,t)}),s=f(e,{filter:p(i.path,t)});return u._changeLoadingCount(1),n.when(s,o).done(function(n,t){n=parseInt(n.length?n[0]:n),t=parseInt(t.length?t[0]:t),i.offset=n,i.count!==t&&(i.count=t,r.updateTotalItemsCount())}).fail(n.proxy(r._dataSource.loadError.fire,r._dataSource.loadError)).always(function(){u._changeLoadingCount(-1)})}):void 0}}}())}(jQuery,DevExpress),function(n,t){var i=t.ui.dxDataGrid,r=i.normalizeSortingInfo;i.DataSourceAdapterClient=i.DataSourceAdapterClient.inherit(function(){var t=function(n,t){return n.foreachGroups(function(n,i){if(n.isExpanded)return t(n,i)},!0)},f=function(n,t,i,r){var e,u,o;if(r)for(e=0;e<t.length;e++)u=t[e],u.items!==undefined&&(i.push(u.key),o=n.findGroupInfo(i),o&&o.isExpanded?f(n,u.items,i,r-1):(u.collapsedItems=u.items,u.items=null),i.pop())},s=function(n,t,i,r){return e(n,t,0,i,[],r)},e=function(n,t,i,r,u,f){var o,c=0,s,h;if(i>=r)return t.length;for(s=0;s<t.length;s++)o=t[s],o&&(u.push(o.key),h=n.findGroupInfo(u),h?(h.count=o.items.length,h.offset=f+s):n.addGroupInfo({isExpanded:n._isGroupExpanded(i),path:u.slice(0),offset:f+s,count:o.items.length}),c+=e(n,o.items,i+1,r,u,0),u.pop());return c},i=function(n,t){return n&&n.length&&n[t]&&!!n[t].isExpanded},o=function(n,t,i){for(var f,e=i,r=0;r<n.length;r++)f=n[r].offset+1,r>0&&(f+=n[r-1].childrenTotalCount,t&&(f+=u(e,t,f,r-1)*r)),e+=f;return e},u=function(n,t,i,r){if(r=r||0,t>1&&i>0){var u=n-Math.floor(n/t)*t||t;return u+=i-r-2,u<0&&(u+=t),Math.floor(u/(t-r-1))}return 0};return{updateTotalItemsCount:function(n){var i=0,e=n.extra&&n.extra.totalCount||0,r=this.pageSize(),f=this._isVirtualPaging();t(this,function(n){n.childrenTotalCount=0}),t(this,function(n,t){var s=o(t,f?0:r,i),e=n.count+n.childrenTotalCount;f||(e+=u(s,r,e,t.length-1)),t[t.length-2]?t[t.length-2].childrenTotalCount+=e:i+=e}),this.callBase(i-e+n.data.length)},_isGroupExpanded:function(n){var t=this._dataSource.group();return i(t,n)},_updatePagingOptions:function(n){var r=this,h=r._isVirtualPaging(),i=r.pageSize(),c=[],f=[],e=0,s=0;n.take&&(t(this,function(n){n.childrenTotalCount=0,n.skipChildrenTotalCount=0}),t(r,function(t,r){var a,y,b=0,k=0,v=o(r,h?0:i,s),d=0,p=0,l=t.count+t.childrenTotalCount,w=l;a=n.skip-v,v<=n.skip+n.take&&l&&(y=n.take,h||(d=u(v,i,l,r.length-1),l+=d*r.length,w+=d,i&&a>=0&&(b=r.length,k=r.length-1,p=Math.floor(a/i))),a>=0?(v+l>n.skip&&c.unshift(a-p*b-t.skipChildrenTotalCount),v+l>=n.skip+y&&f.unshift(y-b-t.childrenTotalCount+t.skipChildrenTotalCount)):v+l>=n.skip+y&&f.unshift(y+a-t.childrenTotalCount)),v<=n.skip&&(r[r.length-2]?r[r.length-2].skipChildrenTotalCount+=Math.min(w,a+1-p*k):e+=Math.min(w,a+1)),v<=n.skip+y&&(l=Math.min(w,a+y-(p+1)*k),r[r.length-2]?r[r.length-2].childrenTotalCount+=l:s+=l)}),n.skip-=e,n.take-=s-e),n.skips=c,n.takes=f},_changeRowExpandCore:function(t){var r=this,i=r.findGroupInfo(t);return i?(i.isExpanded=!i.isExpanded,n.Deferred().resolve()):n.Deferred().reject()},_handleDataLoadedCore:function(n){var e=this,l=e.callBase,o=r(n.loadOptions.group).length,a,c,h,i,u,t;if(n.loadOptions.isLoadingAll){l.call(e,n);return}for(a=s(e,n.data,o,0),o&&n.extra&&(n.extra.totalCount=a),e.updateTotalItemsCount(n),e._updatePagingOptions(n),l.call(e,n),c=n.skips,h=n.takes,t=n.data,i=0;t&&i<o;i++)u=t[0],t=u&&u.items,t&&c[i]!==undefined&&(u.isContinuation=!0,t=t.slice(c[i]),u.items=t);for(t=n.data,i=0;t&&i<o;i++)u=t[t.length-1],t=u&&u.items,t&&h[i]!==undefined&&t.length>h[i]&&(u.isContinuationOnNextPage=!0,t=t.slice(0,h[i]),u.items=t);f(e,n.data,[],o),e.updateItemsCount(n.data,o)},refresh:function(n){function o(n,i){i.length===t+1&&(n.isExpanded=f)}for(var u=this,e=r(u._group),f,t=0;t<e.length;t++)f=i(n.group,t),i(u._group,t)!==f&&u.foreachGroups(o);u.callBase.apply(this,arguments),u.foreachGroups(function(n){n.count=0})}}}())}(jQuery,DevExpress),function(n,t){var l=t.ui,i=l.dxDataGrid,a="dx-datagrid-table",v="dx-row",y="dx-freespace-row",f="dx-column-lines",e="dx-datagrid-bottom-load-panel",o="dx-datagrid-table-content",p="dx-datagrid-group-space",w="dx-scrollable-container",b="dx-scrollable-content",k="dx-datagrid-content",r="infinite",s="virtual",u=25e4,h=function(){var h=function(n){return n.option("scrolling.preloadEnabled")?2:1},t=function(n){return!n._isLoadingAll&&n.option("scrolling.mode")===s},i=function(n){return!n._isLoadingAll&&n.option("scrolling.mode")===r},u=function(n){return n._cache[0]?n._cache[0].pageIndex:-1},f=function(n){var i=u(n);t(n)&&(i<0||n._viewportItemIndex>=0&&(i*n.pageSize()>n._viewportItemIndex||i*n.pageSize()+n.itemsCount()<n._viewportItemIndex+n._viewportSize)&&n._dataSource.isLoading()?n._isLoading||(n._isLoading=!0,n.loadingChanged.fire(!0)):n._isLoading&&(n._isLoading=!1,n.loadingChanged.fire(!1)))},e=function(n,t){n._isDelayChanged&&(n._isDelayChanged=!1,t.call(n))},o=function(n,t,i,r){var e=n._dataSource,u=e.items();i==="append"?n._items.push.apply(n._items,u):i==="prepend"?n._items.unshift.apply(n._items,u):n._items=u,f(n),n._lastPageIndex=n.pageIndex(),n._isDelayChanged=r,n._isLoadingAll=!1,r||t.call(n,i&&{changeType:i,items:u})};return{init:function(n){var t=this;t.callBase.apply(t,arguments),t._isLoading=!0,t._pageIndex=n.pageIndex(),t._lastPageIndex=t._pageIndex,t._viewportSize=0,t._viewportItemIndex=-1,t._userPageSize=t.option("paging.pageSize"),t._items=[],t._isLoaded=!0,t._cache=[],n.isLoaded()&&t._handleDataChanged()},_handleLoadingChanged:function(n){var i=this;t(i)||(i._isLoading=n,i.callBase.apply(i,arguments))},_handleLoadError:function(){var n=this;n._isLoadingAll=!1,n._isLoading=!1,n.loadingChanged.fire(!1),n.callBase.apply(n,arguments)},_handleDataChanged:function(){var n=this,r,s=n.callBase,f=n._dataSource,l=n._cache.length,h,c;t(n)?(r=u(n),r>=0&&(r+n._cache.length===f.pageIndex()||r-1===f.pageIndex()||(n._cache=[])),c={pageIndex:f.pageIndex(),itemsCount:n.itemsCount(!0)},e(n,s),r===f.pageIndex()+1?(h="prepend",n._cache.unshift(c)):(h="append",n._cache.push(c)),o(n,s,n._cache.length>1?h:undefined,l===0),n.load().done(function(){e(n,s)})):o(n,s,i(n)&&f.pageIndex()!==0?"append":undefined)},items:function(){return this._items},itemsCount:function(i){var r=0;return!i&&t(this)?n.each(this._cache,function(){r+=this.itemsCount}):r=this.callBase(),r},virtualItemsCount:function(){var n=this,i,f=0,r,e;if(t(n))return i=u(n),i<0&&(i=0),r=i*n.pageSize(),f=n._cache.length*n.pageSize(),e=Math.max(0,n.totalItemsCount()-f-r),{begin:r,end:e}},setViewportItemIndex:function(n){var r=this,f=r.pageSize(),e=r.pageCount(),c=t(r),l=i(r),o=r.totalItemsCount(),s,a=r._viewportItemIndex<0,h,u;r._viewportItemIndex=n,f&&(c||l)&&o>=0&&(r._viewportSize&&n+r._viewportSize>=o?r.hasKnownLastPage()?(u=e-1,s=o%f,u>0&&s>0&&s<f/2&&u--):u=e:(u=Math.floor(n/f),h=e-1,u=Math.max(u,0),u=Math.min(u,h)),(r.pageIndex()!==u||a)&&(r.pageIndex(u),r.load()))},setViewportSize:function(n){var r=this,u;r._viewportSize!==n&&(r._viewportSize=n,(t(r)||i(r))&&!r._userPageSize&&(u=Math.ceil(n/5)*10,u!==r.pageSize()&&(r.pageSize(u),r.reload())))},getViewportSize:function(){return this._viewportSize},pageIndex:function(n){return t(this)||i(this)?(n!==undefined&&(this._pageIndex=n),this._pageIndex):this._dataSource.pageIndex(n)},basePageIndex:function(){var n=u(this);return n>0?n:0},load:function(r){var e=u(this),o=-1,c=this._dataSource,s,l=function(n,t){var i=n._dataSource;if(t===n.pageIndex()||!i.isLoading()&&t<n.pageCount()||!n.hasKnownLastPage()&&t===n.pageCount())return i.pageIndex(t),i.load()};return this._isLoadingAll=r,t(this)?((e<0||!this._cache[this._pageIndex-e])&&(o=this._pageIndex),e>=0&&o<0&&this._viewportItemIndex>=0&&e+this._cache.length<=this._pageIndex+h(this)&&(o=e+this._cache.length),o>=0&&(s=l(this,o)),f(this)):i(this)?c.isLoaded()&&this.pageIndex()!==this.pageCount()||(c.pageIndex(this.pageIndex()),s=c.load()):s=c.load(),s||this._lastPageIndex===this.pageIndex()||this.changed.fire({changeType:"pageIndex"}),s||n.Deferred().resolve()},isLoading:function(){return this._isLoading},isLoaded:function(){return this._dataSource.isLoaded()&&this._isLoaded},changeRowExpand:function(){return this._cache=[],f(this),this.callBase.apply(this,arguments)},refresh:function(n,t){var r=this,u=r._dataSource;return t&&(r._cache=[],r._isLoaded=!1,f(r),r._isLoaded=!0,i(r)?(r.pageIndex(0),u.pageIndex(0),n.pageIndex=0,n.skip=0):(u.pageIndex(r.pageIndex()),u.paginate()&&(n.skip=r.pageIndex()*r.pageSize()))),r.callBase.apply(r,arguments)}}}(),c;i.DataSourceAdapterServer=i.DataSourceAdapterServer.inherit(h),i.DataSourceAdapterClient=i.DataSourceAdapterClient.inherit(h),c=function(){return{_renderCore:function(){var n=this;n.callBase.apply(n,arguments),n._updateContentPosition()},_renderContent:function(n,t){var i=this,r=i._dataController.virtualItemsCount();return r?(t.addClass(o),n.children().length?n.children().first().replaceWith(t):n.append(t),n.children("table").length===1&&(n.append(i._createTable()),i._contentHeight=0),n):i.callBase.apply(i,arguments)},_updateContent:function(n,t,i){var r=this,f,u=t&&t.changeType;u==="append"||u==="prepend"?(f=n.children().first(),i.children("tbody").children("tr")[u==="append"?"appendTo":"prependTo"](f)):r.callBase.apply(r,arguments),r._updateBottomLoading()},_updateContentPosition:function(){var n=this,o,i,e,r,u,s=n._rowHeight||20,f=n._dataController.virtualItemsCount(),h;return f?(o=n._findContentElement(),e=o.children(),r=e.first(),u=e.eq(1),t.translator.move(r,{top:Math.floor(f.begin*s)}),i=(f.begin+f.end)*s+r.outerHeight(),h=n._contentHeight!==i||i===0||!n._isTableLinesDisplaysCorrect(u)||!n._isColumnElementsEqual(r.find("col"),u.find("col")),h&&(n._contentHeight=i,n._renderVirtualTableContent(u,i)),!0):!1},_isTableLinesDisplaysCorrect:function(n){var t=n.find("."+f).length>0;return t===this.option("showColumnLines")},_isColumnElementsEqual:function(t,i){var r=t.length===i.length;return r&&n.each(t,function(n,t){if(t.style.width!==i[n].style.width)return r=!1}),r},_renderVirtualTableContent:function(n,t){for(var r=this,e=r._columnsController.getVisibleColumns(),o=r._createColGroup(e).prop("outerHTML"),s="",c=r.option("showColumnLines")?f:"",h=function(n){return'<tr style="height:'+n+'px;" class="'+y+" "+v+" "+c+'" >'+s+"<\/tr>"},i=0;i<e.length;i++)s+=e[i].command==="expand"?'<td class="'+p+'"/>':"<td />";while(t>u)o+=h(u),t-=u;o+=h(t),n.addClass(a),n.html(o)},_findBottomLoadPanel:function(){var n=this.element().find("."+e);if(n.length)return n},_updateBottomLoading:function(){var t=this,u=t.option("scrolling.mode"),f=u===s,o=u===r,h=!t._dataController.hasKnownLastPage()&&t._dataController.isLoaded()&&(f||o),i=t._findBottomLoadPanel();h?i||n("<div />").addClass(e).append(n("<div />").dxLoadIndicator()).appendTo(t._findContentElement()):i&&i.remove()},_handleScroll:function(n){var t=this;t._hasHeight&&t._rowHeight&&t._dataController.setViewportItemIndex(n.scrollOffset.top/t._rowHeight),t.callBase.apply(t,arguments)},_renderScrollableCore:function(n){var t=this;t.callBase.apply(t,arguments),t._subscribeToWindowScrollEvents(n)},_subscribeToWindowScrollEvents:function(t){var i=this,e=i.component.element(),r,u,f;if(e&&!i._windowScrollEvents)for(i._windowScrollEvents=!0,u=function(n,r){var u=function(){var u=n.scrollTop();!i._hasHeight&&i._rowHeight&&(u-=t.offset().top,u=u>0?u:0,i._scrollTop=u,i._dataController.setViewportItemIndex(u/i._rowHeight))};return r?function(n){u(n),r(n)}:u},f=function(t){var f=t.data("dxScrollable"),r,e;if(f){e=f.option("onScroll"),r=u(t,e),f.option("onScroll",r);i.on("disposing",function(){f.option("onScroll")===r&&f.option("onScroll",e)})}else if(t.is(document)||t.css("overflow-y")==="auto"){t.is(document)&&(t=n(window)),r=u(t);t.on("scroll",r);i.on("disposing",function(){t.off("scroll",r)})}},r=i.component.element().parent();r.length;r=r.parent())f(r)},_needUpdateRowHeight:function(n){var t=this;return t.callBase.apply(t,arguments)||n>0&&t.option("scrolling.mode")===r},_updateRowHeight:function(){var t=this,r=t._rowHeight,i;t.callBase.apply(t,arguments),!r&&t._rowHeight&&(t._updateContentPosition(),i=t._hasHeight?t.element().outerHeight():n(window).outerHeight(),t._dataController.setViewportSize(Math.round(i/t._rowHeight)))},setLoading:function(n,t){var i=this,r=i.callBase,u=!!i._findBottomLoadPanel()&&i._dataController.isLoaded();u&&(n=!1),r.call(i,n,t)},_getTableElements:function(n){var t=this.callBase();return n&&this.option("scrolling.mode")==="virtual"&&(t=t.add(this.element().find("> ."+w+" > ."+b+"> ."+k).children(":not(."+o+")"))),t}}}(),i.registerModule("virtualScrolling",{defaultOptions:function(){return{scrolling:{mode:"standard",preloadEnabled:!1,useNativeScrolling:"auto"}}},extenders:{controllers:{data:function(){var n={};return i.proxyMethod(n,"virtualItemsCount"),i.proxyMethod(n,"setViewportSize"),i.proxyMethod(n,"setViewportItemIndex"),n}()},views:{rowsView:c}}})}(jQuery,DevExpress),function(n,t){var e=t.ui,u=t.utils,i=e.dxDataGrid,o="dx-datagrid-text-content",s="dx-datagrid-headers",r="dx-header-row",h="dx-datagrid-nowrap",c="dx-column-lines",l="context-menu-sort-asc",a="context-menu-sort-desc",v="context-menu-sort-none",y="dx-cell-focus-disabled",f=function(t,i,r){var u=n("<div />").addClass(o);return r?u.appendTo(t):u.css("float",i.alignment||"left").prependTo(t),u};i.ColumnHeadersView=i.ColumnsView.inherit({_getDefaultTemplate:function(n){var i=this,t,r=i.option("showColumnLines");return t=n.command?function(n,t){var i=t.column;n.html("&nbsp;"),n.addClass(i.cssClass)}:function(t,i){var u=f(t,i.column,r);u.text(n.caption)}},_getHeaderTemplate:function(n){return n.headerCellTemplate||this._getDefaultTemplate(n)},_processTemplate:function(n,t){var u=this,i,e=t.column,r=this.callBase(n);return i=r&&e.headerCellTemplate?{render:function(n,t){var i=f(t,n.column,u.option("showColumnLines"));r.render(n,i)}}:r},_handleDataChanged:function(){this._isGroupingChanged&&(this._isGroupingChanged=!1,this.render())},_renderCell:function(n,t){var i=this.callBase(n,t);return t.row.rowType==="header"&&(i.addClass(y),u.isDefined(t.column.command)||this.setAria({role:"columnheader",label:t.column.caption+" "+Globalize.localize("dxDataGrid-ariaColumn")},i)),i},_createRow:function(n){var t=this.callBase(n).toggleClass(c,this.option("showColumnLines"));return n.rowType==="header"&&t.addClass(r),t},_renderCore:function(){var n=this,t=n.element(),i=n._scrollLeft;t.addClass(s).toggleClass(h,!!n.option("columnAutoWidth")||!n.option("wordWrapEnabled")).empty(),n._setTableElement(n._renderTable()),n._scrollLeft=0,n.scrollOffset(i)},_renderTable:function(){var n=this.callBase.apply(this,arguments),t=this.element();return this.wrapTableInScrollContainer(n).appendTo(t),n},_getRows:function(){var n=[];return this.option("showColumnHeaders")&&n.push({rowType:"header"}),n},_getCellTemplate:function(n){if(n.rowType==="header")return this._getHeaderTemplate(n.column)},_afterRender:function(){this.processSizeChanged()},_columnOptionChanged:function(n){var i=n.changeTypes,t=n.optionNames;if(i.grouping){this._isGroupingChanged=!0;return}this.callBase(n),(t.width||t.visibleWidth)&&this.resizeCompleted.fire()},_isElementVisible:function(n){return n&&n.visible},getHeadersRowHeight:function(){var t=this._getTableElement(),n;return t?(n=t.find("."+r).first(),n&&n.height()):0},setColumnWidths:function(n){var t=this,i=t._scrollLeft;t.callBase(n),t._scrollLeft=0,t.scrollOffset(i)},processSizeChanged:function(){var n=this,t=n.element();u.isDefined(n._headersHeight)&&n._headersHeight===t.height()||(n._headersHeight=t.height(),n.sizeChanged.fire())},getHeaderElement:function(n){var t=this.getColumnElements();return t&&t.eq(n)},getColumnElements:function(){if(this.option("showColumnHeaders"))return this.getCellElements(0)},allowDragging:function(n,t){for(var u=this.getColumns(),f=0,r,e=function(n){return n.allowReordering||n.allowGrouping||n.allowHiding},i=0;i<u.length;i++)e(u[i])&&f++;if(f<=1)return!1;if(!t)return(this.option("allowColumnReordering")||this._columnsController.isColumnOptionUsed("allowReordering"))&&n&&n.allowReordering;for(i=0;i<t.length;i++)if(r=t[i],r&&r.allowDragging(n))return!0;return!1},getBoundingRect:function(){var n=this,t,i=n.getColumnElements();return i&&i.length?(t=n._getTableElement().offset(),{top:t.top}):null},getName:function(){return"headers"},getColumnCount:function(){var n=this.getColumnElements();return n?n.length:0},init:function(){var t=this;t.callBase(),t._scrollerWidth=0,t.sizeChanged=n.Callbacks()},isVisible:function(){return this.option("showColumnHeaders")},setScrollerSpacing:function(n){var t=this,i=t.element(),r=t.option("rtlEnabled");t._scrollerWidth=n,i&&i.css(r?{paddingLeft:n}:{paddingRight:n})},optionChanged:function(n){var t=this;switch(n.name){case"showColumnHeaders":case"wordWrapEnabled":case"showColumnLines":t.render(),n.handled=!0;break;default:t.callBase(n)}},getHeight:function(){var t=this,n=t.element();return n?n.height():0},getContextMenuItems:function(n){var f=this,e,t,u,i;if(n.closest("."+r).length)return(e=n.closest("td"),t=e.length&&f.getColumns(n)[e[0].cellIndex],i=f.option("sorting"),i&&i.mode!=="none"&&t&&t.allowSorting)?(u=function(n){setTimeout(function(){f._columnsController.changeSortOrder(t.index,n.itemData.value)})},[{text:i.ascendingText,value:"asc",disabled:t.sortOrder==="asc",icon:l,onItemClick:u},{text:i.descendingText,value:"desc",disabled:t.sortOrder==="desc",icon:a,onItemClick:u},{text:i.clearText,value:"none",disabled:!t.sortOrder,icon:v,onItemClick:u}]):[]}}),i.registerModule("columnHeaders",{defaultOptions:function(){return{showColumnHeaders:!0,cellHintEnabled:!0}},views:{columnHeadersView:i.ColumnHeadersView}})}(jQuery,DevExpress),function(n,t){var o=t.ui,r=t.utils,i=o.dxDataGrid,u={"=":"filter-operation-equals","<>":"filter-operation-not-equals","<":"filter-operation-less","<=":"filter-operation-less-equal",">":"filter-operation-greater",">=":"filter-operation-greater-equal","default":"filter-operation-default",notcontains:"filter-operation-not-contains",contains:"filter-operation-contains",startswith:"filter-operation-starts-with",endswith:"filter-operation-ends-with"},l=700,a="dx-datagrid",f="dx-datagrid-filter-row",v="dx-menu",tt="dx-menu-image",it="dx-datagrid-text-content",y="dx-editor-with-menu",p="dx-editor-container",w="dx-editor-cell",b="dx-filter-menu",k="dx-apply-button",e="dx-highlight-outline",s="dx-focused",d="dx-cell-focus-disabled",g="dx-texteditor",h={_columnOptionChanged:function(n){var t=this,s=n.optionNames,h,u,c,r,l,e,a;if(i.checkChanges(s,["filterValue","selectedFilterOperation"])&&n.columnIndex!==undefined){h=t.getController("columns").getVisibleIndex(n.columnIndex),u=t.getController("columns").columnOption(n.columnIndex),c=t.element().find("."+f).children().eq(h),r=c.find("."+g),s.filterValue&&r.length&&(l=r.data("dxComponents"),e=l.length&&r.data(l[0]),e instanceof o.Editor&&e&&e.option("value",u.filterValue)),s.selectedFilterOperation&&h>=0&&u&&(a=c.find("."+v),a.length&&t._updateFilterOperationChooser(a,u,r.parent()));return}t.callBase(n)},isFilterRowVisible:function(){return this._isElementVisible(this.option("filterRow"))},isVisible:function(){return this.callBase()||this.isFilterRowVisible()},init:function(){this.callBase(),this._applyFilterViewController=this.getController("applyFilter")},_createRow:function(n){var t=this.callBase(n);return n.rowType==="filter"&&t.addClass(f),t},_getRows:function(){var n=this.callBase();return this.isFilterRowVisible()&&n.push({rowType:"filter"}),n},_renderCellContent:function(t,i){var f=this,u=i.column,s=f._columnsController,o,e,h,c=function(n,t,i){(i===""&&(i=undefined),r.isDefined(t.filterValue)||r.isDefined(i))&&(n._applyFilterViewController.setHighLight(e,t.filterValue!==i),t.filterValue=i,s.columnOption(t.index,"filterValue",i))};i.rowType==="filter"&&(u.command?t.html("&nbsp;"):u.allowFiltering&&(f.setAria("label",Globalize.localize("dxDataGrid-ariaColumn")+" "+u.caption+", "+Globalize.localize("dxDataGrid-ariaFilterCell"),t),t.addClass(w),o=n("<div />").appendTo(t),e=n("<div />").addClass(p).appendTo(o),h=n("<div />").appendTo(e),f.getController("editorFactory").createEditor(h,n.extend({},u,{value:s.isDataSourceApplied()?u.filterValue:undefined,setValue:function(n){c(f,u,n)},parentType:"filterRow",showAllText:f.option("filterRow.showAllText"),updateValueTimeout:f.option("filterRow.applyFilter")==="onClick"?0:l,width:null})),u.alignment&&t.find("input").first().css("text-align",u.alignment),u.filterOperations&&u.filterOperations.length&&f._renderFilterOperationChooser(o,u,e))),f.callBase(t,i)},_updateFilterOperationChooser:function(n,t,i){var r=this,f;n.dxMenu({activeStateEnabled:!1,selectionMode:"single",cssClass:a+" "+d+" "+b,showFirstSubmenuMode:"onHover",hideSubmenuOnMouseLeave:!0,items:[{disabled:t.filterOperations&&t.filterOperations.length?!1:!0,icon:u[t.selectedFilterOperation||"default"],selectable:!1,items:r._getFilterOperationMenuItems(t)}],onItemClick:function(n){var u=n.itemData.name;n.itemData.items||(u?r._columnsController.columnOption(t.index,"selectedFilterOperation",u):r._columnsController.columnOption(t.index,{selectedFilterOperation:t.defaultSelectedFilterOperation,filterValue:undefined}),r._applyFilterViewController.setHighLight(i,!0),r._focusEditor(i))},onSubmenuShown:function(){f=r._isEditorFocused(i),r.getController("editorFactory").loseFocus()},onSubmenuHiding:function(){n.blur(),n.dxMenu("instance").option("focusedElement",null),f&&r._focusEditor(i)},rtlEnabled:r.option("rtlEnabled")})},_isEditorFocused:function(n){return n.hasClass(s)||n.parents("."+s).length},_focusEditor:function(n){this.getController("editorFactory").focus(n),n.find("input").focus()},_renderFilterOperationChooser:function(t,i,r){var u=this,f;u.option("filterRow.showOperationChooser")&&(t.addClass(y),f=n("<div />").prependTo(t),u._updateFilterOperationChooser(f,i,r))},_getFilterOperationMenuItems:function(t){var f=this,r=[{}],i=f.option("filterRow"),e=i&&i.operationDescriptions||{};return t.filterOperations&&t.filterOperations.length&&(r=n.map(t.filterOperations,function(n){return{name:n,selected:(t.selectedFilterOperation||t.defaultFilterOperation)===n,text:e[n],icon:u[n]}}),r.push({name:null,text:i&&i.resetOperationText,icon:u["default"]})),r},optionChanged:function(n){var t=this;switch(n.name){case"filterRow":case"showColumnLines":case"disabled":t.render(),n.handled=!0;break;default:t.callBase(n)}}},c={_calculateAdditionalFilter:function(){var t=this,u=[t.callBase()],f=t._columnsController.getVisibleColumns();return n.each(f,function(){var n;this.allowFiltering&&this.calculateFilterExpression&&r.isDefined(this.filterValue)&&(n=this.calculateFilterExpression(this.filterValue,this.selectedFilterOperation||this.defaultFilterOperation),u.push(n))}),i.combineFilters(u)}},nt={_createCalculatedColumnOptions:function(t){var i=this.callBase(t);return t.dataField?n.extend(i,{calculateFilterExpression:function(n,t,i){var o=this,u=o.dataField,s=null,f,e;if(o.dataType!=="string"||o.lookup)if(o.dataType==="date"&&r.isDate(n)){switch(i){case"year":f=new Date(n.getFullYear(),0,1),e=new Date(n.getFullYear()+1,0,1);break;case"month":f=new Date(n.getFullYear(),n.getMonth(),1),e=new Date(n.getFullYear(),n.getMonth()+1,1);break;default:f=new Date(n.getFullYear(),n.getMonth(),n.getDate()),e=new Date(n.getFullYear(),n.getMonth(),n.getDate()+1)}switch(t){case"<":return[u,"<",f];case"<=":return[u,"<",e];case">":return[u,">=",e];case">=":return[u,">=",f];case"<>":return[[u,"<",f],"or",[u,">=",e]];default:return[[u,">=",f],"and",[u,"<",e]]}}else s=[u,t||"=",n];else s=[u,t||"contains",n];return s},allowFiltering:!0}):n.extend(i,{allowFiltering:!!t.calculateFilterExpression}),i}};i.ApplyFilterViewController=i.ViewController.inherit({_isOnClick:function(){return this.option("filterRow.applyFilter")==="onClick"},_getHeaderPanel:function(){return this._headerPanel||(this._headerPanel=this.getView("headerPanel")),this._headerPanel},setHighLight:function(n,t){this._isOnClick()&&(n&&n.toggleClass(e,t),this._getHeaderPanel().enableApplyButton(t))},removeHighLights:function(){if(this._isOnClick()){var n=this.getView("columnHeadersView");n.element().find("."+f+" ."+e).removeClass(e),this._getHeaderPanel().enableApplyButton(!1)}}}),i.registerModule("filterRow",{defaultOptions:function(){return{filterRow:{visible:!1,showOperationChooser:!0,showAllText:Globalize.localize("dxDataGrid-filterRowShowAllText"),resetOperationText:Globalize.localize("dxDataGrid-filterRowResetOperationText"),applyFilter:"auto",applyFilterText:Globalize.localize("dxDataGrid-applyFilterText"),operationDescriptions:{"=":Globalize.localize("dxDataGrid-filterRowOperationEquals"),"<>":Globalize.localize("dxDataGrid-filterRowOperationNotEquals"),"<":Globalize.localize("dxDataGrid-filterRowOperationLess"),"<=":Globalize.localize("dxDataGrid-filterRowOperationLessOrEquals"),">":Globalize.localize("dxDataGrid-filterRowOperationGreater"),">=":Globalize.localize("dxDataGrid-filterRowOperationGreaterOrEquals"),startswith:Globalize.localize("dxDataGrid-filterRowOperationStartsWith"),contains:Globalize.localize("dxDataGrid-filterRowOperationContains"),notcontains:Globalize.localize("dxDataGrid-filterRowOperationNotContains"),endswith:Globalize.localize("dxDataGrid-filterRowOperationEndsWith")}}}},controllers:{applyFilter:i.ApplyFilterViewController},extenders:{controllers:{data:c,columns:nt},views:{columnHeadersView:h,headerPanel:{_isShowApplyFilterButton:function(){var n=this.option("filterRow");return n&&n.visible&&n.applyFilter==="onClick"},_renderCore:function(){var t=this,i=t._applyButton?t._applyButton.option("disabled"):!0;t.callBase(),t._$applyButton&&t._$applyButton.remove(),this._isShowApplyFilterButton()&&(t._$applyButton=n("<div>").addClass(k).dxButton({disabled:i,hint:t.option("filterRow.applyFilterText"),icon:"apply-filter",onClick:function(){t._dataController._applyFilter(),t._applyFilterViewController.removeHighLights()}}).appendTo(t.element()),t._applyButton=t._$applyButton.dxButton("instance"))},init:function(){this.callBase(),this._dataController=this.getController("data"),this._applyFilterViewController=this.getController("applyFilter")},enableApplyButton:function(n){this._applyButton&&this._applyButton.option("disabled",!n)},isVisible:function(){return this.callBase()||this._isShowApplyFilterButton()},optionChanged:function(n){n.name==="filterRow"?(this.render(),n.handled=!0):this.callBase(n)}}}}}),i.ColumnHeadersViewFilterRowExtender=h,i.DataControllerFilterRowExtender=c}(jQuery,DevExpress),function(n,t){var r=t.ui,i=r.dxDataGrid,u="dx-datagrid-header-panel";i.HeaderPanel=i.ColumnsView.inherit({_renderCore:function(){this.element().addClass(u)},getHeaderPanel:function(){return this.element()},getHeight:function(){var n=this.element();return n?n.outerHeight(!0):0},isVisible:function(){return!1},optionChanged:function(n){var t=this;switch(n.name){case"disabled":t.render(),n.handled=!0;break;default:t.callBase(n)}}}),i.registerModule("headerPanel",{defaultOptions:function(){return{}},views:{headerPanel:i.HeaderPanel}})}(jQuery,DevExpress),function(n,t){var s=t.ui,i=s.dxDataGrid,r=t.utils,u="dx-header-filter",f="dx-header-filter-menu",e="dx-header-filter-space",h="dx-datagrid-text-content";i.HeaderFilterController=i.ViewController.inherit({init:function(){this._columnsController=this.getController("columns"),this._dataController=this.getController("data"),this._headerFilterView=this.getView("headerFilterView")},getDataSource:function(r){var u=this,f,e,s=u.option("headerFilter"),h=u._dataController.dataSource().store(),o=function(t,u,f,e){var c,l,h;for(f=f||0,e=e||[],h=0;h<t.length;h++)c=t[h].key,r.lookup&&(c=r.lookup.calculateCellValue(c)),l=r.dataType==="date"?f===1?{format:{format:"month",dateType:"full"}}:{}:r,t[h].text=i.formatValue(c,l),e.push(t[h].key),t[h].filterValue=e.length===1?e[0]:e.join("/"),n.inArray(t[h].filterValue,r.filterValues)>-1^r.filterType==="exclude"&&(t[h].selected=!0),delete t[h].key,"items"in t[h]&&(f!==u&&t[h].text?o(t[h].items,u,f+1,e):(delete t[h].items,t[h].text||(t[h].text=s.texts.emptyValue))),e.pop()};return r.dataType==="date"?(e=[function(n){var t=r.calculateCellValue(n);return t&&t.getFullYear()},function(n){var t=r.calculateCellValue(n);return t&&t.getMonth()+1},function(n){var t=r.calculateCellValue(n);return t&&t.getDate()}],f=2):(e=n.proxy(r.calculateCellValue,r),f=0),{filter:u._dataController.getCombinedFilter(),store:h,postProcess:function(n){var i;return new t.data.ArrayStore(n).load({filter:this.filter(),group:e}).done(function(n){i=n}),o(i,f),i}}},getCurrentColumn:function(){return this._currentColumn},showHeaderFilterMenu:function(t){var i=this,u=i._columnsController.getColumns()[t],f;if(u){var o=i._columnsController.getVisibleIndex(t),e=u&&r.isDefined(u.groupIndex),s=e?i.getView("headerPanel"):i.getView("columnHeadersView"),h=s.getColumnElements().eq(e?u.groupIndex:o);i._currentColumn=u,f=n.extend({},u,{type:u.dataType==="date"?"tree":"list",apply:function(){i._currentColumn=null,i._columnsController.columnOption(t,{filterValues:this.filterValues,filterType:this.filterType})},cancel:function(){i._currentColumn=null}}),f.dataSource=i.getDataSource(f),i._headerFilterView.showHeaderFilterMenu(h,f)}},hideHeaderFilterMenu:function(){this._headerFilterView.hideHeaderFilterMenu()}}),i.HeaderFilterView=i.View.inherit({getPopupContainer:function(){return this._popupContainer},getListContainer:function(){return this._listContainer},applyHeaderFilter:function(t){var i=this,u=i.getListContainer(),o=u.element().find(".dx-checkbox").eq(0).hasClass("dx-checkbox-checked"),f=[],e=function(t,i,r){n.each(i,function(){!!this.selected^r?t.push(this.filterValue):this.items&&this.items.length&&e(t,this.items)})};o?r.isArray(t.filterValues)&&(t.filterValues=[],t.apply()):(t.type==="tree"&&(e(f,u.option("items"),t.filterType==="exclude"),t.filterValues=f),t.apply()),i.hideHeaderFilterMenu()},showHeaderFilterMenu:function(n,t){var i=this,r;t&&(i._initializePopupContainer(t),r=i.getPopupContainer(),i.hideHeaderFilterMenu(),i.updatePopup(n,t),r.show())},hideHeaderFilterMenu:function(){var n=this.getPopupContainer();n&&n.hide()},updatePopup:function(n,t){var i=this,r=t.alignment==="right"?"left":"right";i._popupContainer&&(i._cleanPopupContent(),i._popupContainer.option("position",{my:r+" top",at:r+" bottom",of:n,collision:"flip"}))},_cleanPopupContent:function(){this._popupContainer&&this._popupContainer.content().empty()},_initializePopupContainer:function(n){var t=this,f=t.element(),i=t.option("headerFilter"),u={width:i&&i.width||250,height:i&&i.height||300,visible:!1,shading:!1,showTitle:!1,showCloseButton:!1,closeOnTargetScroll:!0,closeOnOutsideClick:!0,onShown:function(){t._initializeListContainer(n)},buttons:[{toolbar:"bottom",location:"after",widget:"button",options:{text:i.texts.ok,onClick:function(){t.applyHeaderFilter(n)}}},{toolbar:"bottom",location:"after",widget:"button",options:{text:i.texts.cancel,onClick:function(){t.hideHeaderFilterMenu(),n.cancel&&n.cancel()}}}],rtlEnabled:t.option("rtlEnabled")};r.isDefined(t._popupContainer)?t._popupContainer.option(u):t._popupContainer=t._createComponent(f,"dxPopup",u)},_initializeListContainer:function(t){var i=this,r=i._popupContainer.content(),u={dataSource:t.dataSource,onContentReady:function(){i.renderCompleted.fire()}};i._listContainer=t.type==="tree"?i._createComponent(n("<div/>").appendTo(r),"dxTreeView",n.extend(u,{showCheckBoxes:!0,selectAllEnabled:!0,keyExpr:"id"})):i._createComponent(n("<div/>").appendTo(r),"dxList",n.extend(u,{pageLoadMode:"scrollBottom",pullRefreshEnabled:!0,showSelectionControls:!0,selectionMode:"all",onSelectionChanged:function(i){var r=i.component.option("items"),u=i.component.option("selectedItems");i.component._selectedItemsUpdating||(u.length===0&&r.length?(t.filterType="include",t.filterValues=[]):u.length===r.length&&(t.filterType="exclude",t.filterValues=[])),n.each(r,function(i,r){var f=n.inArray(r,u)>=0,o=!!r.selected,e;o!==f&&(r.selected=f,t.filterValues=t.filterValues||[],e=n.inArray(r.filterValue,t.filterValues),e>=0&&t.filterValues.splice(e,1),f^t.filterType==="exclude"&&t.filterValues.push(r.filterValue))})},onContentReady:function(i){var r=i.component,f=r.option("items"),u=r.option("selectedItems"),e=i.element.find(".dx-list-select-all-checkbox").dxCheckBox("instance");n.each(f,function(){this.selected&&u.push(this)}),r._selectedItemsUpdating=!0,r.option("selectedItems",u),r._selectedItemsUpdating=!1,t.filterValues&&t.filterValues.length&&e.option("value",undefined)}}))},_renderCore:function(){this.element().addClass(f)},init:function(){this._headerFilterController=this.getController("headerFilter")}});var o=i.headerFilterMixin={_applyColumnState:function(n){var r=n.rootElement,t=n.column,i;return n.name==="headerFilter"?(r.find("."+u+", ."+e).remove(),i=this.callBase(n).css("float",this._getColumnAlignment(t.alignment)==="right"?"left":"right"),i.toggleClass("dx-header-filter-empty",!t.filterValues||!t.filterValues.length),i):this.callBase(n)},optionChanged:function(n){n.name==="headerFilter"?(this.render(),n.handled=!0):this.callBase(n)}},c=n.extend({},o,{_renderCellContent:function(n,t){var i=this,f,u=t.column;!u.command&&!r.isDefined(u.groupIndex)&&u.allowFiltering&&i.option("headerFilter.visible")&&t.rowType==="header"&&(f=i._applyColumnState({name:"headerFilter",rootElement:n,column:u,showColumnLines:i.option("showColumnLines")}),i._subscribeToIndicatorEvent(f,u,"headerFilter")),i.callBase(n,t)},_subscribeToIndicatorEvent:function(n,t,i){var r=this;if(i==="headerFilter")n.on("dxclick",r.createAction(function(n){var i=n.jQueryEvent;i.stopPropagation(),r.getController("headerFilter").showHeaderFilterMenu(t.index)}))},_updateIndicator:function(n,t,i){var r=this.callBase(n,t,i);r&&this._subscribeToIndicatorEvent(r,t,i)},_resizeCore:function(){this.callBase(),this._updateIndicatorHeights("headerFilter")},_columnOptionChanged:function(n){var t=n.optionNames;if(i.checkChanges(t,["filterValues","filterType"])){this._updateIndicators("headerFilter");return}this.callBase(n)},_afterRender:function(){this.callBase.apply(this,arguments),this._updateIndicatorHeights("headerFilter")}}),l=n.extend({},o,{_createGroupPanelItem:function(n,t){var i=this,r=i.callBase.apply(i,arguments),u;if(!t.command&&t.allowFiltering&&i.option("headerFilter.visible")){u=i._applyColumnState({name:"headerFilter",rootElement:r,column:{alignment:i.option("rtlEnabled")?"right":"left"},showColumnLines:!0});u.on("dxclick",i.createAction(function(n){var r=n.jQueryEvent;r.stopPropagation(),i.getController("headerFilter").showHeaderFilterMenu(t.index)}))}return r},_renderGroupPanelItems:function(){this.callBase.apply(this,arguments),this._updateIndicatorHeights("headerFilter")},_resizeCore:function(){this.callBase(),this._updateIndicatorHeights("headerFilter")}}),a={_calculateAdditionalFilter:function(){var t=this,f=[t.callBase()],e=t._columnsController.getVisibleColumns(),o=t.getController("headerFilter"),u=o.getCurrentColumn();if(!u||!u.filterValues||!u.filterValues.length)return n.each(e,function(t,i){var o,u,e;i.allowFiltering&&i.calculateFilterExpression&&r.isArray(i.filterValues)&&i.filterValues.length&&(u=[],e=i.filterType==="exclude",n.each(i.filterValues,function(n,t){var f=t,s,h,c;i.dataType==="date"&&r.isDefined(f)?(s=(""+f).split("/"),h=["year","month","day"],c=h[s.length-1],f=new Date(s[0],(s[1]||1)-1,s[2]||1)):i.deserializeValue&&(f=i.deserializeValue(f)),o=i.calculateFilterExpression(f,e?"<>":"=",c),u.length>0&&u.push(e?"and":"or"),u.push(o)}),f.push(u))}),i.combineFilters(f)}};i.registerModule("headerFilter",{defaultOptions:function(){return{headerFilter:{visible:!1,width:252,height:300,texts:{emptyValue:Globalize.localize("dxDataGrid-headerFilterEmptyValue"),ok:Globalize.localize("dxDataGrid-headerFilterOK"),cancel:Globalize.localize("dxDataGrid-headerFilterCancel")}}}},controllers:{headerFilter:i.HeaderFilterController},views:{headerFilterView:i.HeaderFilterView},extenders:{controllers:{data:a},views:{columnHeadersView:c,headerPanel:l}}}),n.extend(i.__internals,{DATAGRID_HEADER_FILTER_CLASS:u,DATAGRID_HEADER_FILTER_MENU_CLASS:f,DATAGRID_HEADER_FILTER_SPACE_CLASS:e,DATAGRID_CELL_CONTENT_CLASS:h})}(jQuery,DevExpress),function(n,t){var f=t.ui,i=f.dxDataGrid,e=f.events,r=t.utils,u="dx-sort",o="dx-sort-space",s="dx-sort-up",h="dx-sort-down",c="dx-datagrid-action",v="dx-datagrid-text-content",y="dx-indicator-alignment-",p="dx-column-indicators",w="dxDataGridColumnHeadersView",l=1,a=i.sortingMixin={_applyColumnState:function(t){var f=this,l=f.option("sorting.mode"),e=t.rootElement,i=t.column,a=e.find("."+p),b=function(n){return n==="right"?"left":"right"},w;if(t.name==="sort"){if((l==="single"||l==="multiple")&&i.allowSorting&&t.rootElement.addClass(c),e.find("."+u+", ."+o).remove(),a.children().length||a.remove(),r.isDefined(i.sortOrder)){var v=f._getColumnAlignment(i.alignment),k=b(v),d=i.sortOrder==="asc"?"ascending":"descending";return f.setAria("sort",d,e),i.alignment==="center"&&n("<span />").addClass(o).toggleClass(y+k,!t.showColumnLines).css("float",v).prependTo(e),w=f.callBase(t).toggleClass(s,i.sortOrder==="asc").toggleClass(h,i.sortOrder==="desc")}f.setAria("sort","none",e)}else return f.callBase(t)},_updateIndicator:function(n,t,i){i==="sort"&&r.isDefined(t.groupIndex)||this.callBase.apply(this,arguments)}},b=n.extend({},a,{_updateIndicatorHeight:function(n,t){this.callBase(n,t),this.option("showColumnLines")||this._setColumnTextWidth(n,n.outerWidth())},_setColumnTextWidth:function(n,t){var i=n.find("."+u),r=i.outerWidth(),f=n.outerWidth()-n.width(),e=r+f;n.find("."+v).css("max-width",t-e-l)},_renderCellContent:function(n,t){var i=this,u=t.column;if(!u.command&&t.rowType==="header"){n.on(e.addNamespace("dxclick",w),i.createAction(function(n){var t=null,f=n.jQueryEvent;setTimeout(function(){f.shiftKey?t="shift":f.ctrlKey&&(t="ctrl"),u&&!r.isDefined(u.groupIndex)&&i._columnsController.changeSortOrder(u.index,t)})}));i._applyColumnState({name:"sort",rootElement:n,column:u,showColumnLines:i.option("showColumnLines")})}i.callBase(n,t)},_columnOptionChanged:function(n){var t=n.changeTypes,i=n.optionNames;if(t.length===1&&t.sorting){this._updateIndicators("sort");return}this.callBase(n),(i.width||i.visibleWidth)&&this._updateIndicatorHeights("sort")},_resizeCore:function(){this.callBase(),this._updateIndicatorHeights("sort")},_afterRender:function(){this.callBase.apply(this,arguments),this._updateIndicatorHeights("sort")},optionChanged:function(n){var t=this;switch(n.name){case"sorting":t.render(),n.handled=!0;break;default:t.callBase(n)}}}),k=n.extend({},a,{_createGroupPanelItem:function(n,t){var i=this,r=i.callBase.apply(i,arguments);r.on(e.addNamespace("dxclick","dxDataGridHeaderPanel"),i.createAction(function(){setTimeout(function(){i.getController("columns").changeSortOrder(t.index)})}));return i._applyColumnState({name:"sort",rootElement:r,column:{alignment:i.option("rtlEnabled")?"right":"left",allowSorting:t.allowSorting,sortOrder:t.sortOrder==="desc"?"desc":"asc"},showColumnLines:!0}),r},_renderGroupPanelItems:function(){this.callBase.apply(this,arguments),this._updateIndicatorHeights("sort")},_resizeCore:function(){this.callBase(),this._updateIndicatorHeights("sort")},optionChanged:function(n){var t=this;switch(n.name){case"sorting":t.render(),n.handled=!0;break;default:t.callBase(n)}}});i.registerModule("sorting",{defaultOptions:function(){return{sorting:{mode:"single",ascendingText:Globalize.localize("dxDataGrid-sortingAscendingText"),descendingText:Globalize.localize("dxDataGrid-sortingDescendingText"),clearText:Globalize.localize("dxDataGrid-sortingClearText")}}},extenders:{views:{columnHeadersView:b,headerPanel:k}}}),n.extend(i.__internals,{DATAGRID_SORT_CLASS:u,DATAGRID_SORTUP_CLASS:s,DATAGRID_SORTDOWN_CLASS:h,DATAGRID_HEADERS_ACTION_CLASS:c,DATAGRID_BORDER_COLLAPSE_CORRECTION:l})}(jQuery,DevExpress),function(n,t){function u(n){return e.isDefined(n.allowSearch)?n.allowSearch:n.allowFiltering}var f=t.ui,e=t.utils,i=f.dxDataGrid,o="dx-datagrid-search-panel",r="dx-datagrid-search-text",s=700;i.registerModule("search",{defaultOptions:function(){return{searchPanel:{visible:!1,width:160,placeholder:Globalize.localize("dxDataGrid-searchPanelPlaceholder"),highlightSearchText:!0,text:""}}},extenders:{controllers:{data:function(){var n=function(n,r){function l(n){for(var u=t.data.utils.compileGetter(e.valueExpr),r,i=0;i<n.length;i++)r=u(n[i]),h.push(f.calculateFilterExpression(r))}var s,f,c=n._columnsController.getColumns(),o,e,h=[];if(!r)return null;for(s=0;s<c.length;s++)f=c[s],u(f)&&f.calculateFilterExpression&&(e=f.lookup,e&&e.items?(o=f.parseValue.call(e,r),t.data.query(e.items).filter(f.calculateFilterExpression.call({dataField:e.displayExpr,dataType:e.dataType},o)).enumerate().done(l)):(o=f.parseValue?f.parseValue(r):r,o!==undefined&&h.push(f.calculateFilterExpression(o))));return i.combineFilters(h,"or")};return{publicMethods:function(){return this.callBase().concat(["searchByText"])},_calculateAdditionalFilter:function(){var t=this,r=t.callBase(),u=n(t,t.option("searchPanel.text"));return i.combineFilters([r,u])},searchByText:function(n){this.option("searchPanel.text",n)},optionChanged:function(n){var t=this;switch(n.fullName){case"searchPanel.text":case"searchPanel":t._applyFilter(),n.handled=!0;break;default:t.callBase(n)}}}}()},views:{headerPanel:function(){var t=function(n){return n.option("searchPanel")};return{_renderSearchPanel:function(){var i=this,u=i.element(),f=i.getController("data"),r=t(i);r&&r.visible?(i._$searchPanel?i._$searchPanel.show():(i._$searchPanel=n("<div/>").addClass(o).prependTo(u),i.setAria("label",Globalize.localize("dxDataGrid-ariaSearchInGrid"),i._$searchPanel)),i.getController("editorFactory").createEditor(i._$searchPanel,{width:r.width,placeholder:r.placeholder,parentType:"searchPanel",value:i.option("searchPanel.text"),updateValueTimeout:s,setValue:function(n){f.searchByText(n)}}),i.resize()):i._$searchPanel&&i._$searchPanel.hide()},_renderCore:function(){this.callBase(),this._renderSearchPanel()},focus:function(){var n=this._$searchPanel.dxTextBox("instance");n&&n.focus()},isVisible:function(){var n=t(this);return this.callBase()||n&&n.visible},optionChanged:function(n){n.name==="searchPanel"?(this._renderSearchPanel(),n.handled=!0):this.callBase(n)}}}(),rowsView:{_highlightSearchText:function(t,i){var e=this,f,o,u=e.option("searchPanel.text");u&&e.option("searchPanel.highlightSearchText")&&(o=n("<div>").text(u).html(),f=t.parent(),f.length||(f=n("<div>").append(t)),n.each(f.find(":dxicontains('"+u+"')"),function(t,f){n.each(n(f).contents(),function(t,f){if(f.nodeType===3){var e=function(t,i){var o=n("<span />").addClass(r),u=t.text(),f=u.toLowerCase().indexOf(i.toLowerCase());if(f>=0)return t[0].textContent?t[0].textContent=u.substr(0,f):t[0].nodeValue=u.substr(0,f),t.after(o.text(u.substr(f,i.length))),t=n(document.createTextNode(u.substr(f+i.length))).insertAfter(o),e(t,i)};i?n(f).text().toLowerCase()===u.toLowerCase()&&n(this).replaceWith(n("<span />").addClass(r).text(n(f).text())):e(n(f),u)}})}))},_renderRows:function(n,t){this.callBase(n,t),this.option("rowTemplate")&&this._highlightSearchText(n)},_updateCell:function(n,t){var i=this,r=t.column,f=r.dataType!=="string";u(r)&&i._highlightSearchText(n,f),i.callBase(n,t)}}}}})}(jQuery,DevExpress),function(n,t){var c=t.ui,i=t.utils,r=c.dxDataGrid,b="dx-datagrid-text-content",f="dx-group-row",l="dx-datagrid-rowsview",k="dx-datagrid-table",a="dx-data-row",u="dx-freespace-row",e="dx-datagrid-nodata",o="dx-datagrid-content",v="dx-datagrid-nowrap",y="dx-row-lines",s="dx-column-lines",p="dx-row-alt",w=200,h=function(n){var i=n.option("scrolling.useNativeScrolling"),r={direction:"both",rtlEnabled:n.option("rtlEnabled")||t.rtlEnabled,disabled:n.option("disabled"),bounceEnabled:!1,useKeyboard:!1};return i===undefined&&(i=!0),i!=="auto"&&(r.useNative=!!i,r.useSimulatedScrollbar=!i),r};r.createScrollableOptions=h,r.RowsView=r.ColumnsView.inherit({_getDefaultTemplate:function(n){switch(n.command){case"empty":return function(n){n.html("&nbsp;")};default:return function(t,i){var r=!i.text&&i.rowType==="data",u=r?"&nbsp;":i.text;n.encodeHtml&&!r?t.text(u):t.html(u)}}},_getDefaultGroupTemplate:function(){var n=this,t=n.option("summary.texts");return function(n,i){var f=i.data,u=i.column.caption+": "+i.text;i.summaryItems&&i.summaryItems.length&&(u+=" "+r.getGroupRowSummaryText(i.summaryItems,t)),f&&(i.groupContinuedMessage&&i.groupContinuesMessage?u+=" ("+i.groupContinuedMessage+". "+i.groupContinuesMessage+")":i.groupContinuesMessage?u+=" ("+i.groupContinuesMessage+")":i.groupContinuedMessage&&(u+=" ("+i.groupContinuedMessage+")")),n.text(u)}},_update:function(){},_getColumnTemplate:function(n){var r=this,t=n.column,i;return i=n.rowType==="group"&&t.groupIndex!==undefined?t.groupCellTemplate||r._getDefaultGroupTemplate():t.cellTemplate||r._getDefaultTemplate(t)},_getCellTemplate:function(n){return this._getColumnTemplate(n)},_createRow:function(n){var r=this.callBase(n),u,t,e;return n&&(u=n.rowType==="group",t=n.rowType==="data",r.toggleClass(a,t).toggleClass(p,t&&n.dataIndex%2==1&&this.option("rowAlternationEnabled")).toggleClass(y,t&&this.option("showRowLines")).toggleClass(s,this.option("showColumnLines")).toggleClass(f,u),u&&(e=n.isExpanded,this.setAria({role:"rowgroup",expanded:i.isDefined(e)&&e.toString()},r))),r},_createTable:function(){var t=this;return t.callBase.apply(t,arguments).on("dxclick",".dx-row",t.createAction(function(i){var r=i.jQueryEvent;n(r.target).closest("a").length||(i.rowIndex=t.getRowIndex(r.currentTarget),i.rowElement=n(r.currentTarget),t._rowClick(i))}))},_renderScrollable:function(){var i=this,t=i.element();t.children().length||t.append("<div />"),i._renderLoadPanel(t),i._renderScrollableCore(t)},_handleScroll:function(n){var t=this;t._scrollTop=n.scrollOffset.top,t._scrollLeft=n.scrollOffset.left,t.scrollOffsetChanged.fire(n.scrollOffset)},_renderScrollableCore:function(t){var i=this,r=h(i),u=n.proxy(i._handleScroll,i);r.onScroll=u,r.onStop=u,t.dxScrollable(r),i._scrollable=t.data("dxScrollable"),i._scrollableContainer=i._scrollable._$container},_renderLoadPanel:function(t){var r=this,i;t.dxLoadPanel&&(r._loadPanel&&r._loadPanel.element().remove(),i=r.option("loadPanel"),i&&i.enabled?(i=n.extend({shading:!1,message:i.text,position:{of:t},container:t},i),r._loadPanel=r._createComponent(n("<div />").appendTo(t.parent()),"dxLoadPanel",i)):r._loadPanel=null)},_renderContent:function(t,i){return t.replaceWith(n("<div>").addClass(o).append(i)),this._findContentElement()},_updateContent:function(t,r,u){var f=this,s=f._getTableElement(),h=r&&r.changeType,e=[];switch(h){case"update":n.each(r.rowIndices,function(n,t){var o=f._getRowElements(u).eq(n),c=r.changeTypes[n],h=r.items&&r.items[n];e.push(function(){var r=f._getRowElements(),n=r.eq(t);switch(c){case"update":i.isDefined(h.visible)&&h.visible!==n.is(":visible")?n.toggle(h.visible):n.replaceWith(o);break;case"insert":r.length?n.length?o.insertBefore(n):o.insertAfter(r.last()):o.prependTo(s);break;case"remove":n.remove()}})}),n.each(e,function(){this()});break;default:f._setTableElement(u),t.addClass(o),f._renderContent(t,u)}},_renderFreeSpaceRow:function(n){var t=this,i,r=t._createRow(),f=this.getColumns();for(r.addClass(u).toggleClass(s,t.option("showColumnLines")),i=0;i<f.length;i++)r.append(t._createCell(f[i]));t._appendRow(n,r)},_needUpdateRowHeight:function(n){return n>0&&!this._rowHeight},_updateRowHeight:function(){var n=this,r=n._getTableElement(),i,u=n._dataController.items().length,t;r&&n._needUpdateRowHeight(u)&&(i=r.outerHeight(),t=n._getFreeSpaceRowElements().first(),t&&t.is(":visible")&&(i-=t.outerHeight()),n._rowHeight=i/u)},_findContentElement:function(){var t=this.element(),n;if(t)return n=t.find(".dx-scrollable-content"),n||(n=t),n.children().first()},_getRowElements:function(n){var t=this.callBase(n);return t&&t.not("."+u)},_getFreeSpaceRowElements:function(){var n=this._getTableElements();return n&&n.children("tbody").children("."+u)},_getNoDataText:function(){return this.option("noDataText")},_updateNoDataText:function(t){t=t||this.element();var i=t.find("."+e),f=this._dataController.isEmpty(),o=this._dataController.isLoading(),r=this.option("rtlEnabled"),u={};i.length||(i=n("<span>").addClass(e).hide().appendTo(t)),i.text(this._getNoDataText()),u={marginTop:-Math.floor(i.height()/2),marginRight:r?-Math.floor(i.width()/2):0,marginLeft:r?0:-Math.floor(i.width()/2)},i.css(u),f&&!o?i.show():i.hide()},_rowClick:function(i){var r=this._dataController.items()[i.rowIndex]||{};this.executeAction("onRowClick",n.extend({columns:this.getColumns(),evaluate:function(n){var i=t.data.utils.compileGetter(n);return i(r.data)}},i,r))},_getGroupCellOptions:function(n){var t=(n.row.groupIndex||0)+n.columnsCountBeforeGroups;return{columnIndex:t,colspan:n.columns.length-t-1}},_renderCells:function(n,t){t.row.rowType==="group"?this._renderGroupedCells(n,t):t.row.values&&this.callBase(n,t)},_renderGroupedCells:function(t,i){for(var s,u=i.row,e=i.columns,h=u.rowIndex,o,c,l,f=this._getGroupCellOptions(i),r=0;r<=f.columnIndex;r++)o=r===f.columnIndex&&e[r].allowCollapsing&&i.scrollingMode!=="infinite"?!!u.isExpanded:null,this._renderCell(t,{value:o,row:u,rowIndex:h,column:{command:"expand",cssClass:e[r].cssClass},columnIndex:r});l=this.option("rtlEnabled")?"right":"left",c=n.extend({},e[f.columnIndex],{command:null,cssClass:null,alignment:l}),s=this._renderCell(t,{value:u.values[u.groupIndex],row:u,rowIndex:h,column:c,columnIndex:f.columnIndex}),s.attr("colspan",f.colspan)},_renderRows:function(t,i){for(var u=this,f=i.columns,e=0,o=u.option("scrolling.mode"),r=0;r<f.length;r++)if(f[r].command==="expand"){e=r;break}u.callBase(t,n.extend({scrollingMode:o,columnsCountBeforeGroups:e},i)),u._renderFreeSpaceRow(t)},_renderRow:function(t,r){var f=this,u=r.row,e=f.option("rowTemplate");(u.rowType==="data"||u.rowType==="group")&&!i.isDefined(u.groupIndex)&&e?f._renderTemplate(t,e,n.extend({columns:r.columns},u)):f.callBase(t,r)},_renderTable:function(n){var t=this.callBase(n);return i.isDefined(this._getTableElement())||(this._setTableElement(t),this._renderScrollable(t)),t},_renderCore:function(n){var t=this,i,r,u=t.element();u.addClass(l).toggleClass(v,!t.option("wordWrapEnabled")),i=t._renderTable({change:n}),r=t._findContentElement(),t._updateContent(r,n,i),t.callBase(n),t._lastColumnWidths=null},_getRows:function(n){return n&&n.items||this._dataController.items()},_getCellOptions:function(t){var h=this,o,f=t.column,u=t.row,e=u.data,c=u&&u.summaryCells,l=t.value,a=r.getDisplayValue(f,l),s=h.option("grouping"),v=h.option("scrolling.mode");return o=n.extend(this.callBase(t),{value:l,displayValue:a,row:u,key:u.key,data:e,rowType:u.rowType,values:u.values,text:!i.isDefined(f.command)&&r.formatValue(a,f),rowIndex:u.rowIndex,summaryItems:c&&c[t.columnIndex],resized:f.resizedCallbacks}),i.isDefined(f.groupIndex)&&v!=="virtual"&&v!=="infinite"&&(o.groupContinuesMessage=e&&e.isContinuationOnNextPage&&s&&s.groupContinuesMessage,o.groupContinuedMessage=e&&e.isContinuation&&s&&s.groupContinuedMessage),o},getRow:function(t){var i=this._getRowElements();if(i.length>t)return n(i[t])},getCell:function(t,i){var u=i||this._getRowElements(),r;if(u.length>0&&t.rowIndex>=0&&(t.rowIndex=t.rowIndex<u.length?t.rowIndex:u.length-1,r=u[t.rowIndex].cells,r&&r.length>0))return n(r[r.length>t.columnIndex?t.columnIndex:r.length-1])},getCellIndex:function(n){return n.length?n[0].cellIndex:-1},updateFreeSpaceRowHeight:function(){var n=this,f,e=n._findContentElement(),t=n._getFreeSpaceRowElements(),o=0,i,r,u;t&&e&&(t.hide(),f=n.element().height(),o=e.outerHeight(),u=f-o-n.getScrollbarWidth(!0),n._dataController.items().length>0?u>0||!n._dataController.items().length?(t.height(u),t.show()):n._hasHeight||(i=n._dataController.pageSize()-n._dataController.items().length,r=n.option("scrolling.mode"),i>0&&n._dataController.pageCount()>1&&r!=="virtual"&&r!=="infinite"&&(t.height(i*n._rowHeight),t.show())):(t.height(0),t.show()))},_columnOptionChanged:function(n){var t=n.optionNames;n.changeTypes.grouping||(t.width||t.visibleWidth)&&(this.callBase(n),this._fireColumnResizedCallbacks())},getScrollable:function(){return this._scrollable},callbackNames:function(){return["scrollOffsetChanged"]},init:function(){var n=this,t=n.getController("data"),i;n.callBase(),n._editorFactoryController=n.getController("editorFactory"),n._rowHeight=0,n._scrollTop=0,n._scrollLeft=0,n._hasHeight=!1,t.loadingChanged.add(function(t,i){n.setLoading(t,i)}),n.createAction("onRowClick"),i=function(){n.scrollToPage(t.pageIndex())},t.pageIndexChanged.add(i),t.pageSizeChanged.add(i),t.filterChanged.add(i),t.dataSourceChanged.add(function(){n._handleScroll({scrollOffset:{top:n._scrollTop,left:n._scrollLeft}})})},_handleDataChanged:function(n){var t=this;switch(n.changeType){case"refresh":case"prepend":case"append":case"update":t.render(null,n);break;default:t._update(n)}},publicMethods:function(){return["isScrollbarVisible","getTopVisibleRowData","getScrollbarWidth","getCellElement"]},contentWidth:function(){return this.element().width()-this.getScrollbarWidth()},getScrollbarWidth:function(n){var t=this._scrollableContainer&&this._scrollableContainer.get(0),i=0;return t&&(i=n?t.offsetHeight-t.clientHeight:t.offsetWidth-t.clientWidth),i},_fireColumnResizedCallbacks:function(){for(var u=this,f=u._lastColumnWidths||[],r=[],t=u.getColumns(),n=0;n<t.length;n++)r[n]=t[n].visibleWidth,t[n].resizedCallbacks&&!i.isDefined(t[n].groupIndex)&&f[n]!==r[n]&&t[n].resizedCallbacks.fire(r[n]);u._lastColumnWidths=r},_resizeCore:function(){var n=this,t;n.callBase(),n._fireColumnResizedCallbacks(),n._updateRowHeight(),n._updateNoDataText(),n.updateFreeSpaceRowHeight(),t=n.element().data("dxScrollable"),t&&t.update(),n.setLoading(n._dataController.isLoading())},scrollToPage:function(n){var t=this,r=t.option("scrolling.mode"),u=t._dataController,f=u?u.pageSize():0,i;i=r==="virtual"||r==="infinite"?n*t._rowHeight*f:0,t.scrollTo({y:i,x:t._scrollLeft})},scrollTo:function(n){var t=this.element(),i=t&&t.data("dxScrollable");i&&i.scrollTo(n)},height:function(n){var u=this,t=this.element(),r;if(i.isDefined(n))u._hasHeight=n!=="auto",t&&t.height(n),r=this._getFreeSpaceRowElements(),r&&r.hide();else return t?t.height():0},setLoading:function(n,t){var i=this,r=i._loadPanel,e=i._dataController,f=i.option("loadPanel")||{},o=e.isLoaded()?f.animation:null,u;r&&(u={message:t||f.text,animation:o,visible:n},clearTimeout(i._hideLoadingTimeoutID),r.option("visible")&&!n?i._hideLoadingTimeoutID=setTimeout(function(){r.option(u)},w):r.option(u),i._updateNoDataText())},isScrollbarVisible:function(){var n=this.element();return n?this._findContentElement().outerHeight()-n.height()>0:!1},setRowsOpacity:function(t,i){var r=this,u=r._getRowElements().not("."+f)||[];n.each(u,function(r,u){n(u).children().eq(t).css({opacity:i})})},getTopVisibleItemIndex:function(){var t=this,n=0,f=0,i=0,e,o=t._scrollTop,h=t._findContentElement().offset().top,r=t._dataController.items(),s=t._getTableElement();if(r.length&&s){for(e=s.children("tbody").children(".dx-row:visible, .dx-error-row").not("."+u),n=0;n<r.length;n++)if(f=i,i=e.eq(n).offset().top-h,i>o){o*2<i+f&&n&&n--;break}n&&n===r.length&&n--}return n},getTopVisibleRowData:function(){var n=this.getTopVisibleItemIndex(),t=this._dataController.items();if(t[n])return t[n].data},optionChanged:function(n){var t=this;t.callBase(n);switch(n.name){case"wordWrapEnabled":case"hoverStateEnabled":case"showColumnLines":case"showRowLines":case"rowAlternationEnabled":case"rowTemplate":t.render(),t.component.resize(),n.handled=!0;break;case"scrolling":t._rowHeight=null,t._tableElement=null,n.handled=!0;break;case"rtlEnabled":t._rowHeight=null,t._tableElement=null;break;case"disabled":case"loadPanel":t._tableElement=null,t.render(),t.component.resize(),n.handled=!0;break;case"noDataText":t._updateNoDataText(),n.handled=!0}},dispose:function(){clearTimeout(this._hideLoadingTimeoutID)},setScrollerSpacing:function(){}}),r.registerModule("rows",{defaultOptions:function(){return{hoverStateEnabled:!1,loadPanel:{enabled:!0,text:Globalize.localize("Loading"),width:200,height:70,showIndicator:!0,indicatorSrc:"",showPane:!0},rowTemplate:null,columnAutoWidth:!1,noDataText:Globalize.localize("dxDataGrid-noDataText"),wordWrapEnabled:!1,showColumnLines:!0,showRowLines:!1,rowAlternationEnabled:!1,activeStateEnabled:!1}},views:{rowsView:r.RowsView}})}(jQuery,DevExpress),function(n,t){var u=t.ui,r=t.utils,i=u.dxDataGrid,f="dx-datagrid-pager",e=10;i.PagerView=i.View.inherit({init:function(){var n=this,t=n.getController("data");n._isVisible=!1,t.changed.add(function(){n.render()})},_getPager:function(){var n=this.element();return n&&n.data("dxPager")},_renderCore:function(){var t=this,o=t.element().addClass(f),i=t.option("pager")||{},n=t.getController("data"),u={maxPagesCount:e,pageIndex:n.pageIndex()+1,pageCount:n.pageCount(),pageSize:n.pageSize(),showPageSizes:i.showPageSizeSelector,showInfo:i.showInfo,showNavigationButtons:i.showNavigationButtons,pageSizes:t.getPageSizes(),hasKnownLastPage:n.hasKnownLastPage(),pageIndexChanged:function(t){n.pageIndex()!==t-1&&setTimeout(function(){n.pageIndex(t-1)})},pageSizeChanged:function(t){setTimeout(function(){n.pageSize(t)})}};r.isDefined(i.infoText)&&(u.infoText=i.infoText),t._createComponent(o,"dxPager",u)},getPageSizes:function(){var t=this,e=t.getController("data"),u=t.option("pager"),f=u&&u.allowedPageSizes,i=e.pageSize();return r.isDefined(t._pageSizes)&&n.inArray(i,t._pageSizes)!==-1||(t._pageSizes=[],u&&(n.isArray(f)?t._pageSizes=f:f&&i>1&&(t._pageSizes=[Math.floor(i/2),i,i*2]))),t._pageSizes},isVisible:function(){var n=this,i=n.getController("data"),u=n.option("pager"),t=u&&u.visible,r=n.option("scrolling");return n._isVisible?!0:(t==="auto"&&(t=r&&(r.mode==="virtual"||r.mode==="infinite")?!1:i.pageCount()>1||i.isLoaded()&&!i.hasKnownLastPage()),n._isVisible=t,t)},getHeight:function(){var n=this._getPager();return n&&this.isVisible()?n.getHeight():0},optionChanged:function(n){var t=this,i=n.name,r=i==="pager",u=i==="paging",f=i==="scrolling";(r||u||f)&&((r||u)&&(t._pageSizes=null),t._isVisible=!1,t.render(),r&&t.component&&t.component.resize(),n.handled=!0)}}),i.registerModule("pager",{defaultOptions:function(){return{pager:{visible:"auto",showPageSizeSelector:!1,allowedPageSizes:"auto"}}},views:{pagerView:i.PagerView}})}(jQuery,DevExpress),function(n,t){var i=t.ui.dxDataGrid,r=t.utils,u="dx-datagrid",c="dx-hidden",l="dx-datagrid-table",f="dx-datagrid-borders",a="dx-datagrid-table-fixed",p="dx-datagrid-headers-hidden",e="dx-datagrid-important-margin",v=100,y=50,o=["columnsSeparatorView","blockSeparatorView","trackerView","headerPanel","columnHeadersView","rowsView","footerView","columnChooserView","pagerView","draggingHeaderView","contextMenuView","errorView","headerFilterView"],s=function(n){return r.isString(n)&&n.slice(-1)==="%"},h=function(n,t){var r=[],i;if(n&&t&&n.length&&n.length===t.length)for(i=0;i<n.length;i++)r.push(n[i]>t[i]?n[i]:t[i]);else n&&(r=n);return r};i.ResizingController=i.ViewController.inherit({_initPostRenderHandlers:function(){var n=this;n._refreshSizesHandler||(n._refreshSizesHandler=function(t){n._dataController.changed.remove(n._refreshSizesHandler);var i=t&&t.changeType;t&&i!=="refresh"&&i!=="prepend"&&i!=="append"&&i!=="update"||n.resize(),i&&(r.triggerShownEvent(n.getView("rowsView").element()),n.component._fireContentReadyAction())},n._dataController.changed.add(function(){n._dataController.changed.add(n._refreshSizesHandler)}),n._columnHeadersView.sizeChanged.add(n._refreshSizesHandler))},_getBestFitWidths:function(){var n=this,i=n._rowsView.getColumnWidths(),r=n._columnHeadersView&&n._columnHeadersView.getColumnWidths(),u=n._footerView&&n._footerView.getColumnWidths(),t;return t=h(i,r),t=h(t,u)},_setVisibleWidths:function(t,i){var r=this._columnsController;r.beginUpdate(),n.each(t,function(n,t){var u=t.command?"command:"+t.command:t.index;r.columnOption(u,"visibleWidth",i[n])}),r.endUpdate()},_toggleBestFitMode:function(n){var t=this.component.element();t.find("."+l).toggleClass(a,!n),t.find("input").toggleClass(c,n)},_synchronizeColumns:function(){var t=this,e=t._columnsController,i=e.getVisibleColumns(),f=t.option("columnAutoWidth"),u=f,o=!1,r=[],s=function(){var t;n.each(i,function(n,i){i.command==="expand"&&(t=r[n])}),n.each(i,function(n,i){i.command==="expand"&&t&&(r[n]=t)})};u||n.each(i,function(n,t){if(t.width==="auto")return u=!0,!1}),t._setVisibleWidths(i,[]),u&&(t._toggleBestFitMode(!0),r=t._getBestFitWidths(),n.each(i,function(n,t){var i=t.command?"command:"+t.command:t.index;e.columnOption(i,"bestFitWidth",r[n],!0)})),n.each(i,function(n){this.width!=="auto"&&(this.width?r[n]=this.width:f||(r[n]=undefined))}),o=t._correctColumnWidths(r,i),f&&(s(),t._processStretch(r,i)),u&&t._toggleBestFitMode(!1),(u||o)&&t._setVisibleWidths(i,r)},_correctColumnWidths:function(t,i){var r=this,h=!1,c=!1,l=!1,f=r.component.element(),a=r._hasWidth,u,e,o;if(n.each(i,function(n){this.width!=="auto"&&(this.width?t[n]=this.width:c=!0),s(this.width)&&(h=!0)}),f&&r._maxWidth&&(delete r._maxWidth,f.css("max-width","")),!c&&t.length&&(e=r._rowsView.contentWidth(),o=r._getTotalWidth(t,e),o<=e)){for(u=t.length-1;u>=0&&i[u]&&i[u].command;)u--;u>=0&&(t[u]="auto",l=!0,a||h||(r._maxWidth=o,f.css("max-width",r._maxWidth)))}return l},_processStretch:function(t,i){var s=this._rowsView.contentWidth(),h=this._getTotalWidth(t,s),u={length:0},f,e,o,r;if(t.length&&(n.each(i,function(n){this.width&&(u[n]=!0,u.length++)}),f=s-h,e=Math.floor(f/(t.length-u.length)),o=f-e*(t.length-u.length),f>=0))for(r=0;r<t.length;r++)u[r]||(t[r]+=e,o&&(t[r]++,o--))},_getTotalWidth:function(n,t){for(var u=0,i,r=0;r<n.length;r++)i=n[r],i&&(u+=s(i)?parseInt(i)*t/100:parseInt(i));return Math.round(u)},updateSize:function(n){var i=this,t,r;i._hasHeight===undefined&&n&&n.closest(document).length&&(t=n.children("."+u),t.length&&t.detach(),i._hasHeight=!!n.height(),r=n.width(),n.addClass(e),i._hasWidth=n.width()===r,n.removeClass(e),t.length&&t.appendTo(n))},publicMethods:function(){return["resize","updateDimensions"]},resize:function(){this.updateDimensions()},updateDimensions:function(){var t=this,c=t._dataController,i=t.component.element(),s=i&&(i.get(0).clientHeight||i.height()),u=t.option("loadPanel"),f=t.option("height"),r,h=t.getController("editorFactory"),e;t._initPostRenderHandlers(),t.updateSize(i),f&&t._hasHeight^f!=="auto"&&(e=n("<div>").height(f).appendTo(i),t._hasHeight=!!e.height(),e.remove()),t._hasHeight&&s>0&&t.option("scrolling")?(r=s,n.each(t.getViews(),function(){this.isVisible()&&this.getHeight&&(r-=this.getHeight())})):r=t._hasHeight||c.items().length!==0?"auto":u&&u.visible?u.height+y:v,t._rowsView.height(r),t._columnHeadersView.setScrollerSpacing(t._rowsView.getScrollbarWidth()),t._rowsView.setScrollerSpacing(),t._synchronizeColumns(),n.each(o,function(n,i){var r=t.getView(i);r&&r.resize()}),h&&h.resize()},optionChanged:function(n){switch(n.name){case"width":case"height":this.component._renderDimensions(),this.resize();default:this.callBase(n)}},init:function(){var n=this;n._dataController=n.getController("data"),n._columnsController=n.getController("columns"),n._columnHeadersView=n.getView("columnHeadersView"),n._footerView=n.getView("footerView"),n._rowsView=n.getView("rowsView"),n._footerView=n.getView("footerView"),n._rowsView.scrollOffsetChanged.add(function(t){n._columnHeadersView.scrollOffset(t.left),n._footerView.scrollOffset(t.left)})}}),i.GridView=i.View.inherit({init:function(){var n=this;n._dataController=n.getController("data"),n._rowsView=n.getView("rowsView")},getView:function(n){return this.component._views[n]},element:function(){return this._groupElement},optionChanged:function(n){var t=this;r.isDefined(t._groupElement)&&n.name==="showBorders"?(t._groupElement.toggleClass(f,!!n.value),n.handled=!0):t.callBase(n)},render:function(t){var i=this,r=i._groupElement||n("<div />").addClass(u).toggleClass(f,!!i.option("showBorders"));i.component.setAria({role:"application",label:Globalize.localize("dxDataGrid-ariaDataGrid")},t),i._rootElement=t||i._rootElement,i._groupElement=r,n.each(o,function(n,t){var u=i.getView(t);u&&u.render(r)}),i.update()},update:function(){var n=this,t=n._rootElement,i=n._groupElement,r=n.getController("resizing");t&&i&&(i.parent().length||(r.updateSize(t),i.appendTo(t),n._rowsView.renderDelayedTemplates()),r.resize(),n._dataController.isLoaded()&&n.component._fireContentReadyAction())}}),i.registerModule("gridView",{defaultOptions:function(){return{showBorders:!1}},controllers:{resizing:i.ResizingController},views:{gridView:i.GridView}})}(jQuery,DevExpress),function(n,t){var h=t.ui,f=h.events,r=f.addNamespace,o=t.utils,i=h.dxDataGrid,c=t.fx,d="dx-datagrid-columns-separator",l="dx-datagrid-columns-separator-transparent",a="dx-datagrid-drag-header",g="dx-datagrid-text-content",s="dx-datagrid-drag-action",v="dx-datagrid-tracker",y="dx-block-separator",p="dx-datagrid-drop-highlight",w="dx-header-row",nt="dx-widget",u="dxDataGridResizingReordering",tt=10,b=5,e=function(n){return n.option("allowColumnResizing")||n.getController("columns").isColumnOptionUsed("allowResizing")},k=function(n){return n.option("allowColumnReordering")||n.getController("columns").isColumnOptionUsed("allowReordering")};i.getPointsByColumns=function(n,t,i){for(var e=n.length,h=!1,o,u,f,c=[],l,s=0,r=0;r<=e;r++)r<e&&(u=n.eq(s),f=u.offset(),l=u.css("direction")==="rtl"),o={index:r,x:f?f.left+(!i&&l^r===e?u.outerWidth():0):0,y:f?f.top+(i&&r===e?u.outerHeight():0):0,columnIndex:s},t&&(h=t(o)),h||c.push(o),s++;return c},i.TrackerView=i.View.inherit({_renderCore:function(){this.callBase(),this.element().addClass(v),this.hide()},init:function(){var t=this,n;t.callBase(),t.getController("tablePosition").positionChanged.add(function(i){n=t.element(),n&&n.hasClass(v)&&(n.css({top:i.top}),n.height(i.height))})},isVisible:function(){return e(this)},show:function(){this.element().show()},hide:function(){this.element().hide()},setHeight:function(n){this.element().height(n)}}),i.SeparatorView=i.View.inherit({_renderSeparator:function(){},_renderCore:function(n){this.callBase(n),this._isShown=!0,this._renderSeparator(),this.hide()},show:function(){this._isShown=!0},hide:function(){this._isShown=!1},height:function(n){var t=this.element();if(t)if(o.isDefined(n))t.height(n);else return t.height()},width:function(n){var t=this.element();if(t)if(o.isDefined(n))t.width(n);else return t.width()}}),i.ColumnsSeparatorView=i.SeparatorView.inherit({_renderSeparator:function(){this.callBase();var n=this.element();n.addClass(d)},_subscribeToEvent:function(){var t=this,n;t.getController("tablePosition").positionChanged.add(function(i){n=t.element(),n&&(n.css({top:i.top}),n.height(i.height))})},isVisible:function(){return this.option("showColumnHeaders")&&(k(this)||e(this))},init:function(){this.callBase(),this._isTransparent=e(this),this.isVisible()&&this._subscribeToEvent()},show:function(){var t=this,n=this.element();n&&!t._isShown&&(t._isTransparent?n.removeClass(l):n.show()),this.callBase()},hide:function(){var n=this.element();n&&this._isShown&&(this._isTransparent?n.addClass(l):n.hide()),this.callBase()},moveByX:function(n){var t=this.element();t&&t.css("left",n-this._parentElement().offset().left)},changeCursor:function(n){n=o.isDefined(n)?n:"";var t=this.element();t&&t.css("cursor",n)}}),i.BlockSeparatorView=i.SeparatorView.inherit({_renderSeparator:function(){this.callBase(),this.element().addClass(y).html("&nbsp;")},hide:function(){var t=this,n=this._parentElement(),i=this.element();i&&this._isShown&&i.hide(),n&&!n.children("."+y).length&&n.prepend(t.element()),t.callBase()},isVisible:function(){var n=this.option("groupPanel"),t=this.option("columnChooser");return n&&n.visible||t&&t.enabled},show:function(n){var i=this,t=this.element(),r=function(n){c.stop(t,!0),c.animate(t,{type:"slide",from:{width:0,display:n.display},to:n,duration:300,easing:"swing"})};if(t&&!i._isShown)switch(n){case"group":r({width:"50px",display:"inline-block"});break;case"columnChooser":r({width:"100%",display:"block"});break;default:t.show()}i.callBase()}}),i.DraggingHeaderView=i.View.inherit({_isDragging:!1,_getDropOptions:function(){var n=this;if(n._dragOptions)return{sourceColumnIndex:n._dragOptions.columnIndex,sourceColumnElement:n._dragOptions.columnElement,sourceLocation:n._dragOptions.sourceLocation,targetColumnIndex:n._dropColumnIndex,targetLocation:n._dropLocation}},_dropHeader:function(n){var r=n.jQueryEvent,t=r.data.that,i=t._controller;t.element().hide(),i&&t._isDragging&&i.drop(t._getDropOptions()),t.element().appendTo(t._parentElement()),t._dragOptions=null,t._isDragging=!1,document.onselectstart=t._onSelectStart||null},_getDraggingPanelByPos:function(t){var r=this,i;return n.each(r._dragOptions.draggingPanels,function(n,r){if(r){var u=r.getBoundingRect();if(u&&(u.bottom===undefined||t.y<u.bottom)&&(u.top===undefined||t.y>u.top)&&(u.left===undefined||t.x>u.left)&&(u.right===undefined||t.x<u.right))return i=r,!1}}),i},_pointCreated:function(n,t,i,r){var u=t[n.columnIndex],f=t[n.columnIndex-1];switch(i){case"columnChooser":return!0;case"headers":return r&&!r.allowReordering||(!u||!u.allowReordering)&&(!f||!f.allowReordering);default:return t.length===0}},_moveHeader:function(n){var v=n.jQueryEvent,t=v.data.that,l,u,y,p,w,k,o=f.eventData(v),s,d=t._controller,tt=t._columnsResizerViewController?t._columnsResizerViewController.isResizing():!1,r,e,h=t._dragOptions,g,a,c,nt;if(t._isDragging&&!tt){if(w=Math.abs(o.x-h.columnElement.offset().left-h.deltaX),k=Math.abs(o.y-h.columnElement.offset().top-h.deltaY),(t.element().is(":visible")||w>b||k>b)&&(t.element().show(),y=o.x-h.deltaX,p=o.y-h.deltaY,t.element().offset({left:y,top:p}),s=t._getDraggingPanelByPos(o),s))if(nt=t.option("rtlEnabled"),g=s.getName()==="columnChooser",c=g?"y":"x",l=s.getColumnElements()||[],u=i.getPointsByColumns(l,function(n){return t._pointCreated(n,s.getColumns(),s.getName(),h.sourceColumn)},c==="y"),t._dropLocation=s.getName(),u.length>0){for(r=0;r<u.length;r++)if(a=u[r+1]&&(u[r][c]+u[r+1][c])/2,a===undefined||(nt&&c==="x"?o[c]>a:o[c]<a)){t._dropColumnIndex=u[r].columnIndex,e=t._getDropOptions(),l[r]?e.targetColumnElement=l.eq(r):(e.targetColumnElement=l.last(),e.isLast=!0),e.posX=u[r].x,d.dock(e);break}}else t._dropColumnIndex=-1,e=t._getDropOptions(),d.dock(e);v.preventDefault()}},_subscribeToEvents:function(t){var i=this;i._moveHeaderAction=this.createAction(this._moveHeader),i._dropHeaderAction=this.createAction(this._dropHeader);n(document).on(r("dxpointermove",u),{that:i,rootElement:t},i._moveHeaderAction);i.element().on(r("dxpointerup",u),{that:i},i._dropHeaderAction);n(document).on(r("dxpointerup",u),{that:i},i._dropHeaderAction)},_renderCore:function(){this.element().addClass(a+" "+g+" "+nt).css("display","none")},_afterRender:function(n){this._unsubscribeFromEvents(),this._subscribeToEvents(n)},_unsubscribeFromEvents:function(){this._dropHeaderAction&&(this.element().off(r("dxpointerup",u),this._dropHeaderAction),n(document).off(r("dxpointerup",u),this._dropHeaderAction)),this._moveHeaderAction&&n(document).off(r("dxpointermove",u),this._moveHeaderAction)},dispose:function(){var n=this.element();this._dragOptions=null,this._unsubscribeFromEvents(),n&&n.parent().find("."+a).remove()},isVisible:function(){var t=this.getController("columns"),n=t.getCommonSettings();return this.option("showColumnHeaders")&&(k(this)||n.allowGrouping||n.allowHiding)},init:function(){this.callBase(),this._controller=this.getController("draggingHeader"),this._columnsResizerViewController=this.getController("columnsResizer")},drag:function(t){var r=this,i=t.columnElement;r._dragOptions=t,r._isDragging=!0,r._dropColumnIndex=t.columnIndex,r._dropLocation=t.sourceLocation,r._onSelectStart=document.onselectstart,document.onselectstart=function(){return!1},r.element().css({textAlign:i&&i.css("text-align"),height:i&&i.height(),width:i&&i.width(),whiteSpace:i&&i.css("white-space")}).addClass(s).text(t.sourceColumn.caption),r.element().appendTo(n(document.body))}}),i.ColumnsResizerViewController=i.ViewController.inherit({_isHeadersRowArea:function(n){if(this._columnHeadersView){var i=this._columnHeadersView.element(),r,t;if(i)return t=i.offset().top,r=this._columnHeadersView.getHeadersRowHeight(),n>=t&&n<=t+r}return!1},_pointCreated:function(n,t,i){var r,u;return n.index>0&&n.index<t?(n.columnIndex-=1,r=i[n.columnIndex]||{},u=i[n.columnIndex+1]||{},!(r.allowResizing&&u.allowResizing)):!0},_getTargetPoint:function(n,t,i){if(n)for(var r=0;r<n.length;r++)if(n[r].x-i<=t&&t<=n[r].x+i)return n[r];return null},_moveSeparator:function(n){var r=n.jQueryEvent,t=r.data,s=t._pointsByColumns,u=t._columnsSeparatorView.width(),e=t._columnsSeparatorView.element().offset(),h=u/2,o=t._$parentContainer.offset().left,i=f.eventData(r);t._isResizing?o<=i.x&&i.x<=o+t._$parentContainer.width()&&t._updateColumnsWidthIfNeeded(t._targetPoint.columnIndex,i.x)&&(t._columnsSeparatorView.moveByX(t._targetPoint.x+(i.x-t._resizingInfo.startPosX)),t._tablePositionController.update(),r.preventDefault()):t._isHeadersRowArea(i.y)?(t._targetPoint=t._getTargetPoint(s,i.x,u),t._isReadyResizing=!1,t._columnsSeparatorView.changeCursor(),t._targetPoint&&e.top<=i.y&&e.top+t._columnsSeparatorView.height()>=i.y&&(t._columnsSeparatorView.changeCursor("col-resize"),t._columnsSeparatorView.moveByX(t._targetPoint.x-h),t._isReadyResizing=!0,r.preventDefault())):(t._isReadyResizing=!1,t._columnsSeparatorView.changeCursor())},_endResizing:function(n){var i=n.jQueryEvent,t=i.data;t._isResizing&&(t._updatePointsByColumns(),t._resizingInfo=null,t._columnsSeparatorView.hide(),t._columnsSeparatorView.changeCursor(),t._trackerView.hide(),t._isReadyResizing=!1,t._isResizing=!1)},_setupResizingInfo:function(n){var t=this,i=t._columnHeadersView.getHeaderElement(t._targetPoint.columnIndex),r=t._columnHeadersView.getHeaderElement(t._targetPoint.columnIndex+1);t._resizingInfo={startPosX:n,currentColumnWidth:i&&i.length>0?i.outerWidth():0,nextColumnWidth:r&&r.length>0?r.outerWidth():0}},_startResizing:function(n){var i=n.jQueryEvent,t=i.data,r=f.eventData(i);f.isTouchEvent(i)&&(t._isHeadersRowArea(r.y)?(t._targetPoint=t._getTargetPoint(t._pointsByColumns,r.x,tt),t._targetPoint&&(t._columnsSeparatorView.moveByX(t._targetPoint.x-t._columnsSeparatorView.width()/2),t._isReadyResizing=!0)):t._isReadyResizing=!1),t._isReadyResizing&&(t._targetPoint,t._setupResizingInfo(r.x),t._columnsSeparatorView.show(),t._trackerView.show(),t._isResizing=!0,i.preventDefault())},_generatePointsByColumns:function(){var n=this,u=n._columnsController?n._columnsController.getVisibleColumns():[],t=n._columnHeadersView.getColumnElements(),r=[];t&&t.length>0&&(r=i.getPointsByColumns(t,function(i){return n._pointCreated(i,t.length,u)})),n._pointsByColumns=r},_unsubscribeFromEvents:function(){this._moveSeparatorHandler&&this._$parentContainer.off(r("dxpointermove",u),this._moveSeparatorHandler),this._startResizingHandler&&this._$parentContainer.off(r("dxpointerdown",u),this._startResizingHandler),this._endResizingHandler&&(this._columnsSeparatorView.element().off(r("dxpointerup",u),this._endResizingHandler),n(document).off(r("dxpointerup",u),this._endResizingHandler))},_subscribeToEvents:function(){this._moveSeparatorHandler=this.createAction(this._moveSeparator),this._startResizingHandler=this.createAction(this._startResizing),this._endResizingHandler=this.createAction(this._endResizing);this._$parentContainer.on(r("dxpointermove",u),this,this._moveSeparatorHandler);this._$parentContainer.on(r("dxpointerdown",u),this,this._startResizingHandler);this._columnsSeparatorView.element().on(r("dxpointerup",u),this,this._endResizingHandler);n(document).on(r("dxpointerup",u),this,this._endResizingHandler)},_updateColumnsWidthIfNeeded:function(n,t){var r,e=!1,o,i=this._columnsController,h=i.getVisibleColumns(),c=this._columnsSeparatorView.width(),u,f,s;return r=t-this._resizingInfo.startPosX,this.option("rtlEnabled")&&(r=-r),s=this._resizingInfo.currentColumnWidth+r,o=this._resizingInfo.nextColumnWidth-r,e=!(s<=c||o<=c),e&&(u=h[n],f=h[n+1],i.beginUpdate(),u&&i.columnOption(u.index,"visibleWidth",undefined),f&&i.columnOption(f.index,"visibleWidth",undefined),u&&i.columnOption(u.index,"width",Math.floor(s)),f&&i.columnOption(f.index,"width",Math.floor(o)),i.endUpdate()),e},_updatePointsByColumns:function(){for(var i,r=this.option("rtlEnabled"),n,t=0;t<this._pointsByColumns.length;t++)i=this._pointsByColumns[t],n=this._columnHeadersView.getHeaderElement(i.columnIndex+1),n&&n.length>0&&(i.x=n.offset().left+(r?n.outerWidth():0))},isResizing:function(){return this._isResizing},init:function(){var n=this,i,t,r=function(t){n._scrollLeft!==t.left&&(n._scrollLeft=t.left,n._generatePointsByColumns())},u=function(){n._generatePointsByColumns()};n.callBase(),e(n)&&(n._columnsSeparatorView=n.getView("columnsSeparatorView"),n._columnHeadersView=n.getView("columnHeadersView"),n._trackerView=n.getView("trackerView"),n._rowsView=n.getView("rowsView"),n._columnsController=n.getController("columns"),n._tablePositionController=n.getController("tablePosition"),n._$parentContainer=n._columnsSeparatorView.component.element(),n._columnHeadersView.renderCompleted.add(u),n._columnHeadersView.resizeCompleted.add(u),n._columnsSeparatorView.renderCompleted.add(function(){n._unsubscribeFromEvents(),n._subscribeToEvents()}),n._rowsView.renderCompleted.add(function(){n._rowsView.scrollOffsetChanged.remove(r),n._rowsView.scrollOffsetChanged.add(r)}),i=n.getView("gridView"),t=n._rowsView.getScrollbarWidth()!==0,n.getController("tablePosition").positionChanged.add(function(){if(n._isResizing&&!n._rowsView.isResizing){var r=n._rowsView.getScrollbarWidth()!==0;t!==r?(t=r,i.resize()):(n._rowsView.updateFreeSpaceRowHeight(),n._columnHeadersView.processSizeChanged())}}))},dispose:function(){this._unsubscribeFromEvents()}}),i.TablePositionViewController=i.ViewController.inherit({update:function(){var n=this._columnHeadersView.element(),t=this._columnHeadersView?this._columnHeadersView.getHeight():0,i=this._rowsView?this._rowsView.height()-this._rowsView.getScrollbarWidth(!0):0;this.positionChanged.fire({height:t+i,top:n&&n.length>0?Math.floor(n[0].offsetTop):0})},init:function(){var n=this;n.callBase(),n._columnHeadersView=this.getView("columnHeadersView"),n._rowsView=this.getView("rowsView"),n._pagerView=this.getView("pagerView"),n._rowsView.resizeCompleted.add(function(){n.update()})},ctor:function(t){this.callBase(t),this.positionChanged=n.Callbacks()}}),i.DraggingHeaderViewController=i.ViewController.inherit({_subscribeToEvent:function(t,i){var e=this;n.each(i,function(o,h){if(h){var l=h.getColumnElements()||[],a=h.getName(),c=h.getColumns()||[];n.each(l,function(o,l){var v=n(l);if(v.off(r("dxpointerdown",u)),v.removeClass(s),h.allowDragging(c[o],i)){v.addClass(s);v.on(r("dxpointerdown",u),e.createAction(function(r){var u=r.jQueryEvent,e=f.eventData(u);u.preventDefault(),u.stopPropagation(),t.drag({deltaX:e.x-n(u.currentTarget).offset().left,deltaY:e.y-n(u.currentTarget).offset().top,sourceColumn:c[o],columnIndex:o,columnElement:v,sourceLocation:a,draggingPanels:i})}))}})}})},_getSeparator:function(n){return n==="headers"?this._columnsSeparatorView:this._blockSeparatorView},hideSeparators:function(){var n=this._blockSeparatorView,t=this._columnsSeparatorView;this._animationColumnIndex=null,n&&n.hide(),t&&t.hide()},init:function(){var n=this,t;n.callBase(),n._columnsController=n.getController("columns"),n._columnHeadersView=n.getView("columnHeadersView"),n._columnsSeparatorView=n.getView("columnsSeparatorView"),n._draggingHeaderView=n.getView("draggingHeaderView"),n._rowsView=n.getView("rowsView"),n._blockSeparatorView=n.getView("blockSeparatorView"),n._headerPanelView=n.getView("headerPanel"),n._columnChooserView=n.getView("columnChooserView"),t=function(){n._draggingHeaderView&&n._subscribeToEvent(n._draggingHeaderView,[n._columnChooserView,n._columnHeadersView,n._headerPanelView])},n._columnHeadersView.renderCompleted.add(t),n._headerPanelView&&n._headerPanelView.renderCompleted.add(t),n._columnChooserView&&n._columnChooserView.renderCompleted.add(t)},allowDrop:function(n){return this._columnsController.allowMoveColumn(n.sourceColumnIndex,n.targetColumnIndex,n.sourceLocation,n.targetLocation)},dock:function(n){var t=this,u=n.targetColumnIndex,f=n.sourceLocation,s=n.sourceColumnIndex,e=n.sourceColumnElement,r=n.targetLocation,i=t._getSeparator(r),o=u>=0,h=function(){t._animationColumnIndex!==u&&(t.hideSeparators(),i.element()[n.isLast?"insertAfter":"insertBefore"](n.targetColumnElement),t._animationColumnIndex=u,i.show(r))};t._columnHeadersView.element().find("."+w).toggleClass(p,f!=="headers"&&r==="headers"&&!o),i&&(e&&(e.css({opacity:.5}),f==="headers"&&t._rowsView.setRowsOpacity(s,.5)),t.allowDrop(n)&&o?r==="group"||r==="columnChooser"?h():(t.hideSeparators(),i.moveByX(n.posX-i.width()),i.show()):t.hideSeparators())},drop:function(n){var i=n.sourceColumnElement,t;i&&(i.css({opacity:""}),this._rowsView.setRowsOpacity(n.sourceColumnIndex,""),this._columnHeadersView.element().find("."+w).removeClass(p)),this.allowDrop(n)&&(t=this._getSeparator(n.targetLocation),t&&t.hide(),this._columnsController.moveColumn(n.sourceColumnIndex,n.targetColumnIndex,n.sourceLocation,n.targetLocation))}}),i.registerModule("columnsResizingReordering",{views:{columnsSeparatorView:i.ColumnsSeparatorView,blockSeparatorView:i.BlockSeparatorView,draggingHeaderView:i.DraggingHeaderView,trackerView:i.TrackerView},controllers:{draggingHeader:i.DraggingHeaderViewController,tablePosition:i.TablePositionViewController,columnsResizer:i.ColumnsResizerViewController}})}(jQuery,DevExpress),function(n,t){var r=t.ui,i=r.dxDataGrid,u="dx-datagrid",f="dx-context-menu",e={columnHeadersView:"header",rowsView:"content",footerView:"footer"},o=["columnHeadersView","rowsView","footerView"];i.ContextMenuController=i.ViewController.inherit({init:function(){this.createAction("onContextMenuPreparing")},getContextMenuItems:function(t){var c=this,i,u,f,s,l,r,h;return n.each(o,function(){return i=c.getView(this),i&&i.element().find(t).length&&(r=t.closest("td"),l=r.closest(".dx-row"),f=i.getRowIndex(l),s=r[0]&&r[0].cellIndex,u={targetElement:t,target:e[this],rowIndex:f,row:i._getRows()[f],columnIndex:s,column:i.getColumns()[s],items:i.getContextMenuItems&&i.getContextMenuItems(t)},c.executeAction("onContextMenuPreparing",u),h=u.items,h)?!1:void 0}),h}}),i.ContextMenuView=i.View.inherit({_renderCore:function(){var t=this;this._createComponent(t.element().addClass(f),"dxContextMenu",{onPositioning:function(i){var r=i.jQueryEvent,f=n(r.target),e=i.component,u=t.getController("contextMenu").getContextMenuItems(f);u?(e.option("items",u),r.stopPropagation()):i.canceled=!0},onItemClick:function(n){n.itemData.onItemClick&&n.itemData.onItemClick(n)},cssClass:u,target:t.component.element()})}}),i.registerModule("contextMenu",{defaultOptions:function(){return{onContextMenuPreparing:null}},controllers:{contextMenu:i.ContextMenuController},views:{contextMenuView:i.ContextMenuView}})}(jQuery,DevExpress),function(n,t){var f=t.ui,i=t.utils,r=f.events,u=f.dxDataGrid,o="dx-row",s="dx-group-row",h="dx-datagrid-rowsview",c="dx-master-detail-row",l="dx-datagrid-group-footer",a="dx-command-expand",v=".dx-checkbox, .dx-menu, input",y=["rowsView","columnHeadersView"],e="row";u.KeyboardNavigationController=u.ViewController.inherit({_focusView:function(n,t){this._focusedViews.viewIndex=t,this._focusedView=n},_focusInteractiveElement:function(n){var t=n.find(v).first();t.focus()},_updateFocus:function(){var t=this,i=t._getFocusedCell();i&&(t._hasSkipRow(i.parent())&&(i=t._getNextCell("upArrow")),i&&i.length>0&&setTimeout(function(){t.getController("editorFactory").focus()&&t._focus(i),t._editingController.isEditing()&&n.proxy(t._focusInteractiveElement,t)(i)}))},_clickHandler:function(t){var i=t.jQueryEvent,r=n(i.currentTarget);this._isCellValid(r,!0)?(this._focusView(i.data.view,i.data.viewIndex),this._updateFocusedCellPosition(r),this._editingController.isEditing()||r.focus()):this._resetFocusedCell(this)},_initFocusedViews:function(){var t=this,i=t.createAction(t._clickHandler);t._focusedViews=[],n.each(y,function(n,i){var r=t.getView(i);r&&r.isVisible()&&t._focusedViews.push(r)}),n.each(t._focusedViews,function(n,u){u&&u.renderCompleted.add(function(){var f=u.element();f.off(r.addNamespace("dxpointerdown","dxDataGridKeyboardNavigation"),i);f.on(r.addNamespace("dxpointerdown","dxDataGridKeyboardNavigation"),"."+o+" td",{viewIndex:n,view:u},i);t._initKeyDownProcessor(t,f,t._keyDownHandler),t._focusedView&&t._focusedView.name===u.name&&t._isNeedFocus&&t._updateFocus()})})},_initKeyDownProcessor:function(n,t,i){this._keyDownProcessor&&(this._keyDownProcessor.dispose(),this._keyDownProcessor=null),this._keyDownProcessor=new f.KeyboardProcessor({element:t,context:n,handler:i})},_getFocusedCell:function(){if(this._focusedView&&this._focusedCellPosition)return this._focusedView.getCell(this._focusedCellPosition)},_updateFocusedCellPosition:function(n){var t=this,i=t.getView("rowsView");n.length>0&&(this._focusedCellPosition={columnIndex:i.getCellIndex(n),rowIndex:n.parent().length>0&&t._focusedView?t._focusedView.getRowIndex(n.parent()):null})},_isCellValid:function(n,t){if(i.isDefined(n)){var r=this._columnsController.getVisibleColumns(),u=n[0].cellIndex,f=t?!1:r[u].command==="expand",e=!i.isDefined(r[u].groupIndex)||parseInt(n.attr("colspan"))>1;if(r.length>u&&e)return!i.isDefined(r[u].command)||f}},_isCellByPositionValid:function(n,t){var i=this._focusedView&&this._focusedView.getCell(n);return this._isCellValid(i,t)},_isGroupRow:function(n){return n&&n.hasClass(s)},_focus:function(n){var i=n.parent(),r=this._getFocusedCell(),t;r&&r.attr("tabindex",null),this._isGroupRow(i)?(t=i,this._focusedCellPosition.rowIndex=this._focusedView.getRowIndex(i)):(t=n,this._updateFocusedCellPosition(n)),t.attr("tabindex",0),t.focus(),this.getController("editorFactory").focus(t)},_hasSkipRow:function(n){return n&&(n.hasClass(c)||n.hasClass(l))},_enterKeyHandler:function(t,i){var s=this._getFocusedCell(),h=this.option("editing"),r=this._focusedCellPosition?this._focusedCellPosition.rowIndex:null,c=this._focusedView&&this._focusedView.getRow(r),f,u,o;this.option("grouping.allowCollapsing")&&this._isGroupRow(c)||this.option("masterDetail.enabled")&&s.hasClass(a)?(f=this._dataController.getKeyByRowIndex(r),u=this._dataController.items()[r],f!==undefined&&u&&u.data&&!u.data.isContinuation&&this._dataController.changeRowExpand(f)):(o=this._editingController.getEditMode()===e,i?(this._updateFocusedCellPosition(n(t.originalEvent.target).closest("td")),o?setTimeout(n.proxy(this._editingController.saveEditData,this._editingController)):this._editingController.closeEditCell()):h.editEnabled&&(o?this._editingController.editRow(r):this._focusedCellPosition&&this._editingController.editCell(r,this._focusedCellPosition.columnIndex)))},_leftRightKeysHandler:function(n,t){var u=this._focusedCellPosition?this._focusedCellPosition.rowIndex:null,f=this._focusedView&&this._focusedView.getRow(u),r,i;t||this._isGroupRow(f)||(r=this._getDirectionCodeByKey(n.key),i=this._getNextCell(r),i&&this._isCellValid(i)&&this._focus(i),n.originalEvent.preventDefault())},_getDirectionCodeByKey:function(n){var t;return t=this.option("rtlEnabled")?n==="leftArrow"?"nextInRow":"previousInRow":n==="leftArrow"?"previousInRow":"nextInRow"},_upDownKeysHandler:function(n,t){var r=this._focusedCellPosition?this._focusedCellPosition.rowIndex:null,i;t||(r===0||this._focusedView&&r===this._focusedView.getRowsCount()-1,i=this._getNextCell(n.key),i&&this._isCellValid(i)&&this._focus(i),n.originalEvent.preventDefault())},_pageUpKeyHandler:function(n){var t=this.option("scrolling.mode"),i=this._dataController.pageIndex(),r=t==="virtual"||t==="infinite";i>0&&!r&&(this._dataController.pageIndex(i-1),n.originalEvent.preventDefault())},_pageDownKeyHandler:function(n){var t=this.option("scrolling.mode"),r=t==="virtual"||t==="infinite",i=this._dataController.pageIndex(),u=this._dataController.pageCount();i<u-1&&!r&&(this._dataController.pageIndex(i+1),n.originalEvent.preventDefault())},_spaceKeyHandler:function(n,t){var i=this._focusedCellPosition?this._focusedCellPosition.rowIndex:null;this.option("selection")&&this.option("selection").mode!=="none"&&!t&&(this._selectionController.changeItemSelection(i,{shift:n.shift,control:n.ctrl}),n.originalEvent.preventDefault())},_crtlAKeyHandler:function(n){n.ctrl&&this.option("selection.mode")==="multiple"&&this.option("selection.allowSelectAll")&&(this._selectionController.selectAll(),n.originalEvent.preventDefault())},_tabKeyHandler:function(t,i){var u=this.option("editing"),f=t.shift?"previous":"next",r;u&&t.originalEvent.target&&(i?(u.editEnabled||this._editingController.closeEditCell(),this._updateFocusedCellPosition(n(t.originalEvent.target).closest("td")),r=this._getNextCell(f),this._focusCell(r)&&(this._editingController.getEditMode()!==e&&u.editEnabled?this._editingController.editCell(this._focusedCellPosition.rowIndex,this._focusedCellPosition.columnIndex):this._focusInteractiveElement(r))):(r=this._getNextCell(f,this._getElementType(t.originalEvent.target)),this._focusCell(r))),t.originalEvent.preventDefault()},_focusCell:function(n){if(this._isCellValid(n))return this._focus(n),!0},_getElementType:function(t){return n(t).is("tr")?"row":"cell"},_escapeKeyHandler:function(t,i){i&&(this._updateFocusedCellPosition(n(t.originalEvent.target).closest("td")),this._editingController.getEditMode()!==e?this._editingController.closeEditCell():this._editingController.cancelEditData(),t.originalEvent.preventDefault())},_ctrlFKeyHandler:function(n){n.ctrl&&this.option("searchPanel")&&this.option("searchPanel").visible&&(this._headerPanel.focus(),n.originalEvent.preventDefault())},_keyDownHandler:function(n){var t=this._editingController.isEditing();if(!n.originalEvent.isDefaultPrevented()){this._isNeedFocus=!0;switch(n.key){case"leftArrow":case"rightArrow":this._leftRightKeysHandler(n,t);break;case"upArrow":case"downArrow":this._upDownKeysHandler(n,t);break;case"pageUp":this._pageUpKeyHandler(n);break;case"pageDown":this._pageDownKeyHandler(n);break;case"space":this._spaceKeyHandler(n,t);break;case"A":this._crtlAKeyHandler(n);break;case"tab":this._tabKeyHandler(n,t);break;case"enter":this._enterKeyHandler(n,t);break;case"escape":this._escapeKeyHandler(n,t);break;case"F":this._ctrlFKeyHandler(n)}n.originalEvent.stopPropagation()}},_isLastRow:function(n){return n===this.getController("data").items().length-1},_getNextCell:function(t,i,r){var f=r||this._focusedCellPosition,h=n.inArray(t,["next","previous"])>-1,o,e,u,s;if(this._focusedView&&f){if(e=this._getNewPositionByCode({columnIndex:f.columnIndex,rowIndex:f.rowIndex},i,t),u=this._focusedView.getCell(e),!this._isCellValid(u)&&this._isCellInRow(e.columnIndex,h)&&(u=this._getNextCell(t,"cell",e)),s=u&&u.parent(),this._hasSkipRow(s)){if(o=this._focusedView.getRowIndex(s),this._isLastRow(o))return null;u=this._getNextCell(t,"row",n.extend({},f,{rowIndex:o}))}return u}return null},_getNewPositionByCode:function(n,t,i){var u=n.columnIndex,r=n.rowIndex,f=this.getController("columns").getVisibleColumns().length;switch(i){case"nextInRow":case"next":u<f-1&&!this._isLastValidCell({columnIndex:u,rowIndex:r})&&t!=="row"?u++:this._isLastRow(r)||i!=="next"||(u=0,r++);break;case"previousInRow":case"previous":u>0&&!this._isFirstValidCell({columnIndex:u,rowIndex:r})&&t!=="row"?u--:r>0&&i==="previous"&&(u=f-1,r--);break;case"upArrow":r=r>0?r-1:r;break;case"downArrow":r=this._isLastRow(r)?r:r+1}return{columnIndex:u,rowIndex:r}},_isFirstValidCell:function(n){var t=!1;return n.rowIndex===0&&n.columnIndex>0&&(t=t||!this._haveValidCellBeforePosition(n)),t},_haveValidCellBeforePosition:function(n){for(var i=n.columnIndex,t=!1,r;i>0&&!t;)r={columnIndex:--i,rowIndex:n.rowIndex},t=this._isCellByPositionValid(r);return t},_isLastValidCell:function(n){var t={columnIndex:n.columnIndex+1,rowIndex:n.rowIndex},i=this.getController("columns").getVisibleColumns().length,r=this._isCellByPositionValid(t);return!this._isLastRow(n.rowIndex)||r?!1:n.columnIndex===i-1?!0:this._isLastValidCell(t)},_isCellInRow:function(n,t){var i=this.getController("columns").getVisibleColumns().length;return t?n>=0&&n<=i-1:n>0&&n<i-1},_resetFocusedCell:function(n){var t=n._getFocusedCell();t&&t.attr("tabindex",null),n._isNeedFocus=!1},init:function(){var t=this;if(t.option("useKeyboard")){t._dataController=t.getController("data"),t._selectionController=t.getController("selection"),t._editingController=t.getController("editing"),t._headerPanel=t.getView("headerPanel"),t._columnsController=t.getController("columns"),t.getController("editorFactory").focused.add(function(n){t.setupFocusedView(),t._isNeedFocus&&t._focusedView&&t._focusedView.getScrollable&&(t._focusedView.getScrollable().scrollToElement(n),t._isNeedFocus=!1)}),t._focusedCellPosition={columnIndex:0,rowIndex:0},t._dataController.changed.add(function(n){t._focusedCellPosition&&n&&n.changeType==="prepend"&&(t._focusedCellPosition.rowIndex+=n.items.length)}),t._initFocusedViews(),t._documentClickHandler=t.createAction(function(i){n(i.jQueryEvent.target).closest("."+h).length||t._resetFocusedCell(t)});n(document).on(r.addNamespace("dxpointerdown","dxDataGridKeyboardNavigation"),t._documentClickHandler)}},focus:function(n){var t=this._getFocusedViewByElement(n);t&&(this._focusView(t.view,t.viewIndex),this._isNeedFocus=!0,this._focus(n),this._isHeaderView(t.view.name)&&this._focusInteractiveElement(n))},_getFocusedViewByElement:function(n){var t=function(t){return n.closest(t._$element).length};return this._getFocusedViewByCondition(t)},_getFocusedViewByCondition:function(t){var i;return n.each(this._focusedViews,function(n,r){if(t(r))return i={viewIndex:n,view:r},!1}),i},_isHeaderView:function(n){return n==="columnHeadersView"},focusViewByName:function(n){var t=this._getFocusedViewByName(n);this._focusView(t.view,t.viewIndex)},setupFocusedView:function(){i.isDefined(this._focusedView)||this.focusViewByName("rowsView")},_getFocusedViewByName:function(n){var t=function(t){return t.name===n};return this._getFocusedViewByCondition(t)},optionChanged:function(n){var t=this;switch(n.name){case"useKeyboard":n.handled=!0;break;default:t.callBase(n)}},dispose:function(){this.callBase(),this._focusedView=null,this._focusedViews=null,this._keyDownProcessor&&this._keyDownProcessor.dispose(),n(document).off(r.addNamespace("dxpointerdown","dxDataGridKeyboardNavigation"),this._documentClickHandler)}}),u.registerModule("keyboardNavigation",{defaultOptions:function(){return{useKeyboard:!0}},controllers:{keyboardNavigation:u.KeyboardNavigationController},extenders:{views:{rowsView:{_renderCore:function(n){this.callBase(n),this.element().attr("tabindex",this.option("useKeyboard")?0:null)}}},controllers:{editing:{editCell:function(n,t){var i=this.callBase(n,t),r=this.getController("keyboardNavigation");return i&&r.setupFocusedView(),i}}}}})}(jQuery,DevExpress),function(n,t){var u=t.ui,i=u.dxDataGrid,r="dx-error-row",f="dx-data-row",e="dx-error-message",o="dx-closebutton",s="dx-datagrid-action";i.ErrorHandlingController=i.ViewController.inherit({init:function(){var n=this;n._columnHeadersView=n.getView("columnHeadersView"),n._rowsView=n.getView("rowsView")},renderErrorRow:function(t,i){var u=this,v=i>=0?u._rowsView:u._columnHeadersView,h=v._getTableElement(),c=n("<tr />").addClass(r),l=h.find("."+f).eq(i),y=n("<div/>").addClass(e).text(t),a=n("<div/>").addClass(o).addClass(s);i>=0?(u.removeErrorRow(h.find("tr").eq(l.index()+1)),c.insertAfter(l)):(u.removeErrorRow(h.find("tr").last()),h.append(c));a.on("dxclick",u.createAction(function(t){var i=t.jQueryEvent,f=n(i.currentTarget).closest("."+r);i.stopPropagation(),u.removeErrorRow(f)}));n("<td/>").attr({colspan:u._columnHeadersView.getColumnCount(),role:"presentation"}).prepend(a).append(y).appendTo(c)},removeErrorRow:function(n){n.hasClass(r)&&n.remove()},optionChanged:function(n){var t=this;switch(n.name){case"errorRowEnabled":n.handled=!0;break;default:t.callBase(n)}}}),i.registerModule("errorHandling",{defaultOptions:function(){return{errorRowEnabled:!0}},controllers:{errorHandling:i.ErrorHandlingController},extenders:{controllers:{data:{init:function(){var n=this,t=n.getController("errorHandling");n.callBase(),n.dataErrorOccurred.add(function(i){var r=i&&i.message||i;n.option("errorRowEnabled")&&t.renderErrorRow(r)})}}}}})}(jQuery,DevExpress),function(n,t){var h=t.ui,r=t.utils,i=h.dxDataGrid,c=t.data.utils.normalizeSortingInfo,l="dx-datagrid-total-footer",a="dx-datagrid-summary-item",v="dx-datagrid-text-content",y="dx-datagrid-group-footer",p="dx-datagrid-group-text-content",u="groupFooter",e=function(t,r){var u,o=r.column,e=r.summaryItems,f,s=[];if(!o.command&&e){for(u=0;u<e.length;u++)f=e[u],s.push(n("<div>").css("text-align",f.alignment||o.alignment).addClass(a).addClass(v).addClass(f.cssClass).toggleClass(p,r.rowType==="group").text(i.getSummaryText(f,r.summaryTexts)));t.append(s)}},o=function(n,t){var i=n.option("summary.texts");return{totalItem:t.row,summaryItems:t.row.summaryCells[t.columnIndex],summaryTexts:i}},f,s;i.FooterView=i.ColumnsView.inherit(function(){return{_getRows:function(){return this._dataController.footerItems()},_getCellOptions:function(t){return n.extend(this.callBase(t),o(this,t))},_renderCellContent:function(n,t){e(n,t),this.callBase(n,t)},_renderCore:function(){var n=this._dataController.footerItems()[0];this.element().empty().addClass(l),n&&n.summaryCells&&n.summaryCells.length&&this._setTableElement(this._renderTable())},_renderTable:function(){var n=this.callBase.apply(this,arguments),t=this.element();return this.wrapTableInScrollContainer(n).appendTo(t),n},_columnOptionChanged:function(n){var t=n.optionNames;n.changeTypes.grouping||(t.width||t.visibleWidth)&&this.callBase(n)},_handleDataChanged:function(n){n.changeType==="refresh"&&this.render()},getHeight:function(){var n=this.element();return n?n.outerHeight():0},isVisible:function(){return!!this._dataController.footerItems().length}}}()),f=function(){return{init:function(){this.callBase.apply(this,arguments),this._totalAggregates=[]},summary:function(n){if(!arguments.length)return this._summary;this._summary=n},totalAggregates:function(){return this._totalAggregates}}}(),s=function(){var r=function(n,i,r,u){var f;i&&(f=new t.data.AggregateCalculator({totalAggregates:i.totalAggregates,groupAggregates:i.groupAggregates,data:r,groupLevel:u}),f.calculate()),n._totalAggregates=f?f.totalAggregates():[]},i=function(r,u,f){if(!r||!u.length)return r;var s=u[0],o=f[0],e;return s&&o&&o.length&&(e=t.data.query(r),n.each(o,function(n){e=n===0?e.sortBy(this.selector,this.desc):e.thenBy(this.selector,this.desc)}),e.enumerate().done(function(n){r=n})),u=u.slice(1),f=f.slice(1),u.length&&f.length&&n.each(r,function(){this.items=i(this.items,u,f)}),r},u=function(n,t,r){var u=r&&r.sortByGroups&&r.sortByGroups();return u&&u.length?i(n,t,u):n};return{_handleDataLoadedCore:function(n){var t=this,i=c(n.loadOptions.group||[]),f=t.summary();r(t,f,n.data,i.length),n.data=u(n.data,i,f),n.totalAggregates=t._totalAggregates,t.callBase(n)}}}(),i.DataSourceAdapterServer=i.DataSourceAdapterServer.inherit(f),i.DataSourceAdapterClient=i.DataSourceAdapterClient.inherit(f).inherit(s),i.registerModule("summary",{defaultOptions:function(){return{summary:{groupItems:undefined,totalItems:undefined,calculateCustomSummary:undefined,texts:{sum:Globalize.localize("dxDataGrid-summarySum"),sumOtherColumn:Globalize.localize("dxDataGrid-summarySumOtherColumn"),min:Globalize.localize("dxDataGrid-summaryMin"),minOtherColumn:Globalize.localize("dxDataGrid-summaryMinOtherColumn"),max:Globalize.localize("dxDataGrid-summaryMax"),maxOtherColumn:Globalize.localize("dxDataGrid-summaryMaxOtherColumn"),avg:Globalize.localize("dxDataGrid-summaryAvg"),avgOtherColumn:Globalize.localize("dxDataGrid-summaryAvgOtherColumn"),count:Globalize.localize("dxDataGrid-summaryCount")}},sortByGroupSummaryInfo:undefined}},views:{footerView:i.FooterView},extenders:{controllers:{data:function(){return{_isDataColumn:function(n){return n&&(!r.isDefined(n.groupIndex)||n.showWhenGrouped)},_isGroupFooterVisible:function(){for(var i=this.option("summary.groupItems")||[],t,r,n=0;n<i.length;n++)if(t=i[n],r=this._columnsController.columnOption(t.column),t.showInGroupFooter&&this._isDataColumn(r))return!0;return!1},_processGroupItems:function(n,t,i){var r=this.callBase.apply(this,arguments);return i&&(i.isGroupFooterVisible===undefined&&(i.isGroupFooterVisible=this._isGroupFooterVisible()),i.data&&i.data.items&&i.isGroupFooterVisible&&r.push({rowType:u,data:i.data,groupIndex:i.path.length-1,values:[]})),r},_processGroupItem:function(t,i){var e=this,f;return i.summaryGroupItems||(i.summaryGroupItems=e.option("summary.groupItems")||[]),t.rowType==="group"&&(f=-1,n.each(i.visibleColumns,function(){if(t.groupIndex===this.groupIndex)return f=this.index,!1}),t.summaryCells=this._calculateSummaryCells(i.summaryGroupItems,t.data.aggregates||[],i.visibleColumns,function(n,t){return n.showInGroupFooter?-1:n.alignByColumn&&t&&!r.isDefined(t.groupIndex)?t.index:f})),t.rowType===u&&(t.summaryCells=this._calculateSummaryCells(i.summaryGroupItems,t.data.aggregates||[],i.visibleColumns,function(n,t){return n.showInGroupFooter&&e._isDataColumn(t)?t.index:-1})),t},_calculateSummaryCells:function(t,i,u,f){var o=this,s=[],e={};return n.each(t,function(t,u){var h=o._columnsController.columnOption(u.column),l=u.showInColumn&&o._columnsController.columnOption(u.showInColumn)||h,s=f(u,l),c;s>=0&&(e[s]||(e[s]=[]),c=i[t],r.isDefined(c)&&!isNaN(c)&&e[s].push(n.extend({},u,{value:c,columnCaption:h&&h.index!==s?h.caption:undefined})))}),n.isEmptyObject(e)||n.each(u,function(){s.push(e[this.index]||[])}),s},_getSummaryCells:function(n,t){var i=this,r=i._columnsController;return i._calculateSummaryCells(n,t,r.getVisibleColumns(),function(n,t){return i._isDataColumn(t)?t.index:-1})},_updateItemsCore:function(n){var t=this,i,u,f=t._dataSource,r=t.option("summary.totalItems");t.callBase(n),t._footerItems=[],f&&r&&r.length&&(u=f.totalAggregates(),i=this._getSummaryCells(r,u),i.length&&t._footerItems.push({rowType:"totalFooter",summaryCells:i}))},_getAggregates:function(i){var u=this,f=u.getController("columns"),r=u.option("summary.calculateCustomSummary");return n.map(i||[],function(i){var o=f.columnOption(i.column),h=o&&o.calculateCellValue?n.proxy(o,"calculateCellValue"):t.data.utils.compileGetter(o?o.dataField:i.column),s=i.summaryType||"count",c=h,e;return(s==="avg"||s==="sum")&&(c=function(n){return Number(h(n))}),s==="custom"&&(r||(t.log("E1026"),r=function(){}),e={component:u.component,name:i.name,summaryProcess:"start",totalValue:undefined},r(e),e.summaryProcess="calculate",s={seed:e.totalValue,step:function(n,t){return e.summaryProcess="calculate",e.totalValue=n,e.value=t,r(e),e.totalValue},finalize:function(n){return e.summaryProcess="finalize",e.totalValue=n,delete e.value,r(e),e.totalValue}}),{selector:c,aggregator:s}})},_addSortInfo:function(n,t,i,u){var f;t&&(f=t.groupIndex,u=u||t.sortOrder,r.isDefined(f)&&(n[f]=n[f]||[],n[f].push({selector:i,desc:u==="desc"})))},_findSummaryItem:function(t,i){var u=-1,f=function(n){var t=n.summaryType,i=n.column;return t&&i&&t+"_"+i};return r.isDefined(i)&&n.each(t||[],function(n){if(this.name===i||n===i||this.summaryType===i||this.column===i||f(this)===i)return u=n,!1}),u},_getSummarySortByGroups:function(t,i){var u=this,e=u._columnsController,o=e.getGroupColumns(),f=[];if(i&&i.length)return n.each(t||[],function(){var h=this.sortOrder,t=this.groupColumn,c=u._findSummaryItem(i,this.summaryItem),s;c<0||(s=function(n){return n.aggregates[c]},r.isDefined(t)?(t=e.columnOption(t),u._addSortInfo(f,t,s,h)):n.each(o,function(n,t){u._addSortInfo(f,t,s,h)}))}),f},_createDataSourceAdapterCore:function(n,t){var r=this._getSummaryOptions(),i;return t==="auto"&&r&&(t={filtering:!0,sorting:!0,paging:!1}),i=this.callBase(n,t),i.summary(r),i},_getSummaryOptions:function(){var n=this,t=n.option("summary.groupItems"),u=n.option("summary.totalItems"),f=n.option("sortByGroupSummaryInfo"),i=n._getAggregates(t),r=n._getAggregates(u),e=function(){return n._getSummarySortByGroups(f,t)};if(i.length||r.length)return{groupAggregates:i,totalAggregates:r,sortByGroups:e}},publicMethods:function(){var n=this.callBase();return n.push("getTotalSummaryValue"),n},getTotalSummaryValue:function(n){var t=this._findSummaryItem(this.option("summary.totalItems"),n),i=this._dataSource.totalAggregates();if(i.length&&t>-1)return i[t]},optionChanged:function(n){(n.name==="summary"||n.name==="sortByGroupSummaryInfo")&&(n.name="dataSource"),this.callBase(n)},init:function(){this._footerItems=[],this.callBase()},footerItems:function(){return this._footerItems}}}()},views:{rowsView:function(){return{_createRow:function(n){var t=this.callBase(n);return n&&t.addClass(n.rowType===u?y:""),t},_renderCells:function(n,t){this.callBase.apply(this,arguments),this._renderGroupSummaryCells(n,t)},_hasAlignByColumnSummaryItems:function(n,t){return t.row.summaryCells[t.row.summaryCells.length-n].length},_renderGroupSummaryCells:function(t,i){var r,f;if(i.row.rowType==="group"&&i.row.summaryCells&&i.row.summaryCells.length){var e=t.children().last(),o=Number(e.attr("colspan"))||1,u=0;for(r=1;r<o;r++)u=this._hasAlignByColumnSummaryItems(r,i)?r:u;if(u>0)for(e.attr("colspan",o-u),r=0;r<u;r++)f=i.columns.length-u+r,this._renderCell(t,n.extend({column:i.columns[f],columnIndex:f},i))}},_getColumnTemplate:function(n){return!n.column.command&&!r.isDefined(n.column.groupIndex)&&n.summaryItems&&n.summaryItems.length?e:this.callBase(n)},_getCellOptions:function(t){var i=this,r=i.callBase(t);return t.row.summaryCells?n.extend(r,o(i,t)):r}}}()}}})}(jQuery,DevExpress),function(n,t){var f=t.ui,r=t.utils,i=f.dxDataGrid,u="dx-master-detail-cell",e="dx-master-detail-row",o="dx-row-lines";i.registerModule("masterDetail",{defaultOptions:function(){return{masterDetail:{enabled:!1,autoExpandAll:!1,template:null}}},extenders:{controllers:{editorFactory:{focus:function(n){if(n&&n.hasClass(u))this.loseFocus();else return this.callBase(n)}},columns:{_getExpandColumnsCore:function(){var n=this.callBase();return this.option("masterDetail.enabled")&&n.push({}),n}},data:function(){var t=function(n){n._expandedItems=[],n._isExpandAll=n.option("masterDetail.autoExpandAll")};return{init:function(){var i=this;t(i),i.loadingChanged.add(function(t){t||(i._expandedItems=n.grep(i._expandedItems,function(n){return n.visible}))}),i.callBase()},expandAll:function(n){var t=this;n<0?(t._isExpandAll=!0,t._expandedItems=[],t.updateItems()):t.callBase.apply(t,arguments)},collapseAll:function(n){var t=this;n<0?(t._isExpandAll=!1,t._expandedItems=[],t.updateItems()):t.callBase.apply(t,arguments)},isRowExpanded:function(n){var t=this,u=i.getIndexByKey(n,t._expandedItems);return r.isArray(n)?t.callBase.apply(t,arguments):!!(t._isExpandAll^(u>=0&&t._expandedItems[u].visible))},_changeRowExpandCore:function(n){var t=this,u,f,e;if(r.isArray(n))return t.callBase.apply(t,arguments);u=i.getIndexByKey(n,t._expandedItems),u>=0?(e=t._expandedItems[u].visible,t._expandedItems[u].visible=!e):t._expandedItems.push({key:n,visible:!0}),f=t.getRowIndexByKey(n),t.updateItems({changeType:"update",rowIndices:[f,f+1]})},_processDataItem:function(t,i){var f=this,u=f.callBase.apply(f,arguments);return u.isExpanded=f.isRowExpanded(u.key),i.detailColumnIndex===undefined&&(i.detailColumnIndex=-1,n.each(i.visibleColumns,function(n,t){if(t.command==="expand"&&!r.isDefined(t.groupIndex))return i.detailColumnIndex=n,!1})),i.detailColumnIndex>=0&&(u.values[i.detailColumnIndex]=u.isExpanded),u},_processItems:function(){var t=this,u=t.callBase.apply(t,arguments),f,r=[];return this._isLoadingAll?u:(n.each(u,function(n,u){r.push(u),f=i.getIndexByKey(u.key,t._expandedItems),u.rowType==="data"&&(u.isExpanded||f>=0)&&!u.inserted&&r.push({visible:u.isExpanded,rowType:"detail",key:u.key,data:u.data,values:[]})}),r)},optionChanged:function(n){var e=this,i,r,u,f;if(n.name==="masterDetail"){n.name="dataSource";switch(n.fullName){case"masterDetail":i=n.value||{},r=n.previousValue||{},u=i.enabled!==r.enabled,f=i.autoExpandAll!==r.autoExpandAll;break;case"masterDetail.enabled":u=!0;break;case"masterDetail.autoExpandAll":f=!0}(u||f)&&t(e)}e.callBase(n)},refresh:function(){var n=this;return t(n),n.callBase.apply(n,arguments)}}}()},views:{rowsView:function(){return{_getColumnTemplate:function(n){var t=this,r=n.column,i;return r.command==="detail"?(i=t.option("masterDetail.template")||t._getDefaultTemplate(r),n.denyRenderToDetachedContainer=!0):i=t.callBase.apply(t,arguments),i},_createRow:function(n){var t=this.callBase(n);return n&&n.rowType==="detail"&&(this.option("showRowLines")&&t.addClass(o),t.addClass(e).toggle(n.visible)),t},_getGroupCellOptions:function(n){var t=n.row,u=this._columnsController.getGroupColumns(),i=u.length+n.columnsCountBeforeGroups,r=i+Number(this.option("masterDetail.enabled"));return t&&t.rowType==="detail"?{columnIndex:i,emptyCellsCount:r,colspan:n.columns.length-r}:this.callBase(n)},_renderCells:function(n,t){var i=t.row,e,f=this._getGroupCellOptions(t),r;if(i.rowType==="detail"){for(r=0;r<f.emptyCellsCount;r++)this._renderCell(n,{value:null,row:i,rowIndex:i.rowIndex,column:t.columns[r]});e=this._renderCell(n,{value:null,row:i,rowIndex:i.rowIndex,column:{command:"detail"},columnIndex:f.columnIndex}),e.addClass(u).attr("colspan",f.colspan)}else this.callBase.apply(this,arguments)}}}()}}})}(jQuery,DevExpress),function(n,t,i){var h=t.ui,c=t.utils,e=h.dxDataGrid,u="dx-datagrid-content",o="dx-state-hover",l="dx-header-row",r="dx-datagrid-content-fixed",a="dx-datagrid-group-text-content",v="dx-col-fixed",s="dx-pointer-events-target",y="dx-pointer-events-none",f={init:function(){this.callBase(),this._isFixedTableRendering=!1,this._isFixedColumns=!1},_createCol:function(n){return this.callBase(n).toggleClass(v,this._isFixedTableRendering&&(n.fixed||n.command&&n.command!=="transparent"))},_createCell:function(n){return this.callBase(n).attr("colspan",n.colspan).toggleClass(y,n.command==="transparent")},_createTable:function(t){var i=this,r=i.callBase(t),u=i.option("hoverStateEnabled"),f=function(n,t){i._fixedTableElement&&i._getRowElements(i._fixedTableElement).eq(n).toggleClass(o,t),i._tableElement&&i._getRowElements(i._tableElement).eq(n).toggleClass(o,t)};if(u&&i._isFixedColumns)r.on("mouseover mouseout",".dx-data-row",i.createAction(function(t){var r=t.jQueryEvent;f(i.getRowIndex(n(r.target).closest(".dx-row")),r.type==="mouseover")}));return r},_renderTable:function(t){var i=this,f,e,u=i._columnsController.getFixedColumns();return i._isFixedColumns=!!u.length,e=i.callBase(t),i._isFixedColumns?(i._isFixedTableRendering=!0,i._fixedTableElement=f=i._createTable(u),i._renderRows(f,n.extend({},t,{columns:u})),i.wrapTableInScrollContainer(i._fixedTableElement).appendTo(i.element()).addClass(r+" "+s),i._isFixedTableRendering=!1):i._fixedTableElement&&i._fixedTableElement.remove(),e},_renderCellContent:function(n,t){var r=this,i=t.column;!r._isFixedTableRendering&&r._isFixedColumns&&(i.fixed||i.command||c.isDefined(i.groupIndex))?n.html("&nbsp;").addClass(i.cssClass):i.command!=="transparent"&&r.callBase(n,t)},getCellElements:function(t){var i=this,f,r=0,e,u=i.callBase(t);return i._fixedTableElement&&u&&(f=i._columnsController.getFixedColumns(),e=i._fixedTableElement.find(".dx-row").eq(t).children("td"),n.each(f,function(n,t){t.command==="transparent"?r+=t.colspan:(u[r]=e.get(n),r++)})),u},getColumnWidths:function(){var t=this,n,i=0,u,r=t.callBase(),f=t._columnsController.getFixedColumns();if(t._fixedTableElement&&r.length)for(u=e.getWidths(t._fixedTableElement),n=0;n<f.length;n++)f[n].command==="transparent"?i+=f[n].colspan:(r[i]<u[n]&&(r[i]=u[n]),i++);return r},_getTableElement:function(){return this._isFixedTableRendering?this._fixedTableElement:this.callBase()},_setTableElement:function(n){this._isFixedTableRendering?this._fixedTableElement=n:this.callBase(n)},getColumns:function(n){return(n=n||this._getTableElement(),this._isFixedTableRendering||n&&n.closest("table").parent("."+r).length)?this._columnsController.getFixedColumns():this.callBase(n)},getRowIndex:function(n){var t=this._fixedTableElement;return t&&t.find(n).length?this._getRowElements(t).index(n):this.callBase(n)},_getTableElements:function(){var n=this.callBase.apply(this,arguments);return this._fixedTableElement&&(n=n.add(this._fixedTableElement)),n},_resizeCore:function(){this.callBase(),this._synchronizeRows()},setColumnWidths:function(n){this.callBase(n),this._synchronizeRows()},_getClientHeight:function(n){var t=n.getBoundingClientRect&&n.getBoundingClientRect();return t&&t.height?t.height:n.clientHeight},_synchronizeRows:function(){var n=this,r,u,t,e,o,i,f;if(n._isFixedColumns&&n._tableElement&&n._fixedTableElement&&(e=n._getClientHeight(n._tableElement.get(0)),o=n._getClientHeight(n._fixedTableElement.get(0)),i=n._getRowElements(n._tableElement),f=n._getRowElements(n._fixedTableElement),e!==o))for(i.height(""),f.height(""),t=0;t<i.length;t++)r=n._getClientHeight(i.get(t)),u=n._getClientHeight(f.get(t)),r>u?f.eq(t).css("height",r):r<u&&i.eq(t).css("height",u)}},p=n.extend({},f,{getContextMenuItems:function(n){var i=this,f,t,r,u=i.option("columnFixing"),e=i.callBase(n);return n.closest("."+l).length&&(f=n.closest("td"),t=f.length&&i.getColumns(n)[f[0].cellIndex],t.allowFixing&&(r=function(n){switch(n.itemData.value){case"none":i._columnsController.columnOption(t.index,"fixed",!1);break;case"left":i._columnsController.columnOption(t.index,"fixed",!0),i._columnsController.columnOption(t.index,"fixedPosition","left");break;case"right":i._columnsController.columnOption(t.index,"fixed",!0),i._columnsController.columnOption(t.index,"fixedPosition","right")}},e.push({text:u.texts.fix,beginGroup:!0,items:[{text:u.texts.leftPosition,value:"left",disabled:t.fixed&&(!t.fixedPosition||t.fixedPosition==="left"),onItemClick:r},{text:u.texts.rightPosition,value:"right",disabled:t.fixed&&t.fixedPosition==="right",onItemClick:r}]},{text:u.texts.unfix,value:"none",disabled:!t.fixed,onItemClick:r}))),e},setScrollerSpacing:function(n){var t=this,i=t.option("rtlEnabled");t.callBase(n),t.element().children("."+r).css(i?{paddingLeft:n}:{paddingRight:n})}}),w=n.extend({},f,{_renderTable:function(t){var i=this,f,e,r,u=i._columnsController.getFixedColumns();return i._isFixedColumns=!!u.length,e=i.callBase(t),i._isFixedColumns?(i._isFixedTableRendering=!0,r=i._createTable(u),i._fixedTableElement=i._fixedTableElement||r,i._renderRows(r,n.extend({},t,{columns:u})),f=i._findContentElement(),i._updateContent(f,t.change,r),i._isFixedTableRendering=!1):i._fixedTableElement&&i._fixedTableElement.remove(),e},_findContentElement:function(){var i=this,r,t,e,f=i.element();return f&&i._isFixedTableRendering?(r=f.children("."+u),r.length||(t=i.getScrollable(),r=n("<div/>").addClass(u).on("dxmousewheel",function(n){if(t&&(e=t.scrollTop(),t.scrollTo({y:e-n.delta}),t.scrollTop()>0&&t.scrollTop()+t.clientHeight()<t.scrollHeight()+i.getScrollbarWidth()))return!1}).appendTo(f)),r):i.callBase()},_renderContent:function(n,t){return this._isFixedTableRendering?n.empty().addClass(u+" "+r+" "+s).append(t):this.callBase(n,t)},_getGroupCellOptions:function(t){return this._isFixedTableRendering?this.callBase(n.extend({},t,{columns:this._columnsController.getVisibleColumns()})):this.callBase(t)},_renderGroupSummaryCells:function(t,i){this._isFixedTableRendering?this.callBase(t,n.extend({},i,{columns:this._columnsController.getVisibleColumns()})):this.callBase(t,i)},_getColumnTemplate:function(t){var u=this,f=t.column,r=this.callBase(t);return u._isFixedTableRendering&&t.rowType==="group"&&f.groupIndex!==i?function(t,i){var u=n("<div/>").addClass(a);t.append(u),r(u,i)}:r},_hasAlignByColumnSummaryItems:function(n,t){if(!this._isFixedTableRendering||t.columns[t.row.summaryCells.length-n].fixed)return this.callBase(n,t)},getCellIndex:function(t){var r=this._fixedTableElement,u,i=0;return r&&r.find(t).length?(u=this._columnsController.getFixedColumns(),n.each(u,function(n,r){if(n===t[0].cellIndex)return!1;if(r.colspan){i+=r.colspan;return}i++}),i):this.callBase(t)},_updateFixedTablePosition:function(n){this._fixedTableElement&&this._tableElement&&this._fixedTableElement.css("top",n+this._tableElement.position().top)},setScrollerSpacing:function(){var n=this,t=n.getScrollbarWidth(),u=n.getScrollbarWidth(!0),i=n.option("rtlEnabled")?{marginLeft:t}:{marginRight:t};i.marginBottom=u,n.element().children("."+r).css(i)},_handleScroll:function(n){this._updateFixedTablePosition(-n.scrollOffset.top),this.callBase(n)},_updateContentPosition:function(){var n=this.callBase();return n&&this._updateFixedTablePosition(-this._scrollTop),n},getCell:function(n){var i=this,r=i.getColumns(),t=n.columnIndex,u,f;return r&&t<r.length&&(r[t].fixed||r[t].command==="expand")&&(u=i._getRowElements(i._fixedTableElement),f=u.first().find("[colspan]"),f[0].cellIndex<t&&(n.columnIndex=t-f.attr("colspan")+1)),i.callBase(n,u)},optionChanged:function(n){switch(n.name){case"scrolling":case"rtlEnabled":case"disabled":case"loadPanel":this._fixedTableElement=null}this.callBase(n)}}),b=f;e.registerModule("fixedColumns",{defaultOptions:function(){return{columnFixing:{enabled:!1,texts:{fix:Globalize.localize("dxDataGrid-columnFixingFix"),unfix:Globalize.localize("dxDataGrid-columnFixingUnfix"),leftPosition:Globalize.localize("dxDataGrid-columnFixingLeftPosition"),rightPosition:Globalize.localize("dxDataGrid-columnFixingRightPosition")}}}},extenders:{views:{columnHeadersView:p,rowsView:w,footerView:b,draggingHeaderView:{_pointCreated:function(n,t,i,r){var o=this.callBase.apply(this,arguments),u=t[n.columnIndex],f=t[n.columnIndex-1],e=function(n){return n.fixedPosition==="right"?"right":"left"};return!o&&i==="headers"?r&&r.fixed?!(u&&u.fixed&&e(u)===e(r)||f&&f.fixed&&e(f)===e(r)):u&&u.fixed&&e(u)!=="right"||f&&f.fixed&&e(f)==="right":o}}}}})}(jQuery,DevExpress),function(n,t){var u=t.ui,i=t.utils,r=u.dxDataGrid,f="dx-datagrid-checkbox-size",e="dx-datagrid-export-menu",o="dx-datagrid-export-button",s="export-to",h="exportxlsx",c="export-excel-button";r.DataProvider=t.Class.inherit({_getGroupValue:function(n){var t=this._options.groupColumns[n.groupIndex],f=r.getDisplayValue(t,n.values[n.groupIndex]),u=t.caption+": "+r.formatValue(f,t),i;return i=this._options.getVisibleIndex(t.index),n.summaryCells&&n.summaryCells.length&&n.summaryCells[i].length&&(u+=" "+r.getGroupRowSummaryText(n.summaryCells[i],this._options.summaryTexts)),u},_correctCellIndex:function(n){var t=this._options.startValueIndex,i=this._options.endValueIndex;return n<=i?t+n:null},ctor:function(n){this._options=n},getColumns:function(){return this._options.columns},getRowsCount:function(){return this._options.items.length},isGroupRow:function(n){return n<this._options.items.length&&this._options.items[n].rowType==="group"},getGroupLevel:function(n){var t=this._options.items[n],r=t.groupIndex;return t.isTotalSummary?0:i.isDefined(r)?r:this._options.groupColumns.length},getCellType:function(n,t){if(t<this._options.columns.length){var u=this._options.items.length&&this._options.items[n],r=this._options.columns[t];return u&&u.rowType==="data"&&isFinite(u.values[this._correctCellIndex(t)])&&!i.isDefined(r.customizeText)?i.isDefined(r.lookup)?r.lookup.dataType:r.dataType:"string"}},ready:function(){var t=this._options;return n.when(t.items).done(function(n){t.items=n})},getCellValue:function(n,t){var f,u,s=this._correctCellIndex(t),e,o=this._options.items.length&&this._options.items[n];if(o){e=o.values;switch(o.rowType){case"summaryFooter":if(s<e.length&&(u=e[s],i.isDefined(u)))return r.getSummaryText(u,this._options.summaryTexts);break;case"group":if(t<1)return this._getGroupValue(o);break;default:if(f=this._options.columns[t],f)return u=r.getDisplayValue(f,e[s]),!isFinite(u)||f.customizeText?r.formatValue(u,f):u}}},isHeadersVisible:function(){return this._options.isHeadersVisible},isTotalRow:function(n){var i=this._options.items,t=i[n];return t&&t.rowType==="summaryFooter"}}),r.ExportController=r.ViewController.inherit({_getColumns:function(){for(var u=[],f=this._columnsController.getVisibleColumns(),e=this._rowsView.getColumnWidths(),r,t=0;t<f.length;t++)r=f[t],i.isDefined(r.command)||u.push(n.extend({},r,{width:e[t]}));return u},_getFooterSummaryItems:function(n,t){var o=[],r=1,u,f,e,i,s=0;do{for(u=[],i=0;i<n.length;i++)e=n[i],f=e.length,r<f&&(r=f),u.push(e[s]);o.push({values:u,rowType:"summaryFooter",isTotalSummary:t})}while(s++<r-1);return o},_hasSummaryGroupFooters:function(){var n,t=this.option("summary.groupItems");if(i.isDefined(t))for(n=0;n<t.length;n++)if(t[n].showInGroupFooter)return!0;return!1},_getItemsWithSummaryGroupFooters:function(n){for(var t,i=[],r=[],f=[],u=0;u<n.length;u++)t=n[u],t.rowType==="groupFooter"?(f=this._getFooterSummaryItems(t.summaryCells),i=i.concat(r,f),r=[]):r.push(t);return i.length?i:r},_getAllItems:function(t){var r=this,u=n.Deferred(),f=this.getController("data"),h=f.footerItems(),e=h.length&&h[0],c=r.option("summary.totalItems"),o,s;return f.loadAll(t).done(function(n,t){r._hasSummaryGroupFooters()&&(n=r._getItemsWithSummaryGroupFooters(n)),o=e&&e.summaryCells,i.isDefined(t)&&c&&(o=f._getSummaryCells(c,t)),s=e&&r._getFooterSummaryItems(o,!0),s&&(n=n.concat(s)),u.resolve(n)}).fail(u.reject),u},_getSelectedItems:function(){var n=this.getController("selection"),t=n.getSelectedRowsData();return this._getAllItems(t)},_getStartEndValueIndexces:function(n){for(var r,u,f=n.length,t=0;t<f;t++)if(!i.isDefined(n[t].command)){r=t;break}for(t=f-1;t>=0;t--)if(!i.isDefined(n[t].command)){u=t;break}return{startIndex:r,endIndex:u}},init:function(){this._columnsController=this.getController("columns"),this._rowsView=this.getView("rowsView"),this.createAction("onExporting",{excludeValidators:["disabled","readOnly"]}),this.createAction("onExported",{excludeValidators:["disabled","readOnly"]}),this._clientExporter=new t.dxClientExporter({exportingAction:this.getAction("onExporting"),exportedAction:this.getAction("onExported")})},optionChanged:function(n){this.callBase(n),n.name==="onExporting"&&this._clientExporter.option("exportingAction",this.getAction(n.name)),n.name==="onExported"&&this._clientExporter.option("exportedAction",this.getAction(n.name))},callbackNames:function(){return["selectionOnlyChanged"]},getExportFormat:function(){return["EXCEL"]},getDataProvider:function(){var i=this._columnsController.getGroupColumns(),t=this._getStartEndValueIndexces(this._columnsController.getVisibleColumns());return new r.DataProvider({columns:this._getColumns(),groupColumns:i,items:!this._selectionOnly?this._getAllItems():this._getSelectedItems(),getVisibleIndex:n.proxy(this._columnsController.getVisibleIndex,this._columnsController),startValueIndex:t.startIndex,endValueIndex:t.endIndex,isHeadersVisible:this.option("showColumnHeaders"),summaryTexts:this.option("summary.texts")})},exportToExcel:function(n){this._selectionOnly=n;var t=this.option("export.excelWrapTextEnabled");i.isDefined(this._clientExporter)&&this._clientExporter.exportTo({fileName:this.option("export.fileName"),proxyUrl:this.option("export.proxyUrl"),format:"EXCEL",wrapTextEnabled:i.isDefined(t)?t:!!this.option("wordWrapEnabled"),autoFilterEnabled:!!this.option("export.excelFilterEnabled"),component:this.component})},publicMethods:function(){return["getDataProvider","getExportFormat","exportToExcel"]},selectionOnly:function(n){if(i.isDefined(n))this._isSelectedRows=n,this.selectionOnlyChanged.fire();else return this._isSelectedRows}}),r.registerModule("export",{defaultOptions:function(){return{"export":{enabled:!1,fileName:"DataGrid",excelFilterEnabled:!1,excelWrapTextEnabled:undefined,proxyUrl:undefined,allowExportSelectedData:!1,texts:{exportTo:Globalize.localize("dxDataGrid-exportTo"),exportToExcel:Globalize.localize("dxDataGrid-exportToExcel"),excelFormat:Globalize.localize("dxDataGrid-excelFormat"),selectedRows:Globalize.localize("dxDataGrid-selectedRows")}}}},controllers:{"export":r.ExportController},extenders:{views:{headerPanel:{_isExportButtonVisible:function(){return this.option("export.enabled")},_getButtonOptions:function(){var n=this,t=n.option("export.texts");return n.option("export.allowExportSelectedData")?{hint:t.exportTo,icon:s}:{hint:t.exportToExcel,icon:c,onClick:function(){n._exportController.exportToExcel()}}},_renderExportButton:function(){var t=this;i.isDefined(t._$exportButton)&&t._$exportButton.remove(),t.option("export.enabled")&&(t._$exportButton=n("<div>").addClass(o).dxButton(t._getButtonOptions()),t.element().append(t._$exportButton))},_renderExportMenu:function(){var t=this,r=t.option("export.texts"),u=[{text:r.excelFormat,icon:h}];i.isDefined(t._exportContextMenu)&&t._exportContextMenu.element().remove(),t.option("export.enabled")&&t.option("export.allowExportSelectedData")&&(u.push({value:"selectionOnly",template:function(){return n("<div>").addClass(f).dxCheckBox({text:r.selectedRows,value:!!t._exportController.selectionOnly(),onValueChanged:function(n){t._exportController.selectionOnly(n.value)}})},beginGroup:!0,closeMenuOnClick:!1}),t._exportContextMenu=n("<div>").dxContextMenu({alternativeInvocationMode:{enabled:!0,invokingElement:t._$exportButton},items:u,cssClass:e,onItemClick:function(n){n.itemData.text&&n.itemData.text.indexOf("Excel")>-1&&t._exportController.exportToExcel(t._exportController.selectionOnly())},target:this._$exportButton,position:{at:"left bottom",my:"left top",offset:"0 3"}}).appendTo(t.component.element()).dxContextMenu("instance"))},_renderCore:function(){this.callBase(),this._renderExportButton(),this._renderExportMenu()},optionChanged:function(n){this.callBase(n),n.name==="export"&&(n.handled=!0,this.render())},init:function(){this.callBase(),this._exportController=this.getController("export")},isVisible:function(){return this.callBase()||this._isExportButtonVisible()}}}}})}(jQuery,DevExpress),function(n,t){function f(n,t){for(var r=[],i=0;i<n.length;i++)r.push(Math.max(n[i]||0,t[i]||0));return r}var u=t.ui,e=u.events,r=t.utils,o=function(t,i){var e=0,u,f={},r=n("<div>").css({position:"absolute",visibility:"hidden",width:100,height:100}).appendTo(t),o=n("<p>").css({width:"100%",height:200}).appendTo(r);return i!=="auto"&&(f.useNative=!!i,f.useSimulatedScrollbar=!i),r.dxScrollable(f),u=r.dxScrollable("instance").option("useNative"),e=u?r.width()-o.width():0,r.remove(),{scrollBarWidth:e,scrollBarUseNative:u}},i;t.registerComponent("dxPivotGrid",u,u.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({useNativeScrolling:"auto",encodeHtml:!0,descriptions:null,dataSource:null,activeStateEnabled:!1,fieldChooser:{enabled:!0,layout:0,title:Globalize.localize("dxPivotGrid-fieldChooserTitle"),width:600,height:600},onContextMenuPreparing:null,allowSorting:!1,allowSortingBySummary:!1,allowFiltering:!1,allowExpandAll:!1,showRowTotals:!0,showRowGrandTotals:!0,showColumnTotals:!0,showColumnGrandTotals:!0,loadPanel:{enabled:!0,text:Globalize.localize("Loading"),width:200,height:70,showIndicator:!0,indicatorSrc:"",showPane:!0},texts:{grandTotal:Globalize.localize("dxPivotGrid-grandTotal"),total:Globalize.localize("dxPivotGrid-total"),noData:Globalize.localize("dxDataGrid-noDataText"),showFieldChooser:Globalize.localize("dxPivotGrid-showFieldChooser"),expandAll:Globalize.localize("dxPivotGrid-expandAll"),collapseAll:Globalize.localize("dxPivotGrid-collapseAll"),sortColumnBySummary:Globalize.localize("dxPivotGrid-sortColumnBySummary"),sortRowBySummary:Globalize.localize("dxPivotGrid-sortRowBySummary"),removeAllSorting:Globalize.localize("dxPivotGrid-removeAllSorting")},onCellClick:null,onCellPrepared:null,onExpandValueChanging:null,renderCellCountLimit:2e4})},_initDataController:function(){var t=this,r;t._dataController&&t._dataController.dispose(),t._dataController=new i.DataController({descriptions:t.option("descriptions"),dataSource:t.option("dataSource"),texts:t.option("texts"),showRowTotals:t.option("showRowTotals"),showRowGrandTotals:t.option("showRowGrandTotals"),showColumnTotals:t.option("showColumnTotals"),showColumnGrandTotals:t.option("showColumnGrandTotals"),onFieldsPrepared:function(i){n.each(i,function(i,r){n.each(["allowSorting","allowSortingBySummary","allowFiltering","allowExpandAll"],function(n,i){r[i]===undefined&&(r[i]=t.option(i))})})}}),t._dataController.changed.add(function(){t._render()}),t._dataController.loadingChanged.add(function(){t._updateLoading()}),r=t.option("onExpandValueChanging"),r&&t._dataController.expandValueChanging.add(function(n){r(n)})},_init:function(){var n=this;n.callBase(),n._initDataController(),n._scrollLeft=0,n._scrollTop=0},_optionChanged:function(n){var t=this;switch(n.name){case"dataSource":case"descriptions":case"texts":case"showRowTotals":case"showRowGrandTotals":case"showColumnTotals":case"showColumnGrandTotals":case"showColumnGrandTotals":case"allowSorting":case"allowFiltering":t._initDataController(),t._invalidate();break;case"useNativeScrolling":case"encodeHtml":case"renderCellCountLimit":t._invalidate();break;case"rtlEnabled":t.callBase(n),t._renderFieldChooser(),t._renderContextMenu(),t._renderLoadPanel(t._dataArea.groupElement()),t._invalidate();break;case"onCellClick":case"onExpandValueChanging":case"onCellPrepared":case"onContextMenuPreparing":case"allowSortingBySummary":case"allowExpandAll":break;case"fieldChooser":t._renderFieldChooser();break;case"loadPanel":t._renderLoadPanel(t._dataArea.groupElement()),t._invalidate();break;default:t.callBase(n)}},_updateScrollPosition:function(n,t,i){var r=this,u=function(n,t){var i;n&&(i=n.groupElement().data("dxScrollable"),i&&(i.scrollTo(t),i.update()))};t&&!t.hasScroll()&&(r._scrollTop=0),n&&!n.hasScroll()&&(r._scrollLeft=0),u(i,{x:r._scrollLeft,y:r._scrollTop}),u(n,r._scrollLeft),u(t,r._scrollTop)},_subscribeToEvents:function(n,t,i){var r=this,u=function(n,t){var i=n.groupElement().data("dxScrollable");i&&(i.option("onScroll",t),i.option("onStop",t))};u(i,function(i){var u=i.scrollOffset;(r._scrollLeft!==u.left||r._scrollTop!==u.top)&&(r._scrollLeft=Math.floor(i.scrollOffset.left),r._scrollTop=Math.floor(i.scrollOffset.top),r._updateScrollPosition(n,t,null))})},_clean:n.noop,_needDelayResizing:function(){var n=this._dataController.getCellsInfo(),t=n.length*(n.length?n[0].length:0);return t>this.option("renderCellCountLimit")},_renderFieldChooser:function(){var t=this,u=t._pivotGridContainer,i=t.option("fieldChooser")||{},r={visible:!1,shading:!1,title:i.title,width:i.width,height:i.height,showCloseButton:!0,rtlEnabled:t.option("rtlEnabled"),onShown:function(n){var u=n.component,r=n.component.content();t._createComponent(r,"dxPivotGridFieldChooser",{layout:i.layout,texts:i.texts||{},dataSource:t.getDataSource(),width:undefined,height:undefined}),t._createComponent(r.parent(),"dxResizable",{handles:t.option("rtlEnabled")?"left bottom":"right bottom",onResize:function(){u._setContentHeight(),r.dxPivotGridFieldChooser("updateDimensions")}})}};t._fieldChooserPopup?t._fieldChooserPopup.option(r):t._fieldChooserPopup=t._createComponent(n("<div>").addClass("dx-fieldchooser-popup").appendTo(u),"dxPopup",r)},_renderContextMenu:function(){var t=this,r=t._pivotGridContainer;t._contextMenu&&t._contextMenu.element().remove(),t._contextMenu=t._createComponent(n("<div>").appendTo(r),"dxContextMenu",{onPositioning:function(i){var r=i.jQueryEvent,f=r.target.cellIndex>=0?r.target:n(r.target).closest("td").get(0),e=t._createCellArgs(f),u=t._getContextMenuItems(e);u?i.component.option("items",u):i.canceled=!0},onItemClick:function(n){n.itemData.onItemClick&&n.itemData.onItemClick(n)},cssClass:i.cssClassNames.pivotGrid,target:t.element()})},_getContextMenuItems:function(t){var f=this,c=f.option("onContextMenuPreparing"),u=[],s;if(t.area==="row"||t.area==="column"){var l=t[t.area+"Fields"],h=t[t.area==="column"?"rowFields":"columnFields"],o=t.cell.path&&l[t.cell.path.length-1],e=f.getDataSource();o&&o.allowExpandAll&&t.cell.path.length<t[t.area+"Fields"].length&&t.cell.type==="D"&&(u.push({beginGroup:!0,icon:"none",text:f.option("texts.expandAll"),onItemClick:function(){e.expandAll(o.index)}}),u.push({text:f.option("texts.collapseAll"),icon:"none",onItemClick:function(){e.collapseAll(o.index)}})),t.cell.isLast&&(s=0,n.each(h,function(o,h){h.allowSortingBySummary&&n.each(t.dataFields,function(n,o){if(!r.isDefined(t.cell.dataIndex)||t.cell.dataIndex===n){var c=!r.isDefined(t.cell.dataIndex)&&t.dataFields.length>1,l=f.option(t.area==="column"?"texts.sortColumnBySummary":"texts.sortRowBySummary"),a=i.findField(t.dataFields,h.sortBySummaryField)===n&&(t.cell.path||[]).join("/")===(h.sortBySummaryPath||[]).join("/"),v=r.stringFormat(l,c?h.caption+" - "+o.caption:h.caption);u.push({beginGroup:s===0,icon:a?h.sortOrder==="desc"?"desc":"asc":"none",text:v,onItemClick:function(){e.field(h.index,{sortBySummaryField:o.caption||o.dataField,sortBySummaryPath:t.cell.path,sortOrder:h.sortOrder==="desc"?"asc":"desc"}),e.load()}}),s++}})}),n.each(h,function(t,i){if(i.allowSortingBySummary&&r.isDefined(i.sortBySummaryField))return u.push({beginGroup:s===0,icon:"none",text:f.option("texts.removeAllSorting"),onItemClick:function(){n.each(h,function(n,t){e.field(t.index,{sortBySummaryField:undefined,sortBySummaryPath:undefined,sortOrder:undefined})}),e.load()}}),!1}))}return f.option("fieldChooser.enabled")&&u.push({beginGroup:!0,icon:"field-chooser",text:f.option("texts.showFieldChooser"),onItemClick:function(){f._fieldChooserPopup.show()}}),c&&(t.items=u,c(t),u=t.items),u&&u.length?u:void 0},_createCellArgs:function(t){var i=this,f=n(t),e=t.cellIndex,r=t.parentElement.rowIndex,o=f.closest("table"),s=o.data("area"),u=o.data("data"),h=u&&u[r]&&u[r][e];return{area:s,rowFields:i.getDataSource().getAreaFields("row"),columnFields:i.getDataSource().getAreaFields("column"),dataFields:i.getDataSource().getAreaFields("data"),rowIndex:r,columnIndex:e,cellElement:f,cell:h}},_handleCellClick:function(n){var i=this,r=i.option("onCellClick"),t=i._createCellArgs(n.currentTarget);!t.area&&(t.rowIndex||t.columnIndex)||(r&&r(t),t.handled||!t.area&&i.option("fieldChooser.enabled")&&i._fieldChooserPopup.show())},_getNoDataText:function(){return this.option("texts.noData")},_updateNoDataText:t.ui.dxDataGrid.RowsView.prototype._updateNoDataText,_renderLoadPanel:t.ui.dxDataGrid.RowsView.prototype._renderLoadPanel,_updateLoading:function(){var n=this;n._loadPanel&&n._loadPanel.option("visible",n._dataController.isLoading())},_renderContentImpl:function(){var t=this,l=n("<td>"),a=n("<td>"),v=n("<td>"),u=n("<table>"),f=t._dataArea||new i.DataArea(t),h=(t._rowsArea||new i.VerticalHeadersArea(t)).setDataController(t._dataController),s=(t._columnsArea||new i.HorizontalHeadersArea(t)).setDataController(t._dataController),y=o(t.element(),t.option("useNativeScrolling")),c;if(t._scrollBarWidth=y.scrollBarWidth,t._scrollBarUseNative=y.scrollBarUseNative,r.isDefined(t._pivotGridContainer))u=t._pivotGridContainer.children().first();else{t._pivotGridContainer=n("<div>"),t._renderFieldChooser(),t._renderContextMenu(),n("<tr>").append(n("<td>").addClass(i.cssClassNames.areaDescription)).append(l).appendTo(u),n("<tr>").addClass(i.cssClassNames.bottomAraesRow).append(a).append(v).appendTo(u),u.appendTo(t._pivotGridContainer);u.on(e.addNamespace("dxclick","dxPivotGrid"),"td",n.proxy(t,"_handleCellClick"))}t._rowsArea=h,t._columnsArea=s,t._dataArea=f,s.render(l,t._dataController.getColumnsInfo()),h.render(a,t._dataController.getRowsInfo()),f.render(v,t._dataController.getCellsInfo()),f.tableElement().prepend(s.headElement()),c=function(){t.updateDimensions(),t._subscribeToEvents(s,h,f)},r.isDefined(t._pivotGridContainer[0].parentElement)?c():(t._hasHeight=t.element().height()>0,t._pivotGridContainer.appendTo(t.element()),t.element().addClass(i.cssClassNames.pivotGrid).addClass(i.cssClassNames.rowLines),t._renderLoadPanel(f.groupElement()),h.processScroll(),s.processScroll(),t._needDelayResizing()?setTimeout(c):c())},_fireContentReadyAction:function(){this._dataController.isLoading()||this.callBase()},getScrollPath:function(n){var i=this,t,f=0,u,r;for(n==="column"?(u=i._scrollLeft,r=i._columnsArea.getColumnsWidth()):(u=i._scrollTop,r=i._rowsArea.getRowsHeight()),t=0;t<r.length;t++){if(u<f+r[t]/2)return i._dataController.getHeaderItemPath(n,t);f+=r[t]}},getDataSource:function(){return this._dataController.getDataSource()},hasScroll:function(n){var t=this;return n==="column"?t._columnsArea.hasScroll():t._rowsArea.hasScroll()},_dimensionChanged:function(){this.updateDimensions()},_visibilityChanged:function(n){n&&this.updateDimensions()},_dispose:function(){var n=this;n.callBase.apply(n,arguments),n._dataController&&n._dataController.dispose()},resize:function(){this.updateDimensions()},updateDimensions:function(){var r=this,v,y,e,w=r.element().find("table").first(),nt,u=r._rowsArea,o=r._columnsArea,t=r._dataArea,b,k,s,p,tt,it=0,d=0,h,l,rt=r.getDataSource().getAreaFields("data"),g=r.option("loadPanel")||{},a,c=r._scrollBarWidth||0;t.headElement().length||(t.tableElement().prepend(o.headElement()),t.resetColumnsWidth()),p=t.getColumnsWidth(),k=u.getRowsHeight(),b=t.getRowsHeight(),s=f(k,b.slice(b.length-k.length)),tt=u.getColumnsWidth(),v=r.element().width()-w.width(),y=Math.floor(t.groupWidth()+v),r._hasHeight&&(v=r.element().height()-w.height()-t.headElement().height(),nt=w.find("."+i.cssClassNames.bottomAraesRow),e=Math.floor(nt.height()+v)),it=t.tableElement().width(),n.each(s,function(n,t){d+=t||0}),h=e<d,l=y<it,h||(e=d+(l?c:0)),o.tableElement().append(t.headElement()),s.length===1&&g.enabled&&g.height&&(a=g.height+50,s[0]<a&&(s[0]=a,e<a&&(e=a))),o.groupWidth(y),o.processScrollBarSpacing(h?c:0),o.processStretch(p,l,rt),o.setColumnsWidth(p),u.groupHeight(e),u.processScrollBarSpacing(l?c:0),u.setColumnsWidth(tt),u.setRowsHeight(s),t.setColumnsWidth(p),t.setRowsHeight(s),t.groupWidth(y),t.groupHeight(e),t.groupElement().css("border-bottom-width",h||c?"0px":""),u.groupElement().css("border-bottom-width",h&&!c?"0px":""),t.processScroll(c,h,l,r._scrollBarUseNative),r._updateNoDataText(t.groupElement()),r._updateLoading(),r._updateScrollPosition(o,u,t)},applyPartialDataSource:function(n,t,i){this._dataController.applyPartialDataSource(n,t,i)}})),i=n.extend(u.dxPivotGrid,{cssClassNames:{pivotGrid:"dx-pivotgrid",rowLines:"dx-row-lines",area:"dx-pivotgrid-area",areaData:"dx-pivotgrid-area-data",areaDescription:"dx-pivotgrid-area-description",splitter:"dx-pivotgrid-splitter",splitterButton:"dx-button",splitterButtonDisable:"dx-button-disable",splitterExpand:"dx-expand",splitterCollapse:"dx-collapse",bottomAraesRow:"dx-bottom-row",verticalScroll:"dx-vertical-scroll",headersVertical:"dx-pivotgrid-vertical-headers",headersHorizontal:"dx-pivotgrid-horizontal-headers",headersVerticalLastCell:"dx-last-cell",headersVerticalExpandBorder:"dx-expand-border",headersExpandCollapseImage:"dx-expand",headersExpanded:"dx-pivotgrid-expanded",headersCollapsed:"dx-pivotgrid-collapsed",bottomBorder:"dx-pivotgrid-bottom-border",total:"dx-total",grandTotal:"dx-grandtotal",rowTotal:"dx-row-total"},mergeArraysByMaxValue:f})}(jQuery,DevExpress),function(n,t){function o(n,t){var r,u;if(n&&i.isDefined(t))for(r=0;r<n.length;r++)if(u=n[r],u.name===t||u.caption===t||u.dataField===t||u.index===t)return r;return-1}function u(n,t,i,r){var f,e;if(n)for(f=0;f<n.length;f++)if(e=n[f],e){if((i&&i.push(e.value),r&&t(e,i,f,n)===!1)||u(e.children,t,i,r)===!1||!r&&t(e,i,f,n)===!1)return!1;i&&i.pop()}}function c(n,i){var r={value:n,valueText:t.formatHelper.format(n,i.format,i.precision)||""};return i.customizeText?i.customizeText.call(i,r):r.valueText}function s(n,t,i,r){var u,f;for(i=i||0,r=r||"children",n.length&&t(n,i),f=0;f<n.length;f++)u=n[f],u[r]&&u[r].length&&s(u[r],t,i+1,r)}function h(n){return function(t,i){var r=0;return n(t)>n(i)?r=1:n(t)<n(i)&&(r=-1),r}}var f=t.ui.dxPivotGrid,i=t.utils,r=i.isDefined,e={row:"rows",column:"columns",data:"values",filter:"filters"};t.data.PivotGridDataSource=f.DataSource=t.Class.inherit(function(){function ut(i){var u,r;return n.isPlainObject(i)&&i.load?u=new f.LocalStore(i):(i&&!i.store&&(i={store:i}),r=i.store,r.type==="xmla"?u=new f.XmlaStore(r):n.isPlainObject(r)&&r.type||r instanceof t.data.Store||n.isArray(r)?u=new f.LocalStore(i):r instanceof t.Class&&(u=r)),u}function w(n,t,i){var r=[],f=t[i];return u(n[i],function(n,t){n.children&&f[t.length-1]&&!f[t.length-1].expanded&&t.length<f.length&&r.push(t.slice())},[],!0),r.length?r:void 0}function ft(t,r){return n.map(t,function(t){return t.groupName===r.groupName&&i.isNumber(t.groupIndex)&&t.visible!==!1?n.extend(t,{areaIndex:r.areaIndex,area:r.area,dataField:t.dataField||r.dataField,dataType:t.dataType||r.dataType,sortBy:t.sortBy||r.sortBy,sortOrder:t.sortOrder||r.sortOrder,sortBySummaryField:t.sortBySummaryField||r.sortBySummaryField,sortBySummaryPath:t.sortBySummaryPath||r.sortBySummaryPath,visible:t.visible||r.visible}):null}).sort(function(n,t){return n.groupIndex-t.groupIndex})}function v(t,r){var u={rows:[],columns:[],values:[],filters:[]};return n.each(t||[],function(n,f){var h=e[f.area],o=u[h],s=f.groupName;(s&&!i.isNumber(f.groupIndex)&&(r&&s===r.groupName&&(r=f),f.levels=ft(t,f)),!o||s&&i.isNumber(f.groupIndex)||f.visible===!1)||(f.levels&&o!==u.filters?(o.push.apply(o,f.levels),f.filterValues&&f.filterValues.length&&u.filters.push(f)):o.push(f))}),n.each(u,function(n,t){i.normalizeIndexes(t,"areaIndex",r),t.sort(function(n,t){return n.areaIndex-t.areaIndex})}),u}function b(n){return(n.dataField||n.groupName||"")+(n.groupInterval?n.groupName||"":"NOGROUP")+(n.groupInterval||"")+(n.summaryType||"")}function k(t,i,r){var u=[],f={},e={},o=[],s=d(t);return i?(n.each(i,function(n,t){f[b(t)]=t}),n.each(t,function(t,i){var r=b(i),h=f[r]||e[r],o;h?o=n.extend({},h,i):f[r]=o=i,n.extend(o,{dataType:s[i.dataField]}),delete f[r],e[r]=h,u.push(o)}),r&&n.each(f,function(n,t){u.push(t)})):u=t,u.push.apply(u,o),u}function et(n){var u=n.dataField||n.groupName||"",r=(n.summaryType||"").toLowerCase();return i.isString(n.groupInterval)&&(u+="_"+n.groupInterval),r&&r!=="custom"?(r=r.replace(/^./,r[0].toUpperCase()),u.length&&(r=" ("+r+")")):r="",t.inflector.titleize(u)+r}function d(t){var i={};return n.each(t,function(n,t){i[t.dataField]=i[t.dataField]||t.dataType}),i}function ot(t){var i=n.Deferred(),r=t._store,f=r&&r.getFields(d(t._fields)),u;return n.when(f).done(function(n){t._storeFields=n,u=k(t._fields,n,t._retrieveFields),i.resolve(u)}).fail(function(){i.resolve(t._fields)}),i}function st(n,t){var i=null,r=(t||[]).join(".");return r.length&&u(n,function(n,t){if(r===t.join("."))return i=n.index,!1},[]),i}function ht(n,t,i,u){var e=t.values,h=o(i.values,n.sortBySummaryField),f=u==="rows",l=f?t.columns:t.rows,a=f?t.grandTotalRowIndex:t.grandTotalColumnIndex,c=n.sortBySummaryPath||[],s=c.length?st(l,c):a;if(e&&e.length&&h>=0&&r(s))return function(n){var t=f?n.index:s,i=f?s:n.index;return((e[t]||[[]])[i]||[])[h]||null}}function ct(n,t,i,r){var e=n.sortOrder,o=n.sortingMethod||h(function(n){return n.value}),u=ht(n,t,i,r),f=u&&h(u);return function(n,t){var i=f&&f(n,t)||0;return i===0&&(i=o(n,t)),e==="desc"?-i:i}}function g(n,t,i){var u=t[i]||[],f=t.headerName===i?t.path.length:0,r=[];s(n[i],function(f,e){var o=u[e]||{},s=r[e]=r[e]||ct(o,n,t,i);f.sort(s)},f)}function lt(n,t){g(t,n,"rows"),g(t,n,"columns")}function nt(n,t,i){u(n[i],function(n,r){n.text=n.text||c(n.value,t[i][r.length-1])},[])}function tt(n,t){nt(t,n,"columns"),nt(t,n,"rows")}var it=function(n,t){return DevExpress.data.utils.toComparable(n)===DevExpress.data.utils.toComparable(t)},l=function(t,i){var r,f,u=null,e=function(n){return it(n.value,i[r])};if(n.isArray(i))for(r=0;r<i.length&&t;r++){if(f=n.grep(t||[],e),f.length===0){u=null;break}u=f[0],t=u.children}return u},a=function(n,t){var f,i=-1,u;if(n)for(f=0;f<n.length;f++)u=n[f],i=Math.max(i,u.index),u.children?i=Math.max(i,a(u.children)):u.collapsedChildren&&(i=Math.max(i,a(u.collapsedChildren)));return r(t)&&(i=Math.max(i,t)),i},y=function(t,i,r,f){for(var s=a(r)+1,h=a(t,f)+1,o=[],e=0;e<s;e++)o[e]=h++;return i.children=[],n.extend(!0,i.children,r),u(i.children,function(n){n.index=o[n.index]}),o},p=function(n,t){var i=[];return u(n,function(n){delete n.collapsedChildren}),u(t,function(t,r){var u=l(n,r);u&&(i[t.index]=u.index)},[]),i},rt=function(n,t,i,u){var e,o,h,c,f,s,l=n.values;if(t)for(e=0;e<=t.length;e++)if(h=t[e],f=i[e],r(f)||(f=n.grandTotalRowIndex),h&&r(f))for(l[f]||(l[f]=[]),o=0;o<=h.length;o++)c=h[o],s=u[o],r(s)||(s=n.grandTotalColumnIndex),r(c)&&r(s)&&(l[f][s]=c)};return{ctor:function(t){t=t||{};var i=this,u=ut(t);i._store=u,i._loadedData={rows:[],columns:[],values:[]},i._data=n.extend(!0,{},i._loadedData),i._loadingCount=0,n.each(["changed","loadError","loadingChanged","fieldsPrepared","expandValueChanging"],n.proxy(function(n,i){var r="on"+i[0].toUpperCase()+i.slice(1);if(t.hasOwnProperty(r))this.on(i,t[r])},this)),i._localSorting=!!t.localSorting,i._retrieveFields=r(t.retrieveFields)?t.retrieveFields:!0,i._fields=t.fields||[],i._descriptions=t.descriptions?n.extend(v([]),t.descriptions):undefined,u||(n.extend(!0,i._loadedData,t.store||t),i._data=n.extend(!0,{},i._loadedData))},getData:function(){return this._data},getAreaFields:function(t,u){var f=[],o;return u||t==="data"?(n.each(this._fields,function(){this.area!==t||r(this.groupIndex)||this.visible===!1||f.push(this)}),i.normalizeIndexes(f,"areaIndex"),f.sort(function(n,t){return n.areaIndex-t.areaIndex})):(o=this._descriptions||{},f=o[e[t]]||[]),f},fields:function(n){var t=this;return n&&(t._fields=k(n,t._storeFields,t._retrieveFields),t._fieldsPrepared(t._fields)),t._fields},field:function(t,r){var e=this,u=this._fields&&this._fields[i.isNumber(t)?t:o(this._fields,t)],f;return u&&r&&(n.each(r,function(n,t){if(u[n]=t,n==="sortOrder"){f=u.levels||[];for(var i=0;i<f.length;i++)f[i][n]=t}}),e._descriptions=v(this._fields,u)),u},getFieldValues:function(t){var o=this,r=this._fields&&this._fields[t],f=this.store(),e=[],u={columns:e,rows:[],values:this.getAreaFields("data"),filters:[],localSorting:this._localSorting},i=n.Deferred();return r&&f?(n.each(r.levels||[r],function(){e.push(n.extend({},this,{expanded:!0,filterValues:null,sortOrder:"asc",sortBySummaryField:null}))}),f.load(u).done(function(n){tt(u,n),o._sort(u,n),i.resolve(n.columns)}).fail(i)):i.reject(),i},load:function(i){var r=this,u=n.Deferred();return i=i||{},r._changeLoadingCount(1),u.fail(function(n){r.fireEvent("loadError",[n])}).always(function(){r._changeLoadingCount(-1)}),r._delayedLoadTask=t.utils.executeAsync(function(){r._delayedLoadTask=undefined,r._descriptions?r._loadCore(i,u):n.when(ot(r)).done(function(n){r._fieldsPrepared(n),r._loadCore(i,u)}).fail(u.reject).fail(r._loadErrorHandler)}),u},_fieldsPrepared:function(t){var i=this;i._fields=t,n.each(t,function(n,t){t.index=n,r(t.caption)||(t.caption=et(t))}),i.fireEvent("fieldsPrepared",[t]),i._descriptions=v(t)},isLoading:function(){return this._loadingCount>0},_changeLoadingCount:function(n){var i=this.isLoading(),t;this._loadingCount+=n,t=this.isLoading(),i^t&&this.fireEvent("loadingChanged",[t])},_loadCore:function(t,i){var r=this,u=this._store,o=this._descriptions,f=e[t.area];t=t||{},u?(n.extend(t,o),t.columnExpandedPaths=w(this._loadedData,t,"columns"),t.rowExpandedPaths=w(this._loadedData,t,"rows"),r._localSorting&&(t.localSorting=!0),f&&(t.headerName=f),n.when(u.load(t)).done(function(u){t.path?r.applyPartialDataSource(t.area,t.path,u,i):(n.extend(r._loadedData,u),r._update(i)),i.resolve(r._data)}).fail(i.reject)):(r._update(i),i.resolve(r._data))},_sort:function(n,t){var i=this._store;i&&i.supportSorting&&(this._localSorting||!i.supportSorting())&&lt(n,t)},_update:function(t){var r=this;tt(r._descriptions,r._loadedData),r._sort(r._descriptions,r._loadedData),r._data=n.extend(!0,{},r._loadedData),n.when(t).done(function(){r.fireEvent("changed"),i.isDefined(r._data.grandTotalRowIndex)&&(r._loadedData.grandTotalRowIndex=r._data.grandTotalRowIndex),i.isDefined(r._data.grandTotalColumnIndex)&&(r._loadedData.grandTotalColumnIndex=r._data.grandTotalColumnIndex)})},getHeaderItemPath:function(n,t){var i=this,r=0,f,e=n==="column"?i._data.columns:i._data.rows;return n==="column"&&i._descriptions.values.length>1&&(t=Math.floor(t/i._descriptions.values.length)),u(e,function(n,i){if(r===t)return f=i,!1;r++},[]),f},store:function(){return this._store},collapseHeaderItem:function(n,t){var i=this,f=n==="column"?i._loadedData.columns:i._loadedData.rows,r=l(f,t),u=i.getAreaFields(n==="columns"?"column":"row")[t.length-1];return r&&r.children?(i.fireEvent("expandValueChanging",[{area:n,path:t,expanded:!1}]),u&&(u.expanded=!1),r.collapsedChildren=r.children,delete r.children,i._update(),!0):!1},collapseAll:function(n){var i=!1,t=this.fields()[n]||{};t.expanded=!1,u(this._loadedData[t.area+"s"],function(n,r){n&&n.children&&t.areaIndex===r.length-1&&(n.collapsedChildren=n.children,delete n.children,i=!0)},[],!0),i&&this._update()},expandAll:function(n){var t=this.fields()[n];t&&t.area&&(t.expanded=!0,this.load())},expandHeaderItem:function(n,t){var r=this,u,e=n==="column"?r._loadedData.columns:r._loadedData.rows,i=l(e,t),f;return i&&!i.children?(u=!!i.collapsedChildren,f={area:n,path:t,expanded:!0,needExpandData:!u},r.fireEvent("expandValueChanging",[f]),u?(i.children=i.collapsedChildren,delete i.collapsedChildren,r._update()):r.load(f),u):!1},applyPartialDataSource:function(n,t,i,r){var h=this,u=h._loadedData,e=n==="column"?u.columns:u.rows,f,o,s;i&&i.values&&(i.rows=i.rows||[],i.columns=i.columns||[],f=l(e,t),f&&(n==="column"?(s=y(e,f,i.columns,u.grandTotalColumnIndex),o=p(u.rows,i.rows)):(o=y(e,f,i.rows,u.grandTotalRowIndex),s=p(u.columns,i.columns)),rt(u,i.values,o,s),h._update(r)))},dispose:function(){var t=this,n=t._delayedLoadTask;this._disposeEvents(),n&&n.abort(),this._isDisposed=!0},isDisposed:function(){return!!this._isDisposed}}}()).include(t.EventsMixin),f.foreachTreeItems=u,f.foreachDataLevel=s,f.getCompareFunction=h,f.findField=o,f.formatValue=c}(jQuery,DevExpress),function(n,t){var i=t.ui.dxPivotGrid,r=t.utils,u={row:"rows",column:"columns",data:"values",filter:"filters"};i.proxyMethod=function(n,t,i){n[t]||(n[t]=function(){var n=this._dataSource;return n?n[t].apply(n,arguments):i})},i.DataController=t.Class.inherit(function(){function h(n,t,i){var u=n.text;return r.isDefined(n.displayText)?u=n.displayText:r.isDefined(n.caption)?u=n.caption:n.type==="GT"&&(u=i.texts.grandTotal),n.isAdditionalTotal&&(u=r.stringFormat(i.texts.total||"",u)),u}var t=i.foreachTreeItems,s=i.formatValue,e=function(){var i=function(n){var i=0;return t(n,function(n,t){i=Math.max(i,t.length)},[]),i},u=function(n,t,i){var u={type:n.type,text:n.text};return n.path&&(u.path=n.path),n.width&&(u.width=n.width),n.isLast&&(u.isLast=!0),n.sorted&&(u.sorted=!0),n.isMetric&&(u.dataIndex=n.dataIndex),r.isDefined(n.expanded)&&(u.expanded=n.expanded),t>1&&(u[i?"colspan":"rowspan"]=t),n.depthSize&&n.depthSize>1&&(u[i?"rowspan":"colspan"]=n.depthSize),u},f=function(n,t){var i,r=t.lastIndex-t.index||1,f=function(n,t,i,r,u){for(var f=u?r:i;!n[f];)n.push([]);u?n[f].push(t):n[f].unshift(t)};return(i=u(t.headerItem,r,t.isHorizontal),f(n,i,t.index,t.depth,t.isHorizontal),!t.headerItem.children||t.headerItem.children.length===0)?t.lastIndex+1:t.lastIndex},e=function(i,u,f,e,l){var v=f.length,a=n.extend(!0,[],i);return o(a,u),l.showTotals!==!1&&c(a),l.showGrandTotals!==!1&&a.push({type:"GT"}),t(a,function(n,t){n.children&&n.children.length!==0||(n.depthSize=e-t.length+1)},[]),v>1&&s(a,f),t(a,function(t,i){var f=u[i.length-1]||{};t.text=h(t,f,l),t.type==="D"&&(t.width=f.width),t.isLast=!t.children||!t.children.length,t.isLast&&n.each(l.sortBySummaryPaths,function(n,u){var f=i;return r.isDefined(t.dataIndex)||(u=u.slice(0),u.pop()),t.type==="GT"&&(f=f.slice(1)),f.join("/")===u.join("/")?(t.sorted=!0,!1):void 0})},[]),a.length||a.push({}),a},o=function(n,i){var r=i&&i.length||0;t(n,function(n){n.type="D"}),t(n,function(n,t){n.path=t.slice(0),t.length<r&&(!n.children||n.children.length!==0)&&(n.expanded=!!n.children)},[])},s=function(n,i){t(n,function(n){var t;if(!n.children||n.children.length===0)for(n.children=[],t=0;t<i.length;t++)n.children.push({caption:i[t].caption,path:n.path,type:n.type,value:t,dataIndex:t,isMetric:!0})})},c=function(i){t(i,function(t,i,r,u){t.type==="D"&&t.expanded&&u.splice(r+1,0,n.extend(!0,{},t,{children:null,type:"T",expanded:null,isAdditionalTotal:!0}))},[])},l=function(n,i,r,u){var s=0,h,o,e=[0];t(i,function(t,i){for(o=t.isMetric?r:i.length-1;e.length-1<o;)e.push(e[e.length-1]);h=e[o]||0,s=f(n,{headerItem:t,index:h,lastIndex:s,depth:o,isHorizontal:u}),e.length=o,e.push(s)},[])};return function(n,t,r,u,f){var o=[],s,h=i(n)||1;return s=e(n,t,r,h,f),l(o,s,h,u),o}}(),c=function(t,i,r,u){var f,c,e,k,l,a=t.values,y=i?i.length:0,v,p,o,h,d=function(n){return n?n.children&&n.children.length>0?"T":"D":"GT"},w=0,b=[];if(a&&y>0){for(f=0;f<a.length;f++)w=Math.max(w,a[f].length);for(f=0;f<a.length;f++)if(h=r[f],h||f===t.grandTotalRowIndex){for(k=a[f],l=[],c=0;c<w;c++)if(o=u[c],o||c===t.grandTotalColumnIndex)for(v=k[c],n.isArray(v)||(v=[v]),e=0;e<y;e++)p={text:s(v[e],i[e]),columnType:d(o),rowType:d(h),rowPath:h&&h.path,columnPath:o&&o.path,dataIndex:e},i[e].width&&(p.width=i[e].width),o?l[o.visibleIndex*y+e]=p:u.grandTotalVisibleIndex>=0&&(l[u.grandTotalVisibleIndex*y+e]=p);h?b[h.visibleIndex]=l:r.grandTotalVisibleIndex>=0&&(b[r.grandTotalVisibleIndex]=l)}}return b},o=function(i,u,f){var o=0,e=[];return t(i,function(t,i){if(!t.children||f.showTotals!==!1){var u=n.extend(!0,{},t,{visibleIndex:o++,path:i});r.isDefined(u.index)?e[u.index]=u:e.push(u)}},[]),f.showGrandTotals!==!1&&(e.grandTotalVisibleIndex=o),e},f={ctor:function(t){var i=this;i._options=t||{},i._dataSource=i._createDataSource(t),i._columnsInfo=[],i._rowsInfo=[],i._cellsInfo=[],i.expandValueChanging=n.Callbacks(),i.loadingChanged=n.Callbacks(),i._dataSource.load(),i._update(),i.changed=n.Callbacks()},_handleChanged:function(){this._update()},_handleExpandValueChanging:function(n){this.expandValueChanging.fire(n)},_handleLoadingChanged:function(n){this.loadingChanged.fire(n)},_handleFieldsPrepared:function(n){this._options.onFieldsPrepared&&this._options.onFieldsPrepared(n)},_createDataSource:function(t){var r=this,o=t.dataSource,f,e;r._isSharedDataSource=o instanceof i.DataSource,f=r._isSharedDataSource?o:new i.DataSource(o),r._changedHandler=n.proxy(r,"_handleChanged"),r._expandValueChangingHandler=n.proxy(r,"_handleExpandValueChanging"),r._loadingChangedHandler=n.proxy(r,"_handleLoadingChanged"),r._fieldsPreparedHandler=n.proxy(r,"_handleFieldsPrepared");f.on("changed",r._changedHandler);f.on("expandValueChanging",r._expandValueChangingHandler);f.on("loadingChanged",r._loadingChangedHandler);f.on("fieldsPrepared",r._fieldsPreparedHandler);return t.descriptions&&(e=[],n.each(u,function(i,r){var u=t.descriptions[r];u&&n.each(u,function(t,r){e.push(n.extend({area:i,areaIndex:t},r))})})),e&&f.fields(e),f},getDataSource:function(){return this._dataSource},isLoading:function(){return this._dataSource.isLoading()},isEmpty:function(){var n=this._dataSource.getAreaFields("data"),t=this._dataSource.getData();return!n.length||!t.values.length},_update:function(){var f=this._dataSource.getAreaFields("column"),s=this._dataSource.getAreaFields("row"),u=this._dataSource.getAreaFields("data"),t=this._dataSource.getData(),h=function(t,r){var u=[];return n.each(t,function(n,t){var f=i.findField(r,t.sortBySummaryField);f>=0&&u.push((t.sortBySummaryPath||[]).concat([f]))}),u},l={texts:this._options.texts||{},showTotals:this._options.showRowTotals,showGrandTotals:this._options.showRowGrandTotals,sortBySummaryPaths:h(f,u)},a={texts:this._options.texts||{},showTotals:this._options.showColumnTotals,showGrandTotals:this._options.showColumnGrandTotals,sortBySummaryPaths:h(s,u)},v=o(t.rows,s.length-1,l),y=o(t.columns,f.length-1,a);r.isDefined(t.grandTotalRowIndex)||(t.grandTotalRowIndex=v.length),r.isDefined(t.grandTotalColumnIndex)||(t.grandTotalColumnIndex=y.length),this._columnsInfo=e(t.columns,f,u,!0,a),this._rowsInfo=e(t.rows,s,[],!1,l),this._cellsInfo=c(t,u,v,y),this.changed&&this.changed.fire()},getHeaderItemPath:function(n,i){var r=this,u=0,f,e=r._dataSource.getData(),o=r._dataSource.getAreaFields("data"),s=n==="column"?e.columns:e.rows;return n==="column"&&o.length>1&&(i=Math.floor(i/o.length)),t(s,function(n,t){if(u===i)return f=t,!1;u++},[]),f},getRowsInfo:function(){return this._rowsInfo},getColumnsInfo:function(){return this._columnsInfo},getCellsInfo:function(){return this._cellsInfo},dispose:function(){var n=this;n._isSharedDataSource?(n._dataSource.off("changed",n._changedHandler),n._dataSource.off("expandValueChanging",n._expandValueChangingHandler),n._dataSource.off("loadingChanged",n._loadingChangedHandler)):n._dataSource.dispose(),n.expandValueChanging.empty(),n.changed.empty(),n.loadingChanged.empty()}};return i.proxyMethod(f,"load"),i.proxyMethod(f,"applyPartialDataSource"),i.proxyMethod(f,"collapseHeaderItem"),i.proxyMethod(f,"expandHeaderItem"),i.proxyMethod(f,"getData"),f}())}(jQuery,DevExpress),function(n,t){t.data.XmlaStore=t.ui.dxPivotGrid.XmlaStore=t.Class.inherit(function(){function u(i,u){var f=n.Deferred(),e=i.beforeSend,o={url:i.url,dataType:"text",data:u,headers:{"Content-Type":"text/xml"},xhrFields:{},method:"POST"};return r.isFunction(e)&&e(o),t.ui.dxPivotGrid.sendRequest(o).fail(function(){f.reject(arguments)}).done(function(t){var i;try{i=n.parseXML(t)}catch(r){f.reject({statusText:r.message,stack:r.stack,responseText:t})}f.resolve(i)}),f}function yt(n,t,i){return t=t?".["+t+"]":"","Descendants({"+n+t+"}, "+i+", SELF_AND_BEFORE)"}function b(n){return(n.hierarchyName||n.dataField)+".[All]"}function f(n){return n.dataField+".allMembers"}function c(n){return(n.hierarchyName||n.dataField)+".currentMember"}function l(n){var t=n.join(",");return n.length>1?i(lt,t):t}function pt(n,t,r,u,f){var e=vt[n.sortOrder];return e||y[(n.sortBy+"").toLowerCase()]?i(et,t,dt(n,r,u,t,f),e||"asc"):t}function wt(n,t,r,u,e,s,h,a){for(var g=[],p=s[h],tt,et,st=[],w,v,d,it,rt,ot,nt,k,ut,ft,y=u;y<=t;y++)k=p[y],tt=k.dataField,it=p[y-1]&&p[y-1].hierarchyName,w=k.hierarchyName,rt=!w||!p[y+1]||p[y+1].hierarchyName!==w,nt=n.length+r+u,v=null,ft=!1,st.push(k),y<n.length?rt&&(v="("+tt+".["+n[y]+"])"):y<=nt?y===0&&r===0?(et=b(p[u]),v=w?et+","+p[u].dataField:f(p[u])):w?(ut=e[e.length-1],(rt||y===nt)&&(it===w?(e.length&&(d=p[e.length-1]),d&&d.hierarchyName===w||(d=p[y-1],ut=""),v=yt(d.dataField,ut,tt)):v=f(k))):(v=f(k),k.sortBySummaryField&&g.length&&y===nt&&(ft=!0)):(ot=!w||it!==w,ot&&(v="("+b(k)+")")),v&&(v=i(o,v),v=pt(k,v,s,h,a),ft&&(v=i(at,g.pop(),c(p[y-1]),v)),g.push(v));return l(g)}function k(n,t,i,r,u,f,e,o){var h=-1,c=f[e],s;do h++,s=t.length+h+r,n.push(wt(t,i,h,r,u,f,e,o));while(c[s]&&c[s+1]&&c[s].expanded)}function d(n,t,r){return r=r||"DX_Set_"+t.length,t.push(i(ft,r,n)),"["+r+"]"}function bt(n,t,r){var u;return u=n.hierarchyName?d(i(ht,t),r):f(n),"rank("+c(n)+","+u+")"}function kt(i,r,u){var h=(u==="columns"?r.rows:r.columns)||[],e=r.values||[],o=t.ui.dxPivotGrid.findField(e,i.sortBySummaryField),f=e[o]?[e[o].dataField]:[],c=i.sortBySummaryPath||[],s;return n.each(c,function(n,t){var i=h[n];i&&(i.hierarchyName&&i.hierarchyName===s?f[f.length-1]=(i.hierarchyName||i.dataField)+".["+t+"]":(f.push((i.hierarchyName||i.dataField)+".["+t+"]"),s=i.hierarchyName))}),f.join(",")}function dt(n,t,i,r,u){var f=y[(n.sortBy+"").toLowerCase()];return n.sortBySummaryField?"("+kt(n,t,i)+")":f?c(n)+f:bt(n,r,u)}function g(t,r,u,f,e){var s=t[r],a=[],v=[],y=[],p=0,h=0,w=[],b=i(o,u.join(",")),c;if(s&&s.length){for(t.headerName===r?(v=t.path,h=p=v.length):(y=(r==="columns"?t.columnExpandedPaths:t.rowExpandedPaths)||y,n.each(y,function(n,t){h=Math.max(h,t.length)}));s[h+1]&&s[h].expanded;)h++;for(k(a,[],h,p,v,t,r,f),n.each(y,function(n,i){k(a,i,h,p,i,t,r,f)}),c=h;c>=v.length;c--)s[c].hierarchyName&&(e.visibleLevels[s[c].hierarchyName]=e.visibleLevels[s[c].hierarchyName]||[],e.visibleLevels[s[c].hierarchyName].push(s[c].dataField))}return a.length&&w.push(i(st,d(i(o,a.join(",")),f,r),b)),r==="columns"&&u.length&&w.push(b),i(ct,l(w),r)}function a(t){var u=[];return n.each(t,function(t,e){var l=e.dataField,h=[],c=e.filterValues||[],s;e.hierarchyName&&r.isNumber(e.groupIndex)||(n.each(c,function(n,t){var i=l+".["+(r.isArray(t)?t[t.length-1]:t)+"]";e.filterType==="exclude"&&(h.push(i+".parent"),i="Descendants("+i+")"),h.push(i)}),c.length&&(s=i(o,h.join(",")),e.filterType==="exclude"&&(s="Except("+f(e)+","+s+")"),u.push(s)))}),u.length?l(u):""}function gt(t,r,u,f){var e="["+f+"]";return n.each([t,r,u],function(n,t){t&&(e=i(ut,t+"on 0",e))}),e}function ni(t,r,u){var h=t.columns||[],c=t.rows||[],l=t.values&&t.values.length?t.values:[{dataField:"[Measures]"}],o=[],f=[],e=[],s=n.map(l,function(n){return n.dataField}),v;return(u.measureCount=l.length,u.visibleLevels={},t.headerName&&t.path&&n.each(t.path,function(n,i){var r=t[t.headerName][n];r.hierarchyName&&r.hierarchyName===t[t.headerName][n+1].hierarchyName||o.push(r.dataField+".["+i+"]")}),(h.length||s.length)&&e.push(g(t,"columns",s,f,u)),c.length&&e.push(g(t,"rows",s,f,u)),!e.length)?"":(v=(f.length?"with"+f.join(" "):"")+" ",v+i(rt,gt(a(h),a(c),a(t.filters||[]),r),o.length?i(ot,o.join(",")):"",e.join(",")))}function s(n){return parseInt(n,10)}function ti(t){var i=[];for(n.each(n(t).find("Axis"),function(t,u){var o=n(u),f=u.getAttribute("name"),e=[],h=0;f.indexOf("Axis")===0&&r.isNumber(s(f.substr(4)))&&(i.push(e),n.each(o.children("Tuples").children(),function(t,r){var c=n(r).children(),f,l=0,a=[],o,v=c.length-1,y=i.length===1,u;for(y&&v--,e.push(a),u=v;u>=0;u--)f=n(c[u]),o=s(f.children("LNum").text()),a[u]={caption:f.children("Caption").text(),level:o,index:h++,hasValue:!l&&(!!o||u===0),name:f.children("UName").text(),parentName:f.children("PARENT_UNIQUE_NAME").text(),levelName:f.children("LName").text(),hierarchyName:c[u].getAttribute("Hierarchy")},l+=o}))});i.length<2;)i.push([[{level:0}]]);return i}function ii(t,i,r){var h=[],f=[],u=0,c,e=[],o;return n.each(n(t).find("CellData > Cell"),function(t,i){var u=n(i),r=parseFloat(u.children("Value").text());e[s(i.getAttribute("CellOrdinal"))]={value:isNaN(r)?null:r}}),n.each(i[1],function(){o=[],h.push(o),n.each(i[0],function(){c=u%r,c===0&&(f=[],o.push(f)),f.push(e[u]?e[u].value:null),u++})}),h}function nt(n,t,i,r){var u=n[t];return u||(u={},n[t]=u),!u.value&&i&&(u.value=i.caption,u.levelName=i.levelName,u.hierarchyName=i.hierarchyName,u.parentName=i.parentName,u.index=r,u.level=i.level),u}function h(t,i){var e=[],u=t.children&&(t.children.length?t.children:n.map(t.children.grandTotalHash||[],function(n){return n.children})),r=u&&u[0],o,f;if(r&&(i[r.hierarchyName]&&n.inArray(r.levelName,i[r.hierarchyName])!==-1||!i[r.hierarchyName]||r.level===0))return o=n.map(u,function(n){return n.hierarchyName===r.hierarchyName?n:null}),o.grandTotalHash=u.grandTotalHash,o;if(r)for(f=0;f<u.length;f++)u[f].hierarchyName===r.hierarchyName&&e.push.apply(e,h(u[f],i));return e}function ri(n,t,i){var r,u=i.children=i.children||[],e=u.hash=u.hash||{},f=u.grandTotalHash=u.grandTotalHash||{};return t.parentName&&(i=nt(e,t.parentName),u=i.children=i.children||[]),r=nt(e,t.name,t,n),t.hasValue&&!r.added&&(r.index=n,r.added=!0,u.push(r)),i.value&&i.parentName||!t.parentName?f[i.name]&&delete f[t.parentName]:f[t.parentName]=i,r}function ui(n,t){var i,r;return n.children.length===1&&n.children[0].parentName===""?(i=n.children[0].index,r=n.children.grandTotalHash,n.children=n.children[0].children,n.children.grandTotalHash=r,n.children=h(n,t)):n.children.length===0&&(i=0),i}function tt(i,u,f,e){var s,c=[],o;return n.each(u,function(t,i){var u={children:c},e=r.isDefined(f)?Math.floor(t/f):t;n.each(i,function(n,t){u=ri(e,t,u)})}),o={children:c},o.children=h(o,e),s=ui(o,e),t.ui.dxPivotGrid.foreachTreeItems(o.children,function(n){var t=h(n,e);t.length?n.children=t:delete n.children,delete n.levelName,delete n.hierarchyName,delete n.added,delete n.parentName,delete n.level},undefined,!0),n.each(o.children||[],function(n,t){i.push(t)}),s}function fi(t,i){var u={columns:[],rows:[]},f,e=n(t).find("Error"),o=i.measureCount;return e.length?(r.logger.error(e.attr("Description")),null):(f=ti(t),u.grandTotalColumnIndex=tt(u.columns,f[0],o,i.visibleLevels),u.grandTotalRowIndex=tt(u.rows,f[1],undefined,i.visibleLevels),u.values=ii(t,f,o),u)}function v(t,i,r){var f=[],u=i==="MEASURE",e=u?"MEASUREGROUP_NAME":i+"_DISPLAY_FOLDER";return n.each(n(t).find("row"),function(t,o){var h=n(o),a=i==="LEVEL"?h.children("HIERARCHY_UNIQUE_NAME").text():undefined,c=h.children("LEVEL_NUMBER").text(),l;(c!=="0"||h.children(i+"_IS_VISIBLE").text()!=="true")&&h.children("DIMENSION_TYPE").text()!==w&&(l=u?p:h.children("DIMENSION_UNIQUE_NAME").text(),f.push({dimension:r[l]||l,groupIndex:c?s(c)-1:undefined,dataField:h.children(i+"_UNIQUE_NAME").text(),caption:h.children(i+"_CAPTION").text(),hierarchyName:a,groupName:a,displayFolder:h.children(e).text(),isMeasure:u}))}),f}function ei(t){var i={};return n.each(n(t).find("row"),function(t,r){var u=n(r),f=u.children("DIMENSION_TYPE").text(),e=f===w?p:u.children("DIMENSION_UNIQUE_NAME").text();i[e]=u.children("DIMENSION_CAPTION").text()}),i}var e='<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><Discover xmlns="urn:schemas-microsoft-com:xml-analysis"><RequestType>{2}<\/RequestType><Restrictions><RestrictionList><CATALOG_NAME>{0}<\/CATALOG_NAME><CUBE_NAME>{1}<\/CUBE_NAME><\/RestrictionList><\/Restrictions><Properties><PropertyList><Catalog>{0}<\/Catalog><\/PropertyList><\/Properties><\/Discover><\/Body><\/Envelope>',it='<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><Execute xmlns="urn:schemas-microsoft-com:xml-analysis"><Command><Statement>{0}<\/Statement><\/Command><Properties><PropertyList><Catalog>{1}<\/Catalog><ShowHiddenCubes>True<\/ShowHiddenCubes><SspropInitAppName>Microsoft SQL Server Management Studio<\/SspropInitAppName><Timeout>3600<\/Timeout><\/PropertyList><\/Properties><\/Execute><\/Body><\/Envelope>',rt="SELECT {2} FROM {0} {1} CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS",ut="(SELECT {0} FROM {1})",ft=" set [{0}] as {1}",et="ORDER({0}, {1}, {2})",ot="WHERE ({0})",st="NonEmpty({0}, {1})",ht="Hierarchize({{0}})",ct="{0} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON {1}",lt="CrossJoin({0})",at="Generate({{0}}, ({1}, {2}))",o="{{0}}",r=t.utils,i=r.stringFormat,vt={asc:"asc",desc:"desc"},y={displaytext:".member_caption",value:".member_value"},p="DX_MEASURES",w="2";return t.ui.dxPivotGrid.sendRequest=function(t){return n.ajax(t)},{ctor:function(n){this._options=n},getFields:function(){var t=this._options,r=t.catalog,f=t.cube,s=u(t,i(e,r,f,"MDSCHEMA_DIMENSIONS")),h=u(t,i(e,r,f,"MDSCHEMA_MEASURES")),c=u(t,i(e,r,f,"MDSCHEMA_HIERARCHIES")),l=u(t,i(e,r,f,"MDSCHEMA_LEVELS")),o=n.Deferred();return n.when(s,h,c,l).done(function(t,i,r,u){var e=ei(t),h=v(r,"HIERARCHY",e),c=v(u,"LEVEL",e),s=v(i,"MEASURE",e).concat(h),f={};n.each(c,function(n,t){f[t.hierarchyName]=f[t.hierarchyName]||[],f[t.hierarchyName].push(t)}),n.each(h,function(n,t){f[t.dataField]&&f[t.dataField].length>1&&(t.groupName=t.hierarchyName=t.dataField,s.push.apply(s,f[t.hierarchyName]))}),o.resolve(s)}).fail(o.reject),o},load:function(t){var r=n.Deferred(),f=this._options,e,o,s={},h=ni(t,f.cube,s);return h?(o=i(it,h,f.catalog),n.when(u(f,o)).done(function(n){e=fi(n,s),e?r.resolve(e):r.reject()}).fail(r.reject)):r.resolve({columns:[],rows:[],values:[],grandTotalColumnIndex:0,grandTotalRowIndex:0}),r},supportSorting:function(){return!0}}}())}(jQuery,DevExpress),function(n,t){var r=t.data.utils,i=t.utils,u=t.ui.dxPivotGrid;u.LocalStore=DevExpress.Class.inherit(function(){function u(f){n.each(f||[],function(){var e,s,o=this.dataField,f,h=this.levels;this.selector||(e=o?o.indexOf(".")!==-1?r.compileGetter(o):function(n){return n[o]}:function(n){return n},h?(u(h),this.selector=function(t){var i=[];return n.each(h,function(n,r){i.push(r.selector(t))}),i}):this.dataType==="date"?(s=a[this.groupInterval],this.selector=function(n){var t=e(n);return!t||t instanceof Date||(t=new Date(t)),s?s(t):t},this.format=this.format||v[this.groupInterval]):this.dataType==="number"?(f=i.isNumber(this.groupInterval)&&this.groupInterval>0&&this.groupInterval,f&&(this.customizeText=this.customizeText||function(n){var r=n.value+f,i=t.formatHelper.format(r,this.format,this.precision);return n.valueText&&i?n.valueText+" - "+i:""}),this.selector=function(n){var i=e(n);return t.utils.isString(i)&&(i=Number(i)),f?Math.floor(i/f)*f:i}):this.selector=e)})}function o(n,t,i,r,u){var s=t.dimensions[r],h=t.expandedPathsHash,e,f;s&&(e=s.selector(t.data),u=u?u+"."+e:e,f=y(e,i,u,t.childrenHash),n.push(f.index),(h&&h[u]||s.expanded)&&(f.children||(f.children=[]),o(n,t,f.children,r+1,u)))}function s(n,t,i,r){var u=[0],e=t.headerName===r?t.path.length:0,f=r==="rows"?t.rowExpandedPaths:t.columnExpandedPaths,s={data:n,childrenHash:i[r+"Hash"],dimensions:t[r],expandedPathsHash:t.headerName!==r&&f&&f.hash};return o(u,s,i[r],e),u}function p(n,t,i,r){for(var h=[],f,u,o,c=s(n,r,i,"rows"),l=s(n,r,i,"columns"),e=0;e<c.length;e++)for(u=c[e],t[u]=t[u]||[],f=0;f<l.length;f++)o=l[f],h.push(t[u][o]=t[u][o]||[]);return h}function h(t){t&&(t.hash={},n.each(t,function(){t.hash[this.join(".")]=!0}))}function w(n){n.rows=n.rows||[],n.columns=n.columns||[],n.filters=n.filters||[],h(n.columnExpandedPaths),h(n.rowExpandedPaths),u(n.columns),u(n.rows),u(n.values),u(n.filters)}function c(t){return t.summaryType==="custom"?(t.calculateCustomSummary=t.calculateCustomSummary||n.noop,{seed:function(){var n={summaryProcess:"start",totalValue:undefined};return t.calculateCustomSummary(n),n},step:function(n,i){return n.summaryProcess="calculate",n.value=i,t.calculateCustomSummary(n),n},finalize:function(n){return n.summaryProcess="finalize",delete n.value,t.calculateCustomSummary(n),n.totalValue}}):r.aggregators[t.summaryType]||r.aggregators.count}function b(n,t,r){for(var o,f,u=0;u<n.length;u++){var h=n[u],s=h.selector(r),e=c(h);for(o=0;o<t.length;o++)f=t[o],f.length<=u&&(f[u]=i.isFunction(e.seed)?e.seed():e.seed),f[u]===undefined?f[u]=s:i.isDefined(s)&&(f[u]=e.step(f[u],s))}}function k(t,i){n.each(t,function(t,r){var u=c(r);u.finalize&&n.each(i,function(i,r){n.each(r,function(n,i){i&&(i[t]=u.finalize(i[t]))})})})}function d(n,t){if(i.isArray(n)){t=t||[];for(var r=0;r<n.length;r++)if(n[r]!==t[r])return!1;return!0}return n===t}function f(t){var r=[];return n.each(t,function(n,t){var u=t.filterValues||[],e=t.groupName,f;e&&i.isNumber(t.groupIndex)||(f=function(n){for(var f=t.selector(n),r=!1,i=0;i<u.length;i++)if(d(u[i],f)){r=!0;break}return t.filterType==="exclude"?!r:r},u.length&&r.push(f))}),r}function g(n){var t=f(n.rows).concat(f(n.columns)).concat(f(n.filters)),i=n[n.headerName],r=n.path;return i&&t.push(function(n){for(var u,t=0;t<r.length;t++)if(u=i[t].selector(n),u!==r[t])return!1;return!0}),function(n){for(var i=0;i<t.length;i++)if(!t[i](n))return!1;return!0}}function nt(n,t){var u={columns:[],rows:[],columnsHash:{length:1},rowsHash:{length:1}},f=[[[]]],e,o,i,r;for(w(t),o=g(t),r=0;r<n.length;r++)i=n[r],o(i)&&(e=p(i,f,u,t),b(t.values,e,i));return k(t.values,f),{rows:u.rows,columns:u.columns,values:f,grandTotalRowIndex:0,grandTotalColumnIndex:0}}function tt(t){return n.map(["year","quarter","month"],function(i,r){return n.extend({},t,{groupInterval:i,groupIndex:r})})}function l(t,u,f,e){var o=[];return n.each(u||[],function(u,s){for(var v=1,a=f.length?f+"."+u:u,h=e[a],y=r.compileGetter(a),c;!i.isDefined(s)&&t[v];)s=y(t[v]),v++;!h&&i.isDefined(s)&&(h=n.type(s)),c=[{dataField:a,dataType:h,groupName:h==="date"?u:undefined,groupInterval:undefined,displayFolder:f}],h==="date"?c=c.concat(tt(c[0])):h==="object"&&(c=l(t,s,a,e)),o.push.apply(o,c)}),o}function it(n,t){return t=t||{},l(n,n[0],"",t)}function e(t){var i=n.Deferred();return t.isLoaded()?i.resolve(t.items()):n.when(t.load()).always(function(){e(t).done(i.resolve).fail(i.reject)}),i}var a={year:function(n){return n&&n.getFullYear()},quarter:function(n){return n&&Math.floor(n.getMonth()/3)+1},month:function(n){return n&&n.getMonth()+1},day:function(n){return n&&n.getDate()},dayOfWeek:function(n){return n&&n.getDay()}},v={month:{format:"month",dateType:"full"},quarter:{format:"quarter",dateType:"full"},dayOfWeek:{format:"dayOfWeek",dateType:"full"}},y=function(n,t,i,r){var u=r[i];return u||(u={value:n,index:r.length++},r[i]=u,t.push(u)),u};return{ctor:function(i){i=n.extend(r.normalizeDataSourceOptions(i),{paginate:!1,onChanged:null}),this._dataSource=new t.data.DataSource(i)},getFields:function(t){var r=this,u=r._dataSource,i=n.Deferred();return e(u).done(function(n){i.resolve(it(n,t))}).fail(i.reject),i},load:function(t){var r=this,u=r._dataSource,i=n.Deferred();return e(u).done(function(n){var r=nt(n,t);i.resolve(r)}).fail(i.reject),i},supportSorting:function(){return!1}}}())}(jQuery,DevExpress),function(n,t){var i=t.ui.dxPivotGrid,r=t.utils,u=t.Class,f=1,e=function(n,t){return t?n.offsetWidth:n.offsetWidth+f};i.AreaItem=u.inherit({_getRowElement:function(n){var t=this;return t._tableElement&&t._tableElement.length>0?t._tableElement[0].rows[n]:null},_createGroupElement:function(){return n("<div>")},_createTableElement:function(){return n("<table>")},_renderTableContent:function(n,t){var f=this,l=n.find("tr"),e=f._getAreaName(),o=f.option("onCellPrepared"),s,h,u,c,i,r;if(n.data("area",e),n.data("data",t),o)for(i=0;i<t.length;i++)for(u=t[i],s=l.eq(i),r=0;r<u.length;r++)c=u[r],h=s.children().eq(r),o({area:e,rowIndex:i,columnIndex:r,cellElement:h,cell:c})},_getRowHeight:function(n){var t=this._getRowElement(n);return t&&t.lastChild?t.lastChild.offsetHeight:0},_setRowHeight:function(n,t){var i=this._getRowElement(n);i&&(i.style.height=t+"px")},ctor:function(n){this.component=n},option:function(){return this.component.option.apply(this.component,arguments)},getRowsLength:function(){var n=this;return n._tableElement&&n._tableElement.length>0?n._tableElement[0].rows.length:0},getRowsHeight:function(){for(var t=this,i=[],r=t.getRowsLength(),n=0;n<r;n++)i.push(t._getRowHeight(n));return i},setRowsHeight:function(n){for(var r=this,i=0,u=n.length,t=0;t<u;t++)i+=n[t],r._setRowHeight(t,n[t]);this._tableHeight=i,this._tableElement[0].style.height=i+"px"},getColumnsWidth:function(){var f=this.getRowsLength(),n,s=this._tableElement[0].style.tableLayout==="fixed",i,t,r,u=[],o=[],h=function(n,t,i,r,u){for(var e,f=0;f<r;f++)for(e=0;e<u;e++)n[t+f]=n[t+f]||[],n[t+f][i+e]=!0};if(f)for(n=0;n<f;n++)for(u[n]=u[n]||[],i=this._getRowElement(n),t=0;t<i.cells.length;t++){for(r=0;u[n][r];r++);h(u,n,r,i.cells[t].rowSpan,i.cells[t].colSpan),i.cells[t].colSpan===1&&(o[r]=e(i.cells[t],s))}return o},setColumnsWidth:function(n){for(var i=0,r="",t=0;t<n.length;t++)i+=n[t],r+='<col style="width: '+n[t]+'px"/>';this._colgroupElement.html(r),this._tableWidth=i,this._tableElement[0].style.width=i+"px",this._tableElement[0].style.tableLayout="fixed"},resetColumnsWidth:function(){this._colgroupElement.find("col").width("auto"),this._tableElement.css({width:"",tableLayout:""})},groupWidth:function(n){return n===undefined?this._groupElement.width():n>=0?(this._groupWidth=n,this._groupElement[0].style.width=n+"px"):void 0},groupHeight:function(n){if(n===undefined)return this._groupElement.height();n>=0&&(this._groupHeight=n,this._groupElement[0].style.height=n+"px")},groupElement:function(){return this._groupElement},tableElement:function(){return this._tableElement},element:function(){return this._rootElement},headElement:function(){return this._tableElement.find("thead")},render:function(t,i){var u=this,f=u._createTableElement();if(r.isDefined(u._tableElement)){try{u._tableElement[0].innerHTML=""}catch(e){u._tableElement.empty()}u._tableElement.attr("style",""),u._colgroupElement=n("<colgroup>").appendTo(u._tableElement),u._renderTableContent(u._tableElement,i)}else u._groupElement=u._createGroupElement(),u._tableElement=f,u._colgroupElement=n("<colgroup>").appendTo(u._tableElement),u._renderTableContent(u._tableElement,i),u._tableElement.appendTo(u._groupElement),u._groupElement.appendTo(t),u._rootElement=t}})}(jQuery,DevExpress),function(n,t){var r=t.ui,u=r.events,i=r.dxPivotGrid,f=t.utils;i.HorizontalHeadersArea=i.AreaItem.inherit({_getAreaName:function(){return"column"},_getAreaClassName:function(){return i.cssClassNames.headersHorizontal},_textCellRender:function(t,i){var r=n("<span>");i?this.option("encodeHtml")?r.text(i):r.html(i):r.html("&nbsp"),r.appendTo(t)},_createGroupElement:function(){return n("<div>").addClass(this._getAreaClassName()).addClass(i.cssClassNames.area)},_createTableElement:function(){return n("<table>")},_createRow:function(){return n("<tr>")},_createCell:function(t){var r=this,e=n("<td>").attr({colspan:t.colspan,rowspan:t.rowspan});if(f.isDefined(t.expanded)){e.addClass(t.expanded?i.cssClassNames.headersExpanded:i.cssClassNames.headersCollapsed).on(u.addNamespace("dxclick",this._getEventsNamespace()),function(){setTimeout(function(){var n=r._getAreaName();t.expanded?r._dataSource.collapseHeaderItem(n,t.path):r._dataSource.expandHeaderItem(n,t.path)})});n("<span>").addClass(i.cssClassNames.headersExpandCollapseImage).appendTo(e)}return e},_applyCustomStyles:function(t){t.cellIndex===t.cellsCount-1&&t.cellElement.css("border-right","0px"),(t.cell.rowspan===t.rowsCount-t.rowIndex||t.rowIndex+1===t.rowsCount)&&t.cellElement.css("border-bottom-width","0px"),t.cellElement.toggleClass(i.cssClassNames.rowTotal,t.cell.type==="T"||t.cell.type==="GT").toggleClass(i.cssClassNames.total,t.cell.type==="T").toggleClass(i.cssClassNames.grandTotal,t.cell.type==="GT"),t.cell.width&&t.cellElement.css("min-width",t.cell.width),t.cell.sorted&&n("<span>").addClass("dx-icon-sorted").appendTo(t.cellElement)},_renderTableContent:function(t,i){var r=this,c=i.length,e,o,u,f,s,h,l=n("<thead>").addClass(this._getAreaClassName());for(t.width("auto"),u=0;u<c;u++){for(e=i[u],s=r._createRow(),f=0;f<e.length;f++)o=e[f],h=r._createCell(o),r._textCellRender(h,o.text),r._applyCustomStyles({cellElement:h,cell:o,cellsCount:e.length,cellIndex:f,rowElement:s,rowIndex:u,rowsCount:c}),s.append(h);l.append(s)}t.append(l),r.callBase.apply(r,arguments)},_getEventsNamespace:function(){return"dxHeadersArea"},hasScroll:function(){return this._groupWidth&&this._tableWidth?this._tableWidth>this._groupWidth:!1},processScroll:function(){this._groupElement.data("dxScrollable")||(this._groupElement.dxScrollable({useNative:!0,useSimulatedScrollbar:!1,showScrollbar:!1,bounceEnabled:!1,direction:"horizontal"}),this._groupElement.find(".dx-scrollable-container").css("overflow","hidden"))},processScrollBarSpacing:function(n){var t=this;t._groupWidth&&t.groupWidth(t._groupWidth-n),t._scrollBarWidth&&t._groupElement.next().remove(),t._groupElement.toggleClass(i.cssClassNames.verticalScroll,n>0),t._groupElement.css("float","left").width(t._groupHeight),t._scrollBarWidth=n},processStretch:function(n,t,i){for(var c=this,s=0,h=c._groupWidth,u,f,e,o=0,r=0;r<n.length;r++)i.length&&i[r%i.length].width&&(i.length>1&&o++,n[r]=i[r%i.length].width),s+=n[r];if(h&&!t)for(u=h-s,f=Math.floor(u/(n.length-o)),e=u-f*(n.length-o),r=0;r<n.length;r++)i.length>1&&i[r%i.length].width||(n[r]+=f,e&&(n[r]++,e--))},ctor:function(n){this.callBase(n),this._scrollBarWidth=0},setDataController:function(n){return this._dataSource=n,this}}),i.VerticalHeadersArea=i.HorizontalHeadersArea.inherit({_getAreaClassName:function(){return i.cssClassNames.headersVertical},_applyCustomStyles:function(n){var t=n.cellElement;this.callBase(n),t.addClass(n.cellIndex===n.cellsCount-1?i.cssClassNames.headersVerticalLastCell:null),n.rowIndex===n.rowsCount-1&&t.css("border-bottom","0px"),n.rowIndex!==0&&n.cell.expanded&&n.rowElement.addClass(i.cssClassNames.headersVerticalExpandBorder)},_getAreaName:function(){return"row"},_getEventsNamespace:function(){return"dxVerticalHeadersArea"},hasScroll:function(){return this._groupHeight&&this._tableHeight?this._tableHeight>this._groupHeight:!1},processScroll:function(){this._groupElement.data("dxScrollable")||(this._groupElement.dxScrollable({useNative:!0,useSimulatedScrollbar:!1,showScrollbar:!1,bounceEnabled:!1,direction:"vertical"}),this._groupElement.find(".dx-scrollable-container").css("overflow","hidden"))},processScrollBarSpacing:function(t){var i=this;i._groupHeight&&i.groupHeight(i._groupHeight-t),i._scrollBarWidth&&i._groupElement.next().remove(),t&&i._groupElement.after(n("<div>").width("100%").height(t-1)),i._scrollBarWidth=t}})}(jQuery,DevExpress),function(n,t){var i=t.ui.dxPivotGrid;i.DataArea=i.AreaItem.inherit({_getAreaName:function(){return"data"},_createGroupElement:function(){return n("<div />").addClass(i.cssClassNames.area).addClass(i.cssClassNames.areaData)},_renderTableContent:function(t,r){for(var h,l,u,f,c="",e,o,s=0;s<r.length;s++){for(c+="<tr>",l=r[s],h=0;h<l.length;h++)u=l[h],o=[],e="",s===r.length-1&&(e="border-bottom: 0px"),u?((u.rowType==="T"||u.columnType==="T")&&o.push(i.cssClassNames.total),(u.rowType==="GT"||u.columnType==="GT")&&o.push(i.cssClassNames.grandTotal),(u.rowType==="T"||u.rowType==="GT")&&o.push(i.cssClassNames.rowTotal),f=u.text||"",this.option("encodeHtml")&&(f.indexOf("<")!==-1||f.indexOf(">")!==-1)&&(f=n("<div>").text(f).html()),u.width&&(e&&(e+="; "),e+="min-width: "+u.width+"px")):f="",c+='<td class="'+o.join(" ")+'" style="'+e+'">'+f+"<\/td>";c+="<\/tr>"}t.append(c),this.callBase.apply(this,arguments)},_processScrollCore:function(n,t,i){var u=this,f=u._groupElement,r={useNative:!!i,useSimulatedScrollbar:!i,direction:"both",bounceEnabled:!1};t&&!n?r.direction="horizontal":t||(r.direction="vertical"),f.dxScrollable(r)},processScroll:function(n,t,i,r){var u=this,f=u._groupElement;u._rootElement.css({position:"relative",display:"block"}),f.css("border-top-width",0),u._processScrollCore(t,i,r)}})}(jQuery,DevExpress),function(n,t){function y(n,t){for(var i=0,r=0;!i&&h[r];)i=h[r++](n,t);return i}function c(n){return n.find(".dx-scrollable").dxScrollable("instance")}var r=t.ui,u=t.utils,e=r.dxPivotGrid,f=r.dxDataGrid,i="<div>",l=f.ColumnsView.inherit(f.sortingMixin).inherit(f.headerFilterMixin),a=f.HeaderFilterView,v="dx-pivotgridfieldchooser",o="dx-pivotgridfieldchooser-container",s=function(i,r,u,f,e,o){e=e||0,o=o||[];for(var c=r.levels?r.levels[e]:r,h=0;h<i.length;h++)i[h].text=i[h].text||t.formatHelper.format(i[h].value,c.format,c.precision),o.push(i[h].value),i[h].filterValue=f?o.slice(0):i[h].value,n.inArray(f?o.join("/"):i[h].value,u)>-1^r.filterType==="exclude"&&(i[h].selected=!0),i[h].children&&(i[h].items=i[h].children,i[h].children=null,s(i[h].items,r,u,f,e+1,o)),o.pop()},h=[function(n,t){var i=-!!n.isMeasure,r=+!!t.isMeasure;return i+r},function(n,t){var i=-!!(n.items&&n.items.length),r=+!!(t.items&&t.items.length);return i+r},function(n,t){var i=+!!(n.field&&n.field.levels&&n.field.levels.length),r=-!!(t.field&&t.field.levels&&t.field.levels.length);return i+r},e.getCompareFunction(function(n){return n.text})];t.registerComponent("dxPivotGridFieldChooser",r,r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({height:400,layout:0,dataSource:null,texts:{columnFields:Globalize.localize("dxPivotGrid-columnFields"),rowFields:Globalize.localize("dxPivotGrid-rowFields"),dataFields:Globalize.localize("dxPivotGrid-dataFields"),filterFields:Globalize.localize("dxPivotGrid-filterFields"),allFields:Globalize.localize("dxPivotGrid-allFields")},headerFilter:{width:252,height:300,texts:{emptyValue:Globalize.localize("dxDataGrid-headerFilterEmptyValue"),ok:Globalize.localize("dxDataGrid-headerFilterOK"),cancel:Globalize.localize("dxDataGrid-headerFilterCancel")}}})},_refreshDataSource:function(){var t=this,i;t._expandedPaths=[],t._changedHandler=t._changedHandler||function(){n.each(t._dataChangedHandlers,function(n,t){t()}),t._updateIndicatorsPosition()},t._dataSource&&(t._dataSource.off("changed",t._changedHandler),t._dataSource=undefined),i=this.option("dataSource"),i&&i.fields&&i.load&&(t._dataSource=i),t._dataSource&&t._dataSource.on("changed",t._changedHandler)},_init:function(){this.callBase(),this._columnsView=new l(this),this._headerFilterView=new a(this),this._subscribeToEvents(),this._refreshDataSource(),this._dataChangedHandlers=[]},_subscribeToEvents:function(){var i=this;i.element().on("dxclick",".dx-area-field.dx-area-box",function(r){var f=n.extend(!0,{},n(r.currentTarget).data("field")),e=n(r.target).hasClass("dx-header-filter");e?i._headerFilterView.showHeaderFilterMenu(n(r.currentTarget),{type:f.groupName?"tree":"list",dataSource:{load:function(r){var e=r.userData,u;return e.store?e.store.load(r):(u=n.Deferred(),i._dataSource.getFieldValues(f.index).done(function(n){e.store=new t.data.ArrayStore(n),e.store.load(r).done(u.resolve).fail(u.reject)}).fail(u.reject),u)},postProcess:function(t){var i=[];return f.filterValues&&n.each(f.filterValues,function(n,t){i.push(u.isArray(t)?t.join("/"):t)}),s(t,f,i,!!f.groupName),t}},filterValues:f.filterValues,filterType:f.filterType,apply:function(){i._dataSource.field(f.index,{filterValues:this.filterValues,filterType:this.filterType}),i._dataSource.load()}}):f.allowSorting&&f.area!=="data"&&(i._dataSource.field(f.index,{sortOrder:f.sortOrder==="desc"?"asc":"desc"}),i._dataSource.load())})},_setOptionsByReference:function(){this.callBase(),n.extend(this._optionsByReference,{dataSource:!0})},_optionChanged:function(n){var t=this;switch(n.name){case"dataSource":t._refreshDataSource(),t._invalidate();break;case"layout":case"texts":case"headerFilter":t._invalidate();break;default:t.callBase(n)}},_clean:function(){this.element().children("."+o).remove()},_renderContentImpl:function(){var e=this,f=this.element(),r,t,u;f.addClass(v),e._dataChangedHandlers=[],e._renderSortable(f),e._headerFilterView.render(f),u=n(i).addClass(o).appendTo(f),this.option("layout")===0?(r=n(i).addClass("dx-col").appendTo(u),t=n(i).addClass("dx-col").appendTo(u),this._renderArea(r,"all"),this._renderArea(r,"filter"),this._renderArea(t,"row"),this._renderArea(t,"column"),this._renderArea(t,"data")):this.option("layout")===1?(r=n(i).addClass("dx-col").appendTo(u),t=n(i).addClass("dx-col").appendTo(u),this._renderArea(r,"all"),this._renderArea(t,"filter"),this._renderArea(t,"row"),this._renderArea(t,"column"),this._renderArea(t,"data")):(this._renderArea(u,"all"),r=n(i).addClass("dx-col").appendTo(u),t=n(i).addClass("dx-col").appendTo(u),this._renderArea(r,"filter"),this._renderArea(r,"row"),this._renderArea(t,"column"),this._renderArea(t,"data")),this.updateDimensions()},_renderSortable:function(t){var r=this;r._createComponent(t,"dxSortable",{itemSelector:".dx-area-field",itemContainerSelector:".dx-area-field-container",groupSelector:".dx-area-fields",itemRender:function(r,u){var f;return f=r.hasClass("dx-area-box")?r.clone():n(i).addClass("dx-area-field").addClass("dx-area-box").text(r.text()),u==="drag"&&f.width(t.find(".dx-area-field-container").first().width()),f},onDragging:function(n){var i=n.sourceElement.data("field"),t=n.targetGroup;n.cancel=!1,i.isMeasure===!0?(t==="column"||t==="row"||t==="filter")&&(n.cancel=!0):i.isMeasure===!1&&t==="data"&&(n.cancel=!0)},onChanged:function(n){var t=r._dataSource,i=n.sourceElement.data("field");n.removeSourceElement=!!n.sourceGroup,i&&(t.field(i.index,{area:n.targetGroup,areaIndex:n.targetIndex}),t.load())}})},_createTreeItems:function(t,i,r){var s=this,e,f=[],h=[],c=i[0],o={};return c?(n.each(t,function(n,t){var i=t[c]||"";o[i]=o[i]||[],o[i].push(t),e===undefined&&(e=!0),e=e&&t.isMeasure===!0}),n.each(o,function(t,u){var e=r?r+"."+t:t,o=s._createTreeItems(u,i.slice(1),e);t?h.push({key:t,text:t,path:e,isMeasure:o.isMeasure,expanded:n.inArray(e,s._expandedPaths)>=0,items:o}):f=o}),f=h.concat(f),f.isMeasure=e):n.each(t,function(n,t){var i;t.isMeasure===!0&&(i="measure"),t.isMeasure===!1&&(i=t.groupName?"hierarchy":"dimension"),f.push({index:t.index,field:t,key:t.dataField,selected:u.isDefined(t.area),text:t.caption||t.dataField,icon:i,isMeasure:t.isMeasure})}),f},_createFieldsDataSource:function(t){var i=t&&t.fields()||[],r;return i=n.map(i,function(n){return n.visible===!1||u.isDefined(n.groupIndex)?null:n}),r=this._createTreeItems(i,["dimension","displayFolder"]),e.foreachDataLevel(r,function(n){n.sort(y)},0,"items"),r},_renderFieldsTreeView:function(t){var i=this,r=i._dataSource,e=i._createComponent(t,"dxTreeView",{dataSource:i._createFieldsDataSource(r),showCheckBoxes:!0,itemTemplate:function(t,i,r){t.icon&&u.getImageContainer(t.icon).appendTo(r),n("<span>").toggleClass("dx-area-field",!t.items).data("field",t.field).text(t.text).appendTo(r)},onItemCollapsed:function(t){var r=n.inArray(t.itemData.path,i._expandedPaths);r>=0&&i._expandedPaths.splice(r,1)},onItemExpanded:function(t){var r=n.inArray(t.itemData.path,i._expandedPaths);r<0&&i._expandedPaths.push(t.itemData.path)},onItemSelected:function(n){var t=n.itemData,i,u;t.items?f():(t.selected&&(i=r.fields()[t.index],u=i&&i.isMeasure?"data":"column"),r.field(t.index,{area:u,areaIndex:undefined}),r.load())}}),f=function(){var n=c(t),u=n?n.scrollTop():0;e.option({dataSource:i._createFieldsDataSource(r)}),n=c(t),n&&(n.scrollTo({y:u}),n.update())};i._dataChangedHandlers.push(f)},_renderField:function(t){var r=this,f=n(i).addClass("dx-area-field-content").text(t.caption||t.dataField),u=n(i).addClass("dx-area-field").addClass("dx-area-box").data("field",t).append(f);return t.area!=="data"&&(t.allowSorting&&r._columnsView._applyColumnState({name:"sort",rootElement:u,column:{alignment:r.option("rtlEnabled")?"right":"left",sortOrder:t.sortOrder==="desc"?"desc":"asc"},showColumnLines:!0}),t.allowFiltering&&r._columnsView._applyColumnState({name:"headerFilter",rootElement:u,column:{alignment:r.option("rtlEnabled")?"right":"left",filterValues:t.filterValues},showColumnLines:!0})),u},_renderAreaFields:function(t,i){var r=this,u=r._dataSource,f=u?u.getAreaFields(i,!0):[];t.empty(),n.each(f,function(){r._renderField(this).appendTo(t)})},_renderArea:function(t,r){var e=this,o=n(i).addClass("dx-area").appendTo(t),c=e.option("texts."+r+"Fields"),f,h,s;n("<span>").addClass("dx-area-icon").addClass("dx-area-icon-"+r).appendTo(o),n("<span>").html("&nbsp;").appendTo(o),n("<span>").addClass("dx-area-caption").text(c).appendTo(o),f=n(i).addClass("dx-area-fields").height(0).appendTo(o),r!=="all"?(h=n(i).addClass("dx-area-field-container").appendTo(f),s=function(){e._renderAreaFields(h,r)},e._dataChangedHandlers.push(s),s(),f.attr("group",r).dxScrollable()):(f.addClass("dx-treeview-border-visible"),e._renderFieldsTreeView(f))},_updateIndicatorsPosition:function(){var t=this._columnsView;n.each(this.element().find(".dx-area-field.dx-area-box"),function(){t._updateIndicatorHeight(n(this),"sort"),t._updateIndicatorHeight(n(this),"headerFilter")})},updateDimensions:function(){var f=this,t=this.element(),u=t.children(".dx-pivotgridfieldchooser-container"),r=t.find(".dx-col"),i=t.find(".dx-area-fields"),e=t.find(".dx-area .dx-scrollable"),n;f._updateIndicatorsPosition(),i.height(0),this.option("layout")===0?(n=Math.floor((t.height()-u.height())/3),i.height(n),i.eq(0).height(r.eq(1).height()-r.eq(0).height()+n)):this.option("layout")===1?(n=Math.floor((t.height()-u.height())/4),i.height(n),i.eq(0).height(r.eq(1).height()-r.eq(0).height()+n)):(n=Math.floor((t.height()-u.height())/4),i.height(n),i.eq(0).height(n*2)),e.dxScrollable("update")}}))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u=t.utils,o="dx-scheduler",e="dx-scheduler-readonly",f="dx-sheduler-appointment-popup",s="dx-scheduler-appointment-tooltip",h="dx-scheduler-appointment-tooltip-title",c="dx-scheduler-appointment-tooltip-date",l="dx-scheduler-appointment-tooltip-buttons",a=610,v={day:"dxSchedulerWorkSpaceDay",week:"dxSchedulerWorkSpaceWeek",workWeek:"dxSchedulerWorkSpaceWorkWeek",month:"dxSchedulerWorkSpaceMonth"};t.registerComponent("dxScheduler",r,r.Widget.inherit({_stripDateTime:function(n){return u.correctDateWithUnitBeginning(n,"day"),n},_setDefaultOptions:function(){this.callBase(),this.option({views:["day","week"],currentView:"day",currentDate:this._stripDateTime(new Date),firstDayOfWeek:i,groups:[],resources:[],dataSource:null,appointmentTemplate:"item",startDayHour:0,endDayHour:24,editing:!0,onAppointmentRendered:null,onAppointmentAdding:null,onAppointmentAdded:null,onAppointmentUpdating:null,onAppointmentUpdated:null,onAppointmentDeleting:null,onAppointmentDeleted:null})},_defaultOptionsRules:function(){return this.callBase().concat([{device:function(){return t.devices.real().generic&&!t.devices.isSimulator()},options:{focusStateEnabled:!0}}])},_optionChanged:function(t){var i=t.value,r;switch(t.name){case"firstDayOfWeek":this._workSpace.option("firstDayOfWeek",i),this._header.option("firstDayOfWeek",i);break;case"currentDate":i=u.makeDate(i),i=this._stripDateTime(i),this._appointments.element().empty(),this._workSpace.option("currentDate",i),this._header.option("currentDate",i),this._filterAppointmentsByDate();break;case"dataSource":this._refreshDataSource(),this._appointmentModel.setDataSource(this._dataSource),this._filterAppointmentsByDateAndResources(),this._appointments.option("dataSource",this._dataSource);break;case"views":this._header.option("views",i);break;case"currentView":this._header.option("currentView",i),this._refreshWorkSpace(),this._appointments.option("renderingStrategy",i),this._filterAppointmentsByDateAndResources();break;case"appointmentTemplate":this._appointments.option("itemTemplate",i);break;case"groups":r=this._workSpace.getDateRange(),this._resourcesManager.getResourcesValueByFields(i).done(n.proxy(function(n){var t=this._prepareResourcesForFilter(n);this._workSpace.option("groups",n),this._appointmentModel.filterByDateAndResources({min:r[0],max:r[1],resources:t,startDayHour:this.option("startDayHour"),endDayHour:this.option("endDayHour")})},this));break;case"resources":this._resourcesManager.setResources(i),this._filterAppointmentsByResources();break;case"startDayHour":this._filterAppointmentsByDate(),this._workSpace.option("startDayHour",i);break;case"endDayHour":this._filterAppointmentsByDate(),this._workSpace.option("endDayHour",i);break;case"onAppointmentAdding":case"onAppointmentAdded":case"onAppointmentUpdating":case"onAppointmentUpdated":case"onAppointmentDeleting":case"onAppointmentDeleted":this._actions[t.name]=this._createActionByOption(t.name);break;case"onAppointmentRendered":this._appointments.option("onItemRendered",i);break;case"tabIndex":case"focusStateEnabled":this._header.option(t.name,i),this._workSpace.option(t.name,i),this._appointments.option(t.name,i),this.callBase(t);break;case"width":this._header.option("width",i),this.callBase(t);break;case"editing":this.element().toggleClass(e,!i),this._appointments.option({allowDrag:i,allowResize:i}),this._refreshPopup(),this._hideTooltip();break;default:this.callBase(t)}},_filterAppointmentsByDate:function(){var n=this._workSpace.getDateRange();this._appointmentModel.filterByDate(n[0],n[1],this.option("startDayHour"),this.option("endDayHour"))},_filterAppointmentsByResources:function(){if(this.option("resources")&&this.option("resources").length){var n=this;this._resourcesManager.getResourcesValueByFields(this.option("groups")).done(function(t){n._appointmentModel.filterByResources(n._prepareResourcesForFilter(t))})}},_filterAppointmentsByDateAndResources:function(){var t=this._workSpace.getDateRange(),n=this;this._resourcesManager.getResourcesValueByFields(this.option("groups")).done(function(i){var r=n._prepareResourcesForFilter(i);n._appointmentModel.filterByDateAndResources({min:t[0],max:t[1],resources:r,startDayHour:n.option("startDayHour"),endDayHour:n.option("endDayHour")})})},_prepareResourcesForFilter:function(t){return n.map(t,function(n){for(var i=[],t=0,r=n.items.length;t<r;t++)i.push(n.items[t].id);return{field:n.name,data:i}})},_dimensionChanged:function(){this._appointments.repaint()},_visibilityChanged:function(n){n&&this._dimensionChanged()},_init:function(){this.callBase(),this._initDataSource(),this.element().addClass(o),this.element().toggleClass(e,!this.option("editing")),this._appointmentModel=new r.dxScheduler.dxSchedulerAppointmentModel(this._dataSource),this._resourcesManager=new r.dxScheduler.dxSchedulerResourceManager(this.option("resources")),this._initActions()},_initActions:function(){this._actions={onAppointmentAdding:this._createActionByOption("onAppointmentAdding"),onAppointmentAdded:this._createActionByOption("onAppointmentAdded"),onAppointmentUpdating:this._createActionByOption("onAppointmentUpdating"),onAppointmentUpdated:this._createActionByOption("onAppointmentUpdated"),onAppointmentDeleting:this._createActionByOption("onAppointmentDeleting"),onAppointmentDeleted:this._createActionByOption("onAppointmentDeleted")}},_initAppointmentRenderedAction:function(){return this._createActionByOption("onAppointmentRendered",{excludeValidators:["designMode","disabled","readOnly"]})},_defaultAppointmentViewEditors:function(){var n=this;return[{key:"text",type:"dxTextBox",label:"dxScheduler-editorLabelTitle",cssClass:f+"-caption"},{key:"allDay",type:"dxSwitch",label:"dxScheduler-allDay",cssClass:f+"-allday",options:{onValueChanged:function(t){var f=t.value,r=n._appointmentView.getEditorInstance("startDate"),u=n._appointmentView.getEditorInstance("endDate"),i,e;r&&u&&(r.option("format",f?"date":"datetime"),u.option("format",f?"date":"datetime"),i=new Date(r.option("value")),f?(i.setHours(0),i.setMinutes(0),r.option("value",i),e=new Date(i),e.setDate(i.getDate()+1),u.option("value",e)):r.option("value")&&(i.setHours(n.option("startDayHour")),r.option("value",i),u.option("value",n._workSpace._calculateEndDate(r.option("value")))))}}},{key:"startDate",type:"dxDateBox",label:"dxScheduler-editorLabelStartDate",cssClass:f+"-start-date",options:{format:"datetime",onValueChanged:function(t){var i=t.value,e=t.previousValue,r=n._appointmentView.getEditorInstance("endDate"),u=r.option("value"),f;u<=i&&(f=u.getTime()-e.getTime(),r.option("value",new Date(i.getTime()+f)))}}},{key:"endDate",type:"dxDateBox",label:"dxScheduler-editorLabelEndDate",cssClass:f+"-end-date",options:{format:"datetime",onValueChanged:function(t){var i=t.value,e=t.previousValue,r=n._appointmentView.getEditorInstance("startDate"),u=r.option("value"),f;u>=i&&(f=e.getTime()-u.getTime(),r.option("value",new Date(i.getTime()-f)))}}},{key:"description",type:"dxTextArea",label:"dxScheduler-editorLabelDescription",cssClass:f+"-description"},{key:"recurrenceRule",type:"dxSchedulerRecurrenceEditor",label:"dxScheduler-editorLabelRecurrence",cssClass:f+"-recurrence"}]},_renderFocusTarget:n.noop,_render:function(){this.callBase(),this._renderHeader(),this._appointments=this._createComponent("<div>","dxSchedulerAppointments",this._appointmentsConfig()),this._resourcesManager.getResourcesValueByFields(this.option("groups")).done(n.proxy(function(n){this._renderWorkSpace(n);var t=this._workSpace.getAllDayContainerClass();this._appointments.option({allDayContainer:this.element().find("."+t)}),this._filterAppointmentsByDateAndResources(),this._appointments.option("dataSource",this._dataSource)},this))},_renderHeader:function(){this._header=this._createComponent("<div>","dxSchedulerHeader",this._headerConfig()),this.element().append(this._header.element())},_headerConfig:function(){return{observer:this,views:this.option("views"),firstDayOfWeek:this.option("firstDayOfWeek"),currentView:this.option("currentView"),currentDate:this._stripDateTime(u.makeDate(this.option("currentDate"))),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled"),width:this.option("width")}},_appointmentsConfig:function(){return{observer:this,renderingStrategy:this.option("currentView"),itemTemplate:this._getTemplateByOption("appointmentTemplate"),onItemRendered:this.option("onAppointmentRendered"),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled"),allowDrag:this.option("editing"),allowResize:this.option("editing")}},_renderWorkSpace:function(n){this._workSpace=this._createComponent("<div>",v[this.option("currentView")],this._workSpaceConfig(n)),this._workSpace.getWorkArea().append(this._appointments.element()),this.element().append(this._workSpace.element())},_workSpaceConfig:function(n){return{observer:this,currentDate:this._stripDateTime(u.makeDate(this.option("currentDate"))),firstDayOfWeek:this.option("firstDayOfWeek"),groups:n,startDayHour:this.option("startDayHour"),endDayHour:this.option("endDayHour"),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled")}},_refreshWorkSpace:function(){var t=this._workSpace.getAllDayContainerClass();this._appointments.element().detach(),this._workSpace._dispose(),this._workSpace.element().remove(),delete this._workSpace,this._resourcesManager.getResourcesValueByFields(this.option("groups")).done(n.proxy(function(n){this._renderWorkSpace(n),this._appointments.option({allDayContainer:this.element().find("."+t)})},this))},_createPopup:function(){this._$popup||this._refreshPopup()},_refreshPopup:function(){var i,t,u;this._$popup=n("<div>").addClass(f).appendTo(this.element()),this._popup=this._createComponent(this._$popup,"dxPopup",this._popupConfig()),i=this._popup.content(),i.empty(),t=this._defaultAppointmentViewEditors(),u=this.option("resources"),u&&u.length&&(this._resourcesManager.setResources(this.option("resources")),t=t.concat(this._resourcesManager.getEditors())),this._appointmentView=new r.dxScheduler.dxSchedulerAppointmentDetailsView(i,{editors:t,rtlEnabled:this.option("rtlEnabled"),readOnly:!this.option("editing")})},_popupConfig:function(){var t=[];return this.option("editing")&&(t=[{shortcut:"done",location:"after",onClick:n.proxy(this._saveChanges,this)},{shortcut:"cancel",location:"after"}]),{width:a,target:"body",buttons:t,onHiding:n.proxy(function(){this._workSpace.focus()},this)}},_saveChanges:function(){var t=this._appointmentView.option("values"),i=this._editAppointmentData;i?this._checkRecurringAppointment(i.recurrenceRule,n.proxy(function(){this.updateAppointment(this._editAppointmentData,t)},this)):this.addAppointment(t)},_checkRecurringAppointment:function(t,i,r){t?this._showRecurrenceChangeConfirm(r).done(n.proxy(function(n){n?i():this._appointments.repaint()},this)):i()},_showRecurrenceChangeConfirm:function(n){var t;return t=n?"All occurrences of the recurring appointment will be deleted.<br> Are you sure you want to delete them?":"All occurrences of the recurring appointment will be edited.<br> Are you sure you want to edit them?",r.dialog.confirm(t,null,!1)},_getUpdatedData:function(n){var r=n.data,u=this.getTargetCellData(),e=u.date||r.startDate,f=u.groups,o=r.endDate.getTime()-r.startDate.getTime(),t={},i;t.allDay=u.allDay,t.startDate=e,t.endDate=new Date(e.getTime()+o);for(i in f)f.hasOwnProperty(i)&&(t[i]=f[i]);return t},_getCoordinates:function(n,t,i){for(var u=[],r=0;r<n.length;r++)u=u.concat(this._workSpace.getCoordinatesByDateInGroup(n[r],t,i));return u},_subscribes:{currentViewUpdated:function(n){this.option("currentView",n)},needCoordinates:function(n){var t=n.appointmentData,r=n.startDate,f=this._workSpace.getDateRange(),i=u.getDatesByRecurrence(t.recurrenceRule,r,f[0],f[1]),e;i.length||i.push(r),e=this._resourcesManager.getResourcesFromItem(t),n.callback(this._getCoordinates(i,e,t.allDay))},showEditAppointmentPopup:function(n){this._editAppointmentData=n,this.showAppointmentPopup(n)},showAppointmentTooltip:function(n){this._editAppointmentData=n.data,this.showAppointmentTooltip(n.data,n.target)},hideAppointmentTooltip:function(){this._hideTooltip()},showAddAppointmentPopup:function(n){delete this._editAppointmentData,this.option("editing")&&this.showAppointmentPopup(n)},updateAppointmentAfterResize:function(i){this._checkRecurringAppointment(i.target.recurrenceRule,n.proxy(function(){this._updateAppointment(i.target,i.data,function(){t.translator.move(i.$appointment,i.initialCoordinates),i.target.startDate=u.makeDate(i.target.startDate),i.target.endDate=u.makeDate(i.target.endDate),this.option("currentView")==="month"||i.target.allDay||this.appointmentTakesAllDay(i.target)?i.$appointment.outerWidth(i.initialSize.width):i.$appointment.outerHeight(i.initialSize.height)})},this))},updateAppointmentAfterDrag:function(i){var u=i.data,r=this._getUpdatedData(i),o=this._workSpace.getAllDayContainerClass(),e,f;i.$appointment.parent().hasClass(o)&&!r.allDay&&(r.endDate=this._workSpace._calculateEndDate(r.startDate)),e=n.extend({},u,r),f=new Date(u.startDate),this.option("currentView")==="month"&&(f=this._stripDateTime(f)),Math.abs(r.startDate.getTime()-f.getTime())>=this._workSpace._getInterval()?this._checkRecurringAppointment(u.recurrenceRule,n.proxy(function(){this._updateAppointment(u,e,function(){t.translator.move(i.$appointment,i.initialCoordinates)})},this)):t.translator.move(i.$appointment,i.initialCoordinates)},updateCurrentDate:function(n){this.option("currentDate",this._stripDateTime(u.makeDate(n)))},getAppointmentColor:function(n){var r=this._resourcesManager.getResourceForPainting(this.option("groups")),i,e;if(r&&(i=r.field,n.itemData[i])){var o=t.utils.wrapToArray(n.itemData[i]),u=n.resourceIndex,f=this.option("groups");f&&f.length||(u=0),e=o[u],n.callback(this._resourcesManager.getResourceColor(i,e))}},getResourceForPainting:function(n){n.callback(this._resourcesManager.getResourceForPainting(this.option("groups")))},getResourcesFromItem:function(n){n.callback(this._resourcesManager.getResourcesFromItem(n.itemData))},getCellDimensions:function(n){this._workSpace&&n.callback(this._workSpace.getCellWidth(),this._workSpace.getCellHeight(),this._workSpace.getAllDayHeight())},initAppointmentRenderedAction:function(n){n.callback(this._initAppointmentRenderedAction())},getMaxAllowedPosition:function(n){this._workSpace&&n.callback(this._workSpace.getMaxAllowedPosition())},getItemGroupIndexes:function(n){var t=this._resourcesManager.getResourcesFromItem(n.item),i=this._workSpace._getGroupIndexes(t);n.callback(i)},appointmentTakesAllDay:function(n){n.callback(this.appointmentTakesAllDay({startDate:n.startDate,endDate:n.endDate}))},checkContainerVisibility:function(n){n.callback(this.element().is(":hidden"))}},subsribe:function(n,t){this._subscribes[n]=t},fire:function(i,r){var u=this._subscribes[i];if(!n.isFunction(u))throw t.Error("E1031",i);u.call(this,r)},getTargetCellData:function(){return this._workSpace.getDataByDroppableCell()},showAppointmentTooltip:function(n,t){var i=this;r.tooltip.show({target:t,contentTemplate:function(t){var r=i._tooltipContent(n);r.addClass(t.attr("class")),t.replaceWith(r)}})},_tooltipContent:function(t){var i=this,r=n("<div>").addClass(s),u;return n("<div>").text(t.text).addClass(h).appendTo(r),n("<div>").addClass(c).text(i._formatTooltipDate(t.startDate,t.endDate)).appendTo(r),u=n("<div>").addClass(l).appendTo(r),this.option("editing")&&n("<div>").appendTo(u).dxButton({icon:"trash",onClick:function(){i._checkRecurringAppointment(t.recurrenceRule,function(){i.deleteAppointment(t)},!0),i._hideTooltip()}}),n("<div>").appendTo(u).dxButton({icon:this.option("editing")?"edit":"",text:Globalize.localize("dxScheduler-openAppointment"),onClick:function(){i.showAppointmentPopup(t)}}),r},_hideTooltip:function(){r.tooltip.hide()},_formatTooltipDate:function(n,t){var i="MMMM d h:mm tt",r,u;return this.option("currentView")==="month"?(r=Globalize.format(n,i)+" - ",u=n.getDate()===t.getDate()?Globalize.format(t,"t"):Globalize.format(t,i),r+u):Globalize.format(n,"t")+" - "+Globalize.format(t,"t")},_executeActionWhenOperationIsCompleted:function(n,t,i){var r={appointment:t},u=i&&i.name==="Error";u&&(r.error=i),n(r)},_updateAppointment:function(t,i,r){var u={newData:i,oldData:t,cancel:!1};this._actions.onAppointmentUpdating(u);u.cancel?n.isFunction(r)&&r.call(this):this._appointmentModel.update(t,i).always(n.proxy(function(n){this._executeActionWhenOperationIsCompleted(this._actions.onAppointmentUpdated,i,n)},this))},showAppointmentPopup:function(n){this._createPopup(),this._popup.show(),this._appointmentView.option("values",n)},getAppointmentDetailsView:function(){return this._appointmentView},getAppointmentResourceData:function(n,t){return this._resourcesManager.getResourceDataByValue(n,t)},getActions:function(){return this._actions},appointmentTakesAllDay:function(n){var t=this.option("endDayHour")-this.option("startDayHour"),i=(n.endDate.getTime()-n.startDate.getTime())/36e5;return i>=t},addAppointment:function(t){t.text||(t.text="");var i={appointment:t,cancel:!1};this._actions.onAppointmentAdding(i);i.cancel||this._appointmentModel.add(t).always(n.proxy(function(n){this._executeActionWhenOperationIsCompleted(this._actions.onAppointmentAdded,t,n)},this))},updateAppointment:function(n,t){this._updateAppointment(n,t)},deleteAppointment:function(t){var i={appointment:t,cancel:!1};this._actions.onAppointmentDeleting(i);i.cancel||this._appointmentModel.remove(t).always(n.proxy(function(n){this._executeActionWhenOperationIsCompleted(this._actions.onAppointmentDeleted,t,n)},this))}}).include(r.DataHelperMixin))}(jQuery,DevExpress),function(n,t){var r=t.utils,u=t.Class.inherit({_resourceFilter:function(t,i){for(var u=!0,r,o,e,h,f=0,s=i.length;f<s;f++)if(r=i[f].field,o=i[f].data,t.hasOwnProperty(r)){if(n.isArray(t[r])){for(u=!1,e=0,h=t[r].length;e<h;e++)if(n.inArray(t[r][e],o)>-1){u=!0;break}}else if(n.inArray(t[r],o)===-1){u=!1;break}}else{u=!1;break}return u},ctor:function(n){this.setDataSource(n)},setDataSource:function(n){this._dataSource=n},filterByDate:function(n,t,i,r){if(this._dataSource){var u=this._prepareDateFilter(n,t,i,r);this._dataSource.filter(u),this._dataSource.load()}},_prepareDateFilter:function(t,i,u,f){var e=this._dataSource;return function(o){n.isFunction(e._mapFunc)&&(o=e._mapFunc(o));var s=r.makeDate(o.startDate),l=o.recurrenceRule,c=o.allDay,a=function(n){return n=new Date(n),r.correctDateWithUnitBeginning(n,"day"),n},h=r.dateInRange(s,t,i)&&!l||r.dateInRange(s,a(t),i)&&c||r.dateInRecurrenceRange(l,s,t,i);return h&&u&&(h=s.getHours()>=u||c),h&&f&&(h=s.getHours()<=f||c),h}},filterByResources:function(n){if(this._dataSource){var t=this._prepareResourcesFilter(n);this._dataSource.filter(t),this._dataSource.load()}},_prepareResourcesFilter:function(t){return n.proxy(function(n){return this._resourceFilter(n,t)},this)},filterByDateAndResources:function(t){this._dataSource&&(this._dataSource.filter(n.proxy(function(n){var i=this._prepareDateFilter(t.min,t.max,t.startDayHour,t.endDayHour),r=this._prepareResourcesFilter(t.resources);return i(n)&&r(n)},this)),this._dataSource.load())},add:function(t){return this._dataSource.store().insert(t).done(n.proxy(function(){this._dataSource.load()},this))},update:function(t,i){return this._dataSource.store().update(t,i).done(n.proxy(function(){this._dataSource.load()},this))},remove:function(t){return this._dataSource.store().remove(t).done(n.proxy(function(){this._dataSource.load()},this))}});t.ui.dxScheduler.dxSchedulerAppointmentModel=u}(jQuery,DevExpress),function(n,t){var r=t.utils,a="dx-recurrence-editor",f="-label",v="dx-recurrence-editor-container",y="dx-recurrence-switch",p="dx-recurrence-switch-repeat-end",w="dx-recurrence-radiogroup-freq",o="dx-recurrence-numberbox-interval",b="dx-recurrence-interval-field",s="dx-recurrence-repeat-end",k="dx-recurrence-repeat-end-field",d="dx-recurrence-repeat-end-container",h="dx-recurrence-radiogroup-repeat-type",g="dx-recurrence-numberbox-repeat-count",nt="dx-recurrence-datebox-until-date",l="dx-recurrence-repeat-on",tt="dx-recurrence-repeat-on-week",it="dx-recurrence-checkbox-day-of-week",rt="dx-recurrence-repeat-on-month",ut="dx-recurrence-numberbox-day-of-month",ft="dx-recurrence-repeat-on-year",et="dx-recurrence-selectbox-month-of-year",e="dx-field",c="dx-field-label",u="dx-field-value",ot=[{text:function(){return Globalize.localize("dxScheduler-recurrenceDaily")},value:"DAILY"},{text:function(){return Globalize.localize("dxScheduler-recurrenceWeekly")},value:"WEEKLY"},{text:function(){return Globalize.localize("dxScheduler-recurrenceMonthly")},value:"MONTHLY"},{text:function(){return Globalize.localize("dxScheduler-recurrenceYearly")},value:"YEARLY"}],st=[{text:function(){return Globalize.localize("dxScheduler-recurrenceRepeatCount")},value:"count"},{text:function(){return Globalize.localize("dxScheduler-recurrenceRepeatOnDate")},value:"until"}],ht=t.Class.inherit({ctor:function(n){this._recurrenceRule=t.utils.getRecurrenceRule(n)},makeRules:function(n){var t=this;t._recurrenceRule=r.getRecurrenceRule(n)},makeRule:function(n,t){if(!t){delete this._recurrenceRule[n];return}r.isDefined(n)&&(n==="until"&&delete this._recurrenceRule.count,n==="count"&&delete this._recurrenceRule.until,this._recurrenceRule[n]=t)},repeatableRule:function(){var n=this._recurrenceRule;return"count"in n?"count":"until"in n?"until":null},recurrenceString:function(){return r.getRecurrenceString(this._recurrenceRule)},rules:function(){return this._recurrenceRule},daysFromByDayRule:function(){var n=[];return this._recurrenceRule.byday&&(n=this._recurrenceRule.byday.split(",")),n}});t.registerComponent("dxSchedulerRecurrenceEditor",t.ui.dxScheduler,t.ui.Editor.inherit({_setDefaultOptions:function(){this.callBase(),this.option({value:null,onValueChanged:null,startDate:new Date})},_init:function(){this.callBase(),this._recurrenceRule=new ht(this.option("value"))},_render:function(){this.callBase(),this.element().addClass(a),this._renderSwitch(),this._$container=n("<div>").addClass(v).appendTo(this.element()),this._renderEditors(),this._renderContainerVisibility()},_renderSwitch:function(){var t=n("<div>").addClass(y);this._switchEditor=this._createComponent(t,"dxSwitch",{value:!1,onValueChanged:n.proxy(this._switchValueChangeHandler,this)}),this.element().append(t)},_switchValueChangeHandler:function(n){var t=n.value;this._renderContainerVisibility(t),!this.option("value")&&t?this._handleDefaults():t||(this._recurrenceRule.makeRules(""),this.option("value",""))},_renderContainerVisibility:function(n){n?(this._$container.show(),t.utils.triggerShownEvent(this._$container)):this._$container.hide()},_handleDefaults:function(){this._recurrenceRule.makeRule("freq","DAILY"),this.option("value",this._recurrenceRule.recurrenceString())},_renderEditors:function(){this._renderFreqEditor(),this._renderIntervalEditor(),this._renderRepeatOnEditor(),this._renderRepeatEndSwitch(),this._renderRepeatEndEditor(),this._renderRepeatEndVisibility()},_renderFreqEditor:function(){var r=this._recurrenceRule.rules().freq||"DAILY",t=n("<div>").addClass(w).addClass(u),i;this._freqEditor=this._createComponent(t,"dxRadioGroup",{field:"freq",items:ot,value:r,valueExpr:"value",displayExpr:"text",layout:"horizontal",onValueChanged:n.proxy(this._valueChangedHandler,this)}),i=n("<div>").addClass(e).append(t),this._$container.append(i)},_renderIntervalEditor:function(){var t=this._recurrenceRule.rules().freq||"DAILY",i=n("<div>").addClass(o).addClass(u),l=n("<div>").text(Globalize.localize("dxScheduler-recurrenceEvery")+":").addClass(o+f).addClass(c),r,s;this._$intervalTypeLabel=n("<div>").text(Globalize.localize("dxScheduler-recurrenceRepeat"+t.charAt(0).toUpperCase()+t.substr(1).toLowerCase())).addClass(h+f),r=this._recurrenceRule.rules().interval||1,this._intervalEditor=this._createComponent(i,"dxNumberBox",{field:"interval",min:1,value:r,showSpinButtons:!0,useTouchSpinButtons:!1,onValueChanged:n.proxy(this._valueChangedHandler,this)}),s=n("<div>").addClass(e).addClass(b).append(l,i,this._$intervalTypeLabel),this._$container.append(s)},_renderRepeatOnEditor:function(){var t=this._recurrenceRule.rules().freq;if(r.isDefined(this._$repeatOnEditor)||(this._$repeatOnEditor=n("<div>").addClass(l).addClass(e).appendTo(this._$container)),!t||t==="DAILY"){this._clearRepeatOnEditor(),this._clearRepeatOnLabel();return}if(r.isDefined(this._$repeatOnLabel)||this._renderRepeatOnLabel(this._$repeatOnEditor),t==="WEEKLY"&&!this._$repeatOnWeek){this._renderRepeatOnWeekEditor();return}if(t==="MONTHLY"&&!this._$repeatOnMonth){this._renderRepeatOnMonthEditor();return}if(t==="YEARLY"&&!this._$repeatOnYear){this._renderRepeatOnYearEditor();return}},_renderRepeatOnLabel:function(t){this._$repeatOnLabel=n("<div>").text(Globalize.localize("dxScheduler-recurrenceOn")+":").addClass(l+f).addClass(c),t.append(this._$repeatOnLabel)},_clearRepeatOnEditor:function(){r.isDefined(this._$repeatOnWeek)&&(this._$repeatOnWeek.detach(),this._$repeatOnWeek.remove(),delete this._$repeatOnWeek),r.isDefined(this._$repeatOnMonth)&&(this._$repeatOnMonth.detach(),this._$repeatOnMonth.remove(),delete this._$repeatOnMonth),r.isDefined(this._$repeatOnYear)&&(this._$repeatOnYear.detach(),this._$repeatOnYear.remove(),delete this._$repeatOnYear)},_clearRepeatOnEditorValues:function(){this._recurrenceRule.makeRule("bymonth",""),this._recurrenceRule.makeRule("bymonthday",""),this._recurrenceRule.makeRule("byday","")},_clearRepeatOnLabel:function(){r.isDefined(this._$repeatOnLabel)&&(this._$repeatOnLabel.detach(),this._$repeatOnLabel.remove(),delete this._$repeatOnLabel)},_renderRepeatOnWeekEditor:function(){var i,r,t;for(this._clearRepeatOnEditor(),this._$repeatOnWeek=n("<div>").addClass(tt).addClass(u).appendTo(this._$repeatOnEditor),i=Globalize.culture().calendar.days.namesShort,r=this._daysOfWeekByRules(),this._daysOfWeek=[],t=0;t<7;t++){var f=i[t].toUpperCase(),e=n("<div>").addClass(it),o=this._createComponent(e,"dxCheckBox",{text:f,value:n.inArray(f,r)>-1?!0:!1,onValueChanged:n.proxy(this._repeatByDayValueChangeHandler,this)});this._daysOfWeek[t]=o,this._$repeatOnWeek.append(e)}},_daysOfWeekByRules:function(){var t=Globalize.culture().calendar.days.namesShort,n=this._recurrenceRule.daysFromByDayRule();return n.length||(n=[t[this.option("startDate").getDay()].toUpperCase()]),n},_repeatByDayValueChangeHandler:function(){var t="";n.each(this._daysOfWeek,function(n,i){if(i.option("value")){var r=i.option("text");t=t?t+","+r:r}}),this._recurrenceRule.makeRule("byday",t),this.option("value",this._recurrenceRule.recurrenceString())},_renderRepeatOnMonthEditor:function(){this._clearRepeatOnEditor(),this._$repeatOnMonth=n("<div>").addClass(rt).addClass(u).appendTo(this._$repeatOnEditor),this._renderDayOfMonthEditor(this._$repeatOnMonth)},_renderRepeatOnYearEditor:function(){var i,r,t;for(this._clearRepeatOnEditor(),this._$repeatOnYear=n("<div>").addClass(ft).addClass(u).appendTo(this._$repeatOnEditor),i=[],r=Globalize.cultures["default"].calendar.months.names,t=0;t<12;t++)i[t]={value:String(t+1),text:r[t]};var f=this._monthOfYearByRules(),e=n("<div>").addClass(et).appendTo(this._$repeatOnYear),o=function(n){var t,i;this._valueChangedHandler.call(this,n),t=parseInt(n.component.option("value")),this._dayEditor&&t&&(i=new Date((new Date).getFullYear(),parseInt(t),0).getDate(),t===2&&(i=29),this._dayEditor.option("max",i))};this._monthEditor=this._createComponent(e,"dxSelectBox",{field:"bymonth",items:i,value:f,displayExpr:"text",valueExpr:"value",onValueChanged:n.proxy(o,this)}),this._renderDayOfMonthEditor(this._$repeatOnYear)},_monthOfYearByRules:function(){var n=this._recurrenceRule.rules().bymonth;return n||(n=this.option("startDate").getMonth()),n},_renderDayOfMonthEditor:function(t){var r=this._dayOfMonthByRules(),i=n("<div>").addClass(ut);this._dayEditor=this._createComponent(i,"dxNumberBox",{field:"bymonthday",min:1,max:31,showSpinButtons:!0,useTouchSpinButtons:!1,value:r,onValueChanged:n.proxy(this._valueChangedHandler,this)}),t.append(i)},_dayOfMonthByRules:function(){var n=this._recurrenceRule.rules().bymonthday;return n||(n=this.option("startDate").getDate()),n},_renderRepeatEndSwitch:function(){var i=this,t=n("<div>").addClass(p).addClass(u),r=n("<div>").text(Globalize.localize("dxScheduler-recurrenceEnd")+":").addClass(o+f).addClass(c);this._switchEndEditor=this._createComponent(t,"dxSwitch",{value:i._recurrenceRule.repeatableRule()?!0:!1,onValueChanged:n.proxy(this._repeatEndSwitchValueChangeHandler,this)}),n("<div>").addClass(e).addClass(k).append(r,t).appendTo(this._$container)},_repeatEndSwitchValueChangeHandler:function(n){var t=n.value;this._renderRepeatEndVisibility(t),this._recurrenceRule.rules().count||this._recurrenceRule.rules().until||!t?t||(this._recurrenceRule.makeRule("count",""),this._recurrenceRule.makeRule("until",""),this.option("value",this._recurrenceRule.recurrenceString())):this._handleRepeatEndDefaults()},_renderRepeatEndVisibility:function(n){n?this._$repeatEndEditor.show():this._$repeatEndEditor.hide()},_handleRepeatEndDefaults:function(){this._recurrenceRule.makeRule("count",1),this.option("value",this._recurrenceRule.recurrenceString())},_renderRepeatEndEditor:function(t){t=r.isDefined(t)?t:this._recurrenceRule.repeatableRule(),t||(t="count"),r.isDefined(this._$repeatEndEditor)||(this._$repeatEndEditor=n("<div>").addClass(d).addClass(e).appendTo(this._$container),this._renderRepeatEndTypeEditor())},_renderRepeatEndTypeEditor:function(){var t=this._recurrenceRule.repeatableRule()||"count",i=this;this._$repeatTypeEditor=n("<div>").addClass(h).addClass(u).appendTo(this._$repeatEndEditor),this._repeatTypeEditor=this._createComponent(this._$repeatTypeEditor,"dxRadioGroup",{items:st,value:t,displayExpr:"text",valueExpr:"value",itemTemplate:function(n){return n.value==="count"?i._renderRepeatCountEditor():i._renderRepeatUntilEditor()},layout:"vertical",onValueChanged:n.proxy(this._repeatTypeValueChangedHandler,this)}),this._disableRepeatEndParts(t)},_repeatTypeValueChangedHandler:function(n){var t=n.value;this._disableRepeatEndParts(t),t==="until"?this._recurrenceRule.makeRule(t,r.getAsciiStringByDate(this._repeatUntilDate.option("value"))):t==="count"&&this._recurrenceRule.makeRule(t,this._repeatCountEditor.option("value")),this.option("value",this._recurrenceRule.recurrenceString())},_disableRepeatEndParts:function(n){n==="until"?(this._repeatCountEditor.option("disabled",!0),this._repeatUntilDate.option("disabled",!1)):n==="count"&&(this._repeatCountEditor.option("disabled",!1),this._repeatUntilDate.option("disabled",!0))},_renderRepeatCountEditor:function(){var i=this._recurrenceRule.rules().count||1,t=n("<div>");return n("<div>").text(Globalize.localize("dxScheduler-recurrenceAfter")+":").addClass(s+f).appendTo(t),this._$repeatCountEditor=n("<div>").addClass(g).addClass(u).appendTo(t),n("<div>").text(Globalize.localize("dxScheduler-recurrenceRepeatCount")).addClass(s+f).appendTo(t),this._repeatCountEditor=this._createComponent(this._$repeatCountEditor,"dxNumberBox",{field:"count",min:1,showSpinButtons:!0,useTouchSpinButtons:!1,value:i,onValueChanged:n.proxy(this._repeatCountValueChangeHandler,this)}),t},_repeatCountValueChangeHandler:function(n){if(this._recurrenceRule.repeatableRule()==="count"){var t=n.value;this._recurrenceRule.makeRule("count",t),this.option("value",this._recurrenceRule.recurrenceString())}},_renderRepeatUntilEditor:function(){var i=this._recurrenceRule.rules().until||new Date,t=n("<div>");return n("<div>").text(Globalize.localize("dxScheduler-recurrenceOn")+":").addClass(s+f).appendTo(t),this._$repeatDateEditor=n("<div>").addClass(nt).addClass(u).appendTo(t),this._repeatUntilDate=this._createComponent(this._$repeatDateEditor,"dxDateBox",{field:"until",value:i,format:"date",onValueChanged:n.proxy(this._repeatUntilValueChangeHandler,this)}),t},_repeatUntilValueChangeHandler:function(n){if(this._recurrenceRule.repeatableRule()==="until"){var t=n.value;typeof t!="string"&&(t=r.getAsciiStringByDate(t)),this._recurrenceRule.makeRule("until",t),this.option("value",this._recurrenceRule.recurrenceString())}},_valueChangedHandler:function(n){var i=n.component.option("value"),t=n.component.option("field");t==="freq"&&this._clearRepeatOnEditorValues(),this._recurrenceRule.makeRule(t,i),this.option("value",this._recurrenceRule.recurrenceString()||"")},_optionChanged:function(n){switch(n.name){case"value":this._recurrenceRule.makeRules(n.value),this._switchEditor.option("value",!!n.value),this._repeatTypeEditor.option("value",this._recurrenceRule.repeatableRule()||"count"),this._renderRepeatEndEditor(),this._renderRepeatOnEditor(),this._changeEditorsValues(this._recurrenceRule.rules()),this.callBase(n);break;case"startDate":this._clearRepeatOnEditor(),this._renderRepeatOnEditor();break;default:this.callBase(n)}},_changeEditorsValues:function(n){this._freqEditor.option("value",n.freq),this._changeRepeatTypeLabel(),this._intervalEditor.option("value",n.interval),this._changeRepeatCountValue(),this._changeRepeatUntilValue(),this._changeCheckBoxesValue(),this._changeDayOfMonthValue(),this._changeMonthOfYearValue()},_changeRepeatTypeLabel:function(){var i=this.element().find("."+h+f),t;i.length&&(t=this._recurrenceRule.rules().freq||"DAILY",n.each(i,function(i,r){n(r).text(Globalize.localize("dxScheduler-recurrenceRepeat"+t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()))}))},_changeRepeatCountValue:function(){if(this._$repeatCountEditor){var n=this._recurrenceRule.rules().count||1;this._repeatCountEditor.option("value",n)}},_changeRepeatUntilValue:function(){if(this._$repeatDateEditor){var n=this._recurrenceRule.rules().until||new Date;this._repeatUntilDate.option("value",n)}},_changeCheckBoxesValue:function(){if(this._$repeatOnWeek){var t=this._daysOfWeekByRules();n.each(this._daysOfWeek,function(i,r){r.option("value",n.inArray(r.option("text"),t)>-1)})}},_changeDayOfMonthValue:function(){if(this._$repeatOnMonth||this._$repeatOnYear){var n=this._dayOfMonthByRules()||1;this._dayEditor.option("value",n)}},_changeMonthOfYearValue:function(){if(this._$repeatOnYear){var n=this._monthOfYearByRules()||1;this._monthEditor.option("value",n)}}}))}(jQuery,DevExpress),function(n,t,i){var r="dx-scheduler-editor-label-",u="dx-field",f="-field",e="dx-field-label",o="dx-field-value",s="dx-fieldset",h=t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({values:{},editors:[],readOnly:!1})},_optionChanged:function(n){switch(n.name){case"values":this._setEditorValues(n.value);break;case"editors":break;case"readOnly":break;default:this.callBase(n)}},_setEditorValues:function(n){for(var r=this.option("editors"),o,t=0,u=r.length;t<u;t++){var i=r[t],f=i.type,s=this.element().find("."+i.cssClass),e=s[f]("instance");i.key==="recurrenceRule"&&e.option("startDate",n.startDate),o=n?n[i.key]:null,e.option(this._getEditorValueOptions(f,o))}},_render:function(){var i=this.option("editors"),t,r;for(this._$fieldset=n("<div>").addClass(s),this._scrollable=this._createComponent("<div>","dxScrollable",{useKeyboard:!1}),this._scrollable.content().append(this._$fieldset),t=0,r=i.length;t<r;t++)this._renderEditor(i[t]);this.element().append(this._scrollable.element())},_renderEditor:function(s){var w=this._scrollable,c=this.option("values"),h=s.key,a=s.type,b=this._getEditorValueOptions(a,c[h]),k=n.extend(b,s.options,{onValueChanged:function(n){if(s.options&&s.options.onValueChanged)s.options.onValueChanged(n);w.update(),c[h]=n.values?n.values:n.value,(c[h]===i||t.utils.isEmptyArray(c[h]))&&delete c[h]},readOnly:this.option("readOnly")}),v=n("<div>").addClass(u).addClass(s.cssClass+f),y=Globalize.localize(s.label)||s.label,p=n("<div>").text(y+":").addClass(r+h.toLowerCase()),l=n("<div>").addClass(s.cssClass),d=this._createComponent(l,a,k);d.setAria("label",y),p.addClass(e),h!=="recurrenceRule"&&l.addClass(o),v.append(p,l),this._$fieldset.append(v)},_getEditorValueOptions:function(n,i){var r={value:i};return n==="dxTagBox"&&(r={values:i?t.utils.wrapToArray(i):[]}),r},getEditorInstance:function(n){for(var r=null,u=this.option("editors"),i,t=0,f=u.length;t<f;t++)i=u[t],i.key===n&&(r=this.element().find("."+i.cssClass)[i.type]("instance"));return r}});t.ui.dxScheduler.dxSchedulerAppointmentDetailsView=h}(jQuery,DevExpress),function(n,t){var e=t.utils,u=t.data.utils,o="dx-scheduler-resource-",r="id",f="text",s=t.Class.inherit({_wrapDataSource:function(n){return n instanceof t.data.DataSource?n:new t.data.DataSource({store:new DevExpress.data.ArrayStore(n),pageSize:0})},_mapResourceData:function(t,i){var e=u.compileGetter(t.valueExpr||r),o=u.compileGetter(t.displayExpr||f);return n.map(i,function(n){return{id:e(n),text:o(n)}})},ctor:function(n){this.setResources(n)},setResources:function(t){this._resources=t,this._resourceFields=n.map(t||[],function(n){return n.field})},getResources:function(){return this._resources||[]},getEditors:function(){var t=[];return n.each(this.getResources(),function(n,i){t.push({options:{dataSource:i.dataSource,displayExpr:i.displayExpr||f,valueExpr:i.valueExpr||r},key:i.field,type:i.allowMultiple?"dxTagBox":"dxSelectBox",label:i.label||i.field,cssClass:o+i.field.toLowerCase()})}),t},getResourceDataByValue:function(t,i){var u=n.Deferred(),f=this;return n.each(this.getResources(),function(n,e){if(e.field===t){var o=f._wrapDataSource(e.dataSource);return o.filter(e.valueExpr||r,i),o.load().done(function(n){u.resolve(n[0])}).fail(function(){u.reject()}),!1}}),u.promise()},getResourcesFromItem:function(t){var r=this,i=null;return n.each(t,function(u){n.inArray(u,r._resourceFields)>-1&&(i||(i={}),i[u]=e.wrapToArray(t[u]))}),i},getResourcesValueByFields:function(t){var i=n.Deferred(),r=this,u=[];return n.each(this.getResourcesByFields(t),function(t,i){var f=n.Deferred();r._wrapDataSource(i.dataSource).load().done(function(n){f.resolve({name:i.field,items:r._mapResourceData(i,n)}),u.push(f)}).fail(function(){f.reject()})}),n.when.apply(null,u).done(function(){i.resolve(Array.prototype.slice.call(arguments))}).fail(function(){i.reject()}),i.promise()},getResourceColor:function(t,i){var r=n.Deferred(),u;return this.getResourceDataByValue(t,i).done(function(n){n&&(u=n.color),r.resolve(u)}).fail(function(){r.reject()}),r.promise()},getResourcesByFields:function(t){return n.grep(this.getResources(),function(i){return n.inArray(i.field,t)>-1})},getResourceForPainting:function(t){var i=this.getResources(),r;return n.each(i,function(n,t){if(t.mainColor)return r=t,!1}),r||(n.isArray(t)&&t.length&&(i=this.getResourcesByFields(t)),r=i[i.length-1]),r}});t.ui.dxScheduler.dxSchedulerResourceManager=s}(jQuery,DevExpress),function(n,t){var r=t.ui;r.dxScheduler.PublisherMixin={notifyObserver:function(n,t){var i=this.option("observer");i&&i.fire(n,t)}}}(jQuery,DevExpress),function(n,t,i){var r=t.ui,f=t.utils,e="dx-scheduler-navigator",o="dx-scheduler-navigator-next",s="dx-scheduler-navigator-caption",h="dx-scheduler-navigator-previous",u=function(n,t){var r=f.getFirstWeekDate(n,t?this.option("firstDayOfWeek")||1:this.option("firstDayOfWeek")),i=new Date(r);return t=t||6,i=new Date(i.setDate(i.getDate()+t)),Globalize.format(r," d")+"-"+Globalize.format(i,"d MMMM yyyy")},c={day:{duration:1,setter:"setDate",getter:"getDate",getCaption:function(n){return Globalize.format(n,"d MMMM yyyy")}},week:{duration:7,setter:"setDate",getter:"getDate",getCaption:u},workWeek:{duration:7,setter:"setDate",getter:"getDate",getCaption:function(n){return u.call(this,n,4)}},month:{duration:1,setter:"setMonth",getter:"getMonth",getCaption:function(n){return Globalize.format(n,"MMMM yyyy")}}};t.registerComponent("dxSchedulerNavigator",r.dxScheduler,r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({date:new Date,step:"day",firstDayOfWeek:i})},_optionChanged:function(n){switch(n.name){case"step":case"date":this._renderCaption();break;case"firstDayOfWeek":this._calendar&&this._calendar.option(n.name,n.value);break;case"tabIndex":case"focusStateEnabled":this._next.option(n.name,n.value),this._caption.option(n.name,n.value),this._prev.option(n.name,n.value),this.callBase(n);break;default:this.callBase(n)}},_init:function(){this.callBase(),this.element().addClass(e),this._initButtons()},_initButtons:function(){var i=n("<div>").addClass(o),r,t;this._next=this._createComponent(i,"dxButton",{icon:"chevronnext",onClick:n.proxy(this._updateCurrentDate,this,1),focusStateEnabled:this.option("focusStateEnabled"),tabIndex:this.option("tabIndex"),_templates:{}}),r=n("<div>").addClass(s),this._caption=this._createComponent(r,"dxButton",{focusStateEnabled:this.option("focusStateEnabled"),tabIndex:this.option("tabIndex"),_templates:{}}),t=n("<div>").addClass(h),this._prev=this._createComponent(t,"dxButton",{icon:"chevronprev",onClick:n.proxy(this._updateCurrentDate,this,-1),focusStateEnabled:this.option("focusStateEnabled"),tabIndex:this.option("tabIndex"),_templates:{}}),this.setAria("label","Next period",i),this.setAria("label","Previous period",t),this.element().append(t,r,i)},_updateCurrentDate:function(n){var t=this._getConfig(),r=t.duration*n,i=new Date(this.option("date"));i[t.setter](i[t.getter]()+r),this.notifyObserver("updateCurrentDate",i)},_renderFocusTarget:n.noop,_render:function(){this.callBase(),this._renderPopover(),this._renderCaption()},_renderPopover:function(){this._popover=this._createComponent("<div>","dxPopover",{target:this._caption.element(),onContentReady:n.proxy(this._popoverContentReadyHandler,this)}),this._popover.element().appendTo(this.element())},_popoverContentReadyHandler:function(){this._calendar=this._createComponent(n("<div>"),"dxCalendar",this._calendarOptions()),this._popover.content().append(this._calendar.element())},_calendarOptions:function(){return{firstDayOfWeek:this.option("firstDayOfWeek"),value:this.option("date"),onValueChanged:n.proxy(function(n){this.notifyObserver("updateCurrentDate",n.value),this._popover.hide()},this)}},_renderCaption:function(){var t=this.option("date"),i=this._getConfig().getCaption.call(this,t);this._caption.option({text:i,onClick:n.proxy(function(){this._popover.toggle()},this)})},_getConfig:function(){var n=this.option("step"),i=c[n];if(!i)throw t.Error("E1033",n);return i}}).include(r.dxScheduler.PublisherMixin))}(jQuery,DevExpress),function(n,t,i){var r=t.ui,u="dx-scheduler-header",f="dx-scheduler-view-switcher";t.registerComponent("dxSchedulerHeader",r.dxScheduler,r.Widget.inherit({_setDefaultOptions:function(){this.callBase(),this.option({views:[],currentView:"day",firstDayOfWeek:i,currentDate:new Date})},_optionChanged:function(n){var t=n.value;switch(n.name){case"views":this._viewSwitcher.option("items",t);break;case"currentView":this._viewSwitcher.option("selectedItem",t),this._navigator.option("step",t);break;case"currentDate":this._navigator.option("date",t);break;case"firstDayOfWeek":this._navigator.option("firstDayOfWeek",t);break;case"tabIndex":case"focusStateEnabled":this._viewSwitcher.option(n.name,t),this._navigator.option(n.name,t),this.callBase(n);break;default:this.callBase(n)}},_init:function(){this.callBase(),this.element().addClass(u),this._navigator=this._createComponent("<div>","dxSchedulerNavigator",{date:this.option("currentDate"),step:this.option("currentView"),firstDayOfWeek:this.option("firstDayOfWeek"),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled"),observer:this.option("observer")}),this._navigator.element().appendTo(this.element());var i=n("<div>").addClass(f).appendTo(this.element());this._viewSwitcher=this._createComponent(i,"dxTabs",{selectionRequired:!0,scrollingEnabled:!1,onSelectionChanged:n.proxy(this._updateCurrentView,this),items:this.option("views"),itemTemplate:function(i){return n("<span>").addClass("dx-tab-text").text(Globalize.localize("dxScheduler-switcher"+t.inflector.camelize(i,!0)))},selectedItem:this.option("currentView"),tabIndex:this.option("tabIndex"),focusStateEnabled:this.option("focusStateEnabled")})},_updateCurrentView:function(n){var t=n.component.option("selectedItem");this.notifyObserver("currentViewUpdated",t)},_renderFocusTarget:n.noop}).include(r.dxScheduler.PublisherMixin))}(jQuery,DevExpress),function(n,t,i){var f=t.ui,r=t.utils,s=f.events,w="dx-scheduler-work-space",b="dx-scheduler-work-space-grouped",k="dx-scheduler-time-panel",d="dx-scheduler-time-panel-cell",g="dx-scheduler-time-panel-row",l="dx-scheduler-all-day-panel",nt="dx-scheduler-all-day-table",a="dx-scheduler-all-day-container",tt="dx-scheduler-all-day-title",h="dx-scheduler-all-day-table-cell",it="dx-scheduler-all-day-table-row",rt="dx-scheduler-header-panel",ut="dx-scheduler-header-panel-cell",ft="dx-scheduler-header-row",et="dx-scheduler-group-row",ot="dx-scheduler-group-header",st="dx-scheduler-date-table",u="dx-scheduler-date-table-cell",ht="dx-scheduler-date-table-row",ct="dx-scheduler-date-table-current-date",lt="dx-scheduler-date-table-other-month",e="dx-scheduler-date-table-droppable-cell",v=s.addNamespace("dxpointerdown","dxSchedulerWorkSpace"),y=s.addNamespace("dxdragenter","dxSchedulerDateTable"),p=s.addNamespace("dxdrop","dxSchedulerDateTable"),c="dx-state-focused",o="dxCellData";t.registerComponent("dxSchedulerWorkSpace",f.dxScheduler,f.Widget.inherit({_supportedKeys:function(){var t=this.option("rtlEnabled"),i=function(n){n.preventDefault(),n.stopPropagation(),this._$focusedCell&&this._$focusedCell.length&&this._showAddAppointmentPopup(this._$focusedCell)};return n.extend(this.callBase(),{enter:i,space:i,downArrow:function(n){n.preventDefault(),n.stopPropagation();var t=this._getFocusedCell().index(),i=this._getFocusedCell().parent(),r=i.next().children().eq(t);this._setFocusedCell(r)},upArrow:function(n){n.preventDefault(),n.stopPropagation();var t=this._getFocusedCell().index(),i=this._getFocusedCell().parent(),r=i.prev().children().eq(t);this._setFocusedCell(r)},rightArrow:function(n){n.preventDefault(),n.stopPropagation();var i=t?this._getFocusedCell().prev():this._getFocusedCell().next();this._setFocusedCell(i)},leftArrow:function(n){n.preventDefault(),n.stopPropagation();var i=t?this._getFocusedCell().next():this._getFocusedCell().prev();this._setFocusedCell(i)}})},_getFocusedCell:function(){return this._$focusedCell||this._$dateTable.find("."+u).eq(0)},_setFocusedCell:function(n){n.length&&(this._releaseFocusedCell(),n.addClass(c),r.isDefined(this._$focusedCell)&&this.setAria("label",i,this._$focusedCell),this._$focusedCell=n,this.setAria("label","Add appointment",this._$focusedCell),this._scrollable.scrollToElement(n))},_releaseFocusedCell:function(){r.isDefined(this._$focusedCell)&&this._$focusedCell.removeClass(c)},_focusTarget:function(){return this.element()},_focusInHandler:function(t){if(n(t.target).is(this._focusTarget())&&this._isCellClick!==!1){delete this._isCellClick,this.callBase.apply(this,arguments);var i=this._getFocusedCell();this._setFocusedCell(i)}},_focusOutHandler:function(){this.callBase.apply(this,arguments),this._releaseFocusedCell()},_activeStateUnit:"."+u+", ."+h,_setDefaultOptions:function(){this.callBase(),this.option({currentDate:new Date,firstDayOfWeek:i,startDayHour:0,endDayHour:24,hoursInterval:.5,activeStateEnabled:!0,hoverStateEnabled:!0,groups:[]})},_optionChanged:function(n){function i(){t._cleanView(),t._setFirstViewDate(),t._renderView()}var t=this;switch(n.name){case"firstDayOfWeek":case"currentDate":case"groups":this._toggleGroupedClass(),i();break;case"startDayHour":case"endDayHour":i();break;default:this.callBase(n)}},_init:function(){this.callBase(),this.element().addClass(w),this._$headerPanel=n("<table>").addClass(rt),this._$allDayTable=n("<table>").addClass(nt),this._$allDayPanel=n("<div>").append(n("<div>").addClass(a)).append(n("<div>").addClass(tt).text(Globalize.localize("dxScheduler-allDay"))).append(this._$allDayTable).addClass(l),this._$timePanel=n("<table>").addClass(k),this._$dateTable=n("<table>").addClass(st),this._scrollable=this._createComponent("<div>","dxScrollable",{useKeyboard:!1}),this._scrollable.content().append(this._$timePanel,this._$dateTable),this.element().append(this._$headerPanel,this._$allDayPanel,this._scrollable.element()),this.element().addClass(this._getElementClass())},_getElementClass:n.noop,_getRowCount:n.noop,_getCellCount:n.noop,_render:function(){this.callBase(),this._setFirstViewDate(),this._renderView(),this._toggleGroupedClass(),this._attachEvents()},_setFirstViewDate:function(){this._firstViewDate=r.getFirstWeekDate(this.option("currentDate"),this._firstDayOfWeek()),this.option("startDayHour")&&this._firstViewDate.setHours(this.option("startDayHour"))},_firstDayOfWeek:function(){return this.option("firstDayOfWeek")},_renderView:function(){this._renderHeaderPanel(),this._renderAllDayPanel(),this._renderTimePanel(),this._renderDateTable()},_toggleGroupedClass:function(){this.element().toggleClass(b,this.option("groups").length>0)},_attachEvents:function(){var t=this._createAction(n.proxy(this._pointerDownHandler,this));this.element().off(v).on(v,function(n){t({jQueryEvent:n})})},_pointerDownHandler:function(t){var i=n(t.jQueryEvent.target);if(!i.hasClass(u)&&!i.hasClass(h)){this._isCellClick=!1;return}this._isCellClick=!0,i.hasClass(c)?this._showAddAppointmentPopup(i):this._setFocusedCell(i)},_showAddAppointmentPopup:function(t){var i=t.data(o),r=n.extend(i,i.groups);delete i.groups,this.notifyObserver("showAddAppointmentPopup",r)},_renderHeaderPanel:function(){var t=n("<thead>");this._renderGroupHeader(t),this._renderDateHeader(t),this._$headerPanel.append(t)},_renderDateHeader:function(t){for(var f=n("<tr>").addClass(ft),o=this._getCellCount(),s=this._getGroupCount()||1,i,u,e,r=0;r<s;r++)for(i=0;i<o;i++)u=this._getHeaderText(i),e=n("<th>").text(u).addClass(ut).attr("title",u),f.append(e);t.append(f)},_renderGroupHeader:function(n){var i=this._getGroupCount(),t;i&&(t=this._makeGroupRows(this.option("groups")),this.element().attr("dx-group-row-count",t.length),n.append(t))},_makeGroupRows:function(t){for(var f=1,e=t.length,l=this._getCellCount()||1,r=[],h,c,u,o,s,i=0;i<e;i++)i>0&&(f=t[i-1].items.length*f),h=this._makeGroupRowCells(t[i].items,f),r.push(n("<tr>").addClass(et).append(h));for(c=r[e-1].find("th").length,u=0;u<e;u++)o=r[u].find("th"),s=c/o.length*l,s>1&&o.attr("colspan",s);return r},_makeGroupRowCells:function(t,i){for(var f=[],e=t.length,r,u=0;u<i;u++)for(r=0;r<e;r++)f.push(n("<th>").addClass(ot).text(t[r].text));return f},_renderAllDayPanel:function(){var t=this._getCellCount()*(this._getGroupCount()||1),n=this;this._renderTableBody({container:this._$allDayTable,rowCount:1,cellCount:t,cellClass:h,rowClass:it,dataGenerator:function(t,i,u){var h=n._getDateByCellIndexes(i,u),s,f,e;for(r.correctDateWithUnitBeginning(h,"day"),s={startDate:h,endDate:new Date(h.getTime()+864e5),allDay:!0},f=n._getCellGroups(u),f.length&&(s.groups={}),e=0;e<f.length;e++)s.groups[f[e].name]=f[e].id;t.data(o,s)}})},_renderTimePanel:function(){this._renderTableBody({container:this._$timePanel,rowCount:this._calculateDayDuration(),cellCount:1,cellClass:d,rowClass:g});var t=this.option("startDayHour");this._$timePanel.find("td").each(function(i){n(this).text(Globalize.format(new Date(+new Date(1970,0)+36e5*(t+i)),"t"))})},_calculateDayDuration:function(){return this.option("endDayHour")-this.option("startDayHour")},_renderDateTable:function(){var t=this._getCellCount()*(this._getGroupCount()||1),n=this;this._renderTableBody({container:this._$dateTable,rowCount:this._getRowCount(),cellCount:t,cellClass:u,rowClass:ht,dataGenerator:function(t,i,r){var e=n._getDateByCellIndexes(i,r),s={startDate:e,endDate:n._calculateEndDate(e),allDay:n._getTableAllDay()},u,f;for(t.toggleClass(ct,n._isCurrentDateCell(e)).toggleClass(lt,n._isOtherMonth(e)),u=n._getCellGroups(r),u.length&&(s.groups={}),f=0;f<u.length;f++)s.groups[u[f].name]=u[f].id;t.data(o,s)}}),this._attachTableEvents()},_getTableAllDay:function(){return!1},_isCurrentDateCell:function(n){var t=new Date;return r.sameMonthAndYear(n,t)&&n.getDate()===t.getDate()},_isOtherMonth:function(n){return n.getMonth()!==this.option("currentDate").getMonth()},_calculateEndDate:function(n){return new Date(n.getTime()+this._getInterval())},_getGroupCount:function(){for(var t=this.option("groups"),i=0,n=0,r=t.length;n<r;n++)n?i*=t[n].items.length:i=t[n].items.length;return i},_getPathToLeaf:function(n){function t(n,i){for(var u,r=0;r<n.length;r++){if(n[r].leafIndex===i)return n[r];if(u=t(n[r].children,i),u)return u}}function i(n,t){return t=t||[],t.push(n.value),n.parent&&i(n.parent,t),t}var r=this._createGroupTree(this.option("groups")[0],0),u=t(r,n);return i(u).reverse()},_getCellGroups:function(n){var u=[],i,r,f,t;if(this._getGroupCount()){if(i=Math.floor(n/this._getCellCount()),r=this.option("groups"),i<0)return;for(f=this._getPathToLeaf(i),t=0;t<r.length;t++)u.push({name:r[t].name,id:f[t]})}return u},_attachTableEvents:function(){var t,i,r;this._getDateTables().off(y).off(p).on(y,"td",{itemSizeFunc:function(n){return i||(i=n.height()),r||(r=n.width()),{width:r,height:i}}},function(i){t&&t.removeClass(e),t=n(i.target),t.addClass(e)}).on(p,"td",function(t){n(t.target).removeClass(e),i=0,r=0})},_getDateTables:function(){return this._$dateTable.add(this._$allDayTable)},_getInterval:function(){return this.option("hoursInterval")*36e5},_getHeaderText:function(n){return Globalize.format(this._getDateByIndex(n),this._getFormat()).toUpperCase()},_getDateByIndex:t.abstract,_getFormat:t.abstract,_getCellText:function(){return""},_calculateCellIndex:function(n,t){t=t%this._getCellCount();var i=this._getVirtualRowCount();return(this._getRowCount()+i)*t+n},_getVirtualRowCount:function(){return this.option("startDayHour")/this.option("hoursInterval")+this._getEndDayHours()/this.option("hoursInterval")},_getEndDayHours:function(){return 24-this.option("endDayHour")},_getEndDayMilliseconds:function(){return this._getEndDayHours()*36e5},_renderTableBody:function(t){for(var e=[],u,r,f,i=0;i<t.rowCount;i++){for(u=n("<tr>"),t.rowClass&&u.addClass(t.rowClass),r=0;r<t.cellCount;r++)f=n("<td>").text(this._getCellText(i,r)),t.cellClass&&f.addClass(t.cellClass),n.isFunction(t.dataGenerator)&&t.dataGenerator(f,i,r),u.append(f);e.push(u)}t.container.append(n("<tbody>").append(e))},_cleanView:function(){this._$headerPanel.empty(),this._$dateTable.empty(),this._$timePanel.empty(),this._$allDayTable.empty()},getWorkArea:function(){return this._scrollable.content()},_getCellCoordinatesByIndex:function(n){var t=Math.floor(n/this._getRowCount()),i=n-this._getRowCount()*t;return{cellIndex:t,rowIndex:i}},_createGroupTree:function(n,t){function r(n,t,u,f){var o,e,s;for(u=u||[],o=0;o<n.items.length;o++)e={name:n.name,value:n.items[o].id,children:[],parent:f?f:null},u.push(e),s=t+1,this.option("groups")[s]&&r.call(this,this.option("groups")[s],s,e.children,e),e.children.length||(e.leafIndex=i,i++);return u}var i=0;return r.call(this,n,t)},_hasGroupItem:function(t,i,r){var u=t[i];return u&&n.inArray(r,u)>-1?!0:!1},_grep:function(n,t,i){i=i||[];for(var u=0;u<n.length;u++)this._hasGroupItem(t,n[u].name,n[u].value)&&(r.isDefined(n[u].leafIndex)&&i.push(n[u].leafIndex),n[u].children&&this._grep(n[u].children,t,i));return i},_getDateByCellIndexes:function(n,t){var i=this._getInterval()*this._calculateCellIndex(n,t);return new Date(this._firstViewDate.getTime()+i)},_getCellTimeOffset:function(n){var t=this._getInterval(),i=n%t;return i?i/t:0},_calculateTimeDurationBetweenFirstViewDateAndCurrentDate:function(n,t){var r=this._firstViewDate.getTime(),i,u;return t&&(r=r-this.option("startDayHour")*36e5),i=n.getTime()-r,u=Math.floor(i/864e5),t||(i=i-u*this.option("startDayHour")*36e5-u*this._getEndDayMilliseconds()),i},_getGroupIndexes:function(n){var t=[],i;return n&&this.option("groups").length&&(i=this._createGroupTree(this.option("groups")[0],0),t=this._grep(i,n)),t},_updateIndex:function(n){return n*this._getRowCount()},getCoordinatesByDate:function(n,t,i){var s=this.option("rtlEnabled"),h=this._getCellCount()*this._getRowCount(),c=i?864e5:this._getInterval(),e=this._calculateTimeDurationBetweenFirstViewDateAndCurrentDate(n,i),r;if(t=t||0,r=Math.floor(e/c),i&&(r=this._updateIndex(r)),Math.ceil(r/this._getRowCount())*this.option("startDayHour")*2,r<0||r>=h)return{top:-1e3,left:-1e3};var o=this._getCellCoordinatesByIndex(r),u=this._$dateTable.find("tr").eq(o.rowIndex).find("td").eq(o.cellIndex+t*this._getCellCount()),f=u.position();return f.top+=u.height()*this._getCellTimeOffset(e),s&&(f.left+=u.outerWidth()),f},getCoordinatesByDateInGroup:function(n,t,i){var u=this._getGroupIndexes(t),f=[],r;if(u.length)for(r=0;r<u.length;r++)f.push(this.getCoordinatesByDate(n,u[r],i));else f.push(this.getCoordinatesByDate(n,0,i));return f},getDataByDroppableCell:function(){var n=this._getDateTables().find("."+e).data(o);return{date:n.startDate,allDay:n.allDay,groups:n.groups}},_getLastViewDate:function(){var n=this._getDateByCellIndexes(this._getRowCount()-1,this._getCellCount()-1);return new Date(n.getTime()+this._getInterval()-6e4)},getDateRange:function(){return[this._firstViewDate,this._getLastViewDate()]},getCellWidth:function(){return this.element().find("."+u).first().outerWidth()},getCellHeight:function(){return this.element().find("."+u).first().outerHeight()},getAllDayHeight:function(){return this.element().find("."+l+" td").first().outerHeight()},getMaxAllowedPosition:function(){var t=[],i=this.option("rtlEnabled");return this._$dateTable.find("tr").first().find("td:nth-child("+this._getCellCount()+"n)").each(function(r,u){var f=n(u).position().left;i||(f+=n(u).outerWidth()),t.push(f)}),t},getAllDayContainerClass:function(){return a}}).include(f.dxScheduler.PublisherMixin))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-scheduler-work-space-day";t.registerComponent("dxSchedulerWorkSpaceDay",r.dxScheduler,r.dxScheduler.dxSchedulerWorkSpace.inherit({_getElementClass:function(){return u},_getRowCount:function(){var n=this._calculateDayDuration();return n/this.option("hoursInterval")},_getCellCount:function(){return 1},_setFirstViewDate:function(){this._firstViewDate=this.option("currentDate"),this.option("startDayHour")&&this._firstViewDate.setHours(this.option("startDayHour"))},_getDateByIndex:function(){return this._firstViewDate},_getFormat:function(){return"D"},_renderDateHeader:n.noop}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u="dx-scheduler-work-space-week";t.registerComponent("dxSchedulerWorkSpaceWeek",r.dxScheduler,r.dxScheduler.dxSchedulerWorkSpace.inherit({_getElementClass:function(){return u},_getRowCount:function(){var n=this._calculateDayDuration();return n/this.option("hoursInterval")},_getCellCount:function(){return 7},_getDateByIndex:function(n){var t=new Date(this._firstViewDate);return t.setDate(this._firstViewDate.getDate()+n),t},_getFormat:function(){return"ddd d"}}))}(jQuery,DevExpress),function(n,t){var u=t.ui,f="dx-scheduler-work-space-work-week",r=0;t.registerComponent("dxSchedulerWorkSpaceWorkWeek",u.dxScheduler,u.dxScheduler.dxSchedulerWorkSpaceWeek.inherit({_getElementClass:function(){return f},_getCellCount:function(){return 5},_firstDayOfWeek:function(){return this.option("firstDayOfWeek")||1},_getDateByIndex:function(n){var t=new Date(this._firstViewDate),i;return t.setDate(this._firstViewDate.getDate()+n+r),i=t.getDay(),i%6==0&&(r=Math.floor(i/6+1),t.setDate(t.getDate()+r)),t},_renderHeaderPanel:function(){r=0,this.callBase()}}))}(jQuery,DevExpress),function(n,t){var r=t.ui,u=t.utils,e="dx-scheduler-work-space-month",f=7,o=864e5;t.registerComponent("dxSchedulerWorkSpaceMonth",r.dxScheduler,r.dxScheduler.dxSchedulerWorkSpace.inherit({_getElementClass:function(){return e},_getRowCount:function(){return 6},_getCellCount:function(){return f},_getDateByIndex:function(n){var t=new Date(this._firstViewDate);return t.setDate(this._firstViewDate.getDate()+n),t},_getFormat:function(){return"ddd"},_calculateCellIndex:function(n,t){return t=t%this._getCellCount(),n*this._getCellCount()+t},_getInterval:function(){return o},_calculateEndDate:function(n){var t=new Date(n);return new Date(t.setHours(this.option("endDayHour")))},_calculateTimeDurationBetweenFirstViewDateAndCurrentDate:function(n){return n.getTime()-(this._firstViewDate.getTime()-this.option("startDayHour")*36e5)},_getCellCoordinatesByIndex:function(n){var t=Math.floor(n/this._getCellCount()),i=n-this._getCellCount()*t;return{rowIndex:t,cellIndex:i}},_renderTimePanel:n.noop,_renderAllDayPanel:n.noop,_getTableAllDay:n.noop,_getCellTimeOffset:function(){return 0},_setFirstViewDate:function(){var n=t.utils.getFirstMonthDate(this.option("currentDate"));this._firstViewDate=u.getFirstWeekDate(n,this.option("firstDayOfWeek")),this.option("startDayHour")&&this._firstViewDate.setHours(this.option("startDayHour"))},_getDate:function(n,t){var i=new Date(this._firstViewDate);return i.setDate(i.getDate()+n*f+t),i},_getCellText:function(n,t){t=t%this._getCellCount();var i=this._getDate(n,t);return Globalize.format(i,"dd")},_updateIndex:function(n){return n},getCoordinatesByDates:function(n,t){for(var r=[],i=new Date(n);i<=t;)r.push(this.getCoordinatesByDate(i)),i.setDate(i.getDate()+7),i=u.getFirstWeekDate(i,this.option("firstDayOfWeek"));return r}}))}(jQuery,DevExpress),function(n,t,i){var u=t.ui,s=t.translator,e=u.events,p="dx-scheduler-appointments",w="dx-scheduler-appointment",b="dx-scheduler-appointment-recurrence",h="dx-scheduler-appointment-empty",k="dx-scheduler-appointment-reduced",d="dx-appointment-reduced-icon",f=15,o=3,c=.6,r=20,g=10,nt=45,l=e.addNamespace("dxpointerenter","dxSchedulerAppointment"),a=e.addNamespace("dxpointerleave","dxSchedulerAppointment"),v=e.addNamespace("dxdblclick","dxSchedulerAppointment"),y=t.Class.inherit({ctor:function(n){this.instance=n,this.isRtl=n.option("rtlEnabled")},resizableConfig:t.abstract,handleResize:t.abstract,renderAppointmentGeometry:function(n,t){var i=this.getAppointmentGeometry(t);s.move(n,{top:i.top,left:i.left}),n.css({width:i.width,height:i.height}),this._geometry=i},getAppointmentGeometry:function(){return{height:0,width:0,top:0,left:0}},createTaskPositionMap:function(n){var r=n.length,t,i,u,f;if(r){for(t=[],i=0;i<r;i++)t.push(this._getItemPosition(n[i]));return u=this._getSortedPositions(t),f=this._getResultPositions(u),this._getExtendedPositionMap(t,f)}},_getItemPosition:function(t){for(var s=this.calculateAppointmentHeight(t),u=this.calculateAppointmentWidth(t),r=this.instance._getAppointmentCoordinates(t),e=this.isAllDay(t),o=!1,f,i=0;i<r.length;i++)e&&(r[i].top=0),(this._needVerifyItemSize()||e)&&this.instance._maxAllowedPosition&&(f=this._getCurrentMaxAllowedPosition(i,t),this.isAppointmentGreaterThan(f,{left:r[i].left,width:u})&&(o=!0,u=this.isRtl?Math.floor(r[i].left-f):f-Math.floor(r[i].left))),n.extend(r[i],{height:s,width:u,allDay:e,appointmentReduced:o});return r},_needVerifyItemSize:function(){return!1},_getCurrentMaxAllowedPosition:function(n,t){return this.instance.notifyObserver("getItemGroupIndexes",{item:t,callback:function(t){t.length&&(n=t[n])}}),Math.floor(this.instance._maxAllowedPosition[n])},calculateAppointmentHeight:function(){return 0},calculateAppointmentWidth:function(){return 0},isAppointmentGreaterThan:function(n,t){return this.isRtl?t.left-t.width<n:t.left+t.width>n},isAllDay:function(){return!1},_getSortedPositions:function(t){for(var f=[],u,o,i,r=0,e=t.length;r<e;r++)for(u=0,o=t[r].length;u<o;u++)i=t[r][u],f.push({i:r,j:u,top:i.top,left:i.left,isStart:!0,allDay:i.allDay},{i:r,j:u,top:i.top+i.height,left:i.left+i.width,isStart:!1,allDay:i.allDay});return f.sort(n.proxy(this._sortCondition,this)),f},_sortCondition:t.abstract,_rowCondition:function(n,t){var i=n.left-t.left,r=n.top-t.top;return i?i:r?r:n.isStart-t.isStart},_columnCondition:function(n,t){var i=n.left-t.left,r=n.top-t.top;return r?r:i?i:n.isStart-t.isStart},_getResultPositions:function(n){for(var u=[],r=[],c=[],e,f,t,s,h,o=0;o<n.length;o++)if(f=n[o],f.isStart){for(e=i,t=0;t<r.length;t++)if(!r[t]){e=t,r[t]=!0;break}if(e===i)for(e=r.length,r.push(!0),t=0;t<u.length;t++)u[t].count++;u.push({index:e,count:r.length,i:f.i,j:f.j})}else s=this._findIndexByKey(u,"i","j",f.i,f.j),h=u[s],u.splice(s,1),r[h.index]=!1,u.length||(r=[]),c.push(h);return c.sort(function(n,t){var r=n.j-t.j,i=n.i-t.i;return i?i:r})},_findIndexByKey:function(n,t,i,r,u){for(var e=0,f=0,o=n.length;f<o;f++)if(n[f][t]===r&&n[f][i]===u){e=f;break}return e},_getExtendedPositionMap:function(n,t){for(var u=0,r,e,i=0,f=n.length;i<f;i++)for(r=0,e=n[i].length;r<e;r++)n[i][r].index=t[u].index,n[i][r].count=t[u++].count;return n},_startDate:function(n){var i=this.instance._getStartDate(n);if(isNaN(i.getTime()))throw t.Error("E1032",n.text);return i},_endDate:function(n){var t=this.instance._getEndDate(n);return t||(t=new Date(this._startDate(n).getTime()+this.instance.option("appointmentDurationInMinutes")*6e4)),n.endDate=t,t}}),tt=y.inherit({resizableConfig:function(n){return this.isAllDay(n)?{minWidth:this.instance._defaultWidth,step:this.instance._defaultWidth,handles:"right left"}:{minHeight:this.instance._defaultHeight,step:this.instance._defaultHeight,handles:"top bottom"}},handleResize:function(t,i,u,f,e){var s,o,h,c;this.isAllDay(f)?(h=this.instance._defaultWidth||r,s="dx-resizable-handle-left",o=864e5*((t.width-e.width)/h)||1):(s="dx-resizable-handle-top",c=t.height-e.height,o=6e4*c/this.instance._defaultHeight*this.instance.option("appointmentDurationInMinutes"));var l=n(t.jQueryEvent.target).hasClass(s),a=l?i.getTime()-o:i.getTime(),v=l?u.getTime():u.getTime()+o;return[a,v]},renderAppointmentGeometry:function(n,t){this.callBase(n,t),this._geometry.width<nt&&n.addClass(h)},getAppointmentGeometry:function(n){return n.allDay?this._getAllDayAppointmentGeometry(n):this._getSimpleAppointmentGeometry(n)},_getMinuteHeight:function(){return this.instance._defaultHeight/this.instance.option("appointmentDurationInMinutes")},_getAllDayAppointmentGeometry:function(n){var h=this.instance._allDayHeight||r,i=n.index,u=n.count,t=h/(u>3?3:u),e=n.width,o=n.top+i*t,s=n.left;return u>3&&(i>1?(o=n.top,s=n.left+(i-2)*f,t=f,e=f,n.skipResizing=!0):o+=t),this.isRtl&&(s-=e),{height:t,width:e,top:o,left:s}},_getSimpleAppointmentGeometry:function(n){var t=this.instance._defaultWidth-g||r,i=t/n.count,f=n.height,e=n.top,u=n.left+n.index*i;return this.isRtl&&(u-=t),{height:f,width:i,top:e,left:u}},isAllDay:function(n){var i=this._startDate(n),r=this._endDate(n),t=!1;return this.instance.notifyObserver("appointmentTakesAllDay",{startDate:i,endDate:r,callback:function(n){t=n}}),n.allDay||t},calculateAppointmentWidth:function(n){if(!this.isAllDay(n))return 0;var t=this._startDate(n),i=this._endDate(n),u=this.instance._defaultWidth||r,f=(i.getTime()-t.getTime())/36e5;return Math.ceil(f/24)*u},calculateAppointmentHeight:function(n){if(this.isAllDay(n))return 0;var u=this._startDate(n),f=this._endDate(n),e=(f.getTime()-u.getTime())/6e4,i=r,t=Math.round(e*this._getMinuteHeight());return t<i&&(t=i),t},_sortCondition:function(n,t){var i=n.allDay-t.allDay;return i?i:this._rowCondition(n,t)}}),it=y.inherit({resizableConfig:function(){return{minWidth:this.instance._defaultWidth,minHeight:0,step:this.instance._defaultWidth,handles:"right left"}},_needVerifyItemSize:function(){return!0},handleResize:function(t,i,u,f,e){var o=n(t.jQueryEvent.target).hasClass("dx-resizable-handle-left")&&!this.isRtl||n(t.jQueryEvent.target).hasClass("dx-resizable-handle-right")&&this.isRtl,s=this.instance._defaultWidth||r,c=e.width,h=864e5*(Math.round(t.width/s)-Math.round(c/s)||1),l=o?i.getTime()-h:i.getTime(),a=o?u.getTime():u.getTime()+h;return[l,a]},calculateAppointmentWidth:function(n){var t=this._startDate(n),i=this._endDate(n),u=this.instance._defaultWidth||r,f=(i.getTime()-t.getTime())/36e5;return Math.ceil(f/24)*u},renderAppointmentGeometry:function(n,t){this.callBase(n,t),t.index>1&&n.addClass(h)},getAppointmentGeometry:function(n){var s=this.instance._defaultHeight||r,t=n.index,i=c*s/2,u=n.width,h=(1-c)*s+n.top+t*i,e=n.left;return t>1&&(h=n.top+o,e=n.left+(t-2)*(f+o)+o,i=f,u=f,n.skipResizing=!0),this.isRtl&&(e-=u),{height:i,width:u,top:h,left:e}},_sortCondition:function(n,t){return this._columnCondition(n,t)}});t.registerComponent("dxSchedulerAppointments",u.dxScheduler,u.CollectionWidget.inherit({_supportedKeys:function(){var r=this,u=function(i){var u=r._getItemData(i.target);u.initialCoordinates&&t.translator.move(n(i.target),u.initialCoordinates),u.initialSize&&(n(i.target).outerWidth(u.initialSize.width),n(i.target).outerHeight(u.initialSize.height)),u._escPressed=!0};return n.extend(this.callBase(),{escape:n.proxy(u,this)})},_moveFocus:n.noop,_focusTarget:function(){return this._itemElements()},_focusInHandler:function(t){this.callBase.apply(this,arguments),this.option("focusedElement",n(t.target))},_setDefaultOptions:function(){this.callBase(),this.option({noDataText:null,activeStateEnabled:!0,hoverStateEnabled:!0,tabIndex:0,appointmentDurationInMinutes:30,allDayContainer:null,renderingStrategy:"day",allowDrag:!0,allowResize:!0})},_optionChanged:function(n){switch(n.name){case"appointmentDurationInMinutes":break;case"renderingStrategy":this._initRenderingStrategy(),this.repaint();break;case"allDayContainer":break;case"allowDrag":case"allowResize":this.repaint();break;default:this.callBase(n)}},_itemClass:function(){return w},_itemContainer:function(){var n=this.callBase(),t=n,i=this.option("allDayContainer");return i&&(t=n.add(i)),t},_cleanItemContainer:function(){this.callBase();var n=this.option("allDayContainer");n&&n.empty()},_init:function(){this.callBase(),this._initRenderingStrategy(),this.element().addClass(p),this._appointmentClickTimeout,this._preventSingleAppointmentClick=!1},_initRenderingStrategy:function(){this._renderingStrategy=this.option("renderingStrategy")==="month"?new it(this):new tt(this)},_executeItemRenderAction:function(n,t,i){var r=this._getItemRenderAction();r&&r({appointmentElement:i,appointmentIndex:n,appointment:t})},_createItemRenderAction:function(){return this.notifyObserver("initAppointmentRenderedAction",{callback:n.proxy(function(n){this._itemRenderAction=n},this)}),this._itemRenderAction},_getStartDate:function(n){var i=n.startDate;return t.utils.makeDate(i)},_getEndDate:function(n){var i=n.endDate;return i?t.utils.makeDate(i):i},_itemClickHandler:function(t){var i=t.currentTarget,r=this._getItemData(i);this._normalizeAppointmentDates(r),this._appointmentClickTimeout=setTimeout(n.proxy(function(){this._preventSingleAppointmentClick||this.notifyObserver("showAppointmentTooltip",{data:r,target:i}),this._preventSingleAppointmentClick=!1},this),300),this.callBase(t)},_normalizeAppointmentDates:function(n){var i=t.utils.makeDate(n.startDate),r=t.utils.makeDate(n.endDate);n.startDate=i,n.endDate=r},_renderItems:function(t){this._isContainerInvisible()||(this.notifyObserver("getCellDimensions",{callback:n.proxy(function(n,t,i){this._defaultWidth=n,this._defaultHeight=t,this._allDayHeight=i},this)}),this.notifyObserver("getMaxAllowedPosition",{callback:n.proxy(function(n){n&&(this._maxAllowedPosition=n)},this)}),this._positionMap=this._renderingStrategy.createTaskPositionMap(t),this.callBase(t))},_renderItem:function(n,t){var i=this.option("allDayContainer"),r=this.itemsContainer().not(i);this._renderingStrategy.isAllDay(t)&&i&&(r=i),this.callBase(n,t,r)},_postprocessRenderItem:function(n){var t=n.itemElement,r=n.itemData,i=this._positionMap[n.itemIndex];this._attachAppointmentDblclick(t,r),this._paintAppointment(t,0),r.recurrenceRule&&t.addClass(b),this._applyResourceDataAttr(t),this._renderAppointmentClones(t,i),this._renderingStrategy.renderAppointmentGeometry(t,i[0]),this._renderDraggable(t),i[0].skipResizing||this._renderResizable(t),i[0].appointmentReduced&&this._renderAppointmentReducedIcon(t)},_isContainerInvisible:function(){var n=!1;return this.notifyObserver("checkContainerVisibility",{callback:function(t){n=t}}),n},_attachAppointmentDblclick:function(t,i){t.off(v).on(v,n.proxy(function(){clearTimeout(this._appointmentClickTimeout),this._preventSingleAppointmentClick=!0,this.notifyObserver("showEditAppointmentPopup",i)},this))},_getAppointmentCoordinates:function(n){var i=this._getStartDate(n),t=[{top:0,left:0}];return this.notifyObserver("needCoordinates",{startDate:i,appointmentData:n,callback:function(n){t=n}}),t},_applyResourceDataAttr:function(t){this.notifyObserver("getResourcesFromItem",{itemData:this._getItemData(t),callback:function(i){i&&n.each(i,function(n,i){for(var u="data-"+n.toLowerCase()+"-",r=0;r<i.length;r++)t.attr(u+i[r],!0)})}})},_renderDraggable:function(n){if(this.option("allowDrag")){var i=this,r=i._getItemData(n);this._createComponent(n,"dxDraggable",{onDragStart:function(u){i.notifyObserver("hideAppointmentTooltip"),u.jQueryEvent.targetElements=n.closest(".dx-scheduler"),r.initialSize={width:u.width,height:u.height},r.initialCoordinates=t.translator.locate(u.element)},onDragEnd:function(t){var u=i._getItemData(n);if(u._escPressed){delete u._escPressed,t.jQueryEvent.cancel=!0;return}i._dragEndHandler(t,r.initialCoordinates)},area:this.element().closest(".dx-scrollable-content")})}},_renderResizable:function(i){if(this.option("allowResize")){var r=this._getItemData(i),u=this._renderingStrategy.resizableConfig(r);n.extend(u,{area:this.element().closest(".dx-scrollable-content"),onResizeStart:n.proxy(function(n){r.initialSize={width:n.width,height:n.height},r.initialCoordinates=t.translator.locate(n.element)},this),onResizeEnd:n.proxy(function(n){if(r._escPressed){delete r._escPressed,n.jQueryEvent.cancel=!0;return}this._resizeEndHandler(n,r.initialSize,r.initialCoordinates)},this)}),this._createComponent(i,"dxResizable",u)}},_paintAppointment:function(n,t){this.notifyObserver("getAppointmentColor",{itemData:this._getItemData(n),resourceIndex:t,callback:function(t){t.done(function(t){t&&n.css("background-color",t)})}})},_renderAppointmentReducedIcon:function(t){t.toggleClass(k,!0);var i=n("<div>").addClass(d).appendTo(t),r=this._getEndDate(this._getItemData(t));i.off(l).on(l,function(){u.tooltip.show({target:i,content:Globalize.localize("dxScheduler-editorLabelEndDate")+": "+Globalize.format(r,"d MMMM yyyy")})}).off(a).on(a,function(){u.tooltip.hide()})},_renderAppointmentClones:function(n,i){var f=i.length,u,r,h;if(f>1){var e=[],c=this._getItemData(n),o=this._getResourceForPainting();for(u=f-1;u>0;u--)r=n.clone(!0),n.after(r),s.clearCache(r),this._renderingStrategy.renderAppointmentGeometry(r,i[u]),this._renderDraggable(r),i[u].skipResizing||this._renderResizable(r),i[u].appointmentReduced&&this._renderAppointmentReducedIcon(r),e.push(r);o&&(h=t.utils.wrapToArray(c[o]),this._loop(h,f-1,function(n,t){this._paintAppointment(e[t],n)},1))}},_getResourceForPainting:function(){var n;return this.notifyObserver("getResourceForPainting",{callback:function(t){t&&(n=t.field)}}),n},_loop:function(n,t,i,r){var e,u,f;for(r=r||0,e=n.length,u=0;u<t;u++)f=r+u,f>=e&&(f=f%e),i.call(this,f,u)},_resizeEndHandler:function(t,i,r){var u=this._getItemData(t.element),s=this._getStartDate(u),h=this._getEndDate(u),e=this._renderingStrategy.handleResize(t,s,h,u,i),f={},o;f.startDate=new Date(e[0]),f.endDate=new Date(e[1]),o=n.extend({},u,f),this.notifyObserver("updateAppointmentAfterResize",{target:u,data:o,$appointment:t.element,initialSize:i,initialCoordinates:r})},_dragEndHandler:function(n,t){var i=this._getItemData(n.element);this._normalizeAppointmentDates(i),this.notifyObserver("updateAppointmentAfterDrag",{data:i,$appointment:n.element,initialCoordinates:t})}}).include(u.dxScheduler.PublisherMixin))}(jQuery,DevExpress),function(n,t){var i=n.utils;n.registerComponent("dxClientExporter",n,n.Component.inherit({NAME:"dxClientExporter",_getDocumentCreator:function(i,r){if(r.format==="EXCEL")return new n.dxClientExporter.ExcelCreator(i.getDataProvider(),t.extend({rtlEnabled:i.option("rtlEnabled")},r))},exportTo:function(t){var h=this,r,f=this.option("exportingAction"),e=this.option("exportedAction"),o,u,s=t.component;s&&(r={fileName:t.fileName,format:t.format,cancel:!1},i.isDefined(f)&&f(r),r.cancel||(u=h._getDocumentCreator(s,t),u.ready().done(function(){o=u.getData(i.isFunction(window.Blob)),i.isDefined(e)&&e(),n.dxClientExporter.fileSaver.saveAs(r.fileName,t.format,o,t.proxyUrl)})))}}))}(DevExpress,jQuery),function(n,t){var i=t.utils,p=t.Class,f=t.dxClientExporter,u='<?xml version="1.0" encoding="utf-8"?>',w='<sheetPr><outlinePr summaryBelow="0"/><\/sheetPr>',b="<sheetPr/>",k='<fonts count="2"><font><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/><\/font><font><b/><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/><\/font><\/fonts><fills count="1"><fill><patternFill patternType="none"/><\/fill><\/fills><borders count="1"><border><left style="thin"><color rgb="FFD3D3D3"/><\/left><right style="thin"><color rgb="FFD3D3D3"/><\/right><top style="thin"><color rgb="FFD3D3D3"/><\/top><bottom style="thin"><color rgb="FFD3D3D3"/><\/bottom><\/border><\/borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/><\/cellStyleXfs>',r="http://schemas.openxmlformats.org",s="rels",o="xl",h="workbook.xml",d="[Content_Types].xml",c="sharedStrings.xml",l="styles.xml",g="worksheets",a="sheet1.xml",nt=["quarter","quarterAndYear","millisecond"],tt="shortDate",v={thousands:"#,##0{0},&quot;K&quot;",millions:"#,##0{0},,&quot;M&quot;",billions:"#,##0{0},,,&quot;B&quot;",trillions:"#,##0{0},,,,&quot;T&quot;",percent:"0{0}%",decimal:"#{0}",fixedPoint:"#,##0{0}",exponential:"0{0}E+00",currency:" "},it=+new Date("12/30/1899"),rt=60,e=4,ut=7,y=165;f.excelFormatConverter={_applyPrecision:function(n,t){var i,r;if(t>0){for(i=n!=="decimal"?".":"",r=0;r<t;r++)i+="0";return i}return""},_getCurrencyFormat:function(){var r=Globalize.cultures[Globalize.cultureSelector].numberFormat.currency,t,n,u,f;if(i.isArray(r.pattern)){f={n:"#,##0{0}","'":"\\'","\\(":"\\(","\\)":"\\)"," ":"\\ ",'"':"&quot;","\\$":r.symbol},n=r.pattern.slice();for(u in f)for(t=0;t<n.length;t++)n[t]=n[t].replace(new RegExp(u,"g"),f[u]);return n.length===2?n[1]+"_);"+n[0]:n[0]}},_convertDateFormat:function(r){t.DateTimeFormat[r.toLowerCase()]&&n.inArray(r,nt)===-1||(r=tt);var f=Globalize.cultures[Globalize.cultureSelector].calendar.patterns,u=t.DateTimeFormat[r.toLowerCase()];return i.isDefined(f[u])&&(u=f[u]),u.replace(/\//g,"\\/").replace(/ /g,"\\ ").replace(/,/g,"\\,").replace(/:/g,"\\:").replace(/tt/g,"AM/PM").replace(/N/g,"#\\,###")},_convertNumberFormat:function(n,t){var r,u=n==="currency"?this._getCurrencyFormat():v[n];return u&&(r=i.stringFormat(u,this._applyPrecision(n,t))),r},convertFormat:function(n,t,r){if(i.isDefined(n)){if(r==="date")return f.excelFormatConverter._convertDateFormat(n);if(v[n])return f.excelFormatConverter._convertNumberFormat(n,t)}}},f.ExcelCreator=p.inherit({_getXMLTag:function(n,t,r){var u=["<"],f;u.push(n);for(f in t)u.push(" "),u.push(f),u.push('="'),u.push(t[f]),u.push('"');return i.isDefined(r)?(u.push(">"),u.push(r),u.push("<\/"),u.push(n),u.push(">")):u.push(" />"),u.join("")},_getDataProviderRowIndex:function(n){return n-!!this._dataProvider.isHeadersVisible()},_getExcelRowIndex:function(n){return n+!!this._dataProvider.isHeadersVisible()},_getCellIndex:function(n,t){var i="",r=26,u;this._maxIndex[0]<Number(n)&&(this._maxIndex[0]=Number(n)),this._maxIndex[1]<Number(t)&&(this._maxIndex[1]=Number(t));do u=65+(t>r?t%r:Math.ceil(t)),i=String.fromCharCode(u)+i,t=Math.floor(t/r);while(t);return i+=n},_getDataType:function(n){var t={boolean:"b",date:"d",number:"n",string:"s"};return i.isDefined(t[n])?t[n]:"s"},_appendFormat:function(t,i,r){return t=f.excelFormatConverter.convertFormat(t,i,r),t?(n.inArray(t,this._styleFormat)===-1&&this._styleFormat.push(t),n.inArray(t,this._styleFormat)+1):void 0},_appendString:function(t){if(i.isDefined(t)&&t.length)return n.inArray(t,this._stringArray)===-1&&(t.indexOf("&")>0&&(t=t.replace(new RegExp("&","g"),"&amp;")),this._stringArray.push(t)),n.inArray(t,this._stringArray)},_getExcelDateValue:function(n){var t,r;if(i.isDefined(n))return t=Math.floor((n.getTime()-it)/864e5),t<rt&&t--,r=(n.getHours()*3600+n.getMinutes()*60+n.getSeconds())/86400,t+r},_prepareValue:function(n,i){var r=this._dataProvider.getCellValue(n,i),u=this._getDataType(this._dataProvider.getCellType(n,i)),f=this._styleArray[i+e].formatID,o=t.utils.isNumber(f)?this._styleFormat[f-1]:null;switch(u){case"s":r=this._appendString(r);break;case"d":r=this._getExcelDateValue(r,o),u="n"}return{value:r,type:u}},_getHeadersArray:function(){for(var t=this._dataProvider.getColumns(),i=[],r=this._rtlEnabled?t.length-1:0,u=this._rtlEnabled?-1:t.length,f=this._rtlEnabled?-1:1,n=r;n!==u;n+=f)i.push({style:0,type:"s",value:this._appendString(t[n].caption)});return i},_getDataArray:function(){for(var t,f,r,h=[],o,u,s=this._dataProvider.getColumns(),c=this._rtlEnabled?s.length-1:0,l=this._rtlEnabled?-1:s.length,n=0;n<this._dataProvider.getRowsCount();n++){for(f=[],t=c;t!==l;t+=this._rtlEnabled?-1:1)r=this._prepareValue(n,t),o=r.type,!this._dataProvider.isGroupRow(n)&&i.isDefined(this._styleArray[t+e].formatID)&&r.type!=="s"&&(o="n"),u=t+e,this._dataProvider.isGroupRow(n)&&(u=e-1),this._dataProvider.isTotalRow(n)&&(u=this._getBoldStyleID(s[t].alignment)),f.push({style:u,value:r.value,type:o});n&&!this._needSheetPr&&this._dataProvider.getGroupLevel(this._getDataProviderRowIndex(n))>0&&(this._needSheetPr=!0),h.push(f)}return h},_getBoldStyleID:function(n){for(var t=0;t<e-1;t++)if(this._styleArray[t].alignment===n)return t},_culculateWidth:function(n){return Math.min(255,Math.floor((n-5)/ut*100+.5)/100)},_prepareStyleData:function(){for(var t,r=Number(!!this._options.wrapTextEnabled),u=["center","left","right"],f=this._dataProvider.getColumns(),n=0;n<u.length;n++)this._styleArray.push({bold:!0,alignment:u[n],wrapText:r});for(this._styleArray.push({bold:!0,alignment:this._rtlEnabled?"right":"left",wrapText:0}),n=0;n<f.length;n++)t=f[n],this._styleArray.push({alignment:i.isDefined(t.alignment)?t.alignment:"left",formatID:this._appendFormat(t.format,t.precision,t.dataType),wrapText:r}),this._colsArray.push(this._culculateWidth(t.width))},_prepareCellData:function(){this._dataProvider.isHeadersVisible()&&this._cellsArray.push(this._getHeadersArray()),this._cellsArray=this._cellsArray.concat(this._getDataArray())},_createXMLRelationships:function(n){return this._getXMLTag("Relationships",{xmlns:r+"/package/2006/relationships"},n)},_createXMLRelationship:function(n,t,i){return this._getXMLTag("Relationship",{Id:"rId"+n,Type:r+"/officeDocument/2006/relationships/"+t,Target:i})},_getWorkbookContent:function(){var n='<bookViews><workbookView xWindow="0" yWindow="0" windowWidth="0" windowHeight="0"/><\/bookViews><sheets><sheet name="Sheet" sheetId="1" r:id="rId1" /><\/sheets><definedNames><definedName name="_xlnm.Print_Titles" localSheetId="0">Sheet!$1:$1<\/definedName><definedName name="_xlnm._FilterDatabase" hidden="0" localSheetId="0">Sheet!$A$1:$F$6332<\/definedName><\/definedNames>';return u+this._getXMLTag("workbook",{"xmlns:r":r+"/officeDocument/2006/relationships",xmlns:r+"/spreadsheetml/2006/main"},n)},_getContentTypesContent:function(){return u+'<Types xmlns="'+r+'/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="xml" ContentType="application/xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /><Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /><\/Types>'},_generateStylesXML:function(){var h=this._zip.folder(o),s,n,e=[],f,t="";for(f in this._styleFormat)this._styleFormat[f]=this._getXMLTag("numFmt",{numFmtId:Number(f)+y,formatCode:this._styleFormat[f]});t+=this._getXMLTag("numFmts",{count:this._styleFormat.length},this._styleFormat.join("")),t+=k;for(s in this._styleArray)n=this._styleArray[s],e.push(this._getXMLTag("xf",{xfId:0,applyAlignment:1,fontId:Number(!!n.bold),applyNumberFormat:i.isDefined(n.formatID)?1:0,numFmtId:i.isDefined(n.formatID)?Number(n.formatID)+y-1:0},this._getXMLTag("alignment",{horizontal:n.alignment,wrapText:n.wrapText})));t+=this._getXMLTag("cellXfs",{count:e.length},e.join("")),t+=this._getXMLTag("cellStyles",{count:1},this._getXMLTag("cellStyle",{name:"Normal",xfId:0,builtinId:0})),t=u+this._getXMLTag("styleSheet",{xmlns:r+"/spreadsheetml/2006/main"},t),h.file(l,t),this._styleArray=[]},_generateStringsXML:function(){var i=this._zip.folder(o),n,t=u;for(n in this._stringArray)this._stringArray[n]=this._getXMLTag("si",{},this._getXMLTag("t",{},this._stringArray[n]));t+=this._getXMLTag("sst",{xmlns:r+"/spreadsheetml/2006/main",count:this._stringArray.length,uniqueCount:this._stringArray.length},this._stringArray.join("")),i.file(c,t),this._stringArray=[]},_generateWorksheetXML:function(){var t,n,u,e,s,h=0,f=[],c="1:"+this._colsArray.length,r=[['<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">',this._needSheetPr?w:b,'<dimension ref="A1:',this._getCellIndex(this._maxIndex[0],this._maxIndex[1])+'"/><sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen"/><\/sheetView><\/sheetViews><sheetFormatPr defaultRowHeight="15" outlineLevelRow="',this._dataProvider.getRowsCount()>0?this._dataProvider.getGroupLevel(0):0,'" x14ac:dyDescent="0.25"/>'].join("")];for(t in this._colsArray)this._colsArray[t]=this._getXMLTag("col",{width:this._colsArray[t],min:Number(t)+1,max:Number(t)+1});r.push(this._getXMLTag("cols",[],this._colsArray.join(""))+"<sheetData>");for(n in this._cellsArray){e=[];for(t in this._cellsArray[n])n=Number(n),u=this._cellsArray[n][t],e.push(this._getXMLTag("c",{r:this._getCellIndex(n+1,t),s:u.style,t:u.type},i.isDefined(u.value)?this._getXMLTag("v",{},u.value):null));f.push(this._getXMLTag("row",{r:Number(n)+1,spans:c,outlineLevel:Number(n)?this._dataProvider.getGroupLevel(this._getDataProviderRowIndex(n)):0,"x14ac:dyDescent":"0.25"},e.join(""))),this._cellsArray[n]=null,h++>1e4&&(r.push(f.join("")),f=[],h=0)}r.push(f.join("")),f=[],s=this._getCellIndex(this._maxIndex[0],this._maxIndex[1]),r.push("<\/sheetData>"+(this._options.autoFilterEnabled?'<autoFilter ref="A1:'+s+'" />':"")+'<ignoredErrors><ignoredError sqref="A1:'+s+'" numberStoredAsText="1" /><\/ignoredErrors><\/worksheet>'),this._zip.folder(o).folder(g).file(a,r.join("")),this._colsArray=[],this._cellsArray=[],r=[]},_generateCommonXML:function(){var r=u+this._createXMLRelationships(this._createXMLRelationship(1,"officeDocument","xl/"+h)),n,t=this._zip.folder(o),i=u;this._zip.folder("_"+s).file("."+s,r),n=this._createXMLRelationship(1,"worksheet","worksheets/"+a)+this._createXMLRelationship(2,"styles",l)+this._createXMLRelationship(3,"sharedStrings",c),i+=this._createXMLRelationships(n),t.folder("_"+s).file(h+".rels",i),t.file(h,this._getWorkbookContent()),this._zip.file(d,this._getContentTypesContent())},_generateContent:function(){this._prepareStyleData(),this._prepareCellData(),this._generateWorkXML(),this._generateCommonXML()},_generateWorkXML:function(){this._generateStylesXML(),this._generateStringsXML(),this._generateWorksheetXML()},ctor:function(n,t){this._rtlEnabled=t&&!!t.rtlEnabled,this._options=t,this._maxIndex=[1,2],this._stringArray=[],this._styleArray=[],this._colsArray=[],this._cellsArray=[],this._styleFormat=[],this._needSheetPr=!1,this._dataProvider=n,this._zip=new JSZip},ready:function(){return this._dataProvider.ready()},getData:function(n){return this._generateContent(),this._zip.generate({type:n?"blob":"base64",compression:"DEFLATE"})}})}(jQuery,DevExpress),function(n,t){var f=n.dxClientExporter,i=n.utils,r={CSS:"text/css",EXCEL:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},u={EXCEL:"xlsx",CSS:"css"};f.fileSaver={_linkDownloader:function(n,i){var u=document.createElement("a"),f={download:n,href:i};return document.body.appendChild(u),t(u).css({display:"none"}).text("load").attr(f)[0].click(),u},_formDownloader:function(n,i,r,u){var o={method:"post",action:n,enctype:"multipart/form-data"},e=t("<form>").css({display:"none"}).attr(o);e.append('<input type="hidden" name="fileName" value="'+i+'" />'),e.append('<input type="hidden" name="contentType" value="'+r+'" />'),e.append('<input type="hidden" name="data" value="'+u+'" />'),e.appendTo("body"),e.submit(),e.submit()&&e.remove()},_saveByProxy:function(n,t,i,f,e){return t+="."+u[i],this._formDownloader(n,t,r[i],f,e)},_saveBase64As:function(n,t,i,f){var e="data:"+r[t]+";base64,"+i;return n+="."+u[t],this._linkDownloader(n,e,f)},_saveBlobAs:function(n,e,o,s){if(this._blobSaved=!1,n+="."+u[e],o=o.slice(0,o.size,r[e]),i.isDefined(navigator.msSaveOrOpenBlob))navigator.msSaveOrOpenBlob(o,n),this._blobSaved=!0;else{var h=window.URL||window.webkitURL||window.mozURL||window.msURL||window.oURL;if(s=i.isDefined(s)?s:function(){var n=t("#dxExportLink");h.revokeObjectURL(n.attr("href")),n.remove(),f.blobSaved=!0},i.isDefined(h))return this._linkDownloader(n,h.createObjectURL(o),s)}},saveAs:function(t,r,u,f){if(i.isFunction(window.Blob))this._saveBlobAs(t,r,u);else if(i.isDefined(f)&&!i.isDefined(navigator.userAgent.match(/iPad/i)))this._saveByProxy(f,t,r,u);else{if(i.isDefined(navigator.userAgent.match(/iPad/i))||n.log("E1034"),n.browser.msie&&parseInt(n.browser.version)<10)return;this._saveBase64As(t,r,u)}}}}(DevExpress,jQuery),DevExpress.MOD_WIDGETS_WEB=!0}if(!DevExpress.MOD_FRAMEWORK){if(!window.DevExpress)throw Error("Required module is not referenced: core");(function(n,t,i){var u=function(n,t,i){for(var u=[],r=0,f=n.length;r<f;r++)i(n[r],t)||u.push(n[r]);return u.push.apply(u,t),u},f=function(t,i){var r=!1;return n.each(i,function(n,i){var f=t.option("id")===i.option("id")&&i.option("id"),u=t.option("behavior")===i.option("behavior")&&t.option("behavior");return r=f||u,u&&i.option("onExecute")===null&&i.option("onExecute",t.option("onExecute")),r?(t.element().remove(),!1):void 0}),r},e=function(n,t){return u(n,t,f)},r=function(n,t,r,u){var e=t?t[r]:i,o=e===i?u:e,f=n.option(r);return f===i||f===u?o:f},o=function(n,t){var i=r(n,t,"showText"),u=!!n.option("icon"),f=r(n,t,"title","");return i||!u?f:""},s=function(n,t,i){var u=r(n,t,"showIcon"),f=!!n.option("title"),e=r(n,t,i,"");return u||!f?e:""},h=function(n,t){return r(n,t,"type")};t.framework={utils:{mergeCommands:e,commandToContainer:{resolveTypeValue:h,resolveIconValue:s,resolveTextValue:o,resolvePropertyValue:r}},templateProvider:t.ui.KoTemplateProvider}})(jQuery,DevExpress),function(n,t){n.extend(t.ERROR_MESSAGES,{E3001:"Routing rule is not found for the '{0}' URI.",E3002:"The passed object cannot be formatted into a URI string by the application's router. An appropriate route should be registered.",E3003:"Unable to navigate. Application is being initialized.",E3004:"Cannot execute the command: {0}.",E3005:"The '{0}' command {1} is not registered in the application's command mapping. Go to http://dxpr.es/1bTjfj1 for more details.",E3006:"Unknown navigation target: '{0}'. Use the 'current', 'back' or 'blank' values.",E3007:"Error while restoring the application state. The state has been cleared. Refresh the page.",E3008:"Unable to go back.",E3009:"Unable to go forward.",E3010:"The command's 'id' option should be specified.\r\nProcessed markup: {0}\n",E3011:"Layout controller cannot be resolved. There are no appropriate layout controllers for the current context. Check browser console for details.",E3012:"Layout controller cannot be resolved. Two or more layout controllers suit the current context. Check browser console for details.",E3013:"The '{0}' template with the '{1}' name is not found. Make sure the case is correct in the specified view name and the template fits the current context.",E3014:"All the children of the dxView element should be either of the dxCommand or dxContent type.\r\nProcessed markup: {0}",E3015:"The 'exec' method should be called before the 'finalize' method.",E3016:"Unknown transition type '{0}'.",E3018:"Unable to parse options.\nMessage: {0};\nOptions value: {1}.",E3019:"View templates should be updated according to the 13.1 changes. Go to http://dxpr.es/15ikrJA for more details.",E3020:"Concurrent templates are found:\r\n{0}Target device:\r\n{1}.",E3021:"Remote template cannot be loaded.\r\nUrl:{0}\r\nError:{1}.",E3022:"Cannot initialize the HtmlApplication component.",E3023:"Navigation item is not found",W3001:"A view with the '{0}' key doesn't exist.",W3002:"A view with the '{0}' key has already been released.",W3003:"Layout resolving context:\n{0}\nAvailable layout controller registrations:\n{1}\n",W3004:"Layout resolving context:\n{0}\nConcurent layout controller registrations for the context:\n{1}\n",W3005:'Direct hash-based navigation is detected. Use data-bind="dxAction: url" instead of href="#url".\nFound markup:\n{0}\n'})}(jQuery,DevExpress),function(n,t){var i=encodeURIComponent("json:"),r=t.Class;t.framework.Route=r.inherit({_trimSeparators:function(n){return n.replace(/^[\/.]+|\/+$/g,"")},_escapeRe:function(n){return n.replace(/\W/g,"\\$1")},_checkConstraint:function(n,t){n=String(n),typeof t=="string"&&(t=new RegExp(t));var i=t.exec(n);return!i||i[0]!==n?!1:!0},_ensureReady:function(){var t=this;if(this._patternRe)return!1;this._pattern=this._trimSeparators(this._pattern),this._patternRe="",this._params=[],this._segments=[],this._separators=[],this._pattern.replace(/[^\/]+/g,function(n,i){t._segments.push(n),i&&t._separators.push(t._pattern.substr(i-1,1))}),n.each(this._segments,function(n){var u=!0,i=this,r=n?t._separators[n-1]:"";i.charAt(0)===":"?(u=!1,i=i.substr(1),t._params.push(i),t._patternRe+="(?:"+r+"([^/]*))",i in t._defaults&&(t._patternRe+="?")):t._patternRe+=r+t._escapeRe(i)}),this._patternRe=new RegExp("^"+this._patternRe+"$")},ctor:function(n,t,i){this._pattern=n||"",this._defaults=t||{},this._constraints=i||{}},parse:function(t){var u=this,i,r;return(this._ensureReady(),i=this._patternRe.exec(t),!i)?!1:(r=n.extend({},this._defaults),n.each(this._params,function(n){var t=n+1;i.length>=t&&i[t]&&(r[this]=u.parseSegment(i[t]))}),n.each(this._constraints,function(n){if(!u._checkConstraint(r[n],u._constraints[n]))return r=!1,!1}),r)},format:function(t){var r=this,u="",c,o;this._ensureReady();var f=n.extend({},this._defaults),s=0,i=[],h=[],e={};return(n.each(t,function(n,i){t[n]=r.formatSegment(i),n in f||(e[n]=!0)}),n.each(this._segments,function(n,u){if(i[n]=n?r._separators[n-1]:"",u.charAt(0)===":"){var o=u.substr(1);if(!(o in t)&&!(o in r._defaults)||o in r._constraints&&!r._checkConstraint(t[o],r._constraints[o]))return i=null,!1;o in t?(t[o]!==undefined&&(f[o]=t[o],i[n]+=t[o],s=n),delete e[o]):o in f&&(i[n]+=f[o],h.push(n))}else i[n]+=u,s=n}),n.each(f,function(u,f){if(!!f&&n.inArray(":"+u,r._segments)===-1&&t[u]!==f)return i=null,!1}),c=0,n.isEmptyObject(e)||(u="?",n.each(e,function(n){u+=n+"="+t[n]+"&",c++}),u=u.substr(0,u.length-1)),i===null)?!1:(h.length&&n.map(h,function(n){n>=s&&(i[n]="")}),o=i.join(""),o=o.replace(/\/+$/,""),{uri:o+u,unusedCount:c})},formatSegment:function(t){return n.isArray(t)||n.isPlainObject(t)?i+encodeURIComponent(JSON.stringify(t)):encodeURIComponent(t)},parseSegment:function(t){if(t.substr(0,i.length)===i)try{return n.parseJSON(decodeURIComponent(t.substr(i.length)))}catch(r){}return decodeURIComponent(t)}}),t.framework.Router=t.Class.inherit({ctor:function(){this._registry=[]},_trimSeparators:function(n){return n.replace(/^[\/.]+|\/+$/g,"")},_createRoute:function(n,i,r){return new t.framework.Route(n,i,r)},register:function(n,t,i){this._registry.push(this._createRoute(n,t,i))},_parseQuery:function(t){var i={},r=t.split("&");return n.each(r,function(n,t){var r=t.split("=");i[r[0]]=decodeURIComponent(r[1])}),i},parse:function(t){var f=this,i;t=this._trimSeparators(t);var r=t.split("?",2),e=r[0],u=r[1];return n.each(this._registry,function(){var t=this.parse(e);if(t!==!1)return i=t,u&&(i=n.extend(i,f._parseQuery(u))),!1}),i?i:!1},format:function(t){var i=!1,r=99999;return t=t||{},n.each(this._registry,function(){var f=n.extend(!0,{},t),u=this.format(f);u!==!1&&r>u.unusedCount&&(r=u.unusedCount,i=u.uri)}),i}})}(jQuery,DevExpress),function(n,t){var i=t.DOMComponent.inherit({ctor:function(t,i){n.isPlainObject(t)&&(i=t,t=n("<div />")),this.beforeExecute=n.Callbacks(),this.afterExecute=n.Callbacks(),this._callbacksToEvents("Command",["beforeExecute","afterExecute"]),this.callBase(t,i)},_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{action:{since:"14.2",alias:"onExecute"},iconSrc:{since:"15.1",alias:"icon"}})},_setDefaultOptions:function(){this.callBase(),this.option({onExecute:null,id:null,title:"",icon:"",visible:!0,disabled:!1})},execute:function(){var i=this._options.disabled;if(n.isFunction(i)&&(i=!!i.apply(this,arguments)),i)throw t.Error("E3004",this._options.id);this.fireEvent("beforeExecute",arguments),this._createActionByOption("onExecute").apply(this,arguments),this.fireEvent("afterExecute",arguments)},_render:function(){this.callBase(),this.element().addClass("dx-command")},_renderDisabledState:n.noop,_dispose:function(){this.callBase(),this.element().removeData(this.NAME),this.beforeExecute.empty(),this.afterExecute.empty()}});t.registerComponent("dxCommand",t.framework,i)}(jQuery,DevExpress),function(n,t){t.framework.CommandMapping=t.Class.inherit({ctor:function(){this._commandMappings={},this._containerDefaults={}},setDefaults:function(n,t){return this._containerDefaults[n]=t,this},mapCommands:function(t,i){var r=this;return n.each(i,function(i,u){typeof u=="string"&&(u={id:u});var e=u.id,f=r._commandMappings[t]||{};f[e]=n.extend({showIcon:!0,showText:!0},r._containerDefaults[t]||{},u),r._commandMappings[t]=f}),this._initExistingCommands(),this},unmapCommands:function(t,i){var r=this;n.each(i,function(n,i){var u=r._commandMappings[t]||{};u&&delete u[i]}),this._initExistingCommands()},getCommandMappingForContainer:function(n,t){return(this._commandMappings[t]||{})[n]},checkCommandsExist:function(i){var u=this,r=n.grep(i,function(t,r){return n.inArray(t,u._existingCommands)<0&&n.inArray(t,i)===r});if(r.length!==0)throw t.Error("E3005",r.join("', '"),r.length===1?" is":"s are");},load:function(t){if(t){var i=this;return n.each(t,function(n,t){i.setDefaults(n,t.defaults),i.mapCommands(n,t.commands)}),this}},_initExistingCommands:function(){var t=this;this._existingCommands=[],n.each(t._commandMappings,function(i,r){n.each(r,function(i,r){n.inArray(r.id,t._existingCommands)<0&&t._existingCommands.push(r.id)})})}}),t.framework.CommandMapping.defaultMapping={"global-navigation":{defaults:{showIcon:!0,showText:!0},commands:[]},"ios-header-toolbar":{defaults:{showIcon:!1,showText:!0,location:"after"},commands:["edit","save",{id:"back",location:"before"},{id:"cancel",location:"before"},{id:"create",showIcon:!0,showText:!1}]},"ios-action-sheet":{defaults:{showIcon:!1,showText:!0},commands:[]},"ios-view-footer":{defaults:{showIcon:!1,showText:!0},commands:[{id:"delete",type:"danger"}]},"android-header-toolbar":{defaults:{showIcon:!0,showText:!1,location:"after"},commands:[{id:"back",showIcon:!1,location:"before"},"create",{id:"save",showText:!0,showIcon:!1,location:"after"},{id:"edit",showText:!1,location:"after"},{id:"cancel",showText:!1,location:"before"},{id:"delete",showText:!1,location:"after"}]},"android-simple-toolbar":{defaults:{showIcon:!0,showText:!1,location:"after"},commands:[{id:"back",showIcon:!1,location:"before"},{id:"create"},{id:"save",showText:!0,showIcon:!1,location:"after"},{id:"edit",showText:!1,location:"after"},{id:"cancel",showText:!1,location:"before"},{id:"delete",showText:!1,location:"after"}]},"android-footer-toolbar":{defaults:{location:"after"},commands:[{id:"create",showText:!1,location:"center"},{id:"edit",showText:!1,location:"before"},{id:"delete",location:"menu"},{id:"save",showIcon:!1,location:"before"}]},"generic-header-toolbar":{defaults:{showIcon:!1,showText:!0,location:"after"},commands:["edit","save",{id:"back",location:"before"},{id:"cancel",location:"before"},{id:"create",showIcon:!0,showText:!1}]},"generic-view-footer":{defaults:{showIcon:!1,showText:!0},commands:[{id:"delete",type:"danger"}]},"win8-appbar":{defaults:{location:"after"},commands:["edit","cancel","save","delete",{id:"create",location:"before"},{id:"refresh",location:"before"}]},"win8-toolbar":{defaults:{showText:!1,location:"before"},commands:[{id:"previousPage"}]},"win8-phone-appbar":{defaults:{location:"center"},commands:["create","edit","cancel","save","refresh",{id:"delete",location:"menu"}]},"win8-split-toolbar":{defaults:{showIcon:!0,showText:!1,location:"after"},commands:[{id:"back",showIcon:!1,location:"before"},{id:"create"},{id:"save",showText:!0,location:"before"},{id:"edit",showText:!0,location:"menu"},{id:"cancel",showText:!0,location:"menu"},{id:"delete",showText:!0,location:"menu"}]},"win8-master-detail-toolbar":{defaults:{showText:!1,location:"before"},commands:["back"]},"desktop-toolbar":{defaults:{showIcon:!1,showText:!0,location:"after"},commands:["cancel","create","edit","save",{id:"delete",type:"danger"}]}}}(jQuery,DevExpress),function(n,t){var r=t.Class,u;t.framework.ViewCache=r.inherit({ctor:function(){this._cache={},this.viewRemoved=n.Callbacks(),this._callbacksToEvents("ViewCache",["viewRemoved"])},setView:function(n,t){this._cache[n]=t},getView:function(n){return this._cache[n]},removeView:function(n){var t=this._cache[n];return t&&(delete this._cache[n],this.fireEvent("viewRemoved",[{viewInfo:t}])),t},clear:function(){var t=this;n.each(this._cache,function(n){t.removeView(n)})},hasView:function(n){return n in this._cache}}).include(t.EventsMixin),t.framework.NullViewCache=t.framework.ViewCache.inherit({setView:function(n,t){this.callBase(n,t),this.removeView(n)}}),t.framework.ConditionalViewCacheDecorator=r.inherit({ctor:function(n){this._filter=n.filter,this._viewCache=n.viewCache,this.viewRemoved=this._viewCache.viewRemoved,this._events=this._viewCache._events},setView:function(n,t){this._viewCache.setView(n,t),this._filter(n,t)||this._viewCache.removeView(n)},getView:function(n){return this._viewCache.getView(n)},removeView:function(n){return this._viewCache.removeView(n)},clear:function(){return this._viewCache.clear()},hasView:function(n){return this._viewCache.hasView(n)}}).include(t.EventsMixin),u=10,t.framework.CapacityViewCacheDecorator=r.inherit({ctor:function(n){this._keys=[],this._size=n.size||u,this._viewCache=n.viewCache,this.viewRemoved=this._viewCache.viewRemoved,this._events=this._viewCache._events},setView:function(n,t){this.hasView(n)||(this._keys.length===this._size&&this.removeView(this._keys[0]),this._keys.push(n)),this._viewCache.setView(n,t)},getView:function(t){var i=n.inArray(t,this._keys);return i<0?null:(this._keys.push(t),this._keys.splice(i,1),this._viewCache.getView(t))},removeView:function(t){var i=n.inArray(t,this._keys);return i>-1&&this._keys.splice(i,1),this._viewCache.removeView(t)},clear:function(){return this._keys=[],this._viewCache.clear()},hasView:function(n){return this._viewCache.hasView(n)}}).include(t.EventsMixin),t.framework.HistoryDependentViewCacheDecorator=r.inherit({ctor:function(i){this._viewCache=i.viewCache||new t.framework.ViewCache,this._navigationManager=i.navigationManager;this._navigationManager.on("itemRemoved",n.proxy(this._onNavigationItemRemoved,this));this.viewRemoved=this._viewCache.viewRemoved,this._events=this._viewCache._events},_onNavigationItemRemoved:function(n){this.removeView(n.key)},setView:function(n,t){this._viewCache.setView(n,t)},getView:function(n){return this._viewCache.getView(n)},removeView:function(n){return this._viewCache.removeView(n)},clear:function(){return this._viewCache.clear()},hasView:function(n){return this._viewCache.hasView(n)}}).include(t.EventsMixin)}(jQuery,DevExpress),function(n,t){var r=t.Class;t.framework.MemoryKeyValueStorage=r.inherit({ctor:function(){this.storage={}},getItem:function(n){return this.storage[n]},setItem:function(n,t){this.storage[n]=t},removeItem:function(n){delete this.storage[n]}}),t.framework.StateManager=r.inherit({ctor:function(n){n=n||{},this.storage=n.storage||new t.framework.MemoryKeyValueStorage,this.stateSources=n.stateSources||[]},addStateSource:function(n){this.stateSources.push(n)},removeStateSource:function(t){var i=n.inArray(t,this.stateSources);i>-1&&(this.stateSources.splice(i,1),t.removeState(this.storage))},saveState:function(){var t=this;n.each(this.stateSources,function(n,i){i.saveState(t.storage)})},restoreState:function(){var t=this;n.each(this.stateSources,function(n,i){i.restoreState(t.storage)})},clearState:function(){var t=this;n.each(this.stateSources,function(n,i){i.removeState(t.storage)})}})}(jQuery,DevExpress),function(n,t){var u=t.Class,r="__root__",f="__buffer__";t.framework.DefaultBrowserAdapter=u.inherit({ctor:function(i){i=i||{},this._window=i.window||window,this.popState=n.Callbacks();n(this._window).on("hashchange",n.proxy(this._onHashChange,this));this._tasks=t.createQueue(),this.canWorkInPureBrowser=!0},replaceState:function(n){var t=this;return this._addTask(function(){n=t._normalizeUri(n),t._window.history.replaceState(null,null,"#"+n),t._currentTask.resolve()})},pushState:function(n){var t=this;return this._addTask(function(){n=t._normalizeUri(n),t._window.history.pushState(null,null,"#"+n),t._currentTask.resolve()})},createRootPage:function(){return this.replaceState(r)},_onHashChange:function(){this._currentTask&&this._currentTask.resolve(),this.popState.fire()},back:function(){var n=this;return this._addTask(function(){n._window.history.back()})},getHash:function(){return this._normalizeUri(this._window.location.hash)},isRootPage:function(){return this.getHash()===r},_normalizeUri:function(n){return(n||"").replace(/^#+/,"")},_addTask:function(t){var r=this,i=n.Deferred();return this._tasks.add(function(){return r._currentTask=i,t(),i}),i.promise()}}),t.framework.OldBrowserAdapter=t.framework.DefaultBrowserAdapter.inherit({ctor:function(){this._innerEventCount=0,this.callBase.apply(this,arguments),this._skipNextEvent=!1},replaceState:function(t){var i=this;return(t=i._normalizeUri(t),i.getHash()!==t)?(i._addTask(function(){i._skipNextEvent=!0,i._window.history.back()}),i._addTask(function(){i._skipNextEvent=!0,i._window.location.hash=t})):n.Deferred().resolve().promise()},pushState:function(t){var i=this;return(t=this._normalizeUri(t),this.getHash()!==t)?i._addTask(function(){i._skipNextEvent=!0,i._window.location.hash=t}):n.Deferred().resolve().promise()},createRootPage:function(){return this.pushState(r)},_onHashChange:function(){var n=this._currentTask;this._currentTask=null,this._skipNextEvent?this._skipNextEvent=!1:this.popState.fire(),n&&n.resolve()}}),t.framework.BuggyAndroidBrowserAdapter=t.framework.OldBrowserAdapter.inherit({createRootPage:function(){return this.pushState(f),this.callBase()}}),t.framework.HistorylessBrowserAdapter=t.framework.DefaultBrowserAdapter.inherit({ctor:function(t){t=t||{},this._window=t.window||window,this.popState=n.Callbacks();n(this._window).on("dxback",n.proxy(this._onHashChange,this));this._currentHash=this._window.location.hash},replaceState:function(t){return this._currentHash=this._normalizeUri(t),n.Deferred().resolve().promise()},pushState:function(n){return this.replaceState(n)},createRootPage:function(){return this.replaceState(r)},getHash:function(){return this._normalizeUri(this._currentHash)},back:function(){return this.replaceState(r)},_onHashChange:function(){var n=this.back();return this.popState.fire(),n}}),t.framework.BuggyCordovaWP81BrowserAdapter=t.framework.DefaultBrowserAdapter.inherit({ctor:function(n){this.callBase(n),this.canWorkInPureBrowser=!1}})}(jQuery,DevExpress),function(n,t){var u=t.Class,r="dxPhoneJSApplication";t.framework.HistoryBasedNavigationDevice=u.inherit({ctor:function(t){t=t||{},this._browserAdapter=t.browserAdapter||this._createBrowserAdapter(t),this.uriChanged=n.Callbacks(),this._browserAdapter.popState.add(n.proxy(this._onPopState,this))},init:n.noop,getUri:function(){return this._browserAdapter.getHash()},setUri:function(t,i){return i?this._browserAdapter.replaceState(t):t!==this.getUri()?this._browserAdapter.pushState(t):n.Deferred().resolve().promise()},back:function(){return this._browserAdapter.back()},_onPopState:function(){this.uriChanged.fire(this.getUri())},_isBuggyAndroid2:function(){var i=t.devices.real(),n=i.version;return i.platform==="android"&&n.length>1&&(n[0]===2&&n[1]<4||n[0]<2)},_isBuggyAndroid4:function(){var i=t.devices.real(),n=i.version;return i.platform==="android"&&n.length>1&&n[0]===4&&n[1]===0},_isWindowsPhone8:function(){var n=t.devices.real();return n.platform==="win8"&&n.phone},_createBrowserAdapter:function(n){var r=n.window||window,u=r.history.replaceState&&r.history.pushState,i;return i=this._isWindowsPhone8()?new t.framework.BuggyCordovaWP81BrowserAdapter(n):r!==r.top?new t.framework.HistorylessBrowserAdapter(n):this._isBuggyAndroid4()?new t.framework.BuggyAndroidBrowserAdapter(n):this._isBuggyAndroid2()||!u?new t.framework.OldBrowserAdapter(n):new t.framework.DefaultBrowserAdapter(n)}}),t.framework.StackBasedNavigationDevice=t.framework.HistoryBasedNavigationDevice.inherit({ctor:function(t){this.callBase(t),this.backInitiated=n.Callbacks(),this._rootStateHandler=null;n(window).on("unload",this._saveBrowserState)},init:function(){var t=this;return t._browserAdapter.canWorkInPureBrowser?t._initRootPage().done(function(){t._browserAdapter.isRootPage()&&t._browserAdapter.pushState("")}):n.Deferred().resolve().promise()},setUri:function(n){return this.callBase(n,!this._browserAdapter.isRootPage())},_saveBrowserState:function(){window.sessionStorage&&sessionStorage.setItem(r,!0)},_initRootPage:function(){var t=this.getUri();return!window.sessionStorage||sessionStorage.getItem(r)?n.Deferred().resolve().promise():(sessionStorage.removeItem(r),this._browserAdapter.createRootPage(),this._browserAdapter.pushState(t))},_onPopState:function(){this._browserAdapter.isRootPage()?this._rootStateHandler?this._rootStateHandler():this.backInitiated.fire():(this._rootStateHandler||this._createRootStateHndler(),this.back())},_createRootStateHndler:function(){var n=this.getUri();this._rootStateHandler=function(){this.uriChanged.fire(n),this._rootStateHandler=null}}})}(jQuery,DevExpress),function(n,t,i){var u=t.Class,r={current:"current",blank:"blank",back:"back"},f="__history";t.framework.HistoryBasedNavigationManager=u.inherit({ctor:function(t){t=t||{},this._currentItem=i,this._previousItem=i,this.navigating=n.Callbacks(),this.navigated=n.Callbacks(),this.navigationCanceled=n.Callbacks(),this.navigatingBack=n.Callbacks(),this.itemRemoved=n.Callbacks(),this._callbacksToEvents("DefaultLayoutController",["navigating","navigated","navigationCanceled","navigatingBack","itemRemoved"]),this._createNavigationDevice(t)},_createNavigationDevice:function(i){this._navigationDevice=i.navigationDevice||new t.framework.HistoryBasedNavigationDevice,this._navigationDevice.uriChanged.add(n.proxy(this._uriChangedHandler,this))},_uriChangedHandler:function(n){while(t.hideTopOverlayCallback.fire());this._forceNavigate=!0,this.navigate(n)},_syncUriWithCurrentNavigationItem:function(){var n=this._currentItem&&this._currentItem.uri;this._navigationDevice.setUri(n,!0)},_cancelNavigation:function(n){this._syncUriWithCurrentNavigationItem(),this.fireEvent("navigationCanceled",[n])},_getDefaultOptions:function(){return{direction:"none",target:r.blank}},_updateHistory:function(n,t){this._previousItem=this._currentItem,this._currentItem={uri:n,key:n},this._navigationDevice.setUri(n,t.target===r.current)},_setCurrentItem:function(n){this._currentItem=n},navigate:function(u,f){f=f||{};var e=this,l=!e._currentItem,h=e._currentItem||{},a=f.item||{},s=h.uri,v=h.key,c=a.key,o;if(u===i&&(u=e._navigationDevice.getUri()),/^_back$/.test(u)){e.back();return}f=n.extend(e._getDefaultOptions(),f||{}),l&&(f.target=r.current),o={currentUri:s,uri:u,cancel:!1,navigateWhen:[],options:f},e.fireEvent("navigating",[o]),u=o.uri,o.cancel||s===u&&(c===i||c===v)&&!e._forceNavigate?e._cancelNavigation(o):(e._forceNavigate=!1,n.when.apply(n,o.navigateWhen).done(function(){t.utils.executeAsync(function(){e._updateHistory(u,f),e.fireEvent("navigated",[{uri:u,previousUri:s,options:f,item:e._currentItem}])})}))},back:function(){return this._navigationDevice.back()},previousItem:function(){return this._previousItem},currentItem:function(n){if(arguments.length>0){if(!n)throw t.Error("E3023");this._setCurrentItem(n)}else return this._currentItem},rootUri:function(){return this._currentItem&&this._currentItem.uri},canBack:function(){return!0},saveState:n.noop,restoreState:n.noop,removeState:n.noop}).include(t.EventsMixin),t.framework.StackBasedNavigationManager=t.framework.HistoryBasedNavigationManager.inherit({ctor:function(i){i=i||{},this.callBase(i),this._createNavigationStacks(i),t.hardwareBackButton.add(n.proxy(this._deviceBackInitiated,this)),this._stateStorageKey=i.stateStorageKey||f},init:function(){return this._navigationDevice.init()},_createNavigationDevice:function(i){i.navigationDevice||(i.navigationDevice=new t.framework.StackBasedNavigationDevice),this.callBase(i),this._navigationDevice.backInitiated.add(n.proxy(this._deviceBackInitiated,this))},_uriChangedHandler:function(n){this.navigate(n)},_createNavigationStacks:function(n){this.navigationStacks={},this._keepPositionInStack=n.keepPositionInStack,this.currentStack=new t.framework.NavigationStack},_deviceBackInitiated:function(){t.hideTopOverlayCallback.fire()?this._syncUriWithCurrentNavigationItem():this.back({isHardwareButton:!0})},_getDefaultOptions:function(){return{target:r.blank}},_createNavigationStack:function(){var i=new t.framework.NavigationStack;return i.itemsRemoved.add(n.proxy(this._removeItems,this)),i},_setCurrentItem:function(n){this._setCurrentStack(n.stack),this.currentStack.currentItem(n),this.callBase(n),this._syncUriWithCurrentNavigationItem()},_setCurrentStack:function(t){var r,i;typeof t=="string"?(i=t,i in this.navigationStacks||(this.navigationStacks[i]=this._createNavigationStack()),r=this.navigationStacks[i]):(r=t,i=n.map(this.navigationStacks,function(n,i){return n===t?i:null})[0]),this.currentStack=r,this.currentStackKey=i},_getViewTargetStackKey:function(n,t){var r,u;if(t)if(this.navigationStacks[n]!==i)r=n;else{for(u in this.navigationStacks)if(this.navigationStacks[u].items[0].uri===n){r=u;break}r=r||n}else r=this.currentStackKey||n;return r},_updateHistory:function(n,u){var f=u.root,o=f,s=!1,l=u.stack||this._getViewTargetStackKey(n,f),a=this.currentStack,v=u.keepPositionInStack!==i?u.keepPositionInStack:this._keepPositionInStack,h,c,e;if(this._setCurrentStack(l),(f||!this.currentStack.items.length)&&(s=this.currentStack===a,o=!0),f&&this.currentStack.items.length)(!v||s)&&(this.currentStack.currentIndex=0,this.currentItem().uri!==n&&this.currentStack.navigate(n,!0)),u.direction=u.direction||"none";else{h=this.currentStack.currentIndex,c=this.currentItem()||{};switch(u.target){case r.blank:this.currentStack.navigate(n);break;case r.current:this.currentStack.navigate(n,!0);break;case r.back:this.currentStack.currentIndex>0?this.currentStack.back(n):this.currentStack.navigate(n,!0);break;default:throw t.Error("E3006",u.target);}u.direction===i&&(e=this.currentStack.currentIndex-h,u.direction=e<0?this.currentStack.currentItem().backDirection||"backward":e>0&&this.currentStack.currentIndex>0?"forward":"none"),c.backDirection=u.direction==="forward"?"backward":"none"}u.root=o,this._currentItem=this.currentStack.currentItem(),this._syncUriWithCurrentNavigationItem()},_removeItems:function(t){var i=this;n.each(t,function(n,t){i.fireEvent("itemRemoved",[t])})},back:function(t){var i,u;if(t=t||{},i=n.extend({cancel:!1},t),this.fireEvent("navigatingBack",[i]),i.cancel){this._syncUriWithCurrentNavigationItem();return}u=this.previousItem(i.stack),u?this.navigate(u.uri,{stack:i.stack,target:r.back,item:u}):this.callBase()},rootUri:function(){return this.currentStack.items.length?this.currentStack.items[0].uri:this.callBase()},canBack:function(n){var t=n?this.navigationStacks[n]:this.currentStack;return t.canBack()},saveState:function(t){var i,r;this.currentStack.items.length?(i={navigationStacks:{},currentStackKey:this.currentStackKey},n.each(this.navigationStacks,function(t,r){var u={};i.navigationStacks[t]=u,u.currentIndex=r.currentIndex,u.items=n.map(r.items,function(n){return{key:n.key,uri:n.uri}})}),r=JSON.stringify(i),t.setItem(this._stateStorageKey,r)):this.removeState(t)},restoreState:function(i){var r,u,f;if(!this.disableRestoreState&&(r=i.getItem(this._stateStorageKey),r))try{u=this,f=JSON.parse(r),n.each(f.navigationStacks,function(t,i){var r=u._createNavigationStack();u.navigationStacks[t]=r,r.currentIndex=i.currentIndex,r.items=n.map(i.items,function(n){return n.stack=r,n})}),this.currentStackKey=f.currentStackKey,this.currentStack=this.navigationStacks[this.currentStackKey],this._currentItem=this.currentStack.currentItem(),this._navigationDevice.setUri(this.currentItem().uri),this._forceNavigate=!0}catch(e){this.removeState(i);throw t.Error("E3007");}},removeState:function(n){n.removeItem(this._stateStorageKey)},currentIndex:function(){return this.currentStack.currentIndex},previousItem:function(n){var t=this.navigationStacks[n]||this.currentStack;return t.previousItem()},getItemByIndex:function(n){return this.currentStack.items[n]},clearHistory:function(){this.currentStack.clear()},itemByKey:function(t){var i;return n.each(this.navigationStacks,function(n,r){var u=r.itemByKey(t);if(u)return i=u,!1}),i},currentItem:function(t){var i;if(arguments.length>0)typeof t=="string"?i=this.itemByKey(t):n.isPlainObject(t)&&(i=t),this.callBase(i);else return this.callBase()}}),t.framework.NavigationStack=u.inherit({ctor:function(t){t=t||{},this.itemsRemoved=n.Callbacks(),this.clear()},currentItem:function(n){if(n){for(var t=0;t<this.items.length;t++)if(n===this.items[t]){this.currentIndex=t;break}}else return this.items[this.currentIndex]},previousItem:function(){return this.items.length>1?this.items[this.currentIndex-1]:i},canBack:function(){return this.currentIndex>0},clear:function(){this._deleteItems(this.items),this.items=[],this.currentIndex=-1},back:function(n){if(this.currentIndex--,this.currentIndex<0)throw t.Error("E3008");var i=this.currentItem();i.uri!==n&&this._updateItem(this.currentIndex,n)},forward:function(){if(this.currentIndex++,this.currentIndex>=this.items.length)throw t.Error("E3009");},navigate:function(n,t){if(!(this.currentIndex<this.items.length)||!(this.currentIndex>-1)||this.items[this.currentIndex].uri!==n){if(t&&this.currentIndex>-1&&this.currentIndex--,this.currentIndex+1<this.items.length&&this.items[this.currentIndex+1].uri===n)this.currentIndex++;else{var i=this.items.splice(this.currentIndex+1,this.items.length-this.currentIndex-1);this.items.push({stack:this}),this.currentIndex++,this._updateItem(this.currentIndex,n),this._deleteItems(i)}return this.currentItem()}},itemByKey:function(n){for(var i,t=0;t<this.items.length;t++)if(i=this.items[t],i.key===n)return i},_updateItem:function(n,t){var i=this.items[n];i.uri=t,i.key=this.items[0].uri+"_"+n+"_"+t},_deleteItems:function(n){n&&this.itemsRemoved.fire(n)}})}(jQuery,DevExpress),function(n,t,i){function r(t,i){if(i.args){var r=i.args[0];t.jQueryEvent=r.jQueryEvent}(i.component||{}).NAME==="dxCommand"&&n.extend(t,i.component.option())}t.framework.createActionExecutors=function(u){return{routing:{execute:function(t){var f=t.action,e={},i,o;n.isPlainObject(f)&&(i=f.routeValues,i&&n.isPlainObject(i)?e=f.options:i=f,o=u.router.format(i),r(e,t),u.navigate(o,e),t.handled=!0)}},hash:{execute:function(f){var e;if(typeof f.action=="string"&&f.action.charAt(0)==="#"){var o=f.action.substr(1),h=f.args[0],s=o,c=function(n){var i=t.data.utils.compileGetter(n),r=f.args[0].model;return i(r)},l=h.evaluate||c;s=o.replace(/\{([^}]+)\}/g,function(r,u){u=n.trim(u),u.indexOf(",")>-1&&(u=n.map(u.split(","),n.trim));var f=l(u);return f===i&&(f=""),f=t.framework.Route.prototype.formatSegment(f)}),e={},r(e,f),u.navigate(s,e),f.handled=!0}}}}}}(jQuery,DevExpress),function(n,t){var f=t.Class,i,e="InProgress",r="Inited",u=t.framework;t.framework.Application=f.inherit({ctor:function(r){r=r||{},this._options=r,this.namespace=r.namespace||window,this._applicationMode=r.mode?r.mode:"mobileApp",this.components=[],i=t.localization.localizeString("@Back"),this.router=r.router||new t.framework.Router;var u={mobileApp:t.framework.StackBasedNavigationManager,webSite:t.framework.HistoryBasedNavigationManager};this.navigationManager=r.navigationManager||new u[this._applicationMode]({keepPositionInStack:r.navigateToRootViewMode==="keepHistory"});this.navigationManager.on("navigating",n.proxy(this._onNavigating,this));this.navigationManager.on("navigatingBack",n.proxy(this._onNavigatingBack,this));this.navigationManager.on("navigated",n.proxy(this._onNavigated,this));this.navigationManager.on("navigationCanceled",n.proxy(this._onNavigationCanceled,this));this.stateManager=r.stateManager||new t.framework.StateManager({storage:r.stateStorage||sessionStorage}),this.stateManager.addStateSource(this.navigationManager),this.viewCache=this._createViewCache(r),this.commandMapping=this._createCommandMapping(r.commandMapping),this.createNavigation(r.navigation),this.beforeViewSetup=n.Callbacks(),this.afterViewSetup=n.Callbacks(),this.viewShowing=n.Callbacks(),this.viewShown=n.Callbacks(),this.viewHidden=n.Callbacks(),this.viewDisposing=n.Callbacks(),this.viewDisposed=n.Callbacks(),this.navigating=n.Callbacks(),this.navigatingBack=n.Callbacks(),this.initialized=n.Callbacks(),this._callbacksToEvents("HtmlApplication",["beforeViewSetup","afterViewSetup","viewShowing","viewShown","viewHidden","viewDisposing","viewDisposed","navigating","navigatingBack","initialized"]),this._isNavigating=!1,this._viewLinksHash={},t.registerActionExecutor(t.framework.createActionExecutors(this)),this.components.push(this.router),this.components.push(this.navigationManager)},_createViewCache:function(i){var r;r=i.viewCache?i.viewCache:i.disableViewCache?new t.framework.NullViewCache:new t.framework.CapacityViewCacheDecorator({size:i.viewCacheSize,viewCache:new t.framework.ViewCache});r.on("viewRemoved",n.proxy(function(n){this._releaseViewLink(n.viewInfo)},this));return r},_createCommandMapping:function(n){var i=n;return n instanceof t.framework.CommandMapping||(i=new t.framework.CommandMapping,i.load(t.framework.CommandMapping.defaultMapping||{}).load(n||{})),i},createNavigation:function(n){this.navigation=this._createNavigationCommands(n),this._mapNavigationCommands(this.navigation,this.commandMapping)},_createNavigationCommands:function(t){if(!t)return[];var i=0;return n.map(t,function(t){var r;return r=t instanceof u.dxCommand?t:new u.dxCommand(n.extend({root:!0},t)),r.option("id")||r.option("id","navigation_"+i++),r})},_mapNavigationCommands:function(t,i){var r=n.map(t,function(n){return n.option("id")});i.mapCommands("global-navigation",r)},_callComponentMethod:function(t,i){var r=[];return n.each(this.components,function(u,f){if(f[t]&&n.isFunction(f[t])){var e=f[t](i);e&&e.done&&r.push(e)}}),n.when.apply(n,r)},init:function(){var n=this;return n._initState=e,n._callComponentMethod("init").done(function(){n._initState=r,n._processEvent("initialized")}).fail(function(n){throw n||t.Error("E3022");})},_onNavigatingBack:function(n){this._processEvent("navigatingBack",n)},_onNavigating:function(n){var i=this,u,r;if(i._isNavigating){i._pendingNavigationArgs=n,n.cancel=!0;return}if(i._isNavigating=!0,delete i._pendingNavigationArgs,u=this.router.parse(n.uri),!u)throw t.Error("E3001",n.uri);r=this.router.format(u),n.uri!==r&&r?(n.cancel=!0,t.utils.executeAsync(function(){i.navigate(r,n.options)})):i._processEvent("navigating",n)},_onNavigated:function(n){var i=this,f=n.options.direction,u,r=i._acquireViewInfo(n.item,n.options);return r.model||(this._processEvent("beforeViewSetup",{viewInfo:r}),i._createViewModel(r),i._createViewCommands(r),this._processEvent("afterViewSetup",{viewInfo:r})),i._highlightCurrentNavigationCommand(r),u=i._showView(r,f).always(function(){i._isNavigating=!1;var n=i._pendingNavigationArgs;n&&t.utils.executeAsync(function(){i.navigate(n.uri,n.options)})})},_isViewReadyToShow:function(n){return!!n.model},_onNavigationCanceled:function(n){var i=this,r;i._pendingNavigationArgs&&i._pendingNavigationArgs.uri===n.uri||(r=i.navigationManager.currentItem(),r&&t.utils.executeAsync(function(){var t=i._acquireViewInfo(r,n.options);i._highlightCurrentNavigationCommand(t,!0)}),i._isNavigating=!1)},_disposeRemovedViews:function(){var t=this,i;n.each(t._viewLinksHash,function(n,r){r.linkCount||(i={viewInfo:r.viewInfo},t._processEvent("viewDisposing",i,i.viewInfo.model),t._disposeView(r.viewInfo),t._processEvent("viewDisposed",i,i.viewInfo.model),delete t._viewLinksHash[n])})},_onViewHidden:function(n){var t={viewInfo:n};this._processEvent("viewHidden",t,t.viewInfo.model)},_disposeView:function(t){var i=t.commands||[];n.each(i,function(n,t){t._dispose()})},_acquireViewInfo:function(n,t){var i=this.viewCache.getView(n.key);return i||(i=this._createViewInfo(n,t),this._obtainViewLink(i),this.viewCache.setView(n.key,i)),i},_processEvent:function(n,t,i){this._callComponentMethod(n,t),this.fireEvent(n,[t]);var r=(i||{})[n];r&&r.call(i,t)},_createViewInfo:function(n,t){var i=n.uri,r=this.router.parse(i);return{viewName:r.view,routeData:r,uri:i,key:n.key,canBack:this.canBack(),navigateOptions:t,previousViewInfo:this._getPreviousViewInfo(t)}},_createViewModel:function(n){n.model=n.model||this._callViewCodeBehind(n)},_createViewCommands:function(n){n.commands=n.model.commands||[],n.canBack&&this._applicationMode!=="webSite"&&this._appendBackCommand(n)},_callViewCodeBehind:function(t){var r=n.noop,i=t.routeData;return i.view in this.namespace&&(r=this.namespace[i.view]),r.call(this.namespace,i,t)||{}},_appendBackCommand:function(n){var r=n.commands,u=this,s=this.navigationManager.currentStackKey,f=i,e,o;u._options.useViewTitleAsBackText&&(f=((n.previousViewInfo||{}).model||{}).title||f),e=[new t.framework.dxCommand({id:"back",title:f,behavior:"back",onExecute:function(){u.back({stack:s})},icon:"arrowleft",type:"back",renderStage:u._options.useViewTitleAsBackText?"onViewRendering":"onViewShown"})],o=t.framework.utils.mergeCommands(e,r),r.length=0,r.push.apply(r,o)},_showView:function(n,i){var r=this,u={viewInfo:n,direction:i};return r._showViewImpl(u.viewInfo,u.direction).done(function(){t.utils.executeAsync(function(){r._processEvent("viewShown",u,n.model),r._disposeRemovedViews()})})},_highlightCurrentNavigationCommand:function(i,r){var e=this,u,f=i.model&&i.model.currentNavigationItemId;f!==undefined&&n.each(this.navigation,function(n,t){if(t.option("id")===f)return u=t,!1}),u||n.each(this.navigation,function(n,i){var r=i.option("onExecute");if(t.utils.isString(r)&&(r=r.replace(/^#+/,""),r===e.navigationManager.rootUri()))return u=i,!1}),n.each(this.navigation,function(n,t){r&&t===u&&t.option("highlighted")&&t.fireEvent("optionChanged",[{name:"highlighted",value:!0,previousValue:!0}]),t.option("highlighted",t===u)})},_showViewImpl:t.abstract,_obtainViewLink:function(n){var t=n.key;this._viewLinksHash[t]?this._viewLinksHash[t].linkCount++:this._viewLinksHash[t]={viewInfo:n,linkCount:1}},_releaseViewLink:function(n){this._viewLinksHash[n.key].linkCount--},navigate:function(i,u){var f=this;if(n.isPlainObject(i)&&(i=f.router.format(i),i===!1))throw t.Error("E3002");if(f._initState)if(f._initState===r)(!f._isNavigating||i)&&f.navigationManager.navigate(i,u);else throw t.Error("E3003");else f.init().done(function(){f.restoreState(),f.navigate(i,u)})},canBack:function(n){return this.navigationManager.canBack(n)},_getPreviousViewInfo:function(n){var t=this.navigationManager.previousItem(n.stack),i;return t&&(i=this.viewCache.getView(t.key)),i},back:function(n){this.navigationManager.back(n)},saveState:function(){this.stateManager.saveState()},restoreState:function(){this.stateManager.restoreState()},clearState:function(){this.stateManager.clearState()}}).include(t.EventsMixin)}(jQuery,DevExpress),function(n,t){t.framework.html={layoutSets:{},animationSets:{"native":{"view-content-change":[{animation:"slide"},{animation:"ios7-slide",device:{platform:"ios"}},{animation:"none",device:{deviceType:"desktop",platform:"generic"}},{animation:"none",device:{grade:"C"}}],"view-header-toolbar":[{animation:"ios7-toolbar"},{animation:"slide",device:{grade:"B"}},{animation:"none",device:{grade:"C"}}]},"default":{"view-content-change":[{animation:"slide"},{animation:"ios7-slide",device:{platform:"ios"}},{animation:"fade",device:{deviceType:"desktop",platform:"generic"}},{animation:"none",device:{grade:"C"}}],"view-content-rendered":[{animation:"fade"},{animation:"none",device:{grade:"C"}}],"view-header-toolbar":[{animation:"ios7-toolbar"},{animation:"slide",device:{grade:"B"}},{animation:"none",device:{grade:"C"}}],"command-rendered":[{animation:"stagger-fade-drop"},{animation:"fade",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"list-item-rendered":[{animation:"stagger-3d-drop",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"detail-item-rendered":[{animation:"stagger-3d-drop",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"edit-item-rendered":[{animation:"stagger-3d-drop",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}]},slide:{"view-content-change":[{animation:"slide"},{animation:"ios7-slide",device:{platform:"ios"}},{animation:"fade",device:{deviceType:"desktop",platform:"generic"}},{animation:"none",device:{grade:"C"}}],"view-content-rendered":[{animation:"fade"},{animation:"none",device:{grade:"C"}}],"view-header-toolbar":[{animation:"ios7-toolbar"},{animation:"slide",device:{grade:"B"}},{animation:"none",device:{grade:"C"}}],"command-rendered":[{animation:"stagger-fade-drop"},{animation:"fade",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"list-item-rendered":[{animation:"stagger-fade-slide",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"detail-item-rendered":[{animation:"stagger-fade-slide",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"edit-item-rendered":[{animation:"stagger-fade-slide",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}]},zoom:{"view-content-change":[{animation:"slide"},{animation:"ios7-slide",device:{platform:"ios"}},{animation:"fade",device:{deviceType:"desktop",platform:"generic"}},{animation:"none",device:{grade:"C"}}],"view-content-rendered":[{animation:"fade"},{animation:"none",device:{grade:"C"}}],"view-header-toolbar":[{animation:"ios7-toolbar"},{animation:"slide",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"command-rendered":[{animation:"stagger-fade-zoom"},{animation:"fade",device:{grade:"B"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"list-item-rendered":[{animation:"stagger-fade-zoom",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"detail-item-rendered":[{animation:"stagger-fade-zoom",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}],"edit-item-rendered":[{animation:"stagger-fade-zoom",device:{grade:"A"}},{animation:"fade",device:{deviceType:"desktop"}},{animation:"none",device:{grade:"C"}}]}}}}(jQuery,DevExpress),function(n,t){var i=t.framework.utils.commandToContainer,o="dxCommandToWidgetAdapter",e=t.Class.inherit({ctor:function(t,i){this.command=t,this.containerOptions=i,this._createWidgetItem(t,i),this._commandChangedHandler=n.proxy(this._onCommandChanged,this);t.on("optionChanged",this._commandChangedHandler)},_createWidgetItem:function(t,i){this.widgetItem=n.extend({command:t,containerOptions:i},i,t.option()),this._updateItem()},_onCommandChanged:function(n){var t=n.name,i=n.value,r=n.previousValue;this.widgetItem[t]=i,this._updateItem(t,i,r)},_updateItem:function(){},dispose:function(){this.command&&this.command.off("optionChanged",this._commandChangedHandler),delete this.command,delete this.containerOptions,delete this.widgetItem,delete this.updateItemHandler}}),r=t.Class.inherit({ctor:function(i){this.$widgetElement=i,this.$widgetElement.data(o,this),this.widget=this._getWidgetByElement(i),this._widgetWidgetContentReadyHandler=n.proxy(this._onWidgetContentReady,this),this._widgetWidgetItemRenderedHandler=n.proxy(this._onWidgetItemRendered,this),this._widgetDisposingHandler=n.proxy(this._onWidgetDisposing,this);this.widget.on("itemRendered",this._widgetWidgetItemRenderedHandler);this.widget.on("contentReady",this._widgetWidgetContentReadyHandler);this.widget.on("disposing",this._widgetDisposingHandler);this.itemWrappers=[],this._transitionExecutor=new t.TransitionExecutor},addCommand:function(t,i){var r=this._createItemWrapper(t,i);this.itemWrappers.push(r),this._addItemToWidget(r),this.refresh(),this._commandChangedHandler=n.proxy(this._onCommandChanged,this);r.command.on("optionChanged",this._commandChangedHandler)},beginUpdate:function(){this.widget.beginUpdate()},endUpdate:function(){return this.widget.endUpdate(),this.animationDeferred},_onWidgetItemRendered:function(n){n.itemData.isJustAdded&&n.itemElement.is(":visible")&&(this._transitionExecutor.enter(n.itemElement,"command-rendered"),delete n.itemData.isJustAdded)},_onWidgetContentReady:function(){this.animationDeferred=this._transitionExecutor.start()},_onWidgetDisposing:function(){this.dispose(!0)},_onCommandChanged:function(n){n.name!=="highlighted"&&this.refresh()},_addItemToWidget:function(n){var t=this.widget.option("items");t.push(n.widgetItem),this.widget.element().is(":visible")&&(n.widgetItem.isJustAdded=!0)},refresh:function(){var n=this.widget.option("items");this.widget.option("items",n)},clear:function(t){var i=this;n.each(i.itemWrappers,function(n,t){t.command.off("optionChanged",i._commandChangedHandler),t.dispose()}),this.itemWrappers.length=0,t||this._clearWidgetItems()},_clearWidgetItems:function(){this.widget.option("items",[])},dispose:function(n){this.clear(n),this.widget&&(this.widget.off("itemRendered",this._widgetWidgetItemRenderedHandler),this.widget.off("contentReady",this._widgetContentReadyHandler),this.widget.off("disposing",this._widgetDisposingHandler),this.$widgetElement.removeData(o),delete this.widget,delete this.$widgetElement)}}),u=t.Class.inherit({ctor:function(n){this.createAdapter=n},_getWidgetAdapter:function(n){var t=n.data(o);return t||(t=this.createAdapter(n)),t},addCommand:function(n,t,i){var r=this._getWidgetAdapter(n);r.addCommand(t,i)},clearContainer:function(n){var t=this._getWidgetAdapter(n);t.clear()},beginUpdate:function(n){var t=this._getWidgetAdapter(n);t.beginUpdate()},endUpdate:function(n){var t=this._getWidgetAdapter(n);return t.endUpdate()}}),s=e.inherit({_updateItem:function(){var u=this.widgetItem,r=this.command,f=this.containerOptions,e=i.resolvePropertyValue(r,f,"location"),t;u.location=e,e==="menu"?t=u:(t=n.extend({},u),u.options=t,u.widget="button"),t.onClick=function(n){r.execute(n)},t.text=i.resolveTextValue(r,f),t.disabled=r.option("disabled"),t.icon=i.resolveIconValue(r,f,"icon"),t.type=i.resolveTypeValue(r,f)}}),h=r.inherit({ctor:function(n){this.callBase(n)},_getWidgetByElement:function(n){return n.dxToolbar("instance")},_createItemWrapper:function(n,t){return new s(n,t)},addCommand:function(n,t){this.callBase(n,t),this.widget.option("visible",!0)}}),c=e.inherit({_updateItem:function(){var n=this.widgetItem,t=this.command,r=this.containerOptions;n.text=i.resolveTextValue(t,r),n.icon=i.resolveIconValue(t,r,"icon")}}),l=r.inherit({_createItemWrapper:function(n,t){return new c(n,t)},_getWidgetByElement:function(n){return n.dxActionSheet("instance")}}),a=e.inherit({_createWidgetItem:function(t,i){this.callBase(t,i),this.widgetItem.onClick=n.proxy(this._itemClick,this)},_updateItem:function(){var n=this.widgetItem,t=this.command,r=this.containerOptions;n.title=i.resolveTextValue(t,r),n.icon=i.resolveIconValue(t,r,"icon")},_itemClick:function(n){this.command.execute(n)}}),v=r.inherit({_createItemWrapper:function(n,t){return new a(n,t)},_getWidgetByElement:function(n){return n.dxList("instance")}}),y=e.inherit({_updateItem:function(n){var u=this.command,f=this.containerOptions;n!=="highlighted"&&(this.widgetItem.text=i.resolveTextValue(u,f),this.widgetItem.icon=i.resolveIconValue(u,f,"icon"))}}),p=r.inherit({ctor:function(t){this.callBase(t),this.widget.option("onItemClick",n.proxy(this._onNavBarItemClick,this))},_onNavBarItemClick:function(n){for(var i=this.widget.option("items"),t=i.length;--t;)i[t].command.option("highlighted",!1);n.itemData.command.execute(n)},_getWidgetByElement:function(n){return n.dxNavBar("instance")},_createItemWrapper:function(n,t){return new y(n,t)},addCommand:function(n,t){this.callBase(n,t),this._updateSelectedIndex()},_onCommandChanged:function(n){var t=n.name,i=n.value;(t!=="highlighted"||i)&&this._updateSelectedIndex(),this.callBase(n)},_updateSelectedIndex:function(){for(var t=this.widget.option("items"),n=0,i=t.length;n<i;n++)if(t[n].highlighted){this.widget.option("selectedIndex",n);break}}}),w=r.inherit({ctor:function(t){this.callBase(t),this.widget.option("onSelectionChanged",n.proxy(this._onPivotSelectionChange,this))},_onPivotSelectionChange:function(n){n.addedItems.length&&n.removedItems.length&&n.addedItems[0]&&n.addedItems[0].command&&n.addedItems[0].command.execute(n)},_getWidgetByElement:function(n){return n.dxPivot("instance")},_createItemWrapper:function(n,t){return new s(n,t)},addCommand:function(n,t){this.callBase(n,t),this._updateSelectedIndex()},_onCommandChanged:function(n){var t=n.name,i=n.value;t==="visible"?this._rerenderPivot():(t!=="highlighted"||i)&&this._updateSelectedIndex()},_addItemToWidget:function(n){n.command.option("visible")&&this.callBase(n)},_updateSelectedIndex:function(){var i=this.widget,r=i.option("items")||[],n,u;for(t.fx.off=!0,n=0,u=r.length;n<u;n++)if(r[n].highlighted){i.option("selectedIndex",n);break}t.fx.off=!1},_rerenderPivot:function(){var t=this;t.widget.option("items",[]),n.each(t.itemWrappers,function(n,i){i.command.option("visible")&&t._addItemToWidget(i)}),t.refresh(),t._updateSelectedIndex()}}),b=e.inherit({_updateItem:function(){var u=this.widgetItem,f=this.command,e=this.containerOptions;name!=="highlighted"&&(u.title=i.resolveTextValue(f,e),u.icon=i.resolveIconValue(f,e,"icon"))}}),k=r.inherit({ctor:function(t){this.callBase(t),this.widget.option("onItemClick",n.proxy(this._onSlideOutItemClick,this))},_onSlideOutItemClick:function(n){n.itemData.command.execute(n)},_getWidgetByElement:function(n){return n.dxSlideOut("instance")},_createItemWrapper:function(n,t){return new b(n,t)},_updateSelectedIndex:function(){for(var t=this.widget.option("items")||[],n=0,i=t.length;n<i;n++)if(t[n].highlighted){this.widget.option("selectedIndex",n);break}},addCommand:function(n,t){this.callBase(n,t),this._updateSelectedIndex()},_onCommandChanged:function(n){var t=n.name,i=n.value;(t!=="highlighted"||i)&&this._updateSelectedIndex(),this.callBase(n)}}),f=t.framework.html.commandToDXWidgetAdapters={};f.dxToolbar=new u(function(n){return new h(n)}),f.dxActionSheet=new u(function(n){return new l(n)}),f.dxList=new u(function(n){return new v(n)}),f.dxNavBar=new u(function(n){return new p(n)}),f.dxPivot=new u(function(n){return new w(n)}),f.dxSlideOut=new u(function(n){return new k(n)})}(jQuery,DevExpress),function(n,t){var r=t.Class,u=t.DOMComponent.inherit({ctor:function(t,i){n.isPlainObject(t)&&(i=t,t=n("<div />")),this.callBase(t,i)},_setDefaultOptions:function(){this.callBase(),this.option({id:null})},_render:function(){this.callBase(),this.element().addClass("dx-command-container")}});t.registerComponent("dxCommandContainer",t.framework,u),t.framework.html.CommandManager=r.inherit({ctor:function(n){n=n||{},this.defaultWidgetAdapter=n.defaultWidgetAdapter||this._getDefaultWidgetAdapter(),this.commandMapping=n.commandMapping||new t.framework.CommandMapping},_getDefaultWidgetAdapter:function(){return{addCommand:n.noop,clearContainer:n.noop}},_getContainerAdapter:function(n){var i=n.data("dxComponents"),u=t.framework.html.commandToDXWidgetAdapters,f,r;if(i)for(f in i)if(r=i[f],r in u)return u[r];return this.defaultWidgetAdapter},findCommands:function(t){return n.map(t.addBack().find(".dx-command"),function(t){return n(t).dxCommand("instance")})},findCommandContainers:function(t){return n.map(t.find(".dx-command-container"),function(t){return n(t).dxCommandContainer("instance")})},_checkCommandId:function(n,i){if(n===null)throw t.Error("E3010",i.element().get(0).outerHTML);},renderCommandsToContainers:function(t,i){var r=this,u={},f=[],e=[];return n.each(t,function(n,t){var i=t.option("id");r._checkCommandId(i,t),f.push(i),u[i]=t}),r.commandMapping.checkCommandsExist(f),n.each(i,function(t,i){var f=[],o;n.each(u,function(n,t){var e=n,u=r.commandMapping.getCommandMappingForContainer(e,i.option("id"));u&&f.push({command:t,options:u})}),f.length&&(o=r._attachCommandsToContainer(i.element(),f),o&&e.push(o))}),n.when.apply(n,e)},clearContainer:function(n){var t=n.element(),i=this._getContainerAdapter(t);i.clearContainer(t)},_arrangeCommandsToContainers:function(n,i){t.log("W0002","CommandManager","_arrangeCommandsToContainers","14.1","Use the 'renderCommandsToContainers' method instead."),this.renderCommandsToContainers(n,i)},_attachCommandsToContainer:function(t,i){var r=this._getContainerAdapter(t),u;return r.beginUpdate&&r.beginUpdate(t),n.each(i,function(n,i){r.addCommand(t,i.command,i.options)}),r.endUpdate&&(u=r.endUpdate(t)),u}})}(jQuery,DevExpress),function(n,t,i){var o=t.Class,r="__hidden-bag",f=".dx-transition:not(.dx-transition .dx-transition)",s=".dx-content",e="onViewShown",h=function(n){return".dx-transition-"+n},u;t.framework.html.DefaultLayoutController=o.inherit({ctor:function(t){t=t||{},this.name=t.name||"",this._layoutModel=t.layoutModel||{},this._defaultPaneName=t.defaultPaneName||"content",this._transitionDuration=t.transitionDuration===i?400:t.transitionDuration,this.viewReleased=n.Callbacks(),this.viewRendered=n.Callbacks(),this._callbacksToEvents("DefaultLayoutController",["viewReleased","viewRendered"])},init:function(i){i=i||{},this._visibleViews={},this._$viewPort=i.$viewPort||n("body"),this._commandManager=i.commandManager,this._viewEngine=i.viewEngine,this.transitionExecutor=new t.TransitionExecutor,this._prepareTemplates(),this._$viewPort.append(this._getRootElement()),this._hideElements(this._getRootElement()),i.templateContext&&(this._templateContext=i.templateContext,this._proxiedTemplateContextChangedHandler=n.proxy(this._templateContextChangedHandler,this))},activate:function(){var t=this._getRootElement();return this._showElements(t),this._attachRefreshViewRequiredHandler(),n.Deferred().resolve().promise()},deactivate:function(){return this._releaseVisibleViews(),this._hideElements(this._getRootElement()),this._detachRefreshViewRequiredHandler(),n.Deferred().resolve().promise()},activeViewInfo:function(){return this._visibleViews[this._defaultPaneName]},_applyTemplate:function(n,i){n.each(function(n,r){t.framework.templateProvider.applyTemplate(r,i)})},_releaseVisibleViews:function(){var t=this;n.each(this._visibleViews,function(n,i){t._hideView(i),t._releaseView(i)}),this._visibleViews={}},_templateContextChangedHandler:function(){n.each(this._visibleViews,n.proxy(function(n,t){this.showView(t)},this))},_attachRefreshViewRequiredHandler:function(){if(this._templateContext)this._templateContext.on("optionChanged",this._proxiedTemplateContextChangedHandler)},_detachRefreshViewRequiredHandler:function(){this._templateContextChanged&&this._templateContext.off("optionChanged",this._proxiedTemplateContextChangedHandler)},_getPreviousViewInfo:function(n){return this._visibleViews[this._getViewPaneName(n.viewTemplateInfo)]},_prepareTemplates:function(){var n=this,t=n._viewEngine.getLayoutTemplate(this._getLayoutTemplateName());n._$layoutTemplate=t,n._$mainLayout=n._createEmptyLayout(),n._showElements(n._$mainLayout),n._applyTemplate(n._$mainLayout,n._layoutModel),n._$navigationWidget=n._createNavigationWidget()},renderNavigation:function(n){this._clearNavigationWidget(),this._renderNavigationImpl(n)},_renderNavigationImpl:function(n){this._renderCommands(this._$mainLayout,n)},_createNavigationWidget:function(){var i=this._findCommandContainers(this._$mainLayout),t;return n.each(i,function(n,i){if(i.option("id")==="global-navigation")return t=i.element(),!1}),t},_clearNavigationWidget:function(){this._$navigationWidget&&this._commandManager.clearContainer(this._$navigationWidget.dxCommandContainer("instance"))},_getRootElement:function(){return this._$mainLayout},_getViewFrame:function(){return this._$mainLayout},_getLayoutTemplateName:function(){return this.name},_applyModelToTransitionElements:function(t,i){var r=this;this._getTransitionElements(t).each(function(t,u){r._applyTemplate(n(u).children(),i)})},_createViewLayoutTemplate:function(){var t=this,n=t._$layoutTemplate.clone();return this._hideElements(n),n},_createEmptyLayout:function(){var t=this,n=t._$layoutTemplate.clone();return this._hideElements(n),this._getTransitionElements(n).empty(),n.children(s).remove(),n},_getTransitionElements:function(n){return n.find(f).addBack(f)},showView:function(t,r){r=r||"forward";var u=this,f=u._getPreviousViewInfo(t),e=f===t?f.currentViewTemplateId:i;return(this._defineCurrentViewTemplateId(t),e&&e===t.currentViewTemplateId&&t===f)?n.Deferred().resolve().promise():(u._ensureViewRendered(t),this.fireEvent("viewShowing",[t]),this._showViewImpl(t,r,e).done(function(){u._onViewShown(t)}))},disposeView:function(n){this._clearRenderResult(n)},_clearRenderResult:function(n){n.renderResult&&(n.renderResult.$markup.remove(),n.renderResult.$viewItems.remove(),delete n.renderResult)},_prepareViewTemplate:function(){},_renderViewImpl:function(i,r){var h=this,o=".dx-command,.dx-content,script",f=this._createViewLayoutTemplate(),e,s=!0,u=n();if(i.children(o).length===0&&this._viewEngine._wrapViewDefaultContent(i),e=i.children(),this._applyModelToTransitionElements(f,r.model),this._viewEngine.applyLayout(i,f),e.each(function(t,i){var f=n(i);h._applyTemplate(f,r.model),f.is(o)?s=!1:u=u.add(f)}),u.length&&!s)throw t.Error("E3014",u[0].outerHTML);r.renderResult=r.renderResult||{},r.renderResult.$viewItems=e,r.renderResult.$markup=f},_renderCommands:function(n,t){var i=this._findCommandContainers(n);this._commandManager.renderCommandsToContainers(t,i)},_prepareViewCommands:function(i){var u=i.renderResult.$viewItems,f=this._commandManager.findCommands(u),r={};i.commands=t.framework.utils.mergeCommands(i.commands||[],f),i.commandsToRenderMap=r,n.each(i.commands,function(n,t){var i=t.option("renderStage")||e,u=r[i]=r[i]||[];u.push(t)})},_applyViewCommands:function(n,t){t=t||e;var i=n.commandsToRenderMap[t],r=n.renderResult.$markup;i&&(this._renderCommands(r,i),delete n.commandsToRenderMap[t])},_findCommandContainers:function(n){return t.utils.createComponents(n,["dxCommandContainer"])},_defineCurrentViewTemplateId:function(n){var t=n.$viewTemplate?n.$viewTemplate.dxView("instance"):this._viewEngine.getViewTemplateInfo(n.viewName),i=t.getId();n.currentViewTemplateId=i},_ensureViewRendered:function(n){var t=n.renderResult&&n.renderResult.markupCache[n.currentViewTemplateId];t?n.renderResult.$markup=t:(this._renderView(n),n.renderResult.markupCache=n.renderResult.markupCache||{},n.renderResult.markupCache[n.currentViewTemplateId]=n.renderResult.$markup)},_renderView:function(n){var t=n.$viewTemplate||this._viewEngine.getViewTemplate(n.viewName);this._prepareViewTemplate(t,n),this._renderViewImpl(t,n),this._prepareViewCommands(n),this._applyViewCommands(n,"onViewRendering"),this._appendViewToLayout(n),t.remove(),this._onRenderComplete(n),this.fireEvent("viewRendered",[n])},_appendViewToLayout:function(i){var r=this,o=r._getViewFrame(i),u=i.renderResult.$markup,f=n(),e=[];n.each(u.find(".dx-content-placeholder"),function(i,r){t.framework.prepareTransition(n(r),n(r).attr("data-dx-content-placeholder-name"))}),n.each(r._getTransitionElements(o),function(t,i){var s=n(i),o=u.find(h(s.attr("data-dx-transition-name"))).children(),c={$element:o,animation:s.attr("data-dx-transition-type")};e.push(c),r._hideViewElements(o),s.append(o),f=f.add(o)}),r._$mainLayout.append(i.renderResult.$viewItems.filter(".dx-command")),u.remove(),i.renderResult.$markup=f,i.renderResult.animationItems=e},_onRenderComplete:function(){},_onViewShown:function(){n(document).trigger("dx.viewchanged")},_enter:function(t){var i=this.transitionExecutor;n.each(t,function(n,t){i.enter(t.$element,t.animation)})},_leave:function(t){var i=this.transitionExecutor;n.each(t,function(n,t){i.leave(t.$element,t.animation)})},_doTransition:function(n,t,i){return n&&this._leave(n.renderResult.animationItems),this._enter(t.renderResult.animationItems),this.transitionExecutor.start({direction:i})},_showViewImpl:function(t,i,r){var u=this,f,e=this._getPreviousViewInfo(t);return this._showView(t),e&&e!==t?f=u._doTransition(e,t,i).done(function(){u._changeView(t)}):(u._changeView(t,r),f=n.Deferred().resolve().promise()),f},_releaseView:function(n){this.viewReleased.fireWith(this,[n])},_changeView:function(n,t){var r=this,i;t?r._hideView(n,t):(i=r._getPreviousViewInfo(n),i&&i!==n&&(r._hideView(i),r._releaseView(i)),this._visibleViews[this._getViewPaneName(n.viewTemplateInfo)]=n),this._applyViewCommands(n),this._subscribeToDeferredItems(n),this._renderDeferredItems(n.renderResult.$markup)},_subscribeToDeferredItems:function(t){var r=this,i=t.renderResult.$markup;i.find(".dx-pending-rendering").add(i.filter(".dx-pending-rendering")).each(function(){var i=n(this),u=i.data("dx-rendered-promise");u&&u.done(function(){r._renderCommands(i,t.commands)})})},_renderDeferredItems:function(n){var r=this,t=n.find(".dx-pending-rendering-manual").add(n.filter(".dx-pending-rendering-manual")).first(),i;t.length&&(i=t.data("dx-render-delegate"),setTimeout(function(){i().done(function(){r._renderDeferredItems(n)})}))},_getViewPaneName:function(){return this._defaultPaneName},_hideElements:function(n){n.addClass("dx-hidden")},_showElements:function(n){n.removeClass("dx-hidden"),t.utils.triggerShownEvent(n)},_hideViewElements:function(n){t.utils.triggerHidingEvent(n),this._patchIDs(n),this._disableInputs(n),n.removeClass("dx-active-view").addClass("dx-inactive-view")},_hideView:function(n,t){if(n.renderResult){var r=t===i?n.renderResult.$markup:n.renderResult.markupCache[t];this._hideViewElements(r)}},_showViewElements:function(n){this._unpatchIDs(n),this._enableInputs(n),n.removeClass("dx-inactive-view").addClass("dx-active-view"),t.utils.triggerShownEvent(n)},_showView:function(n){n.renderResult&&this._showViewElements(n.renderResult.$markup)},_patchIDs:function(n){this._processIDs(n,function(n){var t=n;return n.indexOf(r)===-1&&(t=r+"-"+n),t})},_unpatchIDs:function(n){this._processIDs(n,function(n){var t=n;return n.indexOf(r)===0&&(t=n.substr(r.length+1)),t})},_processIDs:function(t,i){var r=t.find("[id]");n.each(r,function(t,r){var u=n(r),f=u.attr("id");u.attr("id",i(f))})},_enableInputs:function(t){var i=t.find(":input[data-disabled=true]");n.each(i,function(t,i){n(i).removeAttr("disabled").removeAttr("data-disabled")})},_disableInputs:function(t){var i=t.find(":input:not([disabled], [disabled=true])");n.each(i,function(t,i){n(i).attr({disabled:!0,"data-disabled":!0})})}}).include(t.EventsMixin),u=t.framework.html.layoutSets,u["default"]=u["default"]||[],u["default"].push({controller:new t.framework.html.DefaultLayoutController})}(jQuery,DevExpress),function(n,t,i){var s=t.Class,r=t.framework,u="dxView",f="dxLayout",e,o;t.registerComponent(u,r,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({name:null,title:null})},ctor:function(){this.callBase.apply(this,arguments),this._id=t.utils.uniqueId()},_render:function(){this.callBase(),this.element().addClass("dx-view"),this.element().attr("dx-data-template-id",this._id)},getId:function(){return this._id}}),r),t.registerComponent(f,r,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({name:null})},_render:function(){this.callBase(),this.element().addClass("dx-layout")}})),t.registerComponent("dxViewPlaceholder",r,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({viewName:null})},_render:function(){this.callBase(),this.element().addClass("dx-view-placeholder")}})),e=function(n,t,i,r){r==="absolute"?n.addClass("dx-transition-absolute"):n.addClass("dx-transition-static"),n.addClass("dx-transition").addClass("dx-transition-"+i).addClass("dx-transition-"+t).attr("data-dx-transition-type",t).attr("data-dx-transition-name",i)},o=function(n){n.addClass("dx-transition-inner-wrapper")},t.registerComponent("dxTransition",r,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({name:null,type:i,animation:"slide"})},_render:function(){this.callBase();var n=this.element();e(n,this.option("type")||this.option("animation"),this.option("name"),"absolute"),n.wrapInner("<div/>"),o(n.children())},_clean:function(){this.callBase(),this.element().empty()}})),t.framework.prepareTransition=function(n,t){n.children(".dx-content").length===0&&(n.wrapInner("<div>"),n.children().dxContent({targetPlaceholder:t}))},t.registerComponent("dxContentPlaceholder",r,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({name:null,transition:i,animation:"none",contentCssPosition:"absolute"})},_render:function(){this.callBase();var n=this.element();n.addClass("dx-content-placeholder").addClass("dx-content-placeholder-"+this.option("name")),n.attr("data-dx-content-placeholder-name",this.option("name")),e(n,this.option("transition")||this.option("animation"),this.option("name"),this.option("contentCssPosition"))},prepareTransition:function(){t.framework.prepareTransition(this.element(),this.option("name"))}})),t.registerComponent("dxContent",r,t.DOMComponent.inherit({_setDefaultOptions:function(){this.callBase(),this.option({targetPlaceholder:null})},_optionChanged:function(){this._refresh()},_clean:function(){this.callBase(),this.element().removeClass(this._currentClass)},_render:function(){this.callBase();var n=this.element();n.addClass("dx-content"),this._currentClass="dx-content-"+this.option("targetPlaceholder"),n.attr("data-dx-target-placeholder-id",this.option("targetPlaceholder")),n.addClass(this._currentClass),o(n)}})),r.html.ViewEngine=s.inherit({ctor:function(t){t=t||{},this.$root=t.$root,this.device=t.device||{},this.dataOptionsAttributeName=t.dataOptionsAttributeName||"data-options",this._templateMap={},this._pendingViewContainer=null,this.markupLoaded=n.Callbacks(),this._templateContext=t.templateContext},_enumerateTemplates:function(t){var i=this;n.each(i._templateMap,function(i,r){n.each(r,function(i,r){n.each(r,function(n,i){t(i)})})})},_findComponent:function(n,t){var i=(this._templateMap[n]||{})[t]||[],r=this._templateContext&&this._templateContext.option()||{};return i=this._filterTemplates(r,i),this._checkMatchedTemplates(i),i[0]},_findTemplate:function(n,i){var r=this._findComponent(n,i),u,f;if(!r)throw t.Error("E3013",i,n);return u=r.element(),f=u.clone().removeClass("dx-hidden"),f},_extendModelFromViewData:function(n,i){t.utils.extendFromObject(i,n.data(u).option())},_loadTemplatesFromMarkupCore:function(i){var r=this,e;if(i.find("[data-dx-role]").length)throw t.Error("E3019");r.markupLoaded.fire({markup:i}),i.appendTo(r.$root),e=t.utils.createComponents(i,[u,f]),n.each(e,function(n,u){var f=u.element();f.addClass("dx-hidden"),t.utils.createComponents(i,["dxContent","dxContentPlaceholder","dxTransition"]),r._registerTemplateComponent(u),u.element().detach()})},_registerTemplateComponent:function(n){var i=n.NAME,u=n.option(),r=u.name,t=this._templateMap[r]||{};t[i]=t[i]||[],t[i].push(n),this._templateMap[r]=t},_applyPartialViews:function(i){var r=this;t.utils.createComponents(i,["dxViewPlaceholder"]),n.each(i.find(".dx-view-placeholder"),function(){var i=n(this),f,t;i.children().length||(f=i.data("dxViewPlaceholder").option("viewName"),t=r._findTemplate(f,u),r._applyPartialViews(t),i.append(t),t.removeClass("dx-hidden"))})},_ajaxImpl:function(){return n.ajax.apply(n,arguments)},_loadTemplatesFromURL:function(i){var f=this,u=this._getLoadOptions(),r=n.Deferred();return i=u.winPhonePrefix+i,this._ajaxImpl({url:i,isLocal:u.isLocal,dataType:"html"}).done(function(n){f._loadTemplatesFromMarkupCore(t.utils.createMarkupFromString(n)),r.resolve()}).fail(function(n,u,f){var e=t.Error("E3021",i,f);r.reject(e)}),r.promise()},_getLoadOptions:function(){return location.protocol.indexOf("wmapp")>=0?{winPhonePrefix:location.protocol+"www/",isLocal:!0}:{winPhonePrefix:"",isLocal:i}},_loadExternalTemplates:function(){var t=[],i=this;return n("head").find("link[rel='dx-template']").each(function(r,u){var f=i._loadTemplatesFromURL(n(u).attr("href"));t.push(f)}),n.when.apply(n,t)},_processTemplates:function(){var t=this;n.each(t._templateMap,function(i,r){n.each(r,function(n,i){t._filterTemplatesByDevice(i)})}),t._enumerateTemplates(function(n){t._applyPartialViews(n.element())})},_filterTemplatesByDevice:function(t){var i=this._filterTemplates(this.device,t);n.each(t,function(t,r){n.inArray(r,i)<0&&(r._dispose(),r.element().remove())}),t.length=0,t.push.apply(t,i)},_filterTemplates:function(n,i){return t.utils.findBestMatches(n,i,function(n){return n.option()})},_checkMatchedTemplates:function(i){if(i.length>1){var r="";n.each(i,function(n,t){r+=t.element().attr("data-options")+"\r\n"});throw t.Error("E3020",r,JSON.stringify(this.device));}},_extendModelFormViewTemplate:function(n,t){this._extendModelFromViewData(n,t)},_wrapViewDefaultContent:function(n){n.wrapInner('<div class="dx-full-height"><\/div>'),n.children().eq(0).dxContent({targetPlaceholder:"content"})},_initDefaultLayout:function(){this._$defaultLayoutTemplate=n('<div class="dx-full-height" data-options="dxLayout : { name: \'default\' } "> \n <div class="dx-full-height" data-options="dxContentPlaceholder : { name: \'content\' } " ><\/div> \n<\/div>'),t.utils.createComponents(this._$defaultLayoutTemplate)},_getDefaultLayoutTemplate:function(){return this._$defaultLayoutTemplate.clone()},applyLayout:function(t,r){(r===i||r.length===0)&&(r=this._getDefaultLayoutTemplate()),t.children(".dx-content").length===0&&this._wrapViewDefaultContent(t);var u=n().add(r).add(t),f=u.find(".dx-content");return n.each(f,function(){var t=n(this),r=t.attr("data-dx-target-placeholder-id"),i=u.find(".dx-content-placeholder-"+r);i.empty(),i.append(t)}),f.filter(":not(.dx-content-placeholder .dx-content)").remove(),r},init:function(){var n=this;return this._initDefaultLayout(),this._loadExternalTemplates().done(function(){n._loadTemplatesFromMarkupCore(n.$root.children()),n._processTemplates()})},getViewTemplate:function(n){return this._findTemplate(n,u)},getViewTemplateInfo:function(n){return this._findComponent(n,u)},getLayoutTemplate:function(n){return n?this._findTemplate(n,f):this._getDefaultLayoutTemplate()},getLayoutTemplateInfo:function(n){return this._findComponent(n,f)},loadTemplates:function(t){var i;return typeof t=="string"?i=this._loadTemplatesFromURL(t):(this._loadTemplatesFromMarkupCore(t),i=n.Deferred().resolve().promise()),i.done(n.proxy(this._processTemplates,this))}})}(jQuery,DevExpress),function(n,t,i){var r=t.framework,u=r.html,f="dx-viewport";u.HtmlApplication=r.Application.inherit({ctor:function(i){i=i||{},this.callBase(i),this._$root=n(i.rootNode||document.body),this._initViewport(i.viewPort),this._applicationMode==="mobileApp"&&t.utils.initMobileViewport(i.viewPort),this.device=i.device||t.devices.current(),this.commandManager=i.commandManager||new t.framework.html.CommandManager({commandMapping:this.commandMapping}),this._initTemplateContext(),this.viewEngine=i.viewEngine||new u.ViewEngine({$root:this._$root,device:this.device,templateContext:this._templateContext}),this.components.push(this.viewEngine),this._initMarkupFilters(this.viewEngine),this.viewRendered=n.Callbacks(),this._layoutSet=i.layoutSet||t.framework.html.layoutSets["default"],this._animationSet=i.animationSet||t.framework.html.animationSets["default"],this._availableLayoutControllers=[],this._activeLayoutControllersStack=[],this.resolveLayoutController=n.Callbacks(),this._callbacksToEvents("HtmlApplication",["viewRendered","resolveLayoutController"]),this._initAnimations(this._animationSet)},_initAnimations:function(i){i&&(n.each(i,function(i,r){n.each(r,function(n,r){t.animationPresets.registerPreset(i,r)})}),t.animationPresets.applyChanges())},_localizeMarkup:function(n){t.localization.localizeNode(n)},_notifyIfBadMarkup:function(i){i.each(function(){var i=n(this).html();/href="#/.test(i)&&t.log("W3005",i)})},_initMarkupFilters:function(t){var i=[];i.push(this._localizeMarkup),t.markupLoaded&&t.markupLoaded.add(function(t){n.each(i,function(n,i){i(t.markup)})})},_createViewCache:function(n){var i=this.callBase(n);return n.viewCache||(i=new t.framework.ConditionalViewCacheDecorator({filter:function(n,t){return!t.viewTemplateInfo.disableCache},viewCache:i})),i},_initViewport:function(){this._$viewPort=this._getViewPort(),t.viewPort(this._$viewPort)},_getViewPort:function(){var t=n("."+f);return t.length||(t=n("<div>").addClass(f).appendTo(this._$root)),t},_initTemplateContext:function(){this._templateContext=new t.Component({orientation:t.devices.orientation()});t.devices.on("orientationChanged",n.proxy(function(n){this._templateContext.option("orientation",n.orientation)},this))},_showViewImpl:function(i,r){var u=this,f=n.Deferred(),e=f.promise(),o=i.layoutController;return u._obtainViewLink(i),o.showView(i,r).done(function(){u._activateLayoutController(o,u._getTargetNode(i)).done(function(){f.resolve()})}),t.ui.events.lockFeedback(e),e},_resolveLayoutController:function(n){var t={viewInfo:n,layoutController:null,availableLayoutControllers:this._availableLayoutControllers};return this._processEvent("resolveLayoutController",t,n.model),t.layoutController||this._resolveLayoutControllerImpl(n)},_ensureOneLayoutControllerFound:function(n,i){var r=function(n,t){return n==="controller"?"[controller]: { name:"+t.name+" }":t};if(!i.length){t.log("W3003",JSON.stringify(n,null,4),JSON.stringify(this._availableLayoutControllers,r,4));throw t.Error("E3011");}if(i.length>1){t.log("W3004",JSON.stringify(n,null,4),JSON.stringify(i,r,4));throw t.Error("E3012");}},_resolveLayoutControllerImpl:function(r){var u=r.viewTemplateInfo||{},f=r.navigateOptions||{},e=n.extend({root:!r.canBack,customResolveRequired:!1,pane:u.pane,modal:f.modal!==i?f.modal:u.modal||!1},t.devices.current()),o=t.utils.findBestMatches(e,this._availableLayoutControllers);return this._ensureOneLayoutControllerFound(e,o),o[0].controller},_onNavigatingBack:function(n){if(this.callBase.apply(this,arguments),!n.cancel&&!this.canBack()&&this._activeLayoutControllersStack.length>1){var t=this._activeLayoutControllersStack[this._activeLayoutControllersStack.length-2],i=t.activeViewInfo();n.cancel=!0,this._activateLayoutController(t),this.navigationManager.currentItem(i.key)}},_activeLayoutController:function(){return this._activeLayoutControllersStack.length?this._activeLayoutControllersStack[this._activeLayoutControllersStack.length-1]:i},_getTargetNode:function(t){var r=(t.navigateOptions||{}).jQueryEvent;return r?n(r.target):i},_activateLayoutController:function(t,i){var r=this,u=n.Deferred(),f=r._activeLayoutController();return f!==t?t.activate(i).done(function(){var f=[],i;if(!t.isOverlay)while(r._activeLayoutControllersStack.length&&i!==t)i=r._activeLayoutController(),i!==t&&(r._activeLayoutControllersStack.pop(),f.push(i.deactivate()));n.when.apply(n,f).done(function(){r._activeLayoutControllersStack.push(t),u.resolve()})}):u.resolve(),u.promise()},init:function(){var n=this,t=this.callBase();return t.done(function(){n._initLayoutControllers(),n.renderNavigation()}),t},_disposeView:function(n){n.layoutController.disposeView&&n.layoutController.disposeView(n),this.callBase(n)},viewPort:function(){return this._$viewPort},_createViewInfo:function(){var r=this.callBase.apply(this,arguments),u=this.getViewTemplateInfo(r.viewName);if(!u)throw t.Error("E3013","dxView",r.viewName);return r.viewTemplateInfo=u,r.layoutController=this._resolveLayoutController(r),r},_createViewModel:function(n){var i,r,t;this.callBase(n),i=n.viewTemplateInfo,r=n.model;for(t in i)t in r||(r[t]=i[t])},_initLayoutControllers:function(){var i=this;n.each(i._layoutSet,function(n,r){var u=r.controller,f=t.devices.current();if(t.utils.findBestMatches(f,[r]).length&&(i._availableLayoutControllers.push(r),u.init&&u.init({app:i,$viewPort:i._$viewPort,navigationManager:i.navigationManager,viewEngine:i.viewEngine,templateContext:i._templateContext,commandManager:i.commandManager}),u.on)){u.on("viewReleased",function(n){i._onViewReleased(n)});u.on("viewRendered",function(n){i._processEvent("viewRendered",{viewInfo:n},n.model)});u.on("viewShowing",function(n){i._processEvent("viewShowing",{viewInfo:n},n.model)})}})},_onViewReleased:function(n){this._onViewHidden(n),this._releaseViewLink(n)},renderNavigation:function(){var t=this;n.each(t._availableLayoutControllers,function(n,i){var r=i.controller;r.renderNavigation&&r.renderNavigation(t.navigation)})},getViewTemplate:function(n){return this.viewEngine.getViewTemplate(n)},getViewTemplateInfo:function(n){var t=this.viewEngine.getViewTemplateInfo(n);return t&&t.option()},loadTemplates:function(n){return this.viewEngine.loadTemplates(n)},templateContext:function(){return this._templateContext}})}(jQuery,DevExpress),DevExpress.MOD_FRAMEWORK=!0}if(!DevExpress.MOD_VIZ_CORE){if(!window.DevExpress)throw Error("Required module is not referenced: core");(function(n){n.viz={}})(DevExpress),function(n){n.viz.core={}}(DevExpress),function(n,t){n.extend(t.ERROR_MESSAGES,{E2001:"Invalid data source",E2002:"Axis type and data type are incompatible",E2003:'"{0}" data source field contains data of unsupported type',E2004:'"{0}" data source field is inconsistent',E2101:"Unknown series type was specified: {0}",E2102:"Ambiguity occurred between two value axes with the same name",E2103:'"{0}" option must be a function',E2104:"Invalid logarithm base",E2105:'Invalid value of a "{0}"',E2106:"Invalid visible range",E2202:"Invalid scale {0} value",E2203:'The "{0}" field of the "selectedRange" configuration object is not valid',W2001:"{0} cannot be drawn because its container is invisible",W2002:"The {0} data field is absent",W2003:"Tick interval is too small",W2101:'"{0}" pane does not exist; "{1}" pane is used instead',W2102:'Value axis with the "{0}" name was created automatically',W2103:"Chart title was hidden due to container size",W2104:"Legend was hidden due to container size",W2105:'Title of "{0}" axis was hidden due to container size',W2106:'Labels of "{0}" axis were hidden due to container size',W2301:"Invalid value range"})}(jQuery,DevExpress),function(n,t){var f=t.viz.core,e=t.utils,r=e.isDefined,o=e.adjustValue,s=Math,u=s.abs,c=s.ceil,h=s.floor,l=n.noop,a=200,v=[2,4,5,8,10];f.outOfScreen={x:-1e3,y:-1e3},f.tickManager={},f.tickManager.continuous={_hasUnitBeginningTickCorrection:l,_removeBoundedOverlappingDates:l,_correctInterval:function(n){this._tickInterval*=n},_correctMax:function(n){this._max=this._adjustNumericTickValue(c(this._max/n)*n,n,this._min)},_correctMin:function(n){this._min=this._adjustNumericTickValue(h(this._min/n)*n,n,this._min)},_findBusinessDelta:function(n,t){return o(u(n-t))},_findTickIntervalForCustomTicks:function(){return u(this._customTicks[1]-this._customTicks[0])},_getBoundInterval:function(){var n=this,t=n._options.boundCoef;return r(t)&&isFinite(t)?n._tickInterval*u(t):n._tickInterval/2},_getInterval:function(n,t){var f=n||this._getDeltaCoef(this._screenDelta,this._businessDelta,this._options.gridSpacingFactor),e=t||this._options.numberMultipliers,r,u=0,h,s=!1,i;if(f>1){for(r=1;!s;r*=10)for(i=0;i<e.length;i++)if(u=e[i]*r,f<=u){s=!0;break}}else if(f>0)for(u=1,r=.1;!s;r/=10)for(i=e.length-1;i>=0;i--){if(h=e[i]*r,f>h){s=!0;break}u=h}return o(u)},_getMarginValue:function(n,t,i){return e.applyPrecisionByMinDelta(n,i,u(t-n)*i)},_getDefaultMinorInterval:function(n,t){var f=this._getDeltaCoef(n,t,this._options.minorGridSpacingFactor),u=v,i=u.length-1,r;for(i;i>=0;i--)if(r=t/u[i],f<=r)return o(r);return 0},_getMinorInterval:function(n,t){var u=this,e=u._options,o=e.minorTickInterval,s=e.minorTickCount,i,l,f;isFinite(o)&&u._isTickIntervalCorrect(o,a,t)?(i=o,f=i<t?c(t/i)-1:0):r(s)?(l=r(s)?s+1:h(n/e.minorGridSpacingFactor),f=l-1,i=f>0?t/l:0):(i=u._getDefaultMinorInterval(n,t),f=i<t?h(t/i)-1:0),u._minorTickInterval=i,u._minorTickCount=f},_getNextTickValue:function(n,t,i){return t=r(i)&&i?-t:t,n+=t,this._adjustNumericTickValue(n,t,this._min)},_isTickIntervalValid:function(n){return r(n)&&isFinite(n)&&n!==0}}}(jQuery,DevExpress),function(n,t){var c=t.viz.core,r=t.utils,e=r.isDefined,l=r.convertDateUnitToMilliseconds,a=r.correctDateWithUnitBeginning,u=r.dateToMilliseconds,f=r.convertMillisecondsToDateUnits,o=Math,s=o.abs,v=o.ceil,y=o.floor,p=o.round,w=50,h={millisecond:[1,2,5,10,25,100,250,300,500],second:[1,2,3,5,10,15,20,30],minute:[1,2,3,5,10,15,20,30],hour:[1,2,3,4,6,8,12],day:[1,2,3,5,7,10,14],month:[1,2,3,6]};c.tickManager.datetime=n.extend({},c.tickManager.continuous,{_correctInterval:function(n){var t=u(this._tickInterval);this._tickInterval=f(t*n)},_correctMax:function(n){var t=u(n);this._max=new Date(v(this._max/t)*t)},_correctMin:function(n){var t=u(n);this._min=new Date(y(this._min/t)*t),this._options.setTicksAtUnitBeginning&&a(this._min,n)},_findTickIntervalForCustomTicks:function(){return f(s(this._customTicks[1]-this._customTicks[0]))},_getBoundInterval:function(){var t=this,r=t._tickInterval,i=u(r),n=t._options.boundCoef,o=e(n)&&isFinite(n)?i*s(n):i/2;return f(o)},_getInterval:function(n){var i=n||this._getDeltaCoef(this._screenDelta,this._businessDelta,this._options.gridSpacingFactor),o=this._options.numberMultipliers,s={},f,t,r,u,e;if(i>0&&i<1)return{milliseconds:1};if(i===0)return 0;for(r in h)if(h.hasOwnProperty(r))for(u=h[r],t=0;t<u.length;t++)if(i<=l(r,u[t]))return s[r+"s"]=u[t],s;for(f=1;;f*=10)for(t=0;t<o.length;t++)if(e=f*o[t],i<=l("year",e))return{years:e};return 0},_getMarginValue:function(n,t,i){return f(p(s(t-n)*i))},_getMinorInterval:function(n,t){var r=this,i=r._options,o,h,c,s;e(i.minorTickInterval)&&r._isTickIntervalCorrect(i.minorTickInterval,w,t)?(o=i.minorTickInterval,h=u(o),s=h<t?v(t/h)-1:0):(c=e(i.minorTickCount)?i.minorTickCount+1:y(n/i.minorGridSpacingFactor),s=c-1,o=s>0?f(t/c):0),r._minorTickInterval=o,r._minorTickCount=s},_getNextTickValue:function(n,t,i,u,f){var e=r.addInterval(n,t,i);return this._options.setTicksAtUnitBeginning&&f!==!1&&a(e,t,!0),e},_getUnitBeginningMinorTicks:function(n){var t=this,i=t._ticks,r=t._findMinorTickInterval(i[1],i[2]),u=!0,f=!1,e=!1,o=t._getNextTickValue(i[1],r,u,f,e);return t._isTickIntervalValid(r)&&(n=t._createTicks(n,r,o,i[0],u,f,e)),n},_hasUnitBeginningTickCorrection:function(){var n=this._ticks;return n.length<3?!1:n[1]-n[0]!=n[2]-n[1]&&this._options.setTicksAtUnitBeginning&&this._options.minorTickCount},_isTickIntervalValid:function(n){return e(n)&&u(n)!==0},_removeBoundedOverlappingDates:function(){var n=this._ticks;n.length>2&&this.getOverlappingBehavior().mode!=="stagger"&&!this._areDisplayValuesValid(n[0],n[1])&&n.splice(1,1)}})}(jQuery,DevExpress),function(n,t){var o=t.viz.core,f=t.utils,h=f.isDefined,l=f.addInterval,r=f.adjustValue,u=f.getLog,s=f.raiseTo,e=Math,a=e.abs,v=e.ceil,c=e.floor,y=e.round;o.tickManager.logarithmic=n.extend({},o.tickManager.continuous,{_correctMax:function(){var n=this._options.base;this._max=r(s(v(r(u(this._max,n))),n))},_correctMin:function(){var n=this._options.base;this._min=r(s(c(r(u(this._min,n))),n))},_findBusinessDelta:function(n,t,i){var r;return n<=0||t<=0?0:r=i===!1?o.tickManager.continuous._findBusinessDelta(n,t):y(a(u(n,this._options.base)-u(t,this._options.base)))},_findTickIntervalForCustomTicks:function(){return r(u(this._customTicks[1]/this._customTicks[0],this._options.base))},_getInterval:function(n){var f=n||this._getDeltaCoef(this._screenDelta,this._businessDelta,this._options.gridSpacingFactor),e=this._options.numberMultipliers,i,u=0,o=!1,t;if(f!==0)for(i=1;!o;i*=10)for(t=0;t<e.length;t++)if(u=e[t]*i,f<=u){o=!0;break}return r(u)},_getMinorInterval:function(n,t){var i=this,r=i._options,u=r.minorTickCount,f=h(u)?u+1:c(n/r.minorGridSpacingFactor),e=f-1,o=e>0?t/f:0;i._minorTickInterval=o,i._minorTickCount=e},_getMarginValue:function(){return null},_getNextTickValue:function(n,t,i,f){var e=this,c,o;return t=h(i)&&i?-t:t,f===!1?o=n+t:(c=l(u(n,e._options.base),t,e._min>e._max),o=r(s(c,e._options.base))),o}})}(jQuery,DevExpress),function(n,t){function rt(n){switch(n){case"overlap":return o;case o:return k;default:return"end"}}function s(n){return n.toString()}var c=t.viz.core,u=c.tickManager,l=t.utils,h=l.isDefined,a=l.isNumber,r=Math,f=r.abs,e=r.ceil,d=r.floor,v=r.atan,y=r.max,g=n.each,nt=n.map,p=n.noop,w=n.isFunction,tt=4,b=2,o="stagger",k="rotate",it=2;u.overlappingMethods={},u.overlappingMethods.base={_applyOverlappingBehavior:function(){var n=this,i=n._options,t=i&&i.overlappingBehavior;t&&t.mode!=="ignore"&&(n._useAutoArrangement=!0,n._correctTicks(),t.mode==="auto"&&(n._applyAutoOverlappingBehavior(),n._useAutoArrangement=i.overlappingBehavior.isOverlapped),n._useAutoArrangement&&(t.mode===o&&(n._screenDelta*=b),n._applyAutoArrangement()))},_checkBoundedTicksOverlapping:function(){this._removeBoundedOverlappingDates(),this._applyStartEndTicksCorrection()},getMaxLabelParams:function(n){var t=this,e=t._options.getText||s,u,f,r=0,i;return(n=n||t._getMajorTicks(),!n.length)?{width:0,height:0,length:0,y:0}:(g(n,function(n,i){var o=e(i,t._options.labelOptions),s=o.length;r<s&&(r=s,u=i,f=o)}),i=t._getTextElementBbox(u,f),{width:i.width,height:i.height,y:i.y,length:r})},_applyAutoArrangement:function(){var n=this,r=n._options,t,i;n._useAutoArrangement&&(i=n._getTicksSize(),t=n._getAutoArrangementStep(i),t>1&&(h(n._tickInterval)||h(n._customTicks)?n._ticks=n._getAutoArrangementTicks(t):(r.gridSpacingFactor=i,n._ticks=n._createTicks([],n._findTickInterval(),n._min,n._max))))},_getAutoArrangementTicks:function(n){var r=this,i=r._ticks,f=i.length,u=i,e=r._decimatedTicks||[],t;if(n>1){for(u=[],t=0;t<f;t++)t%n==0?u.push(i[t]):e.push(i[t]);r._correctInterval(n)}return u},_isOverlappedTicks:function(n){return this._getAutoArrangementStep(this._getTicksSize(),n,-1)>1},_areDisplayValuesValid:function(n,t){var e=this,u=e._options,h=u.getText||s,c=u.overlappingBehavior&&a(u.overlappingBehavior.rotationAngle)?u.overlappingBehavior.rotationAngle:0,i=e._getTextElementBbox(n,h(n,u.labelOptions)),r=e._getTextElementBbox(t,h(t,u.labelOptions)),y=i.x>r.x,p=i.y>r.y,l,v,o;return c!==0?o=e._getDistanceByAngle(i.height,c)<=f(r.x-i.x):(l=y?r.x+r.width>i.x:i.x+i.width>r.x,v=p?r.y+r.height>i.y:i.y+i.height>r.y,o=!(l&&v)),o}},u.overlappingMethods.circular=n.extend({},u.overlappingMethods.base,{_correctTicks:p,_applyAutoOverlappingBehavior:function(){this._options.overlappingBehavior.isOverlapped=!0},_getTextElementBbox:function(t,i){var f=n.extend({},this._options.textOptions,{rotate:0}),r=w(this._options.translate)?this._options.translate(t):{x:0,y:0},u;return i=this._options.renderText(i,r.x,r.y).css(this._options.textFontStyles).attr(f),u=i.getBBox(),i.remove(),u},_getTicksSize:function(){return this.getMaxLabelParams(this._ticks)},_applyStartEndTicksCorrection:function(){var n=this._ticks,t=n[n.length-1];n.length>1&&!this._areDisplayValuesValid(n[0],t)&&n.pop()},_getAutoArrangementStep:function(n){var t=this,i=t._options,u=i.circularRadius,o=i.circularStartAngle,s=i.circularEndAngle,w=o===s?360:f(o-s),b=t._businessDelta||t._ticks.length,h=t._tickInterval*w/b,c=n.width,l=n.height,k=f(360*v(l/(2*u-c))/r.PI),d=f(360*v(c/(2*u-l))/r.PI),a=y(k,d),p=1;return h<a&&(p=e(a/h)),y(1,p)}}),u.overlappingMethods.linear=n.extend({},u.overlappingMethods.base,{_correctTicks:function(){var t=u.continuous._getInterval,n;n=e(t.call(this,this._getDeltaCoef(this._screenDelta*tt,this._ticks.length)))||this._ticks.length,this._ticks=this._getAutoArrangementTicks(n)},_getTextElementBbox:function(t,i){var o=n.extend({},this._options.textOptions,{rotate:0}),r=0,u=0,f=w(this._options.translate)?this._options.translate(t):0,e;return this._options.isHorizontal?r+=f:u+=f,i=this._options.renderText(i,r,u).css(this._options.textFontStyles).attr(o),e=i.getBBox(),i.remove(),e},_applyStartEndTicksCorrection:p,_getAutoArrangementStep:function(n,t,i){var f=this,r=f._options,u,o=r.textSpacing||0,s=r.isHorizontal?o:0;return(t=t||f._screenDelta,i=h(i)?i:1,r.getCustomAutoArrangementStep)?r.getCustomAutoArrangementStep(f._ticks,r):n>0?(u=d((t+o)/(n+s)),u=u<=i?it:u,e((r.ticksCount||f._ticks.length)/u)):1},_getOptimalRotationAngle:function(){var t=this,n=t._options,u=t._ticks[0],f=t._ticks[1],i=c.outOfScreen,o=t._textOptions,h=n.getText||s,l=n.textFontStyles,a=n.renderText(h(u,n.labelOptions),i.x+n.translate(u,!n.isHorizontal),i.y).css(l).attr(o),v=n.renderText(h(f,n.labelOptions),i.x+n.translate(f,!n.isHorizontal),i.y).css(l).attr(o),y=a.getBBox(),w=v.getBBox(),p=r.asin((y.height+n.textSpacing)/(w.x-y.x))*180/Math.PI;return a.remove(),v.remove(),isNaN(p)?90:e(p)},_applyAutoOverlappingBehavior:function(){for(var t=this,r=t._options.overlappingBehavior,u=t._screenDelta,f=!1,i=null,e=null,n="overlap";n!=="end";){f=i&&i!==90?!1:t._isOverlappedTicks(u),n=rt(f?n:null);switch(n){case o:u*=b,e=n;break;case k:i=t._getOptimalRotationAngle(),u=t._screenDelta,e=n}}r.isOverlapped=f,r.mode=e,r.rotationAngle=i},_getDistanceByAngle:function(n,t){return n/f(r.sin(t*(r.PI/180)))},_getTicksSize:function(){var t=this,n=t._options,r=t._ticks,u,f=n.overlappingBehavior?n.overlappingBehavior.rotationAngle:0,i,o,h=n.getText||s,c=a(f)&&f!==0,l=!c&&n.isHorizontal;return r.length===0?0:(u=l?nt(r,function(t){return h(t,n.labelOptions)}).join("\n"):h(r[0],n.labelOptions),i=t._getTextElementBbox(u,u),o=c?t._getDistanceByAngle(i.height,f):n.isHorizontal?i.width:i.height,e(o))}})}(jQuery,DevExpress),function(n,t){function o(n,t){for(var u=n.concat(t).sort(function(n,t){return r(n)&&r(t)&&n.valueOf()-t.valueOf()}),f=u.length,i=f-1;i>0;i--)r(u[i])&&r(u[i-1])&&u[i].valueOf()===u[i-1].valueOf()&&u.splice(i,1);return u}var v=t.viz.core,u=v.tickManager,e=t.utils,r=e.isDefined,h=e.isNumber,y=e.addInterval,p=e.adjustValue,c=n.each,l=n.map,s=n.inArray,f=n.noop,w=30,b=15,k=[1,2,3,5],a=2e3,d=2;u.discrete=n.extend({},u.continuous,{_getMinorTicks:f,_findTickInterval:f,_createTicks:function(){return[]},_getMarginValue:f,_generateBounds:f,_correctMin:f,_correctMax:f,_findBusinessDelta:f,_addBoundedTicks:f,getFullTicks:function(){return this._customTicks},getMinorTicks:function(){return this._decimatedTicks||[]},_findTickIntervalForCustomTicks:function(){return 1}}),u.TickManager=t.Class.inherit({ctor:function(n,t,i){i=i||{},this.update(n||{},t||{},i),this._initOverlappingMethods(i.overlappingBehaviorType)},dispose:function(){this._ticks=null,this._minorTicks=null,this._decimatedTicks=null,this._boundaryTicks=null,this._options=null},update:function(n,t,i){this._updateOptions(i||{}),this._min=t.min,this._updateTypes(n||{}),this._updateData(t||{})},_updateMinMax:function(n){var i=n.min||0,r=n.max||0,t=this._applyMinMaxMargins(i,r);this._min=this._originalMin=t.min,this._max=this._originalMax=t.max,this._updateBusinessDelta()},_updateBusinessDelta:function(){this._businessDelta=this._findBusinessDelta&&this._findBusinessDelta(this._min,this._max)},_updateTypes:function(n){var t=this,i=t._validateAxisType(n.axisType),r=t._validateDataType(n.dataType);t._resetMethods(),this._axisType=i,this._dataType=r,this._initMethods()},_updateData:function(t){t=n.extend({},t),t.min=r(t.min)?t.min:this._originalMin,t.max=r(t.max)?t.max:this._originalMax,this._updateMinMax(t),this._customTicks=t.customTicks&&t.customTicks.slice(),this._customMinorTicks=t.customMinorTicks,this._screenDelta=t.screenDelta||0},_updateOptions:function(n){var t;this._options=t=n,this._useAutoArrangement=!!this._options.useTicksAutoArrangement,t.gridSpacingFactor=t.gridSpacingFactor||w,t.minorGridSpacingFactor=t.minorGridSpacingFactor||b,t.numberMultipliers=t.numberMultipliers||k},getTickBounds:function(){return{minVisible:this._minBound,maxVisible:this._maxBound}},getTicks:function(n){var t=this,i=t._options;return t._ticks=t._getMajorTicks(),t._checkLabelFormat(),t._decimatedTicks=[],t._applyAutoArrangement(),n||t._applyOverlappingBehavior(),t._generateBounds(),i.showMinorTicks&&(t._minorTicks=t._customMinorTicks||t._getMinorTicks()),t._addBoundedTicks(),n||t._checkBoundedTicksOverlapping(),t._ticks},getMinorTicks:function(){var n=this,i=n._decimatedTicks||[],t=n._options||{},u=i.length,f=r(t.minorTickInterval)||r(t.minorTickCount),e=n._customMinorTicks&&n._customMinorTicks.length,s=t.showMinorTicks&&(f||e),h=u&&!s?i:n._minorTicks||[];return o(h,[])},getDecimatedTicks:function(){return o(this._decimatedTicks||[],[])},getFullTicks:function(){return o(this._ticks||[],this.getMinorTicks(),this._axisType)},getBoundaryTicks:function(){return o(this._boundaryTicks||[],[])},getTickInterval:function(){return this._tickInterval},getMinorTickInterval:function(){return this._minorTickInterval},getOverlappingBehavior:function(){return this._options.overlappingBehavior},getOptions:function(){return this._options},_getMajorTicks:function(){var n;return this._customTicks?(n=this._customTicks.slice(),this._tickInterval=n.length>1?this._findTickIntervalForCustomTicks():0):n=this._createTicks([],this._findTickInterval(),this._min,this._max),n},_applyMargin:function(n,t,i,r){var u,f=t;return isFinite(n)&&(u=this._getMarginValue(t,i,n),u&&(f=this._getNextTickValue(t,u,r,!1))),f},_applyMinMaxMargins:function(n,t){var i=this._options,r=n>t?t:n,u=t>n?t:n;return this._minCorrectionEnabled=this._getCorrectionEnabled(n,"min"),this._maxCorrectionEnabled=this._getCorrectionEnabled(t,"max"),i&&!i.stick&&(r=this._applyMargin(i.minValueMargin,n,t,!0),u=this._applyMargin(i.maxValueMargin,t,n,!1)),{min:r,max:u}},_checkBoundedTickInArray:function(n,t){var r=l(t||[],function(n){return n.valueOf()}),i=s(n.valueOf(),r);i!==-1&&t.splice(i,1)},_checkLabelFormat:function(){var n=this._options;this._dataType==="datetime"&&!n.hasLabelFormat&&this._ticks.length&&(n.labelOptions.format=t.formatHelper.getDateFormatByTicks(this._ticks))},_generateBounds:function(){var n=this,t=n._getBoundInterval(),i=n._options.stick,r=n._options.minStickValue,u=n._options.maxStickValue,f=n._minCorrectionEnabled&&!i?n._getNextTickValue(n._min,t,!0):n._originalMin,e=n._maxCorrectionEnabled&&!i?n._getNextTickValue(n._max,t):n._originalMax;n._minBound=f<r?r:f,n._maxBound=e>u?u:e},_initOverlappingMethods:function(n){this._initMethods(u.overlappingMethods[n||"linear"])},_addBoundedTicks:function(){var n=this,r=l(n._ticks,function(n){return n.valueOf()}),t=n._originalMin,i=n._originalMax,u=n._options.addMinMax||{};n._boundaryTicks=[],u.min&&s(t.valueOf(),r)===-1&&(n._ticks.splice(0,0,t),n._boundaryTicks.push(t),n._checkBoundedTickInArray(t,n._minorTicks),n._checkBoundedTickInArray(t,n._decimatedTicks)),u.max&&s(i.valueOf(),r)===-1&&(n._ticks.push(i),n._boundaryTicks.push(i),n._checkBoundedTickInArray(i,n._minorTicks),n._checkBoundedTickInArray(i,n._decimatedTicks))},_getCorrectionEnabled:function(n,t){var i=this._options||{},r=i.percentStick&&n===1,u=i[t+"ValueMargin"];return!r&&!u},_validateAxisType:function(n){var t="continuous",i={continuous:!0,discrete:!0,logarithmic:!0};return i[n]?n:t},_validateDataType:function(n){var t={numeric:!0,datetime:!0,string:!0};return t[n]||(n=r(this._min)?this._getDataType(this._min):"numeric"),n},_getDataType:function(n){return e.isDate(n)?"datetime":"numeric"},_getMethods:function(){var n;return n=this._axisType==="continuous"?this._dataType==="datetime"?u.datetime:u.continuous:u[this._axisType]||u.continuous},_resetMethods:function(){var n=this,t=n._getMethods();c(t,function(t){n[t]&&delete n[t]})},_initMethods:function(n){var t=this;n=n||t._getMethods(),c(n,function(n,i){t[n]=i})},_getDeltaCoef:function(n,t,i){var r;return i=i||this._options.gridSpacingFactor,n=n||this._screenDelta,t=t||this._businessDelta,r=n/i,r=r<=1?d:r,t/r},_adjustNumericTickValue:function(n,t,i){return e.isExponential(n)?p(n):e.applyPrecisionByMinDelta(i,t,n)},_isTickIntervalCorrect:function(n,t,i){var r;if(i=i||this._businessDelta,!h(n)&&(r=new Date,n=y(r,n)-r,!n))return!1;if(h(n))if(n>0&&i/n>t)this._options.incidentOccured&&this._options.incidentOccured("W2003");else return!0;return!1},_correctValue:function(n,t,i){var r=this,o="_"+n+"CorrectionEnabled",s=n+"SpaceCorrection",u="_"+n,f=r._options.minStickValue,e=r._options.maxStickValue;r[o]&&(r._options[s]&&(r[u]=r._getNextTickValue(r[u],t,n==="min")),i.call(this,t)),n==="min"&&(r[u]=r[u]<f?f:r[u]),n==="max"&&(r[u]=r[u]>e?e:r[u])},_findTickInterval:function(){var n=this,i=n._options,t;return t=n._isTickIntervalValid(i.tickInterval)&&n._isTickIntervalCorrect(i.tickInterval,a)?i.tickInterval:n._getInterval(),n._isTickIntervalValid(t)&&(n._correctValue("min",t,n._correctMin),n._correctValue("max",t,n._correctMax),n._updateBusinessDelta()),n._tickInterval=t,t},_findMinorTickInterval:function(n,t){var i=this,u=i._ticks,r=i._options.stick?u.length-1:u.length;return r<1&&(r=1),i._getMinorInterval(i._screenDelta/r,i._findBusinessDelta(n,t,!1)),i._minorTickInterval},_createMinorTicks:function(n,t,i){var r=this,u=r._findMinorTickInterval(t,i),f=!1,e=!1,o=!1,s=r._getNextTickValue(t,u,f,e,o);return r._isTickIntervalValid(u)&&(n=r._createCountedTicks(n,u,s,i,r._minorTickCount,f,e,o)),n},_getMinorTicks:function(){var n=this,t=[],i=n._ticks,u=i.length,f=n._hasUnitBeginningTickCorrection(),r=f?1:0;if(i.length){for(t=n._getBoundedMinorTicks(t,n._minBound,i[0],!0),f&&(t=n._getUnitBeginningMinorTicks(t)),r;r<u-1;r++)t=n._createMinorTicks(t,i[r],i[r+1]);t=n._getBoundedMinorTicks(t,n._maxBound,i[u-1])}else t=n._createMinorTicks(t,n._minBound,n._maxBound);return t},_createCountedTicks:function(n,t,i,r,u,f,e){for(var o=i,s=0;s<u;s++)e===!1&&o.valueOf()===r.valueOf()||n.push(o),o=this._getNextTickValue(o,t,!1,f,!1);return n},_createTicks:function(n,t,i,r,u,f,e){var s=this,o=i,h=i,l,a,c;if(s._isTickIntervalValid(t)){c=i-r<0;do{if(o=h,s._options.stick?o>=s._originalMin&&o<=s._originalMax&&n.push(o):n.push(o),h=s._getNextTickValue(o,t,u,f,e),o.valueOf()===h.valueOf())break;l=h-i>=0,a=r-h>=0}while(c===l&&c===a)}else n.push(o);return n},_getBoundedMinorTicks:function(n,t,i,r){var u=this,o=!1,e=u._tickInterval?this._getNextTickValue(i,u._tickInterval,r,!0,o):t,f=u._findMinorTickInterval(i,e),l=u._isTickIntervalCorrect(f,a,u._findBusinessDelta(i,t,!1)),s,h,c=t.valueOf();if(l&&u._isTickIntervalValid(f)&&u._minorTickCount>0){if(r){if(i.valueOf()<=c)return n;while(e.valueOf()<c)e=this._getNextTickValue(e,f,!1,!1,o);s=e,h=u._getNextTickValue(i,f,!0,!1,!1)}else s=u._getNextTickValue(i,f,!1,!1,!1),h=t;n=u._createTicks(n,f,s,h,!1,!1,o)}return n}})}(jQuery,DevExpress),function(n,t,i){var u=t.utils,r=u.isDefined,f=Math.round;t.viz.core.numericTranslatorFunctions={translate:function(n){var i=this,t=i._canvasOptions,u=t.rangeDoubleError,f=i.translateSpecialCase(n);return r(f)?f:isNaN(n)||n.valueOf()+u<t.rangeMin||n.valueOf()-u>t.rangeMax?null:i._conversionValue(i._calculateProjection((n-t.rangeMinVisible)*t.ratioOfCanvasRange))},untranslate:function(n,t,i){var u=this._canvasOptions,f=u.startPoint;return!i&&(n<f||n>u.endPoint)||!r(u.rangeMin)||!r(u.rangeMax)?null:this._calculateUnProjection((n-f)/u.ratioOfCanvasRange)},getInterval:function(){return f(this._canvasOptions.ratioOfCanvasRange*(this._businessRange.interval||Math.abs(this._canvasOptions.rangeMax-this._canvasOptions.rangeMin)))},_getValue:function(n){return n},zoom:function(n,t){var r=this,e=r._canvasOptions,h=e.startPoint,c=e.endPoint,u=(h+n)/t,f=(c+n)/t,o=Math.min(r.translate(r._getValue(e.rangeMin)),r.translate(r._getValue(e.rangeMax))),s=Math.max(r.translate(r._getValue(e.rangeMin)),r.translate(r._getValue(e.rangeMax)));return o>u&&(f-=u-o,u=o),s<f&&(u-=f-s,f=s),s-o<f-u&&(u=o,f=s),n=(c-h)*u/(f-u)-h,t=(h+n)/u||1,{min:r.untranslate(u,i,!0),max:r.untranslate(f,i,!0),translate:n,scale:t}},getMinScale:function(n){return n?1.1:.9},getScale:function(n,t){var i=this._canvasOptions;return n=r(n)?n:i.rangeMin,t=r(t)?t:i.rangeMax,(i.rangeMax-i.rangeMin)/Math.abs(n-t)}}}(jQuery,DevExpress),function(n,t){var u=t.viz.core,r=u.numericTranslatorFunctions;u.datetimeTranslatorFunctions={translate:r.translate,untranslate:function(){var n=r.untranslate.apply(this,arguments);return n===null?n:new Date(n)},_getValue:r._getValue,getInterval:r.getInterval,zoom:r.zoom,getMinScale:r.getMinScale,getScale:r.getScale}}(jQuery,DevExpress),function(n,t){var r=t.utils.isDefined,u=Math.round;t.viz.core.categoryTranslatorFunctions={translate:function(n,t){var i=this,f=i._canvasOptions,e=i._categoriesToPoints[n],o,s=i.translateSpecialCase(n),h=f.startPointIndex||0,c=i._businessRange.stick?0:.5;return r(s)?s:e?(t=t||0,t=f.invert?-t:t,o=e.index+c-h+t*.5,u(f.startPoint+f.interval*o)):null},untranslate:function(n,t,i){var f=this,e=f._canvasOptions,o=e.startPoint,s=f.visibleCategories||f._categories,h=s.length,r=0,c=f._businessRange.stick?.5:0;return!i&&(n<o||n>e.endPoint)?null:(t=t||0,r=u((n-o)/e.interval+c-.5-t*.5),h===r&&r--,r===-1&&(r=0),e.invert&&(r=h-r-1),s[r])},getInterval:function(){return this._canvasOptions.interval},zoom:function(n,t){var f=this,i=f._canvasOptions,h=i.interval*t,a=n/h,c=f._businessRange.stick,u=parseInt((i.startPointIndex||0)+a+.5),l=parseInt(i.canvasLength/h+(c?1:0))||1,e,r,o=f._categories,s;return i.invert&&(o=o.slice().reverse()),u<0&&(u=0),e=u+l,e>o.length&&(e=o.length,u=e-l,u<0&&(u=0)),r=o.slice(parseInt(u),parseInt(e)),s=f._getDiscreteInterval(r.length,i),t=s/i.interval,n=f.translate(r[0])*t-(i.startPoint+(c?0:s/2)),{min:i.invert?r[r.length-1]:r[0],max:i.invert?r[0]:r[r.length-1],translate:n,scale:t}},getMinScale:function(n){var t=this,r=t._canvasOptions,i=(t.visibleCategories||t._categories).length;return i+=(parseInt(i*.1)||1)*(n?-2:2),r.canvasLength/(Math.max(i,1)*r.interval)},getScale:function(n,t){var i=this,o=i._canvasOptions,u=i.getCanvasVisibleArea(),s=!i._businessRange.stick&&1,f=i.translate(n,-s),e=i.translate(t,+s);return r(f)||(f=o.invert?u.max:u.min),r(e)||(e=o.invert?u.min:u.max),i.canvasLength/Math.abs(e-f)}}}(jQuery,DevExpress),function(n,t,i){var e=t.viz.core,r=e.numericTranslatorFunctions,u=t.utils,o=u.raiseTo,f=u.getLog;e.logarithmicTranslatorFunctions={translate:function(n){var t=this,i=t.translateSpecialCase(n);return u.isDefined(i)?i:r.translate.call(t,f(n,t._businessRange.base))},untranslate:function(){var n=r.untranslate.apply(this,arguments);return n===null?n:o(n,this._businessRange.base)},getInterval:r.getInterval,_getValue:function(n){return Math.pow(this._canvasOptions.base,n)},zoom:r.zoom,getMinScale:r.getMinScale,getScale:function(n,t){var e=this._businessRange.base;return n=u.isDefined(n)?f(n,e):i,t=u.isDefined(t)?f(t,e):i,r.getScale.call(this,n,t)}}}(jQuery,DevExpress),function(n){function r(){this.setDomain(arguments[0],arguments[1]).setCodomain(arguments[2],arguments[3])}var i=Number;r.prototype={constructor:r,setDomain:function(n,t){var r=this;return r._domain1=i(n),r._domain2=i(t),r._domainDelta=r._domain2-r._domain1,r},setCodomain:function(n,t){var r=this;return r._codomain1=i(n),r._codomain2=i(t),r._codomainDelta=r._codomain2-r._codomain1,r},getDomain:function(){return[this._domain1,this._domain2]},getCodomain:function(){return[this._codomain1,this._codomain2]},getDomainStart:function(){return this._domain1},getDomainEnd:function(){return this._domain2},getCodomainStart:function(){return this._codomain1},getCodomainEnd:function(){return this._codomain2},getDomainRange:function(){return this._domainDelta},getCodomainRange:function(){return this._codomainDelta},translate:function(n){var t=(i(n)-this._domain1)/this._domainDelta;return 0<=t&&t<=1?this._codomain1+t*this._codomainDelta:NaN},adjust:function(n){var t=(i(n)-this._domain1)/this._domainDelta,r=NaN;return t<0?r=this._domain1:t>1?r=this._domain2:0<=t&&t<=1&&(r=i(n)),r}},n.viz.core.Translator1D=r}(DevExpress),function(n,t){var f=t.viz.core,u=t.utils,o=u.getLog,h=u.getPower,r=u.isDefined,c=Math.abs,l=["width","height","left","top","bottom","right"],a=1,v=6e4,e=n.noop,s,y=function(t){return n.each(l,function(n,i){t[i]=parseInt(t[i])||0}),t},p=function(n,t){for(var u={},r,f=n.length,i=0;i<f;i++)r=n[i],u[r]={name:r,index:t?f-1-i:i};return u},w=function(n){function t(t,i){!r(n[t])&&r(n[i])&&(n[t]=n[i])}return t("minVisible","min"),t("maxVisible","max"),n};s=f.Translator2D=function(n,t,i){this.update(n,t,i)},s.prototype={constructor:s,reinit:function(){var n=this,i=n._businessRange,o=i.categories||[],t={},e=n._prepareCanvasOptions(),r=u.getCategoriesInfo(o,i.minVisible,i.maxVisible).categories,s=(r||o).length;switch(i.axisType){case"logarithmic":t=f.logarithmicTranslatorFunctions;break;case"discrete":t=f.categoryTranslatorFunctions,n._categories=o,e.interval=n._getDiscreteInterval(i.addSpiderCategory?s+1:s,e),n._categoriesToPoints=p(o,e.invert),r&&r.length&&(e.startPointIndex=n._categoriesToPoints[r[e.invert?r.length-1:0]].index,n.visibleCategories=r);break;default:t=i.dataType==="datetime"?f.datetimeTranslatorFunctions:f.numericTranslatorFunctions}n.translate=t.translate,n.untranslate=t.untranslate,n.getInterval=t.getInterval,n.zoom=t.zoom,n.getMinScale=t.getMinScale,n._getValue=t._getValue,n.getScale=t.getScale,n._conversionValue=n._options.conversionValue?function(n){return n}:function(n){return Math.round(n)}},_getDiscreteInterval:function(n,t){var i=n-(this._businessRange.stick?1:0);return i>0?t.canvasLength/i:t.canvasLength},_getCanvasBounds:function(n){var t=n.min,i=n.max,f=n.minVisible,e=n.maxVisible,s,h,c=n.base,y=u.isDate(i)||u.isDate(t),l=y?v:a;return n.axisType==="logarithmic"&&(e=o(e,c),f=o(f,c),t=o(t,c),i=o(i,c)),r(t)&&r(i)&&t.valueOf()===i.valueOf()&&(s=t.valueOf()-l,h=i.valueOf()+l,y?(t=new Date(s),i=new Date(h)):(t=t!==0?s:0,i=h)),r(f)&&r(e)&&f.valueOf()===e.valueOf()&&(s=f.valueOf()-l,h=e.valueOf()+l,y?(f=s<t.valueOf()?t:new Date(s),e=h>i.valueOf()?i:new Date(h)):(f!==0&&(f=s<t?t:s),e=h>i?i:h)),{base:c,rangeMin:t,rangeMax:i,rangeMinVisible:f,rangeMaxVisible:e}},_prepareCanvasOptions:function(){var i=this,r=i._businessRange,n=i._canvasOptions=i._getCanvasBounds(r),u,t=i._canvas;return i._options.direction==="horizontal"?(n.startPoint=t.left,u=t.width,n.endPoint=t.width-t.right,n.invert=r.invert):(n.startPoint=t.top,u=t.height,n.endPoint=t.height-t.bottom,n.invert=!r.invert),i.canvasLength=n.canvasLength=n.endPoint-n.startPoint,n.rangeDoubleError=Math.pow(10,h(n.rangeMax-n.rangeMin)-h(u)-2),n.ratioOfCanvasRange=n.canvasLength/(n.rangeMaxVisible-n.rangeMinVisible),n},updateBusinessRange:function(n){this._businessRange=w(n),this.reinit()},update:function(t,i,r){var u=this;u._options=n.extend(u._options||{},r),u._canvas=y(i),u.updateBusinessRange(t)},getBusinessRange:function(){return this._businessRange},getCanvasVisibleArea:function(){return{min:this._canvasOptions.startPoint,max:this._canvasOptions.endPoint}},translateSpecialCase:function(n){var f=this,r=f._canvasOptions,i=r.startPoint,u=r.endPoint,e=f._businessRange,s=e.minVisible,h=e.maxVisible,o,t=null;switch(n){case"canvas_position_default":s<=0&&h>=0?t=f.translate(0):(o=e.invert^(s<=0&&h<=0),t=f._options.direction==="horizontal"?o?u:i:o?i:u);break;case"canvas_position_left":case"canvas_position_top":t=i;break;case"canvas_position_center":case"canvas_position_middle":t=i+r.canvasLength/2;break;case"canvas_position_right":case"canvas_position_bottom":t=u;break;case"canvas_position_start":t=r.invert?u:i;break;case"canvas_position_end":t=r.invert?i:u}return t},_calculateProjection:function(n){var t=this._canvasOptions;return t.invert?t.endPoint-n:t.startPoint+n},_calculateUnProjection:function(n){var t=this._canvasOptions;return t.invert?t.rangeMaxVisible.valueOf()-n:t.rangeMinVisible.valueOf()+n},getVisibleCategories:function(){return this.visibleCategories},getMinBarSize:function(n){var t=this.getCanvasVisibleArea(),i=this.untranslate(t.min+n);return c(this.untranslate(t.min)-(r(i)?i:this.untranslate(t.max)))},translate:e,untranslate:e,getInterval:e,zoom:e,getMinScale:e}}(jQuery,DevExpress),function(n,t){function f(n,i,u){var f=this;f._argCanvas={left:0,right:0,width:this._getAngle()},f._valCanvas={left:0,right:0},f.canvas=i,f._init(),f._arg=new t.viz.core.Translator2D(n.arg,f._argCanvas,{direction:"horizontal",conversionValue:!0}),f._val=new t.viz.core.Translator2D(n.val,f._valCanvas,{direction:"horizontal"}),f._businessRange=n,f.startAngle=r.isNumber(u.startAngle)?u.startAngle:0}var r=t.utils,e=90,u=Math.round;f.prototype={constructor:f,_init:function(){var n=this.canvas;this._setCoords({x:n.left+(n.width-n.right-n.left)/2,y:n.top+(n.height-n.top-n.bottom)/2,r:Math.min(n.width-n.left-n.right,n.height-n.top-n.bottom)/2}),this._valCanvas.width=this._rad},reinit:function(){this._init(),this._arg.reinit(),this._val.reinit()},_setCoords:function(n){this._x0=n.x,this._y0=n.y,this._rad=n.r<0?0:n.r},getBusinessRange:function(){return this._businessRange},translate:function(n,t,i){var f=this,s=f._arg.translate(n,i&&i[0]),o=f._val.translate(t,i&&i[1]),h=r.isDefined(s)?s+f.startAngle-e:null,c=r.getCosAndSin(h),l,a;return a=u(f._y0+o*c.sin),l=u(f._x0+o*c.cos),{x:l,y:a,angle:h,radius:o}},getValLength:function(){return this._rad},getCenter:function(){return{x:this._x0,y:this._y0}},getBaseAngle:function(){return this.startAngle-e},getInterval:function(){return this._arg.getInterval()},getValInterval:function(){return this._val.getInterval()},_getAngle:function(){return 360},getStartAngle:function(){return this.startAngle},getComponent:function(n){var i=this,t=this["_"+n];return t.getRadius=function(){return i.getValLength()},t.getCenter=function(){return i.getCenter()},t.getStartAngle=function(){return i.getStartAngle()},t},_untranslate:function(n,t){var i=r.getDistance(this._x0,this._y0,n,t),u=Math.atan2(t-this._y0,n-this._x0);return{r:i,phi:u}},untranslate:function(n,t){var i=this._untranslate(n,t);return i.phi=u(r.normalizeAngle(i.phi*180/Math.PI)),i.r=u(i.r),i},getVisibleCategories:n.noop,getCanvasVisibleArea:function(){return{}},getMinBarSize:function(n){return this._val.getMinBarSize(n)}},t.viz.core.PolarTranslator=f}(jQuery,DevExpress),function(n){var i=window.isFinite;n.viz.core.Rectangle=n.Class.inherit({ctor:function(n){var t=this;n=n||{},t.left=Number(n.left)||0,t.right=Number(n.right)||0,t.top=Number(n.top)||0,t.bottom=Number(n.bottom)||0},width:function(){return this.right-this.left},height:function(){return this.bottom-this.top},horizontalMiddle:function(){return(this.left+this.right)/2},verticalMiddle:function(){return(this.top+this.bottom)/2},raw:function(){var n=this;return{left:n.left,top:n.top,right:n.right,bottom:n.bottom}},clone:function(){return new this.constructor(this.raw())},move:function(n,t){var r=this.clone();return i(n)&&i(t)&&(r.left+=Number(n),r.right+=Number(n),r.top+=Number(t),r.bottom+=Number(t)),r},inflate:function(n,t){var r=this.clone();return i(n)&&i(t)&&(r.left-=Number(n),r.right+=Number(n),r.top-=Number(t),r.bottom+=Number(t)),r},scale:function(n){var t=this;return n>0?t.inflate(t.width()*(n-1)/2,t.height()*(n-1)/2):t.clone()}})}(DevExpress),function(n,t){function o(n,t){this._renderElement=n,this._cacheBBox=t}var s=t.viz.core,f=Math.round,u=t.utils.splitPair,e=["center","center"],h=[0,0],r=function(n){switch(n){case"center":return.5;case"right":case"bottom":return 1;default:return 0}};o.prototype={position:function(n){var l=this,t=n.of.getBBox?n.of.getBBox():n.of,i=this.getBBox(),o=u(n.at)||e,s=u(n.my)||e,c=u(n.offset)||h,a=-r(s[0])*i.width+t.x-i.x+r(o[0])*t.width+parseInt(c[0]),v=-r(s[1])*i.height+t.y-i.y+r(o[1])*t.height+parseInt(c[1]);l._renderElement.move(f(a),f(v))},getBBox:function(){return this._cacheBBox||this._renderElement.getBBox()},draw:function(){}},s.WrapperLayoutElement=o}(jQuery,DevExpress),function(n,t,i){function o(n){return n?String(n).toLowerCase():null}function y(n){var t=o(n);return c[t]||c[f[t]||h]}function a(n,t){return f[n+"."+t]||v[n+"."+t]||f[n]}function k(n,t,i){return a(n+t,i)||a(n,i)}function d(n,t){if(!arguments.length)return h;var i=o(t);return h=(n&&n.platform?k(o(n.platform),n.version,i):a(o(n),i))||h,this}function p(n,t){var i=n.indexOf(t);return i>0?{name:n.substring(0,i),scheme:n.substring(i+1)}:null}function w(n,t){var u=p(n,".")||p(n,"-")||{name:n},i=u.name,r=u.scheme;r?(f[i]=f[i]||t,f[i+"."+r]=f[i+"-"+r]=t):f[i]=t}function g(n,t){var i=o(n&&n.name);i&&(w(i,i),c[i]=s(!0,{},y(t),it(n)))}function nt(n,t){w(o(n),o(t))}function tt(n,t){v[n]=t}function r(n,t,r,u){var f=r?r[t]:u;f!==i&&n[t]===i&&(n[t]=f)}function u(n,t,r,u){var f=r?r[t]:u;f!==i&&(n[t]=s(!0,{},f,n[t]))}function it(n){return n=s(!0,{loadingIndicator:{font:{}},legend:{font:{},border:{}},title:{font:{}},tooltip:{font:{}},"chart:common":{},"chart:common:axis":{grid:{},minorGrid:{},tick:{},minorTick:{},title:{font:{}},label:{font:{}}},chart:{commonSeriesSettings:{candlestick:{}}},pie:{},polar:{},gauge:{scale:{majorTick:{},minorTick:{},label:{font:{}}}},barGauge:{},map:{background:{}},rangeSelector:{scale:{label:{font:{}}},chart:{}},sparkline:{},bullet:{}},n),r(n.loadingIndicator,"backgroundColor",n),r(n.chart.commonSeriesSettings.candlestick,"innerColor",null,n.backgroundColor),r(n.map.background,"color",null,n.backgroundColor),r(n.title.font,"color",null,n.primaryTitleColor),r(n.legend.font,"color",null,n.secondaryTitleColor),r(n.legend.border,"color",null,n.axisColor),rt(n),e(["chart","pie","polar","gauge","barGauge","map","rangeSelector","sparkline","bullet"],function(t,i){r(n[i],"redrawOnResize",n),r(n[i],"containerBackgroundColor",null,n.backgroundColor),u(n[i],"tooltip",n)}),e(["chart","pie","polar","gauge","barGauge","map","rangeSelector"],function(t,i){u(n[i],"loadingIndicator",n),u(n[i],"legend",n)}),e(["chart","pie","polar","gauge","barGauge"],function(t,i){u(n[i],"title",n)}),e(["gauge","barGauge"],function(t,i){u(n[i],"subtitle",null,n.title)}),e(["chart","pie","polar"],function(t,i){u(n,i,null,n["chart:common"])}),e(["chart","polar"],function(t,i){n[i]=n[i]||{},u(n[i],"commonAxisSettings",null,n["chart:common:axis"])}),u(n.rangeSelector.chart,"commonSeriesSettings",n.chart),u(n.rangeSelector.chart,"dataPrepareSettings",n.chart),r(n.map.legend,"backgroundColor",n),n}function rt(n){var t=n["chart:common:axis"],i="color";e([t,t.grid,t.minorGrid,t.tick,t.minorTick],function(t,u){r(u,i,null,n.axisColor)}),r(t.title.font,i,null,n.secondaryTitleColor),r(t.label.font,i,null,n.axisLabelColor),r(n.gauge.scale.label.font,i,null,n.axisLabelColor),r(n.gauge.scale.majorTick,i,null,n.backgroundColor),r(n.gauge.scale.minorTick,i,null,n.backgroundColor),r(n.rangeSelector.scale.label.font,i,null,n.axisLabelColor)}function ut(n){var t=++b;n._cache=t,l[t]=n}function ft(n){delete l[n._cache]}function et(){return e(l,function(){this.refresh()}),this}var c={},f={},v={},s=t.extend,e=t.each,h=null,b=0,l={};s(n.viz.core,{findTheme:y,currentTheme:d,registerTheme:g,registerThemeAlias:nt,registerThemeSchemeAlias:tt,refreshAll:et,addCacheItem:ut,removeCacheItem:ft})}(DevExpress,jQuery),function(n,t,i){function y(n){if(n===i)return s;n=String(n).toLowerCase(),s=n in r?n:"default"}function h(n,t){var i,e;if(u(n))i=n;else{if(t=t||{},e=t.type||"simpleSet",v(n)){var o=n.toLowerCase(),h=r[o],c=t.theme&&r[o+"_"+f(t.theme).toLowerCase()];i=c&&c[e]||h&&h[e]}i||(i=r[s][e])}return i?i.slice(0):null}function p(n,t,e){var s={},h;u(t)?s.simpleSet=t.slice(0):t&&(s.simpleSet=u(t.simpleSet)?t.simpleSet.slice(0):i,s.indicatingSet=u(t.indicatingSet)?t.indicatingSet.slice(0):i,s.gradientSet=u(t.gradientSet)?t.gradientSet.slice(0):i),(s.simpleSet||s.indicatingSet||s.gradientSet)&&(h=f(n).toLowerCase(),e&&(h=h+"_"+f(e).toLowerCase()),o(r[h]=r[h]||{},s))}function w(n){var t=0;this.next=function(){var i=n[t++];return t===n.length&&this.reset(),i},this.reset=function(){t=0}}function c(n,t){t=t||{},this._originalPalette=h(n,t);var i=t?t.stepHighlight||0:0;this._paletteSteps=new w([0,i,-i]),this._resetPalette()}function b(n,t){var i=new e(n).alter(t),r=k(i);return(r>200||r<55)&&(i=new e(n).alter(-t/2)),i.toHex()}function k(n){return n.r*.3+n.g*.59+n.b*.11}function d(n,t){var i=h(n,{type:"gradientSet"});i=t>0?g(i,t):[],this.getColor=function(n){return i[n]||null}}function g(n,t){function s(n){var t=f*n,i=l(t),r=a(t);o.push(u[i].blend(u[r],t-i).toHex())}for(var r=t-1,f=n.length-1,u=[],o=[],i=0;i<=f;++i)u.push(new e(n[i]));if(r>0)for(i=0;i<=r;++i)s(i/r);else s(.5);return o}var f=window.String,l=Math.floor,a=Math.ceil,e=n.Color,u=n.utils.isArray,v=n.utils.isString,o=t.extend,r={"default":{simpleSet:["#5f8b95","#ba4d51","#af8a53","#955f71","#859666","#7e688c"],indicatingSet:["#a3b97c","#e1b676","#ec7f83"],gradientSet:["#5f8b95","#ba4d51"]},"harmony light":{simpleSet:["#fcb65e","#679ec5","#ad79ce","#7abd5c","#e18e92","#b6d623","#b7abea","#85dbd5"],indicatingSet:["#b6d623","#fcb65e","#e18e92"],gradientSet:["#7abd5c","#fcb65e"]},"soft pastel":{simpleSet:["#60a69f","#78b6d9","#6682bb","#a37182","#eeba69","#90ba58","#456c68","#7565a4"],indicatingSet:["#90ba58","#eeba69","#a37182"],gradientSet:["#78b6d9","#eeba69"]},pastel:{simpleSet:["#bb7862","#70b3a1","#bb626a","#057d85","#ab394b","#dac599","#153459","#b1d2c6"],indicatingSet:["#70b3a1","#dac599","#bb626a"],gradientSet:["#bb7862","#70b3a1"]},bright:{simpleSet:["#70c92f","#f8ca00","#bd1550","#e97f02","#9d419c","#7e4452","#9ab57e","#36a3a6"],indicatingSet:["#70c92f","#f8ca00","#bd1550"],gradientSet:["#e97f02","#f8ca00"]},soft:{simpleSet:["#cbc87b","#9ab57e","#e55253","#7e4452","#e8c267","#565077","#6babac","#ad6082"],indicatingSet:["#9ab57e","#e8c267","#e55253"],gradientSet:["#9ab57e","#e8c267"]},ocean:{simpleSet:["#75c099","#acc371","#378a8a","#5fa26a","#064970","#38c5d2","#00a7c6","#6f84bb"],indicatingSet:["#c8e394","#7bc59d","#397c8b"],gradientSet:["#acc371","#38c5d2"]},vintage:{simpleSet:["#dea484","#efc59c","#cb715e","#eb9692","#a85c4c","#f2c0b5","#c96374","#dd956c"],indicatingSet:["#ffe5c6","#f4bb9d","#e57660"],gradientSet:["#efc59c","#cb715e"]},violet:{simpleSet:["#d1a1d1","#eeacc5","#7b5685","#7e7cad","#a13d73","#5b41ab","#e287e2","#689cc1"],indicatingSet:["#d8e2f6","#d0b2da","#d56a8a"],gradientSet:["#eeacc5","#7b5685"]}},s="default";o(c.prototype,{dispose:function(){return this._originalPalette=this._palette=this._paletteSteps=null,this},getNextColor:function(){var n=this;return n._currentColor>=n._palette.length&&n._resetPalette(),n._palette[n._currentColor++]},_resetPalette:function(){var n=this,r,t;if(n._currentColor=0,r=n._paletteSteps.next(),t=n._originalPalette,r)for(var u=n._palette=[],i=0,f=t.length;i<f;++i)u[i]=b(t[i],r);else n._palette=t.slice(0)},reset:function(){return this._paletteSteps.reset(),this._resetPalette(),this}}),o(n.viz.core,{registerPalette:p,getPalette:h,Palette:c,GradientPalette:d,currentPalette:y})}(DevExpress,jQuery),function(n,t,i){function e(n,i){return t.map(i,function(t){return n[t]?n[t]:null})}function o(n,i,r,u){var f=u;return t.each(i,function(t,i){n[i]&&(n[i]-=r,f-=r)}),f}var u=Math.ceil,f=Math.min,r=Math.round;n.viz.core.utils={decreaseGaps:function(n,t,i){var r;do r=e(n,t),r.push(u(i/r.length)),i=o(n,t,f.apply(null,r),i);while(i>0&&r.length>1);return i},parseScalar:function(n,t){return n!==i?n:t},enumParser:function(n){for(var i={},t=0,r=n.length;t<r;++t)i[String(n[t]).toLowerCase()]=1;return function(n,t){var r=String(n).toLowerCase();return i[r]?r:t}},patchFontOptions:function(n){var i={};return t.each(n||{},function(n,t){/^(cursor|opacity)$/i.test(n)||(n=n==="color"?"fill":"font-"+n),i[n]=t}),i},convertPolarToXY:function(t,i,u,f){var o=90,e;return u=n.utils.isDefined(u)?u+i-o:0,e=n.utils.getCosAndSin(u),{x:r(t.x+f*e.cos),y:r(t.y+f*e.sin)}},convertXYToPolar:function(t,i,u){var f=n.utils.getDistance(t.x,t.y,i,u),e=Math.atan2(u-t.y,i-t.x);return{phi:r(n.utils.normalizeAngle(e*180/Math.PI)),r:r(f)}}}}(DevExpress,jQuery),function(n,t){function f(n,t){var i=n;return t&&u(t.split("."),function(n,t){return i=i[t]}),i}var e=n.utils.isString,o=n.viz.core.utils.parseScalar,s=n.viz.core.findTheme,h=n.viz.core.addCacheItem,c=n.viz.core.removeCacheItem,r=t.extend,u=t.each;n.viz.core.BaseThemeManager=n.Class.inherit({ctor:function(){h(this)},dispose:function(){var n=this;return c(n),n._callback=n._theme=n._font=null,n},setCallback:function(n){return this._callback=n,this},setTheme:function(n,t){return this._current=n,this._rtl=t,this.refresh()},refresh:function(){var n=this,i=n._current||{},t=s(i.name||i);return n._themeName=t.name,n._font=r({},t.font,i.font),n._themeSection&&u(n._themeSection.split("."),function(i,u){t=r(!0,{},t[u],n._IE8?t[u+"IE8"]:{})}),n._theme=r(!0,{},t,e(i)?{}:i),n._initializeTheme(),o(n._rtl,n._theme.rtlEnabled)&&r(!0,n._theme,n._theme._rtl),n._callback(),n},theme:function(n){return f(this._theme,n)},themeName:function(){return this._themeName},_initializeTheme:function(){var n=this;u(n._fontFields||[],function(t,i){n._initializeFont(f(n._theme,i))})},_initializeFont:function(n){r(n,this._font,r({},n))}})}(DevExpress,jQuery),function(n,t){var r=t.viz,u=r.core,f=t.Class,i=t.utils.isDefined,e=f.inherit({correctValueType:function(n){return n==="numeric"||n==="datetime"||n==="string"?n:""},_parsers:{string:function(n){return i(n)?""+n:n},numeric:function(n){if(!i(n))return n;var t=Number(n);return isNaN(t)&&(t=undefined),t},datetime:function(n){if(!i(n))return n;var t,r=Number(n);return t=isNaN(r)?new Date(n):new Date(r),isNaN(Number(t))&&(t=undefined),t}},getParser:function(t){return this._parsers[this.correctValueType(t)]||n.noop}});u.ParseUtils=e}(jQuery,DevExpress),function(n,t){function r(i){var r=this;r._$widgetContainer=i.container,r._$container=t("<div>",{css:{position:"relative",height:0,padding:0,margin:0,border:0}}).appendTo(r._$widgetContainer).hide(),r._renderer=new n.viz.renderers.Renderer({animation:{easing:"linear",duration:150}}),r._renderer.draw(r._$container[0]),r._rect=r._renderer.rect().attr({opacity:0}).append(r._renderer.root),r._text=r._renderer.text().attr({align:"center",visibility:"hidden"}).append(r._renderer.root),r._createStates(i.eventTrigger)}var o=n.viz.core.utils.patchFontOptions,u=0,f=1,e=2;r.prototype={constructor:r,_createStates:function(n){var t=this;t._states={},t._states[u]={o:0,c:function(){t._$container.hide(),n("loadingIndicatorReady")}},t._states[f]={o:.85,c:function(){n("loadingIndicatorReady")}},t._states[e]={o:1,c:function(){var n=t._onEndLoading;t._onEndLoading=null,t._noHiding=!0,n&&n(),t._noHiding=!1,t._onCompleteAction&&t[t._onCompleteAction]()}}},applyCanvas:function(n){var t=n.width,i=n.height;this._renderer.resize(t,i),this._rect.attr({width:t,height:i}),this._text.attr({x:t/2,y:i/2})},applyOptions:function(n){this._rect.attr({fill:n.backgroundColor}),this._text.css(o(n.font)).attr({text:n.text})},dispose:function(){var n=this;n._$container.remove(),n._renderer.dispose(),n._$widgetContainer=n._$container=n._renderer=n._rect=n._text=n._states=null},toForeground:function(){this._$container.appendTo(this._$widgetContainer)},forceShow:function(){this._rect.stopAnimation(!1).attr({opacity:1})},_transit:function(n){var t=this._states[n];this._rect.stopAnimation(!0).animate({opacity:t.o},{complete:t.c})},show:function(){var n=this;n._isHiding=!1,n._onEndLoading?n._onCompleteAction="show":(n._onCompleteAction=null,n._visible||(n._visible=!0,n._$container.show(),n._renderer.root.css({position:"absolute",left:0,top:n._$widgetContainer.offset().top-n._$container.offset().top}),n._text.attr({visibility:"visible"})),n._transit(f))},endLoading:function(n){var t=this;t._onEndLoading||(t._visible?(t._onEndLoading=n,t._transit(e)):n&&n())},hide:function(){var n=this;n._isHiding=!1,n._onEndLoading?n._onCompleteAction="hide":(n._onCompleteAction=null,n._visible&&(n._visible=!1,n._text.attr({visibility:"hidden"}),n._transit(u)))},scheduleHiding:function(){this._noHiding||(this._isHiding=!0,this._onCompleteAction=null)},fulfillHiding:function(){var n=this._isHiding;return n&&this.hide(),n}},n.viz.core.LoadIndicator=r}(DevExpress,jQuery),function(n,t,i,r){function o(n){n.css({left:"-9999px"}).detach()}function f(i){var u=this,f,e;u._eventTrigger=i.eventTrigger,u._wrapper=t("<div><\/div>").css({position:"absolute",overflow:"visible",width:0,height:0}).addClass(i.cssClass),u._renderer=f=new n.viz.renderers.Renderer({}),e=f.root,e.attr({"pointer-events":"none"}),f.draw(u._wrapper.get(0)),u._cloud=f.path([],"area").sharp().append(e),u._shadow=f.shadowFilter(),u._textGroup=f.g().attr({align:"center"}).append(e),u._text=f.text(r,0,0).append(u._textGroup),u._textGroupHtml=t("<div><\/div>").css({position:"absolute",width:0,padding:0,margin:0,border:"0px solid transparent"}).appendTo(u._wrapper),u._textHtml=t("<div><\/div>").css({position:"relative",display:"inline-block",padding:0,margin:0,border:"0px solid transparent"}).appendTo(u._textGroupHtml)}var u=10,s={argument:["argumentFormat","argumentPrecision"],percent:["percent","percentPrecision"],value:["format","precision"]},h=n.formatHelper,e=Math.ceil;f.prototype={constructor:f,dispose:function(){this._wrapper.remove(),this._renderer.dispose(),this._options=null},setOptions:function(i){i=i||{};var r=this,f=r._cloudSettigns={opacity:i.opacity,filter:r._shadow.ref,"stroke-width":null,stroke:null},u=i.border||{};return r._shadowSettigns=t.extend({x:"-50%",y:"-50%",width:"200%",height:"200%"},i.shadow),r._options=i,u.visible&&t.extend(f,{"stroke-width":u.width,stroke:u.color,"stroke-opacity":u.opacity,dashStyle:u.dashStyle}),r._textFontStyles=n.viz.core.utils.patchFontOptions(i.font),r._textFontStyles.color=i.font.color,r._wrapper.css({"z-index":i.zIndex}),r._customizeTooltip=t.isFunction(i.customizeTooltip)?i.customizeTooltip:null,r},setRendererOptions:function(n){return this._renderer.setOptions(n),this._textGroupHtml.css({direction:n.rtl?"rtl":"ltr"}),this},render:function(){var n=this;return o(n._wrapper),n._cloud.attr(n._cloudSettigns),n._shadow.attr(n._shadowSettigns),n._textGroupHtml.css(n._textFontStyles),n._textGroup.css(n._textFontStyles),n._text.css(n._textFontStyles),n._eventData=null,n},update:function(n){return this.setOptions(n).render()},_prepare:function(i,r){var f=this._options,u={};return this._customizeTooltip&&(u=this._customizeTooltip.call(i,i),u=t.isPlainObject(u)?u:{},"text"in u&&(r.text=n.utils.isDefined(u.text)?String(u.text):""),"html"in u&&(r.html=n.utils.isDefined(u.html)?String(u.html):"")),"text"in r||"html"in r||(r.text=i.valueText||""),r.color=u.color||f.color,r.borderColor=u.borderColor||(f.border||{}).color,r.textColor=u.fontColor||(f.font||{}).color,!!r.text||!!r.html},show:function(n,i,r){var u=this,o={},a=u._options,w=a.paddingLeftRight,b=a.paddingTopBottom,v=u._textGroupHtml,y=u._textHtml,f,s,p=u._shadowSettigns,c=p.offsetX,l=p.offsetY,h=p.blur*2+1;return u._prepare(n,o)?(u._state=o,o.tc={},u._wrapper.appendTo(t("body")),u._cloud.attr({fill:o.color,stroke:o.borderColor}),o.html?(u._text.attr({text:""}),v.css({color:o.textColor,width:u._getCanvas().width}),y.html(o.html),f=y.get(0).getBoundingClientRect(),f={x:0,y:0,width:e(f.right-f.left),height:e(f.bottom-f.top)},v.width(f.width),v.height(f.height)):(y.html(""),u._text.css({fill:o.textColor}).attr({text:o.text}),f=u._textGroup.css({fill:o.textColor}).getBBox()),s=o.contentSize={x:f.x-w,y:f.y-b,width:f.width+2*w,height:f.height+2*b,lm:h-c>0?h-c:0,rm:h+c>0?h+c:0,tm:h-l>0?h-l:0,bm:h+l>0?h+l:0},s.fullWidth=s.width+s.lm+s.rm,s.fullHeight=s.height+s.tm+s.bm+a.arrowLength,u.move(i.x,i.y,i.offset),u._eventData&&u._eventTrigger("tooltipHidden",u._eventData),u._eventData=r,u._eventTrigger("tooltipShown",u._eventData),!0):!1},hide:function(){var n=this;o(n._wrapper),n._eventData&&n._eventTrigger("tooltipHidden",n._eventData),n._eventData=null},move:function(n,t,i){i=i||0;var u=this,e=u._getCanvas(),o=u._state,f=o.tc,r=o.contentSize;u._calculatePosition(n,t,i)&&(u._cloud.attr({points:f.cloudPoints}).move(r.lm,r.tm),o.html?u._textGroupHtml.css({left:-r.x+r.lm,top:-r.y+r.tm+f.correction}):u._textGroup.move(-r.x+r.lm,-r.y+r.tm+f.correction),u._renderer.resize(f.hp==="out"?e.fullWidth-e.left:r.fullWidth,f.vp==="out"?e.fullHeight-e.top:r.fullHeight)),u._wrapper.css({left:f.x,top:f.y})},formatValue:function(n,t){var i=s[t||"value"],r=i[0]in this._options?this._options[i[0]]:t;return h.format(n,r,this._options[i[1]]||0)},getLocation:function(){return(this._options.location+"").toLowerCase()},isEnabled:function(){return!!this._options.enabled},isShared:function(){return!!this._options.shared},_calculatePosition:function(n,t,i){var d=this,o=d._getCanvas(),g=d._options,a=g.arrowLength,et=d._state,s=et.tc,f=et.contentSize,h=f.width,v=h/2,l=f.height,ot=t-o.top,lt=o.top+o.height-t,nt=n-o.left,tt=o.width+o.left-n,st=l+a+i+f.tm,at=l+a+i+f.bm,ht=h+f.lm,ct=h+f.rm,vt=v+f.lm,yt=v+f.rm,y=0,b,it=[6,0],p=v+u,rt=v,w=v-u,ut,ft,k=l+a,r="center",e="bottom",c;ut=ft=l;switch(g.verticalAlignment){case"top":e="bottom",c=!0;break;case"bottom":e="top",c=!0}c||(st>ot&&at>lt?e="out":st>ot&&(e="top")),c=!1;switch(g.horizontalAlignment){case"left":r="right",c=!0;break;case"center":r="center",c=!0;break;case"right":r="left",c=!0}return(c||(ht>nt&&ct>tt?r="out":vt>nt&&ct<tt?r="left":yt>tt&&ht<nt&&(r="right")),r==="out"?n=o.left:r==="left"?(p=u,rt=w=0):r==="right"?(p=rt=h,w=h-u,n=n-h):r==="center"&&(n=n-v),e==="out"?t=o.top:e==="top"?(r!=="out"&&(y=a),it[0]=2,ut=ft=a,k=p,p=w,w=k,k=0,t=t+i):t=t-(l+a+i),s.x=n-f.lm,s.y=t-f.tm,s.correction=y,r===s.hp&&e===s.vp)?!1:(s.hp=r,s.vp=e,b=[0,0+y,h,0+y,h,l+y,0,l+y],r!=="out"&&e!=="out"&&(it.splice(2,0,p,ut,rt,k,w,ft),b.splice.apply(b,it)),s.cloudPoints=b,!0)},_getCanvas:function(){var n=i.documentElement,t=i.body,r=window;return{left:r.pageXOffset||n.scrollLeft||0,top:r.pageYOffset||n.scrollTop||0,width:n.clientWidth||0,height:n.clientHeight||0,fullWidth:Math.max(t.scrollWidth,n.scrollWidth,t.offsetWidth,n.offsetWidth,t.clientWidth,n.clientWidth),fullHeight:Math.max(t.scrollHeight,n.scrollHeight,t.offsetHeight,n.offsetHeight,t.clientHeight,n.clientHeight)}}},n.viz.core.Tooltip=f}(DevExpress,jQuery,document),function(n,t,i){function lt(n,t,i,u){if(t&&t[i]){var f=t[i].hatching.direction,e,o=t[i].fill;return u=o===a?u:o,f=!f||f===a?r:f,e=ot({},t[i].hatching,{direction:f,step:kt,width:bt}),n.pattern(u,e)}}function ui(n){var t=n.margin;t>=0?(t=h(n.margin),t={top:t,bottom:t,left:t,right:t}):t={top:t.top>=0?h(t.top):w,bottom:t.bottom>=0?h(t.bottom):w,left:t.left>=0?h(t.left):w,right:t.right>=0?h(t.right):w},n.margin=t}function fi(n,t,i){var c=7,l=4,f,h;switch(n.itemTextPosition){case e:case r:f=t+c+i.width,h=u(t,i.height);break;case o:case s:f=u(t,i.width),h=t+l+i.height}return{width:f,height:h}}function ei(n,t){var i={};return i.left=rt(n.x,t.x),i.top=rt(n.y,t.y),i.right=u(n.x+n.width,t.x+t.width),i.bottom=u(n.y+n.height,t.y+t.height),i}function g(n,t,i,r){var u=t&&i[t[n]];u&&u.marker.attr(u.states[r])}function oi(n,i){return n?(ui(n),n.horizontalAlignment=dt(n.horizontalAlignment,r),n.verticalAlignment=gt(n.verticalAlignment,n.horizontalAlignment===f?s:o),n.orientation=ni(n.orientation,n.horizontalAlignment===f?l:st),n.itemTextPosition=ti(n.itemTextPosition,n.orientation===l?s:r),n.position=ii(n.position,ct),n.itemsAlignment=ri(n.itemsAlignment,null),n.hoverMode=it(n.hoverMode||"").toLowerCase(),n.customizeText=et(n.customizeText)?n.customizeText:function(){return this[i]},n.customizeHint=et(n.customizeHint)?n.customizeHint:t.noop,n):null}function si(n,t){return n.rect(0,0,t,t)}function hi(n,t){return n.circle(t/2,t/2,t/2)}function ci(n){return it(n).toLowerCase()==="circle"}function li(n){return ci(n)?hi:si}function ai(n,t,i){return t>=n.left&&t<=n.right&&i>=n.top&&i<=n.bottom}function vi(n,i,r){var f={x:0,y:0},e=0,o=0;return t.each(n,function(n,r){var s=r[0];t.each(r,function(n,t){var r=t.offset||i.spacing;f[i.direction]+=t[i.measure]+r,e=u(e,f[i.direction])}),f[i.direction]=0,f[i.ortDirection]+=s[i.ortMeasure]+s.ortOffset||i.ortSpacing,o=u(o,f[i.ortDirection])}),e>i.length?(i.countItem=yi(i,r),!0):void 0}function yi(n,t){return n.ortCountItem++,b(t/n.ortCountItem)}function at(n,i){var r=0;return t.each(n,function(n,t){var u=t.offset||i.spacing;r+=t[i.measure]+u}),r}function pi(n,i){var r=0;return t.each(n,function(n,t){r=u(r,at(t,i))}),r}function wi(n,t,i){var e=at(n,t),u;switch(t.itemsAlignment){case r:u=i-e;break;case f:u=(i-e)/2;break;default:u=0}return u}function bi(n){switch(n.itemTextPosition){case s:return f+" "+o;case o:return f+" "+s;case e:return r+" "+f;case r:return e+" "+f}}function ki(n,t,i){var r={};return i%t.countItem==0&&(t.markerOffset?n.push([],[]):n.push([])),t.markerOffset?(r.firstLine=n[n.length-1],r.secondLine=n[n.length-2]):r.firstLine=r.secondLine=n[n.length-1],r}function di(n,i){var r=0;t.each(n,function(n,t){t&&(r=u(r,t[i]))}),t.each(n,function(n,t){t&&(t[i]=r)})}function vt(n){for(var u=n.length,f=n[0].length,i,r=[],t=0;t<f;t++)for(r[t]=[],i=0;i<u;i++)r[t][i]=n[i][t];return r}function gi(n){switch(n){case o:case s:return f;case e:return r;case r:return e}}var nt=n.viz.core,tt=nt.utils,pt=nt.WrapperLayoutElement,h=Number,it=String,v=Math,y=v.round,u=v.max,rt=v.min,b=v.ceil,ut=n.utils,ft=ut.isDefined,et=ut.isFunction,c=tt.enumParser,ot=t.extend,p=t.each,wt=t.map,w=10,bt=2,kt=5,f="center",r="right",e="left",o="top",s="bottom",l="horizontal",st="vertical",ht="inside",ct="outside",a="none",k="height",d="width",dt=c([e,f,r]),gt=c([o,s]),ni=c([st,l]),ti=c([e,r,o,s]),ii=c([ct,ht]),ri=c([e,f,r]),yt=n.viz.core.Legend=function(n){var t=this;t._renderer=n.renderer,t._legendGroup=n.group,t._backgroundClass=n.backgroundClass,t._itemGroupClass=n.itemGroupClass,t._textField=n.textField,t._getCustomizeObject=n.getFormatObject,t._patterns=[]};yt.prototype={constructor:yt,update:function(n,t){var i=this;return i._data=n,i._boundingRect={width:0,height:0,x:0,y:0},i._options=oi(t,i._textField),i},setSize:function(n){return this._size={width:n.width,height:n.height},this},draw:function(n){var t=this,i=t._options,u=t._renderer,r=t._data;return(n&&t.setSize(n),t.erase(),!(i&&i.visible&&r&&r.length))?t:(t._insideLegendGroup=u.g().append(t._legendGroup),t._createBackground(),t._createItems(t._getItemData()),t._locateElements(i),t._finalUpdate(i),t)},_createItems:function(n){var r=this,f=r._options,l=f.markerSize,o=r._renderer,y=[],a=0,s=0,e,v=0,c=0,w=li(f.markerType);for(p(n,function(n,t){a=u(a,h(t.size>0?t.size:l))}),r._markersId={};s<r._patterns.length;s++)r._patterns[s].dispose();r._patterns=[],r._items=wt(n,function(n,t){var p=r._insideLegendGroup,s=h(n.size>0?n.size:l),b=n.states,tt=b.normal,a=tt.fill,it=w(o,s).attr({fill:a||f.markerColor,opacity:tt.opacity}).append(p),k=r._createLabel(n,p),d=lt(o,b,"hover",a),g=lt(o,b,"selection",a),nt={normal:{fill:a}},rt=k.getBBox();return d&&(nt.hovered={fill:d.id},r._patterns.push(d)),g&&(nt.selected={fill:g.id},r._patterns.push(g)),n.id!==i&&(r._markersId[n.id]=t),e=fi(f,s,rt),v=u(v,e.width),c=u(c,e.height),y.push({size:s,marker:it}),r._createHint(n,k),{label:k,labelBBox:rt,group:p,bbox:e,marker:it,markerSize:s,tracker:{id:n.id},states:nt,itemTextPosition:f.itemTextPosition,markerOffset:0,bboxs:[]}}),f.equalRowHeight&&t.each(r._items,function(n,t){t.bbox.height=c})},_getItemData:function(){var n=this._data;return this._options.inverted&&(n=n.slice().reverse()),n},_finalUpdate:function(n){this._adjustBackgroundSettings(n),this._setBoundingRect(n.margin)},erase:function(){var n=this,t=n._insideLegendGroup;return t&&t.dispose(),n._insideLegendGroup=n._x1=n._x2=n._y2=n._y2=null,n},_locateElements:function(n){this._moveInInitialValues(),this._locateRowsColumns(n)},_moveInInitialValues:function(){var n=this;n._legendGroup&&n._legendGroup.move(0,0),n._background&&n._background.attr({x:0,y:0,width:0,height:0})},applySelected:function(n){return g(n,this._markersId,this._items,"selected"),this},applyHover:function(n){return g(n,this._markersId,this._items,"hovered"),this},resetItem:function(n){return g(n,this._markersId,this._items,"normal"),this},_createLabel:function(n,t){var i=this._getCustomizeObject(n),r=gi(this._options.itemTextPosition),u=this._options.customizeText.call(i,i),f=ft(n.textOpacity)?ot({},this._options.font,{opacity:n.textOpacity}):this._options.font;return this._renderer.text(u,0,0).css(tt.patchFontOptions(f)).attr({align:r}).append(t)},_createHint:function(n,t){var r=this._getCustomizeObject(n),i=this._options.customizeHint.call(r,r);ft(i)&&i!==""&&t.setTitle(i)},_createBackground:function(){var n=this,i=n._options.position===ht,t=n._options.backgroundColor,r=t||(i?n._options.containerBackgroundColor:a);(n._options.border.visible||(i||t)&&t!==a)&&(n._background=n._renderer.rect(0,0,0,0).attr({fill:r,"class":n._backgroundClass}).append(n._insideLegendGroup))},_locateRowsColumns:function(){var n=this,r=0,i=n._getItemsLayoutOptions(),u=n._items.length,t;do t=[],n._createLines(t,i),n._alignLines(t,i),r++;while(vi(t,i,u)&&r<u);n._applyItemPosition(t,i)},_createLines:function(n,i){t.each(this._items,function(t,r){var e=ki(n,i,t),o={width:r.labelBBox.width,height:r.labelBBox.height,element:r.label,bbox:r.labelBBox,pos:bi(i),itemIndex:t},s={width:r.markerSize,height:r.markerSize,element:r.marker,bbox:{width:r.markerSize,height:r.markerSize,x:0,y:0},itemIndex:t},u,f,h=i.markerOffset?"ortOffset":"offset";i.inverseLabelPosition?(u=o,f=s):(u=s,f=o),u[h]=i.labelOffset,e.secondLine.push(u),e.firstLine.push(f)})},_alignLines:function(n,t){function r(n,t){di(t,u)}var i,u=t.ortMeasure;if(p(n,r),u=t.measure,t.itemsAlignment){if(t.markerOffset)for(i=0;i<n.length;)p(vt([n[i++],n[i++]]),r)}else p(vt(n),r)},_applyItemPosition:function(n,i){var u=this,r={x:0,y:0},f=pi(n,i),e=0;t.each(n,function(n,o){var s=o[0],h=s.ortOffset||i.ortSpacing;r[i.direction]=wi(o,i,f),t.each(o,function(n,t){var o=t.offset||i.spacing,s=new pt(t.element,t.bbox),f={x:r.x,y:r.y,width:t.width,height:t.height},h=u._items[t.itemIndex];s.position({of:f,my:t.pos,at:t.pos}),h.bboxs.push(f),r[i.direction]+=t[i.measure]+o,e++}),r[i.ortDirection]+=s[i.ortMeasure]+h}),t.each(this._items,function(n,t){var i=ei(t.bboxs[0],t.bboxs[1]),r=u._options.columnItemSpacing/2,f=u._options.rowItemSpacing/2;t.tracker.left=i.left-r,t.tracker.right=i.right+r,t.tracker.top=i.top-f,t.tracker.bottom=i.bottom+f})},_getItemsLayoutOptions:function(){var i=this,t=i._options,u=t.border.visible,c=t.orientation,n={itemsAlignment:t.itemsAlignment,orientation:t.orientation},f=i._size.width-(u?2*t.paddingLeftRight:0),h=i._size.height-(u?2*t.paddingTopBottom:0);return c===l?(n.length=f,n.ortLength=h,n.spacing=t.columnItemSpacing,n.direction="x",n.measure=d,n.ortMeasure=k,n.ortDirection="y",n.ortSpacing=t.rowItemSpacing,n.countItem=t.columnCount,n.ortCountItem=t.rowCount,n.marginTextLabel=4,n.labelOffset=7,(t.itemTextPosition===s||t.itemTextPosition===o)&&(n.labelOffset=4,n.markerOffset=!0)):(n.length=h,n.ortLength=f,n.spacing=t.rowItemSpacing,n.direction="y",n.measure=k,n.ortMeasure=d,n.ortDirection="x",n.ortSpacing=t.columnItemSpacing,n.countItem=t.rowCount,n.ortCountItem=t.columnCount,n.marginTextLabel=7,n.labelOffset=4,(t.itemTextPosition===r||t.itemTextPosition===e)&&(n.labelOffset=7,n.markerOffset=!0)),n.countItem||(n.countItem=n.ortCountItem?b(i._items.length/n.ortCountItem):i._items.length),(t.itemTextPosition===o||t.itemTextPosition===e)&&(n.inverseLabelPosition=!0),n.itemTextPosition=t.itemTextPosition,n.ortCountItem=n.ortCountItem||b(i._items.length/n.countItem),n},_adjustBackgroundSettings:function(n){if(this._background){var t=n.border,r=this._insideLegendGroup.getBBox(),i={x:y(r.x-n.paddingLeftRight),y:y(r.y-n.paddingTopBottom),width:y(r.width)+2*n.paddingLeftRight,height:y(r.height)+2*n.paddingTopBottom,opacity:n.backgroundOpacity};t.visible&&t.width&&t.color&&t.color!==a&&(i["stroke-width"]=t.width,i.stroke=t.color,i["stroke-opacity"]=t.opacity,i.dashStyle=t.dashStyle,i.rx=t.cornerRadius||0,i.ry=t.cornerRadius||0),this._background.attr(i)}},_setBoundingRect:function(n){if(this._insideLegendGroup){var t=this._insideLegendGroup.getBBox();t.height+=n.top+n.bottom,t.width+=n.left+n.right,t.x-=n.left,t.y-=n.top,this._boundingRect=t}},changeSize:function(){this.fit.apply(this,arguments)},fit:function(n){function f(f){var e=t.extend({},i._size);e[f]=r[f]-n[f],i.draw(e),u=i.getLayoutOptions(),i._insideLegendGroup&&r[f]-n[f]<u[f]&&(i._options._incidentOccured("W2104"),i.erase())}var i=this,r=i.getLayoutOptions(),u;return n.width>0&&f(d),n.height>0&&f(k),this},getActionCallback:function(n){var i=this;return i._options.visible?function(t){var u=n.type,r=u||n.series.type;(u||r==="pie"||r==="doughnut"||r==="donut")&&i[t]&&i[t](n.index)}:t.noop},getLayoutOptions:function(){var n=this._options,t=this._insideLegendGroup?this._boundingRect:{width:0,height:0,x:0,y:0};return n?(t.verticalAlignment=n.verticalAlignment,t.horizontalAlignment=n.horizontalAlignment,t.cutLayoutSide=n.orientation===l?n.verticalAlignment:n.horizontalAlignment===f?n.verticalAlignment:n.horizontalAlignment,t):null},shift:function(n,t){var i=this,r={};return i._insideLegendGroup&&(i._insideLegendGroup.attr({translateX:n-i._boundingRect.x,translateY:t-i._boundingRect.y}),r=i._legendGroup.getBBox()),i._x1=r.x,i._y1=r.y,i._x2=r.x+r.width,i._y2=r.y+r.height,i},getPosition:function(){return this._options.position},coordsIn:function(n,t){return n>=this._x1&&n<=this._x2&&t>=this._y1&&t<=this._y2},getItemByCoord:function(n,t){var r=this._items,u=this._insideLegendGroup,i;for(n=n-u.attr("translateX"),t=t-u.attr("translateY"),i=0;i<r.length;i++)if(ai(r[i].tracker,n,t))return r[i].tracker;return null},dispose:function(){var n=this;return n._legendGroup=n._insideLegendGroup=n._renderer=n._options=n._data=n._items=null,n}}}(DevExpress,jQuery),function(n,t,i){function h(n,t){return t<n}function c(n,t){return t>n}function w(n,t,i,r){var u=f(t);f(n)?u&&r(n,t)&&i(t):u&&i(t)}function k(n){return n}function d(n){return n.valueOf()}function g(n,t,i){var o=n.length,f,r,u,e=i==="datetime"?d:k;if(t&&t.length)for(r=0;r<t.length;r++){for(u=0,f=!1;u<o;u++)if(e(n[u])===e(t[r])){f=!0;break}f||n.push(t[r])}return n}var b=t.viz.core,l=t.utils,f=l.isDefined,y=l.isDate,nt=1,tt=6e4,r="min",u="max",o="minVisible",s="maxVisible",e="categories",p="base",a="axisType",v;v=b.Range=function(t){t&&n.extend(this,t)},v.prototype={constructor:v,dispose:function(){this[e]=null},addRange:function(n){var t=this,k=t[e],d=n[e],y=function(i,r){w(t[i],n[i],function(n){t[i]=n},r)},b=function(n,i,r){w(t[n],t[i],function(i){f(t[n])&&(t[n]=i)},r)},v=function(i){t[i]=t[i]||n[i]};return l.isDefined(n.stick)&&(t.stick=n.stick),v("addSpiderCategory"),v("percentStick"),v("minSpaceCorrection"),v("maxSpaceCorrection"),v("invert"),v(a),v("dataType"),t[a]==="logarithmic"?v(p):t[p]=i,y(r,h),y(u,c),t[a]==="discrete"?(v(o),v(s)):(y(o,h),y(s,c)),y("interval",h),b(r,o,h),b(r,s,h),b(u,s,c),b(u,o,c),t[e]=k===i?d:g(k,d,t.dataType),this},isDefined:function(){return f(this[r])&&f(this[u])||f(this[e])},setStubData:function(n){var t=this,i=(new Date).getYear()-1,f=n==="datetime",e=t.axisType==="discrete";return e?t.categories=["0","1","2"]:(t[r]=f?new Date(i,0,1):0,t[u]=f?new Date(i,11,31):10),t.stubData=!0,t},correctValueZeroLevel:function(){function t(t,i){n[t]<0&&n[i]<0&&(n[i]=0),n[t]>0&&n[i]>0&&(n[t]=0)}var n=this;return y(n[u])||y(n[r])?n:(t(r,u),t(o,s),n)},checkZeroStick:function(){var n=this;return n.min>=0&&n.max>=0?n.minStickValue=0:n.min<=0&&n.max<=0&&(n.maxStickValue=0),n}}}(jQuery,DevExpress),function(n,t,i,r){function b(n){return typeof n!="string"}function s(n){return n!==null&&n!==r}function bi(n){return Object.prototype.toString.call(n)==="[object Array]"}function ni(n){return Object.prototype.toString.call(n)==="[object Object]"}function ht(n){return i.createElementNS("http://www.w3.org/2000/svg",n)}function ct(n,t){return n!==null?"url("+(t?window.location.href:"")+"#"+n+")":""}function e(n,t,i){var u,f;for(f in t)u=t[f],(!i||i&&u!==r&&u!==null)&&(n[f]=u);return n}function ti(n,t,i){var r=Number(rt(i*k).toFixed(3)),u=Number(it(i*k).toFixed(3)),f=n.width/2,e=n.height/2,o=n.x+f,s=n.y+e,h=v(f*r)+v(e*u),c=v(f*u)+v(e*r),l=t[0]+(o-t[0])*r+(s-t[1])*u,a=t[1]-(o-t[0])*u+(s-t[1])*r;return ii({x:l-h,y:a-c,width:2*h,height:2*c})}function d(n){return-kt<n&&n<+kt?n:0}function ii(n){var i=d(tt(n.x)),r=d(tt(n.y)),u=d(pt(n.width+n.x)),f=d(pt(n.height+n.y)),t={x:i,y:r,width:u-i,height:f-r};return t.isEmpty=!t.x&&!t.y&&!t.width&&!t.height,t}function ki(n){return{full:l,lefttop:"xMinYMin",leftcenter:"xMinYMid",leftbottom:"xMinYMax",centertop:"xMidYMin",center:"xMidYMid",centerbottom:"xMidYMax",righttop:"xMaxYMin",rightcenter:"xMaxYMid",rightbottom:"xMaxYMax"}[(n||"").toLowerCase()]||l}function ui(n,t){var i=[["M",0,0]];switch(t){case"line":i=fi(n);break;case"area":i=fi(n,!0);break;case"bezier":i=ei(n);break;case"bezierarea":i=ei(n,!0)}return i}function fi(n,t){return oi(n,di,t)}function ei(n,t){return oi(n,gi,t)}function oi(n,t,i){var u=0,f=(n||[]).length,r=[];if(bi(n[0]))for(;u<f;)t(n[u++],i,r);else t(n,i,r);return r}function di(n,t,i){var r=0,u=(n||[]).length;if(u)if(ni(n[0]))for(;r<u;)i.push([r?"L":"M",n[r].x,n[r++].y]);else for(;r<u;)i.push([r?"L":"M",n[r++],n[r++]]);else i.push(["M",0,0]);return t&&i.push(["Z"]),i}function gi(n,t,i){var r=2,u=(n||[]).length;if(u)if(ni(n[0]))for(r=1,i.push(["M",n[0].x,n[0].y]);r<u;)i.push(["C",n[r].x,n[r++].y,n[r].x,n[r++].y,n[r].x,n[r++].y]);else for(i.push(["M",n[0],n[1]]);r<u;)i.push(["C",n[r++],n[r++],n[r++],n[r++],n[r++],n[r++]]);else i.push(["M",0,0]);return t&&i.push(["Z"]),i}function nr(n){for(var i=[],t=0,r=n.length;t<r;t++)i.push(n[t].join(" "));return i.join(" ")}function tr(n,t,i){var u=n.length,f=t.length,r,e,o=i.indexOf("area")!==-1?rr:ir;if(u===0)for(r=0;r<f;r++)n.push(t[r].slice(0));else u<f?o(n,t,i):u>f&&(e=t.slice(0),o(t,n,i));return e}function lt(n,t){var i=n[n.length-2],r=n[n.length-1];switch(t){case"line":case"area":n[0]="L";break;case"bezier":case"bezierarea":n[0]="C",n[1]=n[3]=n[5]=i,n[2]=n[4]=n[6]=r}}function ir(n,t,i){var u=n[n.length-1].slice(),r=n.length;for(lt(u,i);r<t.length;r++)n[r]=u.slice(0)}function rr(n,t,i){var u,f,s=n.length,h=t.length,e,o,r;if((s-1)%2==0&&(h-1)%2==0)for(u=(s-1)/2-1,f=n.slice(0,u+1),e=f[f.length-1].slice(0),o=n.slice(u+1)[0].slice(0),lt(e,i),lt(o,i),r=u;r<(h-1)/2-1;r++)n.splice(r+1,0,e),n.splice(r+3,0,o)}function at(n){var r=this._styles,u="",i,t;e(r,n||{},!0);for(i in r)(t=r[i],t!=="")&&(typeof t!="number"||wi[i]||(t+="px"),u+=i+":"+t+";");return u&&this.element.setAttribute("style",u),this}function a(n){n=n||{};var f=this,o=f._settings,h={},i,t,v=f.element,y=f.renderer,p=y.rtl,c,a,w,s;if(!b(n))return n in o?o[n]:n in gt?gt[n]:0;e(h,n);for(i in h)if(t=h[i],t!==r){if(o[i]=t,i==="align")i="text-anchor",t={left:p?"end":"start",center:"middle",right:p?"start":"end"}[t]||"";else if(i==="dashStyle"){a=!0;continue}else if(i===u)a=!0;else if(i==="clipId")i="clip-path",t=ct(t,y.pathModified);else if(/^(translate(X|Y)|rotate[XY]?|scale(X|Y)|sharp)$/i.test(i)){c=!0;continue}else/^(x|y|d)$/i.test(i)&&(c=!0);t===null?v.removeAttribute(i):v.setAttribute(i,t)}if(a&&"dashStyle"in o)if(t=o.dashStyle,w=("_originalSW"in f?f._originalSW:o[u])||1,i="stroke-dasharray",t=t===null?"":t.toLowerCase(),t===""||t==="solid"||t===l)f.element.removeAttribute(i);else{for(t=t.replace(/longdash/g,"8,3,").replace(/dash/g,"4,3,").replace(/dot/g,"1,3,").replace(/,$/,"").split(","),s=t.length;s--;)t[s]=ut(t[s])*w;f.element.setAttribute(i,t.join(","))}return c&&f._applyTransformation(),f}function si(n){return function(t,i){var u=this,r;return b(t)&&(t=e({},t),r=t.segments,"points"in t&&(r=ui(t.points,u.type),delete t.points),r&&(t.d=nr(r),u.segments=r,delete t.segments)),n.call(u,t,i)}}function hi(n,t){return function(i,r){var u=this._settings,f,s,h,c,l,a;return b(i)&&(i=e({},i),("x"in i||"y"in i||"innerRadius"in i||"outerRadius"in i||"startAngle"in i||"endAngle"in i)&&(u.x=f="x"in i?i.x:u.x,delete i.x,u.y=s="y"in i?i.y:u.y,delete i.y,u.innerRadius=h="innerRadius"in i?i.innerRadius:u.innerRadius,delete i.innerRadius,u.outerRadius=c="outerRadius"in i?i.outerRadius:u.outerRadius,delete i.outerRadius,u.startAngle=l="startAngle"in i?i.startAngle:u.startAngle,delete i.startAngle,u.endAngle=a="endAngle"in i?i.endAngle:u.endAngle,delete i.endAngle,i.d=t.apply(this,o._normalizeArcParams(f,s,h,c,l,a)))),n.call(this,i,r)}}function ci(n){return function(t,i){var f=this,l,a,h,c,s,v,o;return b(t)&&(t=e({},t),i||t.x===r&&t.y===r&&t.width===r&&t.height===r&&t[u]===r||(l=t.x!==r?f._originalX=t.x:f._originalX||0,a=t.y!==r?f._originalY=t.y:f._originalY||0,h=t.width!==r?f._originalWidth=t.width:f._originalWidth||0,c=t.height!==r?f._originalHeight=t.height:f._originalHeight||0,s=t[u]!==r?f._originalSW=t[u]:f._originalSW,v=~~((h<c?h:c)/2),o=(s||0)<v?s||0:v,t.x=l+o/2,t.y=a+o/2,t.width=h-o,t.height=c-o,(s||0)===o&&o===0&&s===r||(t[u]=o)),"sharp"in t&&delete t.sharp),n.call(f,t,i)}}function or(n){var i=this,t,f,h,o;return b(n)?(n=e({},n),t=i._settings,h=s(t[c])&&s(t[u]),n[p]!==r&&(t[p]=n[p],delete n[p],f=!0),n[c]!==r&&(t[c]=n[c],delete n[c]),n[u]!==r&&(t[u]=n[u],delete n[u]),n[y]!==r&&(t[y]=n[y],delete n[y]),o=s(t[c])&&s(t[u]),a.call(i,n),f=f||o!==h&&t[p],f&&ar(i,t.text,o),(f||n.x!==r||n.y!==r)&&vi(i),o&&vr(i),i):a.call(i,n)}function sr(n){return n=n||{},at.call(this,n),w in n&&vi(this),this}function li(n,t,i){var h=t.params=t.params||{style:{}},u=h.style,o=t.parentNode&&t.parentNode.params&&t.parentNode.params.style||{},f=t.style,c=t.childNodes.length,s=0;t.nodeName!=="#text"&&e(u,o);switch(t.tagName){case"B":case"STRONG":u[et]="bold";break;case"I":case"EM":u[ft]="italic";break;case"U":u[ot]="underline";break;case"BR":n++}for(f&&(f.fontSize&&(u[w]=(ut(f.fontSize,10)||u[w])+"px"),u.fill=f.color||u.fill,u[ft]=f.fontStyle||u[ft],u[et]=f.fontWeight||u[et],u[ot]=f.textDecoration||u[ot]);s!==c;)n=li(n,t.childNodes[s++],i);return t.wholeText!==r&&(e(u,o),i.push({value:t.wholeText,style:u,line:n,height:ut(u[w],10)||0})),n}function hr(n){for(var t=n[0],i,r=1,u=n.length;r<u;++r)i=n[r],i.line===t.line?(t.height=nt(t.height,i.height),t.inherits=t.inherits||i.height===0,i.height=NaN):t=i}function cr(n){var t=[],r=i.createElement("div");return r.innerHTML=n.replace(/\r/g,"").replace(/\n/g,"<br/>"),li(0,r,t),hr(t),t}function lr(n){for(var i=n.replace(/\r/g,"").split("\n"),t=0,r=[];t<i.length;t++)r.push({value:i[t],height:0});return r}function ai(n,t,r){for(var u,f=0,e=n.length;f<e;++f)u=n[f],u[r]=ht("tspan"),u[r].appendChild(i.createTextNode(u.value)),u.style&&at.call({element:u[r],_styles:{}},u.style),t.appendChild(u[r])}function ar(n,t,r){var u;(n._texts=null,n.clear(),t!==null)&&(t=""+t,n.renderer.encodeHtml||t.indexOf("<")===-1&&t.indexOf("&")===-1?t.indexOf("\n")!==-1?u=lr(t):r&&(u=[{value:t,height:0}]):u=cr(t),u?u.length&&(n._texts=u,r&&ai(u,n.element,c),ai(u,n.element,"tspan")):n.element.appendChild(i.createTextNode(t)))}function g(n,t,i){n.tspan.setAttribute(t,i),n.stroke&&n.stroke.setAttribute(t,i)}function vi(n){if(n._texts){var r=n._texts,u=n._settings.x,f=n._styles[w]||12,i,e,t=r[0];for(g(t,"x",u),g(t,"y",n._settings.y),i=1,e=r.length;i<e;++i)t=r[i],t.height>=0&&(g(t,"x",u),g(t,"dy",t.inherits?nt(t.height,f):t.height||f))}}function vr(n){if(n._texts)for(var r=n._texts,e=n._settings[c],o=n._settings[u],s=n._settings[y]||1,t,i=0,f=r.length;i<f;++i)t=r[i].stroke,t.setAttribute(c,e),t.setAttribute(u,o),t.setAttribute(y,s),t.setAttribute("stroke-linejoin","round")}function vt(n,t,i){t=t||{};var u=this,r,o,h=u.renderer,s=u._settings,f={},c={translateX:0,translateY:0,scaleX:1,scaleY:1,rotate:0,rotateX:0,rotateY:0};if(i&&(t.complete=i),h.animationEnabled()){for(r in n)o=n[r],/^(translate(X|Y)|rotate[XY]?|scale(X|Y))$/i.test(r)?(f.transform=f.transform||{from:{},to:{}},f.transform.from[r]=r in s?s[r]:c[r],f.transform.to[r]=o):f[r]=r==="arc"||r==="segments"?o:{from:r in s?s[r]:parseFloat(u.element.getAttribute(r)||0),to:o};h.animateElement(u,f,e(e({},h._animation),t))}else t.step&&t.step.call(u,1,1),t.complete&&t.complete.call(u),u.attr(n);return u}function yr(n,t,i){var r=this,f=r.segments||[],u,e;return r.renderer.animationEnabled()&&"points"in n&&(u=ui(n.points,r.type),e=tr(f,u,r.type),n.segments={from:f,to:u,end:e},delete n.points),vt.call(r,n,t,i)}function pr(n,t,i){var f=this,u=f._settings,r={from:{},to:{}};return f.renderer.animationEnabled()&&("x"in n||"y"in n||"innerRadius"in n||"outerRadius"in n||"startAngle"in n||"endAngle"in n)&&(r.from.x=u.x||0,r.from.y=u.y||0,r.from.innerRadius=u.innerRadius||0,r.from.outerRadius=u.outerRadius||0,r.from.startAngle=u.startAngle||0,r.from.endAngle=u.endAngle||0,r.to.x="x"in n?n.x:u.x,delete n.x,r.to.y="y"in n?n.y:u.y,delete n.y,r.to.innerRadius="innerRadius"in n?n.innerRadius:u.innerRadius,delete n.innerRadius,r.to.outerRadius="outerRadius"in n?n.outerRadius:u.outerRadius,delete n.outerRadius,r.to.startAngle="startAngle"in n?n.startAngle:u.startAngle,delete n.startAngle,r.to.endAngle="endAngle"in n?n.endAngle:u.endAngle,delete n.endAngle,n.arc=r),vt.call(f,n,t,i)}function yi(){this.ctor.apply(this,arguments)}function yt(n){var t=this;t.root=t._createElement("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",fill:l,stroke:l,"stroke-width":0,"class":n.cssClass}).css({"line-height":"normal","-ms-user-select":l,"-moz-user-select":l,"-webkit-user-select":l,"-webkit-tap-highlight-color":"rgba(0, 0, 0, 0)",display:"block",overflow:"hidden"}),t._defs=t._createElement("defs"),t._animationController=new o.AnimationController(t.root.element),t._animation={enabled:!0,duration:1e3,easing:"easeOutCubic"}}var o=t.viz.renderers={},h=Math,pi=h.min,nt=h.max,pt=h.ceil,tt=h.floor,wt=h.round,it=h.sin,rt=h.cos,v=h.abs,bt=h.PI,k=bt/180,ut=parseInt,kt=1e10,dt=.5,f=5,wi={"column-count":!0,"fill-opacity":!0,"flex-grow":!0,"flex-shrink":!0,"font-weight":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,widows:!0,"z-index":!0,zoom:!0},p="text",c="stroke",u="stroke-width",y="stroke-opacity",w="font-size",ft="font-style",et="font-weight",ot="text-decoration",l="none",gt={scaleX:1,scaleY:1},st=function(){var n=1;return function(){return"DevExpress_"+n++}}(),ri;o._normalizeArcParams=function(n,t,i,r,u,f){var e,o=!0;return wt(u)!==wt(f)&&(v(f-u)%360==0&&(u=0,f=360,e=!0,f-=.01),u>360&&(u=u%360),f>360&&(f=f%360),u>f&&(u-=360),o=!1),u=u*k,f=f*k,[n,t,pi(r,i),nt(r,i),rt(u),it(u),rt(f),it(f),e,tt(v(f-u)/bt)%2?"1":"0",o]},ri=function(n,t,i,r,u,e,o,s,h,c){return["M",(n+r*u).toFixed(f),(t-r*e).toFixed(f),"A",r.toFixed(f),r.toFixed(f),0,c,0,(n+r*o).toFixed(f),(t-r*s).toFixed(f),h?"M":"L",(n+i*o).toFixed(5),(t-i*s).toFixed(f),"A",i.toFixed(f),i.toFixed(f),0,c,1,(n+i*u).toFixed(f),(t-i*e).toFixed(f),"Z"].join(" ")};var ur=si(a),fr=hi(a,ri),er=ci(a);o.SvgElement=yi,yi.prototype={ctor:function(t,i,r){var u=this;u.renderer=t,u.element=ht(i),u._settings={},u._styles={},i==="path"&&(u.type=r||"line"),i==="text"?(u.attr=or,u.css=sr):i==="path"?u.type==="arc"?(u.attr=fr,u.animate=pr):(u.attr=ur,u.animate=yr):i==="rect"&&(u.attr=er,u.sharp=function(){return this}),u._$element=n(u.element)},dispose:function(){return this._$element.remove(),this},append:function(n){return n=n||this.renderer.root,(n.element||n).appendChild(this.element),this},remove:function(){var n=this.element,t=n.parentNode;return t&&t.removeChild(n),this},clear:function(){return this._$element.empty(),this},toBackground:function(){var t=this.element,n=t.parentNode;return n&&n.insertBefore(t,n.firstChild),this},toForeground:function(){var n=this.element,t=n.parentNode;return t&&t.appendChild(n),this},css:at,attr:a,sharp:function(n){return this.attr({sharp:n||!0})},_applyTransformation:function(){var n=this._settings,r,f,t=[],e,o,i=n.sharp,h=n[u]%2,c=h&&(i==="h"||i===!0)?dt:0,l=h&&(i==="v"||i===!0)?dt:0;e="rotateX"in n?n.rotateX:n.x,o="rotateY"in n?n.rotateY:n.y,t.push("translate("+((n.translateX||0)+c)+","+((n.translateY||0)+l)+")"),n.rotate&&t.push("rotate("+n.rotate+","+(e||0)+","+(o||0)+")"),r=s(n.scaleX),f=s(n.scaleY),(r||f)&&t.push("scale("+(r?n.scaleX:1)+","+(f?n.scaleY:1)+")"),t.length&&this.element.setAttribute("transform",t.join(" "))},move:function(n,t,i,r){var u={};return s(n)&&(u.translateX=n),s(t)&&(u.translateY=t),i?this.animate(u,r):this.attr(u),this},rotate:function(n,t,i,r,u){var f={rotate:n||0};return s(t)&&(f.rotateX=t),s(i)&&(f.rotateY=i),r?this.animate(f,u):this.attr(f),this},getBBox:function(){var i=this.element,n=this._settings,t;try{t=i.getBBox&&i.getBBox()}catch(r){}return t=t||{x:0,y:0,width:i.offsetWidth||0,height:i.offsetHeight||0},t=n.rotate?ti(t,[("rotateX"in n?n.rotateX:n.x)||0,("rotateY"in n?n.rotateY:n.y)||0],-n.rotate):ii(t)},markup:function(){var n=i.createElement("div"),t=this.element.cloneNode(!0);return n.appendChild(t),n.innerHTML},getOffset:function(){return this._$element.offset()},animate:vt,stopAnimation:function(n){var t=this.animation;return t&&t.stop(!0,n),this},setTitle:function(n){var t=ht("title");t.textContent=n||"",this.element.appendChild(t)},on:function(){return n.fn.on.apply(this._$element,arguments),this},off:function(){return n.fn.off.apply(this._$element,arguments),this},trigger:function(){return n.fn.trigger.apply(this._$element,arguments),this},data:function(){return n.fn.data.apply(this._$element,arguments),this}},o.SvgRenderer=yt,yt.prototype={constructor:yt,setOptions:function(n){var t=this;t.pathModified=!!n.pathModified,t.rtl=!!n.rtl,t.encodeHtml=!!n.encodeHtml,t.updateAnimationOptions(n.animation||{}),t.root.attr({direction:t.rtl?"rtl":"ltr"})},_createElement:function(n,t,i){var r=new o.SvgElement(this,n,i);return t&&r.attr(t),r},draw:function(n){var t=this;return!n||t.drawn?t:(t.root.append(n),t._defs.append(t.root),t.drawn=!0,t)},resize:function(n,t){return n>=0&&t>=0&&this.root.attr({width:n,height:t}),this},clear:function(){var n=this;return n.root.remove(),n._defs.remove(),n.drawn=null,this},dispose:function(){var n=this,t;n.root.dispose(),n._defs.dispose(),n._animationController.dispose();for(t in n)n[t]=null;return null},animationEnabled:function(){return!!this._animation.enabled},updateAnimationOptions:function(n){return e(this._animation,n),this},stopAllAnimations:function(n){return this._animationController[n?"lock":"stop"](),this},animateElement:function(n,t,i){return this._animationController.animateElement(n,t,i),this},svg:function(){return this.root.markup()},getRootOffset:function(){return this.root.getOffset()},onEndAnimation:function(n){this._animationController.onEndAnimation(n)},rect:function(n,t,i,r){return this._createElement("rect",{x:n||0,y:t||0,width:i||0,height:r||0})},circle:function(n,t,i){return this._createElement("circle",{cx:n||0,cy:t||0,r:i||0})},g:function(){return this._createElement("g")},image:function(n,t,i,r,u,f){var e=this._createElement("image",{x:n||0,y:t||0,width:i||0,height:r||0,preserveAspectRatio:ki(f)});return e.element.setAttributeNS("http://www.w3.org/1999/xlink","href",u||""),e},path:function(n,t){return this._createElement("path",{points:n||[]},t)},arc:function(n,t,i,r,u,f){return this._createElement("path",{x:n||0,y:t||0,innerRadius:i||0,outerRadius:r||0,startAngle:u||0,endAngle:f||0},"arc")},text:function(n,t,i){return this._createElement("text",{text:n,x:t||0,y:i||0})},pattern:function(n,t){t=t||{};var u=this,o,h,f,c,l,r=t.step||6,i=r/2,e=r*1.5,s=(t.direction||"").toLowerCase();return s!=="right"&&s!=="left"?{id:n,append:function(){return this},clear:function(){},dispose:function(){},remove:function(){}}:(o=st(),h=s==="right"?"M "+i+" "+-i+" L "+-i+" "+i+" M 0 "+r+" L "+r+" 0 M "+e+" "+i+" L "+i+" "+e:"M 0 0 L "+r+" "+r+" M "+-i+" "+i+" L "+i+" "+e+" M "+i+" "+-i+" L "+e+" "+i,f=u._createElement("pattern",{id:o,width:r,height:r,patternUnits:"userSpaceOnUse"}).append(u._defs),f.id=ct(o,u.pathModified),c=u.rect(0,0,r,r).attr({fill:n,opacity:t.opacity}).append(f),l=u._createElement("path",{d:h,"stroke-width":t.width||1,stroke:n}).append(f),f)},clipRect:function(n,t,i,r){var f=this,o=st(),e=f._createElement("clipPath",{id:o}).append(f._defs),u=f.rect(n,t,i,r).append(e);return u.id=o,u.remove=function(){throw"Not implemented";},u.dispose=function(){return e.dispose(),e=null,this},u},shadowFilter:function(n,t,i,r,u,f,e,o,s){var c=this,l=st(),h=c._createElement("filter",{id:l,x:n||0,y:t||0,width:i||0,height:r||0}).append(c._defs),v=c._createElement("feGaussianBlur",{"in":"SourceGraphic",result:"gaussianBlurResult",stdDeviation:e||0}).append(h),y=c._createElement("feOffset",{"in":"gaussianBlurResult",result:"offsetResult",dx:u||0,dy:f||0}).append(h),p=c._createElement("feFlood",{result:"floodResult","flood-color":o||"","flood-opacity":s}).append(h),w=c._createElement("feComposite",{"in":"floodResult",in2:"offsetResult",operator:"in",result:"compositeResult"}).append(h),b=c._createElement("feComposite",{"in":"SourceGraphic",in2:"compositeResult",operator:"over"}).append(h);return h.ref=ct(l,c.pathModified),h.gaussianBlur=v,h.offset=y,h.flood=p,h.composite=w,h.finalComposite=b,h.attr=function(n){var t=this,i={},r={},u={};return"x"in n&&(i.x=n.x),"y"in n&&(i.y=n.y),"width"in n&&(i.width=n.width),"height"in n&&(i.height=n.height),a.call(t,i),"blur"in n&&t.gaussianBlur.attr({stdDeviation:n.blur}),"offsetX"in n&&(r.dx=n.offsetX),"offsetY"in n&&(r.dy=n.offsetY),t.offset.attr(r),"color"in n&&(u["flood-color"]=n.color),"opacity"in n&&(u["flood-opacity"]=n.opacity),t.flood.attr(u),t},h}},o.rotateBBox=ti,o._createArcAttr=hi,o._createPathAttr=si,o._createRectAttr=ci}(jQuery,DevExpress,document),function(n,t,i){function o(n){return n!==null&&n!==undefined}function f(n,t){for(var i in t)n[i]=t[i];return n}function l(n,t){for(var i=0;i<n.length;i++)if(t===n[i])return i;return-1}function wt(n,t,i,u,f,e,o,s,h,c,l){var a=n+u*f,v=t-u*e,y=n+u*o,p=t-u*s,w=n+i*o,b=t-i*s,k=n+i*f,d=t-i*e;return l?"m 0 0 x e":["wr",r(n-i),r(t-i),r(n+i),r(t+i),r(w),r(b),r(k),r(d),h?"wr ":"at ",r(n-u),r(t-u),r(n+u),r(t+u),r(a),r(v),r(y),r(p),"x e"].join(" ")}function k(n){var r={},t,i;for(t in b)i=n[t],i!==undefined&&(r[t]=i);return r}function d(n,t){return t=Math.ceil(parseInt(t)/2),t&&t>1&&(n.left-=t,n.top-=t,n.right+=t,n.bottom+=t),n}function bt(){for(var r=(this._settings.d||"").match(/[-0-9]+/g),t,n={},i=0;i<r.length;i++)t=parseInt(r[i]),i%2?(n.top=n.top===undefined||t<n.top?t:n.top,n.bottom=n.bottom===undefined||t>n.bottom?t:n.bottom):(n.left=n.left===undefined||t<n.left?t:n.left,n.right=n.right===undefined||t>n.right?t:n.right);return n.left=n.left||0,n.top=n.top||0,n.right=n.right||0,n.bottom=n.bottom||0,d(n,this._fullSettings["stroke-width"])}function a(n,t){var l=this.element,o=this._settings,h=this._fullSettings,i,r,s={style:{}},c,u,e;if(typeof n=="string")return n in o?o[n]:n in ot?ot[n]:0;for(r in n)(i=n[r],i!==undefined)&&(c=h[r],t||(o[r]=i),h[r]=i,b[r]&&(i=i===null?this._parent&&this._parent._fullSettings[r]||i:i),c!==i&&this.processAttr(l,r,i,s));for(this._applyTransformation(s),this.css(s.style),e=0;e<this._children.length;e++)u=this._children[e],u!==this._clipRect&&u.attr(f(k(this._fullSettings),u._settings),!0),u._applyStyleSheet();return t||this._applyStyleSheet(),this}function v(){for(var t=this.element,i=a.apply(this,arguments),n=0;n<t.childNodes.length;n++)t.childNodes[n].xmlns="urn:schemas-microsoft-com:vml",t.childNodes[n].style.behavior="url(#default#VML)",t.childNodes[n].style.display="inline-block";return i}function y(n,t,i,r){switch(t){case"stroke":i=i||"none",n.stroked=i==="none"?"f":"t",t+="color";break;case"fill":i=i||"none",n.filled=i==="none"?"f":"t",t+="color";break;case"stroke-width":t="strokeweight",i=i+"px";break;case"stroke-linejoin":n.stroke.joinstyle=i;return;case"stroke-linecap":n.stroke.endcap=i==="butt"?"flat":i;return;case"opacity":i=g(i),n.fill.opacity=i,n.stroke.opacity=i;return;case"fill-opacity":n.fill.opacity=g(i);return;case"stroke-opacity":n.stroke.opacity=g(i);return;case"dashStyle":i===null?n.stroke[t]="":(i=i.toLowerCase(),i=i==="solid"||i==="none"?"":i.replace(/longdash/g,"8,3,").replace(/dash/g,"4,3,").replace(/dot/g,"1,3,").replace(/,$/,""),n.stroke[t]=i);return;case"d":t="path",i=(i+"").toLowerCase().replace("z","x e").replace(/([.]\d+)/g,"");break;case"href":t="src";break;case"width":case"height":case"visibility":r.style[t]=i||"";return;case"class":t+="Name";break;case"translateX":case"translateY":case"rotate":case"rotateX":case"rotateY":case"scale":case"scaleX":case"scaleY":case"x":case"y":return}n[t]=i}function g(n){return n>=.002?n:n===null?1:.002}function kt(n){var t=document.createElement(n);return ct.appendChild(t)}function st(n,t,i,r){if(!b[t])if(t==="visibility")r.style[t]=i||"";else if(t==="width"||t==="height")r.style[t]=i;else if(t==="clipId")this.applyClipID(i);else{if(t==="translateX"||t==="translateY"||t==="x"||t==="y")return;t==="class"?n.className=i:n[t]=i}}var h,ht,p,c;t.viz.renderers=t.viz.renderers||{};var e=t.viz.renderers,s=Math,nt=s.min,tt=s.max,r=s.floor,it=s.sin,rt=s.cos,w=e.SvgElement.prototype,ct=i.createDocumentFragment(),ut={behavior:"url(#default#VML)",display:"inline-block",position:"absolute"},ft={xmlns:"urn:schemas-microsoft-com:vml"},b={stroke:!0,fill:!0,opacity:!0,"stroke-width":!0,align:!0,dashStyle:!0,"stroke-opacity":!0,"fill-opacity":!0,rotate:!0,rotateX:!0,rotateY:!0},et=function(){},u=function(){return this},lt={circle:"oval",g:"div",path:"shape",text:"span"},at=.55+.45/2,ot={scaleX:1,scaleY:1},vt=e._createPathAttr(v),yt=e._createArcAttr(v,wt),pt=e._createRectAttr(v);h=function(){this.ctor.apply(this,arguments)},ht={div:{processAttr:st,attr:a,_applyTransformation:function(n){var r=n.style,i=this._settings,t=this._fullSettings;t.rotate&&(t.rotateX=t.rotateX||0,t.rotateY=t.rotateY||0),r.left=(i.x||0)+(i.translateX||0),r.top=(i.y||0)+(i.translateY||0)},_getBBox:function(){var i=Infinity,r=Infinity,u=-Infinity,f=-Infinity,e=0,n,o=this._children,s,h,t,c;if(o.length)for(;e<o.length;e++)(n=o[e],n!==this._clipRect)&&(s=n._fullSettings.translateX||0,h=n._fullSettings.translateY||0,c=n._fullSettings,t=n._getBBox(),i=nt(i,t.left+s),u=tt(u,t.right+s),r=nt(r,t.top+h),f=tt(f,t.bottom+h));else i=r=f=u=0;return{left:i,right:u,top:r,bottom:f}},defaultAttrs:{},defaultStyle:{position:"absolute"}},shape:{defaultAttrs:f({coordsize:"1,1","stroke-linejoin":"miter"},ft),defaultStyle:f({width:1,height:1},ut),_getBBox:bt},image:{processAttr:function(n,t,i,r){t!=="fill"&&t!=="stroke"&&y(n,t,i,r)}},oval:{processAttr:function(n,t,i,r){if(t==="cx"||t==="cy")t=t[1];else if(t==="r")i*=2,y(n,"width",i,r),t="height";else if(t==="x"||t==="y")return;y(n,t,i,r)},_getBBox:function(){var n=this._fullSettings,i=n.cx||0,r=n.cy||0,t=n.r||0;return d({left:i-t,top:r-t,right:i+t,bottom:r+t},n["stroke-width"]||1)}},span:{defaultAttrs:{},defaultStyle:{position:"absolute",whiteSpace:"nowrap"},processAttr:function(n,t,i,r){t==="text"?(i=o(i)?i.toString().replace(/\r/g,""):"",this.renderer.encodeHtml&&(i=i.replace(/</g,"&lt;").replace(/>/g,"&gt;")),n.innerHTML=i.replace(/\n/g,"<br/>"),this.css({filter:""}),this._bbox=null):st(n,t,i,r)},attr:a,_applyTransformation:function(n){this.element.offsetHeight;var p=this,y=n.style,t=p._fullSettings,c=o(t.x)?t.x:0,l=o(t.y)?t.y:0,v=p._bbox||p.element.getBoundingClientRect(),s=v.bottom-v.top,u=v.right-v.left,a=t.rotate,i=1,r=0,w=o(t.rotateX)?t.rotateX:c,b=o(t.rotateY)?t.rotateY:l,k,f=0,h=0,e=s*at,d="",g={center:.5,right:1}[t.align],nt=this._styles.opacity||t.opacity||t["fill-opacity"];s&&u&&(a&&(k=a*Math.PI/180,i=rt(k),r=it(k),f=(c-w)*i-(l-b)*r+w-c,h=(c-w)*r+(l-b)*i+b-l,d='progid:DXImageTransform.Microsoft.Matrix(sizingMethod="auto expand", M11 = '+i.toFixed(5)+", M12 = "+(-r).toFixed(5)+", M21 = "+r.toFixed(5)+", M22 = "+i.toFixed(5)+")"),a<90?(h-=e*i,f-=(s-e)*r):a<180?(h+=(s-e)*i,f+=u*i-(s-e)*r):a<270?(h+=(s-e)*i+u*r,f+=u*i+e*r):(h+=u*r-e*i,f+=e*r),a&&this.renderer.rtl&&(f-=u-(s*Math.abs(r)+u*Math.abs(i))),g&&(f-=u*g*i,h-=u*g*r),o(nt)&&(d+=" progid:DXImageTransform.Microsoft.Alpha(Opacity="+nt*100+")"),c+=f,l+=h,this._bbox=v,y.filter=(y.filter||"")+d,y.left=c+(t.translateX||0),y.top=l+(t.translateY||0))},_getBBox:function(){var n=this.element,t=this._fullSettings,i=(n.parentNode&&n.parentNode.getBoundingClientRect?n.parentNode:this.renderer.root.element).getBoundingClientRect(),r=n.getBoundingClientRect(),u=r.left-(t.translateX||0)-i.left,f=r.top-(t.translateY||0)-i.top;return{left:u,top:f,right:u+n.offsetWidth,bottom:f+n.offsetHeight}}}},f(h.prototype,w),f(h.prototype,{defaultStyle:ut,defaultAttrs:ft,ctor:function(t,i,r){var u=this,e="<";u.renderer=t,u.type=r,u._children=[],u._settings={},u._fullSettings={},u._styles={},i!=="div"&&i!=="span"&&(e="<vml:"),i==="shape"?u.attr=u.type==="arc"?yt:vt:i==="rect"&&(u.attr=pt),f(u,ht[i]),u.element=kt(e+i+"/>"),u.css(u.defaultStyle).attr(u.defaultAttrs),u._$element=n(u.element)},dispose:function(){return this.remove(),this._$element.remove(),this},attr:v,processAttr:y,css:function(n){var u=this.element,i,r,t;for(t in n)if((r=this._styles[t],i=n[t],o(i))&&(this._styles[t]=i,r!==i)){switch(t){case"fill":t="color";break;case"font-size":t="fontSize",typeof i=="number"&&(i+="px");break;case"font-weight":t="fontWeight";break;case"z-index":t="zIndex";break;case"opacity":continue}try{u.style[t]=i}catch(f){continue}}return this},applyClipID:function(n){var i,r,t=this.renderer;i=t.getClipRect(n),i?(r=i.getValue(),i.addElement(this)):r="rect(-9999px 9999px 9999px -9999px)",this._clipRect=this._clipRect||t.rect(0,0,0,0).attr({"class":"dxc-vml-clip",fill:"none",opacity:.001}),this._clipRect.attr({width:t.root.attr("width"),height:t.root.attr("height")}),this.css({clip:r,width:t.root.attr("width"),height:t.root.attr("height")})},append:function(n){return n=n||this.renderer.root,(n.element||n).appendChild(this.element),n._children&&(this._parent=n,l(n._children,this)===-1&&n._children.push(this),this.attr(f(k(n._fullSettings),this._settings),!0)),this._applyStyleSheet(),n._clipRect&&this!==n._clipRect&&n._clipRect.append(n),this},_applyTransformation:function(n){var i=this,f=n.style,l=i.element,t=i._fullSettings,r=i.type!=="arc"?t.x||t.cx-t.r||0:0,u=i.type!=="arc"?t.y||t.cy-t.r||0:0;if(t.rotate){var a=t.rotate*Math.PI/180,e=o(t.rotateX)?t.rotateX:r,s=o(t.rotateY)?t.rotateY:u,h=r+(t.width||0||parseInt(l.style.width||0))/2,c=u+(t.height||0||parseInt(l.style.height||0))/2,v=rt(a),y=it(a),p=(h-e)*v-(c-s)*y+e-h,w=(h-e)*y+(c-s)*v+s-c;r+=p,u+=w,f.rotation=t.rotate}f.left=r+(t.translateX||0),f.top=u+(t.translateY||0)},remove:function(){var n=this,t=n._parent;return t&&t._children.splice(l(t._children,n),1),n._parent=null,w.remove.call(n)},clear:function(){return this._children=[],w.clear.call(this)},getBBox:function(){var n=this._getBBox(),t=n.left,i=n.top,r=n.right-t,u=n.bottom-i;return{x:t,y:i,width:r,height:u,isEmpty:!t&&!i&&!r&&!u}},_getBBox:function(){var t=this.element,n=this._fullSettings,i=n.x||0,r=n.y||0,u=parseInt(t.style.width||0),f=parseInt(t.style.height||0);return d({left:i,top:r,right:i+u,bottom:r+f},n["stroke-width"]||1)},_applyStyleSheet:function(){this._useCSSTheme&&this.attr(k(this.element.currentStyle),!0)},setTitle:function(n){this.element.setAttribute("title",n)}}),p=function(){this.ctor.apply(this,arguments)},f(p.prototype,h.prototype),f(p.prototype,{ctor:function(n,t){this._settings=this._fullSettings={},this.renderer=n,this._children=[],this._elements=[],this.id=t},attr:function(){var r=a.apply(this,arguments),t=this._elements.slice(),i,n;if(r===this)for(n=0;n<t.length;n++)i=t[n],i._fullSettings.clipId===this.id?t[n].applyClipID(this.id):this.removeElement(i);return r},processAttr:et,_applyTransformation:et,append:u,dispose:function(){return this._elements=null,this.renderer.removeClipRect(this.id),this},addElement:function(n){var t=this._elements;l(t,n)===-1&&t.push(n)},removeElement:function(n){var t=l(this._elements,n);t>-1&&this._elements.splice(t,1)},getValue:function(){var n=this._settings,t=(n.x||0)+(n.translateX||0),i=(n.y||0)+(n.translateY||0);return"rect("+i+"px, "+(t+(n.width||0))+"px, "+(i+(n.height||0))+"px, "+t+"px)"},css:u,remove:u}),c=function(n){var t=this;t.root=t._createElement("div",{fill:"none",stroke:"none","stroke-width":0}).css({position:"relative",display:"inline-block",overflow:"hidden"}),t._clipRects=[],t._animation={enabled:!1},t._defs={clear:u,remove:u,append:u,dispose:u},t.setOptions(n)},f(c.prototype,e.SvgRenderer.prototype),f(c.prototype,{constructor:c,setOptions:function(){e.SvgRenderer.prototype.setOptions.apply(this,arguments),this.root.css({direction:this.rtl?"rtl":"ltr"})},_createElement:function(n,t,i){n=lt[n]||n;var r=new e.VmlElement(this,n,i);return t&&r.attr(t),r},dispose:function(){return this.root.dispose(),null},shadowFilter:function(){return{ref:null,append:u,dispose:u,attr:u,css:u}},clipRect:function(n,t,i,r){var u=this._clipRects,e=u.length,f=new p(this,e).attr({x:n||0,y:t||0,width:i||0,height:r||0});return u.push(f),f},getClipRect:function(n){return this._clipRects[n]},removeClipRect:function(n){delete this._clipRects[n]},pattern:function(n){return{id:n,append:u,remove:u,dispose:u}},image:function(n,t,i,r,u,f){return this._createElement("image",{x:n||0,y:t||0,width:i||0,height:r||0,location:f,href:u})},updateAnimationOptions:u,stopAllAnimations:u,svg:function(){return""},onEndAnimation:function(n){n()}}),e.VmlRenderer=c,e.VmlElement=h}(jQuery,DevExpress,document),function(n){function u(n,i,u){var f=this;f._progress=0,f.element=n,f.params=i,f.options=u,f.duration=u.partitionDuration?u.duration*u.partitionDuration:u.duration,f._animateStep=u.animateStep||t.animationSvgStep,f._easing=r[u.easing]||r.easeOutCubic,f._currentParams={},f.tick=f._start}function f(n){var t=this;t._animationCount=0,t._timerId=null,t._animations={},t.element=n}var t=n.viz.renderers,i=function(){},r={easeOutCubic:function(n,t,i){return n===1?i:(1-Math.pow(1-n,3))*(i-t)+ +t},linear:function(n,t,i){return n===1?i:n*(i-t)+ +t}};t.easingFunctions=r,t.animationSvgStep={segments:function(n,t,i,r,u){for(var c=t.from,l=t.to,f,s,e,h=[],o=0;o<c.length;o++){if(f=c[o],s=[f[0]],f.length>1)for(e=1;e<f.length;e++)s.push(r(i,f[e],l[o][e]));h.push(s)}u.segments=t.end&&i===1?t.end:h,n.attr({segments:h})},arc:function(n,t,i,r){var f=t.from,o=t.to,e={},u;for(u in f)e[u]=r(i,f[u],o[u]);n.attr(e)},transform:function(n,t,i,r,u){var e=t.from,s=t.to,o={},f;for(f in e)o[f]=u[f]=r(i,e[f],s[f]);n.attr(o)},base:function(n,t,i,r,u,f){var e={};e[f]=u[f]=r(i,t.from,t.to),n.attr(e)},_:i,complete:function(n,t){n.attr(t)}},u.prototype={_calcProgress:function(n){return Math.min(1,(n-this._startTime)/this.duration)},_step:function(n){var t=this,r=t._animateStep,i,u;t._progress=t._calcProgress(n);for(i in t.params)u=r[i]||r.base,u(t.element,t.params[i],t._progress,t._easing,t._currentParams,i);return(t.options.step&&t.options.step(t._easing(t._progress,0,1),t._progress),t._progress===1)?t.stop():!0},_start:function(n){return this._startTime=n,this.tick=this._step,!0},_end:function(n){var t=this;t.stop=i,t.tick=i,t._animateStep.complete&&t._animateStep.complete(t.element,t._currentParams),t.options.complete&&!n&&t.options.complete()},tick:function(){return!0},stop:function(n,t){var i=this,r=i.options;if(!n&&r.repeatCount&&--r.repeatCount>0)return i.tick=i._start,!0;i._end(t)}},t.AnimationController=f,f.prototype={_loop:function(){var t=this,i=t._animations,u=0,e=+new Date,r,f=t._endAnimation;for(r in i)i[r].tick(e)||delete i[r],u++;if(u===0){t.stop(),t._endAnimationTimer=f&&setTimeout(function(){t._animationCount===0&&(f(),t._endAnimation=null)});return}t._timerId=n.requestAnimationFrame.call(null,function(){t._loop()},t.element)},addAnimation:function(n){var t=this;t._animations[t._animationCount++]=n,clearTimeout(t._endAnimationTimer),t._timerId||(clearTimeout(t._startDelay),t._startDelay=setTimeout(function(){t._timerId=1,t._loop()},0))},animateElement:function(n,t,i){n&&t&&i&&(n.animation&&n.animation.stop(!0),this.addAnimation(n.animation=new u(n,t,i)))},onEndAnimation:function(n){this._animationCount?this._endAnimation=n:n()},dispose:function(){this.stop(),this.element=null},stop:function(){var t=this;t._animations={},t._animationCount=0,n.cancelAnimationFrame(t._timerId),clearTimeout(t._startDelay),clearTimeout(t._endAnimationTimer),t._timerId=null},lock:function(){var n,t=this._animations;for(n in t)t[n].stop(!0,!0);this.stop()}}}(DevExpress),function(n,t,i){function f(){return!(u.msie&&u.version<9)||!!i.createElementNS&&!!i.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect}var r=t.viz.renderers,u=t.browser;f()?r.Renderer=r.SvgRenderer:(i.namespaces&&!i.namespaces.vml&&(i.namespaces.add("vml","urn:schemas-microsoft-com:vml"),i.createStyleSheet().cssText="vml\\:* { behavior:url(#default#VML); display: inline-block; } "),r.Renderer=r.VmlRenderer),r.isSvg=f}(jQuery,DevExpress,document),function(n){n.viz.core.series=n.viz.core.series||{},n.viz.core.series.helpers=n.viz.core.series.helpers||{},n.viz.core.series.helpers.consts={events:{mouseover:"mouseover",mouseout:"mouseout",mousemove:"mousemove",touchstart:"touchstart",touchmove:"touchmove",touchend:"touchend",mousedown:"mousedown",mouseup:"mouseup",click:"click",selectSeries:"selectseries",deselectSeries:"deselectseries",selectPoint:"selectpoint",deselectPoint:"deselectpoint",showPointTooltip:"showpointtooltip",hidePointTooltip:"hidepointtooltip"},states:{hover:"hover",normal:"normal",selected:"selected",normalMark:0,hoverMark:1,selectedMark:2},animations:{showDuration:{duration:400},hideGroup:{opacity:.0001},showGroup:{opacity:1}},pieLabelIndent:30}}(DevExpress),function(n,t){var s=t.utils,e=Math,u=e.round,f=e.abs,o=e.pow,r=n.each;t.viz.core.series.helpers.SeriesFamily=t.Class.inherit(function(){function g(n,t,i){r(n,function(n,r){r.correctCoordinates({width:t,offset:i})})}function nt(n,t){var i=[];return r(n,function(n,u){r(u,function(r,u){for(var e=u.getPointsByArg(t),o=e.length,f=0;f<o;++f)if(e[f]&&e[f].value)return i.push(n),!1})}),i}function tt(t,i,u,f,e,o){r(t,function(t,s){var h=n.inArray(t,i),c;h!==-1&&(c=(h-f+.5)*e-(f-h-.5)*o,r(s,function(n,t){r(t.getPointsByArg(u)||[],function(n,t){t&&t.value&&t.correctCoordinates({width:e,offset:c})})}))})}function c(n,t){return f(n)<t?n>=0?t:-t:n}function l(n){return n>=0?"positive":"negative"}function t(t){return n.map(t.series,function(n){return n.isVisible()?n:null})}function a(n,t,i){var r=(n.positive[t]||{})[i]||0,u=-(n.negative[t]||{})[i]||0;return r+u}var w=function(t){var r=this,u=n.noop;r.type=t.type.toLowerCase(),r.pane=t.pane,r.series=[],r.updateOptions(t);switch(r.type){case"bar":r.adjustSeriesDimensions=v,r.adjustSeriesValues=u,r.updateSeriesValues=ut;break;case"rangebar":r.adjustSeriesDimensions=v,r.adjustSeriesValues=u,r.updateSeriesValues=u;break;case"fullstackedbar":r.fullStacked=!0,r.adjustSeriesDimensions=y,r.adjustSeriesValues=i,r.updateSeriesValues=p;break;case"stackedbar":r.adjustSeriesDimensions=y,r.adjustSeriesValues=i,r.updateSeriesValues=p;break;case"fullstackedarea":case"fullstackedline":case"fullstackedspline":case"fullstackedsplinearea":r.fullStacked=!0,r.adjustSeriesDimensions=u,r.adjustSeriesValues=i,r.updateSeriesValues=u;break;case"stackedarea":case"stackedsplinearea":case"stackedline":case"stackedspline":r.adjustSeriesDimensions=u,r.adjustSeriesValues=i,r.updateSeriesValues=u;break;case"candlestick":case"stock":r.adjustSeriesDimensions=ft,r.adjustSeriesValues=u,r.updateSeriesValues=u;break;case"bubble":r.adjustSeriesDimensions=et,r.adjustSeriesValues=u,r.updateSeriesValues=u;break;default:r.adjustSeriesDimensions=u,r.adjustSeriesValues=u,r.updateSeriesValues=u}},b=function(n){this.equalBarWidth=n.equalBarWidth,this.minBubbleSize=n.minBubbleSize,this.maxBubbleSize=n.maxBubbleSize},k=function(){this.series=null,this.translators=null},d=function(t){var u=this,r,i;for(n.isArray(t)||(t=[t]),i=0;i<t.length;i++)r=t[i],r.type.toLowerCase()===u.type&&u.series.push(r)},e=function(n,t,i,f,e){var o,s,k,c,w,l,d,it,h,y={},a={},b,v,p;if(f)for(s=f.width&&f.width<0?0:f.width,o=f.spacing&&f.spacing<0?0:f.spacing,o||(i>1?(o=s?u((t*.7-s*i)/(i-1)):u(t*.7/i*.2),o<1&&(o=1)):o=0),s||(s=u((t*.7-o*(i-1))/i),s<2&&(s=2)),s*i+o*(i-1)>t&&(o=u((t*.7-s*i)/(i-1)),o<1&&(o=1,k=u((t*.7-o*(i-1))/i))),c=i/2,l=0;l<n.length;l++)w=e(l),d=n[l].getPoints(),it=(w-c+.5)*(k||s)-(c-w-.5)*o,g(d,s,it);else{r(n,function(n,t){h=t.getStackName&&t.getStackName(),h=h||n.toString(),a[h]||(a[h]=[]),a[h].push(t)}),r(n,function(n,t){r(t.getPoints(),function(n,t){var i=t.argument;y.hasOwnProperty(i)||(y[i.valueOf()]=1)})});for(p in y)y.hasOwnProperty(p)&&(b=nt(a,p),v=b.length,o=u(t*.7/v*.2),o<1&&(o=1),s=u((t*.7-o*(v-1))/v),s<2&&(s=2),c=v/2,tt(a,b,p,c,s,o))}},v=function(n){var i=this,u=i.equalBarWidth,r=t(i);e(r,h(i,n),r.length,u,function(n){return n})},y=function(n){var i=this,u=t(i),f={},o=0,s=i.equalBarWidth;r(u,function(){var n=this.getStackName();f.hasOwnProperty(n)||(f[n]=o++)}),e(u,h(i,n),o,s,function(n){return f[u[n].getStackName()]})},i=function(){var e=this,u=t(e),f={positive:{},negative:{}},i={left:{},right:{}};r(u,function(t,e){var s=e.getPoints(),o=!1;e._prevSeries=u[t-1],e.holes=n.extend(!0,{},i),r(s,function(n,t){var c=t.initialValue,r=t.argument.valueOf(),l=e.getStackName(),a=c>=0?f.positive:f.negative,h,u;a[l]=a[l]||{},h=a[l],h[r]?(t.correctValue(h[r]),h[r]+=c):(h[r]=c,t.resetCorrection()),t.hasValue()?o&&(o=!1,i.left[r]=(i.left[r]||0)+(t.value-(isFinite(t.minValue)?t.minValue:0)),t._skipSetLeftHole=!0):(u=s[n-1],!o&&u&&u.hasValue()&&(r=u.argument.valueOf(),u._skipSetRightHole=!0,i.right[r]=(i.right[r]||0)+(u.value-(isFinite(u.minValue)?u.minValue:0))),o=!0)})}),r(u,function(n,t){var f=t.getPoints(),u=t.holes;r(f,function(n,t){var r=t.argument.valueOf();t.resetHoles(),t._skipSetLeftHole||t.setHole(u.left[r]||i.left[r]&&0,"left"),t._skipSetRightHole||t.setHole(u.right[r]||i.right[r]&&0,"right"),t._skipSetLeftHole=null,t._skipSetRightHole=null})}),e._stackKeepers=f,it(u,f,e.fullStacked,i)},it=function(n,t,i,u){r(n,function(n,f){r(f.getPoints(),function(n,r){var e=r.argument.valueOf();r.setPercentValue(a(t,f.getStackName(),e),i,u.left[e],u.right[e])})})},p=function(n){var i=this,e=t(i),o=i._stackKeepers,u={positive:{},negative:{}};r(e,function(t,e){var h=e.getOptions().minBarSize,v=h&&n.val.getMinBarSize(h),s=e.getStackName();r(e.getPoints(),function(n,t){if(t.hasValue()){var y=t.initialValue,r=t.argument.valueOf(),h,p,e;i.fullStacked&&(y=f(y)/a(o,s,r)||0),h=c(y,v),p=l(h),e=u[p][s]=u[p][s]||{},e[r]?(t.minValue=e[r],e[r]+=h):e[r]=h,t.value=e[r]}})}),i.fullStacked&&rt(e,u)},rt=function(n,t){r(n,function(n,i){var u=i.getStackName?i.getStackName():"default";r(i.getPoints(),function(n,i){var h=f(i.value),o=i.argument.valueOf(),r=l(h),e;t[r][u]=t[r][u]||{},e=t[r][u],i.value=i.value/e[o]||0,s.isNumber(i.minValue)&&(i.minValue=i.minValue/e[o]||0)})})},ut=function(n){r(this.series,function(t,i){var u=i.getOptions().minBarSize,f=u&&n.val.getMinBarSize(u);f&&r(i.getPoints(),function(n,t){t.hasValue()&&(t.value=c(t.initialValue,f))})})},ft=function(n){var i=this,r=t(i);e(r,h(i,n),r.length,!0,function(n){return n})},h=function(n,t){var i=t.arg;return n.interval=i.getInterval()},et=function(n){var e=this,c=t(e),l=n.arg.getCanvasVisibleArea(),a=n.val.getCanvasVisibleArea(),v=Math.min(l.max-l.min,a.max-a.min),y=o(e.minBubbleSize,2),d=o(v*e.maxBubbleSize,2),g=(v*e.maxBubbleSize+e.minBubbleSize)/2,i=Infinity,s=0,h,p,w,b,k;r(c,function(n,t){r(t.getPoints(),function(n,t){s=s>t.size?s:t.size,i=i<t.size?i:t.size})}),b=s-i,k=f(d-y),i=i<0?0:i,r(c,function(n,t){r(t.getPoints(),function(n,t){s===i?h=u(g):(w=f(t.size-i)/b,p=k*w+y,h=u(Math.sqrt(p))),t.correctCoordinates(h)})})};return{ctor:w,dispose:k,add:d,updateOptions:b}}())}(jQuery,DevExpress),function(n,t){function s(n,t,i){n&&n.trigger(t,i)}function f(n){return n===p||n==="allseriespoints"}function ct(){this.ctor.apply(this,arguments)}function w(n,t){n.isSelected()||n.applyStyle(t)}var it=t.viz,rt=it.core,h=rt.series,a=t.utils,ut=a.isDefined,i=n.each,c=n.extend,ft=n.isEmptyObject,e=n.Event,u=n.noop,v=2,y=1,lt="none",p="includepoints",b="excludepoints",et="nearestpoint",ot="applySelected",k="applyHover",r="symbolPoint",d="polarSymbolPoint",g="barPoint",st="polarBarPoint",nt="piePoint",tt="hover",l="normal",o="selection",ht=function(){return{arg:{},val:{}}};h.mixins={chart:{pointTypes:{scatter:r,line:r,spline:r,stepline:r,stackedline:r,fullstackedline:r,stackedspline:r,fullstackedspline:r,stackedsplinearea:r,fullstackedsplinearea:r,area:r,splinearea:r,steparea:r,stackedarea:r,fullstackedarea:r,rangearea:"rangeSymbolPoint",bar:g,stackedbar:g,fullstackedbar:g,rangebar:"rangeBarPoint",bubble:"bubblePoint",stock:"stockPoint",candlestick:"candlestickPoint"}},pie:{pointTypes:{pie:nt,doughnut:nt,donut:nt}},polar:{pointTypes:{scatter:d,line:d,area:d,bar:st,stackedbar:st}}},h.Series=ct,ct.prototype={ctor:function(n,t){var i=this;i.fullState=0,i._extGroups=n,i._renderer=n.renderer,i._group=n.renderer.g().attr({"class":"dxc-series"}),i.updateOptions(t)},update:function(n,t){this.updateOptions(t),this.updateData(n)},_createLegendState:u,getLegendStyles:function(){return this._styles.legendStyles},_createStyles:function(n){var t=this,i=n.mainSeriesColor,r=t._getSpecialColor(i);t._styles={normal:t._parseStyle(n,i,i),hover:t._parseStyle(n.hoverStyle||{},r,i),selection:t._parseStyle(n.selectionStyle||{},r,i),legendStyles:{normal:t._createLegendState(n,i),hover:t._createLegendState(n.hoverStyle||{},r),selection:t._createLegendState(n.selectionStyle||{},r)}}},setAdjustSeriesLabels:function(n){i(this._points||[],function(t,i){i.setAdjustSeriesLabels(n)})},setClippingParams:function(n,t,i){this._paneClipRectID=n,this._widePaneClipRectID=t,this._forceClipping=i},applyClip:function(){this._group.attr({clipId:this._paneClipRectID})},resetClip:function(){this._group.attr({clipId:null})},getTagField:function(){return this._options.tagField||"tag"},getValueFields:u,getArgumentField:u,getPoints:function(){return this._points},_createPoint:function(n,t,i){n.index=i;var u=this,r=t[i],f=u.pointsByArgument,e;if(u._checkData(n))return e=u._customizePoint(n)||u._getCreatingPointOptions(),r?r.update(n,e):(r=rt.CoreFactory.createPoint(u,n,e),t.push(r)),f[r.argument.valueOf()]=f[r.argument.valueOf()]||[],f[r.argument.valueOf()].push(r),!0},getRangeData:function(n,t){return this._visible?c(!0,{},this._getRangeData(n,t)):ht()},_deleteGroup:function(n){var t=this[n];t&&(t.dispose(),this[n]=null)},_saveOldAnimationMethods:function(){var n=this;n._oldClearingAnimation=n._clearingAnimation,n._oldUpdateElement=n._updateElement,n._oldgetAffineCoordOptions=n._getAffineCoordOptions},_deleteOldAnimationMethods:function(){this._oldClearingAnimation=null,this._oldUpdateElement=null,this._oldgetAffineCoordOptions=null},updateOptions:function(n){var t=this,i=n.widgetType,r=t.type,u=n.type;if(t.type=u&&u.toString().toLowerCase(),!t._checkType(i)||t._checkPolarBarType(i,n)){t.dispose(),t.isUpdated=!1;return}r!==t.type&&(t._firstDrawing=!0,t._saveOldAnimationMethods(),t._resetType(r,i),t._setType(t.type,i)),t._options=n,t._pointOptions=null,t._deletePatterns(),t._patterns=[],t.name=n.name,t.pane=n.pane,t.axis=n.axis,t.tag=n.tag,t._createStyles(n),t._updateOptions(n),t._visible=n.visible,t.isUpdated=!0},_disposePoints:function(n){i(n||[],function(n,t){t.dispose()})},_correctPointsLength:function(n,t){this._disposePoints(this._oldPoints),this._oldPoints=t.splice(n,t.length)},_getTicksForAggregation:function(n,t,i,r){var f={axisType:"continuous",dataType:a.isDate(n)?"datetime":"numeric"},e={min:n,max:t,screenDelta:i},o={gridSpacingFactor:r,labelOptions:{},stick:!0},u=new it.core.tickManager.TickManager(f,e,o);return{ticks:u.getTicks(!0),tickInterval:u.getTickInterval()}},_getRangeCorrector:u,updateDataType:function(n){var t=this;return t.argumentType=n.argumentType,t.valueType=n.valueType,t.argumentAxisType=n.argumentAxisType,t.valueAxisType=n.valueAxisType,t.showZero=n.showZero,t},getOptions:function(){return this._options},_resetRangeData:function(){this._rangeData=ht()},updateData:function(n){var t=this,u=t._originalPoints||[],r=0,o=t._options,f,e;t._rangeErrorBarCorrector=e=t._getRangeCorrector(),t.pointsByArgument={},t._resetRangeData(),n&&n.length&&(t._canRenderCompleteHandle=!0),t._beginUpdateData(n),i(n,function(n,i){f=t._getPointData(i,o),t._createPoint(f,u,r)&&(t._processRange(u[r],r>0?u[r-1]:null,e),r++)}),t._disposePoints(t._aggregatedPoints),t._aggregatedPoints=null,t._points=t._originalPoints=u,t._correctPointsLength(r,u),t._endUpdateData()},getTeamplatedFields:function(){var n=this,t=n.getValueFields(),r=[];return t.push(n.getTagField()),i(t,function(t,i){var u={};u.teamplateField=i+n.name,u.originalField=i,r.push(u)}),r},resamplePoints:function(n,t,r){var u=this,f=u.getAllPoints(),e,o,h,c,s,l;if(f.length){if(i(f,function(n,i){e=i.argument-t<=0?n:e,o||(o=i.argument-r>0?n:null)}),e=e?e:1,o=ut(o)?o:f.length-1,t=f[e-1].argument,r=f[o].argument,h=u._getPointSize(),u.argumentAxisType!=="discrete"&&u.valueAxisType!=="discrete"){if(c=u._getTicksForAggregation(t,r,n.canvasLength,h),s=c.ticks,l=c.tickInterval,s.length===1){u._points=f;return}}else s=n.canvasLength/h;u._points=u._resample(s,l,n)}},_removeOldSegments:function(n){var t=this;i(t._graphics.splice(n,t._graphics.length)||[],function(n,i){t._removeElement(i)}),t._trackers&&i(t._trackers.splice(n,t._trackers.length)||[],function(n,t){t.remove()})},draw:function(n,t,i,r){var u=this,f;u._oldClearingAnimation&&t&&u._firstDrawing?(f=function(){u._draw(n,!0,i)},u._oldClearingAnimation(n,f)):u._draw(n,t,i,r)},_clearSeries:function(){var n=this;n._deleteGroup("_elementsGroup"),n._deleteGroup("_bordersGroup"),n._deleteTrackers(),n._graphics=[],n._trackers=[]},_draw:function(n,t,r,u){var f=this,o=f._points||[],e=[],s=0,h=f._firstDrawing,l=o[0]&&o[0].hasValue()&&f._options.closed,c;if(f._graphics=f._graphics||[],f._prepareSeriesToDrawing(),!f._visible){t=!1,f._group.remove();return}f._group.append(f._extGroups.seriesGroup),f.translators=n,f._createGroups(t,undefined,h),f._segments=[],f._drawedPoints=[],f._firstDrawing=o.length?!1:!0,c={markers:f._markersGroup,labels:f._labelsGroup,errorBars:f._errorBarGroup},i(o,function(i,r){r.translate(n),r.hasValue()?(f._drawPoint({point:r,groups:c,hasAnimation:t,firstDrawing:h,legendCallback:u}),e.push(r)):e.length&&(f._drawSegment(e,t,s++),e=[])}),e.length&&f._drawSegment(e,t,s++,l),f._removeOldSegments(s),f._defaultSegments=f._generateDefaultSegments(),r&&f.hideLabels(),t&&f._animate(h),f.isSelected()?f._changeStyle(u,ot):f.isHovered()&&f._changeStyle(u,k)},_checkType:function(n){return!!h.mixins[n][this.type]},_checkPolarBarType:function(n,t){return n==="polar"&&t.spiderWidget&&this.type.indexOf("bar")!==-1},_resetType:function(n,t){var r=this;n&&i(h.mixins[t][n],function(n){delete r[n]})},_setType:function(n,t){var r=this;i(h.mixins[t][n],function(n,t){r[n]=t})},setSelectedState:function(n,t,i){var r=this;r.lastSelectionMode=(t||r._options.selectionMode).toLowerCase(),n&&!r.isSelected()?(r.fullState=r.fullState|v,r._nearestPoint&&w(r._nearestPoint,"normal"),r._nearestPoint=null,r._changeStyle(i,ot)):!n&&r.isSelected()&&(r.fullState=r.fullState&~v,r.isHovered()?r._changeStyle(i,k,o):r._changeStyle(i,"resetItem"))},setHoverState:function(n,t,i){var r=this;r.lastHoverMode=(t||r._options.hoverMode).toLowerCase(),n&&!r.isHovered()?(r.fullState=r.fullState|y,r.isSelected()||r._changeStyle(i,k)):!n&&r.isHovered()&&(r._nearestPoint=null,r.fullState=r.fullState&~y,r.isSelected()||r._changeStyle(i,"resetItem"))},isFullStackedSeries:function(){return this.type.indexOf("fullstacked")===0},isStackedSeries:function(){return this.type.indexOf("stacked")===0},isFinancialSeries:function(){return this.type==="stock"||this.type==="candlestick"},_changeStyle:function(n,t,r){var e=this,u=e._calcStyle(r),o;u.mode!==lt&&(n&&n(t),f(u.mode)&&(o=u.pointStyle,i(e._points||[],function(n,t){w(t,o)})),e._applyStyle(u.series))},_calcStyle:function(n){var t=this,u=t._styles,i=!1,r;switch(t.fullState&3){case 0:r={pointStyle:l,mode:p,series:u.normal};break;case 1:i=n===o&&t.lastHoverMode===b||t.lastHoverMode===et&&f(t.lastSelectionMode),r={pointStyle:i?l:tt,mode:i?p:t.lastHoverMode,series:u.hover};break;case 2:r={pointStyle:o,mode:t.lastSelectionMode,series:u.selection};break;case 3:i=t.lastSelectionMode===b&&f(t.lastHoverMode),r={pointStyle:i?l:o,mode:i?p:t.lastSelectionMode,series:u.selection}}return r},updateHover:function(n,t){var i=this,u=i._nearestPoint,r=i.isHovered()&&i.lastHoverMode===et&&i.getNeighborPoint(n,t);r===u||i.isSelected()||(u&&w(u,"normal"),r&&(w(r,"hover"),i._nearestPoint=r))},_getMainAxisName:function(){return this._options.rotated?"X":"Y"},areLabelsVisible:function(){return!ut(this._options.maxLabelCount)||this._points.length<=this._options.maxLabelCount},getLabelVisibility:function(){return this.areLabelsVisible()&&this._options.label&&this._options.label.visible},_customizePoint:function(n){var i=this,u=i._options,s=u.customizePoint,t,f,r,e,h=u.customizeLabel,o,l;return h&&h.call&&(t=c({seriesName:i.name},n),t.series=i,r=h.call(t,t),o=r&&!ft(r),r=o?c(!0,{},u.label,r):null),s&&s.call&&(t=t||c({seriesName:i.name},n),t.series=i,e=s.call(t,t),l=e&&!ft(e)),(o||l)&&(f=i._parsePointOptions(i._preparePointOptions(e),r||u.label,!0),f.styles.useLabelCustomOptions=o,f.styles.usePointCustomOptions=l),f},_getLabelOptions:function(t,i){var r=t||{},u=r.font||{},f=r.border||{},e=r.connector||{},o={font:{color:r.backgroundColor==="none"&&u.color.toLowerCase()==="#ffffff"&&r.position!=="inside"?i:u.color,family:u.family,weight:u.weight,size:u.size,opacity:u.opacity}},s={fill:r.backgroundColor||i,"stroke-width":f.visible?f.width||0:0,stroke:f.visible&&f.width?f.color:"none",dashStyle:f.dashStyle},h={stroke:e.visible&&e.width?e.color||i:"none","stroke-width":e.visible?e.width||0:0};return{alignment:r.alignment,format:r.format,argumentFormat:r.argumentFormat,precision:r.precision,argumentPrecision:r.argumentPrecision,percentPrecision:r.percentPrecision,customizeText:n.isFunction(r.customizeText)?r.customizeText:undefined,attributes:o,visible:u.size!==0?r.visible:!1,showForZeroValues:r.showForZeroValues,horizontalOffset:r.horizontalOffset,verticalOffset:r.verticalOffset,radialOffset:r.radialOffset,background:s,position:r.position,connector:h,rotationAngle:r.rotationAngle}},show:function(){this._visible||this._changeVisibility(!0)},hide:function(){this._visible&&this._changeVisibility(!1)},_changeVisibility:function(n){var t=this;t._visible=t._options.visible=n,t._updatePointsVisibility(),t.hidePointTooltip(),t._options.visibilityChanged()},_updatePointsVisibility:n.noop,hideLabels:function(){i(this._points,function(n,t){t._label.hide()})},_parsePointOptions:function(n,t,i){var u=this,r=u._options,e=u._createPointStyles(n,i),f=c(!0,{},n,{type:r.type,tag:u.tag,rotated:r.rotated,styles:e,widgetType:r.widgetType,visibilityChanged:r.visibilityChanged});return f.label=u._getLabelOptions(t,e.normal.fill),f.errorBars=r.valueErrorBar,f},_resample:function(t,r,u){var f=this,o=[],l,e=0,s=0,h=f.getAllPoints(),c,a;return f.argumentAxisType==="discrete"||f.valueAxisType==="discrete"?(c=u.getCanvasVisibleArea(),h=n.map(h,function(n){var i=u.translate(n.argument),t;return i>=c.min&&i<=c.max?t=n:(n.setInvisibility(),t=null),t}),r=h.length/t,l=n.map(h,function(n,t){return Math.floor(e)<=t?(e+=r,n):(n.setInvisibility(),null)})):(f._aggregatedPoints=f._aggregatedPoints||[],i(h,function(n,i){i.setInvisibility();switch(f._isInInterval(i.argument,t,e,r)){case!0:o.push(i);break;case"nextInterval":for(var u=f._fusionPoints(o,t[e],e);f._isInInterval(i.argument,t,e,r)==="nextInterval";)e++;o=[],f._isInInterval(i.argument,t,e,r)===!0&&o.push(i),f._createPoint(u,f._aggregatedPoints,s)&&s++}}),o.length&&(a=f._fusionPoints(o,t[e],e),f._createPoint(a,f._aggregatedPoints,s)&&s++),f._correctPointsLength(s,f._aggregatedPoints),f._endUpdateData(),f._aggregatedPoints)},_isInInterval:function(t,i,r,u){var f=i[r],o=i[r+1],e;return(u=n.isNumeric(u)?u:a.dateToMilliseconds(u),e=a.isDate(f)?new Date(f.getTime()+u):f+u,t>=f&&t<e)?!0:t<f||o===undefined?!1:"nextInterval"},canRenderCompleteHandle:function(){var n=this._canRenderCompleteHandle;return delete this._canRenderCompleteHandle,!!n},isHovered:function(){return!!(this.fullState&1)},isSelected:function(){return!!(this.fullState&2)},isVisible:function(){return this._visible},getAllPoints:function(){return(this._originalPoints||[]).slice()},getPointByPos:function(n){return(this._points||[])[n]},getVisiblePoints:function(){return(this._drawedPoints||[]).slice()},setPointHoverState:function(n,t){n.fullState=n.fullState|y,this.isSelected()&&f(this.lastSelectionMode)||n.isSelected()||(n.applyStyle(tt),t&&t("applyHover"))},releasePointHoverState:function(n,t){var i=this;n.fullState=n.fullState&~y,i.isSelected()&&f(i.lastSelectionMode)||n.isSelected()||i.isHovered()&&f(i.lastHoverMode)&&(!i.isSelected()||i.lastSelectionMode!==b)||(n.applyStyle(l),t&&t("resetItem"))},setPointSelectedState:function(n,t){n.fullState=n.fullState|v,n.applyStyle(o),t&&t("applySelected")},releasePointSelectedState:function(n,t){var i=this;n.fullState=n.fullState&~v,i.isHovered()&&f(i.lastHoverMode)||n.isHovered()?(n.applyStyle(tt),t&&t("applyHover")):i.isSelected()&&f(i.lastSelectionMode)?(n.applyStyle(o),t&&t("applySelected")):(n.applyStyle(l),t&&t("resetItem"))},selectPoint:function(n){s(this._extGroups.seriesGroup,new e("selectpoint"),n)},deselectPoint:function(n){s(this._extGroups.seriesGroup,new e("deselectpoint"),n)},showPointTooltip:function(n){s(this._extGroups.seriesGroup,new e("showpointtooltip"),n)},hidePointTooltip:function(n){s(this._extGroups.seriesGroup,new e("hidepointtooltip"),n)},select:function(){var n=this;s(n._extGroups.seriesGroup,new e("selectseries",{target:n}),n._options.selectionMode),n._group.toForeground()},clearSelection:function(){var n=this;s(n._extGroups.seriesGroup,new e("deselectseries",{target:n}),n._options.selectionMode)},getPointByArg:function(n){return this.getPointsByArg(n)[0]||null},getPointsByArg:function(n){return this.pointsByArgument[n.valueOf()]||[]},_deletePoints:function(){var n=this;n._disposePoints(n._originalPoints),n._disposePoints(n._aggregatedPoints),n._disposePoints(n._oldPoints),n._points=null,n._oldPoints=null,n._aggregatedPoints=null,n._originalPoints=null,n._drawedPoints=null},_deletePatterns:function(){i(this._patterns||[],function(n,t){t&&t.dispose()}),this._patterns=null},_deleteTrackers:function(){var n=this;i(n._trackers||[],function(n,t){t.remove()}),n._trackersGroup&&n._trackersGroup.dispose(),n._trackers=n._trackersGroup=null},dispose:function(){var n=this;n._deletePoints(),n._group.dispose(),n._labelsGroup&&n._labelsGroup.dispose(),n._errorBarGroup&&n._errorBarGroup.dispose(),n._deletePatterns(),n._deleteTrackers(),n._group=n._extGroups=n._markersGroup=n._elementsGroup=n._bordersGroup=n._labelsGroup=n._errorBarGroup=n._graphics=n._rangeData=n._renderer=n.translators=n._styles=n._options=n._pointOptions=n._drawedPoints=n._aggregatedPoints=n.pointsByArgument=n._segments=n._prevSeries=null},correctPosition:u,drawTrackers:u,getNeighborPoint:u,areErrorBarsVisible:u,getColor:function(){return this.getLegendStyles().normal.fill},getOpacity:function(){return this._options.opacity},getStackName:function(){return this.type==="stackedbar"||this.type==="fullstackedbar"?this._stackName:null},getPointByCoord:function(n,t){var i=this.getNeighborPoint(n,t);return i&&i.coordsIn(n,t)?i:null}}}(jQuery,DevExpress),function(n,t,i){function l(n,t){var i=n.min,u=n.max;n.min=t<i||!r(i)?t:i,n.max=t>u||!r(u)?t:u}function s(n,t,i,u,e){var c=t==="arg"?"argument":"value",o=n._rangeData[t],h=o.interval,s;n[c+"AxisType"]===f?(o.categories=o.categories||[],o.categories.push(i)):(l(o,i),t==="arg"&&(s=(r(u)?w(e?e(i,u):i-u):s)||h,o.interval=r(s)&&(s<h||!r(h))?s:h))}function u(n,t){var i=n._rangeData.val,u=n.valueAxisType===f;u||((t<i.minVisible||!r(i.minVisible))&&(i.minVisible=t),(t>i.maxVisible||!r(i.maxVisible))&&(i.maxVisible=t))}function g(n,t,i){var r=n._rangeData.val;n.valueAxisType===f?(r.categories=r.categories||[],r.categories.push(t,i)):(l(r,t),l(r,i))}function y(t){var i={};return n.map(t,function(n){var t=i[n]?null:n;return i[n]=!0,t})}function nt(n,t,i){var r=n._rangeData.arg,u,f;if(i){r.minVisible=t.minArg,r.maxVisible=t.maxArg;return}u=t.minArg<t.maxArg?t.minArg:t.maxArg,f=t.maxArg>t.minArg?t.maxArg:t.minArg,r.min=u<r.min?u:r.min,r.max=f>r.max?f:r.max,r.minVisible=u,r.maxVisible=f}function p(n,t){var i,u;r(t.minVal)&&r(t.maxVal)&&(i=t.minVal<t.maxVal?t.minVal:t.maxVal,u=t.maxVal>t.minVal?t.maxVal:t.minVal),r(t.minVal)&&(n._rangeData.val.min=i<n._rangeData.val.min?i:n._rangeData.val.min,n._rangeData.val.minVisible=i),r(t.maxVal)&&(n._rangeData.val.max=u>n._rangeData.val.max?u:n._rangeData.val.max,n._rangeData.val.maxVisible=u)}function tt(n,t){var y=t.adjustOnZoom,i=n._points||[],s,l=!1,h=n._rangeData,v=n._rangeErrorBarCorrector;c(i,function(t,r){var p=r.argument,c=t>0?i[t-1]:null;y&&n.argumentAxisType!==f&&p>=h.arg.minVisible&&p<=h.arg.maxVisible&&(l||(c&&c.hasValue()&&(u(n,c.value),a(h.val,c,v,e,o)),l=!0),r.hasValue()&&(u(n,r.value),a(h.val,r,v,e,o)),s=t)}),r(s)&&s<i.length-1&&i[s+1].hasValue()&&u(n,i[s+1].value),p(n,t)}function it(n,t,i,e){var a=t.adjustOnZoom,o=n._points||[],h=n._rangeData.arg,s,l=!1;c(o,function(t,r){var v=r.argument,c=t>0?o[t-1]:null;a&&n.argumentAxisType!==f&&v>=h.minVisible&&v<=h.maxVisible&&(l||(c&&c.hasValue()&&(u(n,c[i]),u(n,c[e])),l=!0),r.hasValue()&&(u(n,r[i]),u(n,r[e])),s=t)}),r(s)&&s<o.length-1&&o[s+1].hasValue()&&u(n,o[s+1].value),p(n,t)}function rt(n,t){var r=n._rangeData,i=n._points||[],u=n.argumentAxisType===f;delete r.arg.interval,c(i,function(r,f){var o=f.argument,e=r>0?i[r-1]:null,h=e&&e.argument;u||s(n,"arg",o,h,t)})}function ut(n){var t=n._rangeData;t.arg.categories&&(t.arg.categories=y(t.arg.categories)),t.val.categories&&(t.val.categories=y(t.val.categories)),t.arg.axisType=n.argumentAxisType,t.arg.dataType=n.argumentType,t.val.axisType=n.valueAxisType,t.val.dataType=n.valueType,t.val.isValueRange=!0}function ft(n,t,i,r,u){var f=t[r],e=t[u],o=t.argument,h=i&&i[r],c=i&&i[u],l=i&&i.argument;t.hasValue()&&g(n,f,e,h,c),s(n,"arg",o,l)}function et(n,t){var i=n._rangeData.val,r=i[e],u=i[o];t=t||{},i&&n.valueAxisType!=="logarithmic"&&n.valueType!=="datetime"&&n.showZero!==!1&&(i[e]=r>(t.minVal||0)?t.minVal||0:r,i[o]=u<(t.maxVal||0)?t.maxVal||0:u,i.min=i.min>0?0:i.min,i.max=i.max<0?0:i.max)}function ot(n){var t=n._rangeData.val,i=d(t);t.percentStick=!0,i||(t.min=0)}function a(n,t,r,u,f){if(r){var s=r(t),e=b.apply(i,s),o=k.apply(i,s);v(e)&&n[u]>e&&(n[u]=e),v(o)&&n[f]<o&&(n[f]=o)}}function st(n,t,i,r){var u=t.value,f=t.argument,e=i&&i.value,o=i&&i.argument;t.hasValue()&&s(n,"val",u,e),s(n,"arg",f,o),a(n._rangeData.val,t,r,"min","max")}function ht(n){var i=n.getOptions().label,t;n.areLabelsVisible()&&i&&i.visible&&i.position!=="inside"&&(t=n._rangeData.val,t.min<0&&(t.minSpaceCorrection=!0),t.max>0&&(t.maxSpaceCorrection=!0))}function ct(n){var t=n._rangeData.val;n.areLabelsVisible()&&n._options.label.visible&&n._options.label.position!=="inside"&&(t.minSpaceCorrection=t.maxSpaceCorrection=!0)}function lt(n,t,i,u,s){var h=n._rangeData.val,l=!!u&&!!s,c=n.argumentAxisType===f;t&&r(t.minArg)&&r(t.maxArg)?(c||(h[e]=t.minVal,h[o]=t.maxVal),nt(n,t,c),l?it(n,t,u,s):tt(n,t)):!t&&i&&rt(n,i),ut(n)}var h=Math,w=h.abs,b=h.min,k=h.max,c=n.each,d=n.isEmptyObject,r=t.utils.isDefined,v=isFinite,e="minVisible",o="maxVisible",f="discrete";t.viz.core.series.helpers.rangeDataCalculator={processRange:st,calculateRangeData:lt,addLabelPaddings:ht,addRangeSeriesLabelPaddings:ct,processFullStackedRange:ot,calculateRangeMinValue:et,processTwoValues:ft}}(jQuery,DevExpress),function(n,t){function o(n){var t=0;return i(n,function(n,i){t+=i}),t}function l(n){return n.toLowerCase()}function ft(t){return n.inArray(t,[rt,it,g,nt,tt,ut])!==-1}function a(t,i){return o(n.map(t,function(n){return(n-i)*(n-i)}))/t.length}var s=t.viz.core.series,h=s.helpers.rangeDataCalculator,c=s.mixins.chart,i=n.each,e=n.extend,ot=n.map,r=n.noop,v=t.utils,u=v.isDefined,y=v.isString,f=Math,st=f.floor,p=f.abs,w=f.sqrt,ht=f.min,ct=f.max,lt=2,at=20,vt=400,b="highError",k="lowError",d="original",g="variance",nt="stddeviation",tt="stderror",it="percent",rt="fixed",ut="undefined",yt="discrete",pt="logarithmic",wt="datetime",et={_defaultDuration:vt,_defaultTrackerWidth:at,_applyStyle:r,_updateOptions:r,_parseStyle:r,_prepareSegment:r,_drawSegment:r,_generateDefaultSegments:r,_prepareSeriesToDrawing:function(){var n=this;n._deleteOldAnimationMethods(),n._firstDrawing&&n._clearSeries(),n._disposePoints(n._oldPoints),n._oldPoints=null},_createLegendState:function(n,t){return{fill:n.color||t,hatching:n.hatching}},updateTeamplateFieldNames:function(){var n=this,t=n._options;t.valueField=n.getValueFields()[0]+n.name,t.tagField=n.getTagField()+n.name},_applyElementsClipRect:function(n){n.clipId=this._paneClipRectID},_applyMarkerClipRect:function(n){n.clipId=this._forceClipping?this._paneClipRectID:null},_createGroup:function(n,t,i,r){var u=t[n]=t[n]||this._renderer.g();u.attr(r).append(i)},_applyClearingSettings:function(n){n.opacity=null,n.scale=null,this._options.rotated?n.translateX=null:n.translateY=null},_createMarkerGroup:function(){var n=this,t=n._getPointOptions().styles.normal;t["class"]="dxc-markers",t.opacity=1,n._applyMarkerClipRect(t),n._createGroup("_markersGroup",n,n._group,t)},_createLabelGroup:function(){var n=this,t={"class":"dxc-labels",visibility:n.getLabelVisibility()?"visible":"hidden"};n._applyElementsClipRect(t),n._applyClearingSettings(t),n._createGroup("_labelsGroup",n,n._extGroups.labelsGroup,t)},areErrorBarsVisible:function(){var n=this._options.valueErrorBar||{};return this._errorBarsEnabled()&&n.displayMode!=="none"&&(ft(l(n.type+""))||u(n.lowValueField)||u(n.highValueField))},_createErrorBarGroup:function(n){var t=this,i=t._options.valueErrorBar||{},r;t.areErrorBarsVisible()&&(r={"class":"dxc-error-bars",stroke:i.color,"stroke-width":i.lineWidth,opacity:n?.001:i.opacity||1,"stroke-linecap":"square",sharp:!0,clipId:t._forceClipping?t._paneClipRectID:t._widePaneClipRectID},t._createGroup("_errorBarGroup",t,t._group,r))},_createGroups:function(n){var t=this;t._createMarkerGroup(),t._createLabelGroup(),t._createErrorBarGroup(n),n&&t._labelsGroup&&t._labelsGroup.attr({opacity:.001})},_getCreatingPointOptions:function(){var r=this,t,n=r._predefinedPointOptions,i;return n||(t=r._getPointOptions(),r._predefinedPointOptions=n=e(!0,{styles:{}},t),i=t.styles&&t.styles.normal||{},n.styles=n.styles||{},n.styles.normal={"stroke-width":i["stroke-width"],r:i.r,opacity:i.opacity}),n},_getSpecialColor:function(n){return n},_getPointOptions:function(){return this._parsePointOptions(this._preparePointOptions(),this._options.label)},_preparePointOptions:function(n){var t=this._options.point;return n?e(!0,{},t,n):t},_parsePointStyle:function(n,t,i){var r=n.border||{};return{fill:n.color||t,stroke:r.color||i,"stroke-width":r.visible?r.width:0,r:n.size/2+(r.visible&&n.size!==0?~~(r.width/2)||0:0)}},_createPointStyles:function(n){var t=this,i=n.color||t._options.mainSeriesColor,r=t._options.containerBackgroundColor,u=t._parsePointStyle(n,i,i);return u.visibility=n.visible?"visible":"hidden",{normal:u,hover:t._parsePointStyle(n.hoverStyle,r,i),selection:t._parsePointStyle(n.selectionStyle,r,i)}},_checkData:function(n){return u(n.argument)&&n.value!==undefined},_getRangeCorrector:function(){var n=this.getOptions().valueErrorBar||{},t=l(n.displayMode+"");return n?function(n){var i=n.lowError,r=n.highError;switch(t){case"low":return[i];case"high":return[r];case"none":return[];default:return[i,r]}}:undefined},_processRange:function(n,t,i){h.processRange(this,n,t,i)},_getRangeData:function(n,t){return h.calculateRangeData(this,n,t),h.addLabelPaddings(this),this._rangeData},_getPointData:function(n,t){var i={value:n[t.valueField||"val"],argument:n[t.argumentField||"arg"],tag:n[t.tagField||"tag"]};return this._fillErrorBars(n,i,t),i},_errorBarsEnabled:function(){return this.valueAxisType!==yt&&this.valueAxisType!==pt&&this.valueType!==wt},_fillErrorBars:function(n,t,i){var r=i.valueErrorBar||{};this._errorBarsEnabled()&&(t.lowError=n[r.lowValueField||k],t.highError=n[r.highValueField||b])},_drawPoint:function(n){var t=n.point;t.isInVisibleArea()?(t.clearVisibility(),t.draw(this._renderer,n.groups,n.hasAnimation,n.firstDrawing),this._drawedPoints.push(t)):t.setInvisibility()},_clearingAnimation:function(n,t){var i=this,r={opacity:.001},u={duration:i._defaultDuration,partitionDuration:.5};i._labelsGroup&&i._labelsGroup.animate(r,u,function(){i._markersGroup&&i._markersGroup.animate(r,u,t)})},_animateComplete:function(){var n=this,t={duration:n._defaultDuration};n._labelsGroup&&n._labelsGroup.animate({opacity:1},t),n._errorBarGroup&&n._errorBarGroup.animate({opacity:(n._options.valueErrorBar||{}).opacity||1},t)},_animate:function(){var n=this,t=n._drawedPoints.length-1;i(n._drawedPoints||[],function(i,r){r.animate(i===t?function(){n._animateComplete()}:undefined,{translateX:r.x,translateY:r.y})})},_getPointSize:function(){return this._options.point.visible?this._options.point.size:lt},_calcMedianValue:function(n,t){var i,r=ot(n,function(n){return n[t]});return r.sort(function(n,t){return n-t}),i=r[st(r.length/2)],u(i)?i:null},_calcErrorBarValues:function(n){if(!n.length)return{};var i=n[0].lowError,r=n[0].highError,t=1,o=n.length,f,e;for(t;t<o;t++)f=n[t].lowError,e=n[t].highError,u(f)&&u(e)&&(i=ht(f,i),r=ct(e,r));return{low:i,high:r}},_fusionPoints:function(n,t,i){var r=this._calcErrorBarValues(n);return{value:this._calcMedianValue(n,"value"),argument:t,tag:null,index:i,seriesName:this.name,lowError:r.low,highError:r.high}},_endUpdateData:function(){delete this._predefinedPointOptions},getArgumentField:function(){return this._options.argumentField||"arg"},getValueFields:function(){var t=this._options,i=t.valueErrorBar||{},n=[t.valueField||"val"],r=i.lowValueField,u=i.highValueField;return y(r)&&n.push(r),y(u)&&n.push(u),n},_calculateErrorBars:function(t){var p=this,ht=p._options,v=ht.valueErrorBar||{},et=l(v.type+""),r=parseFloat(v.value),ot=p.getValueFields()[0],e,s=v.lowValueField||k,h=v.highValueField||b,u,c,y,f,st=function(n,t){e=t[ot],t[s]=e-r,t[h]=e+r};if(p._errorBarsEnabled()&&ft(et)){switch(et){case rt:f=st;break;case it:f=function(n,t){e=t[ot];var i=e*r/100;t[s]=e-i,t[h]=e+i};break;case ut:f=function(n,t){t[s]=t[d+s],t[h]=t[d+h]};break;default:u=n.map(t,function(n){return n[ot]}),c=u.length,r=r||1;switch(et){case g:r=a(u,o(u)/c)*r,f=st;break;case nt:y=o(u)/c,r=w(a(u,y))*r,f=function(n,t){t[s]=y-r,t[h]=y+r};break;case tt:r=w(a(u,o(u)/c)/c)*r,f=st}}f&&i(t,f)}},_beginUpdateData:function(n){this._calculateErrorBars(n)}};c.scatter=e({},et,{drawTrackers:function(){var t=this,u,f,e=t._segments||[],o=t._options.rotated,r=[];t.isVisible()&&(e.length&&(u=t._trackers=t._trackers||[],f=t._trackersGroup=(t._trackersGroup||t._renderer.g().attr({fill:"gray",opacity:.001,stroke:"gray","class":"dxc-trackers"})).attr({clipId:this._paneClipRectID||null}).append(t._group),i(e,function(n,i){u[n]?t._updateTrackerElement(i,u[n]):u[n]=t._drawTrackerElement(i).data({series:t}).append(f)})),t._trackersTranslator=r,i(t.getVisiblePoints(),function(t,i){var u=parseInt(o?i.vy:i.vx);r[u]?n.isArray(r[u])?r[u].push(i):r[u]=[r[u],i]:r[u]=i}))},getNeighborPoint:function(t,r){var f=this._options.rotated?r:t,o=f,e=this._trackersTranslator,u=null,s,h=this._options.rotated?t:r,c=this._options.rotated?"vx":"vy";if(this.isVisible()&&e){u=e[f];do u=e[o]||e[f],f--,o++;while((f>=0||o<e.length)&&!u);n.isArray(u)&&(s=p(u[0][c]-h),i(u,function(n,t){var i=p(t[c]-h);s>=i&&(s=i,u=t)}))}return u}}),s.mixins.polar.scatter=e({},et,{drawTrackers:function(){c.scatter.drawTrackers.call(this);var n=this._trackersTranslator,t;this.isVisible()&&(i(n,function(n,i){if(i)return t=n,!1}),n[t+360]=n[t])},getNeighborPoint:function(n,t){var i=this.translators.untranslate(n,t);return c.scatter.getNeighborPoint.call(this,i.phi,i.r)}})}(jQuery,DevExpress),function(n,t){function o(n,t,i,r){var f=u.clone(n);return f.x=t,f.y=i,f.angle=r,f}function y(n,t,i,r,f){var e=n.angle+f,s=u.getCosAndSin(e),h=i.x+(n.radius+r*f)*s.cos,c=i.y-(n.radius+r*f)*s.sin;return o(t,h,c,e)}var h=t.viz.core,c=h.series,i=c.mixins.chart,l=c.mixins.polar,u=t.utils,e=i.scatter,s=h.series.helpers.rangeDataCalculator,w="canvas_position_start",b="canvas_position_top",a="discrete",r=n.extend,v=n.map,f=n.each,p={_createElementsGroup:function(n){var t=this,i=r({"class":"dxc-elements"},n);t._applyElementsClipRect(i),t._createGroup("_elementsGroup",t,t._group,i)},_createBordersGroup:function(n){var t=this,i=r({"class":"dxc-borders"},n);t._applyElementsClipRect(i),t._createGroup("_bordersGroup",t,t._group,i)},_createGroups:function(n,t){var i=this;t=t||i._styles.normal,i._createElementsGroup(t.elements),i._areBordersVisible()&&i._createBordersGroup(t.border),e._createGroups.call(i,n,{}),n&&i._markersGroup&&i._markersGroup.attr({opacity:.001})},_areBordersVisible:function(){return!1},_getDefaultSegment:function(n){return{line:v(n.line||[],function(n){return n.getDefaultCoords()})}},_prepareSegment:function(n){return{line:n}},_parseLineOptions:function(n,t){return{stroke:n.color||t,"stroke-width":n.width,dashStyle:n.dashStyle||"solid"}},_parseStyle:function(n,t){return{elements:this._parseLineOptions(n,t)}},_applyStyle:function(n){var t=this;t._elementsGroup&&t._elementsGroup.attr(n.elements),f(t._graphics||[],function(t,i){i.line&&i.line.attr({"stroke-width":n.elements["stroke-width"]}).sharp()})},_drawElement:function(n,t){return{line:this._createMainElement(n.line,{"stroke-width":this._styles.normal.elements["stroke-width"]}).append(t)}},_removeElement:function(n){n.line.remove()},_generateDefaultSegments:function(){var n=this;return v(n._segments||[],function(t){return n._getDefaultSegment(t)})},_updateElement:function(n,t,i,r,u){var f={points:t.line},e=n.line;i?e.animate(f,r,u):e.attr(f)},_clearingAnimation:function(n,t){var i=this,e=i._graphics.length-1,r={opacity:.001},u={duration:i._defaultDuration,partitionDuration:.5};i._labelsGroup&&i._labelsGroup.animate(r,u,function(){i._markersGroup&&i._markersGroup.animate(r,u,function(){f(i._defaultSegments||[],function(n,r){i._oldUpdateElement(i._graphics[n],r,!0,{partitionDuration:.5},n===e?t:undefined)})})})},_animateComplete:function(){var n=this;e._animateComplete.call(this),n._markersGroup&&n._markersGroup.animate({opacity:1},{duration:n._defaultDuration})},_animate:function(){var n=this,t=n._graphics.length-1;f(n._graphics||[],function(i,r){n._updateElement(r,n._segments[i],!0,{complete:i===t?function(){n._animateComplete()}:undefined})})},_drawPoint:function(n){e._drawPoint.call(this,{point:n.point,groups:n.groups})},_createMainElement:function(n,t){return this._renderer.path(n,"line").attr(t).sharp()},_drawSegment:function(n,t,i,r){var u=this,f=u._prepareSegment(n,u._options.rotated,r);u._segments.push(f),u._graphics[i]?t||u._updateElement(u._graphics[i],f):u._graphics[i]=u._drawElement(t?u._getDefaultSegment(f):f,u._elementsGroup)},_getTrackerSettings:function(){var n=this,t=n._styles.normal.elements;return{"stroke-width":t["stroke-width"]>n._defaultTrackerWidth?t["stroke-width"]:n._defaultTrackerWidth,fill:"none"}},_getMainPointsFromSegment:function(n){return n.line},_drawTrackerElement:function(n){return this._createMainElement(this._getMainPointsFromSegment(n),this._getTrackerSettings(n))},_updateTrackerElement:function(n,t){var i=this._getTrackerSettings(n);i.points=this._getMainPointsFromSegment(n),t.attr(i)}};i.line=r({},e,p),i.stepline=r({},i.line,{_calculateStepLinePoints:function(n){var t=[];return f(n,function(n,i){var r,f;if(!n){t.push(i);return}r=t[t.length-1].y,r!==i.y&&(f=u.clone(i),f.y=r,t.push(f)),t.push(i)}),t},_prepareSegment:function(n){return i.line._prepareSegment(this._calculateStepLinePoints(n))}}),i.stackedline=r({},i.line,{}),i.fullstackedline=r({},i.line,{_getRangeData:function(n,t){var i=this;return s.calculateRangeData(i,n,t),s.addLabelPaddings(i),s.processFullStackedRange(i),i._rangeData}}),i.spline=r({},i.line,{_calculateBezierPoints:function(n,t){var i=[],r=n,u=function(n,t,i){return n>t&&i>n||n<t&&i<n?n:i};return r.length!==1?f(r,function(n,f){var a,v,y,p,h,c,e,s,b,k,d,g,l=.5,ft,et,ot,it,rt,ut,nt,tt,w;if(!n){i.push(f),i.push(f);return}if(h=r[n-1],n<r.length-1)c=r[n+1],e=f.x,s=f.y,b=h.x,k=c.x,d=h.y,g=c.y,ft=!!(!t&&(s<=h.y&&s<=c.y||s>=h.y&&s>=c.y)||t&&(e<=h.x&&e<=c.x||e>=h.x&&e>=c.x)),ft?t?(y=a=e,p=(s+c.y)/2,v=(s+h.y)/2):(p=v=s,y=(e+c.x)/2,a=(e+h.x)/2):(it=g-d,rt=b-k,ut=d*k-b*g,t?(tt=s,nt=-1*(rt*tt+ut)/it,w=nt-e||0,b-=w,k-=w):(nt=e,tt=-1*(it*nt+ut)/rt,w=tt-s||0,d-=w,g-=w),y=(e+l*k)/(1+l),p=(s+l*g)/(1+l),a=(e+l*b)/(1+l),v=(s+l*d)/(1+l)),t?(a=u(h.x,e,a),y=u(c.x,e,y)):(v=u(h.y,s,v),p=u(c.y,s,p)),et=o(f,a,v),ot=o(f,y,p),i.push(et,f,ot);else{i.push(f,f);return}}):i.push(r[0]),i},_prepareSegment:function(n,t){return i.line._prepareSegment(this._calculateBezierPoints(n,t))},_createMainElement:function(n,t){return this._renderer.path(n,"bezier").attr(t).sharp()}}),l.line=r({},l.scatter,p,{_prepareSegment:function(n,t,r){var u=[],e=this.translators.translate(w,b),f;if(r&&this._closeSegment(n),this.argumentAxisType!==a&&this.valueAxisType!==a){for(f=1;f<n.length;f++)u=u.concat(this._getTangentPoints(n[f],n[f-1],e));u.length||(u=n)}else return i.line._prepareSegment.apply(this,arguments);return{line:u}},_getRemainingAngle:function(n){var t=u.normalizeAngle(n);return n>=0?360-t:-t},_closeSegment:function(n){var t,i;t=this._segments.length?this._segments[0].line[0]:o(n[0],n[0].x,n[0].y,n[0].angle),n[n.length-1].angle!==t.angle&&(u.normalizeAngle(Math.round(n[n.length-1].angle))===u.normalizeAngle(Math.round(t.angle))?t.angle=n[n.length-1].angle:(i=n[n.length-1].angle-t.angle,t.angle=n[n.length-1].angle+this._getRemainingAngle(i)),n.push(t))},_getTangentPoints:function(n,t,i){var f=[],u=Math.round(t.angle-n.angle),e=(t.radius-n.radius)/u,r;if(u===0)f=[t,n];else if(u>0)for(r=u;r>=0;r--)f.push(y(n,t,i,e,r));else for(r=0;r>=u;r--)f.push(y(n,t,i,e,u-r));return f}})}(jQuery,DevExpress),function(n,t){var o=t.viz.core,s=t.utils,h=o.series,i=h.mixins.chart,r=h.mixins.polar,u=i.line,e=o.series.helpers.rangeDataCalculator,c=n.map,f=n.extend,a=20,l={_createBorderElement:u._createMainElement,_createLegendState:function(n,t){var r=i.scatter._createLegendState.call(this,n,t);return r.opacity=n.opacity,r},_getSpecialColor:function(n){return this._options._IE8?new t.Color(n).highlight(a):n},_getRangeData:function(n,t){return e.calculateRangeData(this,n,t),e.addLabelPaddings(this),e.calculateRangeMinValue(this,n),this._rangeData},_getDefaultSegment:function(n){var t=u._getDefaultSegment(n);return t.area=t.line.concat(t.line.slice().reverse()),t},_updateElement:function(n,t,i,r,u){var e={points:t.line},o={points:t.area},f=n.line;i?(f&&f.animate(e,r),n.area.animate(o,r,u)):(f&&f.attr(e),n.area.attr(o))},_removeElement:function(n){n.line&&n.line.remove(),n.area.remove()},_drawElement:function(n){return{line:this._bordersGroup&&this._createBorderElement(n.line,{"stroke-width":this._styles.normal.border["stroke-width"]}).append(this._bordersGroup),area:this._createMainElement(n.area).append(this._elementsGroup)}},_applyStyle:function(t){var i=this;i._elementsGroup&&i._elementsGroup.attr(t.elements),i._bordersGroup&&i._bordersGroup.attr(t.border),n.each(i._graphics||[],function(n,i){i.line&&i.line.attr({"stroke-width":t.border["stroke-width"]}).sharp()})},_createPattern:function(n,t,i){if(t&&s.isObject(t)){var r=this._renderer.pattern(n,t);return r._custom=i,this._patterns.push(r),r.id}return n},_parseStyle:function(n,t,i){var f=n.border||{},r=u._parseLineOptions(f,i);return r["stroke-width"]=f.visible?r["stroke-width"]:0,{border:r,elements:{stroke:"none",fill:this._createPattern(n.color||t,n.hatching),opacity:n.opacity}}},_areBordersVisible:function(){var n=this._options;return n.border.visible||n.hoverStyle.border.visible||n.selectionStyle.border.visible},_createMainElement:function(n,t){return this._renderer.path(n,"area").attr(t)},_getTrackerSettings:function(n){return{"stroke-width":n.singlePointSegment?this._defaultTrackerWidth:0}},_getMainPointsFromSegment:function(n){return n.area}};i.area=f({},u,l,{_prepareSegment:function(n,t){var i=this._processSinglePointsAreaSegment(n,t);return{line:i,area:c(i,function(n){return n.getCoords()}).concat(c(i.slice().reverse(),function(n){return n.getCoords(!0)})),singlePointSegment:i!==n}},_processSinglePointsAreaSegment:function(n,t){if(n.length===1){var r=n[0],i=s.clone(r);return i[t?"y":"x"]+=1,i.argument=null,[r,i]}return n}}),r.area=f({},r.line,l,{_prepareSegment:function(n,t,u){u&&r.line._closeSegment.call(this,n);return i.area._prepareSegment.call(this,n)},_processSinglePointsAreaSegment:function(n){return r.line._prepareSegment.call(this,n).line}}),i.steparea=f({},i.area,{_prepareSegment:function(n,t){return n=i.area._processSinglePointsAreaSegment(n,t),i.area._prepareSegment.call(this,i.stepline._calculateStepLinePoints(n))}}),i.splinearea=f({},i.area,{_areaPointsToSplineAreaPoints:function(n){var t=n[n.length/2-1],i=n[n.length/2];n.splice(n.length/2,0,{x:t.x,y:t.y},{x:i.x,y:i.y})},_prepareSegment:function(n,t){var u=i.area,f=u._processSinglePointsAreaSegment(n,t),r=u._prepareSegment.call(this,i.spline._calculateBezierPoints(f,t));return this._areaPointsToSplineAreaPoints(r.area),r.singlePointSegment=f!==n,r},_getDefaultSegment:function(n){var t=i.area._getDefaultSegment(n);return this._areaPointsToSplineAreaPoints(t.area),t},_createMainElement:function(n,t){return this._renderer.path(n,"bezierarea").attr(t)},_createBorderElement:i.spline._createMainElement})}(jQuery,DevExpress),function(n,t){var h=t.viz,o=h.core.series,f=o.mixins.chart,s=o.mixins.polar,i=f.scatter,r=f.area,u=n.extend,c=n.each,l=3,e={_getSpecialColor:r._getSpecialColor,_createPattern:r._createPattern,_updateOptions:function(n){this._stackName="axis_"+(n.axis||"default")+"_stack_"+(n.stack||"default")},_parsePointStyle:function(n,t,r,u){var e=this._createPattern(n.color||t,n.hatching,u),f=i._parsePointStyle.call(this,n,e,r);return f.fill=e,f.dashStyle=n.border&&n.border.dashStyle||"solid",delete f.r,f},_applyMarkerClipRect:function(n){n.clipId=null},_clearingAnimation:function(n,t){var i=this,r=i._oldgetAffineCoordOptions(n)||i._getAffineCoordOptions(n);i._labelsGroup&&i._labelsGroup.animate({opacity:.001},{duration:i._defaultDuration,partitionDuration:.5},function(){i._markersGroup.animate(r,{partitionDuration:.5},function(){i._markersGroup.attr({scaleX:null,scaleY:null,translateX:0,translateY:0}),t()})})},_createGroups:function(n,t,r){var u=this,f={};i._createGroups.apply(u,arguments),n&&r?f=this._getAffineCoordOptions(u.translators,!0):n||(f={scaleX:1,scaleY:1,translateX:0,translateY:0}),u._markersGroup.attr(f)},_drawPoint:function(n){n.hasAnimation=n.hasAnimation&&!n.firstDrawing,n.firstDrawing=!1,i._drawPoint.call(this,n)},_getMainColor:function(){return this._options.mainSeriesColor},_createPointStyles:function(n,t){var i=this,r=n.color||i._getMainColor(),u=i._getSpecialColor(r);return{normal:i._parsePointStyle(n,r,r,t),hover:i._parsePointStyle(n.hoverStyle||{},u,r,t),selection:i._parsePointStyle(n.selectionStyle||{},u,r,t)}},_updatePointsVisibility:function(){var t=this._options.visible;n.each(this._points,function(n,i){i._options.visible=t})},_preparePointOptions:function(n){var t=this._options;return n?u(!0,{},t,n):t},_animate:function(n){var t=this,i=function(){t._animateComplete()},r=function(n,t){var i=n.length-1;c(n||[],function(n,r){r.animate(n===i?t:undefined,r.getMarkerCoords())})};t._animatePoints(n,i,r)},_getPointSize:function(){return l},_beginUpdateData:function(t){i._beginUpdateData.call(this,t),this._patterns=n.map(this._patterns,function(n){return n._custom?(n.remove(),null):n})}};f.bar=u({},i,e,{_getAffineCoordOptions:function(n){var t=this._options.rotated,i=t?"x":"y",r={scaleX:t?.001:1,scaleY:t?1:.001};return r["translate"+i.toUpperCase()]=n[i].translate("canvas_position_default"),r},_getRangeData:function(){var n=r._getRangeData.apply(this,arguments);return n.arg.stick=!1,n},_animatePoints:function(n,t,i){var r=this;r._markersGroup.animate({scaleX:1,scaleY:1,translateY:0,translateX:0},undefined,t),n||i(r._drawedPoints,t)}}),s.bar=u({},s.scatter,e,{_animatePoints:function(n,t,i){i(this._drawedPoints,t)},_createGroups:function(){i._createGroups.apply(this,arguments)},_drawPoint:function(n,t,r){i._drawPoint.call(this,n,t,r)},_parsePointStyle:function(n){var t=e._parsePointStyle.apply(this,arguments);return t.opacity=n.opacity,t},_createMarkerGroup:function(){var n=this,t=n._getPointOptions().styles.normal,i;t["class"]="dxc-markers",n._applyMarkerClipRect(t),i=u({},t),delete i.opacity,n._createGroup("_markersGroup",n,n._group,i)},_createLegendState:r._createLegendState,_getRangeData:r._getRangeData})}(jQuery,DevExpress),function(n,t){var e=t.viz.core,i=e.series.mixins.chart,o=n.extend,h=t.utils.isDefined,u=n.noop,f=e.series.helpers.rangeDataCalculator,r=i.area,s={_beginUpdateData:u,areErrorBarsVisible:u,_createErrorBarGroup:u,_checkData:function(n){return h(n.argument)&&n.value!==undefined&&n.minValue!==undefined},updateTeamplateFieldNames:function(){var n=this,t=n._options,r=n.getValueFields(),i=n.name;t.rangeValue1Field=r[0]+i,t.rangeValue2Field=r[1]+i,t.tagField=n.getTagField()+i},_processRange:function(n,t){f.processTwoValues(this,n,t,"value","minValue")},_getRangeData:function(n,t){return f.calculateRangeData(this,n,t,"value","minValue"),f.addRangeSeriesLabelPaddings(this),this._rangeData},_getPointData:function(n,t){return{tag:n[t.tagField||"tag"],minValue:n[t.rangeValue1Field||"val1"],value:n[t.rangeValue2Field||"val2"],argument:n[t.argumentField||"arg"]}},_fusionPoints:function(n,t){var f=i.scatter._calcMedianValue,r=f.call(this,n,"value"),u=f.call(this,n,"minValue");return(r===null||u===null)&&(r=u=null),{minValue:u,value:r,argument:t,tag:null}},getValueFields:function(){return[this._options.rangeValue1Field||"val1",this._options.rangeValue2Field||"val2"]}};i.rangebar=o({},i.bar,s),i.rangearea=o({},r,{_drawPoint:function(n){var t=n.point;t.isInVisibleArea()?(t.clearVisibility(),t.draw(this._renderer,n.groups),this._drawedPoints.push(t),t.visibleTopMarker||t.hideMarker("top"),t.visibleBottomMarker||t.hideMarker("bottom")):t.setInvisibility()},_prepareSegment:function(t,i){var r=this._processSinglePointsAreaSegment(t,i),u=n.map(r,function(n){return n.getCoords(!0)});return{line:r,bottomLine:u,area:n.map(r,function(n){return n.getCoords()}).concat(u.slice().reverse()),singlePointSegment:r!==t}},_getDefaultSegment:function(n){var t=r._getDefaultSegment.call(this,n);return t.bottomLine=t.line,t},_removeElement:function(n){r._removeElement.call(this,n),n.bottomLine&&n.bottomLine.remove()},_drawElement:function(n,t){var i=this,u=r._drawElement.call(i,n,t);return u.bottomLine=i._bordersGroup&&i._createBorderElement(n.bottomLine,{"stroke-width":i._styles.normal.border["stroke-width"]}).append(i._bordersGroup),u},_applyStyle:function(t){var i=this,r=i._elementsGroup,u=i._bordersGroup;r&&r.attr(t.elements),u&&u.attr(t.border),n.each(i._graphics||[],function(n,i){i.line&&i.line.attr({"stroke-width":t.border["stroke-width"]}),i.bottomLine&&i.bottomLine.attr({"stroke-width":t.border["stroke-width"]})})},_updateElement:function(n,t,i,u,f){r._updateElement.call(this,n,t,i,u,f);var o={points:t.bottomLine},e=n.bottomLine;e&&(i?e.animate(o,u):e.attr(o))}},s)}(jQuery,DevExpress),function(n,t){var f=t.viz.core.series.mixins,r=f.chart,e=r.scatter,i=r.bar,o=t.utils.isDefined,h=n.extend,s=n.each,u=n.noop;r.bubble=h({},e,{_fillErrorBars:u,_getRangeCorrector:u,_calculateErrorBars:u,_getMainColor:i._getMainColor,_createPointStyles:i._createPointStyles,_createPattern:i._createPattern,_updatePointsVisibility:i._updatePointsVisibility,_preparePointOptions:i._preparePointOptions,_getSpecialColor:i._getSpecialColor,_applyMarkerClipRect:r.line._applyElementsClipRect,_parsePointStyle:f.polar.bar._parsePointStyle,_createLegendState:r.area._createLegendState,_createMarkerGroup:f.polar.bar._createMarkerGroup,areErrorBarsVisible:u,_createErrorBarGroup:u,_checkData:function(n){return o(n.argument)&&o(n.size)&&n.value!==undefined},_getPointData:function(n,t){var i=e._getPointData.call(this,n,t);return i.size=n[t.sizeField||"size"],i},_fusionPoints:function(n,t){var i=e._calcMedianValue;return{size:i.call(this,n,"size"),value:i.call(this,n,"value"),argument:t,tag:null}},getValueFields:function(){var n=this._options;return[n.valueField||"val",n.sizeField||"size"]},updateTeamplateFieldNames:function(){var n=this,t=n._options,r=n.getValueFields(),i=n.name;t.valueField=r[0]+i,t.sizeField=r[1]+i,t.tagField=n.getTagField()+i},_clearingAnimation:function(n,t){var i=this,r=.5,f=i._drawedPoints.length-1,u=i._labelsGroup;u&&u.animate({opacity:.001},{duration:i._defaultDuration,partitionDuration:r},function(){s(i._drawedPoints||[],function(n,i){i.animate(n===f?t:undefined,{r:0},r)})})},_animate:function(){var n=this,i=n._drawedPoints.length-1,t=n._labelsGroup,r=function(){t&&t.animate({opacity:1},{duration:n._defaultDuration})};s(n._drawedPoints||[],function(n,t){t.animate(n===i?r:undefined,{r:t.bubbleSize,translateX:t.x,translateY:t.y})})},_beginUpdateData:i._beginUpdateData})}(jQuery,DevExpress),function(n,t){var e=t.viz.core.series.mixins,u=e.pie,c=t.utils,f=e.chart.scatter,s=e.chart.bar,l=n.extend,i=n.each,r=n.noop,o=n.map,a=isFinite,h=Math.max;u.pie=l({},s,{_createLabelGroup:f._createLabelGroup,_createGroups:f._createGroups,_createErrorBarGroup:r,_drawPoint:function(n){var t=n.point,i=n.legendCallback;f._drawPoint.call(this,n),t.isVisible()||t.setInvisibility(),i&&t.isSelected()&&i(t)("applySelected")},adjustLabels:function(){var u=this,t=u._points||[],r,n=[];i(t,function(t,i){i._label.isVisible()&&i._label.getLayoutOptions().position!=="inside"&&(i.setLabelEllipsis(),n.push(i._label.getBoundingRect().width))}),n.length&&(r=h.apply(null,n)),i(t,function(n,t){t._label.isVisible()&&t._label.getLayoutOptions().position!=="inside"&&(t._maxLabelLength=r,t.updateLabelCoord())})},_processRange:r,_applyElementsClipRect:r,getColor:r,areErrorBarsVisible:r,_prepareSeriesToDrawing:r,_endUpdateData:f._prepareSeriesToDrawing,resetLabelSetups:function(){i(this._points||[],function(n,t){t._label.clearVisibility()})},drawLabelsWOPoints:function(n){var t=this,u=t._options,f=t._points||[],r;return u.label.position==="inside"?!1:(t._createGroups(),r=t._labelsGroup,i(f,function(i,u){u.drawLabel(n,t._renderer,r)}),!0)},_getCreatingPointOptions:function(){return this._getPointOptions()},_updateOptions:function(n){this.labelSpace=0,this.innerRadius=this.type==="pie"?0:n.innerRadius},_checkData:function(n){var t=s._checkData(n);return this._options.paintNullPoints?t:t&&n.value!==null},_createMarkerGroup:function(){var n=this;n._markersGroup||(n._markersGroup=n._renderer.g().attr({"class":"dxc-markers"}).append(n._group))},_getMainColor:function(){return this._options.mainSeriesColor()},_getPointOptions:function(){return this._parsePointOptions(this._preparePointOptions(),this._options.label)},_getRangeData:function(){return this._rangeData},_getArrangeTotal:function(n){var t=0;return i(n,function(n,i){i.isVisible()&&(t+=i.initialValue)}),t},_createPointStyles:function(n){var t=this,i=n.color||t._getMainColor(),r=t._getSpecialColor(i);return{normal:t._parsePointStyle(n,i,i),hover:t._parsePointStyle(n.hoverStyle,r,i),selection:t._parsePointStyle(n.selectionStyle,r,i),legendStyles:{normal:t._createLegendState(n,i),hover:t._createLegendState(n.hoverStyle,r),selection:t._createLegendState(n.selectionStyle,r)}}},_getArrangeMinShownValue:function(n,t){var r=this._options.minSegmentSize,u=0,f=0;return t=t||n.length,i(n,function(n,i){i.isVisible()&&(i.initialValue<r*t/360?u+=r:f+=i.initialValue)}),u<360?r*f/(360-u):0},_applyArrangeCorrection:function(n,t,r){var u=this._options,s=u.segmentsDirection!=="anticlockwise",h=a(u.startAngle)?c.normalizeAngle(u.startAngle):0,l=u.minSegmentSize,o,f=0,e=0;r===0&&(r=n.length,e=1),i(s?n:n.concat([]).reverse(),function(n,i){var u=i.isVisible()?e||i.initialValue:0,s;l&&i.isVisible()&&u<t&&(s=t),o=u/r,i.correctValue(f,o,e+(s||0)),i.shiftedAngle=h,f=f+(s||u)}),this._rangeData={val:{min:0,max:f}}},arrangePoints:function(){var n=this,r=n._originalPoints||[],u=n._options.minSegmentSize,f,e=0,t,s=h.apply(null,o(r,function(n){return n.value}))<=0,i=n._originalPoints=n._points=o(r,function(n){return n.value===null||!s&&n.value<0||n.value===0&&!u?(n.dispose(),null):(n.index=e++,n)});t=n._getArrangeTotal(i),u&&(f=this._getArrangeMinShownValue(i,t)),n._applyArrangeCorrection(i,f,t)},correctPosition:function(n){i(this._points,function(t,i){i.correctPosition(n)}),this._centerX=n.centerX,this._centerY=n.centerY,this._radiusOuter=n.radiusOuter},_animate:function(t){var f=this,r=0,e=.2,i=f._points,u=i&&i.length,h=1/(e*(u-1)+1),o=function(){f._animateComplete()},s=function(){i[r]&&i[r].animate(r===u-1?o:undefined,h,c),r++},c=function(n,t){t>=e&&(this.step=null,s())};t?s():n.each(i,function(n,t){t.animate(n===u-1?o:undefined)})},getVisiblePoints:function(){return o(this._points,function(n){return n.isVisible()?n:null})},getPointByCoord:function(n,t){for(var r=this._points,i=0;i<r.length;i++)if(r[i].coordsIn(n,t))return r[i]},_beginUpdateData:function(){this._deletePatterns(),this._patterns=[]},getCenter:function(){return{x:this._centerX,y:this._centerY}}}),u.doughnut=u.donut=u.pie}(jQuery,DevExpress),function(n,t){var c=t.viz,o=c.core.series,i=o.mixins.chart,s=i.scatter,f=i.bar,e=o.helpers.rangeDataCalculator,h=t.utils.isDefined,r=n.extend,l=n.each,u=n.noop,a=10;i.stock=r({},s,{_animate:u,_applyMarkerClipRect:function(n){n.clipId=this._forceClipping?this._paneClipRectID:this._widePaneClipRectID},_updatePointsVisibility:f._updatePointsVisibility,_preparePointOptions:f._preparePointOptions,_getRangeCorrector:u,_createErrorBarGroup:u,areErrorBarsVisible:u,_createMarkerGroup:function(){var n=this,t,i=n._getPointOptions().styles,r=i.normal,u=i.positive.normal,f=i.reduction.normal,e=i.reductionPositive.normal,o={"class":"dxc-markers"};n._applyMarkerClipRect(o),r["class"]="default-markers",u["class"]="default-positive-markers",f["class"]="reduction-markers",e["class"]="reduction-positive-markers",n._createGroup("_markersGroup",n,n._group,o),t=n._markersGroup,n._createGroup("defaultMarkersGroup",t,t,r),n._createGroup("reductionMarkersGroup",t,t,f),n._createGroup("defaultPositiveMarkersGroup",t,t,u),n._createGroup("reductionPositiveMarkersGroup",t,t,e)},_createGroups:function(){s._createGroups.call(this,!1)},_clearingAnimation:function(n,t){t()},_getCreatingPointOptions:function(){var i=this,t,n=i._predefinedPointOptions;return n||(t=this._getPointOptions(),i._predefinedPointOptions=n=r(!0,{styles:{}},t),n.styles.normal=n.styles.positive.normal=n.styles.reduction.normal=n.styles.reductionPositive.normal={"stroke-width":t.styles&&t.styles.normal&&t.styles.normal["stroke-width"]}),n},_checkData:function(n){return h(n.argument)&&n.highValue!==undefined&&n.lowValue!==undefined&&n.openValue!==undefined&&n.closeValue!==undefined},_processRange:function(n,t){e.processTwoValues(this,n,t,"highValue","lowValue")},_getRangeData:function(n,t){return e.calculateRangeData(this,n,t,"highValue","lowValue"),e.addRangeSeriesLabelPaddings(this),this._rangeData},_getPointData:function(n,t){var r=this,i,f=t.openValueField||"open",e=t.closeValueField||"close",o=t.highValueField||"high",s=t.lowValueField||"low",u;r.level=t.reduction.level;switch((r.level||"").toLowerCase()){case"open":i=f;break;case"high":i=o;break;case"low":i=s;break;default:i=e,r.level="close"}return u=n[i],{argument:n[t.argumentField||"date"],highValue:n[o],lowValue:n[s],closeValue:n[e],openValue:n[f],reductionValue:u,tag:n[t.tagField||"tag"],isReduction:r._checkReduction(u)}},_parsePointStyle:function(n,t,i){return{stroke:n.color||t,"stroke-width":n.width,fill:n.color||i}},updateTeamplateFieldNames:function(){var i=this,n=i._options,r=i.getValueFields(),t=i.name;n.openValueField=r[0]+t,n.highValueField=r[1]+t,n.lowValueField=r[2]+t,n.closeValueField=r[3]+t,n.tagField=i.getTagField()+t},_getDefaultStyle:function(n,t){var r=this,i=n.color||r._options.mainSeriesColor;return{normal:r._parsePointStyle(n,i,i,t),hover:r._parsePointStyle(n.hoverStyle,i,i,t),selection:r._parsePointStyle(n.selectionStyle,i,i,t)}},_getReductionStyle:function(n,t){var r=this,i=n.reduction.color;return{normal:r._parsePointStyle({color:i,width:n.width,hatching:n.hatching},i,i,t),hover:r._parsePointStyle(n.hoverStyle,i,i,t),selection:r._parsePointStyle(n.selectionStyle,i,i,t)}},_createPointStyles:function(n,t){var e=this,s=e._options.innerColor,i=e._getDefaultStyle(n,t),u,o,f;return u=r(!0,{},i),o=e._getReductionStyle(n,t),f=r(!0,{},o),u.normal.fill=u.hover.fill=u.selection.fill=s,f.normal.fill=f.hover.fill=f.selection.fill=s,i.positive=u,i.reduction=o,i.reductionPositive=f,i},_endUpdateData:function(){delete this.prevLevelValue,delete this._predefinedPointOptions},_checkReduction:function(n){var t=this,i=!1;return n!==null&&(h(t.prevLevelValue)&&(i=n<t.prevLevelValue),t.prevLevelValue=n),i},_fusionPoints:function(n,t){var i={},r,f=-Infinity,e=+Infinity,u,o;if(!n.length)return{};l(n,function(n,t){t.hasValue()&&(f=Math.max(f,t.highValue),e=Math.min(e,t.lowValue),u=u!==undefined?u:t.openValue,o=t.closeValue!==undefined?t.closeValue:o)}),i.argument=t,i.openValue=u,i.closeValue=o,i.highValue=f,i.lowValue=e,i.tag=null;switch((this.level||"").toLowerCase()){case"open":r=u;break;case"high":r=f;break;case"low":r=e;break;default:r=o}return i.reductionValue=r,i.isReduction=this._checkReduction(r),i},_getPointSize:function(){return a},getValueFields:function(){var n=this._options;return[n.openValueField||"open",n.highValueField||"high",n.lowValueField||"low",n.closeValueField||"close"]},getArgumentField:function(){return this._options.argumentField||"date"},_beginUpdateData:u}),i.candlestick=r({},i.stock,{_createPattern:f._createPattern,_beginUpdateData:f._beginUpdateData,_parsePointStyle:function(n,t,r,u){var f=this._createPattern(n.color||r,n.hatching,u),e=i.stock._parsePointStyle.call(this,n,t,f);return e.fill=f,e}})}(jQuery,DevExpress),function(n,t){function y(n,t,i,r){return n=w.clone(n),n.value=t,n.minValue=i,n.translate(),n.argument=n.argument+r,n}function p(t){return t=n.map(t,function(n){var t=[n];return n.leftHole&&(t=[y(n,n.leftHole,n.minLeftHole,"left"),n]),n.rightHole&&t.push(y(n,n.rightHole,n.minRightHole,"right")),t})}function b(n,t){for(var i;n;){if(i=n._segmentByArg[t],i)break;n=n._prevSeries}return i}var a=t.viz.core,v=a.series,i=v.mixins.chart,h=v.mixins.polar,o=i.area,c=i.bar,l=i.line,u=a.series.helpers.rangeDataCalculator,r=n.extend,w=t.utils,s=n.noop,f={_processRange:s,_getRangeCorrector:s,_fillErrorBars:s,_calculateErrorBars:s,_processStackedRange:function(){var t=this,i;t._resetRangeData(),n.each(t.getAllPoints(),function(n,r){u.processRange(t,r,i),i=r})},_getRangeData:function(){return this._processStackedRange(),o._getRangeData.apply(this,arguments)}},e=r({},f,{_getRangeData:function(n,t){var i=this;return i._processStackedRange(),u.calculateRangeData(i,n,t),u.addLabelPaddings(i),u.processFullStackedRange(i),u.calculateRangeMinValue(i,n),i._rangeData},isFullStackedSeries:function(){return!0}});i.stackedline=r({},l,f,{_getRangeData:function(){return this._processStackedRange(),l._getRangeData.apply(this,arguments)}}),i.stackedspline=r({},i.spline,f,{_getRangeData:i.stackedline._getRangeData}),i.fullstackedline=r({},l,e,{_getRangeData:function(n,t){var i=this;return i._processStackedRange(),u.calculateRangeData(i,n,t),u.addLabelPaddings(i),u.processFullStackedRange(i),i._rangeData}}),i.fullstackedspline=r({},i.spline,e,{_getRangeData:i.fullstackedline._getRangeData}),i.stackedbar=r({},c,f,{_getRangeData:function(){return this._processStackedRange(),c._getRangeData.apply(this,arguments)}}),i.fullstackedbar=r({},c,e,{_getRangeData:function(){var n=e._getRangeData.apply(this,arguments);return n.arg.stick=!1,n}}),i.stackedarea=r({},o,f,{_prepareSegment:function(n,t){return o._prepareSegment.call(this,p(n,this._prevSeries),t)}}),i.stackedsplinearea=r({},i.splinearea,f,{_prepareSegment:function(t,r){var f=this,o;if(t=p(t,f._prevSeries),this._prevSeries&&t.length!==1){var s=i.spline._calculateBezierPoints(t,r),u=n.map(t,function(n){var t=n.getCoords(!0);return t.argument=n.argument,t}),h=n.map(f._prevSeries._segments,function(n){return n.line}),e={};n.each(h,function(n,t){if(t.argument!==null){var i=t.argument.valueOf();e[i]?e[i].push(t):e[i]=[t]}}),f._prevSeries._segmentByArg=e,u=i.spline._calculateBezierPoints(u,r),n.each(u,function(n,t){var r=t.argument.valueOf(),i;n%3==0&&(i=e[r]||b(f._prevSeries,r),i&&(u[n-1]&&i[0]&&(u[n-1]=i[0]),u[n+1]&&(u[n+1]=i[2]||t)))}),o={line:s,area:s.concat(u.reverse())},f._areaPointsToSplineAreaPoints(o.area)}else o=i.splinearea._prepareSegment.call(this,t,r);return o}}),i.fullstackedarea=r({},o,e,{_prepareSegment:i.stackedarea._prepareSegment}),i.fullstackedsplinearea=r({},i.splinearea,e,{_prepareSegment:i.stackedsplinearea._prepareSegment}),h.stackedbar=r({},h.bar,f,{_getRangeData:function(){return this._processStackedRange(),h.bar._getRangeData.apply(this,arguments)}})}(jQuery,DevExpress),function(n,t){function s(){this.ctor.apply(this,arguments)}var r=t.viz.core.series,e=r.helpers.consts.states,o=n.each,h=n.extend,f=t.utils.isDefined,u=r.mixins,i=n.noop;r.points={Point:s},s.prototype={ctor:function(n,t,i){this.series=n,this.update(t,i),this._emptySettings={fill:null,stroke:null,dashStyle:null}},getColor:function(){return this._styles.normal.fill||this.series.getColor()},_getStyle:function(){var n=this,i=n._styles,t;return n.isSelected()?t=i.selection:n.isHovered()?t=i.hover:(n.fullState=e.normalMark,t=i.normal),n._currentStyle=t,t},update:function(n,t){this.updateOptions(t),this.updateData(n)},updateData:function(n){var t=this;t.argument=t.initialArgument=t.originalArgument=n.argument,t.tag=n.tag,t.index=n.index,t.lowError=n.lowError,t.highError=n.highError,t._updateData(n),t.hasValue()||t.setInvisibility(),t._fillStyle(),t._updateLabelData()},deleteMarker:function(){var n=this;n.graphic&&n.graphic.dispose(),n.graphic=null},_drawErrorBar:i,draw:function(n,t,i,r){var u=this;u._needDeletingOnDraw&&(u.deleteMarker(),u._needDeletingOnDraw=!1),u._needClearingOnDraw&&(u.clearMarker(),u._needClearingOnDraw=!1),u._hasGraphic()?u._updateMarker(i,undefined,t.markers):u._getMarkerVisibility()&&u._drawMarker(n,t.markers,i,r),u._drawLabel(n,t.labels),u._drawErrorBar(n,t.errorBars,i)},applyStyle:function(n){var t=this;if(t.graphic){if(n==="normal"){if(t.isHovered()){t.applyStyle("hover");return}t.clearMarker()}else t.graphic.toForeground();t._currentStyle=t._styles[n],t._updateMarker(!0,t._currentStyle)}},setHoverState:function(){this.series.setPointHoverState(this)},releaseHoverState:function(n){var t=this;t.series.releasePointHoverState(t,n),t.graphic&&(t.isSelected()||t.graphic.toBackground())},setSelectedState:function(){this.series.setPointSelectedState(this)},releaseSelectedState:function(){this.series.releasePointSelectedState(this)},select:function(){this.series.selectPoint(this)},clearSelection:function(){this.series.deselectPoint(this)},showTooltip:function(){this.series.showPointTooltip(this)},hideTooltip:function(){this.series.hidePointTooltip(this)},_checkLabelsChanging:function(n,t){if(n){var i=~t.indexOf("range"),r=~n.indexOf("range");return r&&!i||!r&&i}return!1},updateOptions:function(n){if(f(n)){var t=this,r=t._options,i=n.widgetType,o=r&&r.type,e=n.type;u[i].pointTypes[o]!==u[i].pointTypes[e]?(t._needDeletingOnDraw=!0,t._needClearingOnDraw=!1,t._checkLabelsChanging(o,e)&&t.deleteLabel(),t._resetType(o,i),t._setType(e,i)):(t._needDeletingOnDraw=t._checkSymbol(r,n),t._needClearingOnDraw=t._checkCustomize(r,n)),t._options=n,t._fillStyle(),t._updateLabelOptions(u[i].pointTypes[e])}},translate:function(n){var t=this;t.translators=n||t.translators,t.translators&&t.hasValue()&&t._translate(t.translators)},_checkCustomize:function(n,t){return n.styles.usePointCustomOptions&&!t.styles.usePointCustomOptions},_getCustomLabelVisibility:function(){return this._styles.useLabelCustomOptions?!!this._options.label.visible:null},getBoundingRect:function(){return this._getGraphicBbox()},_resetType:function(n,t){var i=this;n&&o(r.points.mixins[u[t].pointTypes[n]],function(n){delete i[n]})},_setType:function(n,t){var i=this;o(r.points.mixins[u[t].pointTypes[n]],function(n,t){i[n]=t})},isInVisibleArea:function(){return this.inVisibleArea},isSelected:function(){return!!(this.fullState&e.selectedMark)},isHovered:function(){return!!(this.fullState&e.hoverMark)},getOptions:function(){return this._options},animate:function(n,t,i){if(!this.graphic){n&&n();return}this.graphic.animate(t,{partitionDuration:i},n)},getCoords:function(n){var t=this;return n?t._options.rotated?{x:t.minX,y:t.y}:{x:t.x,y:t.minY}:{x:t.x,y:t.y}},getDefaultCoords:function(){var n=this;return n._options.rotated?{x:n.defaultX,y:n.y}:{x:n.x,y:n.defaultY}},_calculateVisibility:function(n,t,i,r){var u=this,e,o,s=u._options.rotated;u.translators&&(e=u.translators.x.getCanvasVisibleArea(),o=u.translators.y.getCanvasVisibleArea(),u.inVisibleArea=e.min>n+(i||0)||e.max<n||o.min>t+(r||0)||o.max<t||s&&f(i)&&i!==0&&(e.min===n+i||e.max===n)||!s&&f(r)&&r!==0&&(o.min===t+r||o.max===t)?!1:!0)},correctPosition:i,hasValue:function(){return this.value!==null&&this.minValue!==null},getBoundaryCoords:function(){return this.getBoundingRect()},getCrosshairCoords:i,getPointRadius:i,_populatePointShape:i,_checkSymbol:i,getMarkerCoords:i,hide:i,show:i,hideMarker:i,setInvisibility:i,clearVisibility:i,isVisible:i,resetCorrection:i,correctValue:i,setPercentValue:i,correctCoordinates:i,coordsIn:i,getTooltipParams:i,setLabelEllipsis:i,updateLabelCoord:i,drawLabel:i,dispose:function(){var n=this;n.deleteMarker(),n.deleteLabel(),n._errorBar&&this._errorBar.dispose(),n._options=n._styles=n.series=n.translators=n._errorBar=null},getTooltipFormatObject:function(n){var t=this,i=t._getFormatObject(n),r=[],u=[];return t.stackPoints&&(o(t.stackPoints,function(t,i){if(i.isVisible()){var f=i._getFormatObject(n);u.push(f),r.push(f.seriesName+": "+f.valueText)}}),h(i,{points:u,valueText:r.join("\n"),stackName:t.stackPoints.stackName})),i},setHole:function(n,t){var i=this,r=isFinite(i.minValue)?i.minValue:0;f(n)&&(t==="left"?(i.leftHole=i.value-n,i.minLeftHole=r-n):(i.rightHole=i.value-n,i.minRightHole=r-n))},resetHoles:function(){this.leftHole=null,this.minLeftHole=null,this.rightHole=null,this.minRightHole=null},getLabel:function(){return this._label}}}(jQuery,DevExpress),function(n,t,i){function v(n,i){var r=Infinity,u;return t.each(i,function(t,i){var f=n[0]-i[0],e=n[1]-i[1],o=f*f+e*e;o<r&&(r=o,u=i)}),u}function tt(n){return n.angle!==i&&nt||n.r!==i&&y||e}function o(n,t){n[t]&&n[t].dispose(),n[t]=null}function p(n){return n&&(n.fill&&n.fill!=="none"||n["stroke-width"]>0&&n.stroke&&n.stroke!=="none")}function it(n){return n&&n["stroke-width"]>0&&n.stroke&&n.stroke!=="none"}function u(t,i,r){return n.formatHelper.format(t,i,r)}function rt(n,t){var r=t.format,f=t.precision;return n.valueText=u(n.value,r,f),n.argumentText=u(n.argument,t.argumentFormat,t.argumentPrecision),n.percent!==i&&(n.percentText=u(n.percent,"percent",t.percentPrecision)),n.total!==i&&(n.totalText=u(n.total,r,f)),n.openValue!==i&&(n.openValueText=u(n.openValue,r,f)),n.closeValue!==i&&(n.closeValueText=u(n.closeValue,r,f)),n.lowValue!==i&&(n.lowValueText=u(n.lowValue,r,f)),n.highValue!==i&&(n.highValueText=u(n.highValue,r,f)),n.reductionValue!==i&&(n.reductionValueText=u(n.reductionValue,r,f)),t.customizeText?t.customizeText.call(n,n):n.valueText}function s(){}var w=n.utils.degreesToRadians,b=n.viz.core.utils.patchFontOptions,r=Math.round,f=Math.abs,h=Math.min,k=Math.max,d=Math.ceil,c=n.utils.getCosAndSin,g=n.viz.renderers.rotateBBox,l=8,a=4,e={isLabelInside:function(n,t){return n.x>=t.x&&n.x<=t.x+t.width&&n.y>=t.y&&n.y<=t.y+t.height},prepareLabelPoints:function(n,t,i,r){return r?[t]:n},getFigureCenter:function(n){return[n.x+n.width/2,n.y+n.height/2]},findFigurePoint:function(n,t){var i=e.getFigureCenter(n),u=v(t,[[n.x,i[1]],[i[0],n.y+n.height],[n.x+n.width,i[1]],[i[0],n.y]]);return[r(u[0]),r(u[1])]}},y={isLabelInside:function(){return!1},prepareLabelPoints:e.prepareLabelPoints,getFigureCenter:function(n){return[n.x,n.y]},findFigurePoint:function(n,t){var i=Math.atan2(n.y-t[1],t[0]-n.x);return[r(n.x+n.r*Math.cos(i)),r(n.y-n.r*Math.sin(i))]}},nt={isLabelInside:function(n,t,i){return!i},prepareLabelPoints:function(n,i,u){var s=[],e=i[0],o=i[1],f=c(u||0);return t.each(n,function(n,t){s.push([r((t[0]-e)*f.cos+(t[1]-o)*f.sin+e),r(-(t[0]-e)*f.sin+(t[1]-o)*f.cos+o)])}),s},getFigureCenter:y.getFigureCenter,findFigurePoint:function(n,t){var i=n.x+(n.y-t[1])/Math.tan(w(n.angle)),u=[n.x,n.y];return(n.x<=i&&i<=t[0]||n.x>=i&&i>=t[0])&&u.push(r(i),t[1]),u}};s.prototype={constructor:s,_setVisibility:function(n,t){this._group&&this._group.attr({visibility:n}),this._visible=t},clearVisibility:function(){this._setVisibility(null,!0)},hide:function(){this._setVisibility("hidden",!1)},show:function(){this._setVisibility("visible",!0)},isVisible:function(){return this._visible},setColor:function(n){this._color=n},setOptions:function(n){this._options=n},setData:function(n){this._data=n},setDataField:function(n,t){this._data=this._data||{},this._data[n]=t},getData:function(){return this._data},setFigureToDrawConnector:function(n){this._figure=n},dispose:function(){var n=this;o(n,"_group"),n._data=n._options=n._textContent=n._visible=n._insideGroup=n._text=n._background=n._connector=n._figure=null},draw:function(n,t,i){var r=this,u=r._options||{},f=r._textContent=rt(r._data,r._options)||null;return r.clearVisibility(),f?(r._group||(r._group=n.g().append(t),r._insideGroup=n.g().append(r._group),r._text=n.text("",0,0).append(r._insideGroup)),r._text.css(u.attributes?b(u.attributes.font):{}),p(u.background)?(r._background=r._background||n.rect().append(r._insideGroup).toBackground(),r._background.attr(u.background),r._color&&r._background.attr({fill:r._color})):o(r,"_background"),it(u.connector)?(r._connector=r._connector||n.path([],"line").sharp().append(r._group).toBackground(),r._connector.attr(u.connector),r._color&&r._connector.attr({stroke:r._color})):o(r,"_connector"),r._updateText(f),i!==null&&(i?r.show():r.hide())):r.hide(),r},_updateText:function(n){var i=this,t=i._text.attr({text:n}).getBBox();i._textSize=[t.width,t.height],i._background&&(t.x-=l,t.y-=a,t.width+=2*l,t.height+=2*a,i._background.attr(t)),i._labelSize=[t.width/2,t.height/2],i._options.rotationAngle&&(i._insideGroup.rotate(i._options.rotationAngle,t.x+t.width/2,t.y+t.height/2),t=g(t,[t.x+t.width/2,t.y+t.height/2],-i._options.rotationAngle)),i._bbox=t},_getConnectorPoints:function(){var n=this,e=n._figure,o=tt(e),f=n.getBoundingRect(),t,h,i,u,s=[];return o.isLabelInside(f,e,n._options.position!=="inside")||(i=f.x+f.width/2,u=f.y+f.height/2,s=o.prepareLabelPoints([[i,u-n._labelSize[1]],[i+n._labelSize[0],u],[i,u+n._labelSize[1]],[i-n._labelSize[0],u]],[i,u],-n._options.rotationAngle||0,!!n._background),t=v(o.getFigureCenter(e),s),t=[r(t[0]),r(t[1])],h=o.findFigurePoint(e,t),s=h.concat(t)),s},fit:function(n){var i=this;if(!i._textContent)return i;var e=c(-i._options.rotationAngle||0),v=h(f(i._textSize[0]/e.cos),f(i._textSize[1]/e.sin)),y=h(f(n.width/e.cos),f(n.height/e.sin)),s=i._textContent,t,l,u,r,o,a;if(v>y){for(r=s.split("<br/>"),t=0,l=r.length,o=0;t<l;++t)u=r[t]=r[t].replace(/<[^>]+>/g,""),o=k(o,u.length);for(a=d(o*y/v),t=0;t<l;++t)r[t]=(u=r[t]).length>a?u.substr(0,a-4)+"...":u;s=r.join("<br/>")}return i._updateText(s),i},shift:function(n,t){var i=this;return i._textContent&&(i._insideGroup.attr({translateX:i._x=r(n-i._bbox.x),translateY:i._y=r(t-i._bbox.y)}),i._connector&&i._connector.attr({points:i._getConnectorPoints()})),i},getBoundingRect:function(){var n=this._bbox;return this._textContent?{x:n.x+this._x,y:n.y+this._y,width:n.width,height:n.height}:{}},getLayoutOptions:function(){var n=this._options;return{alignment:n.alignment,background:p(n.background),horizontalOffset:n.horizontalOffset,verticalOffset:n.verticalOffset,radialOffset:n.radialOffset,position:n.position}}},n.viz.core.series.points.Label=s}(DevExpress,jQuery),function(n,t){function p(n){return[-n,-n,n,-n,n,n,-n,n,-n,-n]}function w(n){var t=s(n);return[-t,0,0,-t,t,0,0,t,-t,0]}function b(n){var t=s(n),i=o(t/2),r=s(t/2);return[-t,-i,-i,-t,0,-r,i,-t,t,-i,r,0,t,i,i,t,0,r,-i,t,-t,i,-r,0]}function k(n){return[-n,-n,n,-n,0,n,-n,-n]}function d(n){return[-n,n,n,n,0,-n,-n,n]}var a=t.viz.core,e=a.series,u=n.extend,i=t.utils.isDefined,f=Math,r=f.round,o=f.floor,s=f.ceil,v=f.abs,h=20,c=20,y=10,l="canvas_position_default";e.points.mixins=e.points.mixins||{},e.points.mixins.symbolPoint={deleteLabel:function(){this._label.dispose(),this._label=null},_hasGraphic:function(){return this.graphic},clearVisibility:function(){var t=this,n=t.graphic;n&&n.attr("visibility")&&n.attr({visibility:null}),t._label.clearVisibility()},isVisible:function(){return this.inVisibleArea&&this.series.isVisible()},setInvisibility:function(){var n=this,t=n.graphic;t&&t.attr("visibility")!=="hidden"&&t.attr({visibility:"hidden"}),n._errorBar&&n._errorBar.attr({visibility:"hidden"}),n._label.hide()},clearMarker:function(){var n=this.graphic;n&&n.attr(this._emptySettings)},setAdjustSeriesLabels:function(n){this.adjustSeriesLabels=n},_createLabel:function(){this._label=a.CoreFactory.createLabel()},_updateLabelData:function(){this._label.setData(this._getLabelFormatObject())},_updateLabelOptions:function(){this._label||this._createLabel(),this._label.setOptions(this._options.label)},_checkImage:function(n){return i(n)&&(typeof n=="string"||i(n.url))},_fillStyle:function(){this._styles=this._options.styles},_checkSymbol:function(n,t){var i=n.symbol,r=t.symbol,u=i==="circle"&&r!=="circle"||i!=="circle"&&r==="circle",f=this._checkImage(n.image)!==this._checkImage(t.image);return!!(u||f)},_populatePointShape:function(n,t){switch(n){case"square":return p(t);case"polygon":return w(t);case"triangle":case"triangleDown":return k(t);case"triangleUp":return d(t);case"cross":return b(t)}},correctValue:function(n){var t=this;t.hasValue()&&(t.value=t.initialValue+n,t.minValue=n,t.translate())},resetCorrection:function(){this.value=this.initialValue,this.minValue=l},_getTranslates:function(n){var t=this.x,i=this.y;return n&&(this._options.rotated?t=this.defaultX:i=this.defaultY),{x:t,y:i}},_createImageMarker:function(n,t,i){var u=i.width||h,f=i.height||c;return n.image(-r(u*.5),-r(f*.5),u,f,i.url?i.url.toString():i.toString(),"center").attr({translateX:t.translateX,translateY:t.translateY,visibility:t.visibility})},_createSymbolMarker:function(n,t){var i,r=this._options;switch(r.symbol){case"circle":delete t.points,i=n.circle().attr(t);break;case"square":case"polygon":case"triangle":case"triangleDown":case"triangleUp":case"cross":i=n.path([],"area").attr(t).sharp()}return i},_createMarker:function(n,t,i,r,u){var f=this,e=f._checkImage(i)?f._createImageMarker(n,r,i):f._createSymbolMarker(n,r,u);return e&&e.data({point:f}).append(t),e},_getSymbolBbox:function(n,t,i){return{x:n-i,y:t-i,width:i*2,height:i*2}},_getImageBbox:function(n,t){var i=this._options.image,u=i.width||h,f=i.height||c;return{x:n-r(u/2),y:t-r(f/2),width:u,height:f}},_getGraphicBbox:function(){var n=this,t=n._options,i=n.x,r=n.y,u;return u=t.visible?n._checkImage(t.image)?n._getImageBbox(i,r):n._getSymbolBbox(i,r,t.styles.normal.r):{x:i,y:r,width:0,height:0}},_getVisibleArea:function(){var n=this.translators,t,i;if(n)return t=n.x.getCanvasVisibleArea(),i=n.y.getCanvasVisibleArea(),{minX:t.min,maxX:t.max,minY:i.min,maxY:i.max}},_isLabelInsidePoint:n.noop,_getShiftLabelCoords:function(n){var t=this._addLabelAlignmentAndOffset(n,this._getLabelCoords(n));return this._checkLabelPosition(n,t)},_drawLabel:function(n,t){var i=this,e=i._getCustomLabelVisibility(),f,u=i._label;(i.series.getLabelVisibility()||e!==null)&&i.hasValue()&&i._showForZeroValues()?(u.draw(n,t,e),i._isLabelInsidePoint(u)||(f=i._getShiftLabelCoords(u),u.setFigureToDrawConnector(i._getLabelConnector()),u.shift(r(f.x),r(f.y)))):u.hide()},_showForZeroValues:function(){return!0},_getLabelConnector:function(){var n=this._getGraphicBbox(),t=n.width/2,i=n.height/2;return{x:n.x+t,y:n.y+i,r:this._options.visible?Math.max(t,i):0}},_getPositionFromLocation:function(){return{x:this.x,y:this.y}},_isPointInVisibleArea:function(n,t){return n.minX<=t.x+t.width&&n.maxX>=t.x&&n.minY<=t.y+t.height&&n.maxY>=t.y},_checkLabelPosition:function(n,t,i){var u=this,r=u._getVisibleArea(),f=n.getBoundingRect(),e=u._getGraphicBbox(i),o=y;return u._isPointInVisibleArea(r,e)&&(u._options.rotated?(r.minX>t.x&&(t.x=e.x+e.width+o),r.maxX<t.x+f.width&&(t.x=e.x-o-f.width),r.minY>t.y&&u.adjustSeriesLabels&&(t.y=r.minY),r.maxY<t.y+f.height&&u.adjustSeriesLabels&&(t.y=r.maxY-f.height)):(r.minX>t.x&&u.adjustSeriesLabels&&(t.x=r.minX),r.maxX<t.x+f.width&&u.adjustSeriesLabels&&(t.x=r.maxX-f.width),r.minY>t.y&&(t.y=e.y+e.height+o),r.maxY<t.y+f.height&&(t.y=e.y-f.height-o))),t},_addLabelAlignmentAndOffset:function(n,t){var r=n.getBoundingRect(),i=n.getLayoutOptions();return this._options.rotated||(i.alignment==="left"?t.x+=r.width/2:i.alignment==="right"&&(t.x-=r.width/2)),t.x+=i.horizontalOffset,t.y+=i.verticalOffset,t},_getLabelCoords:function(n,t){return this._getLabelCoordOfPosition(n,this._getLabelPosition(t),t)},_getLabelCoordOfPosition:function(n,t,i){var c=this,e=n.getBoundingRect(),r=c._getGraphicBbox(i),o=y,s=r.height/2-e.height/2,h=r.width/2-e.width/2,u=r.x,f=r.y;switch(t){case"left":u-=e.width+o,f+=s;break;case"right":u+=r.width+o,f+=s;break;case"top":u+=h,f-=e.height+o;break;case"bottom":u+=h,f+=r.height+o;break;case"inside":u+=h,f+=s}return{x:u,y:f}},_drawMarker:function(n,t,i){var r=this,f=r._options,e=r._getTranslates(i),o=r._getStyle();r.graphic=r._createMarker(n,t,f.image,u({translateX:e.x,translateY:e.y,points:r._populatePointShape(f.symbol,o.r)},o),i)},_getErrorBarSettings:function(){return{visibility:"visible"}},_drawErrorBar:function(t,r){var u=this,a=u._options.errorBars||{},h=[],c,f=u._errorBarPos,e=u._highErrorCoord,s=u._lowErrorCoord,v=(a.displayMode+"").toLowerCase(),y=v==="high",p=v==="low",l=o(parseInt(a.edgeLength)/2),w=(y||!i(s))&&i(e)&&!p,b=(p||!i(e))&&i(s)&&!y;w&&(s=u._baseErrorBarPos),b&&(e=u._baseErrorBarPos),v!=="none"&&i(e)&&i(s)&&i(f)?(b||h.push([f-l,e,f+l,e]),h.push([f,e,f,s]),w||h.push([f+l,s,f-l,s]),u._options.rotated&&n.each(h,function(n,t){t.reverse()}),c=u._getErrorBarSettings(a),u._errorBar?(c.points=h,u._errorBar.attr(c)):u._errorBar=t.path(h,"line").attr(c).append(r)):u._errorBar&&u._errorBar.attr({visibility:"hidden"})},getTooltipParams:function(){var n=this,t=n.graphic;return{x:n.x,y:n.y,offset:t?t.getBBox().height/2:0}},hasValue:function(){return this.value!==null&&this.minValue!==null},setPercentValue:function(n,t,i,r){var u=this,e=v(u.value/n||0),f=v(u.minValue/n||0),o=e-f;u._label.setDataField("percent",o),u._label.setDataField("total",n),u.series.isFullStackedSeries()&&u.hasValue()&&(u.leftHole&&(u.leftHole/=n-i,u.minLeftHole/=n-i),u.rightHole&&(u.rightHole/=n-r,u.minRightHole/=n-r),u.value=e,u.minValue=f?f:u.minValue,u.translate())},_storeTrackerR:function(){var t=this,n=window.navigator,r=t._options.styles.normal.r,i;return i="ontouchstart"in window||n.msPointerEnabled&&n.msMaxTouchPoints||n.pointerEnabled&&n.maxTouchPoints?20:6,t._options.trackerR=r<i?i:r},_translateErrorBars:function(n){var t=this,r=t._options,u=r.errorBars||{};i(t.lowError)&&(t._lowErrorCoord=n.translate(t.lowError)),i(t.highError)&&(t._highErrorCoord=n.translate(t.highError)),t._errorBarPos=o(t._options.rotated?t.vy:t.vx),t._baseErrorBarPos=u.type==="stdDeviation"?t._lowErrorCoord+(t._highErrorCoord-t._lowErrorCoord)/2:t._options.rotated?t.vx:t.vy},_translate:function(n){var t=this,i=t._options.rotated?"x":"y",f=i.toUpperCase(),r=n[i],u=t._options.rotated?"y":"x";t["v"+i]=t[i]=r.translate(t.value),t["v"+u]=t[u]=n[u].translate(t.argument),t["min"+f]=r.translate(t.minValue),t["default"+f]=r.translate(l),t._translateErrorBars(r),t._calculateVisibility(t.x,t.y)},_updateData:function(n){var t=this;t.value=t.initialValue=t.originalValue=n.value,t.minValue=t.initialMinValue=t.originalMinValue=i(n.minValue)?n.minValue:l},_getImageSettings:function(n){return{href:n.url||n.toString(),width:n.width||h,height:n.height||c}},getCrosshairCoords:function(){return{x:this.vx,y:this.vy}},getPointRadius:function(){var r=this._currentStyle||this._getStyle(),t=this._options,i=r.r,u,n=t.symbol,f=n==="square",e=n==="triangle"||n==="triangleDown"||n==="triangleUp";return t.visible&&!t.image&&i?(u=r["stroke-width"]/2,(f||e?1.4*i:i)+u):0},_updateMarker:function(n,t){var i=this,f=i._options,r,e=f.image,o=i.isVisible()?{}:{visibility:"hidden"};t=t||i._getStyle(),r=i._checkImage(e)?u({},{visibility:t.visibility},o,i._getImageSettings(e)):u({},t,o,{points:i._populatePointShape(f.symbol,t.r)}),n||(r.translateX=i.x,r.translateY=i.y),i.graphic.attr(r).sharp()},_getLabelFormatObject:function(){var n=this;return{argument:n.initialArgument,value:n.initialValue,originalArgument:n.originalArgument,originalValue:n.originalValue,seriesName:n.series.name,lowErrorValue:n.lowError,highErrorValue:n.highError,point:n}},_getLabelPosition:function(){var n=this._options.rotated;return this.series.isFullStackedSeries()||this.initialValue>0?n?"right":"top":n?"left":"bottom"},_getFormatObject:function(n){var r=this,t=r._label.getData();return u({},t,{argumentText:n.formatValue(r.initialArgument,"argument"),valueText:n.formatValue(r.initialValue)},i(t.percent)?{percentText:n.formatValue(t.percent,"percent")}:{},i(t.total)?{totalText:n.formatValue(t.total)}:{})},_getMarkerVisibility:function(){return this._options.visible},coordsIn:function(n,t){var i=this._storeTrackerR();return n>=this.x-i&&n<=this.x+i&&t>=this.y-i&&t<=this.y+i}}}(jQuery,DevExpress),function(n,t){var r=t.viz.core.series.points.mixins,f=n.extend,u=Math,l=u.floor,e=u.abs,i=u.min,a="canvas_position_default",o=9,s=4,h="right",v="left",c="top",y="bottom";r.barPoint=f({},r.symbolPoint,{correctCoordinates:function(n){var i=l(n.offset-n.width/2),t=this._options.rotated,r=t?"height":"width",u=(t?"y":"x")+"Correction";this[r]=n.width,this[u]=i},_getGraphicBbox:function(){var t=this,n={};return n.x=t.x,n.y=t.y,n.width=t.width,n.height=t.height,n},_getLabelConnector:function(){return this._getGraphicBbox()},_getLabelPosition:function(){var n=this,r,e=n.translators,t=n.initialValue,u=e.x.getBusinessRange().invert,f=e.y.getBusinessRange().invert,i=n.series.valueAxisType==="discrete",o=n.series.isFullStackedSeries(),s=!i&&(t>=0&&!f||t<0&&f)||i&&!f||o,l=!i&&(t>=0&&!u||t<0&&u)||i&&!u||o;return r=n._options.rotated?l?h:v:s?c:y},_getLabelCoords:function(n){var t=this,i;return i=t.initialValue===0&&t.series.isFullStackedSeries()?this._options.rotated?t._getLabelCoordOfPosition(n,h):t._getLabelCoordOfPosition(n,c):n.getLayoutOptions().position==="inside"?t._getLabelCoordOfPosition(n,"inside"):r.symbolPoint._getLabelCoords.call(this,n)},_checkLabelPosition:function(n,t){var i=this,r=i._getVisibleArea(),u=i._options.rotated,f=i._getGraphicBbox(),e=n.getBoundingRect();return i._isPointInVisibleArea(r,f)?i._moveLabelOnCanvas(t,r,e,i.adjustSeriesLabels||u,i.adjustSeriesLabels||!u):t},_isLabelInsidePoint:function(n){var t=this,i=t._getGraphicBbox(),r=n.getBoundingRect();return t._options.resolveLabelsOverlapping&&n.getLayoutOptions().position==="inside"&&(r.width>i.width||r.height>i.height)?(n.hide(),!0):!1},_moveLabelOnCanvas:function(n,t,i,r,u){var f=n.x,e=n.y;return t.minX>f&&r&&(f=t.minX),t.maxX<f+i.width&&r&&(f=t.maxX-i.width),t.minY>e&&u&&(e=t.minY),t.maxY<e+i.height&&u&&(e=t.maxY-i.height),{x:f,y:e}},_showForZeroValues:function(){return this._options.label.showForZeroValues||this.initialValue},_drawMarker:function(n,t,i){var r=this,h=r._getStyle(),u=r.x,f=r.y,e=r.width,o=r.height,s=r._options.cornerRadius;i&&(r._options.rotated?(e=0,u=r.defaultX):(o=0,f=r.defaultY)),r.graphic=n.rect(u,f,e,o).attr({rx:s,ry:s}).attr(h).data({point:r}).append(t)},_getSettingsForTracker:function(){var n=this,r=n.y,t=n.height,u=n.x,i=n.width;return n._options.rotated?i===1&&(i=o,u-=s):t===1&&(t=o,r-=s),{x:u,y:r,width:i,height:t}},getGraphicSettings:function(){var n=this.graphic;return{x:n.attr("x"),y:n.attr("y"),height:n.attr("height"),width:n.attr("width")}},_getEdgeTooltipParams:function(n,t,i,r){var u=this.value>=0,o=this.translators.y.getBusinessRange().invert,s=this.translators.x.getBusinessRange().invert,f,e;return this._options.rotated?(e=t+r/2,f=s?u?n:n+i:u?n+i:n):(f=n+i/2,e=o?u?t+r:t:u?t:t+r),{x:f,y:e,offset:0}},getTooltipParams:function(n){var t=this.x,i=this.y,r=this.width,u=this.height;return n==="edge"?this._getEdgeTooltipParams(t,i,r,u):{x:t+r/2,y:i+u/2,offset:0}},_truncateCoord:function(n,t,i){return n<t?t:n>i?i:n},_translateErrorBars:function(n,t){r.symbolPoint._translateErrorBars.call(this,n),(this._errorBarPos<t.min||this._errorBarPos>t.max)&&(this._errorBarPos=undefined)},_translate:function(n){var t=this,h=t._options.rotated,o=h?"x":"y",r=h?"y":"x",w=h?"width":"height",c=h?"height":"width",b=n[r],l=n[o],s=b.getCanvasVisibleArea(),y=l.getCanvasVisibleArea(),v,p,u,f;v=p=b.translate(t.argument)+(t[r+"Correction"]||0),u=l.translate(t.value),f=l.translate(t.minValue),t["v"+o]=u,t["v"+r]=v+t[c]/2,t[w]=e(u-f),t._calculateVisibility(h?i(u,f):i(v,p),h?i(v,p):i(u,f),t.width,t.height),u=t._truncateCoord(u,y.min,y.max),f=t._truncateCoord(f,y.min,y.max),t[r]=v,t["min"+r.toUpperCase()]=p,t[w]=e(u-f),t[o]=i(u,f)+(t[o+"Correction"]||0),t["min"+o.toUpperCase()]=f+(t[o+"Correction"]||0),t["default"+o.toUpperCase()]=l.translate(a),t._translateErrorBars(l,s),t.inVisibleArea&&(t[r]<s.min&&(t[c]=t[c]-(s.min-t[r]),t[r]=s.min,t["min"+r.toUpperCase()]=s.min),t[r]+t[c]>s.max&&(t[c]=s.max-t[r]))},_updateMarker:function(n,t){this.graphic.attr(f({},t||this._getStyle(),n?{}:this.getMarkerCoords()))},getMarkerCoords:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},coordsIn:function(n,t){var i=this;return n>=i.x&&n<=i.x+i.width&&t>=i.y&&t<=i.y+i.height}})}(jQuery,DevExpress),function(n,t){var i=t.viz.core.series.points.mixins,r=n.extend,u=20;i.bubblePoint=r({},i.symbolPoint,{correctCoordinates:function(n){this.bubbleSize=n/2},_drawMarker:function(n,t,i){var u=this,f=r({translateX:u.x,translateY:u.y},u._getStyle());u.graphic=n.circle(0,0,i?0:u.bubbleSize).attr(f).data({point:u}).append(t)},getTooltipParams:function(n){var i=this,r=i.graphic,t;if(r)return t=r.getBBox().height,{x:i.x,y:t<u||n==="edge"?this.y-t/2:this.y,offset:0}},_getLabelFormatObject:function(){var n=i.symbolPoint._getLabelFormatObject.call(this);return n.size=this.initialSize,n},_updateData:function(n){i.symbolPoint._updateData.call(this,n),this.size=this.initialSize=n.size},_getGraphicBbox:function(){var n=this;return n._getSymbolBbox(n.x,n.y,n.bubbleSize)},_updateMarker:function(t,i){var r=this;i=i||r._getStyle(),t||(i=n.extend({r:r.bubbleSize,translateX:r.x,translateY:r.y},i)),r.graphic.attr(i)},_getFormatObject:function(n){var t=i.symbolPoint._getFormatObject.call(this,n);return t.sizeText=n.formatValue(this.initialSize),t},_storeTrackerR:function(){return this.bubbleSize},_getLabelCoords:function(n){var t;return t=n.getLayoutOptions().position==="inside"?this._getLabelCoordOfPosition(n,"inside"):i.symbolPoint._getLabelCoords.call(this,n)}})}(jQuery,DevExpress),function(n,t){function h(n,t,r){var u=n.x+n.width/2>=r.x,f=(u?n.x:n.x+n.width)-r.x,e=n.y-r.y,o=e+t,h=i(s(f*f+e*e-o*o)),c=(u?+h:-h)||f;return{x:r.x+(u?c:c-n.width),y:n.y+t}}var c=20,e=t.viz.core.series,r=e.points.mixins,o=n.extend,i=Math.round,s=Math.sqrt,l=Math.acos,a=180/Math.PI,u=Math.abs,v=t.utils.normalizeAngle,f=t.utils.getCosAndSin,y=t.utils.isDefined,p=e.helpers.consts.pieLabelIndent;t.viz.core.utils.getVerticallyShiftedAngularCoords=h,r.piePoint=o({},r.symbolPoint,{_updateData:function(n){var t=this;r.symbolPoint._updateData.call(this,n),t._visible=!0,t.minValue=t.initialMinValue=t.originalMinValue=y(n.minValue)?n.minValue:0},animate:function(n,t,i){var r=this;r.graphic.animate({x:r.centerX,y:r.centerY,outerRadius:r.radiusOuter,innerRadius:r.radiusInner,startAngle:r.toAngle,endAngle:r.fromAngle},{partitionDuration:t,step:i},n)},correctPosition:function(n){var t=this;t.radiusInner=n.radiusInner,t.radiusOuter=n.radiusOuter,t.centerX=n.centerX,t.centerY=n.centerY},correctValue:function(n,t,i){var r=this;r.value=(i||r.initialValue)+n,r.minValue=n,r.percent=t,r._label.setDataField("percent",t)},_updateLabelData:function(){this._label.setData(this._getLabelFormatObject())},_updateLabelOptions:function(){var n=this;n._label||n._createLabel(),n._label.setOptions(n._options.label)},_getShiftLabelCoords:function(){var n=this,t=n._label.getBoundingRect(),i=n._getLabelCoords(n._label),r=n._getVisibleArea();return n._isLabelDrawingWithoutPoints?n._checkLabelPosition(i,t,r):n._getLabelExtraCoord(i,n._checkVerticalLabelPosition(i,t,r),t)},_getLabelPosition:function(n){return n.position},_getLabelCoords:function(n){var t=this,o=n.getBoundingRect(),s=n.getLayoutOptions(),r=f(t.middleAngle),l=t._getLabelPosition(s),h=t.radiusInner,c=t.radiusOuter,u,e;return l==="inside"?(u=h+(c-h)/2+s.radialOffset,e=t.centerX+u*r.cos-o.width/2):(u=c+s.radialOffset+p,e=r.cos>.1?t.centerX+u*r.cos:r.cos<-.1?t.centerX+u*r.cos-o.width:t.centerX+u*r.cos-o.width/2),{x:e,y:i(t.centerY-u*r.sin-o.height/2)}},_getColumnsCoord:function(n){var t=this,o=t._label,s=o.getBoundingRect(),h=o.getLayoutOptions(),r=t.radiusOuter+h.radialOffset,u=t.series.canvas,f=u.width-u.right-s.width,e=u.left,l=v(t.middleAngle),i;return h.position!=="columns"?n:(r+=c,l<90||l>=270?(i=t._maxLabelLength?t.centerX+r+t._maxLabelLength-s.width:f,i=i>f?f:i):(i=t._maxLabelLength?t.centerX-r-t._maxLabelLength:e,i=i<e?e:i),n.x=i,n)},drawLabel:function(n,t,i){this.translate(n),this._isLabelDrawingWithoutPoints=!0,this._drawLabel(t,i),this._isLabelDrawingWithoutPoints=!1},updateLabelCoord:function(){var n=this,t=n._label.getBoundingRect(),r=n._getColumnsCoord(t);r=n._checkHorizontalLabelPosition(r,t,n._getVisibleArea()),n._label.shift(i(r.x),i(t.y))},_checkVerticalLabelPosition:function(n,t,i){var u=n.x,r=n.y;return n.y+t.height>i.maxY?r=i.maxY-t.height:n.y<i.minY&&(r=i.minY),{x:u,y:r}},_getLabelExtraCoord:function(n,t,i){return n.y!==t.y?h({x:n.x,y:n.y,width:i.width,height:i.height},t.y-n.y,{x:this.centerX,y:this.centerY}):n},_checkHorizontalLabelPosition:function(n,t,i){var r=n.x,u=n.y;return n.x+t.width>i.maxX?r=i.maxX-t.width:n.x<i.minX&&(r=i.minX),{x:r,y:u}},setLabelEllipsis:function(){var t=this,n=t._label.getBoundingRect(),i=t._checkHorizontalLabelPosition(n,n,t._getVisibleArea());t._label.fit({width:n.width-u(i.x-n.x),height:n.height-u(i.y-n.y)})},_getVisibleArea:function(){var n=this.series.canvas;return{minX:n.left,maxX:n.width-n.right,minY:n.top,maxY:n.height-n.bottom}},_checkLabelPosition:function(n,t,i){return n=this._checkHorizontalLabelPosition(n,t,i),this._checkVerticalLabelPosition(n,t,i)},getBoundaryCoords:function(){var n=this,t=n.radiusOuter,r=n._options.styles.normal,u=r["stroke-width"]/2,e=n.series.getOptions().containerBackgroundColor===r.stroke?i(u):i(-u),o=f(i(n.middleAngle));return{x:i(n.centerX+(t-e)*o.cos),y:i(n.centerY-(t-e)*o.sin)}},_getLabelConnector:function(){var n=this.getBoundaryCoords();return n.angle=this.middleAngle,n},_drawMarker:function(n,t,i,r){var u=this,f=u.radiusOuter,e=u.radiusInner,o=u.fromAngle,s=u.toAngle;i&&(e=f=0,r||(o=s=u.shiftedAngle)),u.graphic=n.arc(u.centerX,u.centerY,e,f,s,o).attr({"stroke-linejoin":"round"}).attr(u._getStyle()).data({point:u}).sharp().append(t)},getTooltipParams:function(){var n=this,i=f(n.middleAngle),t=n.radiusInner,r=n.radiusOuter;return{x:n.centerX+(t+(r-t)/2)*i.cos,y:n.centerY-(t+(r-t)/2)*i.sin,offset:0}},_translate:function(n){var t=this,i=t.shiftedAngle||0,u=t.value,r=t.minValue;t.fromAngle=n.translate(r)+i,t.toAngle=n.translate(u)+i,t.middleAngle=n.translate((u-r)/2+r)+i,t.isVisible()||(t.middleAngle=t.toAngle=t.fromAngle=t.fromAngle||i)},_getMarkerVisibility:function(){return!0},_updateMarker:function(n,t){var i=this;t=t||i._getStyle(),n||(t=o({x:i.centerX,y:i.centerY,outerRadius:i.radiusOuter,innerRadius:i.radiusInner,startAngle:i.toAngle,endAngle:i.fromAngle},t)),i.graphic.attr(t).sharp()},getLegendStyles:function(){return this._styles.legendStyles},isInVisibleArea:function(){return!0},hide:function(){var n=this;n._visible&&(n._visible=!1,n.hideTooltip(),n._options.visibilityChanged(n))},show:function(){var n=this;n._visible||(n._visible=!0,n._options.visibilityChanged(n))},setInvisibility:function(){this._label.hide()},isVisible:function(){return this._visible},_getFormatObject:function(n){var t=r.symbolPoint._getFormatObject.call(this,n),i=this.percent;return t.percent=i,t.percentText=n.formatValue(i,"percent"),t},getColor:function(){return this._styles.normal.fill},coordsIn:function(n,t){var i=this,h=n-i.centerX,c=t-i.centerY,f=s(h*h+c*c),e=i.fromAngle%360,o=i.toAngle%360,r;return f<i.radiusInner||f>i.radiusOuter||f===0?!1:(r=l(h/f)*a*(c>0?-1:1),r<0&&(r+=360),e===o&&u(i.toAngle-i.fromAngle)>.0001?!0:e>=o?r<=e&&r>=o:!(r>=e&&r<=o))}})}(jQuery,DevExpress),function(n,t){var e=t.viz.core,r=e.series.points.mixins,o=n.extend,c=t.utils.isDefined,u=Math,h=u.abs,i=u.min,f=u.max,s=u.round,l=20,a=20;r.rangeSymbolPoint=o({},r.symbolPoint,{deleteLabel:function(){var n=this;n._topLabel.dispose(),n._topLabel=null,n._bottomLabel.dispose(),n._bottomLabel=null},hideMarker:function(n){var i=this.graphic,t=i&&i[n+"Marker"],r=this["_"+n+"Label"];t&&t.attr("visibility")!=="hidden"&&t.attr({visibility:"hidden"}),r.hide()},setInvisibility:function(){this.hideMarker("top"),this.hideMarker("bottom")},clearVisibility:function(){var t=this,n=t.graphic,i=n&&n.topMarker,r=n&&n.bottomMarker;i&&i.attr("visibility")&&i.attr({visibility:null}),r&&r.attr("visibility")&&r.attr({visibility:null}),t._topLabel.clearVisibility(),t._bottomLabel.clearVisibility()},clearMarker:function(){var t=this,n=t.graphic,i=n&&n.topMarker,r=n&&n.bottomMarker,u=t._emptySettings;i&&i.attr(u),r&&r.attr(u)},_getLabelPosition:function(n){var t,i=this._options.label.position==="inside";return t=this._options.rotated?n==="top"^i?"right":"left":n==="top"^i?"top":"bottom"},_getLabelMinFormatObject:function(){var n=this;return{index:0,argument:n.initialArgument,value:n.initialMinValue,seriesName:n.series.name,originalValue:n.originalMinValue,originalArgument:n.originalArgument,point:n}},_updateLabelData:function(){var n=this._getLabelFormatObject();n.index=1,this._topLabel.setData(n),this._bottomLabel.setData(this._getLabelMinFormatObject())},_updateLabelOptions:function(){var n=this,t=this._options.label;n._topLabel&&n._bottomLabel||n._createLabel(),n._topLabel.setOptions(t),n._bottomLabel.setOptions(t)},_createLabel:function(){this._topLabel=e.CoreFactory.createLabel(),this._bottomLabel=e.CoreFactory.createLabel()},_getGraphicBbox:function(n){n=n||this._labelLocation;var i=this._options,u=this._getImage(i.image),f=n==="top"?this._checkImage(u.top):this._checkImage(u.bottom),r,t=this._getPositionFromLocation(n);return r=i.visible?f?this._getImageBbox(t.x,t.y):this._getSymbolBbox(t.x,t.y,i.styles.normal.r):{x:t.x,y:t.y,width:0,height:0}},_getPositionFromLocation:function(n){var t,r,u=n==="top";return this._options.rotated?(t=u?f(this.x,this.minX):i(this.x,this.minX),r=this.y):(t=this.x,r=u?i(this.y,this.minY):f(this.y,this.minY)),{x:t,y:r}},_checkOverlay:function(n,t,i){return n<t+i},_getOverlayCorrections:function(n,t,i){var h=n==="vertical",u=h?"y":"x",o=h?"height":"width",c=this.translators[u].getCanvasVisibleArea(),l=c.min,a=c.max,r=s((t[u]+t[o]-i[u])/2),f=t[u]-r,e=i[u]+r;return f<l?(r=l-t[u],f+=r,e+=r):e+i[o]>a&&(r=-(i[u]+i[o]-a),f+=r,e+=r),{coord1:f,coord2:e}},_checkLabelsOverlay:function(n){var u=this,t=u._topLabel.getBoundingRect(),i=u._bottomLabel.getBoundingRect(),r={};u._options.rotated?n==="top"?this._checkOverlay(t.x,i.x,i.width)&&(r=this._getOverlayCorrections("horizontal",i,t),u._topLabel.shift(r.coord2,t.y),u._bottomLabel.shift(r.coord1,i.y)):this._checkOverlay(i.x,t.x,t.width)&&(r=this._getOverlayCorrections("horizontal",t,i),u._topLabel.shift(r.coord1,t.y),u._bottomLabel.shift(r.coord2,i.y)):n==="top"?this._checkOverlay(i.y,t.y,t.height)&&(r=this._getOverlayCorrections("vertical",t,i),u._topLabel.shift(t.x,r.coord1),u._bottomLabel.shift(i.x,r.coord2)):this._checkOverlay(t.y,i.y,i.height)&&(r=this._getOverlayCorrections("vertical",i,t),u._topLabel.shift(t.x,r.coord2),u._bottomLabel.shift(i.x,r.coord1))},_drawLabel:function(t,i){var r=this,u,f=[],e=r._options.rotated?r.x>=r.minX:r.y<r.minY,o=r._getCustomLabelVisibility();r._topLabel.pointPosition=e?"top":"bottom",r._bottomLabel.pointPosition=e?"bottom":"top",(r.series.getLabelVisibility()||o!==null)&&r.hasValue()?(r.visibleTopMarker!==!1&&f.push(r._topLabel),r.visibleBottomMarker!==!1&&f.push(r._bottomLabel),n.each(f,function(n,f){var e=f.pointPosition;f.draw(t,i,o),u=r._addLabelAlignmentAndOffset(f,r._getLabelCoords(f,e)),u=r._checkLabelPosition(f,u,e),r._labelLocation=f.pointPosition,f.setFigureToDrawConnector(r._getLabelConnector()),r._labelLocation=null,f.shift(s(u.x),s(u.y))}),r._checkLabelsOverlay(r._topLabel.pointPosition)):(r._topLabel.hide(),r._bottomLabel.hide())},_getImage:function(n){var t={};return c(n)&&(typeof n=="string"?t.top=t.bottom=n:(t.top={url:typeof n.url=="string"?n.url:n.url&&n.url.rangeMaxPoint,width:typeof n.width=="number"?n.width:n.width&&n.width.rangeMaxPoint,height:typeof n.height=="number"?n.height:n.height&&n.height.rangeMaxPoint},t.bottom={url:typeof n.url=="string"?n.url:n.url&&n.url.rangeMinPoint,width:typeof n.width=="number"?n.width:n.width&&n.width.rangeMinPoint,height:typeof n.height=="number"?n.height:n.height&&n.height.rangeMinPoint})),t},_checkSymbol:function(n,t){var i=this,r=n.symbol,u=t.symbol,o=r==="circle"&&u!=="circle"||r!=="circle"&&u==="circle",f=i._getImage(n.image),e=i._getImage(t.image),s=i._checkImage(f.top)!==i._checkImage(e.top),h=i._checkImage(f.bottom)!==i._checkImage(e.bottom);return o||s||h},_getSettingsForTwoMarkers:function(n){var t=this,u=t._options,r={},e=u.rotated?i(t.x,t.minX):t.x,s=u.rotated?t.y:i(t.y,t.minY),f=n.r,h=t._populatePointShape(u.symbol,f);return r.top=o({translateX:e+t.width,translateY:s,r:f},n),r.bottom=o({translateX:e,translateY:s+t.height,r:f},n),h&&(r.top.points=r.bottom.points=h),r},_hasGraphic:function(){return this.graphic&&this.graphic.topMarker&&this.graphic.bottomMarker},_drawOneMarker:function(n,t,i,r){var u=this,f=u.graphic;f[t]?u._updateOneMarker(t,r):f[t]=u._createMarker(n,f,i,r)},_drawMarker:function(n,t,i,r,u){var f=this,e=f._getSettingsForTwoMarkers(u||f._getStyle()),o=f._getImage(f._options.image);f._checkImage(o.top)&&(e.top=f._getImageSettings(e.top,o.top)),f._checkImage(o.bottom)&&(e.bottom=f._getImageSettings(e.bottom,o.bottom)),f.graphic=f.graphic||n.g().append(t),f.visibleTopMarker&&f._drawOneMarker(n,"topMarker",o.top,e.top),f.visibleBottomMarker&&f._drawOneMarker(n,"bottomMarker",o.bottom,e.bottom)},_getSettingsForTracker:function(n){var t=this,r=t._options.rotated;return{translateX:r?i(t.x,t.minX)-n:t.x-n,translateY:r?t.y-n:i(t.y,t.minY)-n,width:t.width+2*n,height:t.height+2*n}},isInVisibleArea:function(){var n=this,r=n._options.rotated,l=r?n.y:n.x,o=r?f(n.minX,n.x):f(n.minY,n.y),s=r?i(n.minX,n.x):i(n.minY,n.y),h=n.translators,a,v,y,u=!0,e=!0,p=!0,c,t;return h&&(c=h[r?"y":"x"].getCanvasVisibleArea(),t=h[r?"x":"y"].getCanvasVisibleArea(),a=c.max<l||c.min>l,v=t.min>s&&t.min>o||t.max<s&&t.max<o,a||v?u=e=p=!1:(u=t.min<=s&&t.max>s,e=t.min<o&&t.max>=o,r&&(y=u,u=e,e=y))),n.visibleTopMarker=u,n.visibleBottomMarker=e,p},getTooltipParams:function(){var n=this,o,s,r,u,t,h=n.translators,f=h.x.getCanvasVisibleArea(),e=h.y.getCanvasVisibleArea();return n._options.rotated?(t=i(n.x,n.minX),s=n.y,r=f.min>t?f.min:t,u=f.max<t+n.width?f.max:t+n.width,o=r+(u-r)/2):(t=i(n.y,n.minY),o=n.x,r=e.min>t?e.min:t,u=e.max<t+n.height?e.max:t+n.height,s=r+(u-r)/2),{x:o,y:s,offset:0}},_translate:function(n){var t=this,i=t._options.rotated;t.minX=t.minY=n.y.translate(t.minValue),r.symbolPoint._translate.call(t,n),t.height=i?0:h(t.minY-t.y),t.width=i?h(t.x-t.minX):0},_updateData:function(n){var t=this;r.symbolPoint._updateData.call(t,n),t.minValue=t.initialMinValue=t.originalMinValue=n.minValue},_getImageSettings:function(n,t){return{href:t.url||t.toString(),width:t.width||l,height:t.height||a,translateX:n.translateX,translateY:n.translateY}},getCrosshairCoords:function(n,t){var i;return i=this._options.rotated?{y:this.vy,x:Math.abs(this.vx-n)<Math.abs(this.minX-n)?this.vx:this.minX}:{x:this.vx,y:Math.abs(this.vy-t)<Math.abs(this.minY-t)?this.vy:this.minY}},_updateOneMarker:function(n,t){this.graphic&&this.graphic[n]&&this.graphic[n].attr(t)},_updateMarker:function(n,t){this._drawMarker(undefined,undefined,!1,!1,t)},_getFormatObject:function(n){var t=this,i=t.initialMinValue,r=t.initialValue,u=t.initialArgument,f=n.formatValue(i),e=n.formatValue(r);return{argument:u,argumentText:n.formatValue(u,"argument"),valueText:f+" - "+e,rangeValue1Text:f,rangeValue2Text:e,rangeValue1:i,rangeValue2:r,seriesName:t.series.name,point:t,originalMinValue:t.originalMinValue,originalValue:t.originalValue,originalArgument:t.originalArgument}},getLabel:function(){return[this._topLabel,this._bottomLabel]},getBoundingRect:n.noop,coordsIn:function(n,t){var i=this._storeTrackerR(),r=n>=this.x-i&&n<=this.x+i,u=t>=this.y-i&&t<=this.y+i;return this._options.rotated?u&&(r||n>=this.minX-i&&n<=this.minX+i):r&&(u||t>=this.minY-i&&t<=this.minY+i)}})}(jQuery,DevExpress),function(n,t){var r=t.viz.core.series.points.mixins,i=r.rangeSymbolPoint,u=n.extend;r.rangeBarPoint=u({},r.barPoint,{deleteLabel:i.deleteLabel,_getFormatObject:i._getFormatObject,clearVisibility:function(){var n=this.graphic;n&&n.attr("visibility")&&n.attr({visibility:null}),this._topLabel.clearVisibility(),this._bottomLabel.clearVisibility()},setInvisibility:function(){var n=this.graphic;n&&n.attr("visibility")!=="hidden"&&n.attr({visibility:"hidden"}),this._topLabel.hide(),this._bottomLabel.hide()},getTooltipParams:function(n){var r=n==="edge",t,i;return this._options.rotated?(t=r?this.x+this.width:this.x+this.width/2,i=this.y+this.height/2):(t=this.x+this.width/2,i=r?this.y:this.y+this.height/2),{x:t,y:i,offset:0}},_translate:function(n){var t=this,i=r.barPoint;i._translate.call(t,n),t._options.rotated?t.width=t.width||1:t.height=t.height||1},_updateData:i._updateData,_getLabelPosition:i._getLabelPosition,_getLabelMinFormatObject:i._getLabelMinFormatObject,_updateLabelData:i._updateLabelData,_updateLabelOptions:i._updateLabelOptions,getCrosshairCoords:i.getCrosshairCoords,_createLabel:i._createLabel,_checkOverlay:i._checkOverlay,_checkLabelsOverlay:i._checkLabelsOverlay,_getOverlayCorrections:i._getOverlayCorrections,_drawLabel:i._drawLabel,_getLabelCoords:i._getLabelCoords,_getGraphicBbox:function(n){n=n||this._labelLocation;var i=n==="top",t=r.barPoint._getGraphicBbox.call(this);return this._options.rotated?(t.x=i?t.x+t.width:t.x,t.width=0):(t.y=i?t.y:t.y+t.height,t.height=0),t},getLabel:i.getLabel,getBoundingRect:n.noop})}(jQuery,DevExpress),function(n,t){var l=t.viz,e=l.core.series.points.mixins,o=n.isNumeric,h=n.extend,r=Math,u=r.abs,i=r.min,s=r.max,c=r.round,f=2;e.candlestickPoint=h({},e.barPoint,{_getContinuousPoints:function(n,t){var u=this,i=u.x,r=u._options.rotated?function(n,t){return[t,n]}:function(n,t){return[n,t]},f=u.width,e=u[n],o=u[t],s;return s=e===o?[].concat(r(i,u.highY)).concat(r(i,u.lowY)).concat(r(i,u.closeY)).concat(r(i-f/2,u.closeY)).concat(r(i+f/2,u.closeY)).concat(r(i,u.closeY)):[].concat(r(i,u.highY)).concat(r(i,o)).concat(r(i+f/2,o)).concat(r(i+f/2,e)).concat(r(i,e)).concat(r(i,u.lowY)).concat(r(i,e)).concat(r(i-f/2,e)).concat(r(i-f/2,o)).concat(r(i,o))},_getCategoryPoints:function(n){var t=this,i=t.x,r=t._options.rotated?function(n,t){return[t,n]}:function(n,t){return[n,t]};return[].concat(r(i,t.highY)).concat(r(i,t.lowY)).concat(r(i,n)).concat(r(i-t.width/2,n)).concat(r(i+t.width/2,n)).concat(r(i,n))},_getPoints:function(){var n=this,i,u,f,t=n.openValue,r=n.closeValue;return o(t)&&o(r)?(u=t>r?"closeY":"openY",f=t>r?"openY":"closeY",i=n._getContinuousPoints(u,f)):i=t===r?[n.x,n.highY,n.x,n.lowY]:n._getCategoryPoints(o(t)?n.openY:n.closeY),i},getColor:function(){var n=this;return n._isReduction?n._options.reduction.color:n._styles.normal.stroke||n.series.getColor()},_drawMarkerInGroup:function(n,t,i){var r=this;r.graphic=i.path(r._getPoints(),"area").attr({"stroke-linecap":"square"}).attr(t).data({point:r}).sharp().append(n)},_fillStyle:function(){var n=this,t=n._options.styles;n._styles=n._isReduction&&n._isPositive?t.reductionPositive:n._isReduction?t.reduction:n._isPositive?t.positive:t},_getMinTrackerWidth:function(){return 2+2*this._styles.normal["stroke-width"]},correctCoordinates:function(n){var i=this._getMinTrackerWidth(),r=10,t=n.width;t=t<i?i:t>r?r:t,this.width=t+t%2,this.xCorrection=n.offset},_getMarkerGroup:function(n){var i=this,t;return t=i._isReduction&&i._isPositive?n.reductionPositiveMarkersGroup:i._isReduction?n.reductionMarkersGroup:i._isPositive?n.defaultPositiveMarkersGroup:n.defaultMarkersGroup},_drawMarker:function(n,t){this._drawMarkerInGroup(this._getMarkerGroup(t),this._getStyle(),n)},_getSettingsForTracker:function(){var n=this,t=n.highY,r=n.lowY,e=n._options.rotated,o,s,h,c;return t===r&&(t=e?t+f:t-f,r=e?r-f:r+f),e?(o=i(r,t),s=n.x-n.width/2,h=u(r-t),c=n.width):(o=n.x-n.width/2,s=i(r,t),h=n.width,c=u(r-t)),{x:o,y:s,width:h,height:c}},_getGraphicBbox:function(){var n=this,t=n._options.rotated,f=n.x,i=n.width,r=n.lowY,u=n.highY;return{x:t?r:f-c(i/2),y:t?f-c(i/2):u,width:t?u-r:i,height:t?i:r-u}},getTooltipParams:function(n){var t=this;if(t.graphic){var f,e,r,u,o=i(t.lowY,t.highY),h=s(t.lowY,t.highY),c=t.translators.x.getCanvasVisibleArea(),l=t.translators.y.getCanvasVisibleArea(),a=n==="edge";return t._options.rotated?(r=s(c.min,o),u=i(c.max,h),e=t.x,f=a?u:r+(u-r)/2):(r=s(l.min,o),u=i(l.max,h),f=t.x,e=a?r:r+(u-r)/2),{x:f,y:e,offset:0}}},hasValue:function(){return this.highValue!==null&&this.lowValue!==null},_translate:function(){var n=this,t=n._options.rotated,r=n.translators,o=t?r.y:r.x,f=t?r.x:r.y,e,s;n.vx=n.vy=n.x=o.translate(n.argument)+(n.xCorrection||0),n.openY=n.openValue!==null?f.translate(n.openValue):null,n.highY=f.translate(n.highValue),n.lowY=f.translate(n.lowValue),n.closeY=n.closeValue!==null?f.translate(n.closeValue):null,s=u(n.lowY-n.highY),e=i(n.lowY,n.highY)+u(n.lowY-n.highY)/2,n._calculateVisibility(t?e:n.x,t?n.x:e)},getCrosshairCoords:function(n,t){var u,r=this._options.rotated?n:t,i=Math.abs(this.lowY-r)<Math.abs(this.closeY-r)?this.lowY:this.closeY;return i=Math.abs(i-r)<Math.abs(this.openY-r)?i:this.openY,i=Math.abs(i-r)<Math.abs(this.highY-r)?i:this.highY,u=this._options.rotated?{y:this.vy,x:i}:{x:this.vx,y:i}},_updateData:function(n){var t=this,i=t._label,r=this._options.reduction.color;t.value=t.initialValue=n.reductionValue,t.originalValue=n.value,t.lowValue=t.originalLowValue=n.lowValue,t.highValue=t.originalHighValue=n.highValue,t.openValue=t.originalOpenValue=n.openValue,t.closeValue=t.originalCloseValue=n.closeValue,t._isPositive=n.openValue<n.closeValue,t._isReduction=n.isReduction,t._isReduction&&i.setColor(r)},_updateMarker:function(n,t,i){var r=this,u=r.graphic;u.attr({points:r._getPoints()}).attr(t||r._getStyle()).sharp(),i&&u.append(r._getMarkerGroup(i))},_getLabelFormatObject:function(){var n=this;return{openValue:n.openValue,highValue:n.highValue,lowValue:n.lowValue,closeValue:n.closeValue,reductionValue:n.initialValue,argument:n.initialArgument,value:n.initialValue,seriesName:n.series.name,originalOpenValue:n.originalOpenValue,originalCloseValue:n.originalCloseValue,originalLowValue:n.originalLowValue,originalHighValue:n.originalHighValue,originalArgument:n.originalArgument,point:n}},_getFormatObject:function(n){var t=this,u=n.formatValue(t.highValue),i=n.formatValue(t.openValue),r=n.formatValue(t.closeValue),f=n.formatValue(t.lowValue),o=e.symbolPoint,s=o._getFormatObject.call(t,n);return h({},s,{valueText:"h: "+u+(i!==""?" o: "+i:"")+(r!==""?" c: "+r:"")+" l: "+f,highValueText:u,openValueText:i,closeValueText:r,lowValueText:f})}})}(jQuery,DevExpress),function(n,t){var i=t.viz.core.series.points.mixins,u=n.extend,r=n.isNumeric;i.stockPoint=u({},i.candlestickPoint,{_getPoints:function(){var t=this,i=t._options.rotated?function(n,t){return[t,n]}:function(n,t){return[n,t]},f=r(t.openY),e=r(t.closeY),u=t.x,o=t.width,n;return n=[].concat(i(u,t.highY)),f&&(n=n.concat(i(u,t.openY))),f&&(n=n.concat(i(u-o/2,t.openY))),f&&(n=n.concat(i(u,t.openY))),e&&(n=n.concat(i(u,t.closeY))),e&&(n=n.concat(i(u+o/2,t.closeY))),e&&(n=n.concat(i(u,t.closeY))),n=n.concat(i(u,t.lowY))},_drawMarkerInGroup:function(n,t,i){this.graphic=i.path(this._getPoints(),"line").attr({"stroke-linecap":"square"}).attr(t).data({point:this}).sharp().append(n)},_getMinTrackerWidth:function(){var n=2+this._styles.normal["stroke-width"];return n+n%2}})}(jQuery,DevExpress),function(n,t){var f=n.extend,l=t.viz,r=l.core.series.points.mixins,u=t.utils,e=u.isDefined,a=u.normalizeAngle,o=Math,v=o.max,y=90,s="canvas_position_start",h="canvas_position_top",p="canvas_position_end",c="canvas_position_default";r.polarSymbolPoint=f({},r.symbolPoint,{_getLabelCoords:r.piePoint._getLabelCoords,_moveLabelOnCanvas:r.barPoint._moveLabelOnCanvas,_getLabelPosition:function(){return"outside"},_translate:function(n){var t=this,i=n.translate(t.argument,t.value),r=n.translate(s,h);t.vx=a(i.angle),t.vy=t.radiusOuter=i.radius,t.radius=i.radius,t.middleAngle=-i.angle,t.angle=-i.angle,t.x=i.x,t.y=i.y,t.defaultX=t.centerX=r.x,t.defaultY=t.centerY=r.y,t._translateErrorBars(n),t.inVisibleArea=!0},_translateErrorBars:function(n){var t=this;e(t.lowError)&&(t._lowErrorCoord=t.centerY-n.translate(t.argument,t.lowError).radius),e(t.highError)&&(t._highErrorCoord=t.centerY-n.translate(t.argument,t.highError).radius),t._errorBarPos=t.centerX,t._baseErrorBarPos=(t._options.errorBars||{}).type==="stdDeviation"?t._lowErrorCoord+(t._highErrorCoord-t._lowErrorCoord)/2:t.centerY-t.radius},_getTranslates:function(n){return n?this.getDefaultCoords():{x:this.x,y:this.y}},getDefaultCoords:function(){var n=u.getCosAndSin(-this.angle),t=this.translators.translate(s,c).radius,i=this.defaultX+t*n.cos,r=this.defaultY+t*n.sin;return{x:i,y:r}},_addLabelAlignmentAndOffset:function(n,t){return t},_getVisibleArea:function(){var n=this.translators.canvas;return{minX:n.left,maxX:n.width-n.right,minY:n.top,maxY:n.height-n.bottom}},_checkLabelPosition:function(n,t){var i=this,r=i._getVisibleArea(),u=i._getGraphicBbox();return i._isPointInVisibleArea(r,u)&&(t=i._moveLabelOnCanvas(t,r,n.getBoundingRect(),!0,!0)),t},_getErrorBarSettings:function(n,t){var i=r.symbolPoint._getErrorBarSettings.call(this,n,t);return i.rotate=y-this.angle,i.rotateX=this.centerX,i.rotateY=this.centerY,i},getCoords:function(n){return n?this.getDefaultCoords():{x:this.x,y:this.y}}}),r.polarBarPoint=f({},r.barPoint,{_translateErrorBars:r.polarSymbolPoint._translateErrorBars,_getErrorBarSettings:r.polarSymbolPoint._getErrorBarSettings,_getVisibleArea:r.polarSymbolPoint._getVisibleArea,_moveLabelOnCanvas:r.barPoint._moveLabelOnCanvas,_getLabelCoords:r.piePoint._getLabelCoords,_getLabelConnector:r.piePoint._getLabelConnector,getBoundaryCoords:r.piePoint.getBoundaryCoords,getTooltipParams:r.piePoint.getTooltipParams,_getLabelPosition:r.piePoint._getLabelPosition,_translate:function(n){var t=this,i=n.translate(h,p).radius;t.radiusInner=n.translate(t.argument,t.minValue).radius,r.polarSymbolPoint._translate.call(t,n),t.radiusInner===null?t.radiusInner=t.radius=i:t.radius===null&&(this.radius=this.value>=0?i:0),t.radiusOuter=v(t.radiusInner,t.radius),t.radiusInner=t.defaultRadius=o.min(t.radiusInner,t.radius),t.middleAngle=t.angle=-u.normalizeAngle(t.middleAngleCorrection-t.angle)},_checkVisibility:function(n){return n.checkVisibility(this.radius,this.radiusInner)},getMarkerCoords:function(){return{x:this.centerX,y:this.centerY,outerRadius:this.radiusOuter,innerRadius:this.defaultRadius,startAngle:this.middleAngle-this.interval/2,endAngle:this.middleAngle+this.interval/2}},_drawMarker:function(n,t,i){var r=this,l=r._getStyle(),u=r.getMarkerCoords(),f=u.innerRadius,e=u.outerRadius,o=r.translators.translate(r.argument,c),s=u.x,h=u.y;i&&(f=0,e=0,s=o.x,h=o.y),r.graphic=n.arc(s,h,f,e,u.startAngle,u.endAngle).attr(l).data({point:r}).append(t)},_checkLabelPosition:function(n,t){var i=this,r=i._getVisibleArea(),f=u.getCosAndSin(i.middleAngle),e=i.centerX+i.defaultRadius*f.cos,o=i.centerY-i.defaultRadius*f.sin;return e>r.minX&&e<r.maxX&&o>r.minY&&o<r.maxY&&(t=i._moveLabelOnCanvas(t,r,n.getBoundingRect(),!0,!0)),t},_addLabelAlignmentAndOffset:function(n,t){return t},correctCoordinates:function(n){this.middleAngleCorrection=n.offset,this.interval=n.width},coordsIn:function(n,t){var r=this.translators.untranslate(n,t),i=this.getMarkerCoords(),u=i.startAngle<i.endAngle?-r.phi>=i.startAngle&&-r.phi<=i.endAngle:-r.phi<=i.startAngle&&-r.phi>=i.endAngle;return r.r>=i.innerRadius&&r.r<=i.outerRadius&&u}})}(jQuery,DevExpress),function(n,t,i){function b(n,t,f,e){!u(e)||e<0||r(n.slice(e),function(n,r){u(r[f])&&(t[f]+=r[f],r[f]=i,r["original"+f]=i)})}function d(n,t){function i(n,t,r,u){if(t<r){var f=Math.floor((t+r)/2);i(n,t,f,u),i(n,f+1,r,u),g(n,t,f,r,u)}}var r=n.length;return i(n,0,r-1,t),n}function g(n,t,i,r,f){for(var c=new Array(r-t+1),s=t,h=i+1,e,o=0;s<=i&&h<=r;)n[s][f]<=n[h][f]||!u(n[h][f])?(c[o]=n[s],s++):(c[o]=n[h],h++),o++;if(s>i)for(e=h;e<=r;e++,o++)c[o]=n[e];else for(e=s;e<=i;e++,o++)c[o]=n[e];for(e=0;e<=r-t;e++)n[e+t]=c[e];return n}function l(t,i,r,u){var f=this;i=i||[[]],f._nullData=!t,f.groups=i,f.data=t||[],f._parsers={},f._errorShowList={},f._skipFields={},f.options=u||{},f.incidentOccured=r,f.userArgumentCategories=f.groups.argumentOptions&&f.groups.argumentOptions.categories||[],r||(f.incidentOccured=n.noop)}var s=t.viz,k=new s.core.ParseUtils,e="string",a="numeric",h="datetime",c="discrete",v="continuous",o="logarithmic",y="valueType",p="argumentType",w=s.core.utils.enumParser([e,a,h]),f=t.utils,r=n.each,u=f.isDefined;s.core.DataValidator=l,l.prototype={ctor:l,validate:function(){var n=this,t;return n._data=n.data,n.groups.argumentType=null,n.groups.argumentAxisType=null,r(n.groups,function(n,t){t.valueType=null,t.valueAxisType=null,r(t,function(n,t){t.updateDataType({})}),t.valueAxis&&t.valueAxis.resetTypes(y)}),n.groups.argumentAxes&&r(n.groups.argumentAxes,function(n,t){t.resetTypes(p)}),n._checkType(),n._checkAxisType(),(!f.isArray(n.data)||n._nullData)&&n._incorrectDataMessage(),n.options.convertToAxisDataType&&(n._createParser(),n._parse()),n._groupData(),n._sort(),t=n._data.length,r(n._skipFields,function(i,r){r===t&&n.incidentOccured("W2002",[i])}),n._data},_checkValueTypeOfGroup:function(n,t){var i=this;return r(n,function(u,f){r(f.getValueFields(),function(r,u){n.valueType=i._getType(t[u],n.valueType)})}),n.valueType},_checkArgumentTypeOfGroup:function(n,t){var i=this;return r(n,function(n,r){i.groups.argumentType=i._getType(t[r.getArgumentField()],i.groups.argumentType)}),i.groups.argumentType},_checkType:function(){var n=this,i=[],u=[],t=n.groups,e=t.argumentOptions&&w(t.argumentOptions.argumentType);r(t,function(n,r){if(!r.length)return null;var f=r.valueOptions&&w(r.valueOptions.valueType);r.valueType=f,t.argumentType=e,f||i.push(r),e||u.push(r)}),(i.length||u.length)&&r(n.data,function(t,e){var o,s;if(f.isObject(e))return r(i,function(t,i){o=n._checkValueTypeOfGroup(i,e)}),r(u,function(t,i){s=n._checkArgumentTypeOfGroup(i,e)}),!n.options.checkTypeForAllData&&o&&s?!1:void 0})},_checkAxisType:function(){var n=this,t=n.groups,i=t.argumentOptions||{};r(t,function(u,f){r(f,function(r,u){var e={},o=f.valueOptions||{},s=o.categories||[];e.argumentAxisType=n._correctAxisType(t.argumentType,i.type,!!n.userArgumentCategories.length),e.valueAxisType=n._correctAxisType(f.valueType,o.type,!!s.length),t.argumentAxisType=t.argumentAxisType||e.argumentAxisType,f.valueAxisType=f.valueAxisType||e.valueAxisType,e.argumentType=t.argumentType,e.valueType=f.valueType,e.showZero=o.showZero,u.updateDataType(e)}),f.valueAxis&&(f.valueAxis.setTypes(f.valueAxisType,f.valueType,y),f.valueAxis.validate(!1))}),n.groups.argumentAxes&&r(n.groups.argumentAxes,function(t,i){i.setTypes(n.groups.argumentAxisType,n.groups.argumentType,p),i.validate(!0)})},_createParser:function(){var n=this,t=n.groups;r(t,function(i,u){r(u,function(i,f){n._parsers[f.getArgumentField()]=n._createParserUnit(t.argumentType,t.argumentAxisType===o?n._filterForLogAxis:null),r(f.getValueFields(),function(t,i){n._parsers[i]=n._createParserUnit(u.valueType,u.valueAxisType===o?n._filterForLogAxis:null,f.getOptions().ignoreEmptyPoints)}),f.getTagField()&&(n._parsers[f.getTagField()]=null)})})},_parse:function(){var n=this,t=[];r(n.data,function(i,u){var e={};if(!f.isObject(u)){u&&n._incorrectDataMessage();return}r(n._parsers,function(n,t){e[n]=t?t(u[n],n):u[n],e["original"+n]=u[n]}),t.push(e)}),this._data=t},_groupMinSlices:function(n,t,i){i=i||{};var h=this,e=i.mode,c=i.topCount,l=i.threshold,a=i.groupName||"others",f={},o=h._data.slice(),s;e&&e!=="none"&&(f[n]=a+"",f[t]=0,o.sort(function(n,i){return u(i[t])&&u(n[t])?i[t]-n[t]:!u(i[t])&&n[t]?-1:!u(n[t])&&i[t]?1:void 0}),e==="smallValueThreshold"?(r(o,function(n,i){!u(s)&&u(i[t])&&l>i[t]&&(s=n)}),b(o,f,t,s)):e==="topN"&&b(o,f,t,c),f[t]&&h._data.push(f))},_groupData:function(){var t=this,n=t.groups,f=n.length&&n[0].length&&(n[0][0].type==="pie"||n[0][0].type==="doughnut"||n[0][0].type==="donut"),i,u;f&&r(n,function(f,e){r(e,function(r,f){i=f.getArgumentField(),u=f.getValueFields(),n.argumentAxisType===c&&t._groupSameArguments(i,u),t._groupMinSlices(i,u[0],f.getOptions().smallValuesGrouping)})})},_groupSameArguments:function(n,t){var s=this,f,e={},o=s._data;r(o,function(s,h){if(u(h[n])&&u(h[t[0]]))if(f=h[n],u(e[f])){var c=o[e[f]];r(t,function(n,t){c[t]+=h[t],h[t]=i,h["original"+t]=i})}else e[f]=s})},_getType:function(n,t){return t===e||f.isString(n)?e:t===h||f.isDate(n)?h:f.isNumber(n)?a:t},_correctAxisType:function(n,t,i){return(n===e&&(t===v||t===o)&&this.incidentOccured("E2002"),t===o)?o:(t=(i||t===c||n===e)&&c,t||v)},_filterForLogAxis:function(n,t){return n<=0?(this.incidentOccured("E2004",[t]),null):n},_createParserUnit:function(n,t,r){var u=this,f=n?k.getParser(n,i,!0):function(n){return n};return function(e,o){var s=f(e);return t&&(s=t.call(u,s,o)),s===null&&r&&(s=i),s===i&&(u._addSkipFields(o),u._validUnit(e,o,n)),s}},_validUnit:function(n,t){if(n){if(!f.isNumber(n)&&!f.isDate(n)&&!f.isString(n)){this.incidentOccured("E2003",[t]);return}this.incidentOccured("E2004",[t])}},_sort:function(){var n=this,i=n.options.sortingMethod,u=n._data,t=n.groups,o={},s=t.length&&t[0].length&&t[0][0].getArgumentField();f.isFunction(i)?u.sort(i):n.userArgumentCategories.length?(r(n.userArgumentCategories,function(n,t){o[t]=n}),u.sort(function(n,t){return n=n[s],t=t[s],o[n]-o[t]})):i===!0&&t.argumentType!==e&&d(u,s)},_addSkipFields:function(n){this._skipFields[n]=(this._skipFields[n]||0)+1},_incorrectDataMessage:function(){this._erorrDataSource!==!0&&(this._erorrDataSource=!0,this.incidentOccured("E2001"))}}}(jQuery,DevExpress),function(n,t){var i="#ffffff",u="#000000",f="#d3d3d3",r="#303030",e="#ff0000";n.viz.core.registerTheme({name:"generic.light",font:{color:"#767676",family:"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:400,size:12,cursor:"default"},redrawOnResize:!0,backgroundColor:i,primaryTitleColor:"#232323",secondaryTitleColor:"#767676",axisColor:f,axisLabelColor:"#a8a8a8",title:{font:{family:"'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana",weight:200}},loadingIndicator:{text:"Loading..."},tooltip:{enabled:!1,border:{width:1,color:f,dashStyle:"solid",visible:!0},font:{color:"#232323"},color:i,arrowLength:10,paddingLeftRight:18,paddingTopBottom:15,shared:!1,location:"center",format:"",argumentFormat:"",precision:0,argumentPrecision:0,percentPrecision:0,shadow:{opacity:.4,offsetX:0,offsetY:4,blur:2,color:u}},legend:{hoverMode:"includePoints",verticalAlignment:"top",horizontalAlignment:"right",position:"outside",visible:!0,margin:10,markerSize:12,border:{visible:!1,width:1,cornerRadius:0,dashStyle:"solid"},paddingLeftRight:20,paddingTopBottom:15,columnCount:0,rowCount:0,columnItemSpacing:20,rowItemSpacing:8},"chart:common":{animation:{enabled:!0,duration:1e3,easing:"easeOutCubic",maxPointCountSupported:300},commonSeriesSettings:{border:{visible:!1,width:2},showInLegend:!0,visible:!0,hoverMode:"nearestPoint",selectionMode:"includePoints",hoverStyle:{hatching:{direction:"right",width:2,step:6,opacity:.75},border:{visible:!1,width:3}},selectionStyle:{hatching:{direction:"right",width:2,step:6,opacity:.5},border:{visible:!1,width:3}},valueErrorBar:{displayMode:"auto",value:1,color:u,lineWidth:2,edgeLength:8},label:{visible:!1,alignment:"center",rotationAngle:0,horizontalOffset:0,verticalOffset:0,radialOffset:0,format:"",argumentFormat:"",precision:0,argumentPrecision:0,percentPrecision:0,showForZeroValues:!0,customizeText:t,maxLabelCount:t,position:"outside",font:{color:i},border:{visible:!1,width:1,color:f,dashStyle:"solid"},connector:{visible:!1,width:1}}},seriesSelectionMode:"single",pointSelectionMode:"single",equalRowHeight:!0,dataPrepareSettings:{checkTypeForAllData:!1,convertToAxisDataType:!0,sortingMethod:!0},title:{font:{size:28},margin:10},adaptiveLayout:{width:80,height:80,keepLabels:!0},_rtl:{legend:{itemTextPosition:"left"}},resolveLabelOverlapping:"none"},"chart:common:axis":{visible:!1,setTicksAtUnitBeginning:!0,valueMarginsEnabled:!0,placeholderSize:null,logarithmBase:10,discreteAxisDivisionMode:"betweenLabels",width:1,label:{visible:!0,precision:0,format:""},grid:{visible:!1,width:1},minorGrid:{visible:!1,width:1,opacity:.3},tick:{visible:!1},minorTick:{visible:!1,opacity:.3},stripStyle:{paddingLeftRight:10,paddingTopBottom:5},constantLineStyle:{width:1,color:u,dashStyle:"solid",label:{visible:!0,position:"inside"}}},chart:{commonSeriesSettings:{type:"line",stack:"default",point:{visible:!0,symbol:"circle",size:12,border:{visible:!1,width:1},hoverMode:"onlyPoint",selectionMode:"onlyPoint",hoverStyle:{border:{visible:!0,width:4},size:12},selectionStyle:{border:{visible:!0,width:4},size:12}},scatter:{},line:{width:2,dashStyle:"solid",hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},stackedline:{width:2,dashStyle:"solid",hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},stackedspline:{width:2,dashStyle:"solid",hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},fullstackedline:{width:2,dashStyle:"solid",hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},fullstackedspline:{width:2,dashStyle:"solid",hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},stepline:{width:2,dashStyle:"solid",hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},area:{point:{visible:!1},opacity:.5},stackedarea:{point:{visible:!1},opacity:.5},fullstackedarea:{point:{visible:!1},opacity:.5},fullstackedsplinearea:{point:{visible:!1},opacity:.5},steparea:{border:{visible:!0,width:2},point:{visible:!1},hoverStyle:{border:{visible:!0,width:3}},selectionStyle:{border:{visible:!0,width:3}},opacity:.5},spline:{width:2,hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},splinearea:{point:{visible:!1},opacity:.5},stackedsplinearea:{point:{visible:!1},opacity:.5},bar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}}},stackedbar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}},label:{position:"inside"}},fullstackedbar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}},label:{position:"inside"}},rangebar:{cornerRadius:0,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}}},rangearea:{point:{visible:!1},opacity:.5},rangesplinearea:{point:{visible:!1},opacity:.5},bubble:{opacity:.5,point:{hoverStyle:{border:{visible:!1}},selectionStyle:{border:{visible:!1}}}},candlestick:{width:1,reduction:{color:e},hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3},point:{border:{visible:!0}}},stock:{width:1,reduction:{color:e},hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3},point:{border:{visible:!0}}}},crosshair:{enabled:!1,color:"#f78119",width:1,dashStyle:"solid",label:{visible:!1,font:{color:i,size:12}},verticalLine:{visible:!0},horizontalLine:{visible:!0}},commonAxisSettings:{multipleAxesSpacing:5,label:{overlappingBehavior:{mode:"auto",rotationAngle:90,staggeringSpacing:5},indentFromAxis:10},title:{font:{size:16},margin:6},constantLineStyle:{paddingLeftRight:10,paddingTopBottom:10}},horizontalAxis:{position:"bottom",axisDivisionFactor:50,label:{alignment:"center"},stripStyle:{label:{horizontalAlignment:"center",verticalAlignment:"top"}},constantLineStyle:{label:{horizontalAlignment:"right",verticalAlignment:"top"}},constantLines:{}},verticalAxis:{position:"left",axisDivisionFactor:30,label:{alignment:"right",overlappingBehavior:{mode:"enlargeTickInterval"}},stripStyle:{label:{horizontalAlignment:"left",verticalAlignment:"center"}},constantLineStyle:{label:{horizontalAlignment:"left",verticalAlignment:"top"}},constantLines:{}},argumentAxis:{},valueAxis:{grid:{visible:!0}},commonPaneSettings:{backgroundColor:"none",border:{color:f,width:1,visible:!1,top:!0,bottom:!0,left:!0,right:!0,dashStyle:"solid"}},scrollBar:{visible:!1,offset:5,color:"gray",width:10},useAggregation:!1,adjustOnZoom:!0,rotated:!1,zoomingMode:"none",scrollingMode:"none",synchronizeMultiAxes:!0,equalBarWidth:!0,minBubbleSize:12,maxBubbleSize:.2},pie:{commonSeriesSettings:{type:"pie",pie:{border:{visible:!1,width:2,color:i},hoverStyle:{hatching:{direction:"right",width:4,step:10,opacity:.75},border:{visible:!1,width:2}},selectionStyle:{hatching:{direction:"right",width:4,step:10,opacity:.5},border:{visible:!1,width:2}}},doughnut:{innerRadius:.5,border:{visible:!1,width:2,color:i},hoverStyle:{hatching:{direction:"right",width:4,step:10,opacity:.75},border:{visible:!1,width:2}},selectionStyle:{hatching:{direction:"right",width:4,step:10,opacity:.5},border:{visible:!1,width:2}}},donut:{innerRadius:.5,border:{visible:!1,width:2,color:i},hoverStyle:{hatching:{direction:"right",width:4,step:10,opacity:.75},border:{visible:!1,width:2}},selectionStyle:{hatching:{direction:"right",width:4,step:10,opacity:.5},border:{visible:!1,width:2}}}},legend:{hoverMode:"markPoint",backgroundColor:"none"},adaptiveLayout:{keepLabels:!1}},pieIE8:{commonSeriesSettings:{pie:{hoverStyle:{border:{visible:!0,color:i}},selectionStyle:{border:{visible:!0,color:i}}},donut:{hoverStyle:{border:{visible:!0,color:i}},selectionStyle:{border:{visible:!0,color:i}}},doughnut:{hoverStyle:{border:{visible:!0,color:i}},selectionStyle:{border:{visible:!0,color:i}}}}},gauge:{scale:{majorTick:{visible:!0,length:5,width:2,showCalculatedTicks:!0,useTicksAutoArrangement:!0},minorTick:{visible:!1,length:3,width:1,showCalculatedTicks:!0},label:{visible:!0}},rangeContainer:{offset:0,width:5,backgroundColor:"#808080"},valueIndicators:{_default:{color:"#c2c2c2"},rangebar:{space:2,size:10,color:"#cbc5cf",backgroundColor:"none",text:{indent:0,font:{size:14,color:null}}},twocolorneedle:{secondColor:"#e18e92"},trianglemarker:{space:2,length:14,width:13,color:"#8798a5"},textcloud:{arrowLength:5,horizontalOffset:6,verticalOffset:3,color:"#679ec5",text:{font:{color:i,size:18}}}},title:{layout:{horizontalAlignment:"center",verticalAlignment:"top",overlay:0},font:{size:16}},subtitle:{font:{size:14}},indicator:{hasPositiveMeaning:!0,layout:{horizontalAlignment:"center",verticalAlignment:"bottom",overlay:0},text:{font:{size:18}}},_circular:{scale:{orientation:"outside",label:{indentFromTick:10}},rangeContainer:{orientation:"outside"},valueIndicatorType:"rectangleneedle",subvalueIndicatorType:"trianglemarker",valueIndicators:{_type:"rectangleneedle",_default:{offset:20,indentFromCenter:0,width:2,spindleSize:14,spindleGapSize:10},triangleneedle:{width:4},twocolorneedle:{space:2,secondFraction:.4},rangebar:{offset:30},trianglemarker:{offset:6},textcloud:{offset:-6}}},_linear:{scale:{horizontalOrientation:"right",verticalOrientation:"bottom",label:{indentFromTick:-10}},rangeContainer:{horizontalOrientation:"right",verticalOrientation:"bottom"},valueIndicatorType:"rangebar",subvalueIndicatorType:"trianglemarker",valueIndicators:{_type:"rectangle",_default:{offset:2.5,length:15,width:15},rectangle:{width:10},rangebar:{offset:10,horizontalOrientation:"right",verticalOrientation:"bottom"},trianglemarker:{offset:-1,horizontalOrientation:"left",verticalOrientation:"top"},textcloud:{offset:-1,horizontalOrientation:"left",verticalOrientation:"top"}}}},barGauge:{backgroundColor:"#e0e0e0",relativeInnerRadius:.3,barSpacing:4,label:{indent:20,connectorWidth:2,font:{size:16}},title:{layout:{horizontalAlignment:"center",verticalAlignment:"top",overlay:0},font:{size:16}},subtitle:{font:{size:14}},indicator:{hasPositiveMeaning:!0,layout:{horizontalAlignment:"center",verticalAlignment:"bottom",overlay:0},text:{font:{size:18}}}},rangeSelector:{scale:{showCustomBoundaryTicks:!0,showMinorTicks:!0,useTicksAutoArrangement:!0,setTicksAtUnitBeginning:!0,label:{visible:!0,topIndent:7,font:{size:11}},tick:{width:1,color:u,opacity:.1},marker:{visible:!0,separatorHeight:33,topIndent:10,textLeftIndent:7,textTopIndent:11,label:{}},logarithmBase:10},selectedRangeColor:"#606060",sliderMarker:{visible:!0,paddingTopBottom:2,paddingLeftRight:4,color:"#606060",invalidRangeColor:e,font:{color:i,size:11}},sliderHandle:{width:1,color:u,opacity:.2},shutter:{opacity:.75},background:{color:"#c0bae1",visible:!0,image:{location:"full"}},behavior:{snapToTicks:!0,animationEnabled:!0,moveSelectedRangeByClick:!0,manualRangeSelectionEnabled:!0,allowSlidersSwap:!0,callSelectedRangeChanged:"onMovingComplete"},redrawOnResize:!0,chart:{useAggregation:!1,equalBarWidth:!0,minBubbleSize:12,maxBubbleSize:.2,topIndent:.1,bottomIndent:0,valueAxis:{inverted:!1,logarithmBase:10},commonSeriesSettings:{type:"area",point:{visible:!1}}}},map:{background:{borderWidth:1,borderColor:"#cacaca"},areaSettings:{borderWidth:1,borderColor:i,color:"#d2d2d2",hoveredBorderColor:r,selectedBorderWidth:2,selectedBorderColor:r,label:{enabled:!1,stroke:i,"stroke-width":2,"stroke-opacity":.5,font:{color:"#2b2b2b",size:16,opacity:.5}}},markerSettings:{label:{enabled:!0,stroke:i,"stroke-width":1,"stroke-opacity":.5,font:{color:"#2b2b2b",size:12}},_dot:{borderWidth:2,borderColor:i,color:"#ba4d51",size:8,selectedStep:2,backStep:18,backColor:i,backOpacity:.32,shadow:!0},_bubble:{minSize:20,maxSize:50,color:"#ba4d51",hoveredBorderWidth:1,hoveredBorderColor:r,selectedBorderWidth:2,selectedBorderColor:r},_pie:{size:50,hoveredBorderWidth:1,hoveredBorderColor:r,selectedBorderWidth:2,selectedBorderColor:r},_image:{size:20}},legend:{verticalAlignment:"bottom",horizontalAlignment:"right",position:"inside",backgroundOpacity:.65,border:{visible:!0,color:"#cacaca"},paddingLeftRight:16,paddingTopBottom:12,markerColor:"#ba4d51"},controlBar:{borderColor:"#5d5d5d",borderWidth:3,color:i,margin:20,opacity:.3},_rtl:{legend:{itemTextPosition:"left"}}},sparkline:{lineColor:"#666666",lineWidth:2,areaOpacity:.2,minColor:"#e8c267",maxColor:"#e55253",barPositiveColor:"#a9a9a9",barNegativeColor:"#d7d7d7",winColor:"#a9a9a9",lossColor:"#d7d7d7",firstLastColor:"#666666",pointSymbol:"circle",pointColor:i,pointSize:4,type:"line",argumentField:"arg",valueField:"val",winlossThreshold:0,showFirstLast:!0,showMinMax:!1,tooltip:{enabled:!0}},bullet:{color:"#e8c267",targetColor:"#666666",targetWidth:4,showTarget:!0,showZeroLevel:!0,tooltip:{enabled:!0}},polar:{commonSeriesSettings:{type:"scatter",closed:!0,point:{visible:!0,symbol:"circle",size:12,border:{visible:!1,width:1},hoverMode:"onlyPoint",selectionMode:"onlyPoint",hoverStyle:{border:{visible:!0,width:4},size:12},selectionStyle:{border:{visible:!0,width:4},size:12}},scatter:{},line:{width:2,dashStyle:"solid",hoverStyle:{width:3,hatching:{direction:"none"}},selectionStyle:{width:3}},area:{point:{visible:!1},opacity:.5},stackedline:{width:2},bar:{opacity:.8},stackedbar:{opacity:.8}},adaptiveLayout:{width:170,height:170,keepLabels:!0},equalBarWidth:!0,commonAxisSettings:{visible:!0,label:{overlappingBehavior:{mode:"enlargeTickInterval"},indentFromAxis:5},grid:{visible:!0},minorGrid:{visible:!0},tick:{visible:!0},title:{font:{size:16},margin:10}},argumentAxis:{startAngle:0,firstPointOnStartAngle:!1,period:t},valueAxis:{tick:{visible:!1}},horizontalAxis:{position:"top",axisDivisionFactor:50,label:{alignment:"center"}},verticalAxis:{position:"top",axisDivisionFactor:30,label:{alignment:"right"}}}}),n.viz.core.registerTheme({name:"generic.dark",font:{color:"#808080"},backgroundColor:r,primaryTitleColor:"#dbdbdb",secondaryTitleColor:"#a3a3a3",axisColor:"#555555",axisLabelColor:"#707070",tooltip:{color:"#2b2b2b",border:{color:"#494949"},font:{color:"#929292"}},"chart:common":{commonSeriesSettings:{label:{border:{color:"#494949"}},valueErrorBar:{color:i}}},"chart:common:axis":{constantLineStyle:{color:i}},chart:{crosshair:{color:"#515151"},commonPaneSettings:{border:{color:"#494949"}}},pieIE8:{commonSeriesSettings:{pie:{hoverStyle:{border:{color:"#2b2b2b"}},selectionStyle:{border:{color:"#2b2b2b"}}},donut:{hoverStyle:{border:{color:"#2b2b2b"}},selectionStyle:{border:{color:"#2b2b2b"}}},doughnut:{hoverStyle:{border:{color:"#2b2b2b"}},selectionStyle:{border:{color:"#2b2b2b"}}}}},gauge:{rangeContainer:{backgroundColor:"#b5b5b5"},valueIndicators:{_default:{color:"#b5b5b5"},rangebar:{color:"#84788b"},twocolorneedle:{secondColor:"#ba544d"},trianglemarker:{color:"#b7918f"},textcloud:{color:"#ba544d"}}},barGauge:{backgroundColor:"#3c3c3c"},rangeSelector:{selectedRangeColor:"#b5b5b5",scale:{tick:{color:i,opacity:.05}},sliderMarker:{color:"#b5b5b5",font:{color:r}},sliderHandle:{color:i,opacity:.2},shutter:{color:"#2b2b2b",opacity:.9}},map:{background:{borderColor:"#3f3f3f"},areaSettings:{borderColor:r,color:"#686868",hoveredBorderColor:i,selectedBorderColor:i,label:{stroke:u,font:{color:i}}},markerSettings:{label:{stroke:u,font:{color:i}},_bubble:{hoveredBorderColor:i,selectedBorderColor:i},_pie:{hoveredBorderColor:i,selectedBorderColor:i}},legend:{border:{color:"#3f3f3f"},font:{color:i}},controlBar:{borderColor:"#c7c7c7",color:r}},sparkline:{lineColor:"#c7c7c7",firstLastColor:"#c7c7c7",barPositiveColor:"#b8b8b8",barNegativeColor:"#8e8e8e",winColor:"#b8b8b8",lossColor:"#8e8e8e",pointColor:r},bullet:{targetColor:"#8e8e8e"}},"generic.light"),n.viz.core.currentTheme("generic.light"),n.viz.core.registerThemeAlias("desktop.light","generic.light"),n.viz.core.registerThemeAlias("desktop.dark","generic.dark")}(DevExpress),function(n){var t="android5.light",i=n.viz.core.registerThemeAlias;n.viz.core.registerTheme({name:t,backgroundColor:"#ffffff",primaryTitleColor:"#232323",secondaryTitleColor:"#767676",axisColor:"#d3d3d3",axisLabelColor:"#a8a8a8",tooltip:{color:"#e8e8e8",font:{color:"#808080"}},legend:{font:{color:"#000000"}},pieIE8:{commonSeriesSettings:{pie:{hoverStyle:{border:{color:"#e8e8e8"}},selectionStyle:{border:{color:"#e8e8e8"}}},donut:{hoverStyle:{border:{color:"#e8e8e8"}},selectionStyle:{border:{color:"#e8e8e8"}}},doughnut:{hoverStyle:{border:{color:"#e8e8e8"}},selectionStyle:{border:{color:"#e8e8e8"}}}}}},"generic.light"),i("android",t),i("android.holo-dark",t),i("android.holo-light",t),i("android.dark",t),i("android.light",t)}(DevExpress),function(n){var t="ios7.default",i=n.viz.core;i.registerTheme({name:t,backgroundColor:"#ffffff",primaryTitleColor:"#000000",secondaryTitleColor:"#767676",axisColor:"#ececec",axisLabelColor:"#b8b8b8",legend:{font:{color:"#000000"}},tooltip:{font:{color:"#808080"}},"chart:common":{commonSeriesSettings:{label:{border:{color:"#d3d3d3"}}}},chart:{commonPaneSettings:{border:{color:"#d3d3d3"}}}},"generic.light"),i.registerThemeAlias("ios",t)}(DevExpress),function(n){var r=n.viz.core,u=r.registerTheme,f=r.registerThemeSchemeAlias,t="#000000",i="#ffffff";u({name:"win8.black",backgroundColor:t,primaryTitleColor:i,secondaryTitleColor:"#d8d8d8",axisColor:"#4c4c4c",axisLabelColor:"#a0a0a0",title:{font:{color:i}},legend:{font:{color:i}},tooltip:{color:t,font:{color:i}},"chart:common":{commonSeriesSettings:{label:{border:{color:"#454545"}}}},chart:{commonPaneSettings:{border:{color:"#454545"}}},pieIE8:{commonSeriesSettings:{pie:{hoverStyle:{border:{color:t}},selectionStyle:{border:{color:t}}},donut:{hoverStyle:{border:{color:t}},selectionStyle:{border:{color:t}}},doughnut:{hoverStyle:{border:{color:t}},selectionStyle:{border:{color:t}}}}},barGauge:{backgroundColor:"#2b3036"},rangeSelector:{scale:{tick:{opacity:.15}}}},"generic.dark"),u({name:"win8.white",backgroundColor:i,primaryTitleColor:t,secondaryTitleColor:"#767676",axisColor:"#ececec",axisLabelColor:"#b8b8b8",title:{font:{color:"#808080"}},legend:{font:{color:t}},tooltip:{font:{color:"#808080"}}},"generic.light"),f("win8.dark","win8.black"),f("win8.light","win8.white")}(DevExpress),function(n,t,i){var u=t.viz,e=u.core.Palette,o=t.utils,y=t.viz.core.findTheme,f=o.isString,s=o.isDefined,h=20,c=50,r="font",l="commonAxisSettings",a=["legend."+r,"title."+r,"tooltip."+r,"loadingIndicator."+r,"commonSeriesSettings.label."+r],v=a.concat([l+".label."+r,l+".title."+r]),p=v.concat(["crosshair.label."+r]),w={pie:a,chart:p,polar:v};u.charts=u.charts||{},u.charts.ThemeManager=u.core.BaseThemeManager.inherit(function(){var v=function(i,r){var u=this,o;u.callBase.apply(u,arguments),i=i||{},u._userOptions=i,u._mergeAxisTitleOptions=[],u._themeSection=r,u._fontFields=w[r],u._IE8=t.browser.msie&&t.browser.version<9,o=i.theme&&y(f(i.theme)?i.theme:i.theme.name)||{},u.palette=new e(i.palette,{stepHighlight:c,theme:o.name}),u._callback=n.noop},p=function(){var n=this;return n.palette.dispose(),n.palette=n._userOptions=n._mergedSettings=null,n.callBase.apply(n,arguments)},b=function(){this.palette.reset()},k=function(n){this.palette=new e(n||this._theme.defaultPalette,{stepHighlight:c,theme:this.themeName})},u=function(n){return f(n)?{text:n}:n},o=function(t){if(t)return t=n.extend(!0,{},t),t.title=u(t.title),(t.type==="logarithmic"&&t.logarithmBase<=0||t.logarithmBase&&!n.isNumeric(t.logarithmBase))&&(t.logarithmBase=i,t.logarithmBaseError=!0),t.label&&(t.label.alignment&&(t.label.userAlignment=!0),f(t.label.overlappingBehavior)&&(t.label.overlappingBehavior={mode:t.label.overlappingBehavior}),t.label.overlappingBehavior&&t.label.overlappingBehavior.mode||(t.label.overlappingBehavior=t.label.overlappingBehavior||{})),t},l=function(t,i,r){var u=this._theme,f=r^t==="valueAxis"?"verticalAxis":"horizontalAxis",e=o(this._userOptions.commonAxisSettings,t);return n.extend(!0,{},u.commonAxisSettings,u[f],u[t],e,o(i,t))},r=function(t,i){i=i||this._userOptions[t];var u=this._theme[t],r=this._mergedSettings[t];return r?r:(r=n.isPlainObject(u)&&n.isPlainObject(i)?n.extend(!0,{},u,i):s(i)?i:u,this._mergedSettings[t]=r,r)},a={base:r,argumentAxis:l,valueAxisRangeSelector:function(){return r.call(this,"valueAxis")},valueAxis:l,title:function(n){var t=u(this._userOptions[n]);return r.call(this,n,t)},series:function(t,i){var c=this._theme,f=this._userOptions.commonSeriesSettings||{},e=c.commonSeriesSettings,u=((i.type||f.type||e.type)+"").toLowerCase(),r,s=this.palette,l=~u.indexOf("bar"),a=~u.indexOf("line"),v=~u.indexOf("area"),y=u==="bubble",o,p=this.getOptions("resolveLabelsOverlapping"),w=this.getOptions("resolveLabelOverlapping"),b=this.getOptions("containerBackgroundColor"),h;return(l||y)&&(i=n.extend(!0,{},f,f[u],i),h=i.visible,f={type:{}},n.extend(!0,i,i.point),i.visible=h),r=n.extend(!0,{},e,e[u],f,f[u],i),r.type=u,r.widgetType=this._themeSection.split(".").slice(-1)[0],r.containerBackgroundColor=b,o=r.widgetType!=="pie"?r.color||s.getNextColor():function(){return s.getNextColor()},r.mainSeriesColor=o,r._IE8=this._IE8,r.resolveLabelOverlapping=w,r.resolveLabelsOverlapping=p,r.label&&(a||v&&u!=="rangearea"||u==="scatter")&&(r.label.position="outside"),r},pieSegment:function(i,r,u){var f=n.extend(!0,{},r,u),e=new t.Color(f.color||this.palette.getNextColor());return f.color=e.toHex(),f.border.color=f.border.color||e.toHex(),f.hoverStyle.color=f.hoverStyle.color||this._IE8&&e.highlight(h)||e.toHex(),f.hoverStyle.border.color=f.hoverStyle.border.color||e.toHex(),f.selectionStyle.color=f.selectionStyle.color||this._IE8&&e.highlight(h)||e.toHex(),f.selectionStyle.border.color=f.selectionStyle.border.color||e.toHex(),f},animation:function(t){var i=this._userOptions[t];return i=n.isPlainObject(i)?i:s(i)?{enabled:!!i}:{},r.call(this,t,i)}};return{_themeSection:"chart",ctor:v,dispose:p,resetPalette:b,getOptions:function(n){return(a[n]||a.base).apply(this,arguments)},refresh:function(){return this._mergedSettings={},this.callBase.apply(this,arguments)},resetOptions:function(n){this._mergedSettings[n]=null},update:function(n){this._userOptions=n},updatePalette:k}}())}(jQuery,DevExpress),function(n,t){var r=t.viz,i=r.charts,u=i.series;i.factory=function(){var n=function(n){return new u.SeriesFamily(n)},t=function(n,t){return new i.ThemeManager(n,t)},r=function(n,t){return t==="dxPieChart"?new i.PieTracker(n):new i.ChartTracker(n)},f=function(n,t,r){return new i.ChartTitle(n,t,r)},e=function(n){return new i.LayoutManager(n)},o=function(n,t,r,u){return new i.Crosshair(n,t,r,u)};return{createSeriesFamily:n,createThemeManager:t,createTracker:r,createChartLayoutManager:e,createTitle:f,createCrosshair:o,createScrollBar:function(n,t){return new DevExpress.viz.charts.ScrollBar(n,t)}}}()}(jQuery,DevExpress),function(n,t,i){function v(t){var i=[t.id];i.push.apply(i,t.args||[]),n.log.apply(null,i)}function h(){return!0}function o(){return!1}function y(n,t){return!(n.width===t.width&&n.height===t.height&&n.left===t.left&&n.top===t.top&&n.right===t.right&&n.bottom===t.bottom)}function p(n){function e(){u=i.width(),f=i.height(),clearTimeout(r),r=setTimeout(o,100)}function o(){i.width()===u&&i.height()===f&&n()}var i=t(window),u,f,r;return e.dispose=function(){return clearTimeout(r),this},e}function w(n,i){function f(n,t,i){u[n](t,i)}function e(t){var r=n[t],f=i(t,r.deprecated);u[r.name]=o(f.callback,l(f.deprecatedCallback)&&f.deprecatedCallback,r.deprecatedContext,r.deprecatedArgs)}function o(n,t,i,u){return function(f,e){var o=setTimeout(function(){n(f),t&&t.apply(i(f),u(f)),e&&e(),delete r[o]});r[o]=1}}var u={},r={};return t.each(n,function(n,t){t.name&&e(n)}),f.update=function(t){var i=n[t];return i&&e(i.newName||t),!!i},f.dispose=function(){t.each(r,function(n){clearTimeout(n)}),n=i=u=r=null},f}var f=n.viz.core,s=n.utils.windowResizeCallbacks,r=Number,c=n.utils.stringFormat,l=n.utils.isFunction,a=f.utils.parseScalar,e="rtlEnabled",u="loadingIndicator";f.BaseWidget=n.DOMComponent.inherit({_eventsMap:{onIncidentOccurred:{name:"incidentOccured",deprecated:"incidentOccured",deprecatedContext:t.noop,deprecatedArgs:function(n){return[n.target]}},onDrawn:{name:"drawn",deprecated:"drawn",deprecatedContext:t.noop,deprecatedArgs:function(n){return[n.component]}},incidentOccured:{newName:"onIncidentOccurred"},drawn:{newName:"onDrawn"},onTooltipShown:{name:"tooltipShown"},onTooltipHidden:{name:"tooltipHidden"},onLoadingIndicatorReady:{name:"loadingIndicatorReady"}},_setDeprecatedOptions:function(){this.callBase.apply(this,arguments),t.extend(this._deprecatedOptions,{incidentOccured:{since:"14.2",message:"Use the 'onIncidentOccurred' option instead"},drawn:{since:"14.2",message:"Use the 'onDrawn' option instead"}})},_setDefaultOptions:function(){this.callBase.apply(this,arguments),this.option({incidentOccured:v})},_init:function(){var t=this;t.callBase.apply(t,arguments),t._themeManager=t._createThemeManager(),t._themeManager.setCallback(function(){t._handleThemeOptions()}),t._renderer=new n.viz.renderers.Renderer({cssClass:t._rootClassPrefix+" "+t._rootClass}),t._initIncidentOccured(),t._renderVisibilityChange(),t._initEventTrigger(),t._initTooltip(),t._initCore(),t._setThemeAndRtl(),t._initSize(),t._setupResizeHandler(),t._initLoadingIndicator()},_initTooltip:function(){this._tooltip=new f.Tooltip({cssClass:this._rootClassPrefix+"-tooltip",eventTrigger:this._eventTrigger})},_getAnimationOptions:t.noop,_initSize:function(){var n=null;this._isContainerVisible()&&(n=this._calculateCanvas(),n&&this._updateSize(n,!0)),n||this._setHiddenState()},_setHiddenState:function(){var n=this;n._clean=n._render=t.noop,n._canvas=null,n._incidentOccured("W2001",[n.NAME])},_setVisibleState:function(){delete this._clean,delete this._render},_updateSize:function(n,t){var i=this;i._renderer.resize(n.width,n.height),t&&i._renderer.draw(i._$element[0]),i._canvas=n,i._applySize(),i._updateLoadingIndicatorCanvas()},_updateCanvasAndResize:function(){var n=this,t=n._calculateCanvas();return t&&(y(t,n._canvas)||n.__forceRender)&&(n._updateSize(t),n._resize()),t},render:function(){var n=this,t,i=n._isContainerVisible();n._canvas?(i&&(t=n._updateCanvasAndResize()),t||(n._clean(),n._renderer.clear(),n._setHiddenState())):(i&&(t=n._calculateCanvas(),t&&(n._setVisibleState(),n._updateSize(t,!0),n._render())),t||n._setHiddenState())},_handleResize:function(){this._canvas&&this._updateCanvasAndResize()},_dispose:function(){var n=this;n.callBase.apply(n,arguments),n._removeResizeHandler(),n._eventTrigger.dispose(),n._disposeCore(),n._disposeLoadingIndicator(),n._renderer.dispose(),n._tooltip&&n._tooltip.dispose(),n._themeManager.dispose(),n._themeManager=n._renderer=n._eventTrigger=n._tooltip=null},_initEventTrigger:function(){var n=this;n._eventTrigger=w(n._eventsMap,function(t,r){var u={callback:n._createActionByOption(t)};return n._suppressDeprecatedWarnings(),n.option(t)===i&&(u.deprecatedCallback=n.option(r)),n._resumeDeprecatedWarnings(),u})},_isContainerVisible:function(){return this._$element.is(":visible")},_calculateCanvas:function(){var f=this,i=f.option("size")||{},t=f.option("margin")||{},u=f._getDefaultSize()||{},n={};return i.width<=0||i.height<=0?n=null:(n.width=i.width>0?r(i.width):f._$element.width()||u.width,n.height=i.height>0?r(i.height):f._$element.height()||u.height,n.left=t.left>0?r(t.left):u.left||0,n.top=t.top>0?r(t.top):u.top||0,n.right=t.right>0?r(t.right):u.right||0,n.bottom=t.bottom>0?r(t.bottom):u.bottom||0,n=n.width-n.left-n.right>0&&n.height-n.top-n.bottom>0?n:null),n},_getOption:function(n,r){var f=this._themeManager.theme(n),u=this.option(n);return r?u!==i?u:f:t.extend(!0,{},f,u)},_setupResizeHandler:function(){a(this._getOption("redrawOnResize",!0),!0)?this._addResizeHandler():this._removeResizeHandler()},_addResizeHandler:function(){var n=this;n._resizeHandler||(n._resizeHandler=p(function(){n._handleResize()}),s.add(n._resizeHandler))},_removeResizeHandler:function(){this._resizeHandler&&(s.remove(this._resizeHandler),this._resizeHandler.dispose(),this._resizeHandler=null)},_optionChanged:function(n){var t=this;if(!t._eventTrigger.update(n.name))switch(n.name){case"size":case"margin":t.render();break;case"redrawOnResize":t._setupResizeHandler();break;case u:t._handleLoadingIndicatorOptionChanged();break;case"theme":case e:t._setThemeAndRtl();break;case"encodeHtml":case"pathModified":t._handleThemeOptions();break;case"tooltip":t._setTooltipOptions();break;default:t._invalidate(),t.callBase.apply(t,arguments)}},_handleThemeOptions:function(){var n=this,t={rtl:n.option(e),encodeHtml:n.option("encodeHtml"),pathModified:n.option("pathModified"),animation:n._getAnimationOptions()};n._renderer.setOptions(t),n._setTooltipRendererOptions(t),n._setTooltipOptions(),n._updateLoadingIndicatorOptions(),n._handleThemeOptionsCore()},_handleThemeOptionsCore:function(){this._initialized&&this._refresh()},_visibilityChanged:function(){this.render()},_initIncidentOccured:function(){var t=this;t._incidentOccured=function(i,r){t._eventTrigger("incidentOccured",{target:{id:i,type:i[0]==="E"?"error":"warning",args:r,text:c.apply(null,[n.ERROR_MESSAGES[i]].concat(r?r.slice(0):[])),widget:t.NAME,version:n.VERSION}})}},_setThemeAndRtl:function(){this._themeManager.setTheme(this.option("theme"),this.option(e))},_setTooltipRendererOptions:function(n){this._tooltip.setRendererOptions(n)},_setTooltipOptions:function(){this._tooltip.update(this._getOption("tooltip"))},_initLoadingIndicator:function(){this._getOption(u).show&&(this.showLoadingIndicator(),this._loadIndicator.forceShow())},_handleLoadingIndicatorOptionChanged:function(){var n=this;n._skipOptionChanged||(n._updateLoadingIndicatorOptions(),n._getOption(u).show?n.showLoadingIndicator():n.hideLoadingIndicator())},_updateLoadingIndicatorCanvas:function(){this._loadIndicator&&this._canvas&&this._loadIndicator.applyCanvas(this._canvas)},_updateLoadingIndicatorOptions:function(){this._loadIndicator&&this._loadIndicator.applyOptions(this._getOption(u))},_endLoading:function(n){this._loadIndicator?(this._resetIsReady(),this._loadIndicator.endLoading(n)):n&&n()},_reappendLoadingIndicator:function(){this._loadIndicator&&this._loadIndicator.toForeground()},_disposeLoadingIndicator:function(){this._loadIndicator&&(this._loadIndicator.dispose(),this._loadIndicator=null)},_scheduleLoadingIndicatorHiding:function(){this._loadIndicator&&this._loadIndicator.scheduleHiding()},_fulfillLoadingIndicatorHiding:function(){this._loadIndicator&&this._loadIndicator.fulfillHiding()&&this._toggleLoadingIndicatorState(!1)},_normalizeHtml:function(n){var i=/xmlns="[\s\S]*?"/gi,t=!0;return n=n.replace(i,function(n){return t?(t=!1,n):""}),n.replace(/xmlns:NS1="[\s\S]*?"/gi,"").replace(/NS1:xmlns:xlink="([\s\S]*?)"/gi,'xmlns:xlink="$1"')},_dataIsReady:h,_resetIsReady:function(){this.isReady=o},_drawn:function(){var n=this;n.isReady=o,n._dataIsReady()&&n._renderer.onEndAnimation(function(){n.isReady=h}),n._eventTrigger("drawn",{})},_toggleLoadingIndicatorState:function(n){Boolean(this._getOption(u).show)!==n&&(this._skipOptionChanged=!0,this.option(u,{show:n}),this._skipOptionChanged=!1)},_handleLoadingIndicatorShown:function(){this._tooltip.hide()},showLoadingIndicator:function(){var n=this;n._loadIndicator||(n._loadIndicator=new f.LoadIndicator({container:n._$element,eventTrigger:n._eventTrigger}),n._updateLoadingIndicatorCanvas(),n._updateLoadingIndicatorOptions()),n._toggleLoadingIndicatorState(!0),n._loadIndicator.show(),n._handleLoadingIndicatorShown()},hideLoadingIndicator:function(){var n=this;n._loadIndicator&&(n._toggleLoadingIndicatorState(!1),n._loadIndicator.hide())},svg:function(){return this._normalizeHtml(this._renderer.svg())},isReady:o})}(DevExpress,jQuery),function(n){var u=n.viz,i=u.core,r=i.series;i.CoreFactory={createSeries:function(n,t){return new r.Series(n,t)},createPoint:function(n,t,i){return new r.points.Point(n,t,i)},createLabel:function(){return new i.series.points.Label},createTranslator1D:function(n,t,r,u){return(new i.Translator1D).setDomain(n,t).setCodomain(r,u)},createTranslator2D:function(n,t,r){return new i.Translator2D(n,t,r)},createTickManager:function(n,t,r){return new i.tickManager.TickManager(n,t,r)},createLegend:function(n){return new i.Legend(n)},createSeriesFamily:function(n){return new r.helpers.SeriesFamily(n)},createDataValidator:function(n,t,r,u){return new i.DataValidator(n,t,r,u)}}}(DevExpress),DevExpress.MOD_VIZ_CORE=!0}if(!DevExpress.MOD_VIZ_CHARTS){if(!DevExpress.MOD_VIZ_CORE)throw Error("Required module is not referenced: viz-core");(function(n,t){function s(n){n.margin=u(n.margin)?n.margin:{},typeof n.margin=="number"?(n.margin=n.margin>=0?n.margin:r,n.margin={top:n.margin,bottom:n.margin,left:n.margin,right:n.margin}):(n.margin.top=n.margin.top>=0?n.margin.top:r,n.margin.bottom=n.margin.bottom>=0?n.margin.bottom:r,n.margin.left=n.margin.left>=0?n.margin.left:r,n.margin.right=n.margin.right>=0?n.margin.right:r)}function h(n){n.verticalAlignment=(n.verticalAlignment||"").toLowerCase(),n.horizontalAlignment=(n.horizontalAlignment||"").toLowerCase(),n.verticalAlignment!=="top"&&n.verticalAlignment!=="bottom"&&(n.verticalAlignment="top"),n.horizontalAlignment!=="left"&&n.horizontalAlignment!=="center"&&n.horizontalAlignment!=="right"&&(n.horizontalAlignment="center")}function o(n,t,i){var r=this;r.update(t),r.renderer=n,r.titleGroup=i}var f=t.viz,e=f.core.utils,u=t.utils.isDefined,r=10;f.charts.ChartTitle=o,o.prototype={dispose:function(){var n=this;n.renderer=null,n.clipRect=null,n.title=null,n.innerTitleGroup=null,n.titleGroup=null,n.options=null},update:function(n){var t=this;n&&(h(n),t.horizontalAlignment=n.horizontalAlignment,t.verticalAlignment=n.verticalAlignment,s(n),t.margin=n.margin,t.options=n)},_setBoundingRect:function(){var t=this,r=t.options,i=t.changedMargin||t.margin,n;t.innerTitleGroup&&(n=t.innerTitleGroup.getBBox(),n.height+=i.top+i.bottom,n.width+=i.left+i.right,n.x-=i.left,n.y-=i.top,u(r.placeholderSize)&&(n.height=r.placeholderSize),t.boundingRect=n)},draw:function(n){var t=this,i=t.options,r=t.renderer;return i.text?(n&&t.setSize(n),t.changedMargin=null,t.innerTitleGroup?t.innerTitleGroup.clear():(t.innerTitleGroup=r.g(),t.clipRect=t.createClipRect(),t.titleGroup&&t.clipRect&&t.titleGroup.attr({clipId:t.clipRect.id})),t.innerTitleGroup.append(t.titleGroup),t.title=r.text(i.text,0,0).css(e.patchFontOptions(i.font)).attr({align:t.horizontalAlignment}).append(t.innerTitleGroup),t.title.text=i.text,t._correctTitleLength(),t._setClipRectSettings(),t):t},_correctTitleLength:function(){var n=this,t=n.title.text,r,i;(n.title.attr({text:t}),n._setBoundingRect(),i=n.getLayoutOptions(),n._width>i.width||t.indexOf("<br/>")!==-1)||(r=t.length*n._width/i.width,n.title.attr({text:t.substr(0,~~r-4)+"..."}),n.title.setTitle(t),n._setBoundingRect())},changeSize:function(t){var i=this,r=n.extend(!0,{},i.margin);return r.top+r.bottom<t.height?(i.innerTitleGroup&&(i.options._incidentOccured("W2103"),i.innerTitleGroup.dispose(),i.innerTitleGroup=null),i.clipRect&&(i.clipRect.dispose(),i.clipRect=null)):t.height>0&&(e.decreaseGaps(r,["top","bottom"],t.height),t.height&&(i.changedMargin=r)),i._correctTitleLength(),i._setBoundingRect(),i._setClipRectSettings(),i},getLayoutOptions:function(){var t=this.options,n=this.innerTitleGroup?this.boundingRect:{width:0,height:0,x:0,y:0};return n.verticalAlignment=t.verticalAlignment,n.horizontalAlignment=t.horizontalAlignment,n.cutLayoutSide=t.verticalAlignment,n},getBBox:function(){var t=n.extend({},this.getLayoutOptions());return t.x=this._x,t.y=this._y,t},setSize:function(n){return this._width=n.width||this._width,this},shift:function(n,t){var i=this,r=i.getLayoutOptions();return i._x=n,i._y=t,n-=r.x,t-=r.y,i.innerTitleGroup&&i.innerTitleGroup.move(n,t),i.clipRect&&i.clipRect.attr({translateX:n,translateY:t}),i},createClipRect:function(){if(u(this.options.placeholderSize))return this.renderer.clipRect(0,0,0,0)},_setClipRectSettings:function(){var n=this.getLayoutOptions(),t=this.clipRect;t&&t.attr({x:n.x,y:n.y,width:n.width,height:n.height})}}})(jQuery,DevExpress),function(n,t,i){function u(n,i,r){var u={value:n,valueText:t.formatHelper.format(n,i.format,i.precision)||""};return r&&(u.min=r.min,u.max=r.max),u}var r=n.map;t.viz.charts.axes={},t.viz.charts.axes.constants={logarithmic:"logarithmic",discrete:"discrete",numeric:"numeric",left:"left",right:"right",top:"top",bottom:"bottom",center:"center",canvasPositionPrefix:"canvas_position_",canvasPositionTop:"canvas_position_top",canvasPositionBottom:"canvas_position_bottom",canvasPositionLeft:"canvas_position_left",canvasPositionRight:"canvas_position_right",canvasPositionStart:"canvas_position_start",canvasPositionEnd:"canvas_position_end",horizontal:"horizontal",vertical:"vertical",halfTickLength:4,convertTicksToValues:function(n){return r(n||[],function(n){return n.value})},convertValuesToTicks:function(n){return r(n||[],function(n){return{value:n}})},validateOverlappingMode:function(n){return n!=="ignore"?"enlargeTickInterval":"ignore"},formatLabel:function(t,i,r){var f=u(t,i,r);return n.isFunction(i.customizeText)?i.customizeText.call(f,f):f.valueText},formatHint:function(t,r,f){var e=u(t,r,f);return n.isFunction(r.customizeHint)?r.customizeHint.call(e,e):i}}}(jQuery,DevExpress),function(n,t,i){var l=t.viz,a=l.core,c=l.charts.axes,o=c.constants,v=Math.abs,y=n.extend,h=o.canvasPositionPrefix,s=o.top,f=o.bottom,u=o.left,e=o.right,r=o.center;c.xyAxes={},c.xyAxes.linear={_getSharpParam:function(n){return this._isHorizontal^n?"h":"v"},_createAxisElement:function(){var n=this._axisPosition,t=this._getCanvasStartEnd(),i=this._isHorizontal?[t.start,n,t.end,n]:[n,t.start,n,t.end];return this._renderer.path(i,"line")},_getTranslatedCoord:function(n,t){return this._translator.translate(n,t)},_getCanvasStartEnd:function(){return{start:this._translator.translateSpecialCase(o.canvasPositionStart),end:this._translator.translateSpecialCase(o.canvasPositionEnd)}},_getScreenDelta:function(){return v(this._translator.translateSpecialCase(o.canvasPositionStart)-this._translator.translateSpecialCase(o.canvasPositionEnd))},_initAxisPositions:function(){var n=this,t=n._options.position,i=0;n.delta&&(i=n.delta[t]||0),n._axisPosition=n._additionalTranslator.translateSpecialCase(h+t)+i},_drawTitle:function(){var n=this,i=n._options,t=i.title,u={opacity:t.opacity,align:r};t.text&&n._axisTitleGroup&&(n._title=n._renderer.text(t.text,0,0).css(a.utils.patchFontOptions(t.font)).attr(u).append(n._axisTitleGroup))},_adjustConstantLineLabels:function(){var t=this,st=t._options,ft=t._isHorizontal,et=t._constantLines,rt=t._constantLineLabels,k,ot,o,d,g,n,y,a,b,p=ft?{top:0,bottom:0}:{left:0,right:0},c,l,nt,tt,ut,v,w,it=0;if(rt!==i||et!==i){for(b=0;b<rt.length;b++)if(y=a=0,d=st.constantLines[b],c=d.paddingTopBottom,l=d.paddingLeftRight,g=d.label,nt=g.verticalAlignment,tt=g.horizontalAlignment,ut=g.position==="inside",k=rt[b],k!==null){if(ot=et[b],n=k.getBBox(),o=ot.getBBox(),v=n.height,w=n.width,ft)if(ut){tt===u?y-=l:y+=l;switch(nt){case r:a+=o.y+o.height/2-n.y-v/2;break;case f:a+=o.y+o.height-n.y-v-c;break;default:a+=o.y-n.y+c}}else nt===f?(it=t.delta&&t.delta[f]||0,a+=c-n.y+t._additionalTranslator.translateSpecialCase(h+f)+it,p[f]<v+c&&(p[f]=v+c)):(it=t.delta&&t.delta[s]||0,a-=c+n.y+v-t._additionalTranslator.translateSpecialCase(h+s)-it,p[s]<c+v&&(p[s]=c+v));else if(ut){switch(tt){case r:y+=o.x+w/2-n.x-w/2;break;case e:y-=l;break;default:y+=l}a+=nt===f?o.y-n.y+c:o.y-n.y-v-c}else a+=o.y+o.height/2-n.y-v/2,tt===e?(y+=l,p[e]<l+w&&(p[e]=l+w)):(y-=l,p[u]<l+w&&(p[u]=l+w));k.move(y,a)}t.padding=p}},_checkAlignmentConstantLineLabels:function(n){var o=n.position,t=(n.verticalAlignment||"").toLowerCase(),i=(n.horizontalAlignment||"").toLowerCase();this._isHorizontal?o==="outside"?(t=t===f?f:s,i=r):(t=t===r?r:t===f?f:s,i=i===u?u:e):o==="outside"?(t=r,i=i===u?u:e):(t=t===f?f:s,i=i===e?e:i===r?r:u),n.verticalAlignment=t,n.horizontalAlignment=i},_getConstantLineLabelsCoords:function(n,t){var i=this,o=i._additionalTranslator,f=r,s=n,c=n;i._isHorizontal?c=o.translateSpecialCase(h+t.verticalAlignment):s=o.translateSpecialCase(h+t.horizontalAlignment);switch(t.horizontalAlignment){case u:f=!i._isHorizontal&&t.position==="inside"?u:e;break;case r:f=r;break;case e:f=!i._isHorizontal&&t.position==="inside"?e:u}return{x:s,y:c,align:f}},_getAdjustedStripLabelCoords:function(n,t,i){var h=0,o=0,v=n.label.horizontalAlignment,c=n.label.verticalAlignment,l=t.getBBox(),a=i.getBBox();return v===u?h+=n.paddingLeftRight:v===e&&(h-=n.paddingLeftRight),c===s?o+=a.y-l.y+n.paddingTopBottom:c===r?o+=a.y+a.height/2-l.y-l.height/2:c===f&&(o-=n.paddingTopBottom),{x:h,y:o}},_adjustTitle:function(){var t=this,v=t._options,p=v.position,y=t._title,s=v.title.margin,n,i,e,c=t._translator.translateSpecialCase(h+r),w=t._axisElementsGroup,l,a=t._axisPosition,o;y&&w&&(i=y.getBBox(),n=w.getBBox(),o=n.isEmpty,l=i.height,t._isHorizontal?e=p===f?{y:(o?a:n.y+n.height)-i.y+s,x:c}:{y:(o?a:n.y)-l-i.y-s,x:c}:(e=p===u?{x:(o?a:n.x)-l-i.y-s,y:c}:{x:(o?a:n.x+n.width)+l+i.y+s,y:c},e.rotate=v.position===u?270:90),y.attr(e))},coordsIn:function(n,t){var i=this.getBoundingRect();return n>=i.x&&n<=i.x+i.width&&t>=i.y&&t<=i.y+i.height},_getTicksOptions:function(){var n=this._options;return{base:n.type===o.logarithmic?n.logarithmBase:i,tickInterval:this._translator.getBusinessRange().stubData?null:n.tickInterval,gridSpacingFactor:n.axisDivisionFactor,incidentOccured:n.incidentOccured,setTicksAtUnitBeginning:n.setTicksAtUnitBeginning,showMinorTicks:n.minorTick.visible||n.minorGrid.visible,minorTickInterval:n.minorTickInterval,minorTickCount:n.minorTickCount}},_getOverlappingBehaviorOptions:function(){var n=this,t=n._options,r=function(){return""},i=t.label.overlappingBehavior?y({},t.label.overlappingBehavior):null;return i&&(n._isHorizontal||(i.mode=o.validateOverlappingMode(i.mode)),i.mode!=="rotate"&&(i.rotationAngle=0)),n._translator.getBusinessRange().stubData||(r=function(n,i){return o.formatLabel(n,i,{min:t.min,max:t.max})}),{hasLabelFormat:n._hasLabelFormat,labelOptions:t.label,overlappingBehavior:i,isHorizontal:n._isHorizontal,textOptions:n._textOptions,textFontStyles:n._textFontStyles,textSpacing:t.label.minSpacing,getText:r,renderText:function(t,i,r,u){return n._renderer.text(t,i,r,u).append(n._renderer.root)},translate:function(t,i){return i?n._additionalTranslator.translate(t):n._translator.translate(t)},isInverted:n._translator.getBusinessRange().invert}},_getSpiderCategoryOption:n.noop,_getMinMax:function(){return{min:this._options.min,max:this._options.max}},_getStick:function(){return!this._options.valueMarginsEnabled},_getStripLabelCoords:function(n,t,i){var a=this,v=a._additionalTranslator,y=a._isHorizontal,o=y?r:u,c,l;return y?(n.horizontalAlignment===r?(c=t+(i-t)/2,o=r):n.horizontalAlignment===u?(c=t,o=u):n.horizontalAlignment===e&&(c=i,o=e),l=v.translateSpecialCase(h+n.verticalAlignment)):(c=v.translateSpecialCase(h+n.horizontalAlignment),o=n.horizontalAlignment,n.verticalAlignment===s?l=t:n.verticalAlignment===r?l=i+(t-i)/2:n.verticalAlignment===f&&(l=i)),{x:c,y:l,align:o}},_getTranslatedValue:function(n,t,i){return{x:this._translator.translate(n,i),y:t}},_getSkippedCategory:function(){var n=this,i=n._options,t=n._translator.getVisibleCategories()||n._translator.getBusinessRange().categories,r;return!t||!n._tickOffset||i.valueMarginsEnabled||(r=i.inverted?t[0]:t[t.length-1]),r}}}(jQuery,DevExpress),function(n,t,i){function y(n){var t;return n=f.normalizeAngle(n),n>=315&&n<=360||n<45&&n>=0?t=1:n>=45&&n<135?t=2:n>=135&&n<225?t=3:n>=225&&n<315&&(t=4),t}var u=t.viz,s=u.core,f=t.utils,r=u.charts.axes.constants,l=Math,h=l.abs,e=l.round,a=n.extend,v=n.noop,c=n.map,o=90;u.charts.axes.polarAxes={},u.charts.axes.polarAxes.circular={_overlappingBehaviorType:"circular",_createAxisElement:function(){var n=this._additionalTranslator;return this._renderer.circle(n.getCenter().x,n.getCenter().y,n.getRadius())},_setBoundingRect:function(){this.boundingRect={width:0,height:0}},_getTicksOptions:u.charts.axes.xyAxes.linear._getTicksOptions,_getOverlappingBehaviorOptions:function(){var t=this,i=t._additionalTranslator,f=i.getStartAngle(),n=u.charts.axes.xyAxes.linear._getOverlappingBehaviorOptions.call(t),e=t._translator,o=t._options.label.indentFromAxis||0;return n.overlappingBehavior&&(n.overlappingBehavior={mode:r.validateOverlappingMode(n.overlappingBehavior.mode)}),n.translate=function(n){return s.utils.convertPolarToXY(i.getCenter(),f,e.translate(n),i.translate(r.canvasPositionBottom))},n.addMinMax={min:!0},n.isInverted=e.getBusinessRange().invert,n.circularRadius=i.getRadius()+o,n.circularStartAngle=n.circularEndAngle=f,n.isHorizontal=!1,n},_getSpiderCategoryOption:function(){return this._options.firstPointOnStartAngle},_getMinMax:function(){var n=this._options;return{min:i,max:f.isNumber(n.period)&&n.argumentType===r.numeric?n.period:i}},_getStick:function(){return this._options.firstPointOnStartAngle||this._options.type!==r.discrete},measureLabels:function(){var n=this,t=n._options,u=t.label.indentFromAxis||0,f=t.visible?t.width:0,i;return!n._axisElementsGroup||!n._options.label.visible?{height:f,width:f}:(n._updateTickManager(),i=n._tickManager.getMaxLabelParams(),{height:i.height+u+r.halfTickLength,width:i.width+u+r.halfTickLength})},_getTranslatedCoord:function(n,t){return this._translator.translate(n,t)-o},_getCanvasStartEnd:function(){return{start:0-o,end:360-o}},_createStrip:function(n,t,i){var r=this._additionalTranslator.getCenter(),u=this._additionalTranslator.getRadius();return this._renderer.arc(r.x,r.y,0,u,-t,-n).attr(i)},_getStripLabelCoords:function(n,t,i){var u=this,c=t+(i-t)/2,o=f.getCosAndSin(-c),s=u._additionalTranslator.getRadius()/2,h=u._additionalTranslator.getCenter(),l=e(h.x+s*o.cos),a=e(h.y-s*o.sin);return{x:l,y:a,align:r.center}},_createConstantLine:function(n,t){var i=this._additionalTranslator.getCenter(),r=this._additionalTranslator.getRadius();return this._createPathElement([i.x,i.y,i.x+r,i.y],t).rotate(n,i.x,i.y)},_getConstantLineLabelsCoords:function(n){var t=this,i=f.getCosAndSin(-n),u=t._additionalTranslator.getRadius()/2,o=t._additionalTranslator.getCenter(),s=e(o.x+u*i.cos),h=e(o.y-u*i.sin);return{x:s,y:h,align:r.center}},_checkAlignmentConstantLineLabels:v,_getScreenDelta:function(){return 2*Math.PI*this._additionalTranslator.getRadius()},_getTickCoord:function(n){var t=this._additionalTranslator.getCenter(),i=this._additionalTranslator.getRadius();return{x1:t.x+i-r.halfTickLength,y1:t.y,x2:t.x+i+r.halfTickLength,y2:t.y,angle:n.angle}},_getLabelAdjustedCoord:function(n){var a=this,t=n.labelPos,c=f.getCosAndSin(t.angle),o=c.cos,s=c.sin,h=n.label.getBBox(),e=h.width/2,i=h.height/2,l=a._options.label.indentFromAxis||0,r=t.x+l*o,u=t.y+(t.y-h.y-i)+l*s;switch(y(t.angle)){case 1:r+=e,u+=i*s;break;case 2:r+=e*o,u+=i;break;case 3:r+=-e,u+=i*s;break;case 4:r+=e*o,u+=-i}return{x:r,y:u}},_getGridLineDrawer:function(){var t=this,i=t._additionalTranslator.getRadius(),n=t._additionalTranslator.getCenter();return function(r){return t._createPathElement([n.x,n.y,n.x+i,n.y],r.gridStyle).rotate(r.angle,n.x,n.y)}},_getTranslatedValue:function(n,t,i){var u=this._additionalTranslator,f=u.getStartAngle(),e=this._translator.translate(n,-i),h=s.utils.convertPolarToXY(u.getCenter(),f,e,u.translate(r.canvasPositionBottom));return{x:h.x,y:h.y,angle:e+f-o}},_getAdjustedStripLabelCoords:function(n,t){var i,r=t.getBBox();return i=t.attr("y")-r.y-r.height/2,{x:0,y:i}},coordsIn:function(n,t){return s.utils.convertXYToPolar(this._additionalTranslator.getCenter(),n,t).r>this._additionalTranslator.getRadius()},_rotateTick:function(n,t){var i=this._additionalTranslator.getCenter();n.graphic.rotate(t,i.x,i.y)}},u.charts.axes.polarAxes.circularSpider=a({},u.charts.axes.polarAxes.circular,{_createAxisElement:function(){var n=c(this.getSpiderTicks(),function(n){return{x:n.posX,y:n.posY}});return this._renderer.path(n,"area")},_getStick:function(){return!0},_getSpiderCategoryOption:function(){return!0},getSpiderTicks:function(){var n=this;return n._spiderTicks=r.convertValuesToTicks(n._tickManager.getFullTicks()),n._initTicks(n._spiderTicks,{},{}),n._spiderTicks},_createStrip:function(n,t,i){var o=this._additionalTranslator.getCenter(),r=this.getSpiderTicks(),u,f,e=c(r,function(i,e){var o=[],s;return i.angle>=n&&i.angle<=t?(u||(u=r[e-1]||r[r.length-1],o.push((i.posX+u.posX)/2,(i.posY+u.posY)/2)),o.push(i.posX,i.posY),s=r[e+1]||r[0],f={x:(i.posX+s.posX)/2,y:(i.posY+s.posY)/2}):o=null,o});return e.push(f.x,f.y),e.push(o.x,o.y),this._renderer.path(e,"area").attr(i)},_getTranslatedCoord:function(n,t){return this._translator.translate(n,t)-o},_setTickOffset:function(){this._tickOffset=!1}}),u.charts.axes.polarAxes.linear={_overlappingBehaviorType:"linear",_getMinMax:u.charts.axes.polarAxes.circular._getMinMax,_getStick:u.charts.axes.xyAxes.linear._getStick,_getTicksOptions:u.charts.axes.xyAxes.linear._getTicksOptions,_getSpiderCategoryOption:n.noop,_createAxisElement:function(){var t=this._additionalTranslator,n=t.getCenter(),i=[n.x,n.y,n.x+t.getRadius(),n.y];return this._renderer.path(i,"line").rotate(t.getStartAngle()-o,n.x,n.y)},_setBoundingRect:u.charts.axes.polarAxes.circular._setBoundingRect,_getScreenDelta:function(){return this._additionalTranslator.getRadius()},_getTickCoord:function(n){return{x1:n.posX-r.halfTickLength,y1:n.posY,x2:n.posX+r.halfTickLength,y2:n.posY,angle:n.angle+o}},_getOverlappingBehaviorOptions:function(){var t=this,e=t._translator,o=t._additionalTranslator,n=u.charts.axes.xyAxes.linear._getOverlappingBehaviorOptions.call(this),i=f.normalizeAngle(t._additionalTranslator.getStartAngle());return n.overlappingBehavior&&(n.overlappingBehavior={mode:r.validateOverlappingMode(n.overlappingBehavior.mode)}),n.isHorizontal=i>45&&i<135||i>225&&i<315?!0:!1,n.isInverted=e.getBusinessRange().invert,n.translate=function(n){return s.utils.convertPolarToXY(o.getCenter(),t._options.startAngle,o.translate(r.canvasPositionTop),e.translate(n)).x},n},_getLabelAdjustedCoord:function(n){var s=this,t=n.labelPos,i=f.getCosAndSin(t.angle),u=s._options.label.indentFromAxis||0,r=n.label.getBBox(),e,o;return e=t.x-h(u*i.sin)+h(r.width/2*i.cos),o=t.y+(t.y-r.y)-h(r.height/2*i.sin)+h(u*i.cos),{x:e,y:o}},_getGridLineDrawer:function(){var t=this,n=t._additionalTranslator.getCenter();return function(i){return t._renderer.circle(n.x,n.y,f.getDistance(n.x,n.y,i.posX,i.posY)).attr(i.gridStyle).sharp()}},_getTranslatedValue:function(n,t,i){var u=this._additionalTranslator,f=u.getStartAngle(),e=u.translate(r.canvasPositionStart),h=s.utils.convertPolarToXY(u.getCenter(),f,e,this._translator.translate(n,i));return{x:h.x,y:h.y,angle:e+f-o}},_getTranslatedCoord:function(n,t){return this._translator.translate(n,t)},_getCanvasStartEnd:function(){return{start:0,end:this._additionalTranslator.getRadius()}},_createStrip:function(n,t,i){var r=this._additionalTranslator.getCenter();return this._renderer.arc(r.x,r.y,n,t,0,360).attr(i)},_getAdjustedStripLabelCoords:u.charts.axes.polarAxes.circular._getAdjustedStripLabelCoords,_getStripLabelCoords:function(n,t,i){var f=this,o=t+(i-t)/2,u=f._additionalTranslator.getCenter(),s=e(u.y-o);return{x:u.x,y:s,align:r.center}},_createConstantLine:function(n,t){var i=this._additionalTranslator.getCenter();return this._renderer.circle(i.x,i.y,n).attr(t).sharp()},_getConstantLineLabelsCoords:function(n){var i=this,t=i._additionalTranslator.getCenter(),u=e(t.y-n);return{x:t.x,y:u,align:r.center}},_checkAlignmentConstantLineLabels:v,_rotateTick:function(n,t){n.graphic.rotate(t,n.posX,n.posY)}},u.charts.axes.polarAxes.linearSpider=a({},u.charts.axes.polarAxes.linear,{_createPathElement:function(n,t){return this._renderer.path(n,"area").attr(t).sharp()},setSpiderTicks:function(n){this._spiderTicks=n},_getGridLineDrawer:function(){var n=this,t=n._additionalTranslator.getCenter();return function(i){var r=f.getDistance(t.x,t.y,i.posX,i.posY);return n._createPathElement(n._getGridPoints(t,r),i.gridStyle)}},_getGridPoints:function(n,t){return c(this._spiderTicks,function(i){var r=f.getCosAndSin(i.angle);return{x:e(n.x+t*r.cos),y:e(n.y+t*r.sin)}})},_createStrip:function(n,t,i){var r=this._additionalTranslator.getCenter(),u=this._getGridPoints(r,t),f=this._getGridPoints(r,n);return this._renderer.path([f,u.reverse()],"area").attr(i)},_createConstantLine:function(n,t){var i=this._additionalTranslator.getCenter(),r=this._getGridPoints(i,n);return this._createPathElement(r,t)}})}(jQuery,DevExpress),function(n,t,i){function it(n,t){var i=n.label,f=n.position,e=t?r.bottom:r.left,o=t?r.top:r.right;f!==e&&f!==o&&(f=e),f!==r.right||i.userAlignment||(i.alignment=r.left),n.position=f,n.hoverMode=n.hoverMode?n.hoverMode.toLowerCase():"none",i.minSpacing=u(i.minSpacing)?i.minSpacing:g}var v=t.viz,c=v.core,h=t.utils,r=v.charts.axes.constants,u=h.isDefined,y=h.isNumber,p=h.getSignificantDigitPosition,w=h.roundValue,o=Math,s=o.abs,d=o.round,l=n.extend,e=n.each,f=n.noop,b="dxc",g=5,k=4,nt=8,tt=4,a;a=t.viz.charts.axes.Axis=function(n){var t=this;t._renderer=n.renderer,t._isHorizontal=n.isHorizontal,t._incidentOccured=n.incidentOccured,t._stripsGroup=n.stripsGroup,t._labelAxesGroup=n.labelAxesGroup,t._constantLinesGroup=n.constantLinesGroup,t._axesContainerGroup=n.axesContainerGroup,t._gridContainerGroup=n.gridGroup,t._axisClass=n.axisClass,t._setType(n.axesType,n.drawingType),t._createAxisGroups(),t._tickManager=t._createTickManager()},a.prototype={constructor:a,dispose:function(){var n=this;n._axisElementsGroup&&n._axisElementsGroup.dispose(),n._stripLabels=n._strips=null,n._title=null,n._axisStripGroup=n._axisConstantLineGroup=n._axisLabelGroup=null,n._axisLineGroup=n._axisElementsGroup=n._axisGridGroup=null,n._axisGroup=n._axisTitleGroup=null,n._axesContainerGroup=n._stripsGroup=n._constantLinesGroup=null,n._renderer=n._options=n._textOptions=n._textFontStyles=null,n._translator=n._additionalTranslator=null,n._majorTicks=n._minorTicks=null,n._tickManager=null},getOptions:function(){return this._options},setPane:function(n){this.pane=n,this._options.pane=n},setTypes:function(n,t,i){this._options.type=n||this._options.type,this._options[i]=t||this._options[i]},resetTypes:function(n){this._options.type=this._initTypes.type,this._options[n]=this._initTypes[n]},getTranslator:function(){return this._translator},updateOptions:function(n){var t=this,i=n.label;t._options=n,t._initTypes={type:n.type,argumentType:n.argumentType,valueType:n.valueType},it(n,t._isHorizontal),t._setTickOffset(),t.pane=n.pane,t.name=n.name,t.priority=n.priority,t._virtual=n.virtual,t._hasLabelFormat=i.format!==""&&u(i.format),t._textOptions={align:i.alignment,opacity:i.opacity},t._textFontStyles=c.utils.patchFontOptions(i.font),n.type===r.logarithmic&&(n.logarithmBaseError&&(t._incidentOccured("E2104"),delete n.logarithmBaseError),t.calcInterval=function(t,i){return h.getLog(t/i,n.logarithmBase)})},updateSize:function(n){var t=this,i=t._options,r=t._isHorizontal?"horizontal":"vertical";i.title.text&&t._axisTitleGroup&&(t._incidentOccured("W2105",[r]),t._axisTitleGroup.dispose(),t._axisTitleGroup=null),n&&t._axisElementsGroup&&i.label.visible&&!t._translator.getBusinessRange().stubData&&(t._incidentOccured("W2106",[r]),t._axisElementsGroup.dispose(),t._axisElementsGroup=null),t._setBoundingRect()},_updateTranslatorInterval:function(){var n=this,i,r,u,f=n._translator,t=f.getBusinessRange();if(t.categories||t.isSynchronized||(n.getMajorTicks(!0),t.addRange(n._tickManager.getTickBounds()),f.reinit()),n._majorTicks=r=n.getMajorTicks(),!t.categories)for(u=r.length,i=0;i<u-1;i++)t.addRange({interval:s(r[i].value-r[i+1].value)});n._decimatedTicks=t.categories?n.getDecimatedTicks():[],n._minorTicks=n.getMinorTicks()},setTranslator:function(n,t){var i=this,r=n.getBusinessRange();this._minBound=r.minVisible,this._maxBound=r.maxVisible,i._translator=n,i._additionalTranslator=t,i.resetTicks(),i._updateTranslatorInterval()},resetTicks:function(){this._deleteLabels(),this._majorTicks=this._minorTicks=null},getCurrentLabelPos:function(){var n=this,t=n._options,i=t.position,u=t.label.indentFromAxis,f=n._axisPosition;return i===r.top||i===r.left?f-u:f+u},getUntranslatedValue:function(n){var i=this,f=i._translator,t=f.untranslate(n);return u(t)?r.formatLabel(y(t)?w(t,p(f.getBusinessRange().interval)):t,i._options.label):null},_drawAxis:function(){var n=this,t=n._options,i=n._createAxis({"stroke-width":t.width,stroke:t.color,"stroke-opacity":t.opacity});i.append(n._axisLineGroup)},_correctMinForTicks:function(n,t,i){var f=p(s(t-n)/i),r=w(Number(n),f),u;return r<n&&(u=o.pow(10,-f),r=h.applyPrecisionByMinDelta(r,u,r+u)),r>t&&(r=n),r},_getTickManagerData:function(){var t=this,o=t._options,u=t._getScreenDelta(),i=t._minBound,f=t._maxBound,e=t._translator.getVisibleCategories()||t._translator.getBusinessRange().categories,s=n.isArray(e)?e:t._majorTicks&&r.convertTicksToValues(t._majorTicks),h=t._minorTicks&&r.convertTicksToValues(t._minorTicks);return y(i)&&o.type!==r.logarithmic&&(i=t._correctMinForTicks(i,f,u)),{min:i,max:f,customTicks:s,customMinorTicks:h,screenDelta:u}},_getTickManagerTypes:function(){return{axisType:this._options.type,dataType:this._options.dataType}},_createTickManager:function(){return t.viz.core.CoreFactory.createTickManager({},{},{overlappingBehaviorType:this._overlappingBehaviorType})},_getMarginsOptions:function(){var n=this._translator.getBusinessRange();return{stick:n.stick,minStickValue:n.minStickValue,maxStickValue:n.maxStickValue,percentStick:n.percentStick,minValueMargin:this._options.minValueMargin,maxValueMargin:this._options.maxValueMargin,minSpaceCorrection:n.minSpaceCorrection,maxSpaceCorrection:n.maxSpaceCorrection}},_updateTickManager:function(){var t=this._getOverlappingBehaviorOptions(),n;n=l(!0,{},this._getMarginsOptions(),t,this._getTicksOptions()),this._tickManager.update(this._getTickManagerTypes(),this._getTickManagerData(),n)},_correctLabelAlignment:function(){var n=this,t=n._options.label,i=n._tickManager.getOverlappingBehavior();i&&i.mode==="rotate"?(n._textOptions.rotate=i.rotationAngle,t.userAlignment||(n._textOptions.align=r.left)):t.userAlignment||(n._textOptions.align=t.alignment)},_correctLabelFormat:function(){this._options.label=this._tickManager.getOptions().labelOptions},getTicksValues:function(){return{majorTicksValues:r.convertTicksToValues(this._majorTicks||this.getMajorTicks()),minorTicksValues:r.convertTicksToValues(this._minorTicks||this.getMinorTicks())}},getMajorTicks:function(n){var t=this,i;return t._updateTickManager(),t._textOptions.rotate=0,i=r.convertValuesToTicks(t._tickManager.getTicks(n)),t._correctLabelAlignment(),t._correctLabelFormat(),i},getMinorTicks:function(){return r.convertValuesToTicks(this._tickManager.getMinorTicks())},getDecimatedTicks:function(){return r.convertValuesToTicks(this._tickManager.getDecimatedTicks())},setTicks:function(n){this.resetTicks(),this._majorTicks=r.convertValuesToTicks(n.majorTicks),this._minorTicks=r.convertValuesToTicks(n.minorTicks)},_deleteLabels:function(){this._axisElementsGroup&&this._axisElementsGroup.clear()},_drawTicks:function(n){var t=this,i=t._axisLineGroup;e(n||[],function(n,r){var u=t._getTickCoord(r),f;u&&(f=t._isHorizontal?[u.x1,u.y1,u.x2,u.y2]:[u.y1,u.x1,u.y2,u.x2],r.graphic=t._createPathElement(f,r.tickStyle).append(i),u.angle&&t._rotateTick(r,u.angle))})},_createPathElement:function(n,t,i){return this._renderer.path(n,"line").attr(t).sharp(this._getSharpParam(i))},_createAxis:function(n){return this._createAxisElement().attr(n).sharp(this._getSharpParam(!0))},_getTickCoord:function(n){var t;return t=u(n.posX)&&u(n.posY)?{x1:n.posX,y1:n.posY-r.halfTickLength,x2:n.posX,y2:n.posY+r.halfTickLength}:null},setPercentLabelFormat:function(){this._hasLabelFormat||(this._options.label.format="percent")},resetAutoLabelFormat:function(){this._hasLabelFormat||delete this._options.label.format},_drawLabels:function(){var n=this,t=n._renderer,i=n._axisElementsGroup,r=/^\s+$/;e(n._majorTicks,function(f,e){var o=e.labelText,s,h;u(o)&&o!==""&&!r.test(o)&&(s=n._isHorizontal?e.labelPos.x:e.labelPos.y,h=n._isHorizontal?e.labelPos.y:e.labelPos.x,e.label?e.label.css(e.labelFontStyle).attr(e.labelStyle).attr({text:o,x:s,y:h}):e.label=t.text(o,s,h).css(e.labelFontStyle).attr(e.labelStyle).append(i),e.label.data({argument:e.value}))})},getMultipleAxesSpacing:function(){return this._options.multipleAxesSpacing||0},_drawTitle:f,_getGridLineDrawer:function(n){var t=this,f=t._translator,e=t._additionalTranslator,u=t._isHorizontal,o=u?r.left:r.top,h=u?r.right:r.bottom,c=e.translateSpecialCase(r.canvasPositionStart),l=e.translateSpecialCase(r.canvasPositionEnd),a=n.visible&&n[o]?f.translateSpecialCase(r.canvasPositionPrefix+o):i,v=n.visible&&n[h]?f.translateSpecialCase(r.canvasPositionPrefix+h):i,y=u?function(n){return n.posX!==null?[n.posX,c,n.posX,l]:null}:function(n){return n.posX!==null?[c,n.posX,l,n.posX]:null};return function(n){var i;if(!(s(n.posX-a)<k)&&!(s(n.posX-v)<k))return i=y(n),i&&t._createPathElement(i,n.gridStyle)}},_drawGrids:function(n,t){var i=this,r=i._axisGridGroup,u=i._getGridLineDrawer(t||{visible:!1});e(n||[],function(n,t){t.grid=u(t),t.grid&&t.grid.append(r)})},_getConstantLinePos:function(n,t,i){var f=this._validateUnit(n,"E2105","constantLine"),r=this._getTranslatedCoord(f);return!u(r)||r<o.min(t,i)||r>o.max(t,i)?{}:{value:r,parsedValue:f}},_createConstantLine:function(n,t){var e=this,i=this._additionalTranslator,u=i.translateSpecialCase(r.canvasPositionStart),f=i.translateSpecialCase(r.canvasPositionEnd),o=this._isHorizontal?[n,f,n,u]:[u,n,f,n];return e._createPathElement(o,t)},_drawConstantLinesAndLabels:function(n,t,i){if(u(n.value)){var r=this,o=r._getConstantLinePos(n.value,t,i),f=n.label||{},e=o.value,s={stroke:n.color,"stroke-width":n.width,dashStyle:n.dashStyle};if(!u(e)){r._constantLines.push(null),f.visible&&r._constantLineLabels.push(null);return}r._constantLines.push(r._createConstantLine(e,s).append(r._axisConstantLineGroup)),r._constantLineLabels.push(f.visible?r._drawConstantLineLabels(o.parsedValue,f,e):null)}},_drawConstantLine:function(){var n=this,i=n._options,r=i.constantLines,t=n._getCanvasStartEnd();n._translator.getBusinessRange().stubData||(n._constantLines=[],n._constantLineLabels=[],e(r,function(i,r){n._drawConstantLinesAndLabels(r,t.start,t.end)}))},_drawConstantLineLabels:function(n,t,i){var f=this,e=t.text,h=f._options,s=h.label,o;return f._checkAlignmentConstantLineLabels(t),e=u(e)?e:r.formatLabel(n,s),o=f._getConstantLineLabelsCoords(i,t),f._renderer.text(e,o.x,o.y).css(c.utils.patchFontOptions(l({},s.font,t.font))).attr({align:o.align}).append(f._axisConstantLineGroup)},_adjustConstantLineLabels:f,_getStripPos:function(t,i,r,f,e){var h=!!(e.minVisible||e.maxVisible),a=e.categories||[],o,s,v=t,y=i,c,l,p=e.minVisible;if(!h){if(c=n.inArray(t,a),l=n.inArray(i,a),c===-1||l===-1)return{stripFrom:0,stripTo:0};c>l&&(v=i,y=t)}return o=this._getTranslatedCoord(this._validateUnit(v,"E2105","strip"),-1),s=this._getTranslatedCoord(this._validateUnit(y,"E2105","strip"),1),!u(o)&&h&&(o=t<p?r:f),!u(s)&&h&&(s=i<p?r:f),o<s?{stripFrom:o,stripTo:s}:{stripFrom:s,stripTo:o}},_createStrip:function(n,t,i){var e,h,c,l,a=this._additionalTranslator,u=a.translateSpecialCase(r.canvasPositionStart),f=a.translateSpecialCase(r.canvasPositionEnd);return this._isHorizontal?(e=n,h=o.min(u,f),c=t-n,l=s(u-f)):(e=o.min(u,f),h=n,c=s(u-f),l=s(n-t)),this._renderer.rect(e,h,c,l).attr(i)},_drawStrip:function(){var n=this,c=n._options,e=c.strips,o=this._getCanvasStartEnd(),r,i,t,f,s,h=n._translator.getBusinessRange();if(!h.stubData)for(n._strips=[],n._stripLabels=[],r=0;r<e.length;r++)if(i=e[r],f=i.label||{},s={fill:i.color},u(i.startValue)&&u(i.endValue)&&u(i.color)){if(t=n._getStripPos(i.startValue,i.endValue,o.start,o.end,h),t.stripTo-t.stripFrom==0||!u(t.stripTo)||!u(t.stripFrom)){n._strips.push(null),f.text&&n._stripLabels.push(null);continue}n._strips.push(n._createStrip(t.stripFrom,t.stripTo,s).append(n._axisStripGroup)),n._stripLabels.push(f.text?n._drawStripLabel(f,t.stripFrom,t.stripTo):null)}},_drawStripLabel:function(n,t,i){var r=this,f=r._options,u=r._getStripLabelCoords(n,t,i);return r._renderer.text(n.text,u.x,u.y).css(c.utils.patchFontOptions(l({},f.label.font,n.font))).attr({align:u.align}).append(r._axisLabelGroup)},_adjustStripLabels:function(){var r=this,t=r._stripLabels,f=r._strips,n,u;if(t!==i||f!==i)for(n=0;n<t.length;n++)t[n]!==null&&(u=r._getAdjustedStripLabelCoords(r._options.strips[n],t[n],f[n]),t[n].move(u.x,u.y))},_initAxisPositions:f,_adjustLabels:function(){var t=this,c=t._options,f=t._majorTicks,o=f.length,p=t._isHorizontal,s=t._tickManager?t._tickManager.getOverlappingBehavior():c.label.overlappingBehavior,l=c.position,i,u,a,v,n,h,y=!1,w=t._axisElementsGroup&&t._axisElementsGroup.getBBox()||{};if(e(f,function(n,i){i.label&&(i.label.attr(t._getLabelAdjustedCoord(i,w)),y=!0)}),a=y&&p&&s&&s.mode==="stagger",a){for(u=0,n=0;n<o;n=n+2)i=f[n].label,h=i&&i.getBBox()||{},h.height>u&&(u=h.height);for(v=s.staggeringSpacing,u=d(u)+v,n=1;n<o;n=n+2)i=f[n].label,i&&(l===r.bottom?i.move(0,u):l===r.top&&i.move(0,-u));for(n=0;n<o;n++)f[n].label&&f[n].label.rotate(0)}},_getLabelAdjustedCoord:function(n,t){var e=this,a=e._options,i=n.label.getBBox(),f,o,l=e._isHorizontal,s=a.position,u=e.padding&&e.padding[s]||0,h=e._textOptions,c=n.label.attr("y");return l&&s===r.bottom?o=2*c-i.y+u:l?l&&s===r.top&&(o=2*c-i.y-i.height-u):(f=s===r.left?h.align===r.right?i.x+i.width-u:h.align===r.center?i.x+i.width/2-u-(t.width/2||0):i.x-u-(t.width||0):h.align===r.center?i.x+i.width/2+(t.width/2||0)+u:h.align===r.right?i.x+i.width+(t.width||0)+u:i.x+u,o=c+~~(c-i.y-i.height/2)),{x:f,y:o}},_adjustTitle:f,_createAxisGroups:function(){var n=this,t=n._renderer,i=b+"-"+n._axisClass+"-";n._axisGroup=t.g().attr({"class":i+"axis"}),n._axisStripGroup=t.g().attr({"class":i+"strips"}),n._axisGridGroup=t.g().attr({"class":i+"grid"}),n._axisElementsGroup=t.g().attr({"class":i+"elements"}).append(n._axisGroup),n._axisLineGroup=t.g().attr({"class":i+"line"}).append(n._axisGroup),n._axisTitleGroup=t.g().attr({"class":i+"title"}).append(n._axisGroup),n._axisConstantLineGroup=t.g().attr({"class":i+"constant-lines"}),n._axisLabelGroup=t.g().attr({"class":i+"axis-labels"})},_clearAxisGroups:function(n){var t=this,i=b+"-"+t._axisClass+"-";t._axisGroup.remove(),t._axisStripGroup.remove(),t._axisLabelGroup.remove(),t._axisConstantLineGroup.remove(),t._axisGridGroup.remove(),t._axisTitleGroup?t._axisTitleGroup.clear():n||(t._axisTitleGroup=t._renderer.g().attr({"class":i+"title"}).append(t._axisGroup)),t._axisElementsGroup?t._axisElementsGroup.clear():n||(t._axisElementsGroup=t._renderer.g().attr({"class":i+"elements"}).append(t._axisGroup)),t._axisLineGroup.clear(),t._axisStripGroup.clear(),t._axisGridGroup.clear(),t._axisConstantLineGroup.clear(),t._axisLabelGroup.clear()},_initTicks:function(n,t,i,u){var f=this,o=f._options,h={stroke:t.color,"stroke-width":1,"stroke-opacity":t.opacity},c={stroke:i.color,"stroke-width":i.width,"stroke-opacity":i.opacity},l=f.getCurrentLabelPos(),s=f._getSkippedCategory();e(n||[],function(n,t){var i;s&&s===t.value||(i=f._getTranslatedValue(t.value,f._axisPosition,f._tickOffset),t.posX=i.x,t.posY=i.y,t.angle=i.angle),t.tickStyle=h,t.gridStyle=c,u&&(t.labelText=r.formatLabel(t.value,o.label,{min:f._minBound,max:f._maxBound}),t.labelPos=f._getTranslatedValue(t.value,l),t.labelStyle=f._textOptions,t.labelFontStyle=f._textFontStyles,t.labelHint=r.formatHint(t.value,o.label,{min:f._minBound,max:f._maxBound}))})},_setTickOffset:function(){var t=this._options,n=t.discreteAxisDivisionMode;this._tickOffset=+(n!=="crossLabels"||!n)},drawGrids:function(n){var t=this,i=t._options;n=n||{},t._axisGridGroup.append(t._gridContainerGroup),i.grid.visible&&t._drawGrids(t._majorTicks.concat(t._decimatedTicks),n),i.minorGrid.visible&&t._drawGrids(t._minorTicks,n)},draw:function(n){var t=this,i=t._options,r;t._axisGroup&&t._clearAxisGroups(n),r=i.label.visible&&t._axisElementsGroup&&!t._translator.getBusinessRange().stubData,t._updateTranslatorInterval(),t._initAxisPositions(),t._initTicks(t._majorTicks,i.tick,i.grid,r),t._initTicks(t._decimatedTicks,i.tick,i.grid,!1),t._initTicks(t._minorTicks,i.minorTick,i.minorGrid),t._virtual||(i.visible&&t._drawAxis(),i.tick.visible&&(t._drawTicks(t._majorTicks),t._drawTicks(t._decimatedTicks)),i.minorTick.visible&&t._drawTicks(t._minorTicks),r&&t._drawLabels(),t._drawTitle()),i.strips&&t._drawStrip(),i.constantLines&&t._drawConstantLine(),t._axisStripGroup.append(t._stripsGroup),t._axisConstantLineGroup.append(t._constantLinesGroup),t._axisGroup.append(t._axesContainerGroup),t._axisLabelGroup.append(t._labelAxesGroup),t._adjustConstantLineLabels(),r&&t._adjustLabels(),t._createHints(),t._adjustStripLabels(),t._adjustTitle(),t._setBoundingRect()},_createHints:function(){var n=this;e(n._majorTicks||[],function(n,t){var i=t.labelHint;u(i)&&i!==""&&t.label.setTitle(i)})},_setBoundingRect:function(){var n=this,s=n._options,t=n._axisElementsGroup?n._axisElementsGroup.getBBox():{x:0,y:0,width:0,height:0,isEmpty:!0},l=n._axisLineGroup.getBBox(),h=s.placeholderSize,f,e=n._isHorizontal,i=e?"y":"x",o=e?"height":"width",c=s.crosshairEnabled?e?tt:nt:0,u=n._title&&n._axisTitleGroup?n._axisTitleGroup.getBBox():t;if(t.isEmpty&&u.isEmpty&&!h){n.boundingRect=t;return}f=l[i]||n._axisPosition,s.position===(e&&r.bottom||r.right)?(t[o]=h||u[i]+u[o]-f+c,t[i]=f):(t[o]=h||l[o]+f-u[i]+c,t[i]=u.isEmpty?f:u[i]-c),n.boundingRect=t},getBoundingRect:function(){return this._axisElementsGroup?this.boundingRect:{x:0,y:0,width:0,height:0}},shift:function(n,t){var i={};n&&(i.translateX=n),t&&(i.translateY=t),this._axisGroup.attr(i)},applyClipRects:function(n,t){this._axisGroup.attr({clipId:t}),this._axisStripGroup.attr({clipId:n})},validate:function(n){var t=this,r=t._options,f=new c.ParseUtils,u=n?r.argumentType:r.valueType,e=u?f.getParser(u,"axis"):function(n){return n};t.parser=e,r.dataType=u,r.min!==i&&(r.min=t._validateUnit(r.min,"E2106")),r.max!==i&&(r.max=t._validateUnit(r.max,"E2106")),t._minBound!==i&&(t._minBound=t._validateUnit(t._minBound)),t._maxBound!==i&&(t._maxBound=t._validateUnit(t._maxBound))},_validateUnit:function(n,t,r){var u=this;return n=u.parser(n),n===i&&t&&u._incidentOccured(t,[r]),n},zoom:function(n,t,u){var f=this,e=f._options.min,o=f._options.max;return u=u||f._options.type===r.discrete,n=f._validateUnit(n),t=f._validateUnit(t),u||(e!==i&&(n=e>n?e:n,t=e>t?e:t),o!==i&&(t=o<t?o:t,n=o<n?o:n)),f._zoomArgs={min:n,max:t}},resetZoom:function(){this._zoomArgs=null},getRangeData:function(){var e=this,o=e._options,v=e._getMinMax(),n=v.min,t=v.max,f=e._zoomArgs||{},c=o.type,s,h,l,a;return c===r.logarithmic&&(n=n<=0?i:n,t=t<=0?i:t),c!==r.discrete?(s=n,h=t,u(n)&&u(t)&&(s=n<t?n:t,h=t>n?t:n),l=u(f.min)?f.min:s,a=u(f.max)?f.max:h):(l=u(f.min)?f.min:n,a=u(f.max)?f.max:t),{min:s,max:h,stick:e._getStick(),categories:o.categories,dataType:o.dataType,axisType:c,base:o.logarithmBase,invert:o.inverted,addSpiderCategory:e._getSpiderCategoryOption(),minVisible:l,maxVisible:a}},_setType:function(n,i){var r=this;e(t.viz.charts.axes[n][i],function(n,t){r[n]=t})},_getSharpParam:function(){return!0},getSpiderTicks:f,setSpiderTicks:f,measureLabels:f,coordsIn:f,_getSkippedCategory:f}}(jQuery,DevExpress),function(n,t,i){function o(n,t,i,r){var u=0;return t==="right"?u=n.width-n.right+i:t==="left"&&(u=n.left-i-r),u}function s(n,t,i,r){var u=0;return t==="top"?u=n.top-i:t==="bottom"&&(u=n.height-n.bottom+r+i),u}var f=2,e=t.utils.isDefined,r=i.min,u=i.max;t.viz.charts.ScrollBar=function(n,i){this._translator=t.viz.core.CoreFactory.createTranslator2D({},{},{}),this._scroll=n.rect().append(i),this._addEvents()},t.viz.charts.ScrollBar.prototype={_addEvents:function(){var r=this,u=n(r._scroll.element),t=0,i=0,f=function(f){var e=(t-f.pageX)*r._scale,o=(i-f.pageY)*r._scale;u.trigger(new n.Event("dxc-scroll-move",n.extend(f,{type:"dxc-scroll-move",pointers:[{pageX:t+e,pageY:i+o}]})))};u.on("dxpointerdown",function(r){t=r.pageX,i=r.pageY,u.trigger(new n.Event("dxc-scroll-start",{pointers:[{pageX:t,pageY:i}]}));n(document).on("dxpointermove",f)});n(document).on("dxpointerup",function(){n(document).off("dxpointermove",f)})},update:function(n){var i=this,t=n.position,r=n.rotated,u=r?"right":"top",f=r?"left":"bottom";return t!==u&&t!==f&&(t=u),i._scroll.attr({rotate:n.rotated?0:-90,rotateX:0,rotateY:0,fill:n.color,width:n.width,opacity:n.opacity}),i._layoutOptions={width:n.width,offset:n.offset,vertical:r,position:t},i},init:function(t,i){var r=this;return r._translateWithOffset=t.axisType==="discrete"&&!t.stick&&1||0,r._translator.update(n.extend({},t,{minVisible:null,maxVisible:null,visibleCategories:null}),n.extend({},i),{direction:r._layoutOptions.vertical?"vertical":"horizontal"}),r},getOptions:function(){return this._layoutOptions},shift:function(n,t){this._scroll.attr({translateX:n,translateY:t})},setPane:function(n){var i=this._layoutOptions.position,t;return t=i==="left"||i==="top"?n[0]:n[n.length-1],this.pane=t.name,this._canvas=t.canvas,this},getMultipleAxesSpacing:function(){return 0},getBoundingRect:function(){var t=this._layoutOptions,e=t.vertical,i=t.offset,r=t.width,u=t.position,f=r+i,n=this._canvas;return e?{x:o(n,u,i,r),y:n.top,width:f,height:n.height-n.top-n.bottom}:{x:n.left,y:s(n,u,i,r),width:n.width-n.left-n.right,height:f}},applyLayout:function(){var t=this._canvas,n=this._layoutOptions,i=n.position,r=n.offset,u=n.width;this.shift(o(t,i,r,u),s(t,i,r,u))},setPosition:function(n,t){var i=this,f=i._translator,o=e(n)?f.translate(n,-i._translateWithOffset):f.translate("canvas_position_start"),s=e(t)?f.translate(t,i._translateWithOffset):f.translate("canvas_position_end");i._offset=r(o,s),i._scale=f.getScale(n,t),i._applyPosition(r(o,s),u(o,s))},transform:function(n,t){var i=this._translator.getCanvasVisibleArea().min,u=i-(i*t-n),r=this._offset+u/(this._scale*t);this._applyPosition(r,r+this._translator.canvasLength/(this._scale*t))},dispose:function(){this._scroll.dispose(),this._scroll=this._translator=null},_applyPosition:function(n,t){var s=this,e=s._translator.getCanvasVisibleArea(),o;n=u(n,e.min),n=r(n,e.max),t=r(t,e.max),t=u(t,e.min),o=i.abs(t-n),s._scroll.attr({y:n,height:o<f?f:o})}}}(jQuery,DevExpress,Math),function(n,t,i){function r(n,t){return{name:n,deprecated:n,deprecatedContext:function(n){return n.target},deprecatedArgs:t||function(n){return[n.target,n.jQueryEvent]}}}function w(n,t,i){for(var u=0,o=t.end-t.start,f,e,r=0;r<n.length;r++)f=n[r].getLabel(),f.isVisible()?(e=f.getBoundingRect(),u+=i?e.width:e.height):n[r]=null;if(o>0)while(u>o)u-=b(n,i)}function b(n,t){var f={originalValue:Infinity},r,u,i;return(c(n,function(n,t){t&&f.originalValue>=t.originalValue&&(f=t,i=n)}),i!==null)?(r=n[i].getLabel(),u=r.getBoundingRect(),r.hide(),n[i]=null,t?u.width:u.height):0}function k(t,i,r,u){var e={start:r?i.left:i.top,end:r?i.width-i.right:i.height-i.bottom},f;(w(t,e,r),f=n.map(t,function(n){return n&&new a(n,r,u)}),f.sort(function(n,t){return n.getPointPosition()-t.getPointPosition()}),g(f))&&(f.reverse(),nt(f,e))}function d(n,t){if(n&&t)return n.getBoundingRect().end>t.getBoundingRect().start}function g(n){for(var t,r,u,f,i=0;i<n.length;i++)for(r=n[i],t=i+1;t<n.length;t++)u=n[t],d(r,u)&&(r.toChain(u),f=!0,n[t]=null);return f}function nt(n,t){for(var u,i,f,e,o,r=0;r<n.length;r++){if(i=n[r],tt(i,t))for(e=i.getBoundingRect(),u=r+1;u<n.length;u++)if((f=n[u],f)&&(o=f.getBoundingRect(),o.end>e.start-(e.end-t.end))){f.toChain(i),n[r]=i=null;break}i&&i.setRollingStockInCanvas(t)}}function tt(n,t){return n&&n.getBoundingRect().end>t.end}function a(n,t,i){var u=n.getLabel(),r=u.getBoundingRect();return this.labels=[u],this.points=[n],this.shiftFunction=i,this._bbox={start:t?r.x:r.y,width:t?r.width:r.height,end:t?r.x+r.width:r.y+r.height},this._pointPositionInitialize=t?n.getBoundaryCoords().x:n.getBoundaryCoords().y,this}function it(n){return{nameField:n+"Name",colorField:n+"Color",indexField:n+"Index"}}function rt(n){var t=it(n);return{getFormatObject:function(n){var i={};return i[t.indexField]=n.id,i[t.colorField]=n.states.normal.fill,i[t.nameField]=n.text,i},textField:t.nameField}}function ut(n,t){return(n.x<=t.x&&t.x<=n.x+n.width||n.x>=t.x&&n.x<=t.x+t.width)&&(n.y<=t.y&&t.y<=n.y+n.height||n.y>=t.y&&n.y<=t.y+t.height)}var f=t.ui,u=t.viz.charts,s=t.utils,h=["reinit","_reinitDataSource","_dataInit","force_render","_resize"],e=t.viz.core,c=n.each,v=n.map,y=n.extend,p={asyncSeriesRendering:!0},l=s.isDefined,o=.3;a.prototype={toChain:function(n){var t=n.getBoundingRect();n.shift(t.start-this._bbox.end),this._changeBoxWidth(t.width),this.labels=this.labels.concat(n.labels),this.points=this.points.concat(n.points)},getBoundingRect:function(){return this._bbox},shift:function(n){var t=this.shiftFunction;c(this.labels,function(i,r){var f=r.getBoundingRect(),u=t(f,n,r);r.shift(u.x,u.y)}),this._bbox.end-=n,this._bbox.start-=n},setRollingStockInCanvas:function(n){this._bbox.end>n.end&&this.shift(this._bbox.end-n.end)},getPointPosition:function(){return this._pointPositionInitialize},_changeBoxWidth:function(n){this._bbox.end+=n,this._bbox.width+=n}},u.overlapping={resolveLabelOverlappingInOneDirection:k},u.BaseChart=e.BaseWidget.inherit({_eventsMap:n.extend({},e.BaseWidget.prototype._eventsMap,{onSeriesClick:r("seriesClick"),onPointClick:r("pointClick"),onArgumentAxisClick:r("argumentAxisClick",function(n){return[n.target,n.argument,n.jQueryEvent]}),onLegendClick:r("legendClick"),onSeriesSelectionChanged:r("seriesSelectionChanged"),onPointSelectionChanged:r("pointSelectionChanged"),onSeriesHoverChanged:r("seriesHoverChanged"),onPointHoverChanged:r("pointHoverChanged"),onTooltipShown:r("tooltipShown"),onTooltipHidden:r("tooltipHidden"),onDone:r("done"),seriesClick:{newName:"onSeriesClick"},pointClick:{newName:"onPointClick"},argumentAxisClick:{newName:"onArgumentAxisClick"},legendClick:{newName:"onLegendClick"},pointHoverChanged:{newName:"onPointHoverChanged"},seriesSelectionChanged:{newName:"onSeriesSelectionChanged"},pointSelectionChanged:{newName:"onPointSelectionChanged"},seriesHoverChanged:{newName:"onSeriesHoverChanged"},tooltipShown:{newName:"onTooltipShown"},tooltipHidden:{newName:"onTooltipHidden"},done:{newName:"onDone"}}),_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{seriesClick:{since:"14.2",message:"Use the 'onSeriesClick' option instead"},pointClick:{since:"14.2",message:"Use the 'onPointClick' option instead"},argumentAxisClick:{since:"14.2",message:"Use the 'onArgumentAxisClick' option instead"},legendClick:{since:"14.2",message:"Use the 'onLegendClick' option instead"},seriesSelectionChanged:{since:"14.2",message:"Use the 'onSeriesSelectionChanged' option instead"},pointSelectionChanged:{since:"14.2",message:"Use the 'onPointSelectionChanged' option instead"},seriesHoverChanged:{since:"14.2",message:"Use the 'onSeriesHoverChanged' option instead"},pointHoverChanged:{since:"14.2",message:"Use the 'onPointHoverChanged' option instead"},tooltipShown:{since:"14.2",message:"Use the 'onTooltipShown' option instead"},tooltipHidden:{since:"14.2",message:"Use the 'onTooltipHidden' option instead"},done:{since:"14.2",message:"Use the 'onDone' option instead"}})},_rootClassPrefix:"dxc",_rootClass:"dxc-chart",_init:function(){var n=this;n.callBase.apply(n,arguments),n._reinit()},_createThemeManager:function(){var n=this.option(),t=u.factory.createThemeManager(n,this._chartType);return t.setTheme(n.theme,n.rtlEnabled),t},_initCore:function(){var n=this;n._canvasClipRect=n._renderer.clipRect(),n._createHtmlStructure(),n._createLegend(),n._needHandleRenderComplete=!0,n.layoutManager=u.factory.createChartLayoutManager(n._layoutManagerOptions()),n._createScrollBar();n._$element.on("contextmenu",function(n){(f.events.isTouchEvent(n)||f.events.isPointerEvent(n))&&n.preventDefault()}).on("MSHoldVisual",function(n){n.preventDefault()})},_layoutManagerOptions:function(){return this._themeManager.getOptions("adaptiveLayout")},_reinit:function(n){var t=this;u._setCanvasValues(t._canvas),t._createTracker(),t._reinitAxes(),t._reinitDataSource(),t.series||t._dataSpecificInit(),t._correctAxes(),n&&t._endLoading(function(){t._render({force:!0})})},_createHtmlStructure:function(){var n=this,t=n._renderer;n._backgroundRect=t.rect(0,0,0,0).attr({fill:"gray",opacity:.0001}),n._panesBackgroundGroup=t.g().attr({"class":"dxc-background"}),n._titleGroup=t.g().attr({"class":"dxc-title"}),n._legendGroup=t.g().attr({"class":"dxc-legend",clipId:n._getCanvasClipRectID()}),n._stripsGroup=t.g().attr({"class":"dxc-strips-group"}),n._constantLinesGroup=t.g().attr({"class":"dxc-constant-lines-group"}),n._axesGroup=t.g().attr({"class":"dxc-axes-group"}),n._gridGroup=t.g().attr({"class":"dxc-grids-group"}),n._panesBorderGroup=t.g().attr({"class":"dxc-border"}),n._labelAxesGroup=t.g().attr({"class":"dxc-strips-labels-group"}),n._scrollBarGroup=t.g().attr({"class":"dxc-scroll-bar"}),n._seriesGroup=t.g().attr({"class":"dxc-series-group"}),n._labelsGroup=t.g().attr({"class":"dxc-labels-group"}),n._crosshairCursorGroup=t.g().attr({"class":"dxc-crosshair-cursor"})},_disposeObjectsInArray:function(t,i){n.each(this[t]||[],function(t,r){i&&r?n.each(i,function(n,t){r[t]&&r[t].dispose()}):r&&r.dispose()}),this[t]=null},_disposeCore:function(){var t=this,n=function(n){t[n]&&(t[n].dispose(),t[n]=null)},i=this._disposeObjectsInArray;clearTimeout(t._delayedRedraw),t._renderer.stopAllAnimations(),i.call(t,"businessRanges",["arg","val"]),t.translators=null,i.call(t,"series"),n("layoutManager"),n("tracker"),n("chartTitle"),n("_crosshair"),t.paneAxis=null,t._userOptions=null,t._canvas=null,n("_canvasClipRect"),n("_panesBackgroundGroup"),n("_titleGroup"),n("_scrollBarGroup"),n("_legendGroup"),n("_stripsGroup"),n("_constantLinesGroup"),n("_axesGroup"),n("_gridGroup"),n("_labelAxesGroup"),n("_panesBorderGroup"),n("_seriesGroup"),n("_labelsGroup"),n("_crosshairCursorGroup")},_getAnimationOptions:function(){return n.extend({},p,this._themeManager.getOptions("animation"))},_getDefaultSize:function(){return{width:400,height:400}},_getOption:function(n){return this._themeManager.getOptions(n)},_reinitDataSource:function(){this._refreshDataSource()},_applySize:n.noop,_resize:function(){this._updateLockCount?this._processRefreshData("_resize"):this._render(this.__renderOptions||{animate:!1,isResize:!0,updateTracker:!1})},_createTracker:function(){var n=this,t=n._themeManager;n.tracker&&n.tracker.dispose(),n.tracker=u.factory.createTracker({seriesSelectionMode:t.getOptions("seriesSelectionMode"),pointSelectionMode:t.getOptions("pointSelectionMode"),seriesGroup:n._seriesGroup,renderer:n._renderer,tooltip:n._tooltip,eventTrigger:n._eventTrigger},n.NAME)},_getTrackerSettings:function(){var t=this;return{series:t.series,legend:t.legend,legendCallback:n.proxy(t.legend.getActionCallback,t.legend)}},_updateTracker:function(){this.tracker.update(this._getTrackerSettings())},_render:function(t){var i=this,r,f;i._initialized&&i._canvas&&(i._resetIsReady(),r=i._prepareDrawOptions(t),clearTimeout(i._delayedRedraw),f=i._canvas,i._canvas=n.extend({},i._canvas),r.recreateCanvas?i.__currentCanvas=i._canvas:i._canvas=i.__currentCanvas,r.recreateCanvas&&(i._reappendLoadingIndicator(),i._updateCanvasClipRect()),i._renderer.stopAllAnimations(!0),u._setCanvasValues(i._canvas),i._cleanGroups(r),i._renderElements(r),i._canvas=f)},_renderElements:function(t){function y(){r._renderSeries(t,u,o)}var r=this,e=r._prepareToRender(t),u=r._isRotated(),o=r._isLegendInside(),l=[],a=r._getLayoutTargets(),v=n.extend({},r._canvas),f,s,h,c;t.isResize||r._scheduleLoadingIndicatorHiding(),r._renderTitleAndLegend(t,o),r._renderAxes(t,e,u),t.drawTitle&&t.drawLegend&&t.adjustAxes&&r.layoutManager.needMoreSpaceForPanesCanvas(r._getLayoutTargets(),u)&&(r.layoutManager.updateDrawnElements(r._getAxesForTransform(u),r._canvas,v,r._getLayoutTargets(),u),r.chartTitle&&r.layoutManager.correctSizeElement(r.chartTitle,r._canvas),r._updateCanvasClipRect(v),r._updateAxesLayout(t,e,u)),t.drawTitle&&t.drawLegend&&t.adjustAxes&&r.layoutManager.placeDrawnElements(r._canvas),r._applyClipRects(e),r._appendSeriesGroups(),r._createCrosshairCursor(),n.each(a,function(){var n=this.canvas;l.push({left:n.left,right:n.width-n.right,top:n.top,bottom:n.height-n.bottom})}),r._scrollBar&&(f=r.businessRanges[0].arg,f.categories&&f.categories.length<=1?s=h=i:(s=f.minVisible,h=f.maxVisible),r._scrollBar.init(f,a[0].canvas).setPosition(s,h)),t.updateTracker&&r._updateTracker(),r.tracker.setCanvases({left:0,right:r._canvas.width,top:0,bottom:r._canvas.height},l),r._updateLegendPosition(t,o),c=r._getSeriesRenderTimeout(t),c>=0?r._delayedRedraw=setTimeout(y,c):y()},_createCrosshairCursor:n.noop,_appendSeriesGroups:function(){var n=this,t=n._renderer.root;n._seriesGroup.append(t),n._labelsGroup.append(t),n._appendAdditionalSeriesGroups()},_renderSeries:function(n,t,i){var r=this,u=r._themeManager,f=u.getOptions("resolveLabelOverlapping");n.hideLayoutLabels=r.layoutManager.needMoreSpaceForPanesCanvas(r._getLayoutTargets(),r._isRotated())&&!u.getOptions("adaptiveLayout").keepLabels,r._drawSeries(n,t),f!=="none"&&r._resolveLabelOverlapping(f),r._adjustSeries(),r._renderTrackers(i),r._dataSource&&r._dataSource.isLoaded()&&r._fulfillLoadingIndicatorHiding(),r.tracker.repairTooltip(),r._drawn(),r._renderCompleteHandler()},_getAnimateOption:function(n,t){return t.animate&&n.getPoints().length<=t.animationPointsLimit&&this._renderer.animationEnabled()},_resolveLabelOverlapping:function(t){var i;switch(t){case"stack":i=this._resolveLabelOverlappingStack;break;case"hide":i=this._resolveLabelOverlappingHide;break;case"shift":i=this._resolveLabelOverlappingShift}n.isFunction(i)&&i.call(this)},_getVisibleSeries:function(){return n.grep(this.getAllSeries(),function(n){return n.isVisible()})},_resolveLabelOverlappingHide:function(){for(var i=n.map(this._getVisibleSeries(),function(t){return n.map(t.getVisiblePoints(),function(n){return n.getLabel()})}),u,f,e,o,r,t=0;t<i.length;t++)if(u=i[t],e=u.getBoundingRect(),u.isVisible())for(r=t+1;r<i.length;r++)f=i[r],o=f.getBoundingRect(),ut(e,o)&&f.hide()},_cleanGroups:function(n){var t=this;t._stripsGroup.remove(),t._constantLinesGroup.remove(),t._axesGroup.remove(),t._gridGroup.remove(),t._labelAxesGroup.remove(),t._labelsGroup.remove(),t._crosshairCursorGroup.remove(),(!n||n.drawLegend)&&t._legendGroup.remove().clear(),(!n||n.drawTitle)&&t._titleGroup.remove().clear(),t._stripsGroup.clear(),t._constantLinesGroup.clear(),t._axesGroup.clear(),t._gridGroup.clear(),t._labelAxesGroup.clear(),t._labelsGroup.clear(),t._crosshairCursorGroup.clear()},_drawTitle:function(){var n=this,t=n._themeManager.getOptions("title"),i=n._canvas.width-n._canvas.left-n._canvas.right;t._incidentOccured=n._incidentOccured,n.chartTitle?n.chartTitle.update(t,i):n.chartTitle=u.factory.createTitle(n._renderer,t,n._titleGroup)},_createLegend:function(){var n=rt(this._legendDataField);this.legend=e.CoreFactory.createLegend({renderer:this._renderer,group:this._legendGroup,backgroundClass:"dxc-border",itemGroupClass:"dxc-item",textField:n.textField,getFormatObject:n.getFormatObject})},_updateLegend:function(){var n=this,i=n._themeManager,t=i.getOptions("legend"),r=n._getLegendData();t.containerBackgroundColor=i.getOptions("containerBackgroundColor"),t._incidentOccured=n._incidentOccured,n.legend.update(r,t)},_prepareDrawOptions:function(t){var r=this._getAnimationOptions(),i;return i=n.extend({},{force:!1,adjustAxes:!0,drawLegend:!0,drawTitle:!0,adjustSeriesLabels:!0,animate:r.enabled,animationPointsLimit:r.maxPointCountSupported,asyncSeriesRendering:r.asyncSeriesRendering,updateTracker:!0},t,this.__renderOptions),l(i.recreateCanvas)||(i.recreateCanvas=i.adjustAxes&&i.drawLegend&&i.drawTitle),i},_processRefreshData:function(t){var i=n.inArray(this._currentRefreshData,h),r=n.inArray(t,h);(!this._currentRefreshData||i>=0&&r<i)&&(this._currentRefreshData=t)},_getLegendData:function(){var n=this;return v(this._getLegendTargets(),function(t){var i=t.getLegendStyles(),u,r=i.normal.opacity;return t.isVisible()||((!l(r)||r>o)&&(r=o),u=o),{text:t[n._legendItemTextField],id:t.index,textOpacity:u,states:{hover:i.hover,selection:i.selection,normal:y({},i.normal,{opacity:r})}}})},_seriesVisibilityChanged:function(){this._specialProcessSeries(),this._populateBusinessRange(),this._renderer.stopAllAnimations(!0),this._updateLegend(),this._render({force:!0,asyncSeriesRendering:!1,updateTracker:!1})},_disposeSeries:function(){var t=this;n.each(t.series||[],function(n,t){t.dispose()}),t.series=null,n.each(t.seriesFamilies||[],function(n,t){t.dispose()}),t.seriesFamilies=null,t._needHandleRenderComplete=!0},_optionChanged:function(n){var t=this,r=t._themeManager,i=n.name;if(r.resetOptions(i),r.update(t._options),t._scheduleLoadingIndicatorHiding(),i==="animation"){t._renderer.updateAnimationOptions(t._getAnimationOptions());return}switch(i){case"size":case"margin":t._invalidate();break;case"dataSource":t._needHandleRenderComplete=!0,t._processRefreshData("_reinitDataSource");break;case"palette":r.updatePalette(t.option(i)),t._refreshSeries("_dataInit");break;case"series":case"commonSeriesSettings":case"containerBackgroundColor":case"dataPrepareSettings":t._refreshSeries("_dataInit");break;case"legend":case"seriesTemplate":t._processRefreshData("_dataInit");break;case"title":t._processRefreshData("force_render");break;case"valueAxis":case"argumentAxis":case"commonAxisSettings":case"panes":case"defaultPane":t._refreshSeries("reinit"),t.paneAxis={};break;case"rotated":t._createScrollBar(),t._refreshSeries("reinit");break;case"customizePoint":case"customizeLabel":t._refreshSeries("reinit");break;case"scrollBar":t._createScrollBar(),t._processRefreshData("force_render");break;case"tooltip":t._organizeStackPoints();break;default:t._processRefreshData("reinit")}t.callBase.apply(t,arguments)},_handleThemeOptionsCore:function(){var n=this;n._initialized&&(n._scheduleLoadingIndicatorHiding(),n._refreshSeries("reinit"),n.beginUpdate(),n._invalidate(),n.endUpdate())},_refreshSeries:function(n){this._disposeSeries(),this._processRefreshData(n)},_refresh:function(){var n=this;if(n._renderer.stopAllAnimations(!0),n._currentRefreshData){switch(n._currentRefreshData){case"force_render":n._render({force:!0});break;case"reinit":n._reinit(!0);break;default:n[n._currentRefreshData]&&n[n._currentRefreshData]()}delete n._currentRefreshData}else n._render({force:!0})},_dataSourceOptions:function(){return{paginate:!1}},_updateCanvasClipRect:function(n){var t=this,i,r;n=n||t._canvas,i=Math.max(n.width-n.left-n.right,0),r=Math.max(n.height-n.top-n.bottom,0),t._canvasClipRect.attr({x:n.left,y:n.top,width:i,height:r}),t._backgroundRect.attr({x:n.left,y:n.top,width:i,height:r}).append(t._renderer.root).toBackground()},_getCanvasClipRectID:function(){return this._canvasClipRect.id},_dataSourceChangedHandler:function(){this._resetZoom(),this._scheduleLoadingIndicatorHiding(),this._dataInit()},_dataInit:function(){clearTimeout(this._delayedRedraw),this._dataSpecificInit(!0)},_dataSpecificInit:function(n){this.series=this.series||this._populateSeries(),this._repopulateSeries(),this._seriesPopulatedHandler(n)},_seriesPopulatedHandler:function(n){var t=this;t._seriesPopulatedHandlerCore(),t._populateBusinessRange(),t._updateLegend(),n&&t._endLoading(function(){t._render({force:!0})})},_repopulateSeries:function(){var i=this,f,r=i._themeManager,u=i._dataSource&&i._dataSource.items(),o=r.getOptions("dataPrepareSettings"),e=r.getOptions("seriesTemplate");i._dataSource&&e&&(i._templatedSeries=s.processSeriesTemplate(e,i._dataSource.items()),i._populateSeries(),delete i._templatedSeries,u=i.teamplateData||u),i._groupSeries(),i._dataValidator=t.viz.core.CoreFactory.createDataValidator(u,i._groupedSeries,i._incidentOccured,o),f=i._dataValidator.validate(),r.resetPalette(),n.each(i.series,function(n,t){t.updateData(f),i._processSingleSeries(t)}),i._organizeStackPoints()},_organizeStackPoints:function(){var t=this,i=t._themeManager,r=i.getOptions("tooltip").shared,u={};n.each(t.series||[],function(n,i){t._resetStackPoints(i),r&&t._prepareStackPoints(i,u,!0)})},_renderCompleteHandler:function(){var t=this,i=!0;t._needHandleRenderComplete&&(n.each(t.series,function(n,t){i=i&&t.canRenderCompleteHandle()}),i&&(t._needHandleRenderComplete=!1,t._eventTrigger("done",{target:t})))},_renderTitleAndLegend:function(n,t){var i=this,f=i._themeManager.getOptions("title"),u=f.text&&n.drawTitle,e=n.drawLegend&&i.legend&&!t,r=[];u&&(i._titleGroup.append(i._renderer.root),i._drawTitle(),r.push(i.chartTitle)),e&&(i._legendGroup.append(i._renderer.root),r.push(i.legend)),r.length&&i.layoutManager.drawElements(r,i._canvas),u&&i.layoutManager.correctSizeElement(i.chartTitle,i._canvas)},_prepareStackPoints:n.noop,_resetStackPoints:n.noop,_resetZoom:n.noop,_dataIsReady:function(){return this._isDataSourceReady()},getAllSeries:function(){return this.series.slice()},getSeriesByName:function(t){var i=null;return n.each(this.series,function(n,r){if(r.name===t)return i=r,!1}),i},getSeriesByPos:function(n){return this.series[n]},clearSelection:function(){this.tracker.clearSelection()},hideTooltip:function(){this.tracker._hideTooltip()},render:function(n){var t=this;return t.__renderOptions=n,t.__forceRender=n&&n.force,t.callBase.apply(t,arguments),t.__renderOptions=t.__forceRender=null,t},getSize:function(){var n=this._canvas||{};return{width:n.width,height:n.height}}}).include(f.DataHelperMixin)}(jQuery,DevExpress),function(n,t,i){function v(n){return l(n)?n.length===0?[{}]:n:[n]}function p(n){for(var i={},r=n.length,t=0;t<r;t++)i[n[t]]=!0;return a(i,function(n,t){return t})}function w(n,t,i,r){n.minVal=t.min,n.maxVal=t.max,i&&!n.adjustOnZoom&&(n.minVal=h(n.minVal)?n.minVal:r.val.min,n.maxVal=h(n.maxVal)?n.maxVal:r.val.max)}function b(n,t,i){r(n,function(n,u){r(i.getTeamplatedFields(),function(n,t){u[t.teamplateField]=u[t.originalField]}),t.push(u)}),i.updateTeamplateFieldNames()}var c=t.viz.charts,e=t.utils,s=t.viz.core,y="defaultAxisName",l=e.isArray,h=e.isDefined,r=n.each,o=n.extend,a=n.map,u="min",f="max";c.AdvancedChart=c.BaseChart.inherit({_dispose:function(){var n=this,t=this._disposeObjectsInArray;n.callBase(),n.panes=null,n.legend&&(n.legend.dispose(),n.legend=null),t.call(n,"panesBackground"),t.call(n,"seriesFamilies"),n._disposeAxes()},_reinitAxes:function(){this.translators={},this.panes=this._createPanes(),this._populateAxes()},_populateSeries:function(){var t=this,r=t._themeManager,c=!!r.getOptions("seriesTemplate"),e=c?t._templatedSeries:t.option("series"),a=l(e)?e:e?[e]:[],v,y=t._getExtraOptions(),i,u,p=t._isRotated(),f,h;for(t.teamplateData=[],t._disposeSeries(),t.series=[],r.resetPalette(),f=0;f<a.length;f++)(i=o(!0,{},a[f],y),v=i.data,i.data=null,i.rotated=p,i.customizePoint=r.getOptions("customizePoint"),i.customizeLabel=r.getOptions("customizeLabel"),i.visibilityChanged=n.proxy(t._seriesVisibilityChanged,t),i.resolveLabelsOverlapping=r.getOptions("resolveLabelsOverlapping"),i.incidentOccured=t._incidentOccured,i.name||(i.name="Series "+(f+1).toString()),h=r.getOptions("series",i),t._checkPaneName(h))&&(u=s.CoreFactory.createSeries({renderer:t._renderer,seriesGroup:t._seriesGroup,labelsGroup:t._labelsGroup},h),u.isUpdated?(u.index=t.series.length,t.series.push(u),c&&b(v,t.teamplateData,u)):t._incidentOccured("E2101",[h.type]));return t.series},_populateAxes:function(){function it(){return y+tt++}var t=this,h=[],c,u=t.panes,f=t._isRotated(),d=t.option("valueAxis")||{},g=t.option("argumentAxis")||{},e=v(g)[0],nt=v(d),l=[],tt=0,o,s=t._getOption("crosshair")||{},w=s.enabled,b=w&&s.horizontalLine.visible,k=w&&s.verticalLine.visible;t._disposeAxes(),o=f?e.position==="right"?u[u.length-1].name:u[0].name:e.position==="top"?u[0].name:u[u.length-1].name,c=a(u,function(n){return t._createAxis("argumentAxis",e,{virtual:n.name!==o,pane:n.name,crosshairEnabled:f?b:k},f)}),r(nt,function(u,e){var o=[],s=e.name;if(s&&n.inArray(s,l)!==-1){t._incidentOccured("E2102");return}s&&l.push(s),e.pane&&o.push(e.pane),e.panes&&e.panes.length&&(o=o.concat(e.panes.slice(0))),o=p(o),o.length||o.push(i),r(o,function(n,i){h.push(t._createAxis("valueAxis",e,{name:s||it(),pane:i,priority:u,crosshairEnabled:f?k:b},f))})}),t._valueAxes=h,t._argumentAxes=c},_prepareStackPoints:function(n,t,i){var f=n.getPoints(),u=n.getStackName();r(f,function(n,f){var e=f.argument;t[e]||(t[e]={},t[e][null]=[]),u&&!l(t[e][u])&&(t[e][u]=[],r(t[e][null],function(n,i){i.stackName||t[e][u].push(i)})),u?(t[e][u].push(f),t[e][null].push(f)):r(t[e],function(n,t){t.push(f)}),i&&(f.stackPoints=t[e][u],f.stackName=u)})},_resetStackPoints:function(n){r(n.getPoints(),function(n,t){t.stackPoints=null,t.stackName=null})},_disposeAxes:function(){var n=this._disposeObjectsInArray;n.call(this,"_argumentAxes"),n.call(this,"_valueAxes")},_drawAxes:function(n,t,i){var u=this,f=function(n){r(n,function(n,t){t.draw(i)})},e=function(t){r(t,function(t,i){i.drawGrids(n[i.pane])})};u._reinitTranslators(),u._prepareAxesAndDraw(f,e,t)},_appendAdditionalSeriesGroups:function(){var n=this,t=n._renderer.root;n._crosshairCursorGroup.append(t),n._legendGroup.append(t),n._scrollBar&&n._scrollBarGroup.append(t)},_getLegendTargets:function(){return a(this.series,function(n){if(n.getOptions().showInLegend)return n})},_legendItemTextField:"name",_seriesPopulatedHandlerCore:function(){this._processSeriesFamilies(),this._processValueAxisFormat()},_renderTrackers:function(){for(var t=this,n=0;n<t.series.length;++n)t.series[n].drawTrackers()},_specialProcessSeries:function(){this._processSeriesFamilies()},_processSeriesFamilies:function(){var t=this,u=[],f=[],e,o=t._themeManager,i={equalBarWidth:t._getEqualBarWidth(),minBubbleSize:o.getOptions("minBubbleSize"),maxBubbleSize:o.getOptions("maxBubbleSize")};if(t.seriesFamilies&&t.seriesFamilies.length){r(t.seriesFamilies,function(n,t){t.updateOptions(i),t.adjustSeriesValues()});return}r(t.series,function(t,i){n.inArray(i.type,u)===-1&&u.push(i.type)}),r(t._getLayoutTargets(),function(n,o){e=t._getSeriesForPane(o.name),r(u,function(n,t){var r=s.CoreFactory.createSeriesFamily({type:t,pane:o.name,equalBarWidth:i.equalBarWidth,minBubbleSize:i.minBubbleSize,maxBubbleSize:i.maxBubbleSize});r.add(e),r.adjustSeriesValues(),f.push(r)})}),t.seriesFamilies=f},_appendAxesGroups:function(){var n=this,t=n._renderer.root;n._stripsGroup.append(t),n._gridGroup.append(t),n._axesGroup.append(t),n._constantLinesGroup.append(t),n._labelAxesGroup.append(t)},_updateAxesLayout:function(n,t,i){this.layoutManager.updatePanesCanvases(this._getLayoutTargets(),this._canvas,i),this._drawAxes(t,n,!0)},_populateBusinessRange:function(n){var u=this,o=[],l=u._themeManager,h=u._isRotated(),a=l.getOptions("useAggregation"),f=u._argumentAxes,c=f[f.length-1],v=c.calcInterval,t=new s.Range({rotated:!!h}),e;u._disposeObjectsInArray("businessRanges",["arg","val"]),r(f,function(n,i){t.addRange(i.getRangeData())}),r(u._groupedSeries,function(u,f){var e=new s.Range({rotated:!!h,isValueRange:!0,pane:f.valueAxis.pane,axis:f.valueAxis.name}),c=f.valueAxis.getRangeData();e.addRange(c),r(f,function(i,r){n&&w(n,c,a,r._originalBusinessRange);var u=r.getRangeData(n,v);e.addRange(u.val),t.addRange(u.arg)}),e.isDefined()||e.setStubData(f.valueAxis.getOptions().valueType==="datetime"?"datetime":i),f.valueAxis.getOptions().showZero&&e.correctValueZeroLevel(),e.checkZeroStick(),o.push({val:e,arg:t})}),t.isDefined()||t.setStubData(f[0].getOptions().argumentType),n&&n.notApplyMargins&&t.axisType!=="discrete"&&(e=f[0].getTranslator().getBusinessRange(),t.addRange({min:e.min,max:e.max,stick:!0})),u._correctBusinessRange(t,c),u.businessRanges=o},_correctBusinessRange:function(t,i){var c=i.getOptions().setTicksAtUnitBeginning,o={},r=i.getOptions().tickInterval,s=r;r=n.isNumeric(r)?r:e.dateToMilliseconds(r),r&&h(t[u])&&h(t[f])&&r>=Math.abs(t[f]-t[u])&&(e.isDate(t[u])?(n.isNumeric(s)?(o[u]=new Date(t[u].valueOf()-r),o[f]=new Date(t[f].valueOf()+r)):(o[u]=e.addInterval(t[u],s,!0),o[f]=e.addInterval(t[f],s,!1)),c&&(e.correctDateWithUnitBeginning(o[f],s),e.correctDateWithUnitBeginning(o[u],s))):(o[u]=t[u]-r,o[f]=t[f]+r),t.addRange(o))},_getArgumentAxes:function(){return this._argumentAxes},_getValueAxes:function(){return this._valueAxes},_processValueAxisFormat:function(){var i=this,u=i._valueAxes,t=[];r(i.series,function(){this.isFullStackedSeries()&&n.inArray(this.axis,t)===-1&&t.push(this.axis)}),r(u,function(){n.inArray(this.name,t)!==-1?this.setPercentLabelFormat():this.resetAutoLabelFormat()})},_createAxis:function(n,t,i,r){var u=this,e=o({renderer:u._renderer,incidentOccured:u._incidentOccured,axisClass:n==="argumentAxis"?"arg":"val",stripsGroup:u._stripsGroup,labelAxesGroup:u._labelAxesGroup,constantLinesGroup:u._constantLinesGroup,axesContainerGroup:u._axesGroup,gridGroup:u._gridGroup},u._getAxisRenderingOptions(n,t,r)),f;return t=u._prepareStripsAndConstantLines(n,t,r),f=new c.axes.Axis(e),f.updateOptions(o(!0,{},t,i,u._prepareAxisOptions(n,t))),f},_getTrackerSettings:function(){return o(this.callBase(),{argumentAxis:this._argumentAxes})},_prepareStripsAndConstantLines:function(n,t,i){return t=this._themeManager.getOptions(n,t,i),t.strips&&r(t.strips,function(n){t.strips[n]=o(!0,{},t.stripStyle,t.strips[n])}),t.constantLines&&r(t.constantLines,function(n,i){t.constantLines[n]=o(!0,{},t.constantLineStyle,i)}),t},_legendDataField:"series",_adjustSeries:n.noop})}(jQuery,DevExpress),function(n,t,i){function d(n,t){for(var r,i=0;i<n.length;i++)if(n[i].pane===t){r=n[i].name;break}return r||(r=n[0].name),r}function g(n,t,i){var f=[],u;r(n,function(n,i){i.pane===t&&f.push(i)}),f.length>1&&i&&r(f,function(n,t){var i=t.getOptions().grid,r=t.getOptions().minorGrid;u&&i&&i.visible?(i.visible=!1,r&&(r.visible=!1)):u=u?u:i&&i.visible})}function nt(n,t){var i;return r(n,function(n,u){r(u,function(r){if(t===r)return i=n,!1})}),i}function tt(n,t,i){for(var u,r=0;r<t.length;r++)if(t[r].name===i){u=t[r],u.priority=r;break}if(!u)for(r=0;r<n.length;r++)if(n[r].name===i){u=n[r].getOptions(),u.priority=n[r].priority;break}return u}function y(n,t,i){for(var r,u=0;u<i.length;u++)if(r=i[u],r.name===t&&r.pane===n)return r}function it(n,t,i,u,f){var y=~~((i<u?i:u)/2),p=f.width||0,s=p<y?p:y;n=n+s/2,t=t+s/2,i=i-s,u=u-s;var h=n+i,c=t+u,o=[],e=[],l,a=0,v=0,w={top:[[n,t],[h,t]],right:[[h,t],[h,c]],bottom:[[h,c],[n,c]],left:[[n,c],[n,t]]};r(w,function(n){var t=!!f[n];a=a*2+~~t});switch(a){case 13:case 9:l=["left","top","right","bottom"];break;case 11:l=["bottom","left","top","right"];break;default:l=["top","right","bottom","left"]}return r(l,function(n,t){var i=!!f[t];!v&&e.length&&(o.push(e),e=[]),i&&r(w[t].slice(v),function(n,t){e=e.concat(t)}),v=~~i}),e.length&&o.push(e),o.length===1&&(o=o[0]),{points:o,pathType:a===15?"area":"line"}}function s(n,t){r(n||[],function(n,i){i&&i.attr(t)})}function p(n){r(n,function(n,t){r(t,function(n,t){t.arg.reinit(),t.val.reinit()})})}var h=t.viz,e=h.core,f=h.charts,a=t.utils,w=5,c="default",b=25,k=[{name:c,border:{}}],v=n.map,r=n.each,o=n.extend,l=a.isArray,u=a.isDefined;t.registerComponent("dxChart",h.charts,f.AdvancedChart.inherit({_chartType:"chart",_setDefaultOptions:function(){this.callBase(),this.option({defaultPane:c})},_initCore:function(){this.paneAxis={},this._panesClipRects={},this.callBase()},_disposeCore:function(){var n=this,t=this._disposeObjectsInArray,i=n._panesClipRects;n.callBase(),t.call(i,"fixed"),t.call(i,"base"),t.call(i,"wide"),n._panesClipRects=null},_correctAxes:function(){this.series&&this._correctValueAxes()},_getExtraOptions:n.noop,_processSingleSeries:n.noop,_groupSeries:function(){var t=this,o=t.panes,u=t._valueAxes,s=v(o,function(n){return n.name}),e=t.series,i=t.paneAxis,h=t._themeManager.getOptions("synchronizeMultiAxes"),f=t._groupedSeries=[];r(e,function(n,t){t.axis=t.axis||d(u,t.pane),t.axis&&(i[t.pane]=i[t.pane]||{},i[t.pane][t.axis]=!0)}),r(u,function(t,r){r.name&&r.pane&&n.inArray(r.pane,s)!==-1&&(i[r.pane]=i[r.pane]||{},i[r.pane][r.name]=!0)}),t._correctValueAxes(),r(i,function(n,t){g(u,n,h),r(t,function(t){var i=[];r(e,function(r,u){u.pane===n&&u.axis===t&&i.push(u)}),f.push(i),i.valueAxis=y(n,t,u),i.valueOptions=i.valueAxis.getOptions()})}),f.argumentAxes=t._argumentAxes,f.argumentOptions=f.argumentAxes[0].getOptions()},_cleanPanesClipRects:function(n){var t=this,i=t._panesClipRects[n];r(i||[],function(n,t){t&&t.dispose()}),t._panesClipRects[n]=[]},_createPanes:function(){var i=this,t=i.option("panes"),e=0,f;return(t&&l(t)&&!t.length||n.isEmptyObject(t))&&(t=k),i._cleanPanesClipRects("fixed"),i._cleanPanesClipRects("base"),i._cleanPanesClipRects("wide"),i.defaultPane=i.option("defaultPane"),t=o(!0,[],l(t)?t:t?[t]:[]),r(t,function(n,t){t.name=u(t.name)?t.name:c+e++}),!i._doesPaneExists(t,i.defaultPane)&&t.length>0&&(f=t[t.length-1].name,i._incidentOccured("W2101",[i.defaultPane,f]),i.defaultPane=f),t=i._isRotated()?t.reverse():t},_doesPaneExists:function(n,t){var i=!1;return r(n,function(n,r){if(r.name===t)return i=!0,!1}),i},_getAxisRenderingOptions:function(n,t,i){return{axesType:"xyAxes",drawingType:"linear",isHorizontal:n==="argumentAxis"?!i:i}},_prepareAxisOptions:n.noop,_checkPaneName:function(t){var i=v(this.panes,function(n){return n.name});return t.pane=t.pane||this.defaultPane,n.inArray(t.pane,i)!==-1},_correctValueAxes:function(){var t=this,h=t._isRotated(),o=t.option("valueAxis")||{},c=l(o)?o:[o],i=t._valueAxes||[],a=i[0].name,u=t.paneAxis||{},e=t.panes,f,s={};for(r(i,function(n,i){if(!i.pane){var r=nt(t.paneAxis,i.name);r||(r=t.defaultPane,u[r]=u[r]||{},u[r][i.name]=!0),i.setPane(r)}}),f=0;f<e.length;f++)u[e[f].name]||(u[e[f].name]={},u[e[f].name][a]=!0);r(t.paneAxis,function(n,u){r(u,function(r){if(s[r+"-"+n]=!0,!y(n,r,i)){var u=tt(i,c,r);u||(t._incidentOccured("W2102",[r]),u={name:r,priority:i.length}),i.push(t._createAxis("valueAxis",u,{pane:n,name:r},h))}})}),i=n.grep(i,function(n){return!!s[n.name+"-"+n.pane]}),i.sort(function(n,t){return n.priority-t.priority}),t._valueAxes=i},_getSeriesForPane:function(n){var t=[];return r(this.series,function(i,r){r.pane===n&&t.push(r)}),t},_createTranslator:function(n,t,i){return e.CoreFactory.createTranslator2D(n,t,i)},_createPanesBorderOptions:function(){var t=this._themeManager.getOptions("commonPaneSettings").border,n={};return r(this.panes,function(i,r){n[r.name]=o(!0,{},t,r.border)}),n},_createScrollBar:function(){var n=this,t=n._themeManager.getOptions("scrollBar")||{},i=n._scrollBarGroup;t.visible?(t.rotated=n._isRotated(),n._scrollBar=(n._scrollBar||f.factory.createScrollBar(n._renderer,i)).update(t)):(i.remove(),n._scrollBar&&n._scrollBar.dispose(),n._scrollBar=null)},_prepareToRender:function(n){var t=this,i=t._createPanesBorderOptions();return t._createPanesBackground(),t._appendAxesGroups(),t._transformed&&t._resetTransform(),t._createTranslators(n),t._options.useAggregation&&r(t.series,function(n,i){i._originalBusinessRange=i._originalBusinessRange||i.getRangeData(),i.resamplePoints(t._getTranslator(i.pane,i.axis).arg,t._zoomMinArg,t._zoomMaxArg)}),(u(t._zoomMinArg)||u(t._zoomMaxArg))&&t._populateBusinessRange({adjustOnZoom:t._themeManager.getOptions("adjustOnZoom"),minArg:t._zoomMinArg,maxArg:t._zoomMaxArg,notApplyMargins:t._notApplyMargins}),(t._options.useAggregation||u(t._zoomMinArg)||u(t._zoomMaxArg))&&t._updateTranslators(),i},_isLegendInside:function(){return this.legend&&this.legend.getPosition()==="inside"},_renderAxes:function(n,t,i){n&&n.recreateCanvas&&this.layoutManager.updatePanesCanvases(this.panes,this._canvas,i),this._drawAxes(t,n)},_isRotated:function(){return this._themeManager.getOptions("rotated")},_getLayoutTargets:function(){return this.panes},_applyClipRects:function(n){var t=this,r=t._getCanvasClipRectID(),i;for(t._drawPanesBorders(n),t._createClipRectsForPanes(),i=0;i<t._argumentAxes.length;i++)t._argumentAxes[i].applyClipRects(t._getElementsClipRectID(t._argumentAxes[i].pane),r);for(i=0;i<t._valueAxes.length;i++)t._valueAxes[i].applyClipRects(t._getElementsClipRectID(t._valueAxes[i].pane),r);t._fillPanesBackground()},_getSeriesRenderTimeout:function(n){return n.asyncSeriesRendering?b:i},_updateLegendPosition:function(n,t){var i=this;if(n.drawLegend&&i.legend&&t){var r=i.panes,u=o({},r[0].canvas),e=f.factory.createChartLayoutManager();u.right=r[r.length-1].canvas.right,u.bottom=r[r.length-1].canvas.bottom,i._legendGroup.append(i._renderer.root),e.drawElements([i.legend],u),e.placeDrawnElements(u)}},_drawSeries:function(n,t){var i=this;r(i.seriesFamilies||[],function(n,t){var r=i._getTranslator(t.pane)||{};t.updateSeriesValues(r),t.adjustSeriesDimensions(r)}),r(i.series,function(r,u){i._applyPaneClipRect(u),u.setAdjustSeriesLabels(n.adjustSeriesLabels);var e=i._getTranslator(u.pane,u.axis),f={};f[t?"x":"y"]=e.val,f[t?"y":"x"]=e.arg,u.draw(f,i._getAnimateOption(u,n),n.hideLayoutLabels,i.legend&&i.legend.getActionCallback(u))})},_applyPaneClipRect:function(n){var t=this,i=t._getPaneIndex(n.pane),r=t._panesClipRects,u=r.wide[i];n.setClippingParams(r.base[i].id,u&&u.id,t._getPaneBorderVisibility(i))},_createTranslators:function(n){var t=this,u=t._isRotated(),i;n.recreateCanvas&&(t.translators=i={},t.layoutManager.updatePanesCanvases(t.panes,t._canvas,u),r(t.paneAxis,function(n,f){i[n]=i[n]||{},r(f,function(r){var f=t._createTranslator(new e.Range(t._getBusinessRange(n,r).val),t._getCanvasForPane(n),u?{direction:"horizontal"}:{});f.pane=n,f.axis=r,i[n][r]={val:f}})}),r(t._argumentAxes,function(n,f){var o=t._createTranslator(new e.Range(t._getBusinessRange(f.pane).arg),t._getCanvasForPane(f.pane),u?{}:{direction:"horizontal"});r(i[f.pane],function(n,t){t.arg=o})}))},_updateTranslators:function(){var n=this;r(n.translators,function(t,i){r(i,function(i,r){r.arg.updateBusinessRange(new e.Range(n._getBusinessRange(t).arg)),delete r.arg._originalBusinessRange,r.val.updateBusinessRange(new e.Range(n._getBusinessRange(t,i).val)),delete r.val._originalBusinessRange})})},_getAxesForTransform:function(n){return{verticalAxes:n?this._getArgumentAxes():this._getValueAxes(),horizontalAxes:n?this._getValueAxes():this._getArgumentAxes()}},_reinitTranslators:function(){var n=this;r(n._argumentAxes,function(t,i){var r=n._getTranslator(i.pane);r&&(r.arg.reinit(),i.setTranslator(r.arg,r.val))}),r(n._valueAxes,function(t,i){var r=n._getTranslator(i.pane,i.name);r&&(r.val.reinit(),i.setTranslator(r.val,r.arg))})},_prepareAxesAndDraw:function(n,t,i){var r=this,u=0,e=r.layoutManager,o=r._isRotated(),s=0,y=r._themeManager.getOptions("synchronizeMultiAxes"),h=r._getLayoutTargets(),c=o?r._argumentAxes:r._valueAxes,l=o?r._valueAxes:r._argumentAxes,a=l,v=c;r._scrollBar&&(r._scrollBar.setPane(h),o?v=[r._scrollBar].concat(v):a=a.concat([r._scrollBar]));do{for(u=0;u<r._argumentAxes.length;u++)r._argumentAxes[u].resetTicks();for(u=0;u<r._valueAxes.length;u++)r._valueAxes[u].resetTicks();y&&f.multiAxesSynchronizer.synchronize(r._valueAxes),n(l),e.requireAxesRedraw=!1,i.adjustAxes&&(e.applyHorizontalAxesLayout(a,h,o),e.stopDrawAxes||p(r.translators)),n(c),i.adjustAxes&&!e.stopDrawAxes&&(e.applyVerticalAxesLayout(v,h,o),e.stopDrawAxes||p(r.translators)),s=s+1}while(!e.stopDrawAxes&&e.requireAxesRedraw&&s<w);t(c),t(l),r._scrollBar&&r._scrollBar.applyLayout()},_getPanesParameters:function(){for(var t=this,i=t.panes,r=[],n=0;n<i.length;n++)t._getPaneBorderVisibility(n)&&r.push({coords:i[n].borderCoords,clipRect:t._panesClipRects.fixed[n]});return r},_createCrosshairCursor:function(){var n=this,t=n._themeManager.getOptions("crosshair")||{},r=n._isRotated()?[n._valueAxes,n._argumentAxes]:[n._argumentAxes,n._valueAxes],i={canvas:n._getCommonCanvas(),panes:n._getPanesParameters(),axes:r};t&&t.enabled&&(n._crosshair?n._crosshair.update(t,i):n._crosshair=f.factory.createCrosshair(n._renderer,t,i,n._crosshairCursorGroup),n._crosshair.render())},_getCommonCanvas:function(){for(var t,n,r=this.panes,i=0;i<r.length;i++)t=r[i].canvas,n?(n.right=t.right,n.bottom=t.bottom):n=o({},t);return n},_createPanesBackground:function(){var n=this,e=n._themeManager.getOptions("commonPaneSettings").backgroundColor,t,u=n._renderer,f,i,r=[];for(n._panesBackgroundGroup&&n._panesBackgroundGroup.clear(),i=0;i<n.panes.length;i++){if(t=n.panes[i].backgroundColor||e,!t||t==="none"){r.push(null);continue}f=u.rect(0,0,0,0).attr({fill:t,"stroke-width":0}).append(n._panesBackgroundGroup),r.push(f)}n.panesBackground=r,n._panesBackgroundGroup.append(u.root)},_fillPanesBackground:function(){var t=this,n;r(t.panes,function(i,r){n=r.borderCoords,t.panesBackground[i]!==null&&t.panesBackground[i].attr({x:n.left,y:n.top,width:n.width,height:n.height})})},_calcPaneBorderCoords:function(n){var i=n.canvas,t=n.borderCoords=n.borderCoords||{};t.left=i.left,t.top=i.top,t.right=i.width-i.right,t.bottom=i.height-i.bottom,t.width=Math.max(t.right-t.left,0),t.height=Math.max(t.bottom-t.top,0)},_drawPanesBorders:function(n){var t=this,i=t._isRotated();t._panesBorderGroup&&t._panesBorderGroup.remove().clear(),r(t.panes,function(r,u){var e,f=n[u.name],o,s={fill:"none",stroke:f.color,"stroke-opacity":f.opacity,"stroke-width":f.width,dashStyle:f.dashStyle,"stroke-linecap":"square"};(t._calcPaneBorderCoords(u,i),f.visible)&&(e=u.borderCoords,o=it(e.left,e.top,e.width,e.height,f),t._renderer.path(o.points,o.pathType).attr(s).append(t._panesBorderGroup))}),t._panesBorderGroup.append(t._renderer.root)},_createClipRect:function(n,t,i,r,u,f){var o=this,e=n[t];e?e.attr({x:i,y:r,width:u,height:f}):(e=o._renderer.clipRect(i,r,u,f),n[t]=e)},_createClipRectsForPanes:function(){var n=this,t=n._canvas;r(n.panes,function(i,u){var l=!1,f=u.borderCoords,e=f.left,o=f.top,s=f.width,h=f.height,c=n._panesClipRects;n._createClipRect(c.fixed,i,e,o,s,h),n._createClipRect(c.base,i,e,o,s,h),r(n.series,function(n,t){t.pane===u.name&&(t.isFinancialSeries()||t.areErrorBarsVisible())&&(l=!0)}),l?(n._isRotated()?(o=0,h=t.height):(e=0,s=t.width),n._createClipRect(c.wide,i,e,o,s,h)):c.wide.push(null)})},_getPaneIndex:function(n){var t;return r(this.panes,function(i,r){if(r.name===n)return t=i,!1}),t},_getPaneBorderVisibility:function(n){var i=this._themeManager.getOptions("commonPaneSettings").border.visible,r=this.panes[n]||{},t=r.border||{};return"visible"in t?t.visible:i},_getElementsClipRectID:function(n){return this._panesClipRects.fixed[this._getPaneIndex(n)].id},_getTranslator:function(n,t){var u=this.translators[n],i=null;return u?(i=u[t],i||r(u,function(n,t){return i=t,!1}),i):i},_getCanvasForPane:function(n){for(var i=this.panes,r=i.length,t=0;t<r;t++)if(i[t].name===n)return i[t].canvas},_getBusinessRange:function(n,t){for(var r=this.businessRanges||[],f=r.length,u,i=0;i<f;i++)if(r[i].val.pane===n&&r[i].val.axis===t){u=r[i];break}if(!u)for(i=0;i<f;i++)if(r[i].val.pane===n){u=r[i];break}return u},_transformArgument:function(n,t){var i=this,o=i._isRotated(),f,u,e=i._panesClipRects;i._transformed||(i._transformed=!0,i._labelsGroup.remove(),i._resetIsReady(),r(i.series||[],function(n,t){t.applyClip()})),o?(f={translateY:n,scaleY:t},u={translateY:-n/t,scaleY:1/t}):(f={translateX:n,scaleX:t},u={translateX:-n/t,scaleX:1/t}),s(e.base,u),s(e.wide,u),i._seriesGroup.attr(f),i._scrollBar&&i._scrollBar.transform(-n,t)},_resetTransform:function(){var n=this,t={translateX:0,translateY:0,scaleX:null,scaleY:null},i=n._panesClipRects;s(i.base,t),s(i.wide,t),n._seriesGroup.attr(t),r(n.series||[],function(n,t){t.resetClip()}),n._transformed=!1},_getTrackerSettings:function(){var n=this,t=n._themeManager;return o(this.callBase(),{chart:n,zoomingMode:t.getOptions("zoomingMode"),scrollingMode:t.getOptions("scrollingMode"),rotated:n._isRotated(),crosshair:n._crosshair})},_resolveLabelOverlappingStack:function(){var n=this,t={},i=n._isRotated(),u=i?function(n,t){return{x:n.x-t,y:n.y}}:function(n,t){return{x:n.x,y:n.y-t}};r(this._getVisibleSeries(),function(i,r){n._prepareStackPoints(r,t)}),r(t,function(t,e){r(e,function(t,r){f.overlapping.resolveLabelOverlappingInOneDirection(r,n._getCommonCanvas(),i,u)})})},_getEqualBarWidth:function(){return this._themeManager.getOptions("equalBarWidth")},zoomArgument:function(n,t,i){var r=this,f;(u(n)||u(t))&&(f=r._argumentAxes[0].zoom(n,t,i),r._zoomMinArg=f.min,r._zoomMaxArg=f.max,r._notApplyMargins=i,r._render({force:!0,drawTitle:!1,drawLegend:!1,adjustAxes:!1,animate:!1,adjustSeriesLabels:!1,asyncSeriesRendering:!1,updateTracker:!1}))},_resetZoom:function(){var n=this;n._zoomMinArg=n._zoomMaxArg=i,n._argumentAxes[0]&&n._argumentAxes[0].resetZoom()},getVisibleArgumentBounds:function(){var n=this._argumentAxes[0].getTranslator().getBusinessRange(),i=n.axisType==="discrete",t=n.categories;return{minVisible:i?n.minVisible||t[0]:n.minVisible,maxVisible:i?n.maxVisible||t[t.length-1]:n.maxVisible}}}))}(jQuery,DevExpress),function(n,t,i){var u=t.viz,f=u.core,e=u.charts,o=t.utils,s=n.extend,r=n.noop,h=t.viz.core.utils.getVerticallyShiftedAngularCoords;t.registerComponent("dxPieChart",u.charts,e.BaseChart.inherit({_chartType:"pie",_reinitAxes:r,_correctAxes:r,_layoutManagerOptions:function(){var n=this._themeManager.getOptions("diameter");return o.isNumber(n)?n>1?n=1:n<0&&(n=0):n=i,s(!0,{},this.callBase(),{piePercentage:n})},_groupSeries:function(){this.series.valueOptions={valueType:"numeric"},this._groupedSeries=[this.series],this._groupedSeries.argumentOptions=this.series[0]&&this.series[0].getOptions()},_populateBusinessRange:function(){var t=[],u=this.series,i=u[0],n=new f.Range,r;this._disposeObjectsInArray("businessRanges"),i&&(r=i.getRangeData(),n.addRange(r.val),n.isDefined()||n.setStubData(),t.push(n)),this.businessRanges=t},_specialProcessSeries:function(){this.series[0].arrangePoints()},_createTranslator:function(n){return f.CoreFactory.createTranslator1D(n.min,n.max,360,0)},_populateSeries:function(){var t=this,u=t._themeManager,a=!!u.getOptions("seriesTemplate"),e=a?t._templatedSeries:t.option("series"),c=n.isArray(e)?e:e?[e]:[],l,i,h,r;return t._disposeSeries(),t.series=[],u.resetPalette(),c.length&&(i=s(!0,{},c[0]),i.type&&!o.isString(i.type)&&(i.type=""),l=i.data,i.data=null,i.incidentOccured=t._incidentOccured,r=u.getOptions("series",i,!0),r.visibilityChanged=n.proxy(t._seriesVisibilityChanged,t),r.customizePoint=u.getOptions("customizePoint"),r.customizeLabel=u.getOptions("customizeLabel"),h=f.CoreFactory.createSeries({renderer:t._renderer,seriesGroup:t._seriesGroup,labelsGroup:t._labelsGroup},r),h.isUpdated?(t._processSingleSeries(h),t.series.push(h)):t._incidentOccured("E2101",[r.type]),i.data=l),t.series},_processSingleSeries:function(n){n.arrangePoints()},_seriesPopulatedHandlerCore:r,_getLegendTargets:function(){return this.series[0]?this.series[0].getPoints():[]},_legendItemTextField:"argument",_prepareToRender:r,_isLegendInside:r,_renderAxes:r,_isRotated:r,_getLayoutTargets:function(){return[{canvas:this._canvas}]},_getAxesForTransform:function(){return{verticalAxes:[],horizontalAxes:[]}},_updateAxesLayout:r,_applyClipRects:r,_appendAdditionalSeriesGroups:r,_getSeriesRenderTimeout:r,_drawSeries:function(t){var i=this,r=i.getSeries(),u=i.legend,f=n.proxy(u.getActionCallback,u);r&&(i.layoutManager.applyPieChartSeriesLayout(i._canvas,r,!0),r.canvas=i._canvas,r.resetLabelSetups(),r.drawLabelsWOPoints(i._createTranslator(i.businessRanges[0],i._canvas))&&i.layoutManager.applyPieChartSeriesLayout(i._canvas,r,t.hideLayoutLabels),r.draw(i._createTranslator(i.businessRanges[0],i._canvas),i._getAnimateOption(r,t),t.hideLayoutLabels,f))},_adjustSeries:function(){var n=this.getSeries();n&&n.adjustLabels()},_updateLegendPosition:r,_renderTrackers:r,_createScrollBar:r,_resolveLabelOverlappingShift:function(){function u(n,t){return h(n,-t,f)}var t=this.series[0],f=t.getCenter(),i=[],r=[];n.each(t.getVisiblePoints(),function(n,t){var u=o.normalizeAngle(t.middleAngle);(u<=90||u>=270?r:i).push(t)}),e.overlapping.resolveLabelOverlappingInOneDirection(i,this._canvas,!1,u),e.overlapping.resolveLabelOverlappingInOneDirection(r,this._canvas,!1,u)},getSeries:function(){return this.series&&this.series[0]},_legendDataField:"point"}))}(jQuery,DevExpress),function(n,t){var u=t.viz.charts,r=t.viz.core,f="default",e=u.AdvancedChart.inherit({_chartType:"polar",_createPanes:function(){return[{name:f}]},_checkPaneName:function(){return!0},_getAxisRenderingOptions:function(n){var i=n==="argumentAxis",t=i?"circular":"linear",r=this.option("useSpiderWeb");return r&&(t+="Spider"),{axesType:"polarAxes",drawingType:t,isHorizontal:!0}},_prepareAxisOptions:function(n,t){return{type:this.option("useSpiderWeb")&&n==="argumentAxis"?"discrete":t.type}},_getExtraOptions:function(){return{spiderWidget:this.option("useSpiderWeb")}},_correctAxes:n.noop,_groupSeries:function(){this._groupedSeries=[this.series],this._groupedSeries[0].valueAxis=this._valueAxes[0],this._groupedSeries[0].valueOptions=this._valueAxes[0].getOptions(),this._groupedSeries.argumentAxes=this._argumentAxes,this._groupedSeries.argumentOptions=this._argumentAxes[0].getOptions()},_processSingleSeries:n.noop,_prepareToRender:function(){return this._appendAxesGroups(),{}},_isLegendInside:n.noop,_renderAxes:function(n){this._drawAxes({},n)},_reinitTranslators:function(){var n=this,u=n._valueAxes,o=n._argumentAxes,i=n._createTranslator({arg:new r.Range(n.businessRanges[0].arg),val:new r.Range(n.businessRanges[0].val)}),f=i.getComponent("arg"),e=i.getComponent("val"),t=0;for(n.translator=i,o[0].setTranslator(f,e),t;t<u.length;t++)u[t].setTranslator(e,f)},_prepareAxesAndDraw:function(t,i){var r=this,u=r._valueAxes,f=r._argumentAxes,e=f[0];r._calcCanvas(e.measureLabels()),r.translator.reinit(),t(f),n.each(u,function(n,t){t.setSpiderTicks(e.getSpiderTicks())}),t(u),i(f),i(u)},_calcCanvas:function(n){var t=this.translator.canvas;t.left+=n.width,t.right+=n.width,t.top+=n.height,t.bottom+=n.height},_isRotated:n.noop,_getLayoutTargets:function(){return[{canvas:this._canvas}]},_getAxesForTransform:function(){var n=this._getArgumentAxes();return{verticalAxes:n,horizontalAxes:n}},_applyClipRects:n.noop,_getSeriesRenderTimeout:n.noop,_drawSeries:function(n){var i=this,t,f=i.seriesFamilies||[],r=i.series,u;if(r.length){for(t=0;t<f.length;t++)u={},u.val=i.translator,u.arg=i.translator,f[t].updateSeriesValues(u),f[t].adjustSeriesDimensions(u);for(t=0;t<r.length;t++)r[t].draw(i.translator,i._getAnimateOption(r[t],n),n.hideLayoutLabels,i.legend&&i.legend.getActionCallback(r[t]))}},_updateLegendPosition:n.noop,_createScrollBar:n.noop,_createTranslator:function(t){var i=this._themeManager,u=this.option("argumentAxis"),f=i.getOptions("argumentAxis",u)||{};return new r.PolarTranslator(t,n.extend(!0,{},this._canvas),{startAngle:f.startAngle})},_getSeriesForPane:function(){return this.series},_getEqualBarWidth:function(){return!!this._themeManager.getOptions("equalBarWidth")}});t.registerComponent("dxPolarChart",u,e)}(jQuery,DevExpress),function(n,t,i){function v(n,t,i){r(n,function(n,r){var u=r.getLayoutOptions(),f=u.cutLayoutSide;i[f]-=u[t]})}function y(n,t){r(n,function(n,i){var u,f,r=i.getLayoutOptions(),e=p(r.cutLayoutSide);if(r.width){switch(r.horizontalAlignment){case"left":u=t.left;break;case"center":u=(t.width-t.left-t.right-r.width)/2+t.left;break;case"right":u=t.width-t.right-r.width}switch(r.verticalAlignment){case"top":f=t.top;break;case"bottom":f=t.height-t.bottom-r.height}i.shift(h(u),h(f)),t[r.cutLayoutSide]+=r[e],s(t)}})}function p(n){return n==="left"||n==="right"?"width":"height"}function s(n){n&&(n.originalTop=n.top,n.originalBottom=n.bottom,n.originalLeft=n.left,n.originalRight=n.right)}function w(n,t,i,u,f,e){r(n,function(n,r){var o=r.getLayoutOptions(),h=o.cutLayoutSide,c=u.width-u.left-u.right,l=u.height-u.top-u.bottom,s={};r.setSize({width:c,height:l}),s[i]=0,s[t]=e[t],r.changeSize(s),f[h]-=o[t]-r.getLayoutOptions()[t],e[t]-=o[t]-r.getLayoutOptions()[t]})}function b(n,t,i){n&&i[t]>0&&(r(n,function(n,r){var u=r.getBoundingRect();r.updateSize(),i[t]-=u[t]-r.getBoundingRect()[t]}),i[t]>0&&r(n,function(n,t){t.updateSize(!0)}))}function k(n,t,i){var r;return r=i<n?n:t<i?t:i}function g(n,t,i,r){return d((n-i)*(n-i)+(t-r)*(t-r))}function nt(n){var t;return n.type==="pie"?t=0:(t=f(n.innerRadius)?Number(n.innerRadius):.5,t=t<.2?.2:t,t=t>.8?.8:t),t}function tt(n){return!!(n.x||n.y||n.width||n.height)}function it(n,t){var i,f,e=!1;return r(n,function(n,o){i=o.canvas,r(t,function(n,t){f="delta"+t,i[f]=u(i[f]-(i[t.toLowerCase()]-i["original"+t]),0),i[f]>0&&(e=!0)})}),e}function rt(n,t){var i=t[0];return r(t,function(t,r){n===r.name&&(i=r)}),i}function ut(n,t){var i=!1,f=0,e=0,o=0,s=0;return r(n,function(n,t){f=u(f,t.canvas.deltaLeft),e=u(e,t.canvas.deltaRight),o=u(o,t.canvas.deltaTop),s=u(s,t.canvas.deltaBottom)}),t?r(n,function(n,t){t.canvas.top+=o,t.canvas.bottom+=s,t.canvas.right+=t.canvas.deltaRight,t.canvas.left+=t.canvas.deltaLeft}):r(n,function(n,t){t.canvas.top+=t.canvas.deltaTop,t.canvas.bottom+=t.canvas.deltaBottom,t.canvas.right+=e,t.canvas.left+=f}),r(n,function(n,t){t.canvas.top+t.canvas.bottom>t.canvas.height&&(i=!0),t.canvas.left+t.canvas.right>t.canvas.width&&(i=!0)}),i}function l(n){this._verticalElements=[],this._horizontalElements=[],this._options=n}var f=t.utils.isNumber,a=t.viz.core.utils.decreaseGaps,h=Math.round,e=Math.min,u=Math.max,o=Math.floor,d=Math.sqrt,r=n.each,c=n.extend;l.prototype={constructor:l,dispose:function(){this._verticalElements=this._horizontalElements=this._options=null},drawElements:function(n,t){var i=[],u=[];return r(n,function(n,r){var f,e;r.setSize({width:t.width-t.left-t.right,height:t.height-t.top-t.bottom}),r.draw(),f=r.getLayoutOptions(),f&&(e=p(f.cutLayoutSide),(e==="width"?i:u).push(r),t[f.cutLayoutSide]+=f[e],s(t))}),this._horizontalElements=i,this._verticalElements=u,this},placeDrawnElements:function(n){return v(this._horizontalElements,"width",n),y(this._horizontalElements,n),v(this._verticalElements,"height",n),y(this._verticalElements,n),this},updatePanesCanvases:function(n,t,i){var f=0;r(n,function(n,t){t.weight=t.weight||1,f+=t.weight});var u=0,e=n.padding||10,o=i?t.width-t.left-t.right:t.height-t.top-t.bottom,v=(o-e*(n.length-1))/f,l=i?"left":"top",a=i?"right":"bottom";r(n,function(n,i){var r=h(i.weight*v);i.canvas=i.canvas||{},c(i.canvas,{deltaLeft:0,deltaRight:0,deltaTop:0,deltaBottom:0},t),i.canvas[l]=t[l]+u,i.canvas[a]=t[a]+(o-r-u),u=u+r+e,s(i.canvas)})},applyVerticalAxesLayout:function(n,t,i){this._applyAxesLayout(n,t,i)},applyHorizontalAxesLayout:function(n,t,i){n.reverse(),this._applyAxesLayout(n,t,i),n.reverse()},_applyAxesLayout:function(n,t,i){var h=this,u,s,e,o,f,y,l,a,p=[],w,v;for(r(t,function(n,t){c(t.canvas,{deltaLeft:0,deltaRight:0,deltaTop:0,deltaBottom:0})}),v=0;v<n.length;v++)if(f=n[v],s=f.getOptions().position||"left",f.delta={},e=f.getBoundingRect(),w=rt(f.pane,t),u=w.canvas,tt(e)){l="delta"+s.slice(0,1).toUpperCase()+s.slice(1);switch(s){case"right":a=1,u.deltaLeft+=f.padding?f.padding.left:0;break;case"left":a=-1,u.deltaRight+=f.padding?f.padding.right:0;break;case"top":a=-1,u.deltaBottom+=f.padding?f.padding.bottom:0;break;case"bottom":a=1,u.deltaTop+=f.padding?f.padding.top:0}switch(s){case"right":case"left":e.isEmpty||(o=e.y+e.height-(u.height-u.originalBottom),o>0&&(h.requireAxesRedraw=!0,u.deltaBottom+=o),o=u.originalTop-e.y,o>0&&(h.requireAxesRedraw=!0,u.deltaTop+=o)),y=e.width,p=["Left","Right"];break;case"top":case"bottom":e.isEmpty||(o=e.x+e.width-(u.width-u.originalRight),o>0&&(h.requireAxesRedraw=!0,u.deltaRight+=o),o=u.originalLeft-e.x,o>0&&(h.requireAxesRedraw=!0,u.deltaLeft+=o)),p=["Bottom","Top"],y=e.height}!f.delta[s]&&u[l]>0&&(u[l]+=f.getMultipleAxesSpacing()),f.delta[s]=f.delta[s]||0,f.delta[s]+=u[l]*a,u[l]+=y}h.requireAxesRedraw=it(t,p)||h.requireAxesRedraw,h.stopDrawAxes=ut(t,i)},applyPieChartSeriesLayout:function(n,i,s){var v=n.height-n.top-n.bottom,y=n.width-n.left-n.right,c=y/2+n.left,l=v/2+n.top,a=this._options.piePercentage,h=f(a)?a*e(n.height,n.width)/2:e(y,v)/2,p=.7*h,w=nt(i);s||f(a)||r(i.getPoints(),function(n,i){if(i._label.isVisible()&&i.isVisible()){var r=i._label.getBoundingRect(),f=k(r.x,r.x+r.width,c),o=k(r.y,r.y+r.height,l),s=u(g(f,o,c,l)-t.viz.core.series.helpers.consts.pieLabelIndent,p);h=e(h,s)}}),i.correctPosition({centerX:o(c),centerY:o(l),radiusInner:o(h*w),radiusOuter:o(h)})},updateDrawnElements:function(n,t,i,r,u){var f,e=c({},i);(f=this.needMoreSpaceForPanesCanvas(r,u),f)&&(f.height=a(i,["top","bottom"],f.height),f.width=a(i,["left","right"],f.width),t.top-=e.top-i.top,t.bottom-=e.bottom-i.bottom,t.left-=e.left-i.left,t.right-=e.right-i.right,w(this._horizontalElements,"width","height",i,t,f),w(this._verticalElements,"height","width",i,t,f),b(n.verticalAxes,"width",f),b(n.horizontalAxes,"height",f))},needMoreSpaceForPanesCanvas:function(n,t){var h=this._options,a=h.width,v=h.height,l=h.piePercentage,c=f(l),o=0,s=0;return r(n,function(n,r){var f=r.canvas,p=c?e(f.width,f.height)*l:i,h=(c?p:a)-(f.width-f.left-f.right),y=(c?p:v)-(f.height-f.top-f.bottom);t?(o+=h>0?h:0,s=u(y>0?y:0,s)):(o=u(h>0?h:0,o),s+=y>0?y:0)}),o>0||s>0?{width:o,height:s}:!1},correctSizeElement:function(n,t){n.setSize({width:t.width-t.right-t.left,height:t.width-t.right-t.left}),n.changeSize({width:0,height:0})}},t.viz.charts._setCanvasValues=s,t.viz.charts.LayoutManager=l}(jQuery,DevExpress),function(n,t){var a=t.viz.core.Range,e=t.utils,h=e.adjustValue,l=e.applyPrecisionByMinDelta,u=e.isDefined,o=Math,s=o.floor,c=o.max,r=n.each,p=.1,w=function(n){var t={};return r(n,function(n,i){var r=i.pane;t[r]||(t[r]=[]),t[r].push(i)}),t},b=function(n){var i,t=n.getTranslator();t._originalBusinessRange?(i=new a(t._originalBusinessRange),t.updateBusinessRange(i)):t._originalBusinessRange=new a(t.getBusinessRange())},k={transform:function(n,t){return e.getLog(n,t)},addInterval:function(n,t){return n+t},getInterval:function(n,t){return t},adjustValue:s},d={transform:function(n,t){return e.raiseTo(n,t)},addInterval:function(n,t){return n*t},getInterval:function(n,t){return o.pow(n,t)},adjustValue:h},v=function(n,t){if(n.isLogarithmic){var i=n.logarithmicBase,e=n.tickValues,r,u=[],s,f;for(n.minValue=t.transform(n.minValue,i),n.oldMinValue=t.transform(n.oldMinValue,i),n.maxValue=t.transform(n.maxValue,i),n.oldMaxValue=t.transform(n.oldMaxValue,i),n.tickInterval=o.round(n.tickInterval),n.tickInterval<1&&(n.tickInterval=1),s=t.getInterval(i,n.tickInterval),r=t.transform(e[0],i),f=0;f<e.length;f++)u.push(t.adjustValue(r)),r=t.addInterval(r,s);u.tickInterval=n.tickInterval,n.tickValues=u}},g=function(t){return n.map(t,function(n){b(n);var l=n.getTicksValues(),i=l.majorTicksValues,s=n.getOptions(),f,o,t=null,r,h,c;return i&&i.length>0&&e.isNumber(i[0])&&s.type!=="discrete"&&(r=n.getTranslator().getBusinessRange(),h=n._tickManager.getTickInterval(),f=r.minVisible,o=r.maxVisible,c=s.synchronizedValue,f===o&&u(c)&&(f=i[0]-1,o=i[0]+1,h=1),t={axis:n,isLogarithmic:s.type==="logarithmic",logarithmicBase:r.base,tickValues:i,minorValues:l.minorTicksValues,minValue:f,oldMinValue:f,maxValue:o,oldMaxValue:o,inverted:r.invert,tickInterval:h,synchronizedValue:c},r.stubData&&(t.stubData=!0,t.tickInterval=t.tickInterval||s.tickInterval,t.isLogarithmic=!1),v(t,k)),t})},nt=function(n){var t=0;r(n,function(n,i){t=c(t,i.tickValues.length)}),r(n,function(n,i){var e,o,h=0,c=i.synchronizedValue,r=i.tickValues,f=i.tickInterval;if(u(c))i.baseTickValue=i.invertedBaseTickValue=c,i.tickValues=[i.baseTickValue];else{if(r.length>1&&f){for(e=s((t+1)/r.length),o=e>1?s((t+1)/e):t,h=s((o-r.length)/2);h>0&&r[0]!==0;)r.unshift(l(r[0],f,r[0]-f)),h--;while(r.length<o)r.push(l(r[0],f,r[r.length-1]+f));i.tickInterval=f/e}i.baseTickValue=r[0],i.invertedBaseTickValue=r[r.length-1]}})},f=function(n){return n.maxValue-n.minValue||1},y=function(n){for(var t=0;t<n.length;t++)if(!n[t].stubData)return n[t];return null},tt=function(n){var t=y(n),i=t.tickInterval;r(n,function(n,r){var h,e,o,s;r!==t&&(i&&r.tickInterval&&(r.stubData&&u(r.synchronizedValue)&&(r.oldMinValue=r.minValue=r.baseTickValue-(t.baseTickValue-t.minValue)/i*r.tickInterval,r.oldMaxValue=r.maxValue=r.baseTickValue-(t.baseTickValue-t.maxValue)/i*r.tickInterval),h=i/f(t)/r.tickInterval*f(r),r.maxValue=r.minValue+f(r)/h),o=t.inverted&&!r.inverted||!t.inverted&&r.inverted?t.maxValue-t.invertedBaseTickValue:t.baseTickValue-t.minValue,s=f(r),e=(o/f(t)-(r.baseTickValue-r.minValue)/s)*s,r.minValue-=e,r.maxValue-=e)})},it=function(n){var t,i,u=0,e=0;return r(n,function(n,r){var o=r.inverted;t=r.minValue>r.oldMinValue?(r.minValue-r.oldMinValue)/f(r):0,i=r.maxValue<r.oldMaxValue?(r.oldMaxValue-r.maxValue)/f(r):0,u=c(u,o?i:t),e=c(e,o?t:i)}),{start:u,end:e}},rt=function(n,t){r(n,function(n,i){var r=f(i),u=i.inverted;i.minValue-=t[u?"end":"start"]*r,i.maxValue+=t[u?"start":"end"]*r,r>p&&(i.minValue=o.min(i.minValue,h(i.minValue)),i.maxValue=c(i.maxValue,h(i.maxValue)))})},ut=function(n){var t=!1;r(n,function(n,i){t=t||u(i.synchronizedValue)}),r(n,function(n,i){var u,f=i.tickInterval,r=i.tickValues,s=i.maxValue,o=i.minValue;if(t&&f){while(r[0]-f>=o)r.unshift(h(r[0]-f));for(u=r[r.length-1];(u=u+f)<=s;)r.push(e.isExponential(u)?h(u):l(o,f,u))}while(r[0]<o)r.shift();while(r[r.length-1]>s)r.pop()})},ft=function(n){r(n,function(n,t){var r=t.axis,i=r.getTranslator().getBusinessRange();i.min===i.minVisible&&(i.min=t.minValue),i.max===i.maxVisible&&(i.max=t.maxValue),i.minVisible=t.minValue,i.maxVisible=t.maxValue,u(t.stubData)&&(i.stubData=t.stubData),i.min>i.minVisible&&(i.min=i.minVisible),i.max<i.maxVisible&&(i.max=i.maxVisible),i.isSynchronized=!0,r.getTranslator().updateBusinessRange(i),r.setTicks({majorTicks:t.tickValues,minorTicks:t.minorValues})})},et=function(n){var f=[],t,i;(r(n,function(n,r){r.oldMaxValue-r.oldMinValue==0?f.push(r):u(t)||u(r.synchronizedValue)||(t=o.abs((r.maxValue-r.minValue)/(r.tickValues[s(r.tickValues.length/2)]||r.maxValue)),i=r)}),u(t))&&r(f,function(n,r){var u=r.tickValues[0],f=u*t,e=i.tickValues,o=e[s(e.length/2)];u>0?(r.maxValue=f,r.minValue=0):u<0?(r.minValue=f,r.maxValue=0):u===0&&(r.maxValue=i.maxValue-o,r.minValue=i.minValue-o)})};t.viz.charts.multiAxesSynchronizer={synchronize:function(n){r(w(n),function(n,t){var i,u;if(t.length>1){if(i=g(t),i.length===0||!y(i))return;nt(i),tt(i),u=it(i),rt(i,u),et(i),ut(i),r(i,function(){v(this,d)}),ft(i)}})}}}(jQuery,DevExpress),function(n,t,i){function f(n){return(n+"").toLowerCase()}function rt(n){var t;return u(n,function(n,i){if(!i._virtual)return t=i,!1}),t}function w(n,t){return n.cancel||!t.getOptions()}var s=t.viz.charts,o=t.viz.core.series.helpers.consts.events,tt=t.utils,h=tt.isDefined,r=i.floor,u=n.each,b="multiple",a="allargumentpoints",k="allseriespoints",v="none",c="dxpointerdown dxpointermove",l="pointSelectionChanged",d="legendClick",y="seriesClick",p="pointClick",g="releasePointSelectedState",nt="setPointSelectedState",it=100,e={ctor:function(t){var i=this,r={tracker:i};f(t.pointSelectionMode)===b?(i._setSelectedPoint=i._selectPointMultipleMode,i._releaseSelectedPoint=i._releaseSelectedPointMultipleMode):(i._setSelectedPoint=i._selectPointSingleMode,i._releaseSelectedPoint=i._releaseSelectedPointSingleMode),f(t.seriesSelectionMode)===b?(i._releaseSelectedSeries=i._releaseSelectedSeriesMultipleMode,i._setSelectedSeries=i._setSelectedSeriesMultipleMode):(i._releaseSelectedSeries=i._releaseSelectedSeriesSingleMode,i._setSelectedSeries=i._setSelectedSeriesSingleMode),i._renderer=t.renderer,i._tooltip=t.tooltip,i._eventTrigger=t.eventTrigger;t.seriesGroup.off().on(o.selectSeries,r,i._selectSeries).on(o.deselectSeries,r,i._deselectSeries).on(o.selectPoint,r,i._selectPoint).on(o.deselectPoint,r,i._deselectPoint).on(o.showPointTooltip,r,i._showPointTooltip).on(o.hidePointTooltip,r,i._hidePointTooltip);i._renderer.root.off(c).off("dxclick dxhold").on(c,r,i._pointerHandler).on("dxclick",r,i._clickHandler).on("dxhold",{timeout:300},n.noop)},update:function(n){var t=this;t._storedSeries!==n.series?(t._storedSeries=n.series||[],t._clean()):(t._hideTooltip(t.pointAtShownTooltip),t._clearHover(),t.clearSelection()),t._legend=n.legend,t.legendCallback=n.legendCallback,t._prepare(t._renderer.root)},setCanvases:function(n,t){this._mainCanvas=n,this._canvases=t},repairTooltip:function(){var n=this.pointAtShownTooltip;n&&!n.isVisible()?this._hideTooltip(n,!0):this._showTooltip(n)},_prepare:function(n){n.off("dxmousewheel").on("dxmousewheel",{tracker:this},function(n){n.data.tracker._pointerOut()})},_selectPointMultipleMode:function(t){var i=this;i._selectedPoint=i._selectedPoint||[],n.inArray(t,i._selectedPoint)<0&&(i._selectedPoint.push(t),i._setPointState(t,nt,f(t.getOptions().selectionMode),l,i.legendCallback(t)))},_releaseSelectedPointMultipleMode:function(t){var i=this,r=i._selectedPoint||[],e=n.inArray(t,r);e>=0?(i._setPointState(t,g,f(t.getOptions().selectionMode),l,i.legendCallback(t)),r.splice(e,1)):t||u(r,function(n,t){i._releaseSelectedPoint(t)})},_selectPointSingleMode:function(n){var t=this;t._selectedPoint!==n&&(t._releaseSelectedPoint(),t._selectedPoint=n,t._setPointState(n,nt,f(n.getOptions().selectionMode),l,t.legendCallback(n)))},_releaseSelectedPointSingleMode:function(){var n=this,t=n._selectedPoint;t&&(n._setPointState(t,g,f(t.getOptions().selectionMode),l,n.legendCallback(t)),n._selectedPoint=null)},_setPointState:function(n,t,i,r,f){var e=this;switch(i){case a:e._toAllArgumentPoints(n.argument,t,r);break;case k:u(n.series.getPoints(),function(n,i){i.series[t](i),e._eventTrigger(r,{target:i})});break;case v:break;default:n.series[t](n,f),e._eventTrigger(r,{target:n})}},_toAllArgumentPoints:function(n,t,i){var r=this;u(r._storedSeries,function(f,e){var o=e.getPointsByArg(n);u(o||[],function(n,u){e[t](u),i&&r._eventTrigger(i,{target:u})})})},_setHoveredPoint:function(n,t){var i=this;i.hoveredPoint!==n&&n.series&&(i._releaseHoveredPoint(),n&&n.getOptions()&&t!==v&&(i.hoveredPoint=n,i._setPointState(n,"setPointHoverState",t||f(n.getOptions().hoverMode),"pointHoverChanged",i.legendCallback(n))))},_releaseHoveredPoint:function(){var t=this,n=t.hoveredPoint,i;n&&n.getOptions()&&(i=f(n.getOptions().hoverMode),i===k?u(n.series.getPoints(),function(n,i){i.series.releasePointHoverState(i),t._eventTrigger("pointHoverChanged",{target:i})}):i===a?t._toAllArgumentPoints(n.argument,"releasePointHoverState","pointHoverChanged"):(n.releaseHoverState(t.legendCallback(n)),t._eventTrigger("pointHoverChanged",{target:n})),t._tooltip.isEnabled()&&t._hideTooltip(n),t.hoveredPoint=null)},_setSelectedSeriesMultipleMode:function(t,i){var r=this;r._selectedSeries=r._selectedSeries||[],n.inArray(t,r._selectedSeries)<0&&(r._selectedSeries.push(t),t.setSelectedState(!0,i,r.legendCallback(t)),r._eventTrigger("seriesSelectionChanged",{target:t}))},_setSelectedSeriesSingleMode:function(n,t){var i=this;(n!==i._selectedSeries||n.lastSelectionMode!==t)&&(this._releaseSelectedSeries(),i._selectedSeries=n,n.setSelectedState(!0,t,i.legendCallback(n)),i._eventTrigger("seriesSelectionChanged",{target:n}))},_releaseSelectedSeriesMultipleMode:function(t){var i=this,r=i._selectedSeries||[],f=n.inArray(t,r);f>=0?(t.setSelectedState(!1,undefined,i.legendCallback(t)),i._eventTrigger("seriesSelectionChanged",{target:t}),r.splice(f,1)):t||u(r,function(n,t){i._releaseSelectedSeries(t)})},_releaseSelectedSeriesSingleMode:function(){var n=this,t=n._selectedSeries;t&&(t.setSelectedState(!1,undefined,n.legendCallback(t)),n._eventTrigger("seriesSelectionChanged",{target:t}),n._selectedSeries=null)},_setHoveredSeries:function(n,t){var i=this;(t!==v&&i.hoveredSeries!==n||n.lastHoverMode!==t)&&(i._clearHover(),n.setHoverState(!0,t,i.legendCallback(n)),i._eventTrigger("seriesHoverChanged",{target:n})),i.hoveredSeries=n},_releaseHoveredSeries:function(){var n=this;n.hoveredSeries&&(n.hoveredSeries.setHoverState(!1,undefined,n.legendCallback(n.hoveredSeries)),n._eventTrigger("seriesHoverChanged",{target:n.hoveredSeries}),n.hoveredSeries=null)},_selectSeries:function(n,t){n.data.tracker._setSelectedSeries(n.target,t)},_deselectSeries:function(n,t){n.data.tracker._releaseSelectedSeries(n.target,t)},_selectPoint:function(n,t){n.data.tracker._setSelectedPoint(t)},_deselectPoint:function(n,t){n.data.tracker._releaseSelectedPoint(t)},clearSelection:function(){this._releaseSelectedPoint(),this._releaseSelectedSeries()},_clean:function(){var n=this;n._selectedPoint=n._selectedSeries=n.hoveredPoint=n.hoveredSeries=null,n._hideTooltip(n.pointAtShownTooltip)},_clearHover:function(){this._releaseHoveredSeries(),this._releaseHoveredPoint()},_hideTooltip:function(n,t){var i=this;i._tooltip&&(!n||i.pointAtShownTooltip===n)&&(!t&&i.pointAtShownTooltip&&(i.pointAtShownTooltip=null),i._tooltip.hide())},_showTooltip:function(n){var t=this,i,f,r,u;if(n&&n.getOptions()){if(i=n.getTooltipFormatObject(t._tooltip),!h(i.valueText)&&!i.points||!n.isVisible())return;if(t.pointAtShownTooltip&&t.pointAtShownTooltip===n||(f={target:n}),r=n.getTooltipParams(t._tooltip.getLocation()),u=t._renderer.getRootOffset(),r.x+=u.left,r.y+=u.top,!t._tooltip.show(i,r,f))return;t.pointAtShownTooltip=n}},_showPointTooltip:function(n,t){var i=n.data.tracker,r=i.pointAtShownTooltip;r&&r!==t&&i._hideTooltip(r),i._showTooltip(t)},_hidePointTooltip:function(n,t){n.data.tracker._hideTooltip(t)},_enableOutHandler:function(){if(!this._outHandler){var t=this,i=function(n){var i=t._renderer.getRootOffset(),u=r(n.pageX-i.left),f=r(n.pageY-i.top);t._inCanvas(t._mainCanvas,u,f)||(t._pointerOut(),t._disableOutHandler())};n(document).on(c,i);this._outHandler=i}},_disableOutHandler:function(){this._outHandler&&n(document).off(c,this._outHandler),this._outHandler=null},_pointerOut:function(){this._clearHover(),this._tooltip.isEnabled()&&this._hideTooltip(this.pointAtShownTooltip)},_inCanvas:function(n,t,i){return t>=n.left&&t<=n.right&&i>=n.top&&i<=n.bottom},dispose:function(){var n=this;n._disableOutHandler(),u(n,function(t){n[t]=null})}};s.ChartTracker=function(n){this.ctor(n)},n.extend(s.ChartTracker.prototype,e,{ctor:function(n){var t=this;e.ctor.call(t,n)},_pointClick:function(n,t){var u=this,i=u._eventTrigger,r=n.series;i(p,{target:n,jQueryEvent:t},function(){w(t,r)||i(y,{target:r,jQueryEvent:t})})},_legendClick:function(n,t){var u=this,i={target:n,jQueryEvent:t},r=u._eventTrigger;r(d,i,function(){w(t,n)||r(y,i)})},update:function(n){var t=this;t._zoomingMode=(n.zoomingMode+"").toLowerCase(),t._scrollingMode=(n.scrollingMode+"").toLowerCase(),e.update.call(this,n),t._argumentAxis=rt(n.argumentAxis||[]),t._axisHoverEnabled=t._argumentAxis&&f(t._argumentAxis.getOptions().hoverMode)===a,t._chart=n.chart,t._rotated=n.rotated,t._crosshair=n.crosshair},_getAxisArgument:function(t){var i=n(t.target);return t.target.tagName==="tspan"?i.parent().data("argument"):i.data("argument")},_getCanvas:function(n,t){for(var u=this,f=u._canvases||[],r,i=0;i<f.length;i++)if(r=f[i],u._inCanvas(r,n,t))return r;return null},_focusOnCanvas:function(n){!n&&this._stickedSeries&&this._pointerOut()},_resetHoveredArgument:function(){h(this.hoveredArgument)&&(this._toAllArgumentPoints(this.hoveredArgument,"releasePointHoverState"),this.hoveredArgument=null)},_hideCrosshair:function(){this._crosshair&&this._crosshair.hide()},_moveCrosshair:function(n,t,i){if(n&&this._crosshair&&n.isVisible()){var r=n.getCrosshairCoords(t,i),u=n.getPointRadius();this._crosshair.shift(r.x,r.y,u)}},_prepare:function(t){var i=this,u=i._scrollingMode==="all"||i._scrollingMode==="touch",f=i._zoomingMode==="all"||i._zoomingMode==="touch",r=(u?"":"pan-x pan-y ")+(f?"":"pinch-zoom")||"none",o={"touch-action":r,"-ms-touch-action":r},s=i._zoomingMode==="all"||i._zoomingMode==="mouse";if(t.off("dxmousewheel dxc-scroll-start dxc-scroll-move"),e._prepare.call(i,t),!i._gestureEndHandler){i._gestureEndHandler=function(){i._gestureEnd&&i._gestureEnd()};n(document).on("dxpointerup",i._gestureEndHandler)}s&&t.on("dxmousewheel",function(n){var t=i._renderer.getRootOffset(),r=i._rotated?n.pageY-t.top:n.pageX-t.left,u=i._argumentAxis.getTranslator().getMinScale(n.delta>0),e=r-r*u,f=i._argumentAxis.getTranslator().zoom(-e,u);i._pointerOut(),i._chart.zoomArgument(f.min,f.max,!0),n.preventDefault(),n.stopPropagation()});t.on("dxc-scroll-start",function(n){i._gestureStart(i._getGestureParams(n,{left:0,top:0}))}).on("dxc-scroll-move",function(n){i._gestureChange(i._getGestureParams(n,{left:0,top:0}))&&n.preventDefault()});t.css(o)},_getGestureParams:function(n,t){var h=this,r,u,e=n.pointers.length,f,o,s=h._rotated?"pageY":"pageX";return t=h._rotated?t.top:t.left,e===2?(r=n.pointers[0][s]-t,u=n.pointers[1][s]-t):e===1&&(r=u=n.pointers[0][s]-t),f=i.min(r,u),o=i.max(r,u),{center:f+(o-f)/2,distance:o-f,touches:e,scale:1,pointerType:n.pointerType}},_gestureStart:function(n){var t=this;t._startGesture=t._startGesture||n,t._startGesture.touches!==n.touches&&(t._startGesture=n)},_gestureChange:function(n){var r=this,t=r._startGesture,u=!1,f=r._scrollingMode==="all"||r._scrollingMode!=="none"&&r._scrollingMode===n.pointerType,e=r._zoomingMode==="all"||r._zoomingMode==="touch";return t?t.touches===1&&i.abs(t.center-n.center)<3?(r._gestureStart(n),u):(t.touches===2&&e?(u=!0,t.scale=n.distance/t.distance,t.scroll=n.center-t.center+(t.center-t.center*t.scale)):t.touches===1&&f&&(u=!0,t.scroll=n.center-t.center),u&&(t.changed=u,r._chart._transformArgument(t.scroll,t.scale)),u):u},_gestureEnd:function(){function u(){i._chart.zoomArgument(t.min,t.max,!0)}var i=this,n=i._startGesture,t,r=i._renderer,f,e;i._startGesture=null,n&&n.changed&&(t=i._argumentAxis._translator.zoom(-n.scroll,n.scale),r.animationEnabled()&&(-n.scroll!==t.translate||n.scale!==t.scale)?(f=-(n.scroll+t.translate),e=n.scale-t.scale,r.root.animate({_:0},{step:function(t){var r=-n.scroll-f*t,u=n.scale-e*t;i._chart._transformArgument(-r,u)},complete:u,duration:250})):u())},_clean:function(){var n=this;e._clean.call(n),n._resetTimer(),n._stickedSeries=null},_getSeriesForShared:function(n,t){var r=this,e=[],f=null,o=Infinity;return r._tooltip.isShared()&&!r.hoveredSeries&&(u(r._storedSeries,function(i,r){var u=r.getNeighborPoint(n,t);u&&e.push(u)}),u(e,function(r,u){var e=u.getCrosshairCoords(n,t),s=i.sqrt((n-e.x)*(n-e.x)+(t-e.y)*(t-e.y));s<o&&(f=u,o=s)})),f&&f.series},_setTimeout:function(n,t){var i=this;i._timeoutKeeper!==t&&(i._resetTimer(),i._hoverTimeout=setTimeout(function(){n(),i._timeoutKeeper=null},it),i._timeoutKeeper=t)},_resetTimer:function(){clearTimeout(this._hoverTimeout),this._timeoutKeeper=this._hoverTimeout=null},_pointerHandler:function(t){var i=t.data.tracker,c=i._renderer.getRootOffset(),e=r(t.pageX-c.left),o=r(t.pageY-c.top),l=i._getCanvas(e,o),u=n(t.target).data("series"),f=n(t.target).data("point")||u&&u.getPointByCoord(e,o),a,s,v;if(i._enableOutHandler(),i._x=e,i._y=o,t.type==="dxpointerdown")l&&i._gestureStart(i._getGestureParams(t,c));else if(i._startGesture&&l&&i._gestureChange(i._getGestureParams(t,c))){i._pointerOut(),t.preventDefault();return}if(i._legend.coordsIn(e,o)){a=i._legend.getItemByCoord(e,o),a?(u=i._storedSeries[a.id],i._setHoveredSeries(u,i._legend._options.hoverMode),i._stickedSeries=u):i._clearHover(),i._hideCrosshair();return}if(i._axisHoverEnabled&&i._argumentAxis.coordsIn(e,o)){s=i._getAxisArgument(t),v=h(s),v&&i.hoveredArgument!==s?(i._clearHover(),i._resetHoveredArgument(),i._toAllArgumentPoints(s,"setPointHoverState"),i.hoveredArgument=s):v||i._resetHoveredArgument();return}if(i._resetHoveredArgument(),i._focusOnCanvas(l),l||f){if(u||f||(i._stickedSeries=i._stickedSeries||i._getSeriesForShared(e,o)),u&&!f){if(f=u.getNeighborPoint(e,o),u!==i.hoveredSeries){i._setTimeout(function(){i._setHoveredSeries(u,u.getOptions().hoverMode),i._stickedSeries=u,i._pointerComplete(f)},u);return}}else{if(f){i.hoveredSeries?i._setTimeout(function(){i._pointerOnPoint(f)},f):i._pointerOnPoint(f);return}i._stickedSeries&&(u=i._stickedSeries,f=u.getNeighborPoint(e,o),i.hoveredSeries&&i._releaseHoveredSeries(),f&&i._setHoveredPoint(f))}i._pointerComplete(f)}},_pointerOnPoint:function(n){var t=this;t._stickedSeries=n.series,t._setHoveredPoint(n),t.hoveredSeries&&t._releaseHoveredSeries(),t._pointerComplete(n)},_pointerComplete:function(n){var t=this;t.hoveredSeries&&t.hoveredSeries.updateHover(t._x,t._y),t._resetTimer(),t._moveCrosshair(n,t._x,t._y),t.pointAtShownTooltip!==n&&t._tooltip.isEnabled()&&t._showTooltip(n)},_pointerOut:function(){var n=this;n._stickedSeries=null,n._hideCrosshair(),n._resetHoveredArgument(),n._resetTimer(),e._pointerOut.call(n)},_clickHandler:function(t){var i=t.data.tracker,l=i._renderer.getRootOffset(),e=r(t.pageX-l.left),o=r(t.pageY-l.top),u=n(t.target).data("point"),f=i._stickedSeries||n(t.target).data("series")||u&&u.series,a=i._argumentAxis,s,c;if(i._legend.coordsIn(e,o)){s=i._legend.getItemByCoord(e,o),s&&(f=i._storedSeries[s.id],i._legendClick(f,t));return}if(a&&a.coordsIn(e,o)&&(c=i._getAxisArgument(t),h(c))){i._eventTrigger("argumentAxisClick",{argument:c,jQueryEvent:t});return}f&&(u=u||f.getPointByCoord(e,o),u?i._pointClick(u,t):n(t.target).data("series")&&i._eventTrigger(y,{target:f,jQueryEvent:t}))},dispose:function(){this._gestureEndHandler&&n(document).off("dxpointerup",this._gestureEndHandler),this._resetTimer(),e.dispose.call(this)}}),s.PieTracker=function(n){this.ctor(n)},n.extend(s.PieTracker.prototype,e,{_legendClick:function(n,t){var u=this,i={target:n,jQueryEvent:t},r=u._eventTrigger;r(d,i,function(){w(t,n)||r(p,i)})},_pointerHandler:function(t){var i=t.data.tracker,h=i._renderer.getRootOffset(),f=r(t.pageX-h.left),e=r(t.pageY-h.top),o=i._storedSeries[0],u=n(t.target).data("point")||o&&o.getPointByCoord(f,e),s,c;i._enableOutHandler(),i._legend.coordsIn(f,e)&&(s=i._legend.getItemByCoord(f,e),s&&(u=o.getPoints()[s.id],c=i._legend._options.hoverMode)),u&&u!==i.hoveredPoint?(i._tooltip.isEnabled()&&i._showTooltip(u),i._setHoveredPoint(u,c)):u||i._pointerOut()},_clickHandler:function(t){var i=t.data.tracker,h=i._renderer.getRootOffset(),f=r(t.pageX-h.left),e=r(t.pageY-h.top),o=i._storedSeries[0],u,s;i._legend.coordsIn(f,e)?(s=i._legend.getItemByCoord(f,e),s&&(u=o.getPoints()[s.id],i._legendClick(u,t))):(u=n(t.target).data("point")||o&&o.getPointByCoord(f,e),u&&i._eventTrigger(p,{target:u,jQueryEvent:t}))}})}(jQuery,DevExpress,Math),function(n,t){function a(){this.ctor.apply(this,arguments)}var r=Math,u=r.abs,f=r.min,e=r.max,o=r.round,v="horizontal",y="vertical",s=8,h=4,p="center",c="right",w="left",b="top",l="bottom",k=t.utils.isDefined;t.viz.charts.Crosshair=a,a.prototype={ctor:function(n,t,i,r){var u=this;u._renderer=n,u._crosshairGroup=r,u._options={},u._init(t,i)},update:function(n,t){this._init(n,t)},dispose:function(){var n=this;n._renderer=null,n._crosshairGroup=null,n._options=null,n._axes=null,n._canvas=null,n._horizontalGroup=null,n._verticalGroup=null,n._horizontal=null,n._vertical=null,n._circle=null,n._panes=null},_init:function(n,t){var r=this,i=t.canvas;r._canvas={top:i.top,bottom:i.height-i.bottom,left:i.left,right:i.width-i.right,width:i.width,height:i.height},r._axes=t.axes,r._panes=t.panes,r._prepareOptions(n,v),r._prepareOptions(n,y)},_prepareOptions:function(t,i){this._options[i]={visible:t[i+"Line"].visible,line:{stroke:t[i+"Line"].color||t.color,"stroke-width":t[i+"Line"].width||t.width,dashStyle:t[i+"Line"].dashStyle||t.dashStyle,opacity:t[i+"Line"].opacity||t.opacity,"stroke-linecap":"butt"},label:n.extend(!0,{},t.label,t[i+"Line"].label)}},_createLines:function(n,t,i){for(var f=[],r=this._canvas,e=[r.left,r.top,r.left,r.top],u=0;u<2;u++)f.push(this._renderer.path(e,"line").attr(n).sharp(t).append(i));return f},render:function(){var n=this,u=n._renderer,f=n._options,i=f.vertical,t=f.horizontal,r=t.visible?t.line:i.line,o={stroke:r.stroke,"stroke-width":r["stroke-width"],dashStyle:r.dashStyle,opacity:r.opacity},e=n._canvas;n._horizontal={},n._vertical={},n._horizontalGroup=u.g().append(n._crosshairGroup),n._verticalGroup=u.g().append(n._crosshairGroup),i.visible&&(n._vertical.lines=n._createLines(i.line,"h",n._verticalGroup),n._vertical.labels=n._createLabels(n._axes[0],i,!1,n._verticalGroup)),t.visible&&(n._horizontal.lines=n._createLines(t.line,"v",n._horizontalGroup),n._horizontal.labels=n._createLabels(n._axes[1],t,!0,n._horizontalGroup)),n._circle=u.circle(e.left,e.top,0).attr(o).append(n._crosshairGroup)},_createLabels:function(i,r,u,f){var v=this,y=v._canvas,k=v._renderer,a,e,s,d=[],g,h,o;if(r.label&&r.label.visible)return n.each(i,function(n,i){var nt=i.getOptions(),v=nt.position;i._virtual||nt.stubData||(h=i.getCurrentLabelPos(),u?(e=y.top,a=h):(a=y.left,e=h),s=k.text("0",a,e).css(t.viz.core.utils.patchFontOptions(r.label.font)).attr({align:v===b||v===l?p:v===c?w:c}).append(f),o=s.getBBox(),s.attr({y:u?2*e-o.y-o.height/2:v===l?2*e-o.y:2*e-(o.y+o.height)}),g=k.rect(0,0,0,0).attr({fill:r.label.backgroundColor||r.line.stroke}).append(f).toBackground(),d.push({text:s,background:g,axis:i,pos:{coord:h,side:v}}))}),d},_updateText:function(t,i){var o=this,r,f,u,e;i&&n.each(i,function(n,i){(u=i.text,e=i.background,u)&&(f=i.axis.getUntranslatedValue(t),k(f)?(u.attr({text:f}),r=u.getBBox(),o._updateLinesCanvas(i.pos.side,i.pos.coord),e.attr({x:r.x-s,y:r.y-h,width:r.width+s*2,height:r.height+h*2})):(u.attr({text:""}),e.attr({x:0,y:0,width:0,height:0})))})},show:function(){this._crosshairGroup.attr({visibility:"visible"})},hide:function(){this._crosshairGroup.attr({visibility:"hidden"})},_updateLinesCanvas:function(n,t){var i=this._linesCanvas,r=this._canvas;i[n]=i[n]!==r[n]&&u(i[n]-r[n])<u(t-r[n])?i[n]:t},_updateLines:function(n,t,i,r,u){for(var h=this._linesCanvas,o=this._canvas,c=u?[[f(t-r,h.left),o.top,t-r,o.top],[t+r,o.top,e(h.right,t+r),o.top]]:[[o.left,f(h.top,i-r),o.left,i-r],[o.left,i+r,o.left,e(h.bottom,i+r)]],s=0;s<2;s++)n[s].attr({points:c[s]})},_resetLinesCanvas:function(){var n=this._canvas;this._linesCanvas={left:n.left,right:n.right,top:n.top,bottom:n.bottom}},_getClipRectForPane:function(n,t){for(var u=this._panes,i,r=0;r<u.length;r++)if(i=u[r].coords,i.left<=n&&i.right>=n&&i.top<=t&&i.bottom>=t)return u[r].clipRect;return{id:null}},shift:function(n,t,i){var r=this,f=r._horizontal,e=r._vertical,h,s=i?i+3:0,u=r._canvas;n=o(n),t=o(t),n>=u.left&&n<=u.right&&t>=u.top&&t<=u.bottom?(r.show(),r._resetLinesCanvas(),h=r._getClipRectForPane(n,t),r._circle.attr({cx:n,cy:t,r:s,clipId:h.id}),f.lines&&(r._updateText(t,f.labels),r._updateLines(f.lines,n,t,s,!0),r._horizontalGroup.attr({translateY:t-u.top})),e.lines&&(r._updateText(n,e.labels),r._updateLines(e.lines,n,t,s,!1),r._verticalGroup.attr({translateX:n-u.left}))):r.hide()}}}(jQuery,DevExpress),DevExpress.MOD_VIZ_CHARTS=!0}if(!DevExpress.MOD_VIZ_GAUGES){if(!DevExpress.MOD_VIZ_CORE)throw Error("Required module is not referenced: viz-core");(function(n){n.viz.gauges={__internals:{circularNeedles:{},circularMarkers:{},linearNeedles:{},linearMarkers:{}}}})(DevExpress),function(n,t){var r=n.viz.gauges.__internals,u=r.circularNeedles,o=r.circularMarkers,f=r.linearNeedles,s=r.linearMarkers,e=String;n.viz.gauges.__factory={createCircularIndicator:function(n,t,i){var f;switch(e(t).toLowerCase()){case"rectangleneedle":f=u.RectangleNeedle;break;case"triangleneedle":f=u.TriangleNeedle;break;case"twocolorneedle":f=u.TwoColorRectangleNeedle;break;case"rangebar":f=r.CircularRangeBar;break;case"trianglemarker":f=o.TriangleMarker;break;case"textcloud":f=o.TextCloudMarker;break;default:f=i?null:u.RectangleNeedle}return f?new f(n):null},createLinearIndicator:function(n,t,i){var u=r.LinearRangeBar;switch(e(t).toLowerCase()){case"rectangle":u=f.RectangleNeedle;break;case"rhombus":u=f.RhombusNeedle;break;case"circle":u=f.CircleNeedle;break;case"rangebar":u=r.LinearRangeBar;break;case"trianglemarker":u=s.TriangleMarker;break;case"textcloud":u=s.TextCloudMarker;break;default:u=i?null:r.LinearRangeBar}return u?new u(n):null},createCircularScale:function(n){return new r.CircularScale(n)},createLinearScale:function(n){return new r.LinearScale(n)},createCircularRangeContainer:function(n){return new r.CircularRangeContainer(n)},createLinearRangeContainer:function(n){return new r.LinearRangeContainer(n)},createTitle:function(n){return new r.Title(n)},createIndicator:function(){return r.Indicator&&new r.Indicator||null},createLayoutManager:function(){return new r.LayoutManager},createThemeManager:function(n){return new r.ThemeManager(n)},createTracker:function(n){return new r.Tracker(n)}};var h=n.utils.isFunction,c=t.extend,l=n.formatHelper;r.formatValue=function(n,t,i){t=t||{};var u=l.format(n,t.format,t.precision),r;return h(t.customizeText)?(r=c({value:n,valueText:u},i),e(t.customizeText.call(r,r))):u},r.getSampleText=function(n,t){var i=r.formatValue(n.getDomainStart(),t),u=r.formatValue(n.getDomainEnd(),t);return i.length>=u.length?i:u}}(DevExpress,jQuery),function(n,t,i){var u=isFinite,r=Number;n.viz.gauges.__internals.BaseElement=n.Class.inherit({ctor:function(n){var i=this;t.each(n,function(n,t){i["_"+n]=t}),i._init()},dispose:function(){var n=this;return t.each(n,function(t){n[t]=null}),n},getOffset:function(){return r(this._options.offset)||0}}),n.viz.gauges.__internals.BaseIndicator=n.viz.gauges.__internals.BaseElement.inherit({_init:function(){this._rootElement=this._createRoot(),this._trackerElement=this._createTracker()},_setupAnimation:function(){var n=this;n._options.animation&&(n._animation={step:function(t){n._actualValue=n._animation.start+n._animation.delta*t,n._actualPosition=n._translator.translate(n._actualValue),n._move()},duration:n._options.animation.duration>0?r(n._options.animation.duration):0,easing:n._options.animation.easing})},_runAnimation:function(n,t){var r=this,i=r._animation;i.start=r._actualValue,i.delta=n-r._actualValue,r._rootElement.animate({_:0},{step:i.step,duration:i.duration,easing:i.easing,complete:t})},_createRoot:function(){return this._renderer.g().attr({"class":this._className})},_createTracker:function(){return this._renderer.path([],"area")},_getTrackerSettings:t.noop,clean:function(){var n=this;return n._animation&&n._rootElement.stopAnimation(),n._rootElement.remove(),n._rootElement.clear(),n._clear(),n._tracker.detach(n._trackerElement),n._options=n.enabled=n._animation=null,n},render:function(n){var t=this;return t.type=n.type,t._options=n,t._actualValue=t._currentValue=t._translator.adjust(t._options.currentValue),t.enabled=t._isEnabled(),t.enabled&&(t._setupAnimation(),t._rootElement.attr({fill:t._options.color}).append(t._owner),t._tracker.attach(t._trackerElement,t,t._trackerInfo)),t},resize:function(n){var i=this;return i._rootElement.clear(),i._clear(),i.visible=i._isVisible(n),i.visible&&(t.extend(i._options,n),i._actualPosition=i._translator.translate(i._actualValue),i._render(),i._trackerElement.attr(i._getTrackerSettings()),i._move()),i},value:function(n,t){var r=this,e=!0,f;return n!==i?(f=r._translator.adjust(n),r._notifiers.dirty(),r._currentValue!==f&&u(f)&&(r._currentValue=f,r.visible&&(r._animation&&!t?(e=!1,r._runAnimation(f,r._notifiers.ready)):(r._actualValue=f,r._actualPosition=r._translator.translate(f),r._move()))),e&&r._notifiers.ready(),r):r._currentValue},_isEnabled:null,_isVisible:null,_render:null,_clear:null,_move:null})}(DevExpress,jQuery),function(n){function h(n){var u=n.x,f=n.y,t=i[n.type],o=n.textWidth+2*n.horMargin,s=n.textHeight+2*n.verMargin,h,c,l=u,a=f;return h=c=n.tailLength,t[0]&1?c=e(c,s/3):h=e(h,o/3),{cx:r(l+t[0]*h+(t[0]+t[2])*o/2),cy:r(a+t[1]*c+(t[1]+t[3])*s/2),points:[r(u),r(f),r(u+=t[0]*(o+h)),r(f+=t[1]*(s+c)),r(u+=t[2]*o),r(f+=t[3]*s),r(u+=t[4]*o),r(f+=t[5]*s),r(u+=t[6]*(o-h)),r(f+=t[7]*(s-c))]}}var u=n.viz,f=u.core,e=Math.min,r=Math.round,o=u.gauges.__internals.formatValue,s=u.gauges.__internals.getSampleText,i={};i["right-bottom"]=i.rb=[0,-1,-1,0,0,1,1,0],i["bottom-right"]=i.br=[-1,0,0,-1,1,0,0,1],i["left-bottom"]=i.lb=[0,-1,1,0,0,1,-1,0],i["bottom-left"]=i.bl=[1,0,0,-1,-1,0,0,1],i["left-top"]=i.lt=[0,1,1,0,0,-1,-1,0],i["top-left"]=i.tl=[1,0,0,1,-1,0,0,-1],i["right-top"]=i.rt=[0,1,-1,0,0,-1,1,0],i["top-right"]=i.tr=[-1,0,0,1,1,0,0,-1],u.gauges.__internals.BaseTextCloudMarker=u.gauges.__internals.BaseIndicator.inherit({_move:function(){var n=this,i,t,r=n._getTextCloudOptions();n._text.attr({text:o(n._actualValue,n._options.text)}),i=n._text.getBBox(),t=h({x:r.x,y:r.y,textWidth:i.width,textHeight:i.height,horMargin:n._options.horizontalOffset,verMargin:n._options.verticalOffset,tailLength:n._options.arrowLength,type:r.type}),n._text.attr({x:t.cx,y:t.cy+n._textVerticalOffset}),n._cloud.attr({points:t.points}),n._trackerElement&&n._trackerElement.attr({points:t.points})},_measureText:function(){var n=this,i,r,t;n._textVerticalOffset||(i=n._createRoot().append(n._owner),r=n._renderer.text(s(n._translator,n._options.text),0,0).attr({align:"center"}).css(f.utils.patchFontOptions(n._options.text.font)).append(i),t=r.getBBox(),i.remove(),n._textVerticalOffset=-t.y-t.height/2,n._textWidth=t.width,n._textHeight=t.height,n._textFullWidth=n._textWidth+2*n._options.horizontalOffset,n._textFullHeight=n._textHeight+2*n._options.verticalOffset)},_render:function(){var n=this;n._measureText(),n._cloud=n._cloud||n._renderer.path([],"area").append(n._rootElement),n._text=n._text||n._renderer.text().append(n._rootElement),n._text.attr({align:"center"}).css(f.utils.patchFontOptions(n._options.text.font))},_clear:function(){delete this._cloud,delete this._text},getTooltipParameters:function(){var n=this._getTextCloudOptions();return{x:n.x,y:n.y,value:this._currentValue,color:this._options.color}}})}(DevExpress),function(n,t){var r=n.viz,u=r.core,f=t.extend,e=r.gauges.__internals.formatValue,o=r.gauges.__internals.getSampleText;r.gauges.__internals.BaseRangeBar=r.gauges.__internals.BaseIndicator.inherit({_measureText:function(){var n=this,i,r,t;n._hasText=n._isTextVisible(),n._hasText&&!n._textVerticalOffset&&(i=n._createRoot().append(n._owner),r=n._renderer.text(o(n._translator,n._options.text),0,0).attr({"class":"dxg-text",align:"center"}).css(u.utils.patchFontOptions(n._options.text.font)).append(i),t=r.getBBox(),i.remove(),n._textVerticalOffset=-t.y-t.height/2,n._textWidth=t.width,n._textHeight=t.height)},_move:function(){var n=this;n._updateBarItemsPositions(),n._hasText&&(n._text.attr({text:e(n._actualValue,n._options.text)}),n._updateTextPosition(),n._updateLinePosition())},_updateBarItems:function(){var n=this,u=n._options,i,r,t=n._translator;n._setBarSides(),n._startPosition=t.translate(t.getDomainStart()),n._endPosition=t.translate(t.getDomainEnd()),n._basePosition=t.translate(u.baseValue),n._space=n._getSpace(),i=u.backgroundColor||"none",i!=="none"&&n._space>0?r=u.containerBackgroundColor||"none":(n._space=0,r="none"),n._backItem1.attr({fill:i}),n._backItem2.attr({fill:i}),n._spaceItem1.attr({fill:r}),n._spaceItem2.attr({fill:r})},_getSpace:function(){return 0},_updateTextItems:function(){var n=this;n._hasText?(n._line=n._line||n._renderer.path([],"line").attr({"class":"dxg-main-bar","stroke-linecap":"square"}).append(n._rootElement),n._text=n._text||n._renderer.text("",0,0).attr({"class":"dxg-text"}).append(n._rootElement),n._text.attr({align:n._getTextAlign()}).css(n._getFontOptions()),n._setTextItemsSides()):(n._line&&(n._line.remove(),delete n._line),n._text&&(n._text.remove(),delete n._text))},_isTextVisible:function(){return!1},_getTextAlign:function(){return"center"},_getFontOptions:function(){var t=this._options,n=t.text.font;return n&&n.color||(n=f({},n,{color:t.color})),u.utils.patchFontOptions(n)},_updateBarItemsPositions:function(){var n=this,t=n._getPositions();n._backItem1.attr(n._buildItemSettings(t.start,t.back1)),n._backItem2.attr(n._buildItemSettings(t.back2,t.end)),n._spaceItem1.attr(n._buildItemSettings(t.back1,t.main1)),n._spaceItem2.attr(n._buildItemSettings(t.main2,t.back2)),n._mainItem.attr(n._buildItemSettings(t.main1,t.main2)),n._trackerElement&&n._trackerElement.attr(n._buildItemSettings(t.main1,t.main2))},_render:function(){var n=this;n._measureText(),n._backItem1||(n._backItem1=n._createBarItem(),n._backItem1.attr({"class":"dxg-back-bar"})),n._backItem2||(n._backItem2=n._createBarItem(),n._backItem2.attr({"class":"dxg-back-bar"})),n._spaceItem1||(n._spaceItem1=n._createBarItem(),n._spaceItem1.attr({"class":"dxg-space-bar"})),n._spaceItem2||(n._spaceItem2=n._createBarItem(),n._spaceItem2.attr({"class":"dxg-space-bar"})),n._mainItem||(n._mainItem=n._createBarItem(),n._mainItem.attr({"class":"dxg-main-bar"})),n._updateBarItems(),n._updateTextItems()},_clear:function(){var n=this;delete n._backItem1,delete n._backItem2,delete n._spaceItem1,delete n._spaceItem2,delete n._mainItem,delete n._hasText,delete n._line,delete n._text},getTooltipParameters:function(){var n=this._getTooltipPosition();return{x:n.x,y:n.y,value:this._currentValue,color:this._options.color,offset:0}}})}(DevExpress,jQuery),function(n){var r=n.viz.gauges.__internals.circularNeedles,i=Number;r.SimpleIndicator=n.viz.gauges.__internals.BaseIndicator.inherit({_move:function(){var t=this,i=t._options,r=n.utils.convertAngleToRendererSpace(t._actualPosition);t._rootElement.rotate(r,i.x,i.y),t._trackerElement&&t._trackerElement.rotate(r,i.x,i.y)},_isEnabled:function(){return this._options.width>0},_isVisible:function(n){return n.radius-i(this._options.indentFromCenter)>0},_getTrackerSettings:function(){var n=this._options,u=n.x,f=n.y-(n.radius+i(n.indentFromCenter))/2,t=n.width/2,r=(n.radius-i(n.indentFromCenter))/2;return t>10||(t=10),r>10||(r=10),{points:[u-t,f-r,u-t,f+r,u+t,f+r,u+t,f-r]}},_renderSpindle:function(){var n=this,t=n._options,r;t.spindleSize>0&&(r=i(t.spindleGapSize)||0,r>0&&(r=r<=t.spindleSize?r:i(t.spindleSize)),n._spindleOuter=n._spindleOuter||n._renderer.circle().append(n._rootElement),n._spindleInner=n._spindleInner||n._renderer.circle().append(n._rootElement),n._spindleOuter.attr({"class":"dxg-spindle-border",cx:t.x,cy:t.y,r:t.spindleSize/2}),n._spindleInner.attr({"class":"dxg-spindle-hole",cx:t.x,cy:t.y,r:r/2,fill:t.containerBackgroundColor}))},_render:function(){var n=this;n._renderPointer(),n._renderSpindle()},_clearSpindle:function(){delete this._spindleOuter,delete this._spindleInner},_clearPointer:function(){delete this._element},_clear:function(){this._clearPointer(),this._clearSpindle()},measure:function(n){var t={max:n.radius};return this._options.indentFromCenter<0&&(t.inverseHorizontalOffset=t.inverseVerticalOffset=-i(this._options.indentFromCenter)),t},getTooltipParameters:function(){var t=this._options,r=n.utils.getCosAndSin(this._actualPosition),u=(t.radius+i(t.indentFromCenter))/2;return{x:t.x+r.cos*u,y:t.y-r.sin*u,value:this._currentValue,color:t.color,offset:t.width/2}}}),r.RectangleNeedle=r.SimpleIndicator.inherit({_renderPointer:function(){var t=this,n=t._options,u=n.y-n.radius,f=n.y-i(n.indentFromCenter),r=n.x-n.width/2,e=r+i(n.width);t._element=t._element||t._renderer.path([],"area").append(t._rootElement),t._element.attr({points:[r,f,r,u,e,u,e,f]})}}),r.TriangleNeedle=r.SimpleIndicator.inherit({_renderPointer:function(){var t=this,n=t._options,u=n.y-n.radius,r=n.y-i(n.indentFromCenter),f=n.x-n.width/2,e=n.x+n.width/2;t._element=t._element||t._renderer.path([],"area").append(t._rootElement),t._element.attr({points:[f,r,n.x,u,e,r]})}}),r.TwoColorRectangleNeedle=r.SimpleIndicator.inherit({_renderPointer:function(){var n=this,t=n._options,f=t.x-t.width/2,e=t.x+t.width/2,o=t.y-t.radius,s=t.y-i(t.indentFromCenter),h=i(t.secondFraction)||0,u,r;h>=1?u=r=s:h<=0?u=r=o:(r=o+(s-o)*h,u=r+i(t.space)),n._firstElement=n._firstElement||n._renderer.path([],"area").append(n._rootElement),n._spaceElement=n._spaceElement||n._renderer.path([],"area").append(n._rootElement),n._secondElement=n._secondElement||n._renderer.path([],"area").append(n._rootElement),n._firstElement.attr({points:[f,s,f,u,e,u,e,s]}),n._spaceElement.attr({points:[f,u,f,r,e,r,e,u],"class":"dxg-hole",fill:t.containerBackgroundColor}),n._secondElement.attr({points:[f,r,f,o,e,o,e,r],"class":"dxg-part",fill:t.secondColor})},_clearPointer:function(){delete this._firstElement,delete this._secondElement,delete this._spaceElement}})}(DevExpress),function(n){var i=n.viz.gauges.__internals.linearNeedles;i.SimpleIndicator=n.viz.gauges.__internals.BaseIndicator.inherit({_move:function(){var n=this,t=n._actualPosition-n._zeroPosition;n._rootElement.move(n.vertical?0:t,n.vertical?t:0),n._trackerElement&&n._trackerElement.move(n.vertical?0:t,n.vertical?t:0)},_isEnabled:function(){return this.vertical=this._options.vertical,this._options.length>0&&this._options.width>0},_isVisible:function(){return!0},_getTrackerSettings:function(){var n=this._options,r,u,f,e,t=n.width/2,i=n.length/2,o=this._zeroPosition;return t>10||(t=10),i>10||(i=10),this.vertical?(r=n.x-i,u=n.x+i,f=o+t,e=o-t):(r=o-t,u=o+t,f=n.y+i,e=n.y-i),{points:[r,f,r,e,u,e,u,f]}},_render:function(){var n=this;n._zeroPosition=n._translator.getCodomainStart()},_clear:function(){delete this._element},measure:function(n){var t=this.vertical?n.x:n.y;return{min:t-this._options.length/2,max:t+this._options.length/2}},getTooltipParameters:function(){var n=this,t=n._options,r=n._actualPosition,i={x:r,y:r,value:n._currentValue,color:t.color,offset:t.width/2};return n.vertical?i.x=t.x:i.y=t.y,i}}),i.RectangleNeedle=i.SimpleIndicator.inherit({_render:function(){var t=this,n=t._options,i,r,u,f,e;t.callBase(),i=t._zeroPosition,t.vertical?(r=n.x-n.length/2,u=n.x+n.length/2,f=i+n.width/2,e=i-n.width/2):(r=i-n.width/2,u=i+n.width/2,f=n.y+n.length/2,e=n.y-n.length/2),t._element=t._element||t._renderer.path([],"area").append(t._rootElement),t._element.attr({points:[r,f,r,e,u,e,u,f]})}}),i.RhombusNeedle=i.SimpleIndicator.inherit({_render:function(){var n=this,t=n._options,i,r,u,f;n.callBase(),n.vertical?(i=t.x,r=n._zeroPosition,u=t.length/2||0,f=t.width/2||0):(i=n._zeroPosition,r=t.y,u=t.width/2||0,f=t.length/2||0),n._element=n._element||n._renderer.path([],"area").append(n._rootElement),n._element.attr({points:[i-u,r,i,r-f,i+u,r,i,r+f]})}}),i.CircleNeedle=i.SimpleIndicator.inherit({_render:function(){var n=this,t=n._options,i,r,u;n.callBase(),n.vertical?(i=t.x,r=n._zeroPosition):(i=n._zeroPosition,r=t.y),u=t.length/2||0,n._element=n._element||n._renderer.circle().append(n._rootElement),n._element.attr({cx:i,cy:r,r:u})}})}(DevExpress),function(n){var r=n.viz.gauges.__internals.circularMarkers,i=Number;r.TriangleMarker=n.viz.gauges.__internals.circularNeedles.SimpleIndicator.inherit({_isEnabled:function(){return this._options.length>0&&this._options.width>0},_isVisible:function(n){return n.radius>0},_render:function(){var t=this,n=t._options,u=n.x,f=n.y-n.radius,e=n.width/2||0,o=f-i(n.length),r;t._element=t._element||t._renderer.path([],"area").append(t._rootElement),r={points:[u,f,u-e,o,u+e,o],stroke:"none","stroke-width":0,"stroke-linecap":"square"},n.space>0&&(r["stroke-width"]=Math.min(n.space,n.width/4)||0,r.stroke=r["stroke-width"]>0?n.containerBackgroundColor||"none":"none"),t._element.attr(r).sharp()},_clear:function(){delete this._element},_getTrackerSettings:function(){var n=this._options,r=n.x,u=n.y-n.radius-n.length/2,t=n.width/2,i=n.length/2;return t>10||(t=10),i>10||(i=10),{points:[r-t,u-i,r-t,u+i,r+t,u+i,r+t,u-i]}},measure:function(n){return{min:n.radius,max:n.radius+i(this._options.length)}},getTooltipParameters:function(){var t=this._options,r=n.utils.getCosAndSin(this._actualPosition),u=t.radius+t.length/2,i=this.callBase();return i.x=t.x+r.cos*u,i.y=t.y-r.sin*u,i.offset=t.length/2,i}}),r.TextCloudMarker=n.viz.gauges.__internals.BaseTextCloudMarker.inherit({_isEnabled:function(){return!0},_isVisible:function(n){return n.radius>0},_getTextCloudOptions:function(){var t=this,r=n.utils.getCosAndSin(t._actualPosition),i=n.utils.normalizeAngle(t._actualPosition);return{x:t._options.x+r.cos*t._options.radius,y:t._options.y-r.sin*t._options.radius,type:i>270?"left-top":i>180?"top-right":i>90?"right-bottom":"bottom-left"}},measure:function(n){var t=this,f=i(t._options.arrowLength)||0,r,u;return t._measureText(),r=t._textFullHeight+f,u=t._textFullWidth+f,{min:n.radius,max:n.radius,horizontalOffset:u,verticalOffset:r,inverseHorizontalOffset:u,inverseVerticalOffset:r}}})}(DevExpress),function(n){var u=n.viz.gauges.__internals.linearMarkers,i=Number,r=String;u.TriangleMarker=n.viz.gauges.__internals.linearNeedles.SimpleIndicator.inherit({_isEnabled:function(){var n=this;return n.vertical=n._options.vertical,n._inverted=n.vertical?r(n._options.horizontalOrientation).toLowerCase()==="right":r(n._options.verticalOrientation).toLowerCase()==="bottom",n._options.length>0&&n._options.width>0},_isVisible:function(){return!0},_render:function(){var t=this,n=t._options,r,e,u,o,f={stroke:"none","stroke-width":0,"stroke-linecap":"square"};t.callBase(),t.vertical?(r=n.x,u=t._zeroPosition,e=r+i(t._inverted?n.length:-n.length),f.points=[r,u,e,u-n.width/2,e,u+n.width/2]):(u=n.y,r=t._zeroPosition,o=u+i(t._inverted?n.length:-n.length),f.points=[r,u,r-n.width/2,o,r+n.width/2,o]),n.space>0&&(f["stroke-width"]=Math.min(n.space,n.width/4)||0,f.stroke=f["stroke-width"]>0?n.containerBackgroundColor||"none":"none"),t._element=t._element||t._renderer.path([],"area").append(t._rootElement),t._element.attr(f).sharp()},_getTrackerSettings:function(){var n=this,s=n._options,f=s.width/2,e=i(s.length),t,r,u,o,h;return f>10||(f=10),e>20||(e=20),n.vertical?(t=r=s.x,r=t+(n._inverted?e:-e),u=n._zeroPosition+f,o=n._zeroPosition-f,h=[t,u,r,u,r,o,t,o]):(u=s.y,o=u+(n._inverted?e:-e),t=n._zeroPosition-f,r=n._zeroPosition+f,h=[t,u,t,o,r,o,r,u]),{points:h}},measure:function(n){var u=this,f=i(u._options.length),t,r;return u.vertical?(t=r=n.x,u._inverted?r=t+f:t=r-f):(t=r=n.y,u._inverted?r=t+f:t=r-f),{min:t,max:r,indent:u._options.width/2}},getTooltipParameters:function(){var n=this,i=n._options,r=(n._inverted?i.length:-i.length)/2,t=n.callBase();return n.vertical?t.x+=r:t.y+=r,t.offset=i.length/2,t}}),u.TextCloudMarker=n.viz.gauges.__internals.BaseTextCloudMarker.inherit({_isEnabled:function(){var n=this;return n.vertical=n._options.vertical,n._inverted=n.vertical?r(n._options.horizontalOrientation).toLowerCase()==="right":r(n._options.verticalOrientation).toLowerCase()==="bottom",!0},_isVisible:function(){return!0},_getTextCloudOptions:function(){var n=this,i=n._actualPosition,r=n._actualPosition,t;return n.vertical?(i=n._options.x,t=n._inverted?"top-left":"top-right"):(r=n._options.y,t=n._inverted?"right-top":"right-bottom"),{x:i,y:r,type:t}},measure:function(n){var t=this,r,u,f=i(t._options.arrowLength)||0,e;return t._measureText(),t.vertical?(e=t._textFullHeight,t._inverted?(r=n.x,u=n.x+f+t._textFullWidth):(r=n.x-f-t._textFullWidth,u=n.x)):(e=t._textFullWidth,t._inverted?(r=n.y,u=n.y+f+t._textFullHeight):(r=n.y-f-t._textFullHeight,u=n.y)),{min:r,max:u,indent:e}}})}(DevExpress),function(n){var i=Number,r=n.utils.getCosAndSin,u=n.utils.convertAngleToRendererSpace,f=Math.max,e=Math.min;n.viz.gauges.__internals.CircularRangeBar=n.viz.gauges.__internals.BaseRangeBar.inherit({_isEnabled:function(){return this._options.size>0},_isVisible:function(n){return n.radius-i(this._options.size)>0},_createBarItem:function(){return this._renderer.arc().attr({"stroke-linejoin":"round"}).append(this._rootElement)},_createTracker:function(){return this._renderer.arc().attr({"stroke-linejoin":"round"})},_setBarSides:function(){var n=this;n._maxSide=n._options.radius,n._minSide=n._maxSide-i(n._options.size)},_getSpace:function(){var n=this._options;return n.space>0?n.space*180/n.radius/Math.PI:0},_isTextVisible:function(){var n=this._options.text||{};return n.indent>0},_setTextItemsSides:function(){var n=this,t=n._options,r=i(t.text.indent);n._lineFrom=t.y-t.radius,n._lineTo=n._lineFrom-r,n._textRadius=t.radius+r},_getPositions:function(){var n=this,r=n._basePosition,u=n._actualPosition,t,i;return r>=u?(t=r,i=u):(t=u,i=r),{start:n._startPosition,end:n._endPosition,main1:t,main2:i,back1:e(t+n._space,n._startPosition),back2:f(i-n._space,n._endPosition)}},_buildItemSettings:function(n,t){var i=this;return{x:i._options.x,y:i._options.y,innerRadius:i._minSide,outerRadius:i._maxSide,startAngle:t,endAngle:n}},_updateTextPosition:function(){var n=this,t=r(n._actualPosition),i=n._options.x+n._textRadius*t.cos,u=n._options.y-n._textRadius*t.sin;i+=t.cos*n._textWidth*.6,u-=t.sin*n._textHeight*.6,n._text.attr({x:i,y:u+n._textVerticalOffset})},_updateLinePosition:function(){var n=this,t=n._options.x,i,r;n._basePosition>n._actualPosition?(i=t-2,r=t):n._basePosition<n._actualPosition?(i=t,r=t+2):(i=t-1,r=t+1),n._line.attr({points:[i,n._lineFrom,i,n._lineTo,r,n._lineTo,r,n._lineFrom]}).rotate(u(n._actualPosition),t,n._options.y).sharp()},_getTooltipPosition:function(){var n=this,t=r((n._basePosition+n._actualPosition)/2),i=(n._minSide+n._maxSide)/2;return{x:n._options.x+t.cos*i,y:n._options.y-t.sin*i}},measure:function(n){var t=this,r={min:n.radius-i(t._options.size),max:n.radius};return t._measureText(),t._hasText&&(r.max+=i(t._options.text.indent),r.horizontalOffset=t._textWidth,r.verticalOffset=t._textHeight),r}})}(DevExpress),function(n){var i=Number,r=String;n.viz.gauges.__internals.LinearRangeBar=n.viz.gauges.__internals.BaseRangeBar.inherit({_isEnabled:function(){var n=this;return n.vertical=n._options.vertical,n._inverted=n.vertical?r(n._options.horizontalOrientation).toLowerCase()==="right":r(n._options.verticalOrientation).toLowerCase()==="bottom",n._options.size>0},_isVisible:function(){return!0},_createBarItem:function(){return this._renderer.path([],"area").append(this._rootElement)},_createTracker:function(){return this._renderer.path([],"area")},_setBarSides:function(){var t=this,n=t._options,f=i(n.size),r,u;t.vertical?t._inverted?(r=n.x,u=n.x+f):(r=n.x-f,u=n.x):t._inverted?(r=n.y,u=n.y+f):(r=n.y-f,u=n.y),t._minSide=r,t._maxSide=u,t._minBound=r,t._maxBound=u},_getSpace:function(){var n=this._options;return n.space>0?i(n.space):0},_isTextVisible:function(){var n=this._options.text||{};return n.indent>0||n.indent<0},_getTextAlign:function(){return this.vertical?this._options.text.indent>0?"left":"right":"center"},_setTextItemsSides:function(){var n=this,t=i(n._options.text.indent);t>0?(n._lineStart=n._maxSide,n._lineEnd=n._maxSide+t,n._textPosition=n._lineEnd+(n.vertical?2:n._textHeight/2),n._maxBound=n._textPosition+(n.vertical?n._textWidth:n._textHeight/2)):t<0&&(n._lineStart=n._minSide,n._lineEnd=n._minSide+t,n._textPosition=n._lineEnd-(n.vertical?2:n._textHeight/2),n._minBound=n._textPosition-(n.vertical?n._textWidth:n._textHeight/2))},_getPositions:function(){var u=this,s=u._startPosition,h=u._endPosition,f=u._space,i=u._basePosition,r=u._actualPosition,n,t,e,o;return s<h?(i<r?(n=i,t=r):(n=r,t=i),e=n-f,o=t+f):(i>r?(n=i,t=r):(n=r,t=i),e=n+f,o=t-f),{start:s,end:h,main1:n,main2:t,back1:e,back2:o}},_buildItemSettings:function(n,t){var u=this,i=u._minSide,r=u._maxSide,f=u.vertical?[i,n,i,t,r,t,r,n]:[n,i,n,r,t,r,t,i];return{points:f}},_updateTextPosition:function(){var n=this;n._text.attr(n.vertical?{x:n._textPosition,y:n._actualPosition+n._textVerticalOffset}:{x:n._actualPosition,y:n._textPosition+n._textVerticalOffset})},_updateLinePosition:function(){var n=this,t=n._actualPosition,i,r,u;n.vertical?(n._basePosition>=t?(i=t,r=t+2):(i=t-2,r=t),u=[n._lineStart,i,n._lineStart,r,n._lineEnd,r,n._lineEnd,i]):(n._basePosition<=t?(i=t-2,r=t):(i=t,r=t+2),u=[i,n._lineStart,i,n._lineEnd,r,n._lineEnd,r,n._lineStart]),n._line.attr({points:u}).sharp()},_getTooltipPosition:function(){var n=this,t=(n._minSide+n._maxSide)/2,i=(n._basePosition+n._actualPosition)/2;return n.vertical?{x:t,y:i}:{x:i,y:t}},measure:function(n){var t=this,e=i(t._options.size),f=i(t._options.text.indent),r,u,o;return t._measureText(),t.vertical?(r=u=n.x,t._inverted?u=u+e:r=r-e,t._hasText&&(o=t._textHeight/2,f>0&&(u+=f+t._textWidth),f<0&&(r+=f-t._textWidth))):(r=u=n.y,t._inverted?u=u+e:r=r-e,t._hasText&&(o=t._textWidth/2,f>0&&(u+=f+t._textHeight),f<0&&(r+=f-t._textHeight))),{min:r,max:u,indent:o}}})}(DevExpress),function(n,t,i){function l(n,t){var i=0,r=t.length-1,e=t[i]-t[r]<0,u,f=-1;for(t[i]===n&&(f=i),t[r]===n&&(f=r);f<0&&i<=r;)u=~~((i+r)/2),t[u]===n?f=u:t[u]-n<0===e?i=u+1:r=u-1;return f}function a(n,t){return n-t}var u=n.viz,o=u.core,r=Number,y=String,p=isFinite,s=Math,h=s.min,e=s.max,w=s.abs,b=s.PI/180,c=n.utils,k=c.isFunction,d=c.isArray,g=c.getCosAndSin,nt=c.convertAngleToRendererSpace,f=t.map,tt=n.formatHelper,v=o.CoreFactory.createTickManager;u.gauges.__internals.BaseScale=u.gauges.__internals.BaseElement.inherit({_init:function(){var n=this;n._root=n._renderer.g().attr({"class":"dxg-scale"}),n._majorTicks=n._renderer.g().attr({"class":"dxg-major-ticks"}),n._minorTicks=n._renderer.g().attr({"class":"dxg-minor-ticks"}),n._labels=n._renderer.g().attr({"class":"dxg-labels"})},clean:function(){var n=this;return n._root.remove(),n._majorTicks.remove().clear(),n._minorTicks.remove().clear(),n._labels.remove().clear(),n._majorTicksEnabled=n._minorTicksEnabled=n._labelsEnabled=n._options=n.enabled=null,n},render:function(n){var t=this;return t._options=n,t._processOptions(n),(t._majorTicksEnabled||t._minorTicksEnabled||t._labelsEnabled)&&(t.enabled=!0,t._root.append(t._container),t._majorTicksEnabled&&t._majorTicks.append(t._root),t._minorTicksEnabled&&t._minorTicks.append(t._root),t._labelsEnabled&&(t._labels.append(t._root),t._measureText())),t},_processOptions:function(n){var t=this;t._majorTicksEnabled=n.majorTick.visible&&n.majorTick.length>0&&n.majorTick.width>0,t._minorTicksEnabled=n.minorTick.visible&&n.minorTick.length>0&&n.minorTick.width>0,t._labelsEnabled=n.label.visible&&r(n.label.indentFromTick)!==0,t._setupOrientation()},_measureText:function(){var n=this,f=n._translator.getDomain(),u=n._options,e=v({},{min:f[0],max:f[1],screenDelta:u.approximateScreenDelta},{tickInterval:u.majorTick.tickInterval>0?r(u.majorTick.tickInterval):i,stick:!0,textFontStyles:o.utils.patchFontOptions(u.label.font),gridSpacingFactor:n._getGridSpacingFactor().majorTicks,renderText:function(t,i,r,u){return n._renderer.text(t,i,r,u).append(n._renderer.root)},getText:function(t){return n._formatValue(t)},overlappingBehaviorType:n._overlappingBehaviorType}),t=e.getMaxLabelParams();n._textVerticalOffset=-t.y-t.height/2,n._textWidth=t.width,n._textHeight=t.height,n._textLength=t.length},_formatValue:function(n){var i=this._options.label,t=tt.format(n,i.format,i.precision);return k(i.customizeText)&&(t={value:n,valueText:t},t=y(i.customizeText.call(t,t))),t},_setupOrientation:null,_getCustomValues:function(n,t){var u=this._translator,i=[];return d(n)&&(i=f(n,function(n){return p(u.translate(n))?r(n):null}).sort(t),i=f(i,function(n,t){return n!==i[t-1]?n:null})),i},_getLabelPosition:function(n){return this._getAxisLabelPosition(r(this._options.majorTick.length),r(this._options.label.indentFromTick),n)},_generateTicks:function(n){var t=this,u=t._options,s=t._translator.getDomain(),c={min:s[0],max:s[1],screenDelta:t._getScreenDelta(n)},h=t._getGridSpacingFactor(),f={tickInterval:u.majorTick.tickInterval>0?r(u.majorTick.tickInterval):i,minorTickInterval:u.minorTick.tickInterval>0?r(u.minorTick.tickInterval):i,gridSpacingFactor:h.majorTicks,minorGridSpacingFactor:h.minorTicks,numberMultipliers:[1,2,5],textFontStyles:o.utils.patchFontOptions(u.label.font),labelOptions:u.label,getText:function(n){return t._formatValue(n)},isHorizontal:!t.vertical,stick:!0,showMinorTicks:!0},e;return u.majorTick.useTicksAutoArrangement&&(f.useTicksAutoArrangement=!0,f.renderText=function(n,i,r,u){return t._renderer.text(n,i,r,u).append(t._renderer.root)},f.translate=t._getTranslateFunction(n),t._applyOverlappingOptions(f,n)),e=v({},c,f),{majorTicks:e.getTicks(!0),minorTicks:e.getMinorTicks()}},_getTicks:function(n){var t=this,i=t._options,o=t._generateTicks(n),r=i.majorTick.showCalculatedTicks?o.majorTicks:[],u=f(t._getCustomValues(i.majorTick.customTickValues,a),function(n){return l(n,r)===-1?n:null}),s=f(i.minorTick.showCalculatedTicks?o.minorTicks:[],function(n){return l(n,u)===-1?n:null}),e=t._getCustomValues(i.minorTick.customTickValues,a),h=r.concat(s,u).sort(a);return e=f(e,function(n){return l(n,h)===-1?n:null}),{major:f(r.concat(u),function(n){return{value:n,position:t._translator.translate(n)}}),minor:f(s.concat(e),function(n){return{value:n,position:t._translator.translate(n)}})}},_createMajorTicks:function(n,t){var i=this,f,u=0,o=n.length,e;if(i._majorTicks.clear().attr({fill:i._options.majorTick.color}),f=i._getTickPoints(r(i._options.majorTick.length),r(i._options.majorTick.width),t),f)for(i._options.hideFirstTick&&++u,i._options.hideLastTick&&--o;u<o;++u)e=i._renderer.path(f,"area"),i._moveTick(e,n[u],t),e.append(i._majorTicks)},_createMinorTicks:function(n,t){var i=this,u,f=0,o=n.length,e;if(i._minorTicks.clear().attr({fill:i._options.minorTick.color}),u=i._getTickPoints(r(i._options.minorTick.length),r(i._options.minorTick.width),t),u)for(;f<o;++f)e=i._renderer.path(u,"area"),i._moveTick(e,n[f],t),e.append(i._minorTicks)},_createLabels:function(n,t){var i=this,c=r(i._options.label.indentFromTick),f,u=0,l=n.length,e,s,a={},h;if(i._labels.clear().attr({align:i._getLabelAlign(c)}).css(o.utils.patchFontOptions(i._options.label.font)),f=i._getLabelPosition(t),f)for(h=i._options.label.useRangeColors?i._options.rangeContainer:null,i._options.hideFirstLabel&&++u,i._options.hideLastLabel&&--l;u<l;++u)s=i._formatValue(n[u].value),a.fill=h?h.getColorForValue(n[u].value):null,e=i._getLabelOptions(s,f,c,n[u],t),i._renderer.text(s,e.x,e.y+i._textVerticalOffset).css(a).append(i._labels)},resize:function(n){var t=this,i=t._getTicks(n);return t._majorTicksEnabled&&t._createMajorTicks(i.major,n),t._minorTicksEnabled&&t._createMinorTicks(i.minor,n),t._labelsEnabled&&t._createLabels(i.major,n),t}}),u.gauges.__internals.CircularScale=u.gauges.__internals.BaseScale.inherit({_getGridSpacingFactor:function(){return{majorTicks:17,minorTicks:5}},_getTranslateFunction:function(n){var t=this,i=r(t._options.label.indentFromTick),u=this._translator;return n=n||{x:0,y:0,radius:0},function(r){var f=t._getLabelPosition(n),e=t._formatValue(r);return t._getLabelOptions(e,f,i,{position:u.translate(r)},n)}},_overlappingBehaviorType:"circular",_getScreenDelta:function(n){return(this._translator.getCodomainStart()-this._translator.getCodomainEnd())*n.radius*b},_setupOrientation:function(){var n=this;n._inner=n._outer=0;switch(n._options.orientation){case"inside":n._inner=1;break;case"center":n._inner=n._outer=.5;break;default:n._outer=1}},_getTickPoints:function(n,t,i){var f=i.x-t/2,e=i.x+t/2,r=i.y-i.radius-n*this._outer,u=i.y-i.radius+n*this._inner;return r>0&&u>0?[f,r,e,r,e,u,f,u]:null},_moveTick:function(n,t,i){n.rotate(nt(t.position),i.x,i.y)},_getAxisLabelPosition:function(n,t,i){var r=i.radius+n*(t>=0?this._outer:-this._inner)+t;return r>0?r:null},_getLabelAlign:function(){return"center"},_applyOverlappingOptions:function(n,t){n.circularRadius=this._getLabelPosition(t),n.circularStartAngle=this._translator.getCodomainStart(),n.circularEndAngle=this._translator.getCodomainEnd(),n.overlappingBehaviorType="circular"},_getLabelOptions:function(n,t,i,r,u){var f=g(r.position),e=u.x+f.cos*t,o=u.y-f.sin*t,s=f.cos*(n.length/this._textLength)*this._textWidth/2,h=f.sin*this._textHeight/2;return i>0?(e+=s,o-=h):(e-=s,o+=h),{x:e,y:o}},measure:function(n){var t=this,i={min:n.radius,max:n.radius};return t._majorTicksEnabled&&(i.min=h(i.min,n.radius-t._inner*t._options.majorTick.length),i.max=e(i.max,n.radius+t._outer*t._options.majorTick.length)),t._minorTicksEnabled&&(i.min=h(i.min,n.radius-t._inner*t._options.minorTick.length),i.max=e(i.max,n.radius+t._outer*t._options.minorTick.length)),t._labelsEnabled&&(t._options.label.indentFromTick>0?(i.horizontalOffset=r(t._options.label.indentFromTick)+t._textWidth,i.verticalOffset=r(t._options.label.indentFromTick)+t._textHeight):(i.horizontalOffset=i.verticalOffset=0,i.min-=-r(t._options.label.indentFromTick)+e(t._textWidth,t._textHeight)),i.inverseHorizontalOffset=t._textWidth/2,i.inverseVerticalOffset=t._textHeight/2),i}}),u.gauges.__internals.LinearScale=u.gauges.__internals.BaseScale.inherit({_getGridSpacingFactor:function(){return{majorTicks:25,minorTicks:5}},_getTranslateFunction:function(){var n=this._translator;return function(t){return n.translate(t)}},_overlappingBehaviorType:"linear",_getScreenDelta:function(){return w(this._translator.getCodomainEnd()-this._translator.getCodomainStart())},_setupOrientation:function(){var n=this;if(n.vertical=n._options.vertical,n._inner=n._outer=0,n.vertical)switch(n._options.horizontalOrientation){case"left":n._inner=1;break;case"center":n._inner=n._outer=.5;break;default:n._outer=1}else switch(n._options.verticalOrientation){case"top":n._inner=1;break;case"middle":n._inner=n._outer=.5;break;default:n._outer=1}},_getTickPoints:function(n,t,i){var r=this,u,f,e,o;return r.vertical?(u=i.x-n*r._inner,f=i.x+n*r._outer,e=-t/2,o=+t/2):(u=-t/2,f=+t/2,e=i.y-n*r._inner,o=i.y+n*r._outer),[u,e,f,e,f,o,u,o]},_moveTick:function(n,t){var i=0,r=0;this.vertical?r=t.position:i=t.position,n.move(i,r)},_getAxisLabelPosition:function(n,t,i){var r=n*(t>=0?this._outer:-this._inner)+t;return r+=this.vertical?i.x:i.y+(t>=0?1:-1)*(this._textVerticalOffset||0)},_getLabelAlign:function(n){return this.vertical?n>0?"left":"right":"center"},_applyOverlappingOptions:function(n){n.overlappingBehaviorType="linear"},_getLabelOptions:function(n,t,i,r){var u,f;return this.vertical?(u=t,f=r.position):(u=r.position,f=t),{x:u,y:f}},measure:function(n){var t=this,u=n[t.vertical?"x":"y"],i={min:u,max:u};return t._majorTicksEnabled&&(i.min=h(i.min,u-t._inner*t._options.majorTick.length),i.max=e(i.max,u+t._outer*t._options.majorTick.length)),t._minorTicksEnabled&&(i.min=h(i.min,u-t._inner*t._options.minorTick.length),i.max=e(i.max,u+t._outer*t._options.minorTick.length)),t._labelsEnabled&&(t._options.label.indentFromTick>0?i.max+=+r(t._options.label.indentFromTick)+t[t.vertical?"_textWidth":"_textHeight"]:i.min-=-r(t._options.label.indentFromTick)+t[t.vertical?"_textWidth":"_textHeight"],i.indent=t[t.vertical?"_textHeight":"_textWidth"]/2),i}})}(DevExpress,jQuery),function(n,t,i){function v(n,t,i,r){var u;return i>n&&r<t?u=[{start:n,end:i},{start:r,end:t}]:i>=t||r<=n?u=[{start:n,end:t}]:i<=n&&r>=t?u=[]:i>n?u=[{start:n,end:i}]:r<t&&(u=[{start:r,end:t}]),u}function y(n,t,i,r){var u;return i<n&&r>t?u=[{start:n,end:i},{start:r,end:t}]:i<=t||r>=n?u=[{start:n,end:t}]:i>=n&&r<=t?u=[]:i<n?u=[{start:n,end:i}]:r>t&&(u=[{start:r,end:t}]),u}function p(n,t,i){return t-n>=i}function w(n,t,i){return n-t>=i}var r=Number,f=String,e=Math.max,c=Math.abs,o=n.utils.isString,s=n.utils.isArray,h=isFinite,u=t.each,l=t.map,a=n.viz.core.Palette;n.viz.gauges.__internals.BaseRangeContainer=n.viz.gauges.__internals.BaseElement.inherit({_init:function(){this._root=this._renderer.g().attr({"class":"dxg-range-container"})},clean:function(){return this._root.remove().clear(),this._options=this.enabled=null,this},_getRanges:function(){var it=this,n=it._options,k=it._translator,d=k.getDomain()[0],rt=k.getDomain()[1],e=rt-d,et=e>=0?p:w,ut=e>=0?v:y,nt=[],t=[],g=[{start:d,end:rt}],ot=c(e)/1e4,st=new a(n.palette,{type:"indicatingSet",theme:n.themeName}),ht=o(n.backgroundColor)?n.backgroundColor:"none",f=n.width||{},b=r(f>0?f:f.start),tt=r(f>0?f:f.end),ft=tt-b;return n.ranges!==i&&!s(n.ranges)?null:b>=0&&tt>=0&&b+tt>0?(nt=l(s(n.ranges)?n.ranges:[],function(n,t){n=n||{};var i=k.adjust(n.startValue),r=k.adjust(n.endValue);return h(i)&&h(r)&&et(i,r,ot)?{start:i,end:r,color:n.color,classIndex:t}:null}),u(nt,function(n,t){var i=st.getNextColor();t.color=o(t.color)&&t.color||i||"none",t.className="dxg-range dxg-range-"+t.classIndex,delete t.classIndex}),u(nt,function(n,i){for(var r,e,u,o=[],h=[],f=0,s=t.length;f<s;++f)u=t[f],e=ut(u.start,u.end,i.start,i.end),(r=e[0])&&(r.color=u.color)&&(r.className=u.className)&&o.push(r),(r=e[1])&&(r.color=u.color)&&(r.className=u.className)&&o.push(r);for(o.push(i),t=o,f=0,s=g.length;f<s;++f)u=g[f],e=ut(u.start,u.end,i.start,i.end),(r=e[0])&&h.push(r),(r=e[1])&&h.push(r);g=h}),u(g,function(n,i){i.color=ht,i.className="dxg-range dxg-background-range",t.push(i)}),u(t,function(n,t){t.startWidth=(t.start-d)/e*ft+b,t.endWidth=(t.end-d)/e*ft+b}),t):null},render:function(n){var t=this;return t._options=n,t._processOptions(),t._ranges=t._getRanges(),t._ranges&&(t.enabled=!0,t._root.append(t._container)),t},resize:function(n){var t=this;return t._root.clear(),t._isVisible(n)&&u(t._ranges,function(i,r){t._createRange(r,n).attr({fill:r.color,"class":r.className}).append(t._root)}),t},_processOptions:null,_isVisible:null,_createRange:null,getColorForValue:function(n){var t=null;return u(this._ranges,function(i,r){if(r.start<=n&&n<=r.end||r.start>=n&&n>=r.end)return t=r.color,!1}),t}}),n.viz.gauges.__internals.CircularRangeContainer=n.viz.gauges.__internals.BaseRangeContainer.inherit({_processOptions:function(){var n=this;n._inner=n._outer=0;switch(f(n._options.orientation).toLowerCase()){case"inside":n._inner=1;break;case"center":n._inner=n._outer=.5;break;default:n._outer=1}},_isVisible:function(n){var t=this._options.width;return t=r(t)||e(r(t.start),r(t.end)),n.radius-this._inner*t>0},_createRange:function(n,t){var i=this,r=(n.startWidth+n.endWidth)/2;return i._renderer.arc(t.x,t.y,t.radius-i._inner*r,t.radius+i._outer*r,i._translator.translate(n.end),i._translator.translate(n.start)).attr({"stroke-linejoin":"round"})},measure:function(n){var t=this._options.width;return t=r(t)||e(r(t.start),r(t.end)),{min:n.radius-this._inner*t,max:n.radius+this._outer*t}}}),n.viz.gauges.__internals.LinearRangeContainer=n.viz.gauges.__internals.BaseRangeContainer.inherit({_processOptions:function(){var n=this;if(n.vertical=n._options.vertical,n._inner=n._outer=0,n.vertical)switch(f(n._options.horizontalOrientation).toLowerCase()){case"left":n._inner=1;break;case"center":n._inner=n._outer=.5;break;default:n._outer=1}else switch(f(n._options.verticalOrientation).toLowerCase()){case"top":n._inner=1;break;case"middle":n._inner=n._outer=.5;break;default:n._outer=1}},_isVisible:function(){return!0},_createRange:function(n,t){var i=this,r=i._inner,u=i._outer,f=i._translator.translate(n.start),e=i._translator.translate(n.end),l,o=t.x,s=t.y,h=n.startWidth,c=n.endWidth;return l=i.vertical?[o-h*r,f,o-c*r,e,o+c*u,e,o+h*u,f]:[f,s+h*u,f,s-h*r,e,s-c*r,e,s+c*u],i._renderer.path(l,"area")},measure:function(n){var i={},t;return i.min=i.max=n[this.vertical?"x":"y"],t=this._options.width,t=r(t)||e(r(t.start),r(t.end)),i.min-=this._inner*t,i.max+=this._outer*t,i}})}(DevExpress,jQuery),function(n,t){var r=n.viz,u=r.core,f=n.utils.isString,e=Math.max,o=t.extend;r.gauges.__internals.Title=n.Class.inherit({ctor:function(n){this._renderer=n.renderer,this._container=n.container},dispose:function(){return this._renderer=this._container=null,this},clean:function(){var n=this;return n._root&&(n._root.remove().clear(),n._root=n._layout=null),n},render:function(n,t){var i=this,a=f(n.text)&&n.text.length>0,v=f(t.text)&&t.text.length>0,s,r,h=0,l=0,c=0;return!a&&!v?i:(i._root=i._renderer.g().attr({"class":"dxg-title"}).append(i._container),a&&(s=i._renderer.text(n.text,0,0).attr({align:"center"}).css(u.utils.patchFontOptions(n.font)).append(i._root),r=s.getBBox(),c+=-r.y,s.attr({y:c}),c+=r.height+r.y,h=e(h,r.width),l+=r.height),v&&(s=i._renderer.text(t.text,0,0).attr({align:"center"}).css(u.utils.patchFontOptions(t.font)).append(i._root),r=s.getBBox(),c+=-r.y,s.attr({y:c}),h=e(h,r.width),l+=r.height),i._layout=o({position:n.position,width:h,height:l},n.layout),i)},getLayoutOptions:function(){return this._layout},locate:function(n,t){return this._root.attr({translateX:n+this._layout.width/2,translateY:t}),this}})}(DevExpress,jQuery),function(n,t){function o(n){if(n.position){var t=r(n.position).toLowerCase().split("-");n.verticalAlignment=t[0],n.horizontalAlignment=t[1]}}var f=Number,r=String,u=Math.max,e=t.each;n.viz.gauges.__internals.LayoutManager=n.Class.inherit({setRect:function(n){return this._currentRect=n.clone(),this},getRect:function(){return this._currentRect.clone()},beginLayout:function(n){return this._rootRect=n.clone(),this._currentRect=n.clone(),this._cache=[],this},applyLayout:function(n){var t=n.getLayoutOptions(),i,e;if(!t)return this;i=this._currentRect,e=f(t.overlay)||0,o(t);switch(r(t.verticalAlignment).toLowerCase()){case"bottom":i.bottom-=u(t.height-e,0);break;default:i.top+=u(t.height-e,0)}return this._cache.push({target:n,options:t}),this},endLayout:function(){var n=this,i=n._rootRect,t=n._currentRect;return e(n._cache,function(n,e){var o=e.options,s,c,h=f(o.overlay)||0;switch(r(o.verticalAlignment).toLowerCase()){case"bottom":c=t.bottom-h,t.bottom+=u(o.height-h,0);break;default:c=t.top-o.height+h,t.top-=u(o.height-h,0)}switch(r(o.horizontalAlignment).toLowerCase()){case"left":s=i.left;break;case"right":s=i.right-o.width;break;default:s=i.horizontalMiddle()-o.width/2}e.target.locate(s,c)}),n._cache=null,n},selectRectByAspectRatio:function(n,t){var i=this._currentRect.clone(),f,r=0,u=0;return t=t||{},n>0&&(i.left+=t.left||0,i.right-=t.right||0,i.top+=t.top||0,i.bottom-=t.bottom||0,i.width()>0&&i.height()>0?(f=i.height()/i.width(),f>1?n<f?r=i.width():u=i.height():n>f?u=i.height():r=i.width(),r>0||(r=u/n),u>0||(u=r*n),r=(i.width()-r)/2,u=(i.height()-u)/2,i.left+=r,i.right-=r,i.top+=u,i.bottom-=u):(i.left=i.right=i.horizontalMiddle(),i.top=i.bottom=i.verticalMiddle())),i},selectRectBySizes:function(n,t){var i=this._currentRect.clone(),r;return t=t||{},n&&(i.left+=t.left||0,i.right-=t.right||0,i.top+=t.top||0,i.bottom-=t.bottom||0,n.width>0&&(r=(i.width()-n.width)/2,r>0&&(i.left+=r,i.right-=r)),n.height>0&&(r=(i.height()-n.height)/2,r>0&&(i.top+=r,i.bottom-=r))),i}})}(DevExpress,jQuery),function(n,t){var r=t.extend;n.viz.gauges.__internals.ThemeManager=n.viz.core.BaseThemeManager.inherit({_themeSection:"gauge",_fontFields:["scale.label.font","valueIndicators.rangebar.text.font","valueIndicators.textcloud.text.font","title.font","subtitle.font","tooltip.font","indicator.text.font","loadingIndicator.font"],_initializeTheme:function(){var n=this,t;n._subTheme&&(t=r(!0,{},n._theme[n._subTheme],n._theme),r(!0,n._theme,t)),n.callBase.apply(n,arguments)}})}(DevExpress,jQuery),function(n,t,i){function u(n){return e(n)?{text:n}:n||{}}var f=Number,e=n.utils.isString,o=n.utils.getAppropriateFormat,r=t.extend,s=t.each;n.viz.gauges.dxBaseGauge=n.viz.core.BaseWidget.inherit({_rootClassPrefix:"dxg",_createThemeManager:function(){return this._factory.createThemeManager()},_initCore:function(){var n=this;n._root=n._renderer.root,n._translator=n._factory.createTranslator(),n._initNotifiers(),n._tracker=n._factory.createTracker({renderer:n._renderer,container:n._root}),n._layoutManager=n._factory.createLayoutManager(),n._title=n._factory.createTitle({renderer:n._renderer,container:n._root}),n._deltaIndicator=n._factory.createDeltaIndicator({renderer:n._renderer,container:n._root}),n._setupDomain(),n._setTrackerCallbacks()},_setTrackerCallbacks:function(){var n=this,i=n._renderer,t=n._tooltip;n._tracker.setCallbacks({"tooltip-show":function(n,u){var f=n.getTooltipParameters(),e=i.getRootOffset(),o=r({value:f.value,valueText:t.formatValue(f.value),color:f.color},u);return t.show(o,{x:f.x+e.left,y:f.y+e.top,offset:f.offset},{target:u})},"tooltip-hide":function(){return t.hide()}}),n._resetTrackerCallbacks=function(){n._resetTrackerCallbacks=n=i=t=null}},_initNotifiers:function(){var n=this,t=0;n._notifiers={dirty:function(){n._resetIsReady(),++t},ready:function(){--t==0&&n._drawn()}}},_disposeCore:function(){var n=this;n._themeManager.dispose(),n._tracker.dispose(),n._title.dispose(),n._deltaIndicator&&n._deltaIndicator.dispose(),n._root=n._translator=n._notifiers=n._tracker=n._layoutManager=n._title=null},_refresh:function(){var n=this,t=n.callBase;n._endLoading(function(){t.call(n)})},_clean:function(){this._cleanCore()},_render:function(){var n=this;n._setupCodomain(),n._setupAnimationSettings(),n._setupDefaultFormat(),n._renderCore()},_cleanCore:function(){var n=this;n._title.clean(),n._deltaIndicator&&n._deltaIndicator.clean(),n._tracker.deactivate(),n._cleanContent()},_renderCore:function(){var n=this;if(n._isValidDomain){var t=n._themeManager.theme(),i=r(!0,{},t.title,u(n.option("title"))),f=r(!0,{},t.subtitle,u(n.option("subtitle")));n._title.render(i,f),n._deltaIndicator&&n._deltaIndicator.render(r(!0,{},t.indicator,n.option("indicator"))),n._layoutManager.beginLayout(n._rootRect),s([n._deltaIndicator,n._title],function(t,i){i&&n._layoutManager.applyLayout(i)}),n._mainRect=n._layoutManager.getRect(),n._renderContent(),n._layoutManager.endLayout(),n._tracker.setTooltipState(n._tooltip.isEnabled()),n._tracker.activate(),n._noAnimation=null}},_setTooltipOptions:function(){var n=this;n.callBase(),n._tracker&&n._tracker.setTooltipState(n._tooltip.isEnabled())},_applySize:function(){var t=this._canvas;this._rootRect=new n.viz.core.Rectangle({left:t.left,top:t.top,right:t.width-t.right,bottom:t.height-t.bottom}),this._width=t.width,this._height=t.height},_resize:function(){var n=this;n._resizing=n._noAnimation=!0,n._cleanCore(),n._renderCore(),n._resizing=null},_optionChanged:function(n){var t=this;switch(n.name){case"startValue":case"endValue":t._setupDomain(),t._invalidate();break;default:t.callBase(n)}},_setupDomain:function(){var n=this;n._setupDomainCore(),n._isValidDomain=isFinite(1/(n._translator.getDomain()[1]-n._translator.getDomain()[0])),n._isValidDomain||n._incidentOccured("W2301")},_setupAnimationSettings:function(){var t=this,n=t.option("animation");t._animationSettings=null,(n===i||n)&&(n=r({enabled:!0,duration:1e3,easing:"easeOutCubic"},n),n.enabled&&n.duration>0&&(t._animationSettings={duration:f(n.duration),easing:n.easing})),t._containerBackgroundColor=t.option("containerBackgroundColor")||t._themeManager.theme().containerBackgroundColor},_setupDefaultFormat:function(){var n=this._translator.getDomain();this._defaultFormatOptions=o(n[0],n[1],this._getApproximateScreenRange())},_setupDomainCore:null,_calculateSize:null,_cleanContent:null,_renderContent:null,_setupCodomain:null,_getApproximateScreenRange:null,_factory:{createTranslator:function(){return new n.viz.core.Translator1D},createTracker:function(t){return new n.viz.gauges.__internals.Tracker(t)},createLayoutManager:function(){return new n.viz.gauges.__internals.LayoutManager},createTitle:function(t){return new n.viz.gauges.__internals.Title(t)},createDeltaIndicator:function(t){return n.viz.gauges.__internals.DeltaIndicator?new n.viz.gauges.__internals.DeltaIndicator(t):null}}})}(DevExpress,jQuery),function(n,t,i){function l(n,t){return a(n)?u(n):t}function p(n){return f(n)?n:s(n)?[n]:null}function nt(n){return n?n.value:NaN}function w(n,t,i){for(var o=n[t],u=f(i)?c(i,nt):[],r=0,s=u.length,e=[];r<s;++r)e.push(l(u[r],o[r]));n[t]=e}function tt(n){n.option(e)===i&&n.option(o)===i&&n.option("valueIndicators")!==i&&(it(n),rt(n))}function it(n){n.value=n.subvalues=g,n._setupValue=n._setupSubvalues=n._updateValueIndicator=n._updateSubvalueIndicators=null}function rt(n){n._indicatorValues=[],w(n,"_indicatorValues",n.option("valueIndicators")),n._valueIndicators=[],n._valueChangedHandler=ut,n._updateActiveElements=ft,n._prepareValueIndicators=et,n._disposeValueIndicators=ot,n._cleanValueIndicators=st,n.indicatorValue=ht}function ut(n,t){return n==="valueIndicators"?(w(this,"_indicatorValues",t),this._invalidate(),!0):!1}function ft(){var n=this;r(n._valueIndicators,function(t,i){i.value(n._indicatorValues[i.index],n._noAnimation)}),n._resizing||n.hideLoadingIndicator()}function et(){for(var n=this,s=n._valueIndicators||[],u=n.option("valueIndicators"),e=[],t=0,o,i=f(u)?u.length:0;t<i;++t)e.push(u[t]);for(i=s.length;t<i;++t)e.push(null);return o=[],r(e,function(t,i){var r=s[t],u;if(!i){r&&r.dispose();return}u=n._prepareIndicatorSettings(i,"valueIndicatorType"),r&&r.type!==u.type&&(r.dispose(),r=null),r||(r=n._createIndicator(u.type,n._root,"dxg-value-indicator","value-indicator",t,!0)),r&&(r.index=t,r.render(u),o.push(r))}),n._valueIndicators=o}function ot(){r(this._valueIndicators,function(n,t){t.dispose()}),this._valueIndicators=null}function st(){r(this._valueIndicators,function(n,t){t.clean()})}function ht(n,t){return ct(this,this._valueIndicators,this._indicatorValues,n,t)}function ct(n,t,r,u,f){return f!==i?(r[u]!==i&&(r[u]=l(f,r[u]),t[u]&&t[u].value(r[u]),n._resizing||n.hideLoadingIndicator()),n):r[u]}function lt(n,t){var i,r;if(n===t)return!0;if(f(n)&&f(t)&&n.length===t.length){for(i=0,r=n.length;i<r;++i)if(d(n[i]-t[i])>1e-8)return!1;return!0}return!1}function y(n){this._parameters=n,this._indicators=[]}var b=n.utils.isDefined,f=n.utils.isArray,s=n.utils.isNumber,a=isFinite,u=Number,k=String,d=Math.abs,h=t.extend,r=t.each,c=t.map,g=t.noop,v=n.viz.gauges.__factory,e="value",o="subvalues";n.viz.gauges.dxGauge=n.viz.gauges.dxBaseGauge.inherit({_initCore:function(){var n=this;n._setupValue(n.option(e)),n.__subvalues=p(n.option(o)),n._setupSubvalues(n.__subvalues),tt(n),n.callBase.apply(n,arguments),n._scale=n._createScale({renderer:n._renderer,container:n._root,translator:n._translator}),n._rangeContainer=n._createRangeContainer({renderer:n._renderer,container:n._root,translator:n._translator})},_disposeCore:function(){var n=this;n.callBase.apply(n,arguments),n._scale.dispose(),n._rangeContainer.dispose(),n._disposeValueIndicators(),n._scale=n._rangeContainer=null},_disposeValueIndicators:function(){var n=this;n._valueIndicator&&n._valueIndicator.dispose(),n._subvalueIndicatorsSet&&n._subvalueIndicatorsSet.dispose(),n._valueIndicator=n._subvalueIndicatorsSet=null},_setupDomainCore:function(){var i=this,r=i.option("scale")||{},n=i.option("startValue"),t=i.option("endValue");n=s(n)?u(n):s(r.startValue)?u(r.startValue):0,t=s(t)?u(t):s(r.endValue)?u(r.endValue):100,i._baseValue=n<t?n:t,i._translator.setDomain(n,t)},_cleanContent:function(){var n=this;n._rangeContainer.clean(),n._scale.clean(),n._cleanValueIndicators()},_renderContent:function(){var n=this,t;n._rangeContainer.render(h(n._getOption("rangeContainer"),{themeName:n._themeManager.themeName(),vertical:n._area.vertical})),n._scale.render(h(n._getOption("scale"),{rangeContainer:n._rangeContainer.enabled?n._rangeContainer:null,approximateScreenDelta:n._getApproximateScreenRange(),offset:0,vertical:n._area.vertical})),t=c([n._scale,n._rangeContainer].concat(n._prepareValueIndicators()),function(n){return n&&n.enabled?n:null}),n._applyMainLayout(t),r(t,function(t,i){i.resize(n._getElementLayout(i.getOffset()))}),n._updateActiveElements()},_updateIndicatorSettings:function(n){var t=this;n.currentValue=n.baseValue=a(t._translator.translate(n.baseValue))?u(n.baseValue):t._baseValue,n.vertical=t._area.vertical,!n.text||n.text.format||n.text.precision||(n.text.format=t._defaultFormatOptions.format,n.text.precision=t._defaultFormatOptions.precision)},_prepareIndicatorSettings:function(n,t){var i=this,u=i._themeManager.theme("valueIndicators"),f=k(n.type||i._themeManager.theme(t)).toLowerCase(),r=h(!0,{},u._default,u[f],n);return r.type=f,r.animation=i._animationSettings,r.containerBackgroundColor=i._containerBackgroundColor,i._updateIndicatorSettings(r),r},_cleanValueIndicators:function(){this._valueIndicator&&this._valueIndicator.clean(),this._subvalueIndicatorsSet&&this._subvalueIndicatorsSet.clean()},_prepareValueIndicators:function(){var n=this;return n._prepareValueIndicator(),n.__subvalues!==null&&n._prepareSubvalueIndicators(),[n._valueIndicator,n._subvalueIndicatorsSet]},_updateActiveElements:function(){this._updateValueIndicator(),this._updateSubvalueIndicators()},_prepareValueIndicator:function(){var t=this,n=t._valueIndicator,i=t._prepareIndicatorSettings(t.option("valueIndicator")||{},"valueIndicatorType");n&&n.type!==i.type&&(n.dispose(),n=null),n||(n=t._valueIndicator=t._createIndicator(i.type,t._root,"dxg-value-indicator","value-indicator")),n.render(i)},_createSubvalueIndicatorsSet:function(){var n=this,t=n._renderer.g().attr({"class":"dxg-subvalue-indicators"});return new y({root:t,container:n._root,createIndicator:function(i,r){return n._createIndicator(i,t,"dxg-subvalue-indicator","subvalue-indicator",r)}})},_prepareSubvalueIndicators:function(){var n=this,t=n._subvalueIndicatorsSet,i=n._prepareIndicatorSettings(n.option("subvalueIndicator")||{},"subvalueIndicatorType"),r;t||(t=n._subvalueIndicatorsSet=n._createSubvalueIndicatorsSet()),r=i.type!==t.type,t.type=i.type,n._createIndicator(i.type)&&t.render(i,r)},_setupValue:function(n){this.__value=l(n,this.__value)},_setupSubvalues:function(n){var r=n===i?this.__subvalues:p(n),t,f,u;if(r!==null){for(t=0,f=r.length,u=[];t<f;++t)u.push(l(r[t],this.__subvalues[t]));this.__subvalues=u}},_updateValueIndicator:function(){var n=this;n._valueIndicator&&n._valueIndicator.value(n.__value,n._noAnimation),n._resizing||n.hideLoadingIndicator()},_updateSubvalueIndicators:function(){var n=this;n._subvalueIndicatorsSet&&n._subvalueIndicatorsSet.values(n.__subvalues,n._noAnimation),n._resizing||n.hideLoadingIndicator()},value:function(n){var t=this;return n!==i?(t._setupValue(n),t._updateValueIndicator(),t.option(e,t.__value),t):t.__value},subvalues:function(n){var t=this;return n!==i?(t.__subvalues!==null&&(t._setupSubvalues(n),t._updateSubvalueIndicators(),t.option(o,t.__subvalues)),t):t.__subvalues!==null?t.__subvalues.slice():i},_valueChangedHandler:function(n,t){var i=this;switch(n){case e:return i._setupValue(t),i._updateValueIndicator(),i.option(e,i.__value),!0;case o:return i.__subvalues!==null?(i._setupSubvalues(t),i._updateSubvalueIndicators(),i.option(o,i.__subvalues),!0):!1;default:return!1}},_optionChanged:function(n){var t=this;t._valueChangedHandler(n.name,n.value,n.previousValue)||(n.name==="scale"?(t._setupDomain(),t._invalidate()):t.callBase.apply(t,arguments))},_optionValuesEqual:function(n,t,i){var r;switch(n){case e:r=t===i;break;case o:r=lt(t,i);break;default:r=this.callBase.apply(this,arguments)}return r},_applyMainLayout:null,_getElementLayout:null,_createScale:function(n){return v[this._factoryMethods.scale](n)},_createRangeContainer:function(n){return v[this._factoryMethods.rangeContainer](n)},_createIndicator:function(n,t,i,r,u,f){var e=this,o=v[e._factoryMethods.indicator]({renderer:e._renderer,translator:e._translator,notifiers:e._notifiers,owner:t,tracker:e._tracker,className:i},n,f);return o&&(o.type=n,o._trackerInfo={type:r,index:u}),o},_getApproximateScreenRange:null}),n.viz.gauges.dxGauge.prototype._factory=n.utils.clone(n.viz.gauges.dxBaseGauge.prototype._factory),n.viz.gauges.dxGauge.prototype._factory.createThemeManager=function(){return new n.viz.gauges.__internals.ThemeManager},y.prototype={costructor:y,dispose:function(){var n=this;return r(n._indicators,function(n,t){t.dispose()}),n._parameters=n._options=n._indicators=n._colorPalette=n._palette=null,n},clean:function(){var n=this;return n._parameters.root.remove(),n._sample&&n._sample.clean().dispose(),r(n._indicators,function(n,t){t.clean()}),n._sample=n._options=n._palette=null,n},render:function(t,i){var r=this;return r._options=t,r._sample=r._parameters.createIndicator(r.type),r._sample.render(t),r.enabled=r._sample.enabled,r._palette=b(t.palette)?new n.viz.core.Palette(t.palette):null,r.enabled&&(r._parameters.root.append(r._parameters.container),r._generatePalette(r._indicators.length),r._indicators=c(r._indicators,function(n,t){return i&&(n.dispose(),n=r._parameters.createIndicator(r.type,t)),n.render(r._getIndicatorOptions(t)),n})),r},getOffset:function(){return u(this._options.offset)||0},resize:function(n){var t=this;return t._layout=n,r(t._indicators,function(t,i){i.resize(n)}),t},measure:function(n){return this._sample.measure(n)},_getIndicatorOptions:function(n){var t=this._options;return this._colorPalette&&(t=h({},t,{color:this._colorPalette[n]})),t},_generatePalette:function(n){var t=this,i=null,r;if(t._palette)for(i=[],t._palette.reset(),r=0;r<n;++r)i.push(t._palette.getNextColor());t._colorPalette=i},_adjustIndicatorsCount:function(n){var i=this,r=i._indicators,t,u,e,f=r.length;if(f>n){for(t=n,u=f;t<u;++t)r[t].clean().dispose();i._indicators=r.slice(0,n),i._generatePalette(r.length)}else if(f<n)for(i._generatePalette(n),t=f,u=n;t<u;++t)e=i._parameters.createIndicator(i.type,t),e.render(i._getIndicatorOptions(t)).resize(i._layout),r.push(e)},values:function(n,t){var u=this;if(u.enabled)return n!==i?(f(n)||(n=a(n)?[Number(n)]:null),n&&(u._adjustIndicatorsCount(n.length),r(u._indicators,function(i,r){r.value(n[i],t)})),u):c(u._indicators,function(n){return n.value()})}}}(DevExpress,jQuery),function(n,t,i){function v(n,t){var h=s(n),c=s(t),i=h.cos,f=h.sin,e=c.cos,o=c.sin;return{left:f<=0&&o>=0||f<=0&&o<=0&&i<=e||f>=0&&o>=0&&i>=e?-1:u(i,e,0),right:f>=0&&o<=0||f>=0&&o>=0&&i>=e||f<=0&&o<=0&&i<=e?1:r(i,e,0),up:i<=0&&e>=0||i<=0&&e<=0&&f>=o||i>=0&&e>=0&&f<=o?-1:-r(f,o,0),down:i>=0&&e<=0||i>=0&&e>=0&&f<=o||i<=0&&e<=0&&f>=o?1:-u(f,o,0)}}var e=isFinite,h=Number,o=n.utils.normalizeAngle,s=n.utils.getCosAndSin,c=Math.abs,r=Math.max,u=Math.min,f=Math.round,l=t.each,a=Math.PI;n.registerComponent("dxCircularGauge",n.viz.gauges,n.viz.gauges.dxGauge.inherit({_rootClass:"dxg-circular-gauge",_factoryMethods:{scale:"createCircularScale",rangeContainer:"createCircularRangeContainer",indicator:"createCircularIndicator"},_setupCodomain:function(){var u=this,r=u.option("geometry")||{},t=r.startAngle,n=r.endAngle,f;t=e(t)?o(t):225,n=e(n)?o(n):-45,c(t-n)<1?(n-=360,f={left:-1,up:-1,right:1,down:1}):(t<n&&(n-=360),f=v(t,n)),u._area={x:0,y:0,radius:100,startCoord:t,endCoord:n,scaleRadius:r.scaleRadius>0?h(r.scaleRadius):i,sides:f},u._translator.setCodomain(t,n)},_measureMainElements:function(n){var h=this,c=h._area.radius,t=0,e=Infinity,i=0,f=0,o=0,s=0;return l(n,function(n,h){var l=h.measure({radius:c-h.getOffset()});l.min>0&&(e=u(e,l.min)),l.max>0&&(t=r(t,l.max)),l.horizontalOffset>0&&(i=r(i,l.max+l.horizontalOffset)),l.verticalOffset>0&&(f=r(f,l.max+l.verticalOffset)),l.inverseHorizontalOffset>0&&(o=r(o,l.inverseHorizontalOffset)),l.inverseVerticalOffset>0&&(s=r(s,l.inverseVerticalOffset))}),i=r(i-t,0),f=r(f-t,0),{minRadius:e,maxRadius:t,horizontalMargin:i,verticalMargin:f,inverseHorizontalMargin:o,inverseVerticalMargin:s}},_applyMainLayout:function(n){var h=this,r=h._measureMainElements(n),e=h._area,t=e.sides,o={left:(t.left<-.1?r.horizontalMargin:r.inverseHorizontalMargin)||0,right:(t.right>.1?r.horizontalMargin:r.inverseHorizontalMargin)||0,top:(t.up<-.1?r.verticalMargin:r.inverseVerticalMargin)||0,bottom:(t.down>.1?r.verticalMargin:r.inverseVerticalMargin)||0},i=h._layoutManager.selectRectByAspectRatio((t.down-t.up)/(t.right-t.left),o),s=u(i.width()/(t.right-t.left),i.height()/(t.down-t.up)),l,a,c=(r.maxRadius-e.radius+e.scaleRadius)/s;0<c&&c<1&&(i=i.scale(c),s*=c),s=s-r.maxRadius+e.radius,l=i.left-i.width()*t.left/(t.right-t.left),a=i.top-i.height()*t.up/(t.down-t.up),e.x=f(l),e.y=f(a),e.radius=s,i.left-=o.left,i.right+=o.right,i.top-=o.top,i.bottom+=o.bottom,h._layoutManager.setRect(i)},_getElementLayout:function(n){return{x:this._area.x,y:this._area.y,radius:f(this._area.radius-n)}},_getApproximateScreenRange:function(){var i=this,n=i._area,t=u(i._canvas.width/(n.sides.right-n.sides.left),i._canvas.height/(n.sides.down-n.sides.up));return t>n.totalRadius&&(t=n.totalRadius),t=.8*t,-i._translator.getCodomainRange()*t*a/180},_getDefaultSize:function(){return{width:300,height:300}}})),n.viz.gauges.dxCircularGauge.prototype._factory=n.utils.clone(n.viz.gauges.dxBaseGauge.prototype._factory),n.viz.gauges.dxCircularGauge.prototype._factory.createThemeManager=function(){var t=new n.viz.gauges.__internals.ThemeManager;return t._subTheme="_circular",t}}(DevExpress,jQuery),function(n,t,i){var f=String,e=Number,u=Math.max,o=Math.min,r=Math.round,s=t.each;n.registerComponent("dxLinearGauge",n.viz.gauges,n.viz.gauges.dxGauge.inherit({_rootClass:"dxg-linear-gauge",_factoryMethods:{scale:"createLinearScale",rangeContainer:"createLinearRangeContainer",indicator:"createLinearIndicator"},_setupCodomain:function(){var n=this,t=n.option("geometry")||{},r=f(t.orientation).toLowerCase()==="vertical";n._area={vertical:r,x:0,y:0,startCoord:-100,endCoord:100,scaleSize:t.scaleSize>0?e(t.scaleSize):i},n._scale.vertical=r,n._rangeContainer.vertical=r},_measureMainElements:function(n){var f=this,e=f._area.x,h=f._area.y,t=1e3,i=0,r=0;return s(n,function(n,f){var s=f.measure({x:e+f.getOffset(),y:h+f.getOffset()});i=u(i,s.max),t=o(t,s.min),s.indent>0&&(r=u(r,s.indent))}),{minBound:t,maxBound:i,indent:r}},_applyMainLayout:function(n){var f=this,t=f._measureMainElements(n),i=f._area,u,e,o=i.scaleSize+2*t.indent;i.vertical?(u=f._layoutManager.selectRectBySizes({width:t.maxBound-t.minBound,height:o}),e=u.horizontalMiddle()-(t.minBound+t.maxBound)/2,i.startCoord=u.bottom-t.indent,i.endCoord=u.top+t.indent,i.x=r(i.x+e)):(u=f._layoutManager.selectRectBySizes({height:t.maxBound-t.minBound,width:o}),e=u.verticalMiddle()-(t.minBound+t.maxBound)/2,i.startCoord=u.left+t.indent,i.endCoord=u.right-t.indent,i.y=r(i.y+e)),f._translator.setCodomain(i.startCoord,i.endCoord),f._layoutManager.setRect(u)},_getElementLayout:function(n){return{x:r(this._area.x+n),y:r(this._area.y+n)}},_getApproximateScreenRange:function(){var t=this,i=t._area,n=i.vertical?t._canvas.height:t._canvas.width;return n>i.totalSize&&(n=i.totalSize),n=n*.8},_getDefaultSize:function(){var n=this.option("geometry")||{};return n.orientation==="vertical"?{width:100,height:300}:{width:300,height:100}}})),n.viz.gauges.dxLinearGauge.prototype._factory=n.utils.clone(n.viz.gauges.dxBaseGauge.prototype._factory),n.viz.gauges.dxLinearGauge.prototype._factory.createThemeManager=function(){var t=new n.viz.gauges.__internals.ThemeManager;return t._subTheme="_linear",t}}(DevExpress,jQuery),function(n,t,i){function b(n,t,i){n.startAngle=t<i?t:i,n.endAngle=t<i?i:t}function v(n,t){return d(n-t)<.0001}function ft(n,t){if(n===t)return!0;if(c(n)&&c(t)&&n.length===t.length){for(var i=0,r=n.length;i<r;++i)if(!v(n[i],t[i]))return!1;return!0}return!1}var k=Math.PI/180,d=Math.abs,o=Math.round,s=Math.floor,h=Math.min,y=Math.max,c=n.utils.isArray,g=n.utils.convertAngleToRendererSpace,p=n.utils.getCosAndSin,nt=n.viz.core.utils.patchFontOptions,f=Number,r=isFinite,tt=t.noop,u=t.extend,it=n.viz.gauges.__internals.getSampleText,rt=n.viz.gauges.__internals.formatValue,ut=n.viz.core.Palette,e="values",l=n.viz.gauges.dxBaseGauge.inherit({_rootClass:"dxbg-bar-gauge",_initCore:function(){var n=this;n.callBase.apply(n,arguments),n._barsGroup=n._renderer.g().attr({"class":"dxbg-bars"}),n._values=[],n._context={renderer:n._renderer,translator:n._translator,tracker:n._tracker,group:n._barsGroup},n._animateStep=function(t){for(var r=n._bars,i=0,u=r.length;i<u;++i)r[i].animate(t)},n._animateComplete=function(){for(var i=n._bars,t=0,r=i.length;t<r;++t)i[t].endAnimation();n._notifiers.ready()}},_disposeCore:function(){var n=this;n._barsGroup=n._values=n._context=n._animateStep=n._animateComplete=null,n.callBase.apply(n,arguments)},_setupDomainCore:function(){var n=this,t=n.option("startValue"),i=n.option("endValue");r(t)||(t=0),r(i)||(i=100),n._translator.setDomain(t,i),n._baseValue=n._translator.adjust(n.option("baseValue")),r(n._baseValue)||(n._baseValue=t<i?t:i)},_getDefaultSize:function(){return{width:300,height:300}},_setupCodomain:n.viz.gauges.dxCircularGauge.prototype._setupCodomain,_getApproximateScreenRange:function(){var n=this,t=n._area.sides,i=n._canvas.width/(t.right-t.left),r=n._canvas.height/(t.down-t.up),u=i<r?i:r;return-n._translator.getCodomainRange()*u*k},_setupAnimationSettings:function(){var n=this;n.callBase.apply(n,arguments),n._animationSettings&&(n._animationSettings.step=n._animateStep,n._animationSettings.complete=n._animateComplete)},_cleanContent:function(){var n=this,t,i;for(n._barsGroup.remove(),n._animationSettings&&n._barsGroup.stopAnimation(),t=0,i=n._bars?n._bars.length:0;t<i;++t)n._bars[t].dispose();n._palette=n._bars=null},_renderContent:function(){var r=this,t=r.option("label"),s,o,e=r._context;r._barsGroup.append(r._root),e.textEnabled=t===i||t&&(!("visible"in t)||t.visible),e.textEnabled&&(e.textColor=t&&t.font&&t.font.color||null,t=u(!0,{},r._themeManager.theme().label,t),e.formatOptions={format:t.format!==i||t.precision!==i?t.format:r._defaultFormatOptions.format,precision:t.format!==i||t.precision!==i?t.precision:r._defaultFormatOptions.precision,customizeText:t.customizeText},e.textOptions={align:"center"},e.fontStyles=nt(u({},r._themeManager.theme().label.font,t.font,{color:null})),r._textIndent=t.indent>0?f(t.indent):0,e.lineWidth=t.connectorWidth>0?f(t.connectorWidth):0,e.lineColor=t.connectorColor||null,s=r._renderer.text(it(r._translator,e.formatOptions),0,0).attr(e.textOptions).css(e.fontStyles).append(r._barsGroup),o=s.getBBox(),s.remove(),e.textVerticalOffset=-o.y-o.height/2,e.textWidth=o.width,e.textHeight=o.height),n.viz.gauges.dxCircularGauge.prototype._applyMainLayout.call(r),r._renderBars()},_measureMainElements:function(){var n={maxRadius:this._area.radius};return this._context.textEnabled&&(n.horizontalMargin=this._context.textWidth,n.verticalMargin=this._context.textHeight),n},_renderBars:function(){var n=this,t=u({},n._themeManager.theme(),n.option()),c,i,r=n._area;n._palette=new ut(t.palette,{stepHighlight:50,theme:n._themeManager.themeName()}),c=t.relativeInnerRadius>0&&t.relativeInnerRadius<1?f(t.relativeInnerRadius):.1,i=r.radius,n._context.textEnabled&&(n._textIndent=o(h(n._textIndent,i/2)),i-=n._textIndent),n._outerRadius=s(i),n._innerRadius=s(i*c),n._barSpacing=t.barSpacing>0?f(t.barSpacing):0,u(n._context,{backgroundColor:t.backgroundColor,x:r.x,y:r.y,startAngle:r.startCoord,endAngle:r.endCoord,baseAngle:n._translator.translate(n._baseValue)}),n._bars=[],n._updateValues(n.option(e))},_arrangeBars:function(n){var t=this,i=t._outerRadius-t._innerRadius,r=t._context,f,e,o,u;for(r.barSize=n>0?y((i-(n-1)*t._barSpacing)/n,1):0,f=n>1?y(h((i-n*r.barSize)/(n-1),t._barSpacing),0):0,e=h(s((i+f)/r.barSize),n),t._setBarsCount(e),i=t._outerRadius,r.textRadius=i+t._textIndent,t._palette.reset(),o=r.barSize+f,u=0;u<e;++u,i-=o)t._bars[u].arrange({radius:i,color:t._palette.getNextColor()})},_setBarsCount:function(n){var t=this,i,r;if(t._bars.length>n){for(i=n,r=t._bars.length;i<r;++i)t._bars[i].dispose();t._bars.splice(n,r-n)}else if(t._bars.length<n)for(i=t._bars.length,r=n;i<r;++i)t._bars.push(new a(i,t._context));t._bars.length>0?t._dummyBackground&&(t._dummyBackground.dispose(),t._dummyBackground=null):(t._dummyBackground||(t._dummyBackground=t._renderer.arc().attr({"stroke-linejoin":"round"}).append(t._barsGroup)),t._dummyBackground.attr({x:t._context.x,y:t._context.y,outerRadius:t._outerRadius,innerRadius:t._innerRadius,startAngle:t._context.endAngle,endAngle:t._context.startAngle,fill:t._context.backgroundColor}))},_updateBars:function(n){for(var i=this,t=0,r=i._bars.length;t<r;++t)i._bars[t].setValue(n[t])},_animateBars:function(n){var i=this,t,r=i._bars.length;if(r>0){for(t=0;t<r;++t)i._bars[t].beginAnimation(n[t]);i._barsGroup.animate({_:0},i._animationSettings)}},_updateValues:function(n){var t=this,s=c(n)&&n||r(n)&&[n]||[],i,h=s.length,u,o=[],l=!0;for(t._values.length=h,i=0;i<h;++i)u=s[i],t._values[i]=u=f(r(u)?u:t._values[i]),r(u)&&o.push(u);t._notifiers.dirty(),t._animationSettings&&t._barsGroup.stopAnimation(),t._bars&&(t._arrangeBars(o.length),t._animationSettings&&!t._noAnimation?(l=!1,t._animateBars(o)):t._updateBars(o)),l&&t._notifiers.ready(),t._resizing||(t.option(e,t._values),t.hideLoadingIndicator())},values:function(n){return n!==i?(this._updateValues(n),this):this._values.slice(0)},_optionChanged:function(n){n.name===e?this._updateValues(n.value):this.callBase.apply(this,arguments)},_optionValuesEqual:function(n,t,i){return n===e?ft(t,i):this.callBase.apply(this,arguments)}}),w,a;n.registerComponent("dxBarGauge",n.viz.gauges,l),w=n.viz.gauges.__internals.ThemeManager.inherit({_themeSection:"barGauge",_fontFields:["label.font","title.font","tooltip.font","loadingIndicator.font"]}),l.prototype._factory=n.utils.clone(n.viz.gauges.dxBaseGauge.prototype._factory),l.prototype._factory.createThemeManager=function(){return new w},a=function(n,t){var i=this;i._context=t,i._background=t.renderer.arc().attr({"stroke-linejoin":"round",fill:t.backgroundColor}).append(t.group),i._bar=t.renderer.arc().attr({"stroke-linejoin":"round"}).append(t.group),t.textEnabled&&(i._line=t.renderer.path([],"line").attr({"stroke-width":t.lineWidth}).append(t.group),i._text=t.renderer.text("",0,0).css(t.fontStyles).attr(t.textOptions).append(t.group)),i._tracker=t.renderer.arc().attr({"stroke-linejoin":"round"}),t.tracker.attach(i._tracker,i,{index:n}),i._index=n,i._angle=t.baseAngle,i._settings={x:t.x,y:t.y,startAngle:t.baseAngle,endAngle:t.baseAngle}},u(a.prototype,{dispose:function(){var n=this;return n._background.dispose(),n._bar.dispose(),n._context.textEnabled&&(n._line.dispose(),n._text.dispose()),n._context.tracker.detach(n._tracker),n._context=n._settings=n._background=n._bar=n._line=n._text=n._tracker=null,n},arrange:function(n){var t=this,i=t._context;return t._settings.outerRadius=n.radius,t._settings.innerRadius=n.radius-i.barSize,t._background.attr(u({},t._settings,{startAngle:i.endAngle,endAngle:i.startAngle})),t._bar.attr(t._settings),t._tracker.attr(t._settings),t._color=n.color,t._bar.attr({fill:n.color}),i.textEnabled&&(t._line.attr({points:[i.x,i.y-t._settings.innerRadius,i.x,i.y-i.textRadius],stroke:i.lineColor||n.color}).sharp(),t._text.css({fill:i.textColor||n.color})),t},getTooltipParameters:function(){var n=this,t=p((n._angle+n._context.baseAngle)/2);return{x:o(n._context.x+(n._settings.outerRadius+n._settings.innerRadius)/2*t.cos),y:o(n._context.y-(n._settings.outerRadius+n._settings.innerRadius)/2*t.sin),offset:0,color:n._color,value:n._value}},setAngle:function(n){var t=this,i;return t._angle=n,b(t._settings,t._context.baseAngle,t._angle),t._bar.attr(t._settings),t._tracker.attr(t._settings),t._context.textEnabled&&(t._line.rotate(g(t._angle),t._context.x,t._context.y),i=p(t._angle),t._text.attr({text:rt(t._value,t._context.formatOptions,{index:t._index}),x:t._context.x+(t._context.textRadius+t._context.textWidth*.6)*i.cos,y:t._context.y-(t._context.textRadius+t._context.textHeight*.6)*i.sin+t._context.textVerticalOffset})),t},_processValue:function(n){return this._value=this._context.translator.adjust(n),this._context.translator.translate(this._value)},setValue:function(n){return this.setAngle(this._processValue(n))},beginAnimation:function(n){var t=this,i=this._processValue(n);v(t._angle,i)?(t.animate=tt,t.setAngle(t._angle)):(t._start=t._angle,t._delta=i-t._angle,t._tracker.attr({visibility:"hidden"}),t._context.textEnabled&&(t._line.attr({visibility:"hidden"}),t._text.attr({visibility:"hidden"})))},animate:function(n){var t=this;t._angle=t._start+t._delta*n,b(t._settings,t._context.baseAngle,t._angle),t._bar.attr(t._settings)},endAnimation:function(){var n=this;n._delta!==i?v(n._angle,n._start+n._delta)&&(n._tracker.attr({visibility:null}),n._context.textEnabled&&(n._line.attr({visibility:null}),n._text.attr({visibility:null})),n.setAngle(n._angle)):delete n.animate,delete n._start,delete n._delta}})}(DevExpress,jQuery),function(n,t){function v(n){var t=n.data.tracker;t._x=n.pageX,t._y=n.pageY;t._element.off(f).on(f,n.data);t._showTooltip(n,o)}function y(n){var t=n.data.tracker;(t._showTooltipTimeout&&e(n.pageX-t._x)>4||e(n.pageY-t._y)>4)&&(t._x=n.pageX,t._y=n.pageY,t._showTooltip(n,o))}function p(n){var t=n.data.tracker;t._element.off(f),t._hideTooltip(l)}function w(n){n.data.tracker._hideTooltip()}function b(n){n.preventDefault();var t=r;t&&t!==n.data.tracker&&t._hideTooltip(u),t=r=n.data.tracker,t._showTooltip(n,a),t._touch=!0}function k(){var n=r;n&&(n._touch||(n._hideTooltip(u),r=null),n._touch=null)}function d(){var n=r;n&&n._showTooltipTimeout&&(n._hideTooltip(u),r=null)}var e=Math.abs,o=300,l=300,a=400,u=300,r;n.viz.gauges.__internals.Tracker=n.Class.inherit({ctor:function(n){var i=this;i._container=n.container,i._element=n.renderer.g().attr({"class":"dxg-tracker",stroke:"none","stroke-width":0,fill:"#000000",opacity:.0001}),i._showTooltipCallback=function(){i._showTooltipTimeout=null;var n=i._tooltipEvent.target,r=t(n).data();i._targetEvent=null,i._tooltipTarget!==n&&i._callbacks["tooltip-show"](r.target,r.info)&&(i._tooltipTarget=n)},i._hideTooltipCallback=function(){i._hideTooltipTimeout=null,i._targetEvent=null,i._tooltipTarget&&(i._callbacks["tooltip-hide"](),i._tooltipTarget=null)},i._dispose=function(){clearTimeout(i._showTooltipTimeout),clearTimeout(i._hideTooltipTimeout),i._showTooltipCallback=i._hideTooltipCallback=i._dispose=null}},dispose:function(){var n=this;return n._dispose(),n.deactivate(),n._element.remove(),n._container=n._element=n._context=n._callbacks=null,n},activate:function(){return this._element.append(this._container),this},deactivate:function(){return this._element.remove().clear(),this},attach:function(n,t,i){return n.data({target:t,info:i}).append(this._element),this},detach:function(n){return n.remove(),this},setTooltipState:function(n){var t=this,i;if(t._element.off(s).off(c).off(h),n){i={tracker:t};t._element.on(s,i).on(c,i).on(h,i)}return t},setCallbacks:function(n){return this._callbacks=n,this},_showTooltip:function(n,t){var i=this;(clearTimeout(i._hideTooltipTimeout),i._hideTooltipTimeout=null,i._tooltipTarget!==n.target)&&(clearTimeout(i._showTooltipTimeout),i._tooltipEvent=n,i._showTooltipTimeout=setTimeout(i._showTooltipCallback,t))},_hideTooltip:function(n){var t=this;clearTimeout(t._showTooltipTimeout),t._showTooltipTimeout=null,clearTimeout(t._hideTooltipTimeout),n?t._hideTooltipTimeout=setTimeout(t._hideTooltipCallback,n):t._hideTooltipCallback()}});var s={"mouseover.gauge-tooltip":v,"mouseout.gauge-tooltip":p},f={"mousemove.gauge-tooltip":y},h={"dxmousewheel.gauge-tooltip":w},c={"touchstart.gauge-tooltip":b};r=null;t(window.document).on({"touchstart.gauge-tooltip":k,"touchend.gauge-tooltip":d})}(DevExpress,jQuery),DevExpress.MOD_VIZ_GAUGES=!0}if(!DevExpress.MOD_VIZ_RANGESELECTOR){if(!DevExpress.MOD_VIZ_CORE)throw Error("Required module is not referenced: viz-core");(function(n){n.viz.rangeSelector={}})(DevExpress),function(n,t,i){var u=t.utils,r=function(n,t){var r,i,u;if(!n||n.length===0)return-1;for(r=0,i=n.length-1;i-r>1;)u=r+i>>1,n[u]>t?i=u:r=u;return n[i]<=t?i:r},f=function(n,t){var i=r(n,t);return n&&i>=0&&i<n.length?n[i]:t},e=function(n,t){var i=r(n,t);return n&&i>=0&&i<n.length?(i+1<n.length&&(u.isDate(t)?n[i+1].getTime()-t.getTime()<t.getTime()-n[i].getTime()&&i++:n[i+1]-t<t-n[i]&&i++),n[i]):t},o=function(n,t){var i=r(n,t);return n&&i>=0&&i<n.length?(n[i]<t&&i+1<n.length&&i++,n[i]):t},s=function(n){var t=0;return n.pageX?t=n.pageX:n.originalEvent&&n.originalEvent.pageX&&(t=n.originalEvent.pageX),n.originalEvent&&n.originalEvent.touches&&(n.originalEvent.touches.length>0?t=n.originalEvent.touches[0].pageX:n.originalEvent.changedTouches.length>0&&(t=n.originalEvent.changedTouches[0].pageX)),t},h=function(t,r){var s=r.type==="discrete",c=s?r._categoriesInfo.categories:i,u=r.startValue,f=r.endValue,e,o,h;return s?(h=n.inArray(t,c),h<0?u:t):(e=u>f?f:u,o=u>f?u:f,t<e&&(t=e),t>o&&(t=o),t)};t.viz.rangeSelector.utils={findLessOrEqualValue:f,findNearValue:e,findGreaterOrEqualValue:o,getEventPageX:s,truncateSelectedRange:h,trackerSettings:{fill:"grey",stroke:"grey",opacity:.0001},animationSettings:{duration:250}}}(jQuery,DevExpress),function(n){n.viz.rangeSelector.baseVisualElementMethods={init:function(n){this._renderer=n,this._isDrawn=!1},applyOptions:function(n){this._options=n||{},this._applyOptions(this._options)},_applyOptions:function(){},redraw:function(n){var t=this;t._isDrawn?t._update(n||t._group):(t._isDrawn=t._draw(n||t._group)!==!1,n&&(t._group=n))},isDrawn:function(){return!!this._isDrawn},isInitialized:function(){return!!this._options},_draw:function(){},_update:function(n){n.clear(),this._draw(n)}}}(DevExpress),function(n,t,i){function h(n){return{startValue:n.startValue,endValue:n.endValue}}function d(n,t,i){var r=n.text(t,st,st).css(g(i)).append(n.root),u=r.getBBox();return r.remove(),u}function yt(n,t,i,u){var f,o=n[i],h=t.parser||function(){return null},s=t[i];return r(o)&&(f=h(o)),r(f)?s=f:u("E2203",[i]),e.utils.truncateSelectedRange(s,t)}var e=t.viz.rangeSelector,u=t.utils,f=t.viz.core,g=f.utils.patchFontOptions,pt=f.ParseUtils,v=t.formatHelper,wt=5,bt=24,nt=4,tt=". . .",r=u.isDefined,o=u.isNumber,c=u.isDate,kt=Math.max,it=Math.ceil,y="startValue",rt="endValue",l="datetime",s="selectedRange",p="discrete",a="string",w=s+"Changed",ut="containerBackgroundColor",ft="sliderMarker",et="background",ot="logarithmic",st=-1e3,dt=10;e.consts={emptySliderMarkerText:tt,pointerSize:nt};var b=e.formatValue=function(n,t){var i={value:n,valueText:v.format(n,t.format,t.precision)};return String(u.isFunction(t.customizeText)?t.customizeText.call(i,i):i.valueText)},gt=function(n){return e.rangeSelectorFactory.createRangeContainer(n)},ni=function(n,t){return{x:f.CoreFactory.createTranslator2D(n.arg,t,{direction:"horizontal"}),y:f.CoreFactory.createTranslator2D(n.val,t)}},ti=function(n,t,i){return{left:t.left,top:t.top,right:n.width-t.width-t.left,bottom:n.height-t.height-t.top+i,width:n.width,height:n.height}},ht=function(n,t,r){var u=t===i?tt:b(t,r),f=d(n,u,r.font);return it(f.height)+2*r.paddingTopBottom+nt},ct=function(n,t,i){var r=b(t,i.label),u=d(n,r,i.label.font);return it(u.width/2)},ii=function(n,t,i,r){var u={left:n.left+t.left,top:n.top+t.top,width:n.width-n.left-n.right-t.left-t.right,height:r?bt+i:n.height-n.top-n.bottom-t.top};return u.width<=0&&(u.width=1),u},ri=function(n){var t,i,r;if(o(n))t=i=r=n;else if(n)o(n.height)&&(r=n.height),o(n.width)?t=i=n.width:n.width&&(o(n.width.left)&&(t=n.width.left),o(n.width.right)&&(i=n.width.right));else return null;return{widthLeft:t,widthRight:i,height:r}},ui=function(n,t,r,u,f){var c,l=0,a=0,v,e=0,o=0,h,s;return f=f||{},s=ri(u.placeholderSize),s&&f.left===i&&f.right===i?(e=s.widthLeft,o=s.widthRight):(e=f.left,o=f.right),h=s&&u.placeholderHeight===i?s.height:u.placeholderHeight,u.visible&&(c=ht(n,r.startValue,u),v=ht(n,r.endValue,u),h===i&&(h=kt(c,v))),r.label.visible&&(l=ct(n,r.startValue,r),a=ct(n,r.endValue,r)),e=e!==i?e:l,o=(o!==i?o:a)||1,{left:e,right:o,top:h||0,bottom:0}},lt=function(t,i){var u=n.type(t),f=n.type(i),r=function(n){return u===n||f===n};return r("date")?l:r("number")?"numeric":r(a)?a:""},fi=function(n){return n.valueType===l&&n.marker.visible},ei=function(n,t){var i=t.minorTickInterval||t.majorTickInterval;t.valueType==="datetime"&&(i=u.dateToMilliseconds(i)),n=n.arg.addRange({interval:i})},k=function(n){return new f.Range(n)},at=function(n,t,r){var u;n&&(u=n.logarithmBase,n.type===ot&&u<=0||u&&!o(u)?(n.logarithmBase=t,r("E2104")):n.type!==ot&&(n.logarithmBase=i))},oi=function(n,t,i){var f,e="0",o={value:0,valueText:e},r=t.label,s=t.marker,h=r.customizeText,c=t.placeholderHeight,l=u.isFunction(h)?h.call(o,o):e,a=r.visible;return c?c:(f=d(n,l,r.font),(a?r.topIndent+f.height:0)+(i?s.topIndent+s.separatorHeight:0))},si=function(n,t,i,r,u,e){var s=n._categoriesInfo,o=f.CoreFactory.createTickManager({axisType:n.type,dataType:n.valueType},{min:u,max:e,screenDelta:t,customTicks:s&&s.categories},{labelOptions:{},boundCoef:1,minorTickInterval:n.minorTickInterval,tickInterval:n.majorTickInterval,incidentOccured:i,base:n.logarithmBase,showMinorTicks:!0,withMinorCorrection:!0,stick:r!==!1});return o.getTicks(!0),{majorTickInterval:o.getTickInterval(),minorTickInterval:o.getMinorTickInterval(),bounds:o.getTickBounds()}},hi=function(n,t){var s,h,v=!1,w,f=t.startValue,e=t.endValue,a,o,l=n?n.getBoundRange():{arg:k(),val:k({isValueRange:!0})},y;return t.type===p&&(y=k({categories:t.categories||(!n&&f&&e?[f,e]:i),minVisible:f,maxVisible:e}),y.addRange(l.arg),l.arg=y,a=y.categories||[],t._categoriesInfo=o=u.getCategoriesInfo(a,f||a[0],e||a[a.length-1])),r(f)&&r(e)?(v=t.inverted=o?o.inverted:f>e,s=o?o.start:v?e:f,h=o?o.end:v?f:e):r(f)||r(e)?(s=f,h=e):o&&(s=o.start,h=o.end),w=c(s)&&c(h)&&s.getTime()===h.getTime(),s===h||w||l.arg.addRange({invert:v,min:s,max:h,minVisible:s,maxVisible:h,dataType:t.valueType}),l.arg.addRange({base:t.logarithmBase,axisType:t.type}),l.arg.isDefined()||(w&&(t.valueType="numeric"),l.arg.setStubData(t.valueType)),l},vt=function(n,t){return!r(n)||!r(t)};t.registerComponent("dxRangeSelector",e,f.BaseWidget.inherit({_eventsMap:n.extend({},f.BaseWidget.prototype._eventsMap,{onSelectedRangeChanged:{name:w,deprecated:w,deprecatedContext:function(){return null},deprecatedArgs:function(n){return[h(n)]}},selectedRangeChanged:{newName:"onSelectedRangeChanged"}}),_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{selectedRangeChanged:{since:"14.2",message:"Use the 'onSelectedRangeChanged' option instead"},"sliderMarker.padding":{since:"15.1",message:"Use the 'paddingTopBottom' and 'paddingLeftRight' options instead"},"sliderMarker.placeholderSize":{since:"15.1",message:"Use the 'placeholderHeight' and 'indent' options instead"}})},_rootClassPrefix:"dxrs",_rootClass:"dxrs-range-selector",_dataSourceOptions:function(){return{paginate:!1}},_dataIsReady:function(){return this._isDataSourceReady()},_initCore:function(){var n=this;n.rangeContainer=gt(n._renderer),n._reinitDataSource(),n._renderer.root.css({"touch-action":"pan-y","-ms-touch-action":"pan-y"})},_initTooltip:n.noop,_setTooltipRendererOptions:n.noop,_setTooltipOptions:n.noop,_getDefaultSize:function(){return{width:400,height:160}},_handleLoadingIndicatorShown:n.noop,_reinitDataSource:function(){this._refreshDataSource()},_disposeCore:function(){var n=this,t=function(t){n[t]&&n[t].dispose(),n[t]=null};n.callBase(),t("renderer"),n.translators=null,t("rangeContainer")},_createThemeManager:function(){return e.rangeSelectorFactory.createThemeManager()},_refresh:function(){var n=this,t=n.callBase;n._endLoading(function(){t.call(n)})},_render:function(n){var t=this,r,i=t._renderer;n=n||t.__isResizing,t._applyOptions(),n?(r=i.animationEnabled(),i.updateAnimationOptions({enabled:!1}),t.rangeContainer.redraw(),i.updateAnimationOptions({enabled:r})):t.rangeContainer.redraw(),!n&&(!t._dataSource||t._dataSource&&t._dataSource.isLoaded())&&t.hideLoadingIndicator(),t._drawn()},_optionChanged:function(n){var t=this,i=n.name;i==="dataSource"?t._reinitDataSource():i===s?t.setSelectedRange(t.option(s)):t.callBase(n)},_applySize:n.noop,_resize:function(){this._render(!0)},_dataSourceChangedHandler:function(){var n=this;n._endLoading(function(){n._renderer.drawn&&n._render()})},_applyOptions:function(){var n=this,u,t,f,e,r=n._canvas,a,v,b,o=n.option("chart"),y=n._getOption("shutter"),c=n._getOption(et),p,i,l;n._isUpdating=!0,t=n._createSeriesDataSource(o),p=!(t&&t.isShowChart()||c&&c.image&&c.image.url),t&&(l=t.getThemeManager(),at(o&&o.valueAxis,l.getOptions("valueAxis").logarithmBase,n._incidentOccured)),i=n._scaleOptions=n._prepareScaleOptions(t),f=hi(t,i),n._updateScaleOptions(t,f.arg,r.width),ei(f,i),v=n._prepareSliderMarkersOptions(r.width),b=n._initSelection(),a=ui(n._renderer,r,i,v,n.option("indent")),e=oi(n._renderer,i,fi(i)),u=ii(r,a,e,p),n.translators=ni(f,ti(r,u,e)),i.ticksInfo=n._getTicksInfo(u.width),t&&t.adjustSeriesDimensions(n.translators),y.color=y.color||n._getOption(ut,!0),n.rangeContainer.applyOptions({canvas:u,isCompactMode:p,scaleLabelsAreaHeight:e,indents:a,translators:n.translators,selectedRange:b,scale:i,behavior:n._getOption("behavior"),background:c,chart:o,seriesDataSource:t,sliderMarker:v,sliderHandle:n._getOption("sliderHandle"),shutter:y,selectedRangeColor:n._getOption("selectedRangeColor",!0),selectedRangeChanged:function(t,i){n.option(s,t),i||n._eventTrigger(w,h(t))},setSelectedRange:function(t){n.setSelectedRange(t)}}),n._isUpdating=!1,l&&l.dispose()},_initSelection:function(){var n=this,t=n._scaleOptions,i=n.option(s),r=n._incidentOccured;return i?{startValue:yt(i,t,y,r),endValue:yt(i,t,rt,r)}:h(t)},_createSeriesDataSource:function(t){var i=this,f,o=i._dataSource&&i._dataSource.items(),r=i._getOption("scale"),u=r.valueType,s=i.option(et);return u||(u=lt(r.startValue,r.endValue)),(o||t&&t.series)&&(t=n.extend({},t,{theme:i.option("theme")}),f=new e.SeriesDataSource({renderer:i._renderer,dataSource:o,valueType:(u||"").toLowerCase(),axisType:r.type,chart:t,dataSourceField:i.option("dataSourceField"),backgroundColor:s&&s.color,incidentOccured:i._incidentOccured,categories:r.categories})),f},_prepareScaleOptions:function(n){var e=this,t=e._getOption("scale"),o=0,s=new pt,u=s.correctValueType((t.valueType||"").toLowerCase()),f,h=function(n,u){var f=n===y?"start":"end";r(t[n])&&(o=u(t[n]),r(o)?t[n]=o:(t[n]=i,e._incidentOccured("E2202",[f])))};return n&&(u=n.getCalculatedValueType()||u),u||(u=lt(t.startValue,t.endValue)||"numeric"),(u===a||t.categories)&&(t.type=p,u=a),t.valueType=u,f=s.getParser(u,"scale"),h(y,f),h(rt,f),at(t,dt,e._incidentOccured),t.type||(t.type="continuous"),t.parser=f,t},_prepareSliderMarkersOptions:function(n){var e=this,f=e._scaleOptions,s=f.minorTickInterval,y=f.majorTickInterval,c=f.endValue,a=f.startValue,t=e._getOption(ft),p,h=e.option(ft)||{};return t.borderColor=e._getOption(ut,!0),t.format||(!e._getOption("behavior").snapToTicks&&o(f.startValue)&&(p=Math.abs(c-a),t.format="fixedPoint",t.precision=u.getSignificantDigitPosition(p/n)),f.valueType===l&&(f.marker.visible?t.format=u.getDateUnitInterval(r(s)&&s!==0?s:y):r(a)&&r(c)&&(t.format=v.getDateFormatByTickInterval(a,c,s!==0?s:y)))),h.padding!==i&&h.paddingLeftRight===i&&h.paddingTopBottom===i&&(t.paddingLeftRight=t.paddingTopBottom=h.padding),t},_updateScaleOptions:function(n,t,f){var e=this._scaleOptions,y=r(t.minVisible)?t.minVisible:t.min,p=r(t.maxVisible)?t.maxVisible:t.max,s=si(e,f,this._incidentOccured,t.stick,y,p),o,a,h=e._categoriesInfo;!n||n.isEmpty()||t.stubData||(o=s.bounds,t.addRange(o),e.startValue=e.inverted?o.maxVisible:o.minVisible,e.endValue=e.inverted?o.minVisible:o.maxVisible),h&&(e.startValue=h.start,e.endValue=h.end),a=c(e.startValue)&&c(e.endValue)&&e.startValue.getTime()===e.endValue.getTime()||e.startValue===e.endValue,e.isEmpty=vt(e.startValue,e.endValue)||a,e.isEmpty?e.startValue=e.endValue=i:(e.minorTickInterval=s.minorTickInterval,e.majorTickInterval=s.majorTickInterval,e.valueType!==l||r(e.label.format)||(e.label.format=e.marker.visible?u.getDateUnitInterval(e.majorTickInterval):v.getDateFormatByTickInterval(e.startValue,e.endValue,e.majorTickInterval)))},_getStubTicks:function(n){return n.isEmpty=!0,["canvas_position_left","canvas_position_center","canvas_position_right"]},_getTickManagerOptions:function(n,t,r,u){var f=this;return{labelOptions:{},minorTickInterval:t?0:f._getOption("scale").minorTickInterval,tickInterval:n.majorTickInterval,addMinMax:n.showCustomBoundaryTicks?{min:!0,max:!0}:i,minorTickCount:n.minorTickCount,textOptions:{align:"center",font:n.label.font},textFontStyles:g(n.label.font),incidentOccured:f._incidentOccured,isHorizontal:!0,renderText:function(n,t,i,r){return f._renderer.text(n,t,i,r).append(f._renderer.root)},getText:vt(r,u)?function(n){return n}:function(t){return b(t,n.label)},translate:function(n){return f.translators.x.translate(n)},textSpacing:wt,setTicksAtUnitBeginning:n.setTicksAtUnitBeginning,useTicksAutoArrangement:n.useTicksAutoArrangement,base:n.logarithmBase,stick:!0,showMinorTicks:!0,withMinorCorrection:!0}},_getTicksInfo:function(n){var s=this,t=s._scaleOptions,b=s.translators,h=t.isEmpty,l=b.x.getBusinessRange(),a=t._categoriesInfo,k={axisType:t.type,dataType:t.valueType},i,v=t.startValue,y=t.endValue,d=s._getTickManagerOptions(t,h,v,y),u,e,o,w,c;return i={min:h?l.min:v,max:h?l.max:y,screenDelta:n,customTicks:a&&a.categories},o=f.CoreFactory.createTickManager(k,i,d),c=t.type===p?!r(i.min)||!r(i.max):!r(i.min)&&!r(i.max),u=c&&!r(i.customTicks)?s._getStubTicks(t):o.getTicks(!0),e=o.getBoundaryTicks(),w=o.getFullTicks(),e.length&&(u[0].valueOf()===e[0].valueOf()&&u.splice(0,1),u[u.length-1].valueOf()===e[e.length-1].valueOf()&&u.pop()),{majorTicks:u,minorTicks:o.getMinorTicks(),majorTickInterval:o.getTickInterval(),fullTicks:w,customBoundaryTicks:e}},getSelectedRange:function(){return h(this.rangeContainer.slidersContainer.getSelectedRange())},setSelectedRange:function(n){var i=this,t;!i._isUpdating&&n&&((t=i.rangeContainer.slidersContainer.getSelectedRange(),t&&t.startValue===n.startValue&&t.endValue===n.endValue)||i.rangeContainer.slidersContainer.setSelectedRange(n))},resetSelectedRange:function(n){var t=h(this._scaleOptions);t.blockSelectedRangeChanged=n,this.setSelectedRange(t)},render:function(n){var t=this;return t.__isResizing=n,t.callBase.apply(t,arguments),t.__isResizing=null,t}}).include(t.ui.DataHelperMixin))}(jQuery,DevExpress),function(n,t){function o(n){return{x:n.left,y:n.top,width:n.width,height:n.height}}var r=t.viz.rangeSelector,f=r.baseVisualElementMethods,u,s=function(n){return r.rangeSelectorFactory.createSlidersContainer(n)},h=function(n){return r.rangeSelectorFactory.createScale(n)},c=function(n){return r.rangeSelectorFactory.createRangeView(n)},e=function(n,t){return{left:n.left-t.left,top:n.top-t.top,width:n.width+t.right+t.left,height:n.height+t.bottom+t.top}};u=function(n){f.init.apply(this,arguments),this.slidersContainer=s(n),this.rangeView=c(n),this.scale=h(n)},u.prototype=n.extend({},f,{constructor:u,dispose:function(){this.slidersContainer.dispose(),this.slidersContainer=null},_applyOptions:function(n){var i=this,r=n.scaleLabelsAreaHeight,t=n.canvas,u=n.isCompactMode,f={left:t.left,top:t.top,width:t.width,height:t.height>=r?t.height-r:0};i._viewCanvas=f,i.slidersContainer.applyOptions({isCompactMode:u,canvas:f,selectedRangeColor:n.selectedRangeColor,translator:n.translators.x,scale:n.scale,selectedRange:n.selectedRange,sliderMarker:n.sliderMarker,sliderHandle:n.sliderHandle,shutter:n.shutter,behavior:n.behavior,selectedRangeChanged:n.selectedRangeChanged}),i.rangeView.applyOptions({isCompactMode:u,canvas:f,translators:n.translators,background:n.background,chart:n.chart,seriesDataSource:n.seriesDataSource,behavior:n.behavior,isEmpty:n.scale.isEmpty}),i.scale.applyOptions({isCompactMode:u,canvas:t,translator:n.translators.x,scale:n.scale,scaleLabelsAreaHeight:r,setSelectedRange:n.setSelectedRange})},_draw:function(){var n=this,i,h,r,u,f,c=n._options,o=e(c.canvas,c.indents),s=n._viewCanvas,t=n._renderer,l=n.slidersContainer;n._clipRect=t.clipRect(o.left,o.top,o.width,o.height),n._viewClipRect=t.clipRect(s.left,s.top,s.width,s.height),i=t.g().attr({"class":"rangeContainer",clipId:n._clipRect.id}).append(t.root),h=t.g().attr({"class":"view",clipId:n._viewClipRect.id}),n._slidersGroup=r=t.g().attr({"class":"slidersContainer"}),u=t.g().attr({"class":"scale"}),f=t.g().attr({"class":"trackers"}),h.append(i),c.isCompactMode?(u.append(i),r.append(i)):(r.append(i),u.append(i)),f.append(i),n.rangeView.redraw(h),l.redraw(r),n.scale.redraw(u),n._trackersGroup=f,l.appendTrackers(f)},_update:function(){var n=this,t=n._options,i=n.slidersContainer;n._clipRect.attr(o(e(t.canvas,t.indents))),n._viewClipRect.attr(o(n._viewCanvas)),n.rangeView.redraw(),i.redraw(n._slidersGroup),i.appendTrackers(n._trackersGroup),n.scale.redraw()}}),r.RangeContainer=u}(jQuery,DevExpress),function(n,t,i){function y(n,t,i){for(var r={},u,f=0;f<t.length;f++)u=t[f],i.inverted?n<u.posX?r.endValue=u.date:r.startValue||(r.startValue=u.date):n>=u.posX?r.startValue=u.date:r.endValue||(r.endValue=u.date);return r.startValue=r.startValue||i.startValue,r.endValue=r.endValue||i.endValue,r}function k(n,t){var i=new Date(n.getTime()),u=r[t];return u&&u(i),i}function p(n,t){var i=t,r,f;if(i==="week"&&(i="day"),i==="quarter"&&(i="month"),n[i])for(f=0;f<u.dateUnitIntervals.length;f++)if(r=u.dateUnitIntervals[f],n[r]&&(n[r]=!1,n.count--),r===i)break}function w(n,t){var i={value:n,valueText:s.format(n,t.format,t.precision)};return String(u.isFunction(t.customizeText)?t.customizeText.call(i,i):i.valueText)}var c=t.viz,e=c.rangeSelector,s=t.formatHelper,l=e.utils,u=t.utils,a=u.isDefined,v=6,b=.6,f,h=e.baseVisualElementMethods,o=n.extend,r={};r.millisecond=function(n){n.setMilliseconds(0)},r.second=function(n){n.setSeconds(0,0)},r.minute=function(n){n.setMinutes(0,0,0)},r.hour=function(n){n.setHours(0,0,0,0)},r.week=r.day=function(n){n.setDate(1),r.hour(n)},r.month=function(n){n.setMonth(0),r.day(n)},r.quarter=function(n){n.setMonth(s.getFirstQuarterMonth(n.getMonth())),r.day(n)},f=function(){h.init.apply(this,arguments)},f.prototype=o({},h,{constructor:f,_setupDateUnitInterval:function(n){var i,f,t=n.ticksInfo.majorTickInterval,r=n.ticksInfo.majorTicks;if(n.valueType==="datetime"){if(r&&r.autoArrangementStep>1){u.isString(t)&&(t=u.getDateIntervalByString(t));for(i in t)t.hasOwnProperty(i)&&(t[i]*=r.autoArrangementStep,f=u.dateToMilliseconds(t));t=u.convertMillisecondsToDateUnits(f)}this.dateUnitInterval=u.getDateUnitInterval(t)}},_getDrawnDateMarker:function(n,t){var i=this,u,s,r=i._options.scale,f,e,o,h;if(t.x!==null)return i.textOptions.align="left",h=i._renderer.path([t.x,t.y,t.x,t.y+r.marker.separatorHeight],"line").attr(i._majorTickStyle).append(t.group),f=i._renderer.text(w(n,t.label),0,0).attr(i.textOptions).css(i.fontOptions).append(t.group),e=f.getBBox().width,o=r.tick.width+r.marker.textLeftIndent,u=r.inverted?t.x-o-e:t.x+o,s=t.y+r.marker.textTopIndent+i.fontOptions["font-size"],f.move(u,s),{x1:u,x2:u+e,path:h,text:f}},_deleteDrawnDateMarker:function(n){n.path.dispose(),n.path=null,n.text.dispose(),n.text=null},_drawDateMarkers:function(n,t){var r=this,f,o=r._options,y=n.length,h,c,l,v=[],a,e;if(o.scale.valueType==="datetime"&&r.visibleMarkers&&n.length>1){for(f=1;f<y;f++)h=u.getDatesDifferences(n[f-1],n[f]),p(h,r.dateUnitInterval),h.count>0&&(c=k(n[f],r.dateUnitInterval),l=r.translator.translate(c),e=r._getDrawnDateMarker(c,{group:t,y:o.canvas.top+o.canvas.height-r.markersAreaHeight+o.scale.marker.topIndent,x:l,label:r._getLabelFormatOptions(s.getDateFormatByDifferences(h))}),a===i||e.x1>a.x2||e.x2<a.x1?(l!==null&&v.push({date:c,posX:l}),a=e):r._deleteDrawnDateMarker(e));r._initializeMarkersEvents(v,t)}},_getLabelFormatOptions:function(n){return a(this._options.scale.marker.label.format)?this._options.scale.marker.label:o({},this._options.scale.marker.label,{format:n})},_initializeMarkersEvents:function(n,t){var r=this,i=r._options,h=i.canvas.top+i.canvas.height-this.markersAreaHeight+i.scale.marker.topIndent,u,f,o,s;if(n.length>0){u=r._renderer.rect(i.canvas.left,h,i.canvas.width,i.scale.marker.separatorHeight).attr(l.trackerSettings).append(t);u.on(e.events.start,function(t){f=r._renderer.getRootOffset().left,o=l.getEventPageX(t)-f,s=y(o,n,i.scale),i.setSelectedRange(s)});r._markersTracker=u}},_drawLabel:function(n,t){var i=this,r=i._options,u=r.canvas,f=u.top+u.height-i.markersAreaHeight,e=i._renderer.text(w(n,r.scale.label),i.translator.translate(n),f).attr(i.textOptions).css(i.fontOptions).append(t)},_drawTicks:function(n,t,i,r,u,f){for(var o=this,s,h,e=0;e<n.length;e++)f&&o._drawLabel(n[e],f),s=o.translator.translate(n[e],i),h=o._createLine([s,r[0],s,r[1]],t,u)},_createLine:function(n,t,i){return this._renderer.path(n,"line").attr(i).append(t)},_redraw:function(n){var t=this,h=t._options,r=h.scale,p=t._renderer,w=p.g().append(n),u=p.g(),c=r.ticksInfo,b=c.majorTicks,nt=c.minorTicks,tt=c.customBoundaryTicks,it=r.isEmpty||!r.label.visible,l=r.type==="discrete",k=l?-1:0,d=h.isCompactMode,i=h.canvas,g=i.top+i.height-t.scaleLabelsAreaHeight,f=i.top+(g-i.top)/2,e=d?[f-v,f+v]:[i.top,g],y=r._categoriesInfo,s=t._majorTickStyle;t._drawTicks(b,u,k,e,s,!it&&w),(r.showMinorTicks||l)&&t._drawTicks(nt,u,k,e,t._minorTickStyle),t._drawTicks(tt,u,0,e,s),l&&y&&a(y.end)&&t._drawTicks([y.end],u,1,e,s),d&&t._createLine([i.left,f,i.width+i.left,f],n,o({},s,{sharp:"v"})),u.append(n),t._drawDateMarkers(b,w)},_applyOptions:function(n){var t=this,r=n.scale,f,u=r.tick;t.textOptions={align:"center"},t.fontOptions=c.core.utils.patchFontOptions(r.label.font),t._majorTickStyle={"stroke-width":u.width,stroke:u.color,"stroke-opacity":u.opacity,sharp:"h"},t._minorTickStyle=o({},t._majorTickStyle,{"stroke-opacity":u.opacity*b}),t._setupDateUnitInterval(r),t.visibleMarkers=r.marker.visible===i?!0:r.marker.visible,f=r.label.visible?r.label.topIndent+t.fontOptions["font-size"]:0,t.scaleLabelsAreaHeight=n.scaleLabelsAreaHeight,t.markersAreaHeight=t.scaleLabelsAreaHeight-f,t.translator=n.translator},_draw:function(n){this._redraw(n)},_update:function(){this._markersTracker&&this._markersTracker.off(e.events.start,"**"),h._update.apply(this,arguments)}}),f.prototype._calculateRangeByMarkerPosition=y,f.prototype._prepareDatesDifferences=p,e.Scale=f}(jQuery,DevExpress),function(n,t){var r=t.viz.rangeSelector;r.rangeSelectorFactory=function(){return{createRangeContainer:function(n){return new r.RangeContainer(n)},createSlidersContainer:function(n){return new r.SlidersContainer(n)},createScale:function(n){return new r.Scale(n)},createSliderMarker:function(n){return new r.SliderMarker(n)},createRangeView:function(n){return new r.RangeView(n)},createThemeManager:function(n){return new r.ThemeManager(n)},createSlider:function(n,t){return new r.Slider(n,t)},createSlidersEventsManager:function(n,t,i){return new r.SlidersEventsManager(n,t,i)},createSlidersController:function(n){return new r.SlidersController(n)}}}()}(jQuery,DevExpress),function(n,t){function e(){var n=this;c.init.apply(n,arguments),n._controller=l.createSlidersController(n._renderer),n._eventsManager=l.createSlidersEventsManager(n._renderer,n._controller,function(t){n._processSelectionChanged(t)}),n._lastSelectedRange={}}var r=t.viz.rangeSelector,u=t.utils,v=t.support.pointer,o=u.isNumber,s=u.isDate,h=u.isString,f=r.utils,c=r.baseVisualElementMethods,l=r.rangeSelectorFactory,a=f.trackerSettings;e.prototype=n.extend({},c,{constructor:e,_drawAreaTracker:function(n){var i=this,r,u,t=i._options.canvas,f=i._renderer;r=f.rect(t.left,t.top,t.width,t.height).attr(a).append(n),u=f.rect(t.left,t.top,t.width,t.height).attr(a).css({cursor:"pointer"}).append(n),i._controller.setAreaTrackers(r,u)},dispose:function(){this._eventsManager.dispose(),this._controller.dispose(),this._eventManager=null},_processSelectionChanged:function(n,t){var i=this,f=function(n){return n&&i._lastSelectedRange.startValue===n.startValue&&i._lastSelectedRange.endValue===n.endValue},r=i.getSelectedRange();n&&(i._options.behavior.callSelectedRangeChanged||"").toLowerCase()!=="onmoving"||!i._options.selectedRangeChanged||f(r)||(i._updateLastSelectedRange(r),u.isFunction(i._options.selectedRangeChanged)&&i._options.selectedRangeChanged.call(null,r,t),n||f(r)||i.setSelectedRange(r))},_updateLastSelectedRange:function(n){n=n||this._options.selectedRange,this._lastSelectedRange={startValue:n.startValue,endValue:n.endValue}},getSelectedRange:function(){return this._controller.getSelectedRange()},setSelectedRange:function(n){var i=this,r=i._options.scale,u,e,t=i._options.selectedRange,c=function(n,i){var u=r[n];(o(u)&&o(i)||s(u)&&s(i)||h(u)&&h(i))&&(t[n]=i)};n&&(u=n.startValue,e=n.endValue),c("startValue",u),c("endValue",e),t.startValue=f.truncateSelectedRange(t.startValue,r),t.endValue=f.truncateSelectedRange(t.endValue,r),i._controller.applySelectedRange(t),i._controller.applyPosition(),i._processSelectionChanged(!1,n&&n.blockSelectedRangeChanged)},appendTrackers:function(n){this._controller.appendTrackers(n)},_applyOptions:function(n){var t=this;t._controller.applyOptions({isCompactMode:n.isCompactMode,translator:n.translator,canvas:n.canvas,sliderMarker:n.sliderMarker,sliderHandle:n.sliderHandle,shutter:n.shutter,scale:n.scale,behavior:n.behavior}),t._eventsManager.applyOptions({behavior:n.behavior})},_draw:function(n){var t=this,i;v&&(i=t._renderer.root,i&&i.css({msTouchAction:"pinch-zoom"})),t._controller.redraw(n),t._drawAreaTracker(n),t._eventsManager.initialize(),t._update(n)},_updateSelectedView:function(n){var t=this,u=t._options,r=u.canvas,e={"stroke-width":3,stroke:u.selectedRangeColor,sharp:"v"},o=r.top+r.height/2,i=t._selectedView,s=t._selectedViewAppended,f=t._controller;u.isCompactMode?(i?i.attr(e):(t._selectedView=i=t._renderer.path([r.left,o,r.left,o],"line").attr(e),f.setSelectedView(i)),s||(i.append(n),f.removeShutters(),t._selectedViewAppended=!0)):(i&&s&&(i.remove(),t._selectedViewAppended=!1),f.createShutters())},_update:function(n){var t=this,i=t._options.scale.isEmpty,r=t._controller;t._eventsManager.setEnabled(!i),i||t._updateSelectedView(n),r.applySelectedRange(i?{}:t._options.selectedRange),r.applyPosition(t.isDrawn()),t._updateLastSelectedRange(),r.redraw()}}),r.SlidersContainer=e}(jQuery,DevExpress),function(n,t,i){var f=t.viz.rangeSelector,o=f.rangeSelectorFactory.createSlider,h=t.utils,c=f.utils,e,r=0,u=1,s="discrete";e=f.SlidersController=function(n){var t=[o(n,r),o(n,u)];t[r].setAnotherSlider(t[u]),t[u].setAnotherSlider(t[r]),this._sliders=t},e.prototype={constructor:e,setAreaTrackers:function(n,t){this._areaTracker=n,this._selectedAreaTracker=t},applyOptions:function(n){var i=this,t=null,f=i.getSlider(r),e=i.getSlider(u),o=n.scale;i._options=n,f.applyOptions(n),e.applyOptions(n),n.behavior.snapToTicks&&o.type!==s&&(t=o.ticksInfo.fullTicks,t.length>1&&t[0]>t[t.length-1]&&(t=t.reverse())),f.setAvailableValues(t),e.setAvailableValues(t)},processDocking:function(n){var t=this;n!==i?t.getSlider(n).processDocking():(t.getSlider(r).processDocking(),t.getSlider(u).processDocking()),t.setTrackersCursorStyle("default"),t.applyAreaTrackersPosition(),t._applySelectedRangePosition()},_applySelectedRangePosition:function(n){var t=this,i=t._options,f=i.canvas,e=f.top+f.height/2,h=i.behavior.animationEnabled&&!n,o=t.getSlider(r).getPosition(),l=t.getSelectedRangeInterval(),s=[o,e,o+l,e],u=t._selectedView;u&&i.isCompactMode&&(h?u.animate({points:s},c.animationSettings):u.stopAnimation().attr({points:s}))},setSelectedView:function(n){this._selectedView=n},getSelectedRangeInterval:function(){var n=this;return n.getSlider(u).getPosition()-n.getSlider(r).getPosition()},moveSliders:function(n,t){var i=this.getSlider(r);i.setPosition(i.getPosition()+n,!1,t),this.applyPosition(!0)},moveSlider:function(n,t,i,u,f,e){var o=this,s=o.getSlider(n),c=s.getAnotherSlider(),l=c.getPosition(),h;s.canSwap()&&(n===r?i>l:i<l)&&(h=t,t||Math.abs(u)>=Math.abs(f)&&(h=!0,u*f<0?(i+=2*f,e(-f)):(i-=2*f,e(f))),h&&(o.swapSliders(),c.applyPosition(!0))),s.setPosition(i,!0),s.applyPosition(!0),o.applyAreaTrackersPosition(),o._applySelectedRangePosition(!0),o.setTrackersCursorStyle("w-resize")},applySelectedAreaCenterPosition:function(n){var t=this,i=t.getSlider(r),f=(t.getSlider(u).getPosition()-i.getPosition())/2,e=t.getSelectedRangeInterval();i.setPosition(n-f,!1,e),t.applyPosition(),t.processDocking()},endSelection:function(){var t=this.getSlider(r),i=this.getSlider(u),f=t.getCloudBorder()-i.getCloudBorder(),n;n=f>0?!0:!1,t.setOverlapped(n),i.setOverlapped(n)},processManualSelection:function(n,t,i){var c=this,o,e,s=[Math.min(n,t),Math.max(n,t)],f,h;o=n<t?r:u,e=n<t?u:r,f=c.getSlider(e),h=c.getSlider(o),f.setPosition(s[e]),h.setPosition(s[o]),f.setPosition(s[e],!0),f.startEventHandler(i),h.processDocking(),f.applyPosition(!0)},applySelectedRange:function(n){var o=this,f=o._options.scale,l=f.inverted,a=o.getSlider(r),v=o.getSlider(u),t=n.startValue,i=n.endValue,e,c=function(n,t,i){(i?v:a).setValue(n),(i?a:v).setValue(t)};f.type!==s?!l&&t>i||l&&t<i?c(t,i,!0):c(t,i):(e=h.getCategoriesInfo(f._categoriesInfo.categories,t,i),c(e.start,e.end,e.inverted^f.inverted))},getSelectedRange:function(){return{startValue:this.getSlider(r).getValue(),endValue:this.getSlider(u).getValue()}},swapSliders:function(){var n=this;n._sliders.reverse(),n.getSlider(r).changeLocation(),n.getSlider(u).changeLocation()},applyAreaTrackersPosition:function(){var n=this,i=n.getSelectedRange(),t=n._options.canvas,f=n._options.scale,e=n.getSlider(r),o=n.getSlider(u).getPosition()-e.getPosition(),s={x:e.getPosition(),width:o<0?0:o,y:t.top,height:t.height},h={cursor:f.endValue-f.startValue==i.endValue-i.startValue?"default":"pointer"};n._selectedAreaTracker.attr(s).css(h),n._areaTracker.attr({x:t.left,width:t.width,y:t.top,height:t.height})},applyPosition:function(n){var t=this;t.getSlider(r).applyPosition(n),t.getSlider(u).applyPosition(n),t.applyAreaTrackersPosition(),t._applySelectedRangePosition(n)},redraw:function(n){var t=this;t.getSlider(r).redraw(n),t.getSlider(u).redraw(n),t._foregroundSliderIndex=u},toForeground:function(n){var t=this,i=n.getIndex();t._foregroundSliderIndex!==i&&(n.toForeground(),t._foregroundSliderIndex=i)},appendTrackers:function(n){var t=this;t._areaTracker&&t._selectedAreaTracker&&(t._areaTracker.append(n),t._selectedAreaTracker.append(n)),t.getSlider(r).appendTrackers(n),t.getSlider(u).appendTrackers(n)},getSlider:function(n){return this._sliders[n]},getAreaTracker:function(){return this._areaTracker},getSelectedAreaTracker:function(){return this._selectedAreaTracker},setTrackersCursorStyle:function(n){var t=this;t._selectedAreaTracker.css({cursor:n}),t._areaTracker.css({cursor:n})},createShutters:function(){var n=this._sliders;n[0].createShutter(),n[1].createShutter()},removeShutters:function(){var n=this._sliders;n[0].removeShutter(),n[1].removeShutter()},dispose:function(){var n=this._sliders;n[0].dispose(),n[1].dispose()}}}(jQuery,DevExpress),function(n,t,i){var e=t.viz.rangeSelector,l=10,s=0,a=1,h=t.ui.events.addNamespace,c,v=e.utils,r=v.getEventPageX,y=0;e.events={start:"dxpointerdown",move:"dxpointermove",end:"dxpointerup"};var u=function(n){var r=n||window.event,t=r.originalEvent,f=r.touches,u=t?t.pointerType:!1,e=t?t.touches:!1,o=r.which===i&&r.button===1,s=t&&u!==i&&(u===(t.MSPOINTER_TYPE_TOUCH||"touch")||u===(t.MSPOINTER_TYPE_MOUSE||"mouse")&&t.buttons===1),h=o||r.which===1,c=f&&f.length>0||e&&e.length>0;return h||s||c},o=function(n){var t=n.originalEvent,i=n.touches,r=t?t.touches:!1;return i&&i.length>1||r&&r.length>1||null},f=function(n){return n&&n.type&&n.type.indexOf("touch")===0};c=e.SlidersEventsManager=function(n,t,i){var r=this,u=r._uniqueNS="dx-range-selector_"+y++,f=e.events;r._renderer=n,r._slidersController=t,r._processSelectionChanged=i,r._enabled=!0,r._eventsNames={start:h(f.start,u),move:h(f.move,u),end:h(f.end,u)}},c.prototype={constructor:c,_initializeSliderEvents:function(t){var h=this,v,e=h._slidersController,a=h._processSelectionChanged,i=e.getSlider(t),y,c,s,p=function(){s&&(s=!1,e.endSelection(),e.processDocking(),a(!1))},w=function(n){var t,l,p=h._renderer.getRootOffset().left,w,b=i.getIndex();v===f(n)&&(!u(n,!0)&&s?(s=!1,e.processDocking(),a(!1)):s&&(o(n)||n.preventDefault(),t=r(n),w=t-c-p,l=t-i.getPosition()-p,e.moveSlider(b,y,w,l,c,function(n){c=n}),a(!0)),e.endSelection())},l=h._eventsNames;i.startEventHandler=function(n){h._enabled&&u(n)&&!s&&(y=this===i.getSliderTracker().element,s=!0,v=f(n),c=r(n)-i.getPosition()-h._renderer.getRootOffset().left,o(n)||(n.stopPropagation(),n.preventDefault()))};i.on(l.move,function(){e.toForeground(i)});i.on(l.start,i.startEventHandler);n(document).on(l.end,p).on(l.move,w)},_initializeAreaEvents:function(){var t=this,c,e=t._slidersController,s=t._processSelectionChanged,a=e.getAreaTracker(),i=!1,o,v=function(n){var u;i&&(u=r(n),t._options.behavior.moveSelectedRangeByClick&&Math.abs(o-u)<l&&e.applySelectedAreaCenterPosition(u-t._renderer.getRootOffset().left),i=!1,e.endSelection(),s(!1))},y=function(n){var h,a,v,y=t._renderer.getRootOffset().left;c===f(n)&&(i&&!u(n)&&(i=!1,s(!1)),i&&(h=r(n),t._options.behavior.manualRangeSelectionEnabled&&Math.abs(o-h)>=l&&(a=o-y,v=h-y,e.processManualSelection(a,v,n),i=!1,s(!0))))},h=t._eventsNames;a.on(h.start,function(n){t._enabled&&u(n)&&!i&&(i=!0,c=f(n),o=r(n))});n(document).on(h.end,v).on(h.move,y)},_initializeSelectedAreaEvents:function(){var e=this,l,t=e._slidersController,h=e._processSelectionChanged,y=t.getSelectedAreaTracker(),i=!1,a,v,p=function(){i&&(i=!1,t.processDocking(),h(!1))},w=function(n){var e,c;l===f(n)&&(i&&!u(n)&&(i=!1,t.processDocking(),h(!1)),i&&(o(n)||n.preventDefault(),c=r(n),e=c-t.getSlider(s).getPosition()-a,t.moveSliders(e,v),h(!0)),t.endSelection())},c=e._eventsNames;y.on(c.start,function(n){e._enabled&&u(n)&&!i&&(i=!0,l=f(n),a=r(n)-t.getSlider(s).getPosition(),v=t.getSelectedRangeInterval(),o(n)||(n.stopPropagation(),n.preventDefault()))});n(document).on(c.end,p).on(c.move,w)},applyOptions:function(n){this._options=n},dispose:function(){n(document).off("."+this._uniqueNS)},initialize:function(){var n=this;n._initializeSelectedAreaEvents(n),n._initializeAreaEvents(),n._initializeSliderEvents(s),n._initializeSliderEvents(a)},setEnabled:function(n){this._enabled=n}}}(jQuery,DevExpress),function(n,t,i){function b(n,t,i){return Math.abs(t-n)<i}function k(n,t,i,r){var u=v(t,n);return u===0||u===n.length-1?i:n[u-r]}function h(n,t){a.init.apply(this,arguments),this._index=t}var u=t.viz.rangeSelector,o=t.utils,f=u.utils,v=n.inArray,c=t.support,y=c.touchEvents,p=c.pointer,l=8,w=20,r=0,e=1,s="discrete",a=u.baseVisualElementMethods;h.prototype=n.extend({},a,{constructor:h,_createSlider:function(n){var t=this,r,i,u=t._options.sliderHandle,f=t._options.canvas,e=t._renderer;return i=e.g().attr({"class":"slider",translateX:f.left,translateY:f.top}).append(n),r=e.path([0,0,0,f.height],"line").attr({"stroke-width":u.width,stroke:u.color,"stroke-opacity":u.opacity,sharp:"h"}).append(i),i.setValid=function(n){r.attr({stroke:n?t._options.sliderHandle.color:t._options.sliderMarker.invalidRangeColor})},i.updateHeight=function(){r.attr({points:[0,0,0,t._options.canvas.height]})},i.applyOptions=function(n){r.attr(n)},i},_createSliderTracker:function(n){var t=this,r=t._options.sliderHandle.width,h=l<r?r:l,u=y||p?w:h,e,o=t._options.canvas,s=t._renderer,i=s.g().attr({"class":"sliderTracker",translateX:0,translateY:o.top}).append(n);return e=s.rect(-u/2,0,u,o.height).attr(f.trackerSettings).css({cursor:"w-resize"}).append(i),i.updateHeight=function(){e.attr({height:t._options.canvas.height})},i},_setPosition:function(n,t){var i=this,r=i._correctPosition(n),u=i._options.translator.untranslate(r,i._getValueDirection());i.setValue(u,t,!1),i._position=r},_getValueDirection:function(){return this._options.scale.type===s?this.getIndex()===r?-1:1:0},_setPositionForBothSliders:function(n,t){var r=this,h=r.getAnotherSlider(),u,f,e,c=r._options,v=c.scale,y=c.canvas,p=y.left+y.width,l=c.translator,a=r._getValueDirection(),w=h._getValueDirection(),s=function(n,i,u){var f=u?w:a,e=u?a:w;return l.untranslate(r._correctBounds(o.addInterval(l.translate(n,f),t,i)),e)};n=r._correctBounds(n),u=l.untranslate(n,a),f=s(u),e=n+t,e>p?(f=v.endValue,e=p,u=s(f,!0,!0),n=r._correctBounds(e-t)):e=r._correctBounds(e),r._values&&((v.inverted?u>r._values[r._values.length-1]:u<r._values[0])?(u=r._correctByAvailableValues(u,!1),f=s(u)):(f=r._correctByAvailableValues(f,!1),u=s(f,!0))),h.setValue(f,i,!1),r.setValue(u,i,!1),r._position=n,h._position=e},_correctPosition:function(n){return this._correctBounds(this._correctInversion(n))},_correctInversion:function(n){var i=this,u=n,t=i.getAnotherSlider().getPosition(),f=i.getIndex()===r?n>t:n<t;return f&&(u=t),u},_correctBounds:function(n){var r=this,i=n,t=r._options.canvas;return n<t.left&&(i=t.left),n>t.left+t.width&&(i=t.left+t.width),i},_correctValue:function(n,t,i){var u=this,r=u._correctByAvailableValues(n,i);return t&&(r=u._correctByMinMaxRange(r)),u._options.scale.type!==s&&(r=u.correctByMinRange(r)),r},_correctByAvailableValues:function(n,t){var i=this._values;return!t&&i?f.findNearValue(i,n):n},_correctByMinMaxRange:function(n){var t=this,u=n,o=t._options.scale,l=t._values,w=t.getIndex(),d=t.getAnotherSlider(),a=d.getValue(),v=!0,h,c,y=o.maxRange,p=o.minRange,g;return o.type===s?(g=o._categoriesInfo,b(t.getPosition(),d.getPosition(),t._options.translator.getInterval()/2)&&(v=!1,u=k(g.categories,n,d.getValue(),w===r?1:-1))):(!o.inverted&&w===r||o.inverted&&w===e?(y&&(h=t._addInterval(a,y,!0)),p&&(c=t._addInterval(a,p,!0))):(y&&(c=t._addInterval(a,y)),p&&(h=t._addInterval(a,p))),c!==i&&u>c?(u=l?f.findLessOrEqualValue(l,c):c,v=!1):h!==i&&u<h&&(u=l?f.findGreaterOrEqualValue(l,h):h,v=!1)),t._setValid(v),u},_addInterval:function(n,t,i){var r,e=this._options.scale.type,u=e==="logarithmic"&&this._options.scale.logarithmBase,f;return u?(f=o.addInterval(o.getLog(n,u),t,i),r=Math.pow(u,f)):r=o.addInterval(n,t,i),r},correctByMinRange:function(n){var u=this,f,o,t=u._options.scale,i=n;return t.minRange&&(u.getIndex()===e?(f=u._addInterval(t.startValue,t.minRange,t.inverted),(!t.inverted&&i<f||t.inverted&&i>f)&&(i=f)):u.getIndex()===r&&(o=u._addInterval(t.endValue,t.minRange,!t.inverted),(!t.inverted&&i>o||t.inverted&&i<o)&&(i=o))),i},_applySliderPosition:function(n,t){var i=this,o=i._options,h=o.behavior.animationEnabled&&!t,u=i._slider,e=i._sliderTracker,r={translateX:n,translateY:o.canvas.top},s=f.animationSettings;i._marker&&i._marker.setPosition(n),h?(u.animate(r,s),e.animate(r,s)):(u.stopAnimation().attr(r),e.stopAnimation().attr(r)),e.updateHeight(),u.updateHeight()},_applyShutterPosition:function(n,t){var s=this,u,h=s._options,c=s._shutter,v=h.behavior.animationEnabled&&!t,l=s.getIndex(),i=h.canvas,a=h.sliderHandle.width/2,o;c&&(l===r?(o=n-i.left-Math.floor(a),o<0&&(o=0),u={x:i.left,y:i.top,width:o,height:i.height}):l===e&&(u={x:n+Math.ceil(a),y:i.top,width:i.left+i.width-n,height:i.height}),v?c.animate(u,f.animationSettings):c.stopAnimation().attr(u))},_setValid:function(n){this._marker&&this._marker.setValid(n),this._slider.setValid(n)},_setText:function(n){this._marker&&this._marker.setText(n)},_update:function(){var n=this,t=n._options,u=t.shutter,i=t.sliderHandle,r=n._marker;r&&(r.applyOptions(t.sliderMarker),r.setCanvas(n._options.canvas)),n._shutter&&n._shutter.attr({fill:u.color,"fill-opacity":u.opacity}),n._slider&&n._slider.applyOptions({"stroke-width":i.width,stroke:i.color,"stroke-opacity":i.opacity})},_draw:function(n){var t=this,r,i,o,f=t._options,s=t._renderer;t._container=o=s.g().attr({"class":"sliderArea"}).append(n),r=t._createSlider(o),f.sliderMarker.visible&&(i=u.rangeSelectorFactory.createSliderMarker({renderer:s,isLeftPointer:t.getIndex()===e,sliderMarkerOptions:f.sliderMarker}),i.setCanvas(f.canvas),i.draw(r)),t._slider=r,t._marker=i,t._sliderTracker=t._createSliderTracker(n)},toForeground:function(){this._container.toForeground()},_applyOptions:function(){this._lastPosition=null},getIndex:function(){return this._index},setAvailableValues:function(n){this._values=n},setAnotherSlider:function(n){this._anotherSlider=n},getAnotherSlider:function(){return this._anotherSlider},appendTrackers:function(n){this._sliderTracker&&this._sliderTracker.append(n)},getSliderTracker:function(){return this._sliderTracker},changeLocation:function(){var n=this;n._marker&&n._marker.changeLocation(),n._index=n._index===r?e:r,n._options.scale.type===s&&n.setPosition(n._position),n._lastPosition=null},setPosition:function(n,t,u){var f=this,e;u!==i?(e=f.getIndex()===r?f:f.getAnotherSlider(),e._setPositionForBothSliders(n,u)):f._setPosition(n,t)},getPosition:function(){return this._position},setValue:function(n,t,f){var e=this,s=e._options,h=s.canvas,c,l;n===i?(e._value=i,c=e.getIndex()===r?h.left:h.left+h.width,l=u.consts.emptySliderMarkerText):(e._value=e._correctValue(n,t,o.isDefined(f)?!!f:!0),c=s.translator.translate(e._value,e._getValueDirection()),l=u.formatValue(e._value,s.sliderMarker)),e._setText(l),e._valuePosition=e._position=c},setOverlapped:function(n){this._marker&&this._marker.setOverlapped(n)},getValue:function(){return this._value},canSwap:function(){var t=this,n=t._options.scale,u,f,i;if(t._options.behavior.allowSlidersSwap){if(n.minRange)if(i=t.getAnotherSlider().getValue(),t.getIndex()===r){if(f=t._addInterval(n.endValue,n.minRange,!n.inverted),!n.inverted&&i>f||n.inverted&&i<f)return!1}else if(u=t._addInterval(n.startValue,n.minRange,n.inverted),!n.inverted&&i<u||n.inverted&&i>u)return!1;return!0}return!1},processDocking:function(){var n=this;n._position=n._valuePosition,n.applyPosition(!1),n._setValid(!0)},applyPosition:function(n){var t=this,i=t.getPosition();t._lastPosition!==i&&(t._applySliderPosition(i,n),t._applyShutterPosition(i,n),t._lastPosition=i)},on:function(n,t){var i=this,r=i._marker,u=r&&r.getTracker(),f=i._sliderTracker;f&&f.on(n,t),u&&u.on(n,t)},createShutter:function(){var t=this,u=t.getIndex(),n=t._options.canvas,f=t._renderer,i=t._shutter;i||(u===r?i=f.rect(n.left,n.top,0,n.height):u===e&&(i=f.rect(n.left,n.top,n.width,n.height)),t._shutter=i),i.append(t._container)},removeShutter:function(){var n=this._shutter;n&&n.remove()},getCloudBorder:function(){return this._marker?this._marker.getBorderPosition():0},dispose:function(){var n=this._marker;n&&n.dispose()}}),u.Slider=h}(jQuery,DevExpress),function(n,t){var o=t.viz,s=o.core,u=o.rangeSelector,f,h=75,r=u.consts.pointerSize,e=function(n,t){var i=n._options;return{width:Math.round(2*i.paddingLeftRight+t.width),height:Math.round(2*i.paddingTopBottom+t.height)}},c=function(n,t){var p=e(n,t),f=p.width,c=p.height,i=-f,u=0,o=r,a=0,s=-r,l=n._position,h=n._canvas,v=n._isLeftPointer,w=function(){i++,u++,o++,a++,s++},b=function(){o>u?o=u:s<i&&(s=i),v&&w()},y=l;return v?l>h.left+h.width-f?(u=-l+(h.left+h.width),i=u-f,b(),y+=i):(i=s=0,u=f):l-h.left<f?(i=-(l-h.left),u=i+f,b(),y+=u):(o=0,w()),n._borderPosition=y,{offset:i,isCutted:(!v||a!==s)&&(v||a!==o),points:[i,0,u,0,u,c,o,c,a,c+r,s,c,i,c]}},l=function(n){var t=n._label.getBBox();return!n._textHeight&&isFinite(t.height)&&(n._textHeight=t.height),{width:t.width,height:n._textHeight,y:t.y}};f=u.SliderMarker=function(t){var i=this;i._renderer=t.renderer,i._text=t.text,i._isLeftPointer=t.isLeftPointer,i._options=n.extend(!0,{},t.sliderMarkerOptions),i._options.textFontStyles=s.utils.patchFontOptions(i._options.font),i._isValid=!0,i._isOverlapped=!1},f.prototype={constructor:f,draw:function(n){var t=this,i=t._options,f=t._sliderMarkerGroup=t._renderer.g().attr({"class":"sliderMarker"}).append(n);t._area=t._renderer.path([],"area").attr({fill:i.color}).append(f),t._label=t._renderer.text(t._text,0,0).attr({align:"left"}).css(i.textFontStyles).append(f),t._tracker=t._renderer.rect(0,0,2*i.paddingLeftRight,2*i.paddingTopBottom+r).attr(u.utils.trackerSettings).css({cursor:"pointer"}).append(f),t._border=t._renderer.rect(0,0,1,0).attr({fill:i.borderColor}),t._drawn=!0,t._update()},_update:function(){function f(t,i){var u,f,s;i=i||e(n,t),n._sliderMarkerGroup.attr({translateY:-(i.height+r)}),f=c(n,t),u=f.points,s=f.offset,n._area.attr({points:u}),n._border.attr({x:n._isLeftPointer?u[0]-1:u[2],height:f.isCutted?i.height:i.height+r}),n._tracker.attr({translateX:s,width:i.width,height:i.height+r}),n._label.attr({translateX:o.paddingLeftRight+s,translateY:i.height/2-(t.y+t.height/2)})}var n=this,i,o=n._options,t,u;(clearTimeout(n._timeout),n._drawn)&&(n._label.attr({text:n._text||""}),t=l(n),u=e(n,t),i=n._textSize||t,i=n._textSize=t.width>i.width||t.height>i.height?t:i,n._timeout=setTimeout(function(){f(t,u),n._textSize=t},h),f(i))},setText:function(n){var t=this;t._text!==n&&(t._text=n)},setPosition:function(n){this._position=n,this._update()},changeLocation:function(){var n=this;n._isLeftPointer=!n._isLeftPointer,n._update()},applyOptions:function(t){var i=this,r,u=i._options=n.extend(!0,{},t);r=u.textFontStyles=s.utils.patchFontOptions(u.font),i._textHeight=null,i._area.attr({fill:t.color}),i._border.attr({fill:t.borderColor}),i._label.css(r),i._update()},getTracker:function(){return this._tracker},setValid:function(n){var t=this,i=t._options;t._isValid!==n&&(t._isValid=n,t._area.attr({fill:n?i.color:i.invalidRangeColor}))},dispose:function(){clearTimeout(this._timeout)},setOverlapped:function(n){var t=this._border,i=this._isOverlapped;i!==n&&(n?t.append(this._sliderMarkerGroup):this._isOverlapped&&t.remove(),this._isOverlapped=n)},getBorderPosition:function(){return this._borderPosition},setCanvas:function(n){this._canvas=n}}}(jQuery,DevExpress),function(n,t){var u=t.viz.rangeSelector,r,f=u.baseVisualElementMethods;r=function(){f.init.apply(this,arguments)},r.prototype=n.extend({},f,{constructor:r,_draw:function(n){var h=this,u,r,t=h._options,y=t.isCompactMode,i=t.canvas,c=t.isEmpty,o=h._renderer,f=t.seriesDataSource,l=f&&f.isShowChart()&&!c,s=t.background,a=l?f.getBackgroundColor():s.color,e=s.image,v=s.visible;if(!y&&(v&&!c&&a&&o.rect(i.left,i.top,i.width+1,i.height).attr({fill:a,"class":"dx-range-selector-background"}).append(n),v&&e&&e.url&&o.image(i.left,i.top,i.width+1,i.height,e.url,e.location).append(n),l))for(u=f.getSeries(),f.adjustSeriesDimensions(t.translators,t.chart.useAggregation),r=0;r<u.length;r++)u[r]._extGroups.seriesGroup=n,u[r]._extGroups.labelsGroup=n,u[r].draw(t.translators,t.behavior&&t.behavior.animationEnabled&&o.animationEnabled())}}),u.RangeView=r}(jQuery,DevExpress),function(n,t,i){function y(t,i,r){n.each(t,function(t,u){n.each(r.getTeamplatedFields(),function(n,t){u[t.teamplateField]=u[t.originalField]}),i.push(u)}),r.updateTeamplateFieldNames()}var o=t.viz.rangeSelector,s=t.viz.charts,u=t.viz.core,e=u.CoreFactory,r=t.utils,f,h=function(n){return s.factory.createThemeManager(n,"rangeSelector.chart")},c=function(t){return n.isArray(t)&&t.length>0&&(r.isNumber(t[0])||r.isDate(t[0]))},l=function(t){return n.map(t,function(n,t){return{arg:n,val:t}})},a=function(t,i,r,u){var o=[],f=[];return n.each(t,function(t,i){n.inArray(i.type,f)===-1&&f.push(i.type)}),n.each(f,function(n,f){var s=new e.createSeriesFamily({type:f,equalBarWidth:i,minBubbleSize:r,maxBubbleSize:u});s.add(t),s.adjustSeriesValues(),o.push(s)}),o},v=function(t){var r=["bar","candlestick","stock","bubble"],i=!0;return t=t.toLowerCase(),n.each(r,function(n,r){if(t.indexOf(r)!==-1)return i=!1,!1}),i};f=o.SeriesDataSource=function(n){var i=this,o,e,t=i._themeManager=h(n.chart),u,f;t._fontFields=["commonSeriesSettings.label.font"],t.setTheme(n.chart.theme),u=t.getOptions("topIndent"),f=t.getOptions("bottomIndent"),i._indent={top:u>=0&&u<1?u:0,bottom:f>=0&&f<1?f:0},i._valueAxis=t.getOptions("valueAxisRangeSelector")||{},i._hideChart=!1,e=t.getOptions("seriesTemplate"),n.dataSource&&e&&(o=r.processSeriesTemplate(e,n.dataSource)),i._series=i._calculateSeries(n,o),i._seriesFamilies=a(i._series,t.getOptions("equalBarWidth"),t.getOptions("minBubbleSize"),t.getOptions("maxBubbleSize"))},f.prototype={constructor:f,_calculateSeries:function(t,i){var f=this,h=[],a,v,s,p,g,b=f._themeManager,k=!!b.getOptions("seriesTemplate"),r=k?i:t.chart.series,tt=t.chart.valueAxis&&t.chart.valueAxis.valueType,w,o,d,nt;for(f.teamplateData=[],t.dataSource&&!r&&(c(t.dataSource)&&(t.dataSource=l(t.dataSource)),w=t.dataSourceField||"arg",r={argumentField:w,valueField:w},f._hideChart=!0),r=n.isArray(r)?r:r?[r]:[],f._backgroundColor=t.backgroundColor,o=0;o<r.length;o++)a=n.extend(!0,{incidentOccured:t.incidentOccured},r[o]),a.rotated=!1,s=a.data||t.dataSource,v=b.getOptions("series",a),v.argumentField=v.argumentField||t.dataSourceField,s&&s.length>0&&(d=e.createSeries({renderer:t.renderer},v),h.push(d)),k&&y(s,f.teamplateData,d);for(s=k?f.teamplateData:s,p=[h],p.argumentOptions={categories:t.categories,argumentType:t.valueType,type:t.axisType},p[0].valueOptions={valueType:w?t.valueType:tt},f._dataValidator=u.CoreFactory.createDataValidator(s,p,t.incidentOccured,b.getOptions("dataPrepareSettings")),g=f._dataValidator.validate(),o=0;o<h.length;o++)nt=h[o],nt.updateData(g);return h},adjustSeriesDimensions:function(t,i){var r=this;i&&n.each(r._series||[],function(n,i){i.resamplePoints(t.x)}),n.each(r._seriesFamilies,function(n,i){i.adjustSeriesDimensions({arg:t.x,val:t.y})})},getBoundRange:function(){var f=this,l,a=f._valueAxis.min,y=f._valueAxis.max,t=new u.Range({isValueRange:!0,min:a,minVisible:a,max:y,maxVisible:y,axisType:f._valueAxis.type,base:f._valueAxis.logarithmBase}),o=new u.Range({}),e,s,h,c;return n.each(f._series,function(n,i){l=i.getRangeData(),t.addRange(l.val),o.addRange(l.arg),v(i.type)||o.addRange({stick:!1})}),t.isDefined()&&o.isDefined()&&(h=f._valueAxis.inverted?f._indent.top:f._indent.bottom,c=f._valueAxis.inverted?f._indent.bottom:f._indent.top,e=t.max-t.min,s=(n.isNumeric(t.maxVisible)?t.maxVisible:t.max)-(n.isNumeric(t.minVisible)?t.minVisible:t.min),r.isDate(t.min)?t.min=new Date(t.min.valueOf()-e*h):t.min-=e*h,r.isDate(t.max)?t.max=new Date(t.max.valueOf()+e*c):t.max+=e*c,n.isNumeric(s)&&(t.maxVisible=t.maxVisible?t.maxVisible+s*c:i,t.minVisible=t.minVisible?t.minVisible-s*h:i),t.invert=f._valueAxis.inverted),{arg:o,val:t}},getSeries:function(){var n=this;return n._series},getBackgroundColor:function(){return this._backgroundColor},isEmpty:function(){var n=this;return n.getSeries().length===0},isShowChart:function(){var n=this;return!n.isEmpty()&&!n._hideChart},getCalculatedValueType:function(){var n=this,t;return n._series.length&&(t=n._series[0].argumentType),t},getThemeManager:function(){return this._themeManager}}}(jQuery,DevExpress),function(n,t){t.viz.rangeSelector.ThemeManager=t.viz.core.BaseThemeManager.inherit({_themeSection:"rangeSelector",_fontFields:["scale.label.font","sliderMarker.font","loadingIndicator.font"]})}(jQuery,DevExpress),DevExpress.MOD_VIZ_RANGESELECTOR=!0}if(!DevExpress.MOD_VIZ_VECTORMAP){if(!DevExpress.MOD_VIZ_CORE)throw Error("Required module is not referenced: viz-core");(function(n,t,i){function l(){return"vectormap-data-"+c++}var e,r;n.viz.map={};var u=n.viz.core.utils.parseScalar,o=800,s=400,f=12,h=t.extend,c=1;e=n.viz.core.BaseWidget.inherit({_eventsMap:h({},n.viz.core.BaseWidget.prototype._eventsMap,{onClick:{name:"click",deprecated:"click",deprecatedContext:function(n){return n.component},deprecatedArgs:function(n){return[n.jQueryEvent]}},click:{newName:"onClick"},onCenterChanged:{name:"centerChanged",deprecated:"centerChanged",deprecatedContext:function(n){return n.component},deprecatedArgs:function(n){return[n.center]}},centerChanged:{newName:"onCenterChanged"},onZoomFactorChanged:{name:"zoomFactorChanged",deprecated:"zoomFactorChanged",deprecatedContext:function(n){return n.component},deprecatedArgs:function(n){return[n.zoomFactor]}},zoomFactorChanged:{newName:"onZoomFactorChanged"},onAreaClick:{name:"areaClick",deprecated:"areaSettings.click",deprecatedContext:function(n){return n.target},deprecatedArgs:function(n){return[n.target,n.jQueryEvent]}},onAreaHoverChanged:{name:"areaHoverChanged"},onAreaSelectionChanged:{name:"areaSelectionChanged",deprecated:"areaSettings.selectionChanged",deprecatedContext:function(n){return n.target},deprecatedArgs:function(n){return[n.target]}},onMarkerClick:{name:"markerClick",deprecated:"markerSettings.click",deprecatedContext:function(n){return n.target},deprecatedArgs:function(n){return[n.target,n.jQueryEvent]}},onMarkerHoverChanged:{name:"markerHoverChanged"},onMarkerSelectionChanged:{name:"markerSelectionChanged",deprecated:"markerSettings.selectionChanged",deprecatedContext:function(n){return n.target},deprecatedArgs:function(n){return[n.target]}}}),_setDeprecatedOptions:function(){this.callBase(),t.extend(this._deprecatedOptions,{click:{since:"14.2",message:'Use the "onClick" option instead'},centerChanged:{since:"14.2",message:'Use the "onCenterChanged" option instead'},zoomFactorChanged:{since:"14.2",message:'Use the "onZoomFactorChanged" option instead'},"areaSettings.click":{since:"14.2",message:'Use the "onAreaClick" option instead'},"areaSettings.selectionChanged":{since:"14.2",message:'Use the "onAreaSelectionChanged" option instead'},"markerSettings.click":{since:"14.2",message:'Use the "onMarkerClick" option instead'},"markerSettings.selectionChanged":{since:"14.2",message:'Use the "onMarkerSelectionChanged" option instead'},"markerSettings.font":{since:"14.2",message:'Use the "label.font" option instead'}})},_rootClassPrefix:"dxm",_rootClass:"dxm-vector-map",_createThemeManager:function(){return this._factory.createThemeManager()},_initBackground:function(n){this._background=this._renderer.rect(0,0,0,0).attr({"class":"dxm-background"}).data(n,{type:"background"})},_initAreasManager:function(n,t,i){var r=this;r._areasManager=r._factory.createAreasManager({container:r._root,renderer:r._renderer,projection:r._projection,themeManager:r._themeManager,tracker:r._tracker,dataKey:n,eventTrigger:r._eventTrigger,dataExchanger:r._dataExchanger,notifyDirty:t,notifyReady:i})},_initMarkersManager:function(n,t,i){var r=this;r._markersManager=r._factory.createMarkersManager({container:r._root,renderer:r._renderer,projection:r._projection,themeManager:r._themeManager,tracker:r._tracker,eventTrigger:r._eventTrigger,dataExchanger:r._dataExchanger,dataKey:n,notifyDirty:t,notifyReady:i})},_initLegendsControl:function(){var n=this;n._legendsControl=n._factory.createLegendsControl({container:n._root,renderer:n._renderer,layoutControl:n._layoutControl,dataExchanger:n._dataExchanger})},_initControlBar:function(n){var t=this;t._controlBar=t._factory.createControlBar({container:t._root,renderer:t._renderer,layoutControl:t._layoutControl,projection:t._projection,dataKey:n})},_initElements:function(){function u(){n._resetIsReady(),++i}function f(){--i==0&&(n._drawn(),n.hideLoadingIndicator())}var n=this,t=l(),i=0;n._dataExchanger=new r,n._initCenterHandler(),n._projection=n._factory.createProjection(),n._tracker=n._factory.createTracker({root:n._root,projection:n._projection,dataKey:t}),n._layoutControl=n._factory.createLayoutControl(),n._initBackground(t),n._initAreasManager(t,u,f),n._initMarkersManager(t,u,f),n._initLegendsControl(),n._initControlBar(t)},_initCore:function(){var n=this;n._root=n._renderer.root,n._root.attr({align:"center",cursor:"default"}),n._initElements(),n._projection.setBounds(n.option("bounds")).setMaxZoom(n.option("maxZoomFactor")).setZoom(n.option("zoomFactor"),!0).setCenter(n.option("center"),!0),n._setTrackerCallbacks(),n._setControlBarCallbacks(),n._setProjectionCallbacks()},_init:function(){var n=this;n.callBase.apply(n,arguments),n._areasManager.setData(n.option("mapData")),n._markersManager.setData(n.option("markers"))},_disposeCore:function(){var n=this;n._resetProjectionCallbacks(),n._resetTrackerCallbacks(),n._resetControlBarCallbacks(),n._tracker.dispose(),n._legendsControl.dispose(),n._areasManager.dispose(),n._markersManager.dispose(),n._controlBar.dispose(),n._layoutControl.dispose(),n._disposeCenterHandler(),n._dataExchanger.dispose(),n._projection.dispose(),n._dataExchanger=n._projection=n._tracker=n._layoutControl=n._root=n._background=n._areasManager=n._markersManager=n._controlBar=n._legendsControl=null},_initCenterHandler:function(){var n=this,i,r,t=!1;n._centerHandler={processStart:function(t){n._centeringEnabled&&(i=t.x,r=t.y,n._noCenterChanged=!0)},processMove:function(u){n._centeringEnabled&&(t||(n._root.attr({cursor:"move"}),t=!0),n._projection.moveCenter(i-u.x,r-u.y),i=u.x,r=u.y)},processEnd:function(){n._centeringEnabled&&(n._root.attr({cursor:"default"}),n._noCenterChanged=null,t&&n._raiseCenterChanged(),t=!1)}}},_disposeCenterHandler:function(){this._centerHandler=null},_setProjectionCallbacks:function(){var n=this;n._projection.on({center:function(){n._raiseCenterChanged()},zoom:function(){n._raiseZoomFactorChanged()}});n._resetProjectionCallbacks=function(){n._resetProjectionCallbacks=n=null}},_setTrackerCallbacks:function(){var n=this,e=n._centerHandler,o=n._renderer,t={area:n._areasManager,marker:n._markersManager},r=n._controlBar,i=n._tooltip,u=!1;n._tracker.setCallbacks({click:function(i){var u=o.getRootOffset(),r;i.$event.x=i.x-u.left,i.$event.y=i.y-u.top,r=t[i.data.type],r&&r.raiseClick(i.data.index,i.$event),(r||i.data.type==="background")&&n._eventTrigger("click",{jQueryEvent:i.$event})},start:function(n){u=n.data.type==="control-bar",u?(n.data=n.data.index,r.processStart(n)):e.processStart(n)},move:function(n){u?(n.data=n.data.index,r.processMove(n)):e.processMove(n)},end:function(n){u?(n.data=n.data.index,r.processEnd(n),u=!1):e.processEnd()},zoom:function(n){r.processZoom(n)},"hover-on":function(n){var i=t[n.data.type];i&&i.hoverItem(n.data.index,!0)},"hover-off":function(n){var i=t[n.data.type];i&&i.hoverItem(n.data.index,!1)},"focus-on":function(n,r){var e=!1,u;i.isEnabled()&&(u=t[n.data.type]?t[n.data.type].getProxyItem(n.data.index):null,u&&i.show(u,{x:0,y:0,offset:0},{target:u})&&(i.move(n.x,n.y,f),e=!0)),r(e)},"focus-move":function(n){i.move(n.x,n.y,f)},"focus-off":function(){i.hide()}}),n._resetTrackerCallbacks=function(){n._resetTrackerCallbacks=n=e=o=t=r=i=null}},_setControlBarCallbacks:function(){var n=this,t=n._projection,i;n._projection.on({zoom:function(){i=!0}});n._controlBar.setCallbacks({reset:function(n,i){n&&t.setCenter(null),i&&t.setZoom(null)},beginMove:function(){n._noCenterChanged=!0},endMove:function(){n._noCenterChanged=null,n._raiseCenterChanged()},move:function(n,i){t.moveCenter(n,i)},zoom:function(r,u){var e,f;u&&(f=n._renderer.getRootOffset(),f=[u[0]-f.left,u[1]-f.top],e=t.fromScreenPoint(f[0],f[1])),i=!1,t.setScaledZoom(r),i&&u&&t.setCenterByPoint(e,f)}}),n._resetControlBarCallbacks=function(){n._resetControlBarCallbacks=n=t=null}},_setupInteraction:function(){var n=this;n._centerHandler.processEnd(),n._centeringEnabled=!!u(this._getOption("panningEnabled",!0),!0),n._zoomingEnabled=!!u(this._getOption("zoomingEnabled",!0),!0),n._controlBar.setInteraction({centeringEnabled:n._centeringEnabled,zoomingEnabled:n._zoomingEnabled})},_getDefaultSize:function(){return{width:o,height:s}},_applySize:function(){var n=this,t=n._canvas.width,i=n._canvas.height;n._projection.setSize(t,i),n._layoutControl.setSize(t,i),n._background.attr({x:0,y:0,width:t,height:i})},_resize:t.noop,_clean:function(){var n=this;n._tracker.reset(),n._layoutControl.stop(),n._background.remove(),n._areasManager.clean(),n._markersManager.clean(),n._controlBar.clean(),n._legendsControl.clean()},_render:function(){var n=this;n._background.append(n._root),n._areasManager.render(),n._markersManager.render(),n._controlBar.render(),n._legendsControl.render(),n._layoutControl.start()},_optionChanged:function(n){var t=this,i=n.value;switch(n.name){case"mapData":t._areasManager.setData(i);break;case"markers":t._markersManager.setData(i);break;case"bounds":t._projection.setBounds(i);break;case"maxZoomFactor":t._projection.setMaxZoom(i);break;case"zoomFactor":t._projection.setZoom(i);break;case"center":t._projection.setCenter(i);break;case"background":t._setBackgroundOptions();break;case"areaSettings":t._setAreasManagerOptions();break;case"markerSettings":t._setMarkersManagerOptions();break;case"controlBar":t._setControlBarOptions();break;case"legends":t._setLegendsOptions();break;case"touchEnabled":case"wheelEnabled":t._setTrackerOptions();break;case"panningEnabled":case"zoomingEnabled":t._setupInteraction();break;default:t.callBase.apply(t,arguments)}},_handleThemeOptionsCore:function(){var n=this;n._setBackgroundOptions(),n._setAreasManagerOptions(),n._setMarkersManagerOptions(),n._setControlBarOptions(),n._setLegendsOptions(),n._setTrackerOptions(),n._setupInteraction()},_setBackgroundOptions:function(){var n=this._getOption("background");this._background.attr({"stroke-width":n.borderWidth,stroke:n.borderColor,fill:n.color})},_setAreasManagerOptions:function(){this._areasManager.setOptions(this.option("areaSettings")),this._eventTrigger.update("onAreaClick"),this._eventTrigger.update("onAreaSelectionChanged")},_setMarkersManagerOptions:function(){this._markersManager.setOptions(this.option("markerSettings")),this._eventTrigger.update("onMarkerClick"),this._eventTrigger.update("onMarkerSelectionChanged")},_setControlBarOptions:function(){this._controlBar.setOptions(this._getOption("controlBar"))},_setLegendsOptions:function(){this._legendsControl.setOptions(this.option("legends"),this._themeManager.theme("legend"))},_setTrackerOptions:function(){this._tracker.setOptions({touchEnabled:this._getOption("touchEnabled",!0),wheelEnabled:this._getOption("wheelEnabled",!0)})},_raiseCenterChanged:function(){this._noCenterChanged||this._eventTrigger("centerChanged",{center:this._projection.getCenter()})},_raiseZoomFactorChanged:function(){this._noZoomFactorChanged||this._eventTrigger("zoomFactorChanged",{zoomFactor:this._projection.getZoom()})},_refresh:function(){var n=this,t=n.callBase;n._endLoading(function(){t.call(n)})},getAreas:function(){return this._areasManager.getProxyItems()},getMarkers:function(){return this._markersManager.getProxyItems()},clearAreaSelection:function(n){return this._areasManager.clearSelection(n),this},clearMarkerSelection:function(n){return this._markersManager.clearSelection(n),this},clearSelection:function(n){return this.clearAreaSelection(n).clearMarkerSelection(n)},center:function(n,t){var r=this;return n===i?r._projection.getCenter():(r._noCenterChanged=t,r._projection.setCenter(n),r._noCenterChanged=null,r)},zoomFactor:function(n,t){var r=this;return n===i?r._projection.getZoom():(r._noZoomFactorChanged=t,r._projection.setZoom(n),r._noZoomFactorChanged=null,r)},viewport:function(n,t){var r=this;return n===i?r._projection.getViewport():(r._noCenterChanged=r._noZoomFactorChanged=t,r._projection.setViewport(n),r._noCenterChanged=r._noZoomFactorChanged=null,r)},convertCoordinates:function(n,t){return this._projection.fromScreenPoint(n,t)},_factory:{}}),r=function(){this._store={}},r.prototype={constructor:r,dispose:function(){return this._store=null,this},_get:function(n,t){var i=this._store[n]||(this._store[n]={});return i[t]||(i[t]={})},set:function(n,t,i){var r=this._get(n,t);return r.data=i,r.callback&&r.callback(i),this},bind:function(n,t,i){var r=this._get(n,t);return r.callback=i,r.data&&i(r.data),this},unbind:function(n,t){var i=this._get(n,t);return i.data=i.callback=null,this}},n.registerComponent("dxVectorMap",n.viz.map,e),n.viz.map._internal={},n.viz.map.sources={}})(DevExpress,jQuery),function(n,t){function lt(n,t,i){var f=(n[0]+t[0])/2-i/2,e=(n[1]+t[1])/2-i/2,r=2/i;return{project:function(n){var t=u.project(n);return[-1+(t[0]-f)*r,-1+(t[1]-e)*r]},unproject:function(n){var t=[f+(n[0]+1)/r,e+(n[1]+1)/r];return u.unproject(t)}}}function y(n,t){return a(n-t)<1e-8}function f(n,t,i,r){var u=w(n);return u<t?u=t:u>i?u=i:t<=u&&u<=i||(u=r),u}function ut(n,t,i){return{lt:[f(n[0],t[0],i[0],t[0]),f(n[1],t[1],i[1],t[1])],rb:[f(n[2],t[0],i[0],i[0]),f(n[3],t[1],i[1],i[1])]}}function at(n){var i=u.unproject([-1,-1]),r=u.unproject([1,1]),f=[e(i[0],r[0]),e(i[1],r[1])],s=[o(i[0],r[0]),o(i[1],r[1])],t=n;return t&&(t=ut(t,f,s)),{min:t?[e(t.lt[0],t.rb[0]),e(t.lt[1],t.rb[1])]:f,max:t?[o(t.lt[0],t.rb[0]),o(t.lt[1],t.rb[1])]:s}}function ft(n,t,i,r){var u;return u=n>-1&&t>=1?i:n<=-1&&t<1?r:(i+r)/2}function p(){this._events={project:t.Callbacks(),transform:t.Callbacks(),center:t.Callbacks(),zoom:t.Callbacks(),"max-zoom":t.Callbacks()},this.setBounds(null)}var w=Number,h=n.utils.isArray,r=Math,e=r.min,o=r.max,a=r.abs,et=r.tan,ot=r.atan,st=r.exp,s=r.round,c=r.log,ht=r.pow,l=r.PI,b=l/4,k=l/360,ct=2/r.LN2,d=1/648e4,v=1,g=256,nt=-180,tt=180,it=-85.0511,rt=85.0511,u={aspectRatio:1,project:function(n){var t=n[0],i=n[1];return[t<=nt?-1:t>=tt?1:t/180,i<=it?1:i>=rt?-1:-c(et(b+i*k))/l]},unproject:function(n){var t=n[0],i=n[1];return[t<=-1?nt:t>=1?tt:180*t,i<=-1?rt:i>=1?it:(ot(st(-l*n[1]))-b)/k]}};p.prototype={constructor:p,_minZoom:v,_maxZoom:g,_zoom:v,_center:[NaN,NaN],dispose:function(){return this._events=null,this},setSize:function(n,t){var i=this;return i._x0=n/2,i._y0=t/2,n/t<=u.aspectRatio?(i._xradius=n/2,i._yradius=n/2/u.aspectRatio):(i._xradius=t/2*u.aspectRatio,i._yradius=t/2),i._events.transform.fire(i.getTransform()),i},setBounds:function(n){var t=this,r=at(n),f,o,i,s;return t._minBound=r.min,t._maxBound=r.max,f=u.project(r.min),o=u.project(r.max),i=[a(o[0]-f[0]),a(o[1]-f[1])],i=e(i[0]>d?i[0]:2,i[1]>d?i[1]:2),s=i<2?lt(f,o,i):u,t._project=s.project,t._unproject=s.unproject,t._defaultCenter=t._unproject([0,0]),t.setCenter(t._defaultCenter),t._events.project.fire(),t},_toScreen:function(n){return[this._x0+this._xradius*n[0],this._y0+this._yradius*n[1]]},_fromScreen:function(n){return[(n[0]-this._x0)/this._xradius,(n[1]-this._y0)/this._yradius]},_toTransformed:function(n){return[n[0]*this._zoom+this._dxcenter,n[1]*this._zoom+this._dycenter]},_toTransformedFast:function(n){return[n[0]*this._zoom,n[1]*this._zoom]},_fromTransformed:function(n){return[(n[0]-this._dxcenter)/this._zoom,(n[1]-this._dycenter)/this._zoom]},_adjustCenter:function(){var n=this,t=n._project(n._center);n._dxcenter=-t[0]*n._zoom,n._dycenter=-t[1]*n._zoom},projectArea:function(n){for(var r=0,o=h(n)?n.length:0,t,i,f,u,e=[];r<o;++r){for(t=n[r],u=[],i=0,f=h(t)?t.length:0;i<f;++i)u.push(this._project(t[i]));e.push(u)}return e},projectPoint:function(n){return n?this._project(n):[]},getAreaCoordinates:function(n){for(var i=0,s=n.length,r,t,e,o=[],u,f;i<s;++i){for(r=n[i],u=[],t=0,e=r.length;t<e;++t)f=this._toScreen(this._toTransformedFast(r[t])),u.push(f[0],f[1]);o.push(u)}return o},getPointCoordinates:function(n){var t=this._toScreen(this._toTransformedFast(n));return{x:s(t[0]),y:s(t[1])}},getSquareSize:function(n){return[n[0]*this._zoom*this._xradius,n[1]*this._zoom*this._yradius]},getZoom:function(){return this._zoom},setZoom:function(n,t){var i=this,r=i._zoom;return i._zoom=f(n,i._minZoom,i._maxZoom,i._minZoom),i._adjustCenter(),(!y(r,i._zoom)||t)&&i._events.zoom.fire(i.getZoom(),i.getTransform()),i},getScaledZoom:function(){return s((this._scale.length-1)*c(this._zoom)/c(this._maxZoom))},setScaledZoom:function(n){return this.setZoom(this._scale[s(n)])},getZoomScalePartition:function(){return this._scale.length-1},_setupScaling:function(){var n=this,t=s(ct*c(n._maxZoom)),r,i,u=1;for(t=t>4?t:4,r=ht(n._maxZoom,1/t),i=n._minZoom,n._scale=[i];u<=t;++u)n._scale.push(i*=r)},setMaxZoom:function(n){var t=this;return t._minZoom=v,t._maxZoom=f(n,t._minZoom,w.MAX_VALUE,g),t._setupScaling(),t._zoom>t._maxZoom&&t.setZoom(t._maxZoom),t._events["max-zoom"].fire(t._maxZoom),t},getMinZoom:function(){return this._minZoom},getMaxZoom:function(){return this._maxZoom},getCenter:function(){return[this._center[0],this._center[1]]},setCenter:function(n,t){var i=this,r=h(n)?n:[],u=i._center;return i._center=[f(r[0],i._minBound[0],i._maxBound[0],i._defaultCenter[0]),f(r[1],i._minBound[1],i._maxBound[1],i._defaultCenter[1])],i._adjustCenter(),y(u[0],i._center[0])&&y(u[1],i._center[1])&&!t||i._events.center.fire(i.getCenter(),i.getTransform()),i},setCenterByPoint:function(n,t){var i=this,r=i._project(n),u=i._fromScreen(t);return i.setCenter(i._unproject([-u[0]/i._zoom+r[0],-u[1]/i._zoom+r[1]]))},moveCenter:function(n,t){var i=this,r=i._toScreen(i._toTransformed(i._project(i._center))),u=i._unproject(i._fromTransformed(i._fromScreen([r[0]+n,r[1]+t])));return i.setCenter(u)},getViewport:function(){var n=this._unproject(this._fromTransformed([-1,-1])),t=this._unproject(this._fromTransformed([1,1]));return[n[0],n[1],t[0],t[1]]},setViewport:function(n){var t=this;if(!h(n))return t.setZoom(t._minZoom).setCenter(t._defaultCenter);var a=ut(n,t._minBound,t._maxBound),r=t._project(a.lt),u=t._project(a.rb),f=e(r[0],u[0]),s=e(r[1],u[1]),c=o(r[0],u[0]),l=o(r[1],u[1]),i=2/o(c-f,l-s),v=ft(f,c,-1-i*f,1-i*c),y=ft(s,l,-1-i*s,1-i*l);return t.setZoom(i).setCenter(t._unproject([-v/i,-y/i]))},getTransform:function(){return{translateX:this._dxcenter*this._xradius,translateY:this._dycenter*this._yradius}},fromScreenPoint:function(n,t){return this._unproject(this._fromTransformed(this._fromScreen([n,t])))},on:function(n){return t.each(this._events,function(t,i){n[t]&&i.add(n[t])}),this}},n.viz.map.dxVectorMap.prototype._factory.createProjection=function(){return new p}}(DevExpress,jQuery),function(n,t){function s(n){delete n._owner,n.update=function(){},n.finish=function(){}}function h(n,t){this._owner=n,this._command=t.data}function c(n,t){function f(){n._callbacks.move(i,r),u=setTimeout(f,e)}this._command=t.data;var u=null,e=100,i=0,r=0;switch(this._command){case w:r=-10;break;case b:i=10;break;case k:r=10;break;case d:i=-10}this._stop=function(){return clearTimeout(u),n._callbacks.endMove(),this._stop=n=null,this},t=null,n._callbacks.beginMove(),f()}function l(n,t){function r(){n._adjustZoom(n._zoomFactor+f),i=setTimeout(r,u)}this._owner=n,this._command=t.data;var i=null,u=150,f=this._command===g?1:-1;this._stop=function(){return clearTimeout(i),this._stop=n=null,this},t=null,r()}function a(n,t){this._owner=n,this._zoomFactor=n._zoomFactor,this._pos=t.y}var ft=Number,f=Math,v=f.round,nt=f.floor,et=f.pow,ot=f.log,st=f.LN2,y=n.viz.core.utils,p=y.parseScalar,ht=y.enumParser(["left","center","right"]),ct=y.enumParser(["top","bottom"]),tt="command-reset",w="command-move-up",b="command-move-right",k="command-move-down",d="command-move-left",g="command-zoom-in",it="command-zoom-out",lt="command-zoom-drag-line",rt="command-zoom-drag",i="control-bar",e=1,u=2,o={bigCircleSize:58,smallCircleSize:28,buttonSize:10,arrowButtonOffset:20,incdecButtonSize:11,incButtonOffset:66,decButtonOffset:227,sliderLineStartOffset:88.5,sliderLineEndOffset:205.5,sliderLength:20,sliderWidth:8,trackerGap:4},at=30.5,vt=30.5,yt=61,pt=274,r={},ut;r[tt]=h,r[w]=r[b]=r[k]=r[d]=c,r[g]=r[it]=l,r[rt]=a,ut=n.Class.inherit({_flags:0,ctor:function(n){var t=this;t._params=n,t._createElements(n.renderer,n.dataKey),n.layoutControl.addItem(t),t._subscribeToProjection(n.projection),t._setVisibility(!1)},setCallbacks:function(n){return this._callbacks=n,this},_createElements:function(n,t){var i=this,r,u;i._root=n.g().attr({"class":"dxm-control-bar"}),r=i._buttonsGroup=n.g().attr({"class":"dxm-control-buttons"}).append(i._root),u=n.g().attr({stroke:"none","stroke-width":0,fill:"#000000",opacity:.0001}).css({cursor:"pointer"}).append(i._root),i._createButtons(n,t,r),i._createTrackers(n,t,u)},_createButtons:function(n,t,i){var l=this,r=o,u=r.buttonSize/2,f=r.arrowButtonOffset-u,s=r.arrowButtonOffset,e=r.incdecButtonSize/2,h={"stroke-linecap":"square",fill:"none"},c="line";n.circle(0,0,r.bigCircleSize/2).append(i),n.circle(0,0,u).attr({fill:"none"}).append(i),n.path([-u,-f,0,-s,u,-f],c).attr(h).append(i),n.path([f,-u,s,0,f,u],c).attr(h).append(i),n.path([u,f,0,s,-u,f],c).attr(h).append(i),n.path([-f,u,-s,0,-f,-u],c).attr(h).append(i),n.circle(0,r.incButtonOffset,r.smallCircleSize/2).append(i),n.path([[-e,r.incButtonOffset,e,r.incButtonOffset],[0,r.incButtonOffset-e,0,r.incButtonOffset+e]],"area").append(i),n.circle(0,r.decButtonOffset,r.smallCircleSize/2).append(i),n.path([-e,r.decButtonOffset,e,r.decButtonOffset],"area").append(i),l._progressBar=n.path([],"area").append(i),l._zoomDrag=n.rect(nt(-r.sliderLength/2),nt(r.sliderLineEndOffset-r.sliderWidth/2),r.sliderLength,r.sliderWidth).append(i),l._sliderLineLength=r.sliderLineEndOffset-r.sliderLineStartOffset},_createTrackers:function(n,t,r){var u=o,f=v((u.arrowButtonOffset-u.trackerGap)/2),s=u.arrowButtonOffset-f,h=v(et(u.bigCircleSize*u.bigCircleSize/4-f*f,.5)),e=h-s;n.rect(-f,-f,f*2,f*2).data(t,{index:tt,type:i}).append(r),n.rect(-f,-h,f*2,e).data(t,{index:w,type:i}).append(r),n.rect(s,-f,e,f*2).data(t,{index:b,type:i}).append(r),n.rect(-f,s,f*2,e).data(t,{index:k,type:i}).append(r),n.rect(-h,-f,e,f*2).data(t,{index:d,type:i}).append(r),n.circle(0,u.incButtonOffset,u.smallCircleSize/2).data(t,{index:g,type:i}).append(r),n.circle(0,u.decButtonOffset,u.smallCircleSize/2).data(t,{index:it,type:i}).append(r),n.rect(-2,u.sliderLineStartOffset-2,4,u.sliderLineEndOffset-u.sliderLineStartOffset+4).css({cursor:"default"}).data(t,{index:lt,type:i}).append(r),this._zoomDragCover=n.rect(-u.sliderLength/2,u.sliderLineEndOffset-u.sliderWidth/2,u.sliderLength,u.sliderWidth).data(t,{index:rt,type:i}).append(r)},_subscribeToProjection:function(n){var t=this;n.on({zoom:function(){t._adjustZoom(n.getScaledZoom())},"max-zoom":function(){t._zoomPartition=n.getZoomScalePartition(),t._sliderUnitLength=t._sliderLineLength/t._zoomPartition,t._adjustZoom(n.getScaledZoom())}})},dispose:function(){var n=this;return n._params.layoutControl.removeItem(n),n._root.clear(),n._params=n._callbacks=n._root=n._buttonsGroup=n._zoomDrag=n._zoomDragCover=n._progressBar=null,n},resize:function(n){return this._setVisibility(n!==null&&this._options.enabled&&this._flags),this},_setVisibility:function(n){this._root.attr({visibility:n?null:"hidden"})},getLayoutOptions:function(){var n=this._options;return this._rendered&&n.enabled&&this._flags?{width:2*n.margin+yt,height:2*n.margin+pt,horizontalAlignment:n.horizontalAlignment,verticalAlignment:n.verticalAlignment}:null},locate:function(n,t){return this._root.attr({translateX:n+this._options.margin+at,translateY:t+this._options.margin+vt}),this},setInteraction:function(n){var t=this;return t.processEnd(),p(n.centeringEnabled,!0)?t._flags|=e:t._flags&=~e,p(n.zoomingEnabled,!0)?t._flags|=u:t._flags&=~u,t._rendered&&t._refresh(),t},setOptions:function(n){var t=this;return t.processEnd(),t._buttonsGroup.attr({"stroke-width":n.borderWidth,stroke:n.borderColor,fill:n.color,"fill-opacity":n.opacity}),t._options={enabled:!!p(n.enabled,!0),margin:n.margin>0?ft(n.margin):0,horizontalAlignment:ht(n.horizontalAlignment,"left"),verticalAlignment:ct(n.verticalAlignment,"top")},t._rendered&&t._refresh(),t},_refresh:function(){var n=this._flags&&this._options.enabled;this._setVisibility(n),n&&this.updateLayout()},clean:function(){var n=this;return n._rendered=null,n._root.remove(),n},render:function(){var n=this;return n._rendered=!0,n._root.append(n._params.container),n._refresh(),n},_adjustZoom:function(n){var t=this,i,r,e=o.sliderLineStartOffset,u=o.sliderLineEndOffset,s=o.sliderWidth;t._zoomFactor=v(n),t._zoomFactor>=0||(t._zoomFactor=0),t._zoomFactor<=t._zoomPartition||(t._zoomFactor=t._zoomPartition),i={translateY:-t._zoomFactor*t._sliderUnitLength},r=u-s/2+i.translateY,t._progressBar.attr({points:[[0,e,0,f.max(e,r)],[0,f.min(u,r+s),0,u]]}),t._zoomDrag.attr(i),t._zoomDragCover.attr(i)},_applyZoom:function(n){this._callbacks.zoom(this._zoomFactor,this._flags&e?n:t)},processStart:function(n){var t=r[n.data];return this._command=t&&this._options.enabled&&t.flags&this._flags?new t(this,n):null,this},processMove:function(n){return this._command&&this._command.update(n),this},processEnd:function(){return this._command&&this._command.finish(),this._command=null,this},processZoom:function(n){var t=this,i;return t._flags&u&&(n.delta?i=n.delta:n.ratio&&(i=ot(n.ratio)/st),t._adjustZoom(t._zoomFactor+i),t._applyZoom([n.x,n.y])),t}}),h.flags=e|u,h.prototype.update=function(n){n.data!==this._command&&s(this)},h.prototype.finish=function(){var n=this._owner._flags;this._owner._callbacks.reset(!!(n&e),!!(n&u)),n&u&&this._owner._adjustZoom(0),s(this)},c.flags=e,c.prototype.update=function(n){this._command!==n.data&&this.finish()},c.prototype.finish=function(){s(this._stop())},l.flags=u,l.prototype.update=function(n){this._command!==n.data&&this.finish()},l.prototype.finish=function(){this._owner._applyZoom(),s(this._stop())},a.flags=u,a.prototype.update=function(n){var t=this._owner;t._adjustZoom(this._zoomFactor+t._zoomPartition*(this._pos-n.y)/t._sliderLineLength)},a.prototype.finish=function(){this._owner._applyZoom(),s(this)},n.viz.map.dxVectorMap.prototype._factory.createControlBar=function(n){return new ut(n)}}(DevExpress),function(n,t,i){function v(n){var t=this;t._root=n.root,t._callbacks={},t._createEventHandlers(n.dataKey),t._createProjectionHandlers(n.projection),t._focus=new g(t._callbacks),t._attachHandlers()}function nt(n,t,i,r){return it((n-i)*(n-i)+(t-r)*(t-r))}function r(n){var t=n.originalEvent.type,i=n.originalEvent.pointerType;return/^touch/.test(t)||/^MSPointer/.test(t)&&i!==4||/^pointer/.test(t)&&i!=="mouse"}function h(n,t){for(var i=0,u=n.length,r;i<u;++i)if(n[i]){r=t[i];break}return e(r||t[i],o)}function ni(){var n=[navigator.pointerEnabled,navigator.msPointerEnabled,"ontouchstart"in window];s={start:h(n,["pointerdown","MSPointerDown","touchstart mousedown","mousedown"]),move:h(n,["pointermove","MSPointerMove","touchmove mousemove","mousemove"]),end:h(n,["pointerup","MSPointerUp","touchend mouseup","mouseup"]),wheel:h([],["mousewheel DOMMouseScroll"])}}function f(n){var t=n.originalEvent,i=t.touches&&t.touches[0]||{};return{x:i.pageX||t.pageX||n.pageX,y:i.pageY||t.pageY||n.pageY}}function tt(n){return n.originalEvent.pointerId}function c(n,t){var r=n.originalEvent;return r=r.pointerId!==i?r.pointerId===t?r:null:r.touches[t],r?{x:r.pageX||n.pageX,y:r.pageY||n.pageY}:null}function ti(n,t){if(n===0)return 0;var i=u(n),r=y(n/i);return t.dir&&r!==t.dir?0:(t.dir=r,i=i<.1?0:i<1?1:i>4?4:y(i),r*i)}var l=Math,u=l.abs,it=l.sqrt,y=l.round,e=n.ui.events.addNamespace,p=n.viz.core.utils.parseScalar,a=t.now,o=n.viz.map.dxVectorMap.prototype.NAME,s={},g;ni();var rt="start",ut="move",ft="end",w="zoom",et="hover-on",ot="hover-off",st="click",b="focus-on",ht="focus-move",k="focus-off",ct=500,lt=5,at=20,vt=5,yt=10,pt=300,wt=300,bt=300,kt=400,d=5,dt=50,gt=300;v.prototype={constructor:v,dispose:function(){var n=this;return n._detachHandlers(),n._focus.dispose(),n._root=n._callbacks=n._focus=n._docHandlers=n._rootHandlers=null,n},_startClick:function(n,t){if(t){var i=f(n);this._clickState={x:i.x,y:i.y,threshold:r(n)?at:lt,time:a()}}},_endClick:function(n,t){var i=this._clickState,e,r;i&&(a()-i.time<=ct&&(e=i.threshold,r=f(n),u(r.x-i.x)<=e&&u(r.y-i.y)<=e&&this._callbacks[st]({data:t,x:r.x,y:r.y,$event:n})),this._clickState=null)},_startDrag:function(n,t){if(t){var r=f(n),i=this._dragState={x:r.x,y:r.y,data:t};this._callbacks[rt]({x:i.x,y:i.y,data:i.data})}},_moveDrag:function(n,t){var i=this._dragState,e,o;i&&(e=f(n),o=r(n)?yt:vt,(i.active||u(e.x-i.x)>o||u(e.y-i.y)>o)&&(i.x=e.x,i.y=e.y,i.active=!0,i.data=t||{},this._callbacks[ut]({x:i.x,y:i.y,data:i.data})))},_endDrag:function(){var n=this._dragState;n&&(this._dragState=null,this._callbacks[ft]({x:n.x,y:n.y,data:n.data}))},_wheelZoom:function(n,t){if(t){var o=this,i=o._wheelLock,r=a(),u,e;r-i.time<=dt||(r-i.dirTime>gt&&(i.dir=0),u=ti(n.originalEvent.wheelDelta/120||n.originalEvent.detail/-3||0,i),u!==0)&&(e=f(n),o._callbacks[w]({delta:u,x:e.x,y:e.y}),i.time=i.dirTime=r)}},_startZoom:function(n,t){if(r(n)&&t){var u=this._zoomState=this._zoomState||{},f,e;u.pointer1&&u.pointer2||(u.pointer1===i&&(u.pointer1=tt(n)||0,f=c(n,u.pointer1),u.x1=u.x1_0=f.x,u.y1=u.y1_0=f.y),u.pointer2===i&&(e=tt(n)||1,e!==u.pointer1&&(f=c(n,e),f&&(u.x2=u.x2_0=f.x,u.y2=u.y2_0=f.y,u.pointer2=e,u.ready=!0,this._endDrag()))))}},_moveZoom:function(n){var t=this._zoomState,u;t&&r(n)&&(t.pointer1!==i&&(u=c(n,t.pointer1),u&&(t.x1=u.x,t.y1=u.y)),t.pointer2!==i&&(u=c(n,t.pointer2),u&&(t.x2=u.x,t.y2=u.y)))},_endZoom:function(n){var t=this._zoomState,i,u;t&&r(n)&&(t.ready&&(i=nt(t.x1_0,t.y1_0,t.x2_0,t.y2_0),u=nt(t.x1,t.y1,t.x2,t.y2),this._callbacks[w]({ratio:u/i,x:(t.x1_0+t.x2_0)/2,y:(t.y1_0+t.y2_0)/2})),this._zoomState=null)},_startHover:function(n,t){this._doHover(n,t,!0)},_moveHover:function(n,t){this._doHover(n,t,!1)},_doHover:function(n,t,i){var u=this;if(u._dragState&&u._dragState.active||u._zoomState&&u._zoomState.ready){u._cancelHover();return}r(n)!==i||u._hoverTarget===n.target||u._hoverState&&u._hoverState.data===t||(u._cancelHover(),t&&(u._hoverState={data:t},u._callbacks[et]({data:t})),u._hoverTarget=n.target)},_cancelHover:function(){var n=this._hoverState;this._hoverState=this._hoverTarget=null,n&&this._callbacks[ot]({data:n.data})},_startFocus:function(n,t){this._doFocus(n,t,!0)},_moveFocus:function(n,t){this._doFocus(n,t,!1)},_doFocus:function(n,t,i){var u=this;if(u._dragState&&u._dragState.active||u._zoomState&&u._zoomState.ready){u._cancelFocus();return}r(n)===i&&(u._focus.turnOff(i?kt:wt),t&&u._focus.turnOn(t,f(n),i?bt:pt,i))},_endFocus:function(n){r(n)&&this._focus.cancelOn()},_cancelFocus:function(){this._focus.cancel()},_createEventHandlers:function(n){var i=this;i._docHandlers={},i._rootHandlers={},i._docHandlers[s.start]=function(u){var e=r(u),f=t(u.target).data(n);(!e||i._isTouchEnabled)&&(f&&u.preventDefault(),i._startClick(u,f),i._startDrag(u,f),i._startZoom(u,f),i._startHover(u,f),i._startFocus(u,f))},i._docHandlers[s.move]=function(u){var e=r(u),f=t(u.target).data(n);(!e||i._isTouchEnabled)&&(i._moveDrag(u,f),i._moveZoom(u,f),i._moveHover(u,f),i._moveFocus(u,f))},i._docHandlers[s.end]=function(u){var e=r(u),f=t(u.target).data(n);(!e||i._isTouchEnabled)&&(i._endClick(u,f),i._endDrag(u,f),i._endZoom(u,f),i._endFocus(u,f))},i._rootHandlers[s.wheel]=function(r){if(i._cancelFocus(),i._isWheelEnabled){var u=t(r.target).data(n);u&&(r.preventDefault(),r.stopPropagation(),i._wheelZoom(r,u))}},i._wheelLock={dir:0}},_createProjectionHandlers:function(n){function t(){i._cancelFocus()}var i=this;n.on({center:t,zoom:t})},reset:function(){var n=this;return n._clickState=null,n._endDrag(),n._cancelHover(),n._cancelFocus(),n},setCallbacks:function(n){return t.extend(this._callbacks,n),this},setOptions:function(n){var t=this;return t.reset(),t._detachHandlers(),t._isTouchEnabled=!!p(n.touchEnabled,!0),t._isWheelEnabled=!!p(n.wheelEnabled,!0),t._attachHandlers(),t},_detachHandlers:function(){var n=this;n._isTouchEnabled&&n._root.css({"touch-action":"","-ms-touch-action":"","-webkit-user-select":""}).off(e("MSHoldVisual",o)).off(e("contextmenu",o)),t(document).off(n._docHandlers),n._root.off(n._rootHandlers)},_attachHandlers:function(){var n=this;if(n._isTouchEnabled)n._root.css({"touch-action":"none","-ms-touch-action":"none","-webkit-user-select":"none"}).on(e("MSHoldVisual",o),function(n){n.preventDefault()}).on(e("contextmenu",o),function(n){r(n)&&n.preventDefault()});t(document).on(n._docHandlers);n._root.on(n._rootHandlers)}},g=function(n){var i=this,r=null,f=null,h=!1,t=null,e=null,o,s;i.dispose=function(){clearTimeout(t),clearTimeout(e),i.turnOn=i.turnOff=i.cancel=i.cancelOn=i.dispose=i=n=r=f=t=e=null},i.turnOn=function(i,c,l,a){function v(n){h=!n,n&&(r=f,clearTimeout(e),e=null)}i===f&&h||(h=!1,f=i,r?(o=c.x,s=c.y,clearTimeout(t),t=setTimeout(function(){t=null,f===r?(n[ht]({data:f,x:o,y:s}),v(!0)):n[b]({data:f,x:o,y:s},v)},a?l:0)):(!t||u(c.x-o)>d||u(c.y-s)>d||a)&&(o=c.x,s=c.y,clearTimeout(t),t=setTimeout(function(){t=null,n[b]({data:f,x:o,y:s},v)},l)))},i.turnOff=function(i){clearTimeout(t),t=null,f=null,r&&!h&&(e=e||setTimeout(function(){e=null,n[k]({data:r}),r=null},i))},i.cancel=function(){clearTimeout(t),clearTimeout(e),r&&n[k]({data:r}),r=f=t=e=null},i.cancelOn=function(){clearTimeout(t),t=null}},n.viz.map.dxVectorMap.prototype._factory.createTracker=function(n){return new v(n)}}(DevExpress,jQuery),function(n,t,i){var u=Number,r=t.extend,f=t.each,e=n.viz.core.BaseThemeManager.inherit({_themeSection:"map",_fontFields:["areaSettings.label.font","markerSettings.label.font","tooltip.font","legend.font","loadingIndicator.font"],getCommonAreaSettings:function(t){var i=r(!0,{},this._theme.areaSettings,t),e,u,f;if(i.paletteSize>0){for(e=new n.viz.core.GradientPalette(i.palette,i.paletteSize),u=0,f=[];u<i.paletteSize;++u)f.push(e.getColor(u));i._colors=f}return i},getAreaSettings:function(n,t){var f=r(!0,{},n,t);return f.borderWidth=u(f.borderWidth)||0,f.borderColor=f.borderColor||null,t.color===i&&t.paletteIndex>=0&&(f.color=n._colors[t.paletteIndex]),f.color=f.color||null,f.hoveredBorderWidth=u(f.hoveredBorderWidth)||f.borderWidth,f.hoveredBorderColor=f.hoveredBorderColor||f.borderColor,f.hoveredColor=f.hoveredColor||f.color,f.selectedBorderWidth=u(f.selectedBorderWidth)||f.borderWidth,f.selectedBorderColor=f.selectedBorderColor||f.borderColor,f.selectedColor=f.selectedColor||f.color,f},getCommonMarkerSettings:function(n){n&&!n.label&&n.font&&(n.label={font:n.font})&&(n.font=i);var t=r({},this._theme.markerSettings),u=r({},n),o={},s={},e;return f(t,function(n,r){n[0]==="_"&&(o[n]=r,s[n]=u[n],t[n]=u[n]=i)}),e=r(!0,{},t,u),f(o,function(n,i){e[n]=r(!0,{},t,i,u,s[n])}),e},getMarkerSettings:function(n,t,i){var f=r(!0,{},n["_"+i],t);return f.borderWidth=u(f.borderWidth)||0,f.borderColor=f.borderColor||null,f.color=f.color||null,f.opacity=f.opacity||null,f.hoveredBorderWidth=u(f.hoveredBorderWidth)||f.borderWidth,f.hoveredBorderColor=f.hoveredBorderColor||f.borderColor,f.hoveredColor=f.hoveredColor||f.color,f.hoveredOpacity=f.hoveredOpacity||f.opacity,f.selectedBorderWidth=u(f.selectedBorderWidth)||f.borderWidth,f.selectedBorderColor=f.selectedBorderColor||f.borderColor,f.selectedColor=f.selectedColor||f.color,f.selectedOpacity=f.selectedOpacity||f.opacity,f},getPieColors:function(t,i){var r=t._pie._colors||[],f,u,e=i>8?i:8;if(r.length<e){for(f=new n.viz.core.Palette(t._pie.palette,{stepHighlight:50,theme:this.themeName()}),u=0,r=[];u<e;++u)r.push(f.getNextColor());t._pie._colors=r}return r}});n.viz.map.dxVectorMap.prototype._factory.createThemeManager=function(){return new e}}(DevExpress,jQuery),function(n,t){function e(n){var i=this;i._params=n,i._root=n.renderer.g().attr({"class":"dxm-legend"}),n.layoutControl.addItem(i),u.apply(i,[{renderer:n.renderer,group:i._root,backgroundClass:null,itemsGroupClass:null,textField:"text",getFormatObject:function(n){return n}}]),i._onDataChanged=function(n){var r=t.map(n,function(n){return s(!0,{states:{normal:{fill:n.color}}},n)});i.update(r,i._options),i._refresh()}}function o(n){this._parameters=n,this._items=[]}var l=String,a=n.utils.isArray,s=t.extend,f=t.each,u=n.viz.core.Legend,r=e.prototype=n.utils.clone(u.prototype),h,c;r.constructor=e,r.dispose=function(){var n=this;return n._params.layoutControl.removeItem(n),n._unbindData(),n._params=n._root=n._onDataChanged=null,u.prototype.dispose.apply(n,arguments)},r.clean=function(){return this._rendered=!1,this._root.remove(),this},r.render=function(){var n=this;return n._root.append(n._params.container),n._rendered=!0,n._refresh(),n},r.resize=function(n){return n===null?this.erase():this.setSize(n).draw(),this},r.locate=u.prototype.shift,r._unbindData=function(){this._dataCategory&&this._params.dataExchanger.unbind(this._dataCategory,this._dataName)},r._bindData=function(n){this._params.dataExchanger.bind(this._dataCategory=n.category,this._dataName=n.name,this._onDataChanged)},h={areacolorgroups:{category:"areas",name:"color"},markercolorgroups:{category:"markers",name:"color"},markersizegroups:{category:"markers",name:"size"}},c={category:"UNKNOWN",name:"UNKNOWN"},r.setOptions=function(n){var t=this;return t.update(t._data,n),t._unbindData(),t._bindData(h[l(n.source).toLowerCase()]||c),t._refresh(),t},r._refresh=function(){this._rendered&&this.updateLayout()},o.prototype={constructor:o,dispose:function(){return f(this._items,function(n,t){t.dispose()}),this._parameters=this._items=null,this},setOptions:function(n,t){for(var f=a(n)?n:[],i=0,r=f.length,o,h=[],u=this._items;i<r;++i)o=(u[i]||new e(this._parameters)).setOptions(s(!0,{},t,f[i])),h.push(o);for(r=u.length;i<r;++i)u[i].clean().dispose();this._items=h},clean:function(){return f(this._items,function(n,t){t.clean()}),this},render:function(){return f(this._items,function(n,t){t.render()}),this}},n.viz.map.dxVectorMap.prototype._factory.createLegendsControl=function(n){return new o(n)}}(DevExpress,jQuery),function(n,t){function a(n){return l[n.verticalAlignment]*3+c[n.horizontalAlignment]}function v(n,t){var h=(n.right-n.left)/3,p=(n.bottom-n.top)/2,f=n.left,e=u(f+h),o=u(f+h+h),v=n.right,s=n.top,i=u(s+p),c=n.bottom,y=[{rect:[f,s,e,i]},{rect:[e,s,o,i],center:!0},{rect:[o,s,v,i],horInv:!0},{rect:[f,i,e,c],verInv:!0},{rect:[e,i,o,c],center:!0,verInv:!0},{rect:[o,i,v,c],horInv:!0,verInv:!0}],l=[[],[],[],[],[],[]];return r(t,function(n,t){var i=t.getLayoutOptions();i&&l[a(i)].push({item:t,width:i.width,height:i.height})}),r(y,function(n,t){l[n].length?t.items=l[n]:(t.center?t.rect[0]=t.rect[2]=(t.rect[0]+t.rect[2])/2:t.rect[t.horInv?0:2]=t.rect[t.horInv?2:0],t.rect[t.verInv?1:3]=t.rect[t.verInv?3:1])}),y}function y(n){r([0,1,2,3,4,5],function(t,i){var r=n[i],u=n[(i+3)%6];r.items&&(u.items||(r.rect[1]=e(r.rect[1],u.rect[3]),r.rect[3]=f(r.rect[3],u.rect[1])))}),r([1,4],function(t,i){var r=n[i],e=n[i-1],o=n[i+1],u,f;r.items?e.items||o.items||(u=r.rect[0]-e.rect[2],f=o.rect[0]-r.rect[2],u>f?u/f>=2?(r.rect[0]-=u,r.right=!0):(r.rect[0]-=f,r.rect[2]+=f):f/u>=2?(r.rect[2]+=f,r.center=null):(r.rect[0]-=u,r.rect[2]+=u)):(e.items&&(e.rect[2]=(r.rect[0]+r.rect[2])/2),o.items&&(o.rect[0]=(r.rect[0]+r.rect[2])/2))})}function s(n,t){var i=!1;return y(n),r(n,function(n,r){r.items&&(i=p(r,t)||i)}),i}function p(n,t){var i=n.rect,w=i[2]-i[0],b=i[3]-i[1],o=0,c=0,l=0,s=i[2],y=i[3],h=i[0],p=i[1],a=[],v=!1;return r(n.items,function(r,u){if(u.width>w||u.height>b||(o+u.width>w&&(c+=l,o=l=0),c+u.height>b))return a.push(null),v=!0,t||!1;l=f(l,u.height);var k=n.horInv?i[2]-u.width-o:i[0]+o,d=n.verInv?i[3]-u.height-c:i[1]+c;o+=u.width,s=e(s,k),y=e(y,d),h=f(h,k+u.width),p=f(p,d+u.height),a.push([k,d])}),(t||!v)&&(o=0,n.right?o=i[2]-i[0]-h+s:n.center&&(o=u((i[2]-i[0]-h+s)/2)),r(n.items,function(n,t){var i=a[n];i?t.item.locate(i[0]+o,i[1]):t.item.resize(null)}),n.rect=[s,y,h,p],n.items=null),v}function w(n,t){var i=v(n,t);s(i)&&s(i,!0)}function o(){var n=this;n._items=[],n._suspended=!0,n._updateLayout=function(){n._update()}}var u=Math.round,e=Math.min,f=Math.max,r=t.each,h=t.inArray,c={left:0,center:1,right:2},l={top:0,bottom:1};o.prototype={constructor:o,dispose:function(){return this._items=this._updateLayout=null,this},setSize:function(n,t){return this._size={width:n,height:t},this._update(),this},stop:function(){return this._suspended=!0,this},start:function(){return this._suspended=null,this._update(),this},addItem:function(n){return this._items.push(n),n.updateLayout=this._updateLayout,this},removeItem:function(n){return this._items.splice(h(n,this._items),1),n.updateLayout=null,this},_update:function(){if(!this._suspended){var n=this._size;r(this._items,function(t,i){i.resize(n)}),w({left:0,top:0,right:n.width,bottom:n.height},this._items)}}},n.viz.map.dxVectorMap.prototype._factory.createLayoutControl=function(){return new o}}(DevExpress,jQuery),function(n,t){function b(n){var t=String(n).toLowerCase();return t=t in o?o[t]:o.single,t!==null&&(t={state:{},single:t||null}),t}function k(n,t,i){n.raiseHoverChanged=function(n,r){t(i.hoverChanged,{target:n.proxy,state:r})},n.raiseSelectionChanged=function(n){t(i.selectionChanged,{target:n.proxy})}}function s(n){r(n,function(t){n[t]=null})}function g(n){var t,r,i=null;if(c(n)&&n.length>1)for(i=[],t=0,r=n.length-1;t<r;++t)i.push({start:Number(n[t]),end:Number(n[t+1])});return i}function nt(n,t){for(var i=0,r=t.length;i<r;++i)if(t[i].start<=n&&n<=t[i].end)return i;return-1}var a=isFinite,f=n.utils,h=n.viz.core.utils,v=f.isString,c=f.isArray,y=f.isFunction,p=h.patchFontOptions,w=h.parseScalar,e=t.extend,r=t.each,l=t.map,o={none:null,single:-1,multiple:NaN},d=n.Class.inherit({_rootClass:null,ctor:function(n){var t=this;t._params=n,t._init();n.projection.on({project:function(){t._reproject()},transform:function(n){t._transform(n),t._relocate()},center:function(n,i){t._transform(i)},zoom:function(n,i){t._transform(i),t._relocate()}})},_init:function(){var n=this;n._context={renderer:n._params.renderer,projection:n._params.projection,dataKey:n._params.dataKey,selection:null,getItemSettings:n._createItemSettingsBuilder()},n._initRoot(),k(n._context,n._params.eventTrigger,n._eventNames)},_createItemSettingsBuilder:function(){var n=this;return function(t,i){var u={};return r(n._grouping,function(n,i){var r,f;a(r=i.callback(t))&&(f=nt(r,i.groups))>=0&&(u[n]=i.groups[f][n])}),n._getItemSettings(t,e({},i,u))}},_initRoot:function(){this._context.root=this._root=this._params.renderer.g().attr({"class":this._rootClass})},dispose:function(){var n=this;return n._destroyHandles(),n._params=n._context=n._grouping=null,n._disposeRoot(),n},_disposeRoot:function(){this._root=null},clean:function(){var n=this;return n._destroyItems(),n._removeRoot(),n._rendered=!1,n},_removeRoot:function(){this._root.remove()},setOptions:function(n){var t=this;return t._processOptions(n||{}),t._params.notifyDirty(),t._destroyItems(),t._createItems(t._params.notifyReady),t},render:function(){var n=this;return n._rendered=!0,n._params.notifyDirty(),n._appendRoot(),n._createItems(n._params.notifyReady,!0),n},_processOptions:function(n){var i=this,u=i._commonSettings=i._getCommonSettings(n),f=i._context;i._customizeCallback=y(u.customize)?u.customize:t.noop,f.hover=!!w(u.hoverEnabled,!0),f.selection&&r(f.selection.state,function(n,t){t&&t.resetSelected()}),f.selection=b(u.selectionMode),i._grouping={},i._updateGrouping()},_appendRoot:function(){this._root.append(this._params.container)},_destroyItems:function(){var n=this;n._clearRoot(),clearTimeout(n._labelsTimeout),n._rendered&&n._handles&&r(n._handles,function(n,t){t.item&&(t.item.dispose(),t.item=null)})},_clearRoot:function(){this._root.clear()},_destroyHandles:function(){this._handles&&r(this._handles,function(n,t){t.dispose()}),this._handles=null},_createHandles:function(n){var t=this;c(n)&&(t._handles=l(n,function(n,i){n=n||{};var r=new u(t._context,t._getItemCoordinates(n),t._getItemAttributes(n),i,t._itemType),f=r.proxy;return t._initProxy(f,n),r.settings=t._customizeCallback.call(f,f)||{},r.settings.isSelected&&f.selected(!0),r}))},_createItems:function(n){var t=this,i=[],u=!0;t._rendered&&t._handles&&(r(t._handles,function(n,r){r.item=t._createItem(r.proxy).init(t._context,r.proxy).project().update(r.settings).locate(),r.proxy.selected()&&i.push(r.item)}),r(i,function(n,t){t.setSelectedState()}),t._arrangeItems(),t._commonSettings.label.enabled&&(u=!1,clearTimeout(t._labelsTimeout),t._labelsTimeout=setTimeout(function(){r(t._handles,function(n,t){t.item.createLabel()}),n()}))),u&&n()},_processSource:null,setData:function(n){function r(n){i._rendered&&i._params.tracker.reset(),i._destroyItems(),i._destroyHandles(),i._createHandles(i._processSource(n)),i._createItems(i._params.notifyReady)}var i=this;return i._params.notifyDirty(),v(n)?t.getJSON(n).done(r).fail(function(){r(null)}):r(n),i},_transform:function(n){this._root.attr(n)},_reproject:function(){this._rendered&&this._handles&&r(this._handles,function(n,t){t.item.project().locate()})},_relocate:function(){this._rendered&&this._handles&&r(this._handles,function(n,t){t.item.locate()})},hoverItem:function(n,t){return this._handles[n].setHovered(t),this},selectItem:function(n,t,i){return this._handles[n].setSelected(t,i),this},clearSelection:function(){var n=this._context.selection;return n&&r(n.state,function(n,t){t&&t.setSelected(!1)}),this},raiseClick:function(n,t){return this._params.eventTrigger(this._eventNames.click,{target:this._handles[n].proxy,jQueryEvent:t}),this},getProxyItems:function(){return l(this._handles,function(n){return n.proxy})},getProxyItem:function(n){return this._handles[n].proxy},_performGrouping:function(n,t,i,u){var f=g(n),e;f?(e=u(f.length),r(f,function(n,i){i.index=n,i[t]=e[n]}),this._grouping[t]={callback:i,groups:f}):(delete this._grouping[t],f=[]),this._params.dataExchanger.set(this._dataCategory,t,f)},_groupByColor:function(t,i,r){this._performGrouping(t,"color",r,function(t){for(var f=new n.viz.core.GradientPalette(i,t),r=0,u=[];r<t;++r)u.push(f.getColor(r));return u})}}),u;n.viz.map._internal.mapItemBehavior={init:function(n,t){var i=this;return i._ctx=n,i._data={index:t.index,type:t.type},i._proxy=t,i._root=i._createRoot().append(i._ctx.root),i},dispose:function(){return s(this),this},project:function(){var n=this;return n._coords=n._project(n._ctx.projection,n._proxy.coordinates()),this},locate:function(){var n=this;return n._locate(n._transform(n._ctx.projection,n._coords)),n._label&&n._label.value&&n._locateLabel(),n},update:function(n){var t=this;return t._settings=t._ctx.getItemSettings(t._proxy,n),t._update(t._settings),t._label&&t._updateLabel(),t},createLabel:function(){var n=this;return n._label={root:n._createLabelRoot(),text:n._ctx.renderer.text(),tracker:n._ctx.renderer.rect().attr({stroke:"none","stroke-width":0,fill:"#000000",opacity:.0001}).data(n._ctx.dataKey,n._data)},n._updateLabel(),n},_updateLabel:function(){var n=this,t=n._settings.label;n._label.value=String(this._proxy.text||this._proxy.attribute(this._settings.label.dataField)||""),n._label.value&&(n._label.text.attr({text:n._label.value,x:0,y:0}).css(p(t.font)).attr({align:"center",stroke:t.stroke,"stroke-width":t["stroke-width"],"stroke-opacity":t["stroke-opacity"]}).append(n._label.root),n._label.tracker.append(n._label.root),n._adjustLabel(),n._locateLabel())}},u=function(n,t,i,r,u){var f=this;f._ctx=n,f._idx=r,f._hovered=f._selected=!1,i=e({},i),f.proxy={index:r,type:u,coordinates:function(){return t},attribute:function(n,t){return arguments.length>1?(i[n]=t,this):arguments.length>0?i[n]:i},selected:function(n,t){return arguments.length>0?(f.setSelected(!!n,t),this):f._selected},applySettings:function(n){return e(!0,f.settings,n),f.item&&f.item.update(f.settings),this}}},u.prototype={constructor:u,dispose:function(){return s(this.proxy),s(this),this},setHovered:function(n){n=!!n;var t=this;return t._ctx.hover&&t._hovered!==n&&(t._hovered=n,t.item&&(t._hovered&&t.item.onHover(),t._selected||(t.item[t._hovered?"setHoveredState":"setDefaultState"](),t._ctx.raiseHoverChanged(t,t._hovered)))),t},resetSelected:function(){return this._selected=!1,this},setSelected:function(n,t){n=!!n;var i=this,f=i._ctx,r=i._ctx.selection,u;return r&&i._selected!==n&&(i._selected=n,u=r.state[r.single],r.state[r.single]=null,u&&u.setSelected(!1),r.state[r.single||i._idx]=n?i:null,i.item&&(i.item[n?"setSelectedState":i._hovered?"setHoveredState":"setDefaultState"](),t||f.raiseSelectionChanged(i))),i}},n.viz.map.dxVectorMap.prototype._factory.MapItemsManager=d}(DevExpress,jQuery),function(n,t,i){function h(n){return n.coordinates}function c(n){var t,r;return n.geometry&&(r=n.geometry.type,t=n.geometry.coordinates,t&&(r==="Polygon"||r==="MultiPolygon")?r==="MultiPolygon"&&(t=[].concat.apply([],t)):t=i),t}function l(n){return n.attributes}function a(n){return n.properties}function u(){}function v(n){for(var f=0,h=n.length,i,t=n[h-1],u,e=0,s=0,r=0;f<h;++f)i=t,t=n[f],u=i[0]*t[1]-t[0]*i[1],r+=u,e+=(i[0]+t[0])*u,s+=(i[1]+t[1])*u;return r/=2,e/=6*r,s/=6*r,{coords:[e,s],area:o(r)}}function y(n){for(var i=0,f=n.length,t,r,u=0;i<f;++i)t=v(n[i]),t.area>u&&(u=t.area,r=t);return r}var o=Math.abs,s=Math.sqrt,r=t.noop,f=1,e=n.viz.map.dxVectorMap.prototype._factory.MapItemsManager.inherit({_rootClass:"dxm-areas",_dataCategory:"areas",_eventNames:{click:"areaClick",hoverChanged:"areaHoverChanged",selectionChanged:"areaSelectionChanged"},_initRoot:function(){var n=this;n.callBase.apply(n,arguments),n._context.labelRoot=n._labelRoot=n._params.renderer.g().attr({"class":"dxm-area-labels"})},_disposeRoot:function(){this.callBase.apply(this,arguments),this._labelRoot=null},_processSource:function(n){var t=n&&n.type==="FeatureCollection";return this._getItemCoordinates=t?c:h,this._getItemAttributes=t?a:l,t?n.features:n},_getCommonSettings:function(n){return this._params.themeManager.getCommonAreaSettings(n)},_initProxy:r,_itemType:"area",_removeRoot:function(){this.callBase.apply(this,arguments),this._labelRoot.remove()},_appendRoot:function(){var n=this;n.callBase.apply(n,arguments),n._commonSettings.label.enabled&&n._labelRoot.append(n._params.container)},_clearRoot:function(){this.callBase.apply(this,arguments),this._labelRoot.clear()},_getItemSettings:function(n,t){return this._params.themeManager.getAreaSettings(this._commonSettings,t)},_transform:function(n){this.callBase.apply(this,arguments),this._labelRoot.attr(n)},_createItem:function(){return new u},_updateGrouping:function(){var n=this._commonSettings,t=n.colorGroupingField;this._groupByColor(n.colorGroups,n.palette,function(n){return n.attribute(t)})},_arrangeItems:r});t.extend(u.prototype,n.viz.map._internal.mapItemBehavior,{_project:function(n,t){return n.projectArea(t)},_createRoot:function(){return this._ctx.renderer.path([],"area").data(this._ctx.dataKey,this._data)},_update:function(n){return this._styles={normal:{"class":"dxm-area",stroke:n.borderColor,"stroke-width":n.borderWidth,fill:n.color},hovered:{"class":"dxm-area dxm-area-hovered",stroke:n.hoveredBorderColor,"stroke-width":n.hoveredBorderWidth,fill:n.hoveredColor},selected:{"class":"dxm-area dxm-area-selected",stroke:n.selectedBorderColor,"stroke-width":n.selectedBorderWidth,fill:n.selectedColor}},this._root.attr(this._styles.normal),this},_transform:function(n,t){return n.getAreaCoordinates(t)},_locate:function(n){this._root.attr({points:n})},onHover:r,setDefaultState:function(){this._root.attr(this._styles.normal).toBackground()},setHoveredState:function(){this._root.attr(this._styles.hovered).toForeground()},setSelectedState:function(){this._root.attr(this._styles.selected).toForeground()},_createLabelRoot:function(){return this._ctx.renderer.g().attr({"class":"dxm-area-label"}).append(this._ctx.labelRoot)},_adjustLabel:function(){var t=this,i=y(t._coords),n=t._label.text.getBBox(),r=-n.y-n.height/2;t._centroid=i.coords,t._areaSize=s(i.area),t._labelSize=[n.width,n.height],t._label.text.attr({y:r}),t._label.tracker.attr({x:n.x,y:n.y+r,width:n.width,height:n.height})},_locateLabel:function(){var n=this,t=n._ctx.projection.getPointCoordinates(n._centroid),i=n._ctx.projection.getSquareSize([n._areaSize,n._areaSize]);n._label.root.attr({translateX:t.x,translateY:t.y,visibility:n._labelSize[0]/i[0]<f&&n._labelSize[1]/i[1]<f?null:"hidden"})}}),n.viz.map._internal.AreasManager=e,n.viz.map._internal.Area=u,n.viz.map.dxVectorMap.prototype._factory.createAreasManager=function(n){return new e(n)}}(DevExpress,jQuery),function(n,t,i){function w(){}function b(){}function k(){}function d(){}function g(n,t){var i=nt(n).toLowerCase();return l[i]?i:t}var r=Number,nt=String,f=isFinite,o=Math,a=o.round,tt=o.max,it=o.min,u=t.extend,s=t.each,rt=n.utils.isArray,v="dxm-marker",ut="dxm-marker dxm-marker-hovered",ft="dxm-marker dxm-marker-selected",y="dot",h="bubble",p="pie",et="image",c=null,l={},ot=n.viz.map.dxVectorMap.prototype._factory.MapItemsManager.inherit({_rootClass:"dxm-markers",_dataCategory:"markers",_eventNames:{click:"markerClick",hoverChanged:"markerHoverChanged",selectionChanged:"markerSelectionChanged"},_init:function(){var n=this;n.callBase.apply(n,arguments),n._context.getPieColors=function(t){return n._params.themeManager.getPieColors(n._commonSettings,t)},n._filter=n._params.renderer.shadowFilter("-40%","-40%","180%","200%",0,1,1,"#000000",.2)},_dispose:function(){this.callBase.apply(this,arguments),this._filter.dispose(),this._filter=null},_getItemCoordinates:function(n){return n.coordinates},_getItemAttributes:function(n){return n.attributes},_processSource:function(n){return n},_getCommonSettings:function(n){return this._params.themeManager.getCommonMarkerSettings(n)},_processOptions:function(n){var t=this;t._commonType=g(n&&n.type,c),t.callBase.apply(t,arguments),t._commonSettings._filter=t._filter.ref},_arrangeBubbles:function(){var o=this._handles,i=[],t,r=o.length,n,u=[],e,s,c;if(!this._commonSettings._bubble.sizeGroups){for(t=0;t<r;++t)n=o[t],n.item.type===h&&(i.push(n),f(n.proxy.value)&&u.push(n.proxy.value));for(e=it.apply(null,u),s=tt.apply(null,u),c=s-e||1,t=0,r=i.length;t<r;++t)n=i[t],n.item.setSize(f(n.proxy.value)?(n.proxy.value-e)/c:0)}},_itemType:"marker",_initProxy:function(n,t){s(t,function(t,r){n[t]===i&&(n[t]=r)}),n._TYPE=g(t.type,null)},_getItemSettings:function(n,t){var r=n._TYPE||this._commonType,i=this._params.themeManager.getMarkerSettings(this._commonSettings,u({},n.style,t),r);return n.text=n.text||i.text,i},_createItem:function(n){return new l[n._TYPE||this._commonType]},_updateGrouping:function(){var i=this,t=i._commonType,u,f,n=i._commonSettings["_"+t];(t===y||t===h)&&(u=n.colorGroupingField,i._groupByColor(n.colorGroups,n.palette,function(n){return!n._TYPE||n._TYPE===t?n.attribute(u):NaN})),f=n.sizeGroupingField,i._performGrouping(n.sizeGroups,"size",function(n){return!n._TYPE||n._TYPE===t?n.value||n.attribute(f):NaN},function(t){for(var u=n.minSize>0?r(n.minSize):0,e=n.maxSize>=u?r(n.maxSize):0,i=0,f=[],i=0;i<t;++i)f.push((u*(t-i-1)+e*i)/(t-1));return f})},_updateLegendForPies:function(){var n=0;s(this._handles,function(t,i){var u=i.proxy,r;u._TYPE&&u._TYPE!==p||(r=u.values,r&&r.length>n&&(n=r.length))}),n>0&&this._params.dataExchanger.set(this._dataCategory,"color",t.map(this._context.getPieColors(n).slice(0,n),function(n,t){return{index:t,color:n}}))},_arrangeItems:function(){this._arrangeBubbles(),this._updateLegendForPies()}}),e=u({},n.viz.map._internal.mapItemBehavior,{_project:function(n,t){return n.projectPoint(t)},_createRoot:function(){return this._ctx.renderer.g()},_update:function(n){var t=this;return t._root.attr({"class":v}).clear(),t._create(n,t._ctx.renderer,t._root),t},_transform:function(n,t){return n.getPointCoordinates(t)},_locate:function(n){this._root.attr({translateX:n.x,translateY:n.y})},onHover:function(){this._root.toForeground()},setDefaultState:function(){this._root.attr({"class":v}).toBackground(),this._applyDefault()},setHoveredState:function(){this._root.attr({"class":ut}),this._applyHovered()},setSelectedState:function(){this._root.attr({"class":ft}).toForeground(),this._applySelected()},_createLabelRoot:function(){return this._root},_adjustLabel:function(){var n=this._label.text.getBBox(),t=a(-n.x+this._size/2)+2,i=a(-n.y-n.height/2)-1;this._label.text.attr({x:t,y:i}),this._label.tracker.attr({x:t+n.x-1,y:i+n.y-1,width:n.width+2,height:n.height+2})},_locateLabel:t.noop});u(w.prototype,e,{type:y,_create:function(n,t,i){var u=this,f=u._size=n.size>0?r(n.size):0,e=f,o=f+(n.selectedStep>0?r(n.selectedStep):0),h=e+(n.backStep>0?r(n.backStep):0),c=o+(n.backStep>0?r(n.backStep):0),s=f/2;u._dotDefault={cx:0,cy:0,r:s,stroke:n.borderColor,"stroke-width":n.borderWidth,fill:n.color,filter:n.shadow?n._filter:null},u._dotHovered={cx:0,cy:0,r:e/2,stroke:n.hoveredBorderColor,"stroke-width":n.hoveredBorderWidth,fill:n.hoveredColor},u._dotSelected={cx:0,cy:0,r:o/2,stroke:n.selectedBorderColor,"stroke-width":n.selectedBorderWidth,fill:n.selectedColor},u._backDefault={cx:0,cy:0,r:s,stroke:"none","stroke-width":0,fill:n.backColor,opacity:n.backOpacity},u._backHovered={cx:0,cy:0,r:h/2,stroke:"none","stroke-width":0,fill:n.backColor,opacity:n.backOpacity},u._backSelected={cx:0,cy:0,r:c/2,stroke:"none","stroke-width":0,fill:n.backColor,opacity:n.backOpacity},u._back=t.circle().sharp().attr(u._backDefault).data(u._ctx.dataKey,u._data).append(i),u._dot=t.circle().sharp().attr(u._dotDefault).data(u._ctx.dataKey,u._data).append(i)},_destroy:function(){this._back=this._dot=null},_applyDefault:function(){this._back.attr(this._backDefault),this._dot.attr(this._dotDefault)},_applyHovered:function(){this._back.attr(this._backHovered),this._dot.attr(this._dotHovered)},_applySelected:function(){this._back.attr(this._backSelected),this._dot.attr(this._dotSelected)}}),u(b.prototype,e,{type:h,_create:function(n,t,i){var u=this;u._minSize=n.minSize>0?r(n.minSize):0,u._maxSize=n.maxSize>u._minSize?r(n.maxSize):u._minSize,u.value=f(u._proxy.value)?r(u._proxy.value):null,u._default={stroke:n.borderColor,"stroke-width":n.borderWidth,fill:n.color,opacity:n.opacity},u._hovered={stroke:n.hoveredBorderColor,"stroke-width":n.hoveredBorderWidth,fill:n.hoveredColor,opacity:n.hoveredOpacity},u._selected={stroke:n.selectedBorderColor,"stroke-width":n.selectedBorderWidth,fill:n.selectedColor,opacity:n.selectedOpacity},u._bubble=t.circle(0,0,0).sharp().attr(u._default).data(u._ctx.dataKey,u._data).append(i),u.setSize(n.size/u._maxSize||1)},_applyDefault:function(){this._bubble.attr(this._default)},_applyHovered:function(){this._bubble.attr(this._hovered)},_applySelected:function(){this._bubble.attr(this._selected)},setSize:function(n){var t=this,i=(t._minSize+n*(t._maxSize-t._minSize))/2;return t._default.r=t._hovered.r=t._selected.r=i,t._size=2*i,t._bubble.attr({r:i}),t}}),u(k.prototype,e,{type:p,_create:function(t,i,u){var e=this,a=(t.size>0?r(t.size):0)/2,c,o=0,l,h,s,w=0,v,y,p,b;for(e._size=2*a,e._pieDefault={opacity:t.opacity},e._pieHovered={opacity:t.hoveredOpacity},e._pieSelected={opacity:t.selectedOpacity},e._borderDefault={stroke:t.borderColor,"stroke-width":t.borderWidth},e._borderHovered={stroke:t.hoveredBorderColor,"stroke-width":t.hoveredBorderWidth},e._borderSelected={stroke:t.selectedBorderColor,"stroke-width":t.selectedBorderWidth},c=e._proxy.values,l=rt(c)?c.length:0,h=[];o<l;++o)s=r(c[o]),f(s)&&(h.push(s),w+=s);for(e._pie=i.g().attr(e._pieDefault),v=new n.viz.core.Translator1D(0,w,90,450),y=v.translate(0),b=e._ctx.getPieColors(h.length),s=0,o=0,l=h.length;o<l;++o)s+=h[o],p=v.translate(s),i.arc(0,0,0,a,y,p).attr({"stroke-linejoin":"round",fill:b[o]}).data(e._ctx.dataKey,e._data).append(e._pie),y=p;e._pie.append(u),e._border=i.circle(0,0,a).sharp().attr(e._borderDefault).data(e._ctx.dataKey,e._data).append(u)},_applyDefault:function(){this._pie.attr(this._pieDefault),this._border.attr(this._borderDefault)},_applyHovered:function(){this._pie.attr(this._pieHovered),this._border.attr(this._borderHovered)},_applySelected:function(){this._pie.attr(this._pieSelected),this._border.attr(this._borderSelected)}}),u(d.prototype,e,{type:et,_create:function(n,t,i){var u=this,f=u._size=n.size>0?r(n.size):0,e=f+(n.hoveredStep>0?r(n.hoveredStep):0),o=f+(n.selectedStep>0?r(n.selectedStep):0);u._default={x:-f/2,y:-f/2,width:f,height:f},u._hovered={x:-e/2,y:-e/2,width:e,height:e},u._selected={x:-o/2,y:-o/2,width:o,height:o},u._image=t.image().attr(u._default).attr({href:u._proxy.url,location:"center"}).append(i),u._tracker=t.rect().attr(u._default).attr({stroke:"none","stroke-width":0,fill:"#000000",opacity:.0001}).data(u._ctx.dataKey,u._data).append(i)},_applyDefault:function(){this._image.attr(this._default),this._tracker.attr(this._default)},_applyHovered:function(){this._image.attr(this._hovered),this._tracker.attr(this._hovered)},_applySelected:function(){this._image.attr(this._selected),this._tracker.attr(this._selected)}}),s([w,b,k,d],function(n,t){c=c||t.prototype.type,l[t.prototype.type]=t}),n.viz.map.dxVectorMap.prototype._factory.createMarkersManager=function(n){return new ot(n)}}(DevExpress,jQuery),DevExpress.MOD_VIZ_VECTORMAP=!0}if(!DevExpress.MOD_VIZ_SPARKLINES){if(!DevExpress.MOD_VIZ_CORE)throw Error("Required module is not referenced: viz-core");(function(n,t,i){function p(n,t){var r=n.lineSpacing,u=(r!==i&&r!==null?r:a)+n.size;return function(n){for(var f="",r=n.valueText,i=0;i<r.length;i+=2)f+="<tr><td>"+r[i]+"<\/td><td style='width: 15px'><\/td><td style='text-align: "+(t?"left":"right")+"'>"+r[i+1]+"<\/td><\/tr>";return{html:"<table style='border-spacing:0px; line-height: "+u+"px'>"+f+"<\/table>"}}}var a=2,r=200,v=1e3,y=n.extend,s=Math.abs,f=t.viz.core;t.viz.sparklines={},t.viz.sparklines.BaseSparkline=f.BaseWidget.inherit({_setDeprecatedOptions:function(){this.callBase(),n.extend(this._deprecatedOptions,{"tooltip.verticalAlignment":{since:"15.1",message:"Now tootips are aligned automatically"},"tooltip.horizontalAlignment":{since:"15.1",message:"Now tootips are aligned automatically"}})},_clean:function(){var n=this;n._tooltipShown&&(n._tooltipShown=!1,n._tooltip.hide()),n._cleanWidgetElements(),n._cleanTranslators()},_initCore:function(){var n=this;n._tooltipTracker=n._renderer.root,n._tooltipTracker.attr({"pointer-events":"visible"}),n._createHtmlElements(),n._initTooltipEvents()},_initTooltip:function(){this._initTooltipBase=this.callBase;return},_getDefaultSize:function(){return this._defaultSize},_isContainerVisible:function(){return!0},_disposeCore:function(){this._disposeWidgetElements(),this._disposeTooltipEvents(),this._ranges=null},_render:function(){this._prepareOptions(),this._updateWidgetElements(),this._drawWidgetElements()},_updateWidgetElements:function(){this._updateRange(),this._updateTranslator()},_applySize:function(){this._allOptions&&(this._allOptions.size={width:this._canvas.width,height:this._canvas.height})},_cleanTranslators:function(){this._translatorX=null,this._translatorY=null},_setupResizeHandler:n.noop,_resize:function(){var n=this;n._redrawWidgetElements(),n._tooltipShown&&(n._tooltipShown=!1,n._tooltip.hide()),n._drawn()},_prepareOptions:function(){return y(!0,{},this._themeManager.theme(),this.option())},_createThemeManager:function(){var n=new t.viz.core.BaseThemeManager;return n._themeSection=this._widgetType,n._fontFields=["tooltip.font"],n},_getTooltipCoords:function(){var n=this._canvas,t=this._renderer.getRootOffset();return{x:n.width/2+t.left,y:n.height/2+t.top}},_initTooltipEvents:function(){var n=this,t={widget:n};n._showTooltipCallback=function(){var t;n._showTooltipTimeout=null,n._tooltipShown||(n._tooltipShown=!0,t=n._getTooltip(),t.isEnabled()&&n._tooltip.show(n._getTooltipData(),n._getTooltipCoords(),{}))},n._hideTooltipCallback=function(){n._hideTooltipTimeout=null,n._tooltipShown&&(n._tooltipShown=!1,n._tooltip.hide())},n._disposeCallbacks=function(){n=n._showTooltipCallback=n._hideTooltipCallback=n._disposeCallbacks=null};n._tooltipTracker.on(b,t).on(d,t).on(k,t);n._tooltipTracker.on(w)},_disposeTooltipEvents:function(){var n=this;clearTimeout(n._showTooltipTimeout),clearTimeout(n._hideTooltipTimeout),n._tooltipTracker.off(),n._disposeCallbacks()},_updateTranslator:function(){var n=this,t=this._canvas,i=this._ranges;n._translatorX=new f.Translator2D(i.arg,t,{direction:"horizontal"}),n._translatorY=new f.Translator2D(i.val,t)},_getTooltip:function(){var n=this;return n._tooltip||(n._initTooltipBase(),n._setTooltipRendererOptions(n._tooltipRendererOptions),n._tooltipRendererOptions=null,n._setTooltipOptions()),n._tooltip},_setTooltipRendererOptions:function(n){this._tooltip?this._tooltip.setRendererOptions(n):this._tooltipRendererOptions=n},_setTooltipOptions:function(){var i=this._tooltip,t=i&&this._getOption("tooltip");i&&i.update(n.extend({},t,{customizeTooltip:n.isFunction(t.customizeTooltip)?t.customizeTooltip:p(t.font,this.option("rtlEnabled")),enabled:t.enabled&&this._isTooltipEnabled()}))},_showTooltip:function(n){var t=this;clearTimeout(t._hideTooltipTimeout),t._hideTooltipTimeout=null,clearTimeout(t._showTooltipTimeout),t._showTooltipTimeout=setTimeout(t._showTooltipCallback,n)},_hideTooltip:function(n){var t=this;clearTimeout(t._showTooltipTimeout),t._showTooltipTimeout=null,clearTimeout(t._hideTooltipTimeout),n?t._hideTooltipTimeout=setTimeout(t._hideTooltipCallback,n):t._hideTooltipCallback()},_initLoadingIndicator:n.noop,_disposeLoadingIndicator:n.noop,_handleLoadingIndicatorOptionChanged:n.noop,showLoadingIndicator:n.noop,hideLoadingIndicator:n.noop});var w={"contextmenu.sparkline-tooltip":function(n){(t.ui.events.isTouchEvent(n)||t.ui.events.isPointerEvent(n))&&n.preventDefault()},"MSHoldVisual.sparkline-tooltip":function(n){n.preventDefault()}},b={"mouseover.sparkline-tooltip":function(n){o=!1;var t=n.data.widget;t._x=n.pageX,t._y=n.pageY;t._tooltipTracker.off(e).on(e,n.data);t._showTooltip(r)},"mouseout.sparkline-tooltip":function(n){if(!o){var t=n.data.widget;t._tooltipTracker.off(e),t._hideTooltip(r)}}},k={"dxmousewheel.sparkline-tooltip":function(n){n.data.widget._hideTooltip()}},e={"mousemove.sparkline-tooltip":function(n){var t=n.data.widget;t._showTooltipTimeout&&(s(t._x-n.pageX)>3||s(t._y-n.pageY)>3)&&(t._x=n.pageX,t._y=n.pageY,t._showTooltip(r))}},u=null,h=function(n){n.preventDefault();var t=u;t&&t!==n.data.widget&&t._hideTooltip(r),t=u=n.data.widget,t._showTooltip(v),t._touch=!0},c=function(){var n=u;n&&(n._touch||(n._hideTooltip(r),u=null),n._touch=null)},l=function(){var n=u;n&&n._showTooltipTimeout&&(n._hideTooltip(r),u=null)},o=!1,d={"pointerdown.sparkline-tooltip":h,"touchstart.sparkline-tooltip":h};n(document).on({"pointerdown.sparkline-tooltip":function(){o=!0,c()},"touchstart.sparkline-tooltip":c,"pointerup.sparkline-tooltip":l,"touchend.sparkline-tooltip":l})})(jQuery,DevExpress),function(n,t,i){var u=t.viz,o=u.core,s=1,h=50,b=4,k=250,d=30,c=5,l=3,g={line:!0,spline:!0,stepline:!0,area:!0,steparea:!0,splinearea:!0,bar:!0,winloss:!0},a=n.map,r=Math,nt=r.abs,tt=r.round,v=r.max,y=r.min,f=isFinite,p=t.utils.isDefined,e=Number,w=String;t.registerComponent("dxSparkline",u.sparklines,u.sparklines.BaseSparkline.inherit({_rootClassPrefix:"dxsl",_rootClass:"dxsl-sparkline",_widgetType:"sparkline",_defaultSize:{width:k,height:d,left:c,right:c,top:l,bottom:l},_initCore:function(){this.callBase(),this._refreshDataSource(),this._createSeries()},_dataSourceChangedHandler:function(){this._initialized&&(this._clean(),this._updateWidgetElements(),this._drawWidgetElements())},_updateWidgetElements:function(){this._updateSeries(),this.callBase()},_dataSourceOptions:function(){return{paginate:!1}},_redrawWidgetElements:function(){this._updateTranslator(),this._correctPoints(),this._series.draw({x:this._translatorX,y:this._translatorY}),this._seriesGroup.append(this._renderer.root)},_disposeWidgetElements:function(){var n=this;delete n._seriesGroup,delete n._seriesLabelGroup,n._series&&n._series.dispose(),n._series=null},_cleanWidgetElements:function(){this._seriesGroup.remove(),this._seriesLabelGroup.remove(),this._seriesGroup.clear(),this._seriesLabelGroup.clear()},_drawWidgetElements:function(){this._isDataSourceReady()&&(this._drawSeries(),this._drawn())},_prepareOptions:function(){this._allOptions=this.callBase(),this._allOptions.type=w(this._allOptions.type).toLowerCase(),g[this._allOptions.type]||(this._allOptions.type="line")},_createHtmlElements:function(){this._seriesGroup=this._renderer.g().attr({"class":"dxsl-series"}),this._seriesLabelGroup=this._renderer.g().attr({"class":"dxsl-series-labels"})},_createSeries:function(){this._series=new o.series.Series({renderer:this._renderer,seriesGroup:this._seriesGroup,labelsGroup:this._seriesLabelGroup},{widgetType:"chart",type:"line"})},_updateSeries:function(){var n=this,t,u,r;n._prepareDataSource(),r=n._prepareSeriesOptions(),n._series.updateOptions(r),t=[[n._series]],t.argumentOptions={type:r.type==="bar"?"discrete":i},u=new o.DataValidator(n._simpleDataSource,t,n._incidentOccured,{checkTypeForAllData:!1,convertToAxisDataType:!0,sortingMethod:!0}),n._simpleDataSource=u.validate(),n._series.updateData(n._simpleDataSource)},_optionChanged:function(n){n.name==="dataSource"&&this._allOptions?this._refreshDataSource():this.callBase.apply(this,arguments)},_parseNumericDataSource:function(n,t,r){var u=this.option("ignoreEmptyPoints");return a(n,function(n,o){var s=null,c,h;return n!==i&&(s={},c=f(n),s[t]=c?w(o):n[t],h=c?n:n[r],s[r]=h===null?u?i:h:e(h),s=s[t]!==i&&s[r]!==i?s:null),s})},_parseWinlossDataSource:function(n,t,i){var u=-1,f=0,e=1,o=.0001,r=this._allOptions.winlossThreshold;return a(n,function(n){var s={};return s[t]=n[t],s[i]=nt(n[i]-r)<o?f:n[i]>r?e:u,s})},_prepareDataSource:function(){var n=this,t=n._allOptions,r=t.argumentField,u=t.valueField,f=n._dataSource?n._dataSource.items():[],i=n._parseNumericDataSource(f,r,u);t.type==="winloss"?(n._winlossDataSource=i,n._simpleDataSource=n._parseWinlossDataSource(i,r,u)):n._simpleDataSource=i},_prepareSeriesOptions:function(){var t=this,n=t._allOptions,r=n.type==="winloss"?"bar":n.type;return{visible:!0,argumentField:n.argumentField,valueField:n.valueField,color:n.lineColor,width:n.lineWidth,widgetType:"chart",type:r,opacity:r.indexOf("area")!==-1?t._allOptions.areaOpacity:i,customizePoint:t._getCustomizeFunction(),point:{size:n.pointSize,symbol:n.pointSymbol,border:{visible:!0,width:2},color:n.pointColor,visible:!1,hoverStyle:{border:{}},selectionStyle:{border:{}}},border:{color:n.lineColor,width:n.lineWidth,visible:r!=="bar"}}},_createBarCustomizeFunction:function(n){var i=this,t=i._allOptions,r=i._winlossDataSource;return function(){var u=this.index,f=t.type==="winloss",e=f?t.winlossThreshold:0,o=f?r[u][t.valueField]:this.value,s=f?t.winColor:t.barPositiveColor,h=f?t.lossColor:t.barNegativeColor,i;return i=o>=e?s:h,(u===n.first||u===n.last)&&(i=t.firstLastColor),u===n.min&&(i=t.minColor),u===n.max&&(i=t.maxColor),{color:i}}},_createLineCustomizeFunction:function(n){var i=this,t=i._allOptions;return function(){var i,r=this.index;return(r===n.first||r===n.last)&&(i=t.firstLastColor),r===n.min&&(i=t.minColor),r===n.max&&(i=t.maxColor),i?{visible:!0,border:{color:i}}:{}}},_getCustomizeFunction:function(){var n=this,i=n._allOptions,u=n._winlossDataSource||n._simpleDataSource,r=n._getExtremumPointsIndexes(u),t;return t=i.type==="winloss"||i.type==="bar"?n._createBarCustomizeFunction(r):n._createLineCustomizeFunction(r)},_getExtremumPointsIndexes:function(n){var t=this,r=t._allOptions,u=n.length-1,i={};return t._minMaxIndexes=t._findMinMax(n),r.showFirstLast&&(i.first=0,i.last=u),r.showMinMax&&(i.min=t._minMaxIndexes.minIndex,i.max=t._minMaxIndexes.maxIndex),i},_findMinMax:function(n){for(var h=this,r=h._allOptions.valueField,c=n[0]||{},u=c[r]||0,f=u,e=u,o=0,s=0,l=n.length,i,t=1;t<l;t++)i=n[t][r],i<f&&(f=i,o=t),i>e&&(e=i,s=t);return{minIndex:o,maxIndex:s}},_updateRange:function(){var o=this,c=o._series,l=c.type,w=l==="bar",b=l==="winloss",k=.15,d=.1,g=1,nt=-1,n=c.getRangeData(),t=o._allOptions.minValue,s=p(t)&&f(t),r=o._allOptions.maxValue,h=p(r)&&f(r),u,a;u=(n.val.max-n.val.min)*k,w||b||l==="area"?(n.val.min!==0&&(n.val.min-=u),n.val.max!==0&&(n.val.max+=u)):(n.val.min-=u,n.val.max+=u),(s||h)&&(s&&h?(n.val.minVisible=y(t,r),n.val.maxVisible=v(t,r)):(n.val.minVisible=s?e(t):i,n.val.maxVisible=h?e(r):i),b&&(n.val.minVisible=s?v(n.val.minVisible,nt):i,n.val.maxVisible=h?y(n.val.maxVisible,g):i)),c.getPoints().length>1&&(w?(a=(n.arg.max-n.arg.min)*d,n.arg.min=n.arg.min-a,n.arg.max=n.arg.max+a):n.arg.stick=!0),o._ranges=n},_getBarWidth:function(n){var r=this,i=r._canvas,u=n*b,f=i.width-i.left-i.right-u,t=tt(f/n);return t<s&&(t=s),t>h&&(t=h),t},_correctPoints:function(){var t=this,i=t._allOptions.type,r=t._series.getPoints(),u=r.length,f,n;if(i==="bar"||i==="winloss")for(f=t._getBarWidth(u),n=0;n<u;n++)r[n].correctCoordinates({width:f,offset:0})},_drawSeries:function(){var n=this;n._simpleDataSource.length>0&&(n._correctPoints(),n._series.draw({x:n._translatorX,y:n._translatorY}),n._seriesGroup.append(n._renderer.root))},_isTooltipEnabled:function(){return!!this._simpleDataSource.length},_getTooltipData:function(){var t=this,r=t._allOptions,n=t._winlossDataSource||t._simpleDataSource,i=t._tooltip;if(n.length===0)return{};var e=t._minMaxIndexes,u=r.valueField,o=n[0][u],s=n[n.length-1][u],h=n[e.minIndex][u],c=n[e.maxIndex][u],l=i.formatValue(o),a=i.formatValue(s),v=i.formatValue(h),y=i.formatValue(c),f={firstValue:l,lastValue:a,minValue:v,maxValue:y,originalFirstValue:o,originalLastValue:s,originalMinValue:h,originalMaxValue:c,valueText:["Start:",l,"End:",a,"Min:",v,"Max:",y]};return r.type==="winloss"&&(f.originalThresholdValue=r.winlossThreshold,f.thresholdValue=i.formatValue(r.winlossThreshold)),f}}).include(t.ui.DataHelperMixin))}(jQuery,DevExpress),function(n,t,i){var f=.02,e=.98,h=.1,c=.9,l=300,a=30,o=1,s=2,r=Number,u=isFinite;t.registerComponent("dxBullet",t.viz.sparklines,t.viz.sparklines.BaseSparkline.inherit({_rootClassPrefix:"dxb",_rootClass:"dxb-bullet",_widgetType:"bullet",_defaultSize:{width:l,height:a,left:o,right:o,top:s,bottom:s},_disposeWidgetElements:function(){delete this._zeroLevelPath,delete this._targetPath,delete this._barValuePath},_redrawWidgetElements:function(){this._updateTranslator(),this._drawBarValue(),this._drawTarget(),this._drawZeroLevel()},_cleanWidgetElements:function(){this._zeroLevelPath.remove(),this._targetPath.remove(),this._barValuePath.remove()},_drawWidgetElements:function(){this._drawBullet(),this._drawn()},_createHtmlElements:function(){var n=this._renderer;this._zeroLevelPath=n.path(i,"line").attr({"class":"dxb-zero-level","stroke-linecap":"square"}),this._targetPath=n.path(i,"line").attr({"class":"dxb-target","stroke-linecap":"square"}),this._barValuePath=n.path(i,"line").attr({"class":"dxb-bar-value","stroke-linecap":"square"})},_prepareOptions:function(){var n=this,t,e,o,c,u,f,s,h;n._allOptions=t=n.callBase(),s=n._allOptions.value===i,h=n._allOptions.target===i,n._tooltipEnabled=!(s&&h),s&&(n._allOptions.value=0),h&&(n._allOptions.target=0),t.value=u=r(t.value),t.target=f=r(t.target),n._allOptions.startScaleValue===i&&(n._allOptions.startScaleValue=f<u?f:u,n._allOptions.startScaleValue=n._allOptions.startScaleValue<0?n._allOptions.startScaleValue:0),n._allOptions.endScaleValue===i&&(n._allOptions.endScaleValue=f>u?f:u),t.startScaleValue=e=r(t.startScaleValue),t.endScaleValue=o=r(t.endScaleValue),o<e&&(c=o,n._allOptions.endScaleValue=e,n._allOptions.startScaleValue=c,n._allOptions.inverted=!0)},_updateRange:function(){var t=this,n=t._allOptions;t._ranges={arg:{invert:n.inverted,min:n.startScaleValue,max:n.endScaleValue,axisType:"continuous",dataType:"numeric"},val:{min:0,max:1,axisType:"continuous",dataType:"numeric"}}},_drawBullet:function(){var t=this,n=t._allOptions,i=n.startScaleValue!==n.endScaleValue,r=u(n.startScaleValue),f=u(n.endScaleValue),e=u(n.value),o=u(n.target);i&&f&&r&&o&&e&&(this._drawBarValue(),this._drawTarget(),this._drawZeroLevel())},_getTargetParams:function(){var n=this,t=n._allOptions,i=n._translatorY,r=n._translatorX.translate(t.target);return{points:[r,i.translate(f),r,i.translate(e)],stroke:t.targetColor,"stroke-width":t.targetWidth}},_getBarValueParams:function(){var e=this,r=e._allOptions,o=e._translatorX,s=e._translatorY,u=r.startScaleValue,f=r.endScaleValue,t=r.value,l=s.translate(h),a=s.translate(c),n,i;return t>0?(n=u<=0?0:u,i=t>=f?f:t<n?n:t):(n=f>=0?0:f,i=t<u?u:t>n?n:t),n=o.translate(n),i=o.translate(i),{points:[n,a,i,a,i,l,n,l],fill:r.color}},_getZeroLevelParams:function(){var n=this,t=n._translatorY,i=n._translatorX.translate(0);return{points:[i,t.translate(f),i,t.translate(e)],stroke:n._allOptions.targetColor,"stroke-width":1}},_drawZeroLevel:function(){var n=this,t=n._allOptions;0>t.endScaleValue||0<t.startScaleValue||!t.showZeroLevel||n._zeroLevelPath.attr(n._getZeroLevelParams()).sharp().append(n._renderer.root)},_drawTarget:function(){var n=this,t=n._allOptions,i=t.target;i>t.endScaleValue||i<t.startScaleValue||!t.showTarget||n._targetPath.attr(n._getTargetParams()).sharp().append(n._renderer.root)},_drawBarValue:function(){this._barValuePath.attr(this._getBarValueParams()).append(this._renderer.root)},_getTooltipCoords:function(){var i=this._canvas,n=this._renderer.getRootOffset(),t=this._barValuePath.getBBox();return{x:t.x+t.width/2+n.left,y:i.height/2+n.top}},_getTooltipData:function(){var i=this,r=i._tooltip,u=i._allOptions,n=u.value,t=u.target;return{originalValue:n,originalTarget:t,value:r.formatValue(n),target:r.formatValue(t),valueText:["Actual Value:",n,"Target Value:",t]}},_isTooltipEnabled:function(){return this._tooltipEnabled}}))}(jQuery,DevExpress),DevExpress.MOD_VIZ_SPARKLINES=!0}